62 |
C =============== |
C =============== |
63 |
INTEGER m, n, j |
INTEGER m, n, j |
64 |
INTEGER ndiagnum, ipointer, iSp, jSd |
INTEGER ndiagnum, ipointer, iSp, jSd |
65 |
c INTEGER region2fill(0:nRegions) |
INTEGER region2fill(0:nRegions) |
66 |
|
|
67 |
C-- 2D/3D Diagnostics : |
C-- 2D/3D Diagnostics : |
68 |
C Run through list of active diagnostics to make sure |
C Run through list of active diagnostics to make sure |
86 |
ENDIF |
ENDIF |
87 |
|
|
88 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
89 |
|
C-- Global/Regional Statistics : |
90 |
|
|
91 |
|
C Run through list of active statistics-diagnostics to make sure |
92 |
|
C we are trying to compute & fill a valid diagnostic |
93 |
|
|
94 |
|
ndiagnum = 0 |
95 |
|
iSp = 0 |
96 |
|
DO n=1,diagSt_nbLists |
97 |
|
DO m=1,diagSt_nbActv(n) |
98 |
|
IF ( chardiag.EQ.diagSt_Flds(m,n) ) THEN |
99 |
|
jSd = jSdiag(m,n) |
100 |
|
iSp = iSdiag(jSd) |
101 |
|
IF ( iSp.NE.0 ) THEN |
102 |
|
IF (qSdiag(0,0,iSp,1,1).LT.0.) iSp = 0 |
103 |
|
ENDIF |
104 |
|
IF ( ndiagnum.EQ.0 ) THEN |
105 |
|
DO j=0,nRegions |
106 |
|
region2fill(j) = diagSt_region(j,n) |
107 |
|
ENDDO |
108 |
|
ELSE |
109 |
|
DO j=0,nRegions |
110 |
|
region2fill(j) = MAX( region2fill(j), diagSt_region(j,n) ) |
111 |
|
ENDDO |
112 |
|
ENDIF |
113 |
|
ndiagnum = jSd |
114 |
|
ENDIF |
115 |
|
ENDDO |
116 |
|
ENDDO |
117 |
|
|
118 |
|
C if we are a valid and an active diagnostic, do the filling: |
119 |
|
IF ( iSp.NE.0 ) THEN |
120 |
|
CALL DIAGSTATS_FILL( inpfld, ndiagnum, iSp, region2fill, |
121 |
|
I kLev, nLevs, bibjflg, biArg, bjArg, myThid ) |
122 |
|
ENDIF |
123 |
|
|
124 |
RETURN |
RETURN |
125 |
END |
END |