/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_out.F
ViewVC logotype

Diff of /MITgcm/pkg/diagnostics/diagnostics_out.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.37 by mlosch, Thu May 22 08:35:44 2008 UTC revision 1.38 by mlosch, Thu May 22 09:53:21 2008 UTC
# Line 104  C---+----1----+----2----+----3----+----4 Line 104  C---+----1----+----2----+----3----+----4
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
# Line 135  C       beginning and ending times for e Line 148  C       beginning and ending times for e
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)
# Line 193  C         for averaged levels. Line 211  C         for averaged levels.
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)
# Line 437  C           Time dimension Line 460  C           Time dimension
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)
# Line 474  C     and now use the missing values for Line 498  C     and now use the missing values for
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')

Legend:
Removed from v.1.37  
changed lines
  Added in v.1.38

  ViewVC Help
Powered by ViewVC 1.1.22