From b157afd75154bbbc347c605d365c81bafe21b1c7 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 2 Dec 2016 15:22:26 +0100
Subject: [PATCH] Philippe 02/12/2016: moved TFIELDDATA type to mode_field.f90

---
 src/LIB/SURCOUCHE/src/fmreadwrit.f90  |  4 ++--
 src/LIB/SURCOUCHE/src/fmwrit_ll.f90   |  3 +--
 src/LIB/SURCOUCHE/src/modd_io.f90     | 11 -----------
 src/LIB/SURCOUCHE/src/mode_field.f90  | 13 +++++++++++--
 src/LIB/SURCOUCHE/src/mode_netcdf.f90 |  6 +-----
 src/MNH/write_lfin.f90                |  3 ++-
 6 files changed, 17 insertions(+), 23 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/fmreadwrit.f90 b/src/LIB/SURCOUCHE/src/fmreadwrit.f90
index 994a8c6d2..3fa283b5b 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 19abe35f8..c3c9af212 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 928a0e14d..0d04fa9bc 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 16be02272..1aaeaac3c 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 2598b7f30..7a6635dab 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 e66313d3a..6cb46c59d 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
-- 
GitLab