diff --git a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 index 4401a19790a07db8ce0c973639df9956e9c90ea9..26a40a540be941862b84b12713deaecf76381bd0 100644 --- a/src/LIB/SURCOUCHE/src/mode_netcdf.f90 +++ b/src/LIB/SURCOUCHE/src/mode_netcdf.f90 @@ -251,7 +251,7 @@ IF(TPFIELD%NGRID<0) THEN CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_FIELD_ATTR_NC4','TPFIELD%NGRID not set for variable '//TRIM(TPFIELD%CMNHNAME)) ELSE STATUS = NF90_PUT_ATT(KNCID, KVARID, 'GRID', TPFIELD%NGRID) - IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_ATTR_NC4 [NF90_PUT_ATT]') + IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_ATTR_NC4 [NF90_PUT_ATT]') ENDIF ! ! COMMENT attribute definition @@ -259,7 +259,7 @@ IF(LEN_TRIM(TPFIELD%CCOMMENT)==0) THEN CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_FIELD_ATTR_NC4','TPFIELD%CCOMMENT not set for variable '//TRIM(TPFIELD%CMNHNAME)) ELSE STATUS = NF90_PUT_ATT(KNCID, KVARID,'COMMENT', TRIM(TPFIELD%CCOMMENT)) - IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_ATTR_NC4 [NF90_PUT_ATT]') + IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_ATTR_NC4 [NF90_PUT_ATT]') ENDIF ! ! Standard_name attribute definition (CF convention) @@ -267,7 +267,7 @@ IF(LEN_TRIM(TPFIELD%CSTDNAME)==0) THEN CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_FIELD_ATTR_NC4','TPFIELD%CSTDNAME not set for variable '//TRIM(TPFIELD%CMNHNAME)) ELSE STATUS = NF90_PUT_ATT(KNCID, KVARID,'standard_name', TRIM(TPFIELD%CSTDNAME)) - IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_ATTR_NC4 [NF90_PUT_ATT]') + IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_ATTR_NC4 [NF90_PUT_ATT]') ENDIF ! ! Long_name attribute definition (CF convention) @@ -275,7 +275,7 @@ IF(LEN_TRIM(TPFIELD%CLONGNAME)==0) THEN CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_FIELD_ATTR_NC4','TPFIELD%CLONGNAME not set for variable '//TRIM(TPFIELD%CMNHNAME)) ELSE STATUS = NF90_PUT_ATT(KNCID, KVARID,'long_name', TRIM(TPFIELD%CLONGNAME)) - IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_ATTR_NC4 [NF90_PUT_ATT]') + IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_ATTR_NC4 [NF90_PUT_ATT]') ENDIF ! ! Canonical units attribute definition (CF convention) @@ -283,14 +283,14 @@ IF(LEN_TRIM(TPFIELD%CUNITS)==0) THEN CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_FIELD_ATTR_NC4','TPFIELD%CUNITS not set for variable '//TRIM(TPFIELD%CMNHNAME)) ELSE STATUS = NF90_PUT_ATT(KNCID, KVARID,'units', TRIM(TPFIELD%CUNITS)) - IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_ATTR_NC4 [NF90_PUT_ATT]') + IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_ATTR_NC4 [NF90_PUT_ATT]') ENDIF ! ! Calendar (CF convention) IF(PRESENT(HCALENDAR)) THEN CALL PRINT_MSG(NVERB_DEBUG,'IO','IO_WRITE_FIELD_ATTR_NC4','CALENDAR provided for variable '//TRIM(TPFIELD%CMNHNAME)) STATUS = NF90_PUT_ATT(KNCID, KVARID,'calendar', TRIM(HCALENDAR)) - IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_ATTR_NC4 [NF90_PUT_ATT]') + IF (STATUS /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_ATTR_NC4 [NF90_PUT_ATT]') ENDIF ! END SUBROUTINE IO_WRITE_FIELD_ATTR_NC4 @@ -522,11 +522,12 @@ IF (STATUS /= NF90_NOERR) THEN ! Define the scalar variable STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_DOUBLE, IVARID) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X0[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_X0',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X0[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -626,11 +627,12 @@ IF (STATUS /= NF90_NOERR) THEN STATUS = NF90_DEF_VAR_DEFLATE(INCID, IVARID, SHUFFLE, DEFLATE, TPFILE%NNCCOMPRESS_LEVEL) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X1[NF90_DEF_VAR_DEFLATE]') END IF - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_X1',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -757,11 +759,12 @@ IF (STATUS /= NF90_NOERR) THEN STATUS = NF90_DEF_VAR_DEFLATE(INCID, IVARID, SHUFFLE, DEFLATE, TZFILE%NNCCOMPRESS_LEVEL) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X2[NF90_DEF_VAR_DEFLATE]') END IF - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_X2',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X2[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -862,11 +865,12 @@ IF (STATUS /= NF90_NOERR) THEN IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X3[NF90_DEF_VAR_DEFLATE]') END IF IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X3[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_X3',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X3[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -967,11 +971,12 @@ IF (STATUS /= NF90_NOERR) THEN IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X4[NF90_DEF_VAR_DEFLATE]') END IF IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X4[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_X4',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X4[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1072,11 +1077,12 @@ IF (STATUS /= NF90_NOERR) THEN IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X5[NF90_DEF_VAR_DEFLATE]') END IF IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X5[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_X5',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X5[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1177,11 +1183,12 @@ IF (STATUS /= NF90_NOERR) THEN IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X6[NF90_DEF_VAR_DEFLATE]') END IF IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X6[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_X6',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, PFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X6[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1289,11 +1296,12 @@ IF (STATUS /= NF90_NOERR) THEN STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_INT64, IVARID) #endif IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N0[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_N0',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, KFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N0[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1413,11 +1421,12 @@ IF (STATUS /= NF90_NOERR) THEN STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_INT64, IVDIMS, IVARID) #endif IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N1[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_N1',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, KFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1522,11 +1531,12 @@ IF (STATUS /= NF90_NOERR) THEN STATUS = NF90_DEF_VAR_DEFLATE(INCID, IVARID, SHUFFLE, DEFLATE, TPFILE%NNCCOMPRESS_LEVEL) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N2[NF90_DEF_VAR_DEFLATE]') END IF - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_N2',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, KFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N2[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1582,11 +1592,12 @@ IF (STATUS /= NF90_NOERR) THEN STATUS = NF90_DEF_VAR_DEFLATE(INCID, IVARID, SHUFFLE, DEFLATE, TPFILE%NNCCOMPRESS_LEVEL) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N3[NF90_DEF_VAR_DEFLATE]') END IF - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_N3',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, KFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_N3[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1626,7 +1637,6 @@ IF (STATUS /= NF90_NOERR) THEN ! Use of NF90_INT1 datatype (=NF90_BYTE) that is enough to store a boolean STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_INT1, IVARID) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_L0[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_L0',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF @@ -1638,6 +1648,8 @@ ELSE IFIELD = 0 END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, IFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_L0[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1687,7 +1699,6 @@ IF (STATUS /= NF90_NOERR) THEN ! Use of NF90_INT1 datatype (=NF90_BYTE) that is enough to store a boolean STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_INT1, IVDIMS, IVARID) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_L1[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_L1',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF @@ -1699,6 +1710,8 @@ ELSEWHERE IFIELD = 0 END WHERE +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, IFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_L1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1798,7 +1811,6 @@ IF (STATUS /= NF90_NOERR) THEN ! Define the variable STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_CHAR, IVDIMS, IVARID) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_C0[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_C0',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF @@ -1806,6 +1818,8 @@ END IF ALLOCATE(CHARACTER(LEN=ILEN)::YFIELD) YFIELD(:)=TRIM(HFIELD) !Warning: keep (:) to prevent F2003 automatic reallocation YFIELD(LEN_TRIM(HFIELD)+1:)=' ' +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, YFIELD) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_C0[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1853,11 +1867,12 @@ IF (STATUS /= NF90_NOERR) THEN ! Define the variable STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_CHAR, IVDIMS, IVARID) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_C1[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_C1',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TPFIELD,INCID,IVARID) ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, HFIELD(1:ISIZE)(1:ILEN), START=(/IONE,IONE/), COUNT=(/ILEN,ISIZE/)) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_C1[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP) @@ -1962,11 +1977,12 @@ IF (STATUS /= NF90_NOERR) THEN ! Define the scalar variable STATUS = NF90_DEF_VAR(INCID, YVARNAME, NF90_DOUBLE, IVARID) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_T0[NF90_DEF_VAR]') - CALL IO_WRITE_FIELD_ATTR_NC4(TZFIELD,INCID,IVARID,HCALENDAR='standard') ELSE CALL PRINT_MSG(NVERB_WARNING,'IO','IO_WRITE_FIELD_NC4_T0',TRIM(TPFILE%CNAME)//': '//TRIM(YVARNAME)//' already defined') END IF +! Write metadata +CALL IO_WRITE_FIELD_ATTR_NC4(TZFIELD,INCID,IVARID,HCALENDAR='standard') ! Write the data STATUS = NF90_PUT_VAR(INCID, IVARID, TPDATA%TIME) IF (status /= NF90_NOERR) CALL HANDLE_ERR(status,__LINE__,'IO_WRITE_FIELD_NC4_X0[NF90_PUT_VAR] '//TRIM(TPFIELD%CMNHNAME),IRESP)