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