diff --git a/src/LIB/SURCOUCHE/src/fmreadwrit.f90 b/src/LIB/SURCOUCHE/src/fmreadwrit.f90
index 994a8c6d2644abac35253cf0f74d3cc49ac83ae7..3fa283b5b322a0ac2a4ff2ad9737b289f0c396f6 100644
--- a/src/LIB/SURCOUCHE/src/fmreadwrit.f90
+++ b/src/LIB/SURCOUCHE/src/fmreadwrit.f90
@@ -13,7 +13,7 @@
 !-----------------------------------------------------------------
 
 MODULE MODD_FM
-USE MODD_IO_ll, ONLY : TFIELDDATA
+USE MODE_FIELD, ONLY : TFIELDDATA
 IMPLICIT NONE 
 
 INTEGER, PARAMETER :: JPXKRK = 100
@@ -256,7 +256,7 @@ END SUBROUTINE TRANSFW
 MODULE MODE_READWRITE_LFI
 !
 USE MODD_FM
-USE MODD_IO_ll, ONLY : TFIELDDATA
+USE MODE_FIELD, ONLY : TFIELDDATA
 !
 IMPLICIT NONE
 !
diff --git a/src/LIB/SURCOUCHE/src/fmwrit_ll.f90 b/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
index 19abe35f8240fc4a3545ff19ce2cbdeadf0050e3..c3c9af2129605e0e71bd19e793fb6a288cf119c6 100644
--- a/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
+++ b/src/LIB/SURCOUCHE/src/fmwrit_ll.f90
@@ -168,6 +168,7 @@ END MODULE MODE_GA
 MODULE MODE_FMWRIT
 
   USE MODD_MPIF
+  USE MODE_FIELD
 #if defined(MNH_IOCDF4)
   USE MODE_NETCDF
 #endif
@@ -947,7 +948,6 @@ CONTAINS
   SUBROUTINE IO_WRITE_FIELD_BYNAME_X3(TPFILE,HNAME,HFIPRI,KRESP,PFIELD)
     !
     USE MODD_IO_ll, ONLY : TFILEDATA
-    USE MODE_FIELD
     !
     !*      0.1   Declarations of arguments
     !
@@ -1684,7 +1684,6 @@ CONTAINS
   SUBROUTINE IO_WRITE_FIELD_BYNAME_N0(TPFILE,HNAME,HFIPRI,KRESP,KFIELD)
     !
     USE MODD_IO_ll, ONLY : TFILEDATA
-    USE MODE_FIELD
     !
     !*      0.1   Declarations of arguments
     !
diff --git a/src/LIB/SURCOUCHE/src/modd_io.f90 b/src/LIB/SURCOUCHE/src/modd_io.f90
index 928a0e14d3282873fa8034fa7deb956f19c57418..0d04fa9bccdeb40bde9a680e248dd25a536aa348 100644
--- a/src/LIB/SURCOUCHE/src/modd_io.f90
+++ b/src/LIB/SURCOUCHE/src/modd_io.f90
@@ -65,17 +65,6 @@ TYPE TFILEDATA
   TYPE(TFILEDATA),POINTER :: TFILE_NEXT => NULL()
 END TYPE TFILEDATA
 
-!Structure describing the characteristics of a field
-TYPE TFIELDDATA
-  CHARACTER(LEN=16)  :: CMNHNAME  = '' !Name of the field (for MesoNH, non CF convention)
-  CHARACTER(LEN=32)  :: CSTDNAME  = '' !Standard name (CF convention)
-  CHARACTER(LEN=32)  :: CLONGNAME = '' !Long name (CF convention)
-  CHARACTER(LEN=32)  :: CUNITS    = '' !Canonical units (CF convention)
-  CHARACTER(LEN=2)   :: CDIR      = '' !Type of the data field (XX,XY,--...)
-  CHARACTER(LEN=100) :: CCOMMENT  = '' !Comment (for MesoNH, non CF convention)
-  INTEGER            :: NGRID     = -1 !Localization on the model grid
-END TYPE TFIELDDATA
-
 TYPE(TFILEDATA),POINTER,SAVE :: TFILE_BAK_FIRST => NULL()
 TYPE(TFILEDATA),POINTER,SAVE :: TFILE_OUT_FIRST => NULL()
 TYPE(TFILEDATA),POINTER,SAVE :: TFILE_BAK_LAST  => NULL()
diff --git a/src/LIB/SURCOUCHE/src/mode_field.f90 b/src/LIB/SURCOUCHE/src/mode_field.f90
index 16be02272f27d8d5354f0855d29be98957eaa5a2..1aaeaac3ceb63c687ee8977029702598c31c6378 100644
--- a/src/LIB/SURCOUCHE/src/mode_field.f90
+++ b/src/LIB/SURCOUCHE/src/mode_field.f90
@@ -4,12 +4,21 @@
 !MNH_LIC for details. version 1.
 MODULE MODE_FIELD
 !
-USE MODD_IO_ll, ONLY: TFIELDDATA
-!
 IMPLICIT NONE
 !
 INTEGER,PRIVATE,PARAMETER :: MAXFIELDS = 2
 !
+!Structure describing the characteristics of a field
+TYPE TFIELDDATA
+  CHARACTER(LEN=16)  :: CMNHNAME  = '' !Name of the field (for MesoNH, non CF convention)
+  CHARACTER(LEN=32)  :: CSTDNAME  = '' !Standard name (CF convention)
+  CHARACTER(LEN=32)  :: CLONGNAME = '' !Long name (CF convention)
+  CHARACTER(LEN=32)  :: CUNITS    = '' !Canonical units (CF convention)
+  CHARACTER(LEN=2)   :: CDIR      = '' !Type of the data field (XX,XY,--...)
+  CHARACTER(LEN=100) :: CCOMMENT  = '' !Comment (for MesoNH, non CF convention)
+  INTEGER            :: NGRID     = -1 !Localization on the model grid
+END TYPE TFIELDDATA
+!
 LOGICAL :: LFIELDLIST_ISINIT = .FALSE.
 TYPE(TFIELDDATA),DIMENSION(MAXFIELDS) :: TFIELDLIST
 !
diff --git a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 b/src/LIB/SURCOUCHE/src/mode_netcdf.f90
index 2598b7f305d83576f9c23f8b3d0a201b99091181..7a6635dab46a93c2b99b20807f60496e5720eb9a 100644
--- a/src/LIB/SURCOUCHE/src/mode_netcdf.f90
+++ b/src/LIB/SURCOUCHE/src/mode_netcdf.f90
@@ -11,6 +11,7 @@
 MODULE MODE_NETCDF
 USE MODD_NETCDF
 USE NETCDF
+USE MODE_FIELD, ONLY : TFIELDDATA
 
 IMPLICIT NONE 
 
@@ -193,8 +194,6 @@ END SUBROUTINE WRITATTR
 
 SUBROUTINE IO_WRITE_FIELD_ATTR_NC4(TPFIELD,KNCID,KVARID)
 !
-USE MODD_IO_ll, ONLY : TFIELDDATA
-!
 TYPE(TFIELDDATA),      INTENT(IN)   :: TPFIELD
 INTEGER(KIND=IDCDF_KIND),INTENT(IN) :: KNCID
 INTEGER(KIND=IDCDF_KIND),INTENT(IN) :: KVARID
@@ -550,7 +549,6 @@ END SUBROUTINE NCWRITX2
 SUBROUTINE IO_WRITE_FIELD_NC4_X2(TPFIELD,PZCDF,PFIELD,KRESP,KVERTLEVEL)
 !
 USE MODD_FM, ONLY : FMHEADER
-USE MODD_IO_ll, ONLY : TFIELDDATA
 !
 TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 TYPE(IOCDF), POINTER              :: PZCDF
@@ -651,7 +649,6 @@ END SUBROUTINE NCWRITX3
 SUBROUTINE IO_WRITE_FIELD_NC4_X3(TPFIELD,PZCDF,PFIELD,KRESP)
 !
 USE MODD_FM, ONLY : FMHEADER
-USE MODD_IO_ll, ONLY : TFIELDDATA
 !
 TYPE(TFIELDDATA),      INTENT(IN) :: TPFIELD
 TYPE(IOCDF), POINTER              :: PZCDF
@@ -894,7 +891,6 @@ END SUBROUTINE NCWRITN0
 SUBROUTINE IO_WRITE_FIELD_NC4_N0(TPFIELD,PZCDF,KFIELD,KRESP)
 !
 USE MODD_FM, ONLY : FMHEADER
-USE MODD_IO_ll, ONLY : TFIELDDATA
 USE MODD_PARAMETERS_ll,  ONLY : JPVEXT
 #if 0
 USE MODD_PARAMETERS_ll,  ONLY : JPHEXT, JPVEXT
diff --git a/src/MNH/write_lfin.f90 b/src/MNH/write_lfin.f90
index e66313d3a8380bf24551e9e4e251d73b820531a1..6cb46c59dc627377bd0aa668a41a1e0d7f773c3a 100644
--- a/src/MNH/write_lfin.f90
+++ b/src/MNH/write_lfin.f90
@@ -239,7 +239,8 @@ USE MODD_LIMA_PRECIP_SCAVENGING_n
 !
 USE MODE_FMWRIT
 USE MODE_ll
-USE MODD_IO_ll, ONLY: TFIELDDATA, TFILEDATA
+USE MODD_IO_ll, ONLY: TFILEDATA
+USE MODE_FIELD, ONLY: TFIELDDATA
 USE MODE_IO_ll, ONLY: UPCASE,CLOSE_ll
 USE MODE_FIELD
 USE MODE_GRIDPROJ