From 279e14e9b2040ced1ff8bb39d1ec9ed0c5fc41a1 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Mon, 14 Sep 2020 11:18:44 +0200 Subject: [PATCH] Philippe 14/09/2020: do not store 'time' dimension in diachronic files --- src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90 | 5 ++++- src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90 b/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90 index cd5b228fe..ebc79bca7 100644 --- a/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io_tools_nc4.f90 @@ -11,6 +11,7 @@ ! P. Wautelet 10/01/2019: replace handle_err by IO_Err_handle_nc4 for better netCDF error messages ! P. Wautelet 05/03/2019: rename IO subroutines and modules ! P. Wautelet 18/09/2019: correct support of 64bit integers (MNH_INT=8) +! P. Wautelet 14/09/2020: IO_Knowndims_set_nc4: do not store 'time' dimension in diachronic files !----------------------------------------------------------------- #if defined(MNH_IOCDF4) module mode_io_tools_nc4 @@ -274,7 +275,9 @@ IF (TRIM(YPROGRAM)/='PGD' .AND. TRIM(YPROGRAM)/='NESPGD' .AND. TRIM(YPROGRAM)/=' .AND. .NOT.(TRIM(YPROGRAM)=='REAL' .AND. CSTORAGE_TYPE=='SU') ) THEN !condition to detect PREP_SURFEX IF (.NOT. ASSOCIATED(PIOCDF%DIM_LEVEL)) PIOCDF%DIM_LEVEL => IO_Dimcdf_get_nc4(TPFILE, int( IKU, kind=CDFINT ), 'level') IF (.NOT. ASSOCIATED(PIOCDF%DIM_LEVEL_W)) PIOCDF%DIM_LEVEL_W => IO_Dimcdf_get_nc4(TPFILE, int( IKU, kind=CDFINT ), 'level_w') - IF (.NOT. ASSOCIATED(PIOCDF%DIMTIME)) PIOCDF%DIMTIME => IO_Dimcdf_get_nc4(TPFILE, NF90_UNLIMITED, 'time') + if ( tpfile%ctype /= 'MNHDIACHRONIC' ) then + IF (.NOT. ASSOCIATED(PIOCDF%DIMTIME)) PIOCDF%DIMTIME => IO_Dimcdf_get_nc4(TPFILE, NF90_UNLIMITED, 'time') + end if ELSE !PGD and SURFEX files for MesoNH have no vertical levels or time scale !These dimensions are allocated to default values diff --git a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 index 754cebb90..6a91f4e92 100644 --- a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 +++ b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 @@ -19,6 +19,7 @@ ! P. Wautelet 19/09/2019: temporary workaround for netCDF bug if MNH_INT=8 (if netCDF fortran < 4.4.5) ! P. Wautelet 11/02/2020: add 'dims' attribute in IO_Write_field_header_split_nc4 ! P. Wautelet 25/06/2020: remove workaround for netCDF bug (see 19/09/2019) +! P. Wautelet 14/09/2020: IO_Coordvar_write_nc4: do not store 'time' coordinate in diachronic files !----------------------------------------------------------------- #ifdef MNH_IOCDF4 module mode_io_write_nc4 @@ -1821,7 +1822,8 @@ END IF IF (TPFILE%LMASTER) THEN !Time scale is the same on all processes IF (TRIM(YPROGRAM)/='PGD' .AND. TRIM(YPROGRAM)/='NESPGD' .AND. TRIM(YPROGRAM)/='ZOOMPG' & .AND. .NOT.(TRIM(YPROGRAM)=='REAL' .AND. CSTORAGE_TYPE=='SU') ) THEN !condition to detect PREP_SURFEX - CALL WRITE_TIME_COORD(PIOCDF%DIMTIME) + if ( tpfile%ctype /= 'MNHDIACHRONIC' ) & + CALL WRITE_TIME_COORD(PIOCDF%DIMTIME) END IF END IF -- GitLab