From ffa3ca9f4935b226776d72140f399d057b152339 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 15 Dec 2020 10:05:19 +0100
Subject: [PATCH] Philippe 15/12/2020: menu_diachro: only for LFI files

---
 src/MNH/menu_diachro.f90  | 20 ++++++++++++++++----
 src/MNH/write_diachro.f90 |  3 ---
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/src/MNH/menu_diachro.f90 b/src/MNH/menu_diachro.f90
index a0401dc16..ca9af590a 100644
--- a/src/MNH/menu_diachro.f90
+++ b/src/MNH/menu_diachro.f90
@@ -92,8 +92,11 @@ INTEGER,SAVE   ::   IGROUP=0
 INTEGER,DIMENSION(:),ALLOCATABLE :: ITABCHAR
 LOGICAL   ::   GPACK
 TYPE(TFIELDDATA)  :: TZFIELD
+type(tfiledata) :: tzfile
 !------------------------------------------------------------------------------
 !
+if ( tpdiafile%cformat == 'NETCDF4' ) return
+
 GPACK=LPACK
 LPACK=.FALSE.
 !
@@ -104,6 +107,11 @@ IF(HGROUP == 'END')THEN
     LPACK=GPACK
     RETURN
   ENDIF
+
+  !Write only in LFI files
+  tzfile = tpdiafile
+  tzfile%cformat = 'LFI'
+
   ILENG=NMNHNAMELGTMAX*IGROUP
 
   TZFIELD%CMNHNAME   = 'MENU_BUDGET.DIM'
@@ -116,7 +124,7 @@ IF(HGROUP == 'END')THEN
   TZFIELD%NTYPE      = TYPEINT
   TZFIELD%NDIMS      = 0
   TZFIELD%LTIMEDEP   = .FALSE.
-  CALL IO_Field_write(TPDIAFILE,TZFIELD,ILENG)
+  CALL IO_Field_write(tzfile,TZFIELD,ILENG)
 
   ALLOCATE(ITABCHAR(ILENG))
   DO JJ=1,IGROUP
@@ -135,12 +143,16 @@ IF(HGROUP == 'END')THEN
   TZFIELD%NTYPE      = TYPEINT
   TZFIELD%NDIMS      = 1
   TZFIELD%LTIMEDEP   = .FALSE.
-  CALL IO_Field_write(TPDIAFILE,TZFIELD,ITABCHAR)
+  CALL IO_Field_write(tzfile,TZFIELD,ITABCHAR)
 
   DEALLOCATE(ITABCHAR)
 
 ELSE IF(HGROUP == 'READ')THEN
 
+  !Read only in LFI files
+  tzfile = tpdiafile
+  tzfile%cformat = 'LFI'
+
   TZFIELD%CMNHNAME   = 'MENU_BUDGET.DIM'
   TZFIELD%CSTDNAME   = ''
   TZFIELD%CLONGNAME  = 'MENU_BUDGET.DIM'
@@ -151,7 +163,7 @@ ELSE IF(HGROUP == 'READ')THEN
   TZFIELD%NTYPE      = TYPEINT
   TZFIELD%NDIMS      = 0
   TZFIELD%LTIMEDEP   = .FALSE.
-  CALL IO_Field_read(TPDIAFILE,TZFIELD,ILENG,IRESPDIA)
+  CALL IO_Field_read(tzfile,TZFIELD,ILENG,IRESPDIA)
   IF(IRESPDIA == -47)THEN
 !   print *,' No record MENU_BUDGET '
     LPACK=GPACK
@@ -169,7 +181,7 @@ ELSE IF(HGROUP == 'READ')THEN
   TZFIELD%NTYPE      = TYPEINT
   TZFIELD%NDIMS      = 1
   TZFIELD%LTIMEDEP   = .FALSE.
-  CALL IO_Field_read(TPDIAFILE,TZFIELD,ITABCHAR)
+  CALL IO_Field_read(tzfile,TZFIELD,ITABCHAR)
   IGROUP=ILENG/NMNHNAMELGTMAX
   DO JJ=1,IGROUP
     DO J = 1,NMNHNAMELGTMAX
diff --git a/src/MNH/write_diachro.f90 b/src/MNH/write_diachro.f90
index 9ecd5b9a5..7f0b0a0d3 100644
--- a/src/MNH/write_diachro.f90
+++ b/src/MNH/write_diachro.f90
@@ -634,7 +634,6 @@ use modd_type_date,    only: date_time
 
 use mode_io_field_write, only: IO_Field_create, IO_Field_write, IO_Field_write_box
 use mode_io_tools_nc4,   only: IO_Err_handle_nc4
-use mode_menu_diachro,   only: Menu_diachro
 
 type(tfiledata),                                     intent(in)           :: tpdiafile        ! File to write
 class(tfield_metadata_base), dimension(:),           intent(in)           :: tpfields
@@ -1187,8 +1186,6 @@ end select
 !Restore id of the file root group ('/' group)
 tzfile%nncid = isavencid
 
-call Menu_diachro( tzfile, hgroup )
-
 end  subroutine Write_diachro_nc4
 
 subroutine Diachro_one_field_write_nc4( tpfile, tpfield, htype, pvar, kdims, osplit, odistributed, kil, kih, kjl, kjh, kkl, kkh )
-- 
GitLab