From 331f5e21f336bf04d6c845feeb918958c4511d40 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Mon, 22 Jan 2018 11:35:33 +0100 Subject: [PATCH] Philippe 22/01/2018: IO: add support for Arakawa vorticity point in NC4 files --- src/LIB/SURCOUCHE/src/modd_netcdf.f90 | 2 +- src/LIB/SURCOUCHE/src/mode_netcdf.f90 | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/LIB/SURCOUCHE/src/modd_netcdf.f90 b/src/LIB/SURCOUCHE/src/modd_netcdf.f90 index 688797691..6b0c890a2 100644 --- a/src/LIB/SURCOUCHE/src/modd_netcdf.f90 +++ b/src/LIB/SURCOUCHE/src/modd_netcdf.f90 @@ -24,7 +24,7 @@ TYPE DIMCDF TYPE(DIMCDF), POINTER :: NEXT => NULL() END TYPE DIMCDF -TYPE(DIMCDF),DIMENSION(3,0:4) :: NCOORDID !X,Y,Z coordinates for the 4 Arakawa points +TYPE(DIMCDF),DIMENSION(3,0:7) :: NCOORDID !X,Y,Z coordinates for the 8 Arakawa points !0 2nd-dimension is to treat NGRID=0 case without crash END MODULE MODD_NETCDF diff --git a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 index cced7d932..800498bc5 100644 --- a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 +++ b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 @@ -121,7 +121,7 @@ TYPE(TFILEDATA),INTENT(IN) :: TPFILE INTEGER :: IIU_ll, IJU_ll, IKU TYPE(IOCDF), POINTER :: PIOCDF -CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_SET_KNOWNDIMS_NC4','called') +CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_SET_KNOWNDIMS_NC4','called for '//TRIM(TPFILE%CNAME)) PIOCDF => TPFILE%TNCDIMS @@ -157,6 +157,18 @@ NCOORDID(3,3) = PIOCDF%DIM_LEVEL NCOORDID(1,4) = PIOCDF%DIM_NI NCOORDID(2,4) = PIOCDF%DIM_NJ NCOORDID(3,4) = PIOCDF%DIM_LEVEL_W +! xi vorticity point (=f point =uv point) +NCOORDID(1,5) = PIOCDF%DIM_NI_U +NCOORDID(2,5) = PIOCDF%DIM_NJ_V +NCOORDID(3,5) = PIOCDF%DIM_LEVEL +! eta vorticity point (=uw point) +NCOORDID(1,6) = PIOCDF%DIM_NI_U +NCOORDID(2,6) = PIOCDF%DIM_NJ +NCOORDID(3,6) = PIOCDF%DIM_LEVEL_W +! xi vorticity point (=vw point) +NCOORDID(1,7) = PIOCDF%DIM_NI +NCOORDID(2,7) = PIOCDF%DIM_NJ_V +NCOORDID(3,7) = PIOCDF%DIM_LEVEL_W END SUBROUTINE IO_SET_KNOWNDIMS_NC4 @@ -174,7 +186,7 @@ INTEGER(KIND=IDCDF_KIND) :: INCID REAL,DIMENSION(:),ALLOCATABLE :: ZXHATM, ZYHATM,ZZHATM !Coordinates at mass points in the transformed space TYPE(IOCDF), POINTER :: PIOCDF -CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_COORDVAR_NC4','called') +CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_COORDVAR_NC4','called for'//TRIM(TPFILE%CNAME)) PIOCDF => TPFILE%TNCDIMS @@ -675,7 +687,7 @@ ELSE END IF END IF ! -IF(IGRID<0 .OR. IGRID>4) THEN +IF(IGRID<0 .OR. IGRID>7) THEN WRITE(YINT,'( I0 )') IGRID CALL PRINT_MSG(NVERB_FATAL,'IO','FILLVDIMS','invalid NGRID ('//TRIM(YINT)//') for field '//TRIM(TPFIELD%CMNHNAME)) END IF -- GitLab