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

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

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

revision 1.7 by jmc, Mon Jun 14 21:54:47 2004 UTC revision 1.14 by jmc, Wed Dec 15 00:20:37 2004 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4  #include "PACKAGES_CONFIG.h"  #include "DIAG_OPTIONS.h"
 #include "CPP_OPTIONS.h"  
5    
6         subroutine diagnostics_fill_state(myThid)         SUBROUTINE DIAGNOSTICS_FILL_STATE( myThid )
7         implicit none  
8           IMPLICIT NONE
9  #include "SIZE.h"  #include "SIZE.h"
10  #include "EEPARAMS.h"  #include "EEPARAMS.h"
11  #include "GRID.h"  #include "GRID.h"
12  #include "DYNVARS.h"  #include "DYNVARS.h"
13    #include "SURFACE.h"
14    
15        integer myThid        INTEGER myThid
16    
17  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
18        _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)        LOGICAL  DIAGNOSTICS_IS_ON
19        integer i,j,K,bi,bj        EXTERNAL DIAGNOSTICS_IS_ON
20        integer km1        _RL tmpMk(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
21          _RL tmp1k(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
22          call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)        INTEGER i,j,K,bi,bj
23          INTEGER km1
24          do bj = myByLo(myThid), myByHi(myThid)        
25          do bi = myBxLo(myThid), myBxHi(myThid)        CALL DIAGNOSTICS_FILL(etaN,'ETAN    ',0,1,0,1,1,myThid)
26            do j = 1,sNy        
27            do i = 1,sNx        IF ( DIAGNOSTICS_IS_ON('ETANSQ  ',myThid) ) THEN
28             dummy(i,j,1,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)         DO bj = myByLo(myThid), myByHi(myThid)
29            enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
30            enddo            DO j = 1,sNy
31          enddo              DO i = 1,sNx
32          enddo                tmp1k(i,j,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
33          call fill_diagnostics(myThid,'ETANSQ  ',0,1,0,1,1,dummy)              ENDDO
34              ENDDO
35          call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)          ENDDO
36          call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)         ENDDO
37          call fill_diagnostics(myThid,'WVEL    ',0,Nr,0,1,1,wVel)         CALL DIAGNOSTICS_FILL(tmp1k,'ETANSQ  ',0,1,0,1,1,myThid)
38          call fill_diagnostics(myThid,'THETA   ',0,Nr,0,1,1,theta)        ENDIF
39          call fill_diagnostics(myThid,'SALT    ',0,Nr,0,1,1,salt)        
40          CALL DIAGNOSTICS_FILL(phiHydLow,'PHIBOT  ',0,1,0,1,1,myThid)
41          do bj = myByLo(myThid), myByHi(myThid)  
42          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('PHIBOTSQ',myThid) ) THEN
43           do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
44            do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
45            do i = 1,sNx            DO j = 1,sNy
46             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)              DO i = 1,sNx
47            enddo                tmp1k(i,j,bi,bj) = phiHydLow(i,j,bi,bj)
48            enddo       &                          *phiHydLow(i,j,bi,bj)
49           enddo              ENDDO
50          enddo            ENDDO
51          enddo          ENDDO
52          call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)         ENDDO
53           CALL DIAGNOSTICS_FILL(tmp1k,'PHIBOTSQ',0,1,0,1,1,myThid)
54          do bj = myByLo(myThid), myByHi(myThid)        ENDIF
55          do bi = myBxLo(myThid), myBxHi(myThid)        
56           do K=1,Nr  #ifdef EXACT_CONSERV
57            do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
58            do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
59             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)          DO bi = myBxLo(myThid), myBxHi(myThid)
60            enddo            DO j = 1,sNy
61            enddo              DO i = 1,sNx
62           enddo                tmp1k(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)
63          enddo              ENDDO
64          enddo            ENDDO
65          call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)          ENDDO
66           ENDDO
67          do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
68          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
69           do K=1,Nr  #endif
70            do j = 1,sNy        
71            do i = 1,sNx        CALL DIAGNOSTICS_FILL(totPhihyd,'PHIHYD  ',0,Nr,0,1,1,myThid)
72             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)        CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
73            enddo        CALL DIAGNOSTICS_FILL(vVel, 'VVEL    ',0,Nr,0,1,1,myThid)
74            enddo        CALL DIAGNOSTICS_FILL(wVel, 'WVEL    ',0,Nr,0,1,1,myThid)
75           enddo        CALL DIAGNOSTICS_FILL(theta,'THETA   ',0,Nr,0,1,1,myThid)
76          enddo        CALL DIAGNOSTICS_FILL(salt, 'SALT    ',0,Nr,0,1,1,myThid)
77          enddo        
78          call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)        IF ( DIAGNOSTICS_IS_ON('UVELSQ  ',myThid) ) THEN
79           DO bj = myByLo(myThid), myByHi(myThid)
80          do bj = myByLo(myThid), myByHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
81          do bi = myBxLo(myThid), myBxHi(myThid)            DO K=1,Nr
82           do K=1,Nr              DO j = 1,sNy
83            do j = 1,sNy                DO i = 1,sNx
84            do i = 1,sNx                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
85             dummy(i,j,K,bi,bj) = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)                ENDDO
86            enddo              ENDDO
87            enddo            ENDDO
88           enddo          ENDDO
89          enddo         ENDDO
90          enddo         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ  ',0,Nr,0,1,1,myThid)
91          call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)        ENDIF
92    
93          do bj = myByLo(myThid), myByHi(myThid)        IF ( DIAGNOSTICS_IS_ON('VVELSQ  ',myThid) ) THEN
94          do bi = myBxLo(myThid), myBxHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
95           do K=1,Nr          DO bi = myBxLo(myThid), myBxHi(myThid)
96            do j = 1,sNy            DO K=1,Nr
97            do i = 1,sNx              DO j = 1,sNy
98             dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)                DO i = 1,sNx
99            enddo                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
100            enddo                ENDDO
101           enddo              ENDDO
102          enddo            ENDDO
103          enddo          ENDDO
104          call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)         ENDDO
105           CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
106          do bj = myByLo(myThid), myByHi(myThid)        ENDIF
107          do bi = myBxLo(myThid), myBxHi(myThid)  
108           do K=1,Nr        IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
109            do j = 1,sNy         DO bj = myByLo(myThid), myByHi(myThid)
110            do i = 1,sNx          DO bi = myBxLo(myThid), myBxHi(myThid)
111             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)            DO K=1,Nr
112            enddo              DO j = 1,sNy
113            enddo                DO i = 1,sNx
114           enddo                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
115          enddo                ENDDO
116          enddo              ENDDO
117          call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)            ENDDO
118            ENDDO
119          do bj = myByLo(myThid), myByHi(myThid)         ENDDO
120          do bi = myBxLo(myThid), myBxHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
121           do K=1,Nr        ENDIF
122            do j = 1,sNy        
123            do i = 1,sNx        IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
124             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*         DO bj = myByLo(myThid), myByHi(myThid)
125       &         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))          DO bi = myBxLo(myThid), myBxHi(myThid)
126            enddo            DO K=1,Nr
127            enddo              DO j = 1,sNy
128           enddo                DO i = 1,sNx
129          enddo                  tmpMk(i,j,K,bi,bj)
130          enddo       &               = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
131          call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)                ENDDO
132                ENDDO
133          do bj = myByLo(myThid), myByHi(myThid)            ENDDO
134          do bi = myBxLo(myThid), myBxHi(myThid)          ENDDO
135           do K=1,Nr         ENDDO
136            do j = 1,sNy         CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
137            do i = 1,sNx        ENDIF
138             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        
139       &         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))        IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
140            enddo         DO bj = myByLo(myThid), myByHi(myThid)
141            enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
142           enddo            DO K=1,Nr
143          enddo              DO j = 1,sNy
144          enddo                DO i = 1,sNx
145          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)                  tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
146                  ENDDO
147          do bj = myByLo(myThid), myByHi(myThid)              ENDDO
148           do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
149            do K=1,Nr          ENDDO
150             km1 = MAX(k-1,1)         ENDDO
151             do j = 1,sNy         CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ  ',0,Nr,0,1,1,myThid)
152              do i = 1,sNx        ENDIF
153               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*        
154       &                 (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))        IF ( DIAGNOSTICS_IS_ON('UVELVVEL',myThid) ) THEN
155              enddo         DO bj = myByLo(myThid), myByHi(myThid)
156             enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
157            enddo            DO K=1,Nr
158           enddo              DO j = 1,sNy
159          enddo                DO i = 1,sNx
160          call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
161                  ENDDO
162          do bj = myByLo(myThid), myByHi(myThid)              ENDDO
163          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
164           do K=1,Nr          ENDDO
165            do j = 1,sNy         ENDDO
166            do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'UVELVVEL',0,Nr,0,1,1,myThid)
167             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        ENDIF
168       &         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))        
169            enddo        IF ( DIAGNOSTICS_IS_ON('UVELTH  ',myThid) ) THEN
170            enddo         DO bj = myByLo(myThid), myByHi(myThid)
171           enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
172          enddo            DO K=1,Nr
173          enddo              DO j = 1,sNy
174          call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)                DO i = 1,sNx
175                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
176          do bj = myByLo(myThid), myByHi(myThid)       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
177          do bi = myBxLo(myThid), myBxHi(myThid)                ENDDO
178           do K=1,Nr              ENDDO
179            do j = 1,sNy            ENDDO
180            do i = 1,sNx          ENDDO
181             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*         ENDDO
182       &         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))         CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
183            enddo        ENDIF
184            enddo        
185           enddo        IF ( DIAGNOSTICS_IS_ON('VVELTH  ',myThid) ) THEN
186          enddo         DO bj = myByLo(myThid), myByHi(myThid)
187          enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
188          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)            DO K=1,Nr
189                DO j = 1,sNy
190          do bj = myByLo(myThid), myByHi(myThid)                DO i = 1,sNx
191           do bi = myBxLo(myThid), myBxHi(myThid)                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
192            do K=1,Nr       &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
193             km1 = MAX(k-1,1)                ENDDO
194             do j = 1,sNy              ENDDO
195              do i = 1,sNx            ENDDO
196               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*          ENDDO
197       &                 (salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))         ENDDO
198              enddo         CALL DIAGNOSTICS_FILL(tmpMk,'VVELTH  ',0,Nr,0,1,1,myThid)
199             enddo        ENDIF
200            enddo        
201           enddo        IF ( DIAGNOSTICS_IS_ON('WVELTH  ',myThid) ) THEN
202          enddo         DO bj = myByLo(myThid), myByHi(myThid)
203          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)          DO bi = myBxLo(myThid), myBxHi(myThid)
204              DO K=1,Nr
205          do bj = myByLo(myThid), myByHi(myThid)              km1 = MAX(k-1,1)
206          do bi = myBxLo(myThid), myBxHi(myThid)              DO j = 1,sNy
207           do K=1,Nr                DO i = 1,sNx
208            do j = 1,sNy                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
209            do i = 1,sNx       &                  *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
210             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)                ENDDO
211            enddo              ENDDO
212            enddo            ENDDO
213           enddo          ENDDO
214          enddo         ENDDO
215          enddo         CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH  ',0,Nr,0,1,1,myThid)
216          call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,salt)        ENDIF
217          
218          do bj = myByLo(myThid), myByHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
219          do bi = myBxLo(myThid), myBxHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
220           do K=1,Nr          DO bi = myBxLo(myThid), myBxHi(myThid)
221            do j = 1,sNy            DO K=1,Nr
222            do i = 1,sNx              DO j = 1,sNy
223             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)                DO i = 1,sNx
224            enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
225            enddo       &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
226           enddo                ENDDO
227          enddo              ENDDO
228          enddo            ENDDO
229          call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)          ENDDO
230           ENDDO
231          do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
232          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
233           do K=1,Nr        
234            do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
235            do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
236             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
237       .         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))            DO K=1,Nr
238       .                                * hFacW(i,j,K,bi,bj)              DO j = 1,sNy
239            enddo                DO i = 1,sNx
240            enddo                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
241           enddo       &                  *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
242          enddo                ENDDO
243          enddo              ENDDO
244          call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)            ENDDO
245            ENDDO
246          do bj = myByLo(myThid), myByHi(myThid)         ENDDO
247          do bi = myBxLo(myThid), myBxHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSLT ',0,Nr,0,1,1,myThid)
248           do K=1,Nr        ENDIF
249            do j = 1,sNy  
250            do i = 1,sNx        IF ( DIAGNOSTICS_IS_ON('WVELSLT ',myThid) ) THEN
251             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*         DO bj = myByLo(myThid), myByHi(myThid)
252       .         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))          DO bi = myBxLo(myThid), myBxHi(myThid)
253       .                                * hFacS(i,j,K,bi,bj)            DO K=1,Nr
254            enddo              km1 = MAX(k-1,1)
255            enddo              DO j = 1,sNy
256           enddo                DO i = 1,sNx
257          enddo                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
258          enddo       &                  *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
259          call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)                ENDDO
260                ENDDO
261          do bj = myByLo(myThid), myByHi(myThid)            ENDDO
262          do bi = myBxLo(myThid), myBxHi(myThid)          ENDDO
263           do K=1,Nr         ENDDO
264            do j = 1,sNy         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
265            do i = 1,sNx        ENDIF
266             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        
267       .         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))        IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
268       .                                * hFacW(i,j,K,bi,bj)         DO bj = myByLo(myThid), myByHi(myThid)
269            enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
270            enddo            DO K=1,Nr
271           enddo              DO j = 1,sNy
272          enddo                DO i = 1,sNx
273          enddo                  tmpMk(i,j,K,bi,bj)
274          call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)       &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
275                  ENDDO
276          do bj = myByLo(myThid), myByHi(myThid)              ENDDO
277          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
278           do K=1,Nr          ENDDO
279            do j = 1,sNy         ENDDO
280            do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
281             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        ENDIF
282       .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))  
283       .                                * hFacS(i,j,K,bi,bj)        IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
284            enddo         DO bj = myByLo(myThid), myByHi(myThid)
285            enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
286           enddo            DO K=1,Nr
287          enddo              DO j = 1,sNy
288          enddo                DO i = 1,sNx
289          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)                  tmpMk(i,j,K,bi,bj)
290         &               = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
291                  ENDDO
292                ENDDO
293              ENDDO
294            ENDDO
295           ENDDO
296           CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
297          ENDIF
298    
299          IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
300           DO bj = myByLo(myThid), myByHi(myThid)
301            DO bi = myBxLo(myThid), myBxHi(myThid)
302              DO K=1,Nr
303                DO j = 1,sNy
304                  DO i = 1,sNx
305                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
306         &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
307         &                  * hFacW(i,j,K,bi,bj)
308                  ENDDO
309                ENDDO
310              ENDDO
311            ENDDO
312           ENDDO
313           CALL DIAGNOSTICS_FILL(tmpMk,'UTHMASS ',0,Nr,0,1,1,myThid)
314          ENDIF
315    
316          IF ( DIAGNOSTICS_IS_ON('VTHMASS ',myThid) ) THEN
317           DO bj = myByLo(myThid), myByHi(myThid)
318            DO bi = myBxLo(myThid), myBxHi(myThid)
319              DO K=1,Nr
320                DO j = 1,sNy
321                  DO i = 1,sNx
322                    tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
323         &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
324         &                  * hFacS(i,j,K,bi,bj)
325                  ENDDO
326                ENDDO
327              ENDDO
328            ENDDO
329           ENDDO
330           CALL DIAGNOSTICS_FILL(tmpMk,'VTHMASS ',0,Nr,0,1,1,myThid)
331          ENDIF
332          
333          IF ( DIAGNOSTICS_IS_ON('USLTMASS',myThid) ) THEN
334           DO bj = myByLo(myThid), myByHi(myThid)
335            DO bi = myBxLo(myThid), myBxHi(myThid)
336              DO K=1,Nr
337                DO j = 1,sNy
338                  DO i = 1,sNx
339                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
340         &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
341         &                  * hFacW(i,j,K,bi,bj)
342                  ENDDO
343                ENDDO
344              ENDDO
345            ENDDO
346           ENDDO
347           CALL DIAGNOSTICS_FILL(tmpMk,'USLTMASS',0,Nr,0,1,1,myThid)
348          ENDIF
349    
350          IF ( DIAGNOSTICS_IS_ON('VSLTMASS',myThid) ) THEN
351           DO bj = myByLo(myThid), myByHi(myThid)
352            DO bi = myBxLo(myThid), myBxHi(myThid)
353              DO K=1,Nr
354                DO j = 1,sNy
355                  DO i = 1,sNx
356                    tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
357         &                  *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
358         &                  * hFacS(i,j,K,bi,bj)
359                  ENDDO
360                ENDDO
361              ENDDO
362            ENDDO
363           ENDDO
364           CALL DIAGNOSTICS_FILL(tmpMk,'VSLTMASS',0,Nr,0,1,1,myThid)
365          ENDIF
366          
367          
368  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
369          
370        return        RETURN
371        end        END

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22