diff --git a/src/LIB/SURCOUCHE/src/modd_netcdf.f90 b/src/LIB/SURCOUCHE/src/modd_netcdf.f90 index 688797691f210d79fb8055e24564e3bacbee084e..6b0c890a222eba1743a271f3eeba86c51ab81d01 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 cced7d932a59a87fe9bd81bc7df5c3f40fd772eb..800498bc580341d574330ddebad0d2f5bdf77c8d 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