36 |
C fields :: List Output Fields |
C fields :: List Output Fields |
37 |
C filename :: List Output Filename |
C filename :: List Output Filename |
38 |
C-- for regional-statistics |
C-- for regional-statistics |
39 |
C lev_regMask(n) :: region-mask levels that define the region "n" |
C set_regMask(n) :: region-mask set-index that define the region "n" |
40 |
C val_regMask(n) :: corresponding mask value of region "n" in the region-mask |
C val_regMask(n) :: corresponding mask value of region "n" in the region-mask |
41 |
C-- per level statistics output: |
C-- per level statistics output: |
42 |
C stat_freq :: Frequency (in s) of statistics output |
C stat_freq :: Frequency (in s) of statistics output |
60 |
CHARACTER*8 blk8c |
CHARACTER*8 blk8c |
61 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
62 |
INTEGER stat_region(rdimLoc,ldimLoc) |
INTEGER stat_region(rdimLoc,ldimLoc) |
63 |
INTEGER lev_regMask(rdimLoc) |
INTEGER set_regMask(rdimLoc) |
64 |
_RS val_regMask(rdimLoc) |
_RS val_regMask(rdimLoc) |
65 |
INTEGER ku, stdUnit |
INTEGER ku, stdUnit |
66 |
INTEGER j,k,l,n,m |
INTEGER j,k,l,n,m |
80 |
NAMELIST / DIAG_STATIS_PARMS / |
NAMELIST / DIAG_STATIS_PARMS / |
81 |
& stat_freq, stat_phase, stat_region, stat_fields, |
& stat_freq, stat_phase, stat_region, stat_fields, |
82 |
& stat_fname, diagSt_mnc, |
& stat_fname, diagSt_mnc, |
83 |
& lev_regMask, val_regMask, |
& set_regMask, val_regMask, |
84 |
& diagSt_regMaskFile, nLevRegMskFile |
& diagSt_regMaskFile, nSetRegMskFile |
85 |
|
|
86 |
C Initialize and Read Diagnostics Namelist |
C Initialize and Read Diagnostics Namelist |
87 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
113 |
diag_pickup_write_mnc = .FALSE. |
diag_pickup_write_mnc = .FALSE. |
114 |
|
|
115 |
diagSt_regMaskFile = ' ' |
diagSt_regMaskFile = ' ' |
116 |
nLevRegMskFile = 0 |
nSetRegMskFile = 0 |
117 |
DO k = 1,rdimLoc |
DO k = 1,rdimLoc |
118 |
lev_regMask(k) = 0 |
set_regMask(k) = 0 |
119 |
val_regMask(k) = 0. |
val_regMask(k) = 0. |
120 |
ENDDO |
ENDDO |
121 |
DO l = 1,ldimLoc |
DO l = 1,ldimLoc |
273 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
274 |
|
|
275 |
C- Initialise DIAG_STATS_REGMASK common block (except the mask) |
C- Initialise DIAG_STATS_REGMASK common block (except the mask) |
276 |
nLevRegMask = 0 |
nSetRegMask = 0 |
277 |
DO j = 0,nRegions |
DO j = 0,nRegions |
278 |
diagSt_kRegMsk(j) = 0 |
diagSt_kRegMsk(j) = 0 |
279 |
diagSt_vRegMsk(j) = 0. |
diagSt_vRegMsk(j) = 0. |
305 |
C for now, simpler just to read it from namelist in data.diagnostics |
C for now, simpler just to read it from namelist in data.diagnostics |
306 |
j = 0 |
j = 0 |
307 |
DO k = 1,rdimLoc |
DO k = 1,rdimLoc |
308 |
IF ( lev_regMask(k).NE.0 .OR. val_regMask(k).NE.0. ) THEN |
IF ( set_regMask(k).NE.0 .OR. val_regMask(k).NE.0. ) THEN |
309 |
j = j+1 |
j = j+1 |
310 |
IF ( j.LE.nRegions ) THEN |
IF ( j.LE.nRegions ) THEN |
311 |
diagSt_kRegMsk(j) = lev_regMask(k) |
diagSt_kRegMsk(j) = set_regMask(k) |
312 |
diagSt_vRegMsk(j) = val_regMask(k) |
diagSt_vRegMsk(j) = val_regMask(k) |
313 |
ENDIF |
ENDIF |
314 |
ENDIF |
ENDIF |
315 |
ENDDO |
ENDDO |
316 |
IF ( j.GT.nRegions ) THEN |
IF ( j.GT.nRegions ) THEN |
317 |
WRITE(msgBuf,'(2A,I3,A)') 'DIAGNOSTICS_READPARMS: ', |
WRITE(msgBuf,'(2A,I3,A)') 'DIAGNOSTICS_READPARMS: ', |
318 |
& 'lev_regMask & val_regMask lists assume at least',j,' regions' |
& 'set_regMask & val_regMask lists assume at least',j,' regions' |
319 |
CALL PRINT_ERROR( msgBuf , myThid ) |
CALL PRINT_ERROR( msgBuf , myThid ) |
320 |
WRITE(msgBuf,'(2A)') 'DIAGNOSTICS_READPARMS: ', |
WRITE(msgBuf,'(2A)') 'DIAGNOSTICS_READPARMS: ', |
321 |
& 'Need to increase "nRegions" in DIAGNOSTICS_SIZE.h' |
& 'Need to increase "nRegions" in DIAGNOSTICS_SIZE.h' |