104 |
|
|
105 |
#ifdef ALLOW_MNC |
#ifdef ALLOW_MNC |
106 |
IF (useMNC .AND. diag_mnc) THEN |
IF (useMNC .AND. diag_mnc) THEN |
107 |
|
#ifdef DIAGNOSTICS_MISSING_VALUE |
108 |
|
C Handle missing value attribute (land points) |
109 |
|
misvalLoc = undef |
110 |
|
C Defaults to UNSET_I |
111 |
|
misvalIntLoc = UNSET_I |
112 |
|
DO ii=1,2 |
113 |
|
C misval_r4(ii) = UNSET_FLOAT4 |
114 |
|
C misval_r8(ii) = UNSET_FLOAT8 |
115 |
|
misval_r4(ii) = misvalLoc |
116 |
|
misval_r8(ii) = misvalLoc |
117 |
|
misval_int(ii) = UNSET_I |
118 |
|
ENDDO |
119 |
|
#endif /* DIAGNOSTICS_MISSING_VALUE */ |
120 |
DO i = 1,MAX_LEN_FNAM |
DO i = 1,MAX_LEN_FNAM |
121 |
diag_mnc_bn(i:i) = ' ' |
diag_mnc_bn(i:i) = ' ' |
122 |
ENDDO |
ENDDO |
148 |
CALL MNC_CW_ADD_VATTR_TEXT('diag_levels','description', |
CALL MNC_CW_ADD_VATTR_TEXT('diag_levels','description', |
149 |
& 'Idicies of vertical levels within the source arrays', |
& 'Idicies of vertical levels within the source arrays', |
150 |
& myThid) |
& myThid) |
151 |
|
#ifdef DIAGNOSTICS_MISSING_VALUE |
152 |
|
CALL MNC_CW_VATTR_MISSING('diag_levels', 0, |
153 |
|
I misval_r8, misval_r4, misval_int, |
154 |
|
I myThid ) |
155 |
|
#endif /* DIAGNOSTICS_MISSING_VALUE */ |
156 |
|
|
157 |
CALL MNC_CW_RL_W('D',diag_mnc_bn,0,0, |
CALL MNC_CW_RL_W('D',diag_mnc_bn,0,0, |
158 |
& 'diag_levels', levs(1,listId), myThid) |
& 'diag_levels', levs(1,listId), myThid) |
211 |
& 'Dimensional coordinate value at the lower point', |
& 'Dimensional coordinate value at the lower point', |
212 |
& myThid) |
& myThid) |
213 |
ENDIF |
ENDIF |
214 |
|
#ifdef DIAGNOSTICS_MISSING_VALUE |
215 |
|
CALL MNC_CW_VATTR_MISSING(dn(1), 0, |
216 |
|
I misval_r8, misval_r4, misval_int, |
217 |
|
I myThid ) |
218 |
|
#endif /* DIAGNOSTICS_MISSING_VALUE */ |
219 |
CALL MNC_CW_RS_W('D',diag_mnc_bn,0,0, dn(1), ztmp, myThid) |
CALL MNC_CW_RS_W('D',diag_mnc_bn,0,0, dn(1), ztmp, myThid) |
220 |
CALL MNC_CW_DEL_VNAME(dn(1), myThid) |
CALL MNC_CW_DEL_VNAME(dn(1), myThid) |
221 |
CALL MNC_CW_DEL_GNAME(dn(1), myThid) |
CALL MNC_CW_DEL_GNAME(dn(1), myThid) |
460 |
CALL MNC_CW_ADD_VATTR_TEXT(cdiag(ndId),'units', |
CALL MNC_CW_ADD_VATTR_TEXT(cdiag(ndId),'units', |
461 |
& udiag(ndId),myThid) |
& udiag(ndId),myThid) |
462 |
|
|
463 |
|
#ifdef DIAGNOSTICS_MISSING_VALUE |
464 |
C Handle missing value attribute (land points) |
C Handle missing value attribute (land points) |
465 |
IF ( misvalFlt(listId) .NE. UNSET_RL ) THEN |
IF ( misvalFlt(listId) .NE. UNSET_RL ) THEN |
466 |
misvalLoc = misvalFlt(listId) |
misvalLoc = misvalFlt(listId) |
498 |
ENDDO |
ENDDO |
499 |
ELSE |
ELSE |
500 |
C suppress the missing value attribute (iflag = 0) |
C suppress the missing value attribute (iflag = 0) |
501 |
C Note: I have no idea, why we have to do this here, but if we do not |
C Note: We have to call the following subroutine for each mnc that has |
502 |
C do it, variables get the missing_value attribute (the one of the |
C been created "on the fly" by mnc_cw_add_vname and will be deleted |
503 |
C previous varable) that are not supposed to get one. These is something |
C by mnc_cw_del_vname, because all of these variables use the same |
504 |
C fishy with the flag array mnc_cw_vfmv. |
C identifier so that mnc_cw_vfmv(indv) needs to be overwritten for |
505 |
|
C each of these variables |
506 |
CALL MNC_CW_VATTR_MISSING(cdiag(ndId), 0, |
CALL MNC_CW_VATTR_MISSING(cdiag(ndId), 0, |
507 |
I misval_r8, misval_r4, misval_int, |
I misval_r8, misval_r4, misval_int, |
508 |
I myThid ) |
I myThid ) |
509 |
ENDIF |
ENDIF |
510 |
|
#endif /* DIAGNOSTICS_MISSING_VALUE */ |
511 |
|
|
512 |
IF ( ( (writeBinaryPrec .EQ. precFloat32) |
IF ( ( (writeBinaryPrec .EQ. precFloat32) |
513 |
& .AND. (fflags(listId)(1:1) .NE. 'D') |
& .AND. (fflags(listId)(1:1) .NE. 'D') |