diff --git a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90 b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
index 7a763a67522b523f8c5ddee29f6449c4b89e3697..5a387ac24a205b5977d6801463847c8e880b7ca1 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
@@ -19,6 +19,7 @@
 !  P. Wautelet 04/12/2020: add IO_Field_create and IO_Ndimlist_reduce subroutines
 !  P. Wautelet 07/12/2020: add support for partial write of fields (optional argument: koffset, not all subroutines, no LFI spport)
 !  P. Wautelet 14/01/2021: add IO_Field_write_byname_N4 and IO_Field_write_byfield_N4 subroutines
+!  P. Wautelet 07/04/2023: correct IO_Field_user_write examples
 !-----------------------------------------------------------------
 
 #define MNH_SCALARS_IN_SPLITFILES 0
@@ -3049,6 +3050,7 @@ end subroutine IO_Ndimlist_reduce
     !
     CALL IO_Format_write_select(TPFILE,GLFI,GNC4)
     !
+!PW: transferer ce traitement LFI dans les subroutines LFI (en creer 1 pour les HFIELD)
     IF(GLFI) THEN
       ILE=LEN(HFIELD)
       IP=SIZE(HFIELD)
@@ -4223,9 +4225,10 @@ END DO
 END SUBROUTINE IO_Fieldlist_write
 
 
-SUBROUTINE IO_Field_user_write(TPOUTPUT)
+SUBROUTINE IO_Field_user_write( TPOUTPUT )
 !
 #if 0
+! IMPORTANT: uncomment the previous line (set to '#if 1') if you want to use the next lines
 USE MODD_DYN_n,      ONLY: XTSTEP
 USE MODD_FIELD_n,    ONLY: XUT, XVT, XRT, XTHT, XSVT
 USE MODD_PARAMETERS, ONLY: JPVEXT
@@ -4239,86 +4242,93 @@ TYPE(TOUTBAK),    INTENT(IN)  :: TPOUTPUT !Output structure
 TYPE(TFIELDMETADATA) :: TZFIELD
 !
 #if 0
-INTEGER          :: IKB
+! IMPORTANT: uncomment the previous line (set to '#if 1') if you want to use the next lines
 !
+INTEGER          :: IKB
+
 IKB=JPVEXT+1
-!
-TZFIELD%CMNHNAME   = 'UTLOW'
-TZFIELD%CSTDNAME   = 'x_wind'
-TZFIELD%CLONGNAME  = ''
-TZFIELD%CUNITS     = 'm s-1'
-TZFIELD%CDIR       = 'XY'
-TZFIELD%CCOMMENT   = 'X_Y_Z_U component of wind at lowest physical level'
-TZFIELD%NGRID      = 2
-TZFIELD%NTYPE      = TYPEREAL
-TZFIELD%NDIMS      = 2
-TZFIELD%LTIMEDEP   = .TRUE.
-CALL IO_Field_write(TPOUTPUT%TFILE,TZFIELD,XUT(:,:,IKB))
-!
-TZFIELD%CMNHNAME   = 'VTLOW'
-TZFIELD%CSTDNAME   = 'y_wind'
-TZFIELD%CLONGNAME  = ''
-TZFIELD%CUNITS     = 'm s-1'
-TZFIELD%CDIR       = 'XY'
-TZFIELD%CCOMMENT   = 'X_Y_Z_V component of wind at lowest physical level'
-TZFIELD%NGRID      = 3
-TZFIELD%NTYPE      = TYPEREAL
-TZFIELD%NDIMS      = 2
-TZFIELD%LTIMEDEP   = .TRUE.
-CALL IO_Field_write(TPOUTPUT%TFILE,TZFIELD,XVT(:,:,IKB))
-!
-TZFIELD%CMNHNAME   = 'THTLOW'
-TZFIELD%CSTDNAME   = 'air_potential_temperature'
-TZFIELD%CLONGNAME  = ''
-TZFIELD%CUNITS     = 'K'
-TZFIELD%CDIR       = 'XY'
-TZFIELD%CCOMMENT   = 'X_Y_Z_potential temperature at lowest physical level'
-TZFIELD%NGRID      = 1
-TZFIELD%NTYPE      = TYPEREAL
-TZFIELD%NDIMS      = 2
-TZFIELD%LTIMEDEP   = .TRUE.
-CALL IO_Field_write(TPOUTPUT%TFILE,TZFIELD,XTHT(:,:,IKB))
-!
-TZFIELD%CMNHNAME   = 'RVTLOW'
-!TZFIELD%CSTDNAME   = 'humidity_mixing_ratio' !ratio of the mass of water vapor to the mass of dry air
-TZFIELD%CSTDNAME   = 'specific_humidity'     !mass fraction of water vapor in (moist) air
-TZFIELD%CLONGNAME  = ''
-TZFIELD%CUNITS     = 'kg kg-1'
-TZFIELD%CDIR       = 'XY'
-TZFIELD%CCOMMENT   = 'X_Y_Z_Vapor mixing Ratio at lowest physical level'
-TZFIELD%NGRID      = 1
-TZFIELD%NTYPE      = TYPEREAL
-TZFIELD%NDIMS      = 2
-TZFIELD%LTIMEDEP   = .TRUE.
-CALL IO_Field_write(TPOUTPUT%TFILE,TZFIELD,XRT(:,:,IKB,1))
-!
-TZFIELD%CMNHNAME   = 'ACPRRSTEP'
-TZFIELD%CSTDNAME   = 'rainfall_amount'
-TZFIELD%CLONGNAME  = ''
-TZFIELD%CUNITS     = 'kg m-2'
-TZFIELD%CDIR       = ''
-TZFIELD%CCOMMENT   = 'X_Y_ACcumulated Precipitation Rain Rate during timestep'
-TZFIELD%NGRID      = 1
-TZFIELD%NTYPE      = TYPEREAL
-TZFIELD%NDIMS      = 2
-TZFIELD%LTIMEDEP   = .TRUE.
+
+TZFIELD = TFIELDMETADATA( &
+  CMNHNAME   = 'UTLOW',   &
+  CLONGNAME  = '',        &
+  CSTDNAME   = 'x_wind',  &
+  CUNITS     = 'm s-1',   &
+  CDIR       = 'XY',      &
+  CCOMMENT   = 'X-component of wind at lowest physical level', &
+  NGRID      = 2,         &
+  NTYPE      = TYPEREAL,  &
+  NDIMS      = 2,         &
+  LTIMEDEP   = .TRUE.     )
+CALL IO_Field_write( TPOUTPUT%TFILE, TZFIELD, XUT(:,:,IKB) )
+
+TZFIELD = TFIELDMETADATA( &
+  CMNHNAME   = 'VTLOW',   &
+  CLONGNAME  = '',        &
+  CSTDNAME   = 'y_wind',  &
+  CUNITS     = 'm s-1',   &
+  CDIR       = 'XY',      &
+  CCOMMENT   = 'Y-component of wind at lowest physical level', &
+  NGRID      = 3,         &
+  NTYPE      = TYPEREAL,  &
+  NDIMS      = 2,         &
+  LTIMEDEP   = .TRUE.     )
+CALL IO_Field_write( TPOUTPUT%TFILE, TZFIELD, XVT(:,:,IKB) )
+
+TZFIELD = TFIELDMETADATA( &
+  CMNHNAME   = 'THTLOW',  &
+  CLONGNAME  = '',        &
+  CSTDNAME   = 'air_potential_temperature',  &
+  CUNITS     = 'K',       &
+  CDIR       = 'XY',      &
+  CCOMMENT   = 'potential temperature at lowest physical level', &
+  NGRID      = 1,         &
+  NTYPE      = TYPEREAL,  &
+  NDIMS      = 2,         &
+  LTIMEDEP   = .TRUE.     )
+CALL IO_Field_write( TPOUTPUT%TFILE, TZFIELD, XTHT(:,:,IKB) )
+
+TZFIELD = TFIELDMETADATA(           &
+  CMNHNAME   = 'RVTLOW',            &
+  CLONGNAME  = '',                  &
+  ! CSTDNAME   = 'humidity_mixing_ratio',  &  !ratio of the mass of water vapor to the mass of dry air
+  CSTDNAME   = 'specific_humidity', &         !mass fraction of water vapor in (moist) air
+  CUNITS     = 'kg kg-1',           &
+  CDIR       = 'XY',                &
+  CCOMMENT   = 'Vapor mixing Ratio at lowest physical level', &
+  NGRID      = 1,                   &
+  NTYPE      = TYPEREAL,            &
+  NDIMS      = 2,                   &
+  LTIMEDEP   = .TRUE.               )
+CALL IO_Field_write( TPOUTPUT%TFILE, TZFIELD, XRT(:,:,IKB,1) )
+
+TZFIELD = TFIELDMETADATA(         &
+  CMNHNAME   = 'ACPRRSTEP',       &
+  CLONGNAME  = '',                &
+  CSTDNAME   = 'rainfall_amount', &
+  CUNITS     = 'kg m-2',          &
+  CDIR       = 'XY',              &
+  CCOMMENT   = 'ACcumulated Precipitation Rain Rate during timestep', &
+  NGRID      = 1,                 &
+  NTYPE      = TYPEREAL,          &
+  NDIMS      = 2,                 &
+  LTIMEDEP   = .TRUE.             )
 !XACPRR is multiplied by 1000. to convert from m to kg m-2 (water density is assumed to be 1000 kg m-3)
-CALL IO_Field_write(TPOUTPUT%TFILE,TZFIELD,XINPRR*XTSTEP*1.0E3)
-!
-TZFIELD%CMNHNAME   = 'SVT001'
-TZFIELD%CSTDNAME   = 'concentration in scalar variable'
-TZFIELD%CLONGNAME  = ''
-TZFIELD%CUNITS     = 'kg kg-1'
-TZFIELD%CDIR       = 'XY'
-TZFIELD%CCOMMENT   = 'X_Y_Z_concentration in scalar variable'
-TZFIELD%NGRID      = 1
-TZFIELD%NTYPE      = TYPEREAL
-TZFIELD%NDIMS      = 3
-TZFIELD%LTIMEDEP   = .TRUE.
-CALL IO_WRITE_FIELD(TPOUTPUT%TFILE,TZFIELD,XSVT(:,:,:,1))
-!
+CALL IO_Field_write( TPOUTPUT%TFILE, TZFIELD, XINPRR*XTSTEP*1.0E3 )
+
+TZFIELD = TFIELDMETADATA( &
+  CMNHNAME   = 'SVT001',  &
+  CLONGNAME  = 'SVT001',  &
+  CSTDNAME   = '',        &
+  CUNITS     = 'kg kg-1', &
+  CDIR       = 'XY',      &
+  CCOMMENT   = 'concentration in scalar variable', &
+  NGRID      = 1,         &
+  NTYPE      = TYPEREAL,  &
+  NDIMS      = 3,         &
+  LTIMEDEP   = .TRUE.     )
+CALL IO_Field_write( TPOUTPUT%TFILE, TZFIELD, XSVT(:,:,:,1) )
 #endif
-!
+
 END SUBROUTINE IO_Field_user_write
 
 END MODULE MODE_IO_FIELD_WRITE