diff --git a/src/LIB/SURCOUCHE/src/modd_argslist_ll.f90 b/src/LIB/SURCOUCHE/src/modd_argslist_ll.f90
index 5eafaed2757a253dc6171b6c287df64b80f1ee17..232041b2d3d7fe7ed52243df6da356e9210dd01d 100644
--- a/src/LIB/SURCOUCHE/src/modd_argslist_ll.f90
+++ b/src/LIB/SURCOUCHE/src/modd_argslist_ll.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1998-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1998-2023 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -35,6 +35,7 @@
 !     -------------
 !!    Original 04/05/98
 !  P. Wautelet 20/05/2019: add cname field + set initial values
+!  P. Wautelet 23/05/2023: add cname field to HALO2LIST_ll
 !
 !-------------------------------------------------------------------------------
 !
@@ -115,7 +116,9 @@ TYPE HALO2LIST_ll
 !-------------------------------------------------------------------------------
 !
   INTEGER :: NCARD = 0
-!
+
+  character(len=NLISTTYPENAMESIZE) :: cname = 'UNKNOWN'
+
   TYPE(HALO2_ll),     POINTER :: HALO2 => null()
 !
   TYPE(HALO2LIST_ll), POINTER :: NEXT => null()
diff --git a/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90 b/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90
index e124cb81efd95aeaabf28cadfd248daddd467772..6b83f235bf041a893a0c0990e8265abe9d2606a8 100644
--- a/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90
+++ b/src/LIB/SURCOUCHE/src/mode_exchange2_ll.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1998-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1998-2023 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -75,9 +75,9 @@ implicit none
 !
 !-----------------------------------------------------------------------
 !
-!     ######################################################################
-      SUBROUTINE INIT_HALO2_ll(TPHALO2LIST, KNBVAR, KDIMX, KDIMY, KDIMZ)
-!     ######################################################################
+!     ##########################################################################
+      SUBROUTINE INIT_HALO2_ll(TPHALO2LIST, KNBVAR, KDIMX, KDIMY, KDIMZ, HNAME )
+!     ##########################################################################
 !
 !!****  *INIT_HALO2_ll* initialise the second layer of the halo
 !!
@@ -99,6 +99,8 @@ implicit none
 !!    Author
 !!    ------
 !     P. Kloos                 * CERFACS - CNRM *
+! Modifications:
+!  P. Wautelet 23/05/2023: add HNAME dummy argument
 ! 
 !-------------------------------------------------------------------------------
 !
@@ -114,6 +116,7 @@ implicit none
   TYPE(HALO2LIST_ll), POINTER :: TPHALO2LIST ! list of HALO2_lls
   INTEGER                     :: KNBVAR      ! number of HALO2_lls to allocate
   INTEGER        :: KDIMX, KDIMY, KDIMZ      ! dimensions of the HALO2_lls
+  CHARACTER(LEN=*), INTENT(IN) :: HNAME
 !
 !
 !*       0.2   Declarations of local variables :
@@ -153,6 +156,8 @@ implicit none
     ZNORTH=0.
     !$acc end kernels
 
+    WRITE( TZHALO2LIST%CNAME, FMT = '( A, " ", I0 )' ) HNAME, KNBVAR
+
     ALLOCATE(TZHALO2LIST%NEXT)
 !
 !*       1.2   Go to the next HALO2_ll, or terminate the list
diff --git a/src/MNH/advecuvw_rk.f90 b/src/MNH/advecuvw_rk.f90
index 18bbbffa4aff2ea0ac2f0afe26c91f10cf08369f..0189d60392b06114853e2f112d5ab431d0d0b307 100644
--- a/src/MNH/advecuvw_rk.f90
+++ b/src/MNH/advecuvw_rk.f90
@@ -459,7 +459,7 @@ CALL ADD3DFIELD_ll( TZFIELDMT_ll, ZVT, 'ADVECUVW_RK::ZVT' )
 CALL ADD3DFIELD_ll( TZFIELDMT_ll, ZWT, 'ADVECUVW_RK::ZWT' )
 INBVAR = 3
 #ifndef MNH_OPENACC
-CALL INIT_HALO2_ll(TZHALO2MT_ll,INBVAR,SIZE(PUT,1),SIZE(PUT,2),SIZE(PWT,3))
+CALL INIT_HALO2_ll( TZHALO2MT_ll, INBVAR, SIZE(PUT,1), SIZE(PUT,2), SIZE(PWT,3), 'ADVECUVW_RK' )
 #endif
 !
 !$acc kernels present_cr(ZRUS,ZRVS,ZRWS)
@@ -492,9 +492,9 @@ RKLOOP: DO JS = 1, ISPL
   IF (GFIRST_CALL_ADVECUVW_RK) THEN
     GFIRST_CALL_ADVECUVW_RK = .FALSE.
     NULLIFY(TZHALO2_UT,TZHALO2_VT,TZHALO2_WT)
-    CALL INIT_HALO2_ll(TZHALO2_UT,1,IIU,IJU,IKU)
-    CALL INIT_HALO2_ll(TZHALO2_VT,1,IIU,IJU,IKU)
-    CALL INIT_HALO2_ll(TZHALO2_WT,1,IIU,IJU,IKU)
+    CALL INIT_HALO2_ll( TZHALO2_UT, 1, IIU, IJU, IKU, 'ADVECUVW_RK::ZUT' )
+    CALL INIT_HALO2_ll( TZHALO2_VT, 1, IIU, IJU, IKU, 'ADVECUVW_RK::ZVT' )
+    CALL INIT_HALO2_ll( TZHALO2_WT, 1, IIU, IJU, IKU, 'ADVECUVW_RK::ZWT' )
   END IF
 
   CALL GET_HALO2_DF(ZUT,TZHALO2_UT,HNAME='ADVECUVW_RK::ZUT')
diff --git a/src/MNH/contrav.f90 b/src/MNH/contrav.f90
index 3c16c7e643ae4806e14100bc8305c67a887b57d6..8d41cbf3df19b428e0ac148ea19ca8f4511d5c0d 100644
--- a/src/MNH/contrav.f90
+++ b/src/MNH/contrav.f90
@@ -217,10 +217,10 @@ IF (KADV_ORDER == 4 ) THEN
   NULLIFY(TZHALO2_V)
   NULLIFY(TZHALO2_DZX)
   NULLIFY(TZHALO2_DZY)
-  CALL INIT_HALO2_ll(TZHALO2_U,1,IIU,IJU,IKU)
-  CALL INIT_HALO2_ll(TZHALO2_V,1,IIU,IJU,IKU)
-  CALL INIT_HALO2_ll(TZHALO2_DZX,1,IIU,IJU,IKU)
-  CALL INIT_HALO2_ll(TZHALO2_DZY,1,IIU,IJU,IKU)
+  CALL INIT_HALO2_ll( TZHALO2_U,   1, IIU, IJU, IKU, 'CONTRAV::U'   )
+  CALL INIT_HALO2_ll( TZHALO2_V,   1, IIU, IJU, IKU, 'CONTRAV::V'   )
+  CALL INIT_HALO2_ll( TZHALO2_DZX, 1, IIU, IJU, IKU, 'CONTRAV::DZX' )
+  CALL INIT_HALO2_ll( TZHALO2_DZY, 1, IIU, IJU, IKU, 'CONTRAV::DZY' )
   CALL UPDATE_HALO2_ll(TZFIELD_U, TZHALO2_U, IINFO_ll)
   CALL UPDATE_HALO2_ll(TZFIELD_V, TZHALO2_V, IINFO_ll)
   CALL UPDATE_HALO2_ll(TZFIELD_DZX, TZHALO2_DZX, IINFO_ll)
@@ -621,10 +621,10 @@ IF (KADV_ORDER == 4 ) THEN
          NULLIFY(TZHALO2_V)
          NULLIFY(TZHALO2_DZX)
          NULLIFY(TZHALO2_DZY)
-         CALL INIT_HALO2_ll(TZHALO2_U,1,IIU,IJU,IKU)
-         CALL INIT_HALO2_ll(TZHALO2_V,1,IIU,IJU,IKU)
-         CALL INIT_HALO2_ll(TZHALO2_DZX,1,IIU,IJU,IKU)
-         CALL INIT_HALO2_ll(TZHALO2_DZY,1,IIU,IJU,IKU)
+         CALL INIT_HALO2_ll( TZHALO2_U,  1, IIU, IJU, IKU, 'CONTRAV::U'   )
+         CALL INIT_HALO2_ll( TZHALO2_V,  1, IIU, IJU, IKU, 'CONTRAV::V'   )
+         CALL INIT_HALO2_ll( TZHALO2_DZX,1, IIU, IJU, IKU, 'CONTRAV::DZX' )
+         CALL INIT_HALO2_ll( TZHALO2_DZY,1, IIU, IJU, IKU, 'CONTRAV::DZY' )
     END IF
     ZU_EAST => TZHALO2_U%HALO2%EAST
     ZDZX_EAST => TZHALO2_DZX%HALO2%EAST
diff --git a/src/MNH/get_halo.f90 b/src/MNH/get_halo.f90
index bc3491ba4b3c24c1d446fbb2e757ac71194316bb..eab1bc956feb8be538a1fde72129c819da1d4299 100644
--- a/src/MNH/get_halo.f90
+++ b/src/MNH/get_halo.f90
@@ -228,7 +228,7 @@ else
 end if
 
 NULLIFY( TZ_PSRC_ll,TP_PSRC_HALO2_ll)
-CALL INIT_HALO2_ll(TP_PSRC_HALO2_ll,1,IIU,IJU,IKU)
+CALL INIT_HALO2_ll( TP_PSRC_HALO2_ll, 1, IIU, IJU, IKU, 'GET_HALO2::' // TRIM( yname ) )
 !
 CALL ADD3DFIELD_ll( TZ_PSRC_ll, PSRC, 'GET_HALO2::'//trim( yname ) )
 CALL UPDATE_HALO_ll(TZ_PSRC_ll,IERROR)
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index ab883121e072c6a3369736d6f8913a0bf17eb647..9dcd0490b6c29c72e17a79337310018c30c47c04 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -725,8 +725,8 @@ IF (KTCOUNT == 1) THEN
   !
     INBVAR = 4+NRR+NSV
     IF (SIZE(XRTKES,1) /= 0) INBVAR=INBVAR+1
-    CALL INIT_HALO2_ll(THALO2T_ll,INBVAR,IIU,IJU,IKU)
-    CALL INIT_HALO2_ll(TLSHALO2_ll,4+MIN(1,NRR),IIU,IJU,IKU)
+    CALL INIT_HALO2_ll (THALO2T_ll,  INBVAR,       IIU, IJU, IKU, 'MODEL_n::HALO2T'  )
+    CALL INIT_HALO2_ll (TLSHALO2_ll, 4+MIN(1,NRR), IIU, IJU, IKU, 'MODEL_n::LSHALO2' )
   !
   !*       1.6   Initialise the 2nd layer of the halo of the LS fields
   !
@@ -1721,16 +1721,16 @@ IF ((CUVW_ADV_SCHEME(1:3)=='CEN') .AND. (CTEMP_SCHEME == 'LEFR')) THEN
       CALL ADD3DFIELD_ll( TZFIELDC_ll, XVT, 'MODEL_n::XVT' )
       CALL ADD3DFIELD_ll( TZFIELDC_ll, XWT, 'MODEL_n::XWT' )
 #ifndef MNH_OPENACC
-      CALL INIT_HALO2_ll(TZHALO2C_ll,3,IIU,IJU,IKU)
+      CALL INIT_HALO2_ll( TZHALO2C_ll, 3, IIU, IJU, IKU, 'MODEL_n::HALO2C' )
       CALL UPDATE_HALO_ll(TZFIELDC_ll,IINFO_ll)
       CALL UPDATE_HALO2_ll(TZFIELDC_ll, TZHALO2C_ll, IINFO_ll)
 #else
   IF (GFIRST_CALL_MODELN) THEN
     GFIRST_CALL_MODELN = .FALSE.
     NULLIFY(TZHALO2_UT,TZHALO2_VT,TZHALO2_WT)
-    CALL INIT_HALO2_ll(TZHALO2_UT,1,IIU,IJU,IKU)
-    CALL INIT_HALO2_ll(TZHALO2_VT,1,IIU,IJU,IKU)
-    CALL INIT_HALO2_ll(TZHALO2_WT,1,IIU,IJU,IKU)
+    CALL INIT_HALO2_ll( TZHALO2_UT, 1, IIU, IJU, IKU, 'MODEL_n::XUT' )
+    CALL INIT_HALO2_ll( TZHALO2_VT, 1, IIU, IJU, IKU, 'MODEL_n::XVT' )
+    CALL INIT_HALO2_ll( TZHALO2_WT, 1, IIU, IJU, IKU, 'MODEL_n::XWT' )
   END IF
 
   CALL GET_HALO2_DF(XUT,TZHALO2_UT,HNAME='XUT')
diff --git a/src/MNH/zdiffusetup.f90 b/src/MNH/zdiffusetup.f90
index 41e271e2140f2e7c108b27906b270cbc776a20c2..1dee69db7896fb1538ebe26852bb0c84993a0756 100644
--- a/src/MNH/zdiffusetup.f90
+++ b/src/MNH/zdiffusetup.f90
@@ -41,14 +41,14 @@ END MODULE MODI_ZDIFFUSETUP
 !!    REFERENCE
 !!    ---------
 !!
-!!      Zängl, G., 2002: An improved method for computing horizontal diffusion in a
+!!      Zangl, G., 2002: An improved method for computing horizontal diffusion in a
 !!                       sigma-coordinate model and its application to simulations
 !!                       over mountainous topography. Mon. Wea. Rev. 130, 1423-1432.
 !!
 !!    AUTHOR
 !!    ------
 !!
-!!      G. Zängl       * University of Munich*
+!!      G. Zangl       * University of Munich*
 !
 ! Modifications:
 !  J. Escobar  07/10/2015: remove print
@@ -153,7 +153,7 @@ NULLIFY(TZHGTMASS_ll,TZHGTHALO2_ll)
 ! Compute height field at mass points
 ZZMASS = MZF(PZZ)
 
-CALL INIT_HALO2_ll(TZHGTHALO2_ll,1,IIU,IJU,IKU)
+CALL INIT_HALO2_ll( TZHGTHALO2_ll, 1, IIU, IJU, IKU, 'ZDIFFSETUP::HGTHALO2' )
 CALL ADD3DFIELD_ll( TZHGTMASS_ll, ZZMASS, 'ZDIFFUSETUP::ZZMASS' )
 
 CALL UPDATE_HALO2_ll(TZHGTMASS_ll,TZHGTHALO2_ll,IERROR)