/[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.13 by jmc, Mon Dec 13 21:55:48 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    #ifdef EXACT_CONSERV
41          do bj = myByLo(myThid), myByHi(myThid)        IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
42          do bi = myBxLo(myThid), myBxHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
43           do K=1,Nr          DO bi = myBxLo(myThid), myBxHi(myThid)
44            do j = 1,sNy            DO j = 1,sNy
45            do i = 1,sNx              DO i = 1,sNx
46             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)                tmp1k(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)
47            enddo              ENDDO
48            enddo            ENDDO
49           enddo          ENDDO
50          enddo         ENDDO
51          enddo         CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
52          call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)        ENDIF
53    #endif
54          do bj = myByLo(myThid), myByHi(myThid)        
55          do bi = myBxLo(myThid), myBxHi(myThid)        CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
56           do K=1,Nr        CALL DIAGNOSTICS_FILL(vVel, 'VVEL    ',0,Nr,0,1,1,myThid)
57            do j = 1,sNy        CALL DIAGNOSTICS_FILL(wVel, 'WVEL    ',0,Nr,0,1,1,myThid)
58            do i = 1,sNx        CALL DIAGNOSTICS_FILL(theta,'THETA   ',0,Nr,0,1,1,myThid)
59             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)        CALL DIAGNOSTICS_FILL(salt, 'SALT    ',0,Nr,0,1,1,myThid)
60            enddo        
61            enddo        IF ( DIAGNOSTICS_IS_ON('UVELSQ  ',myThid) ) THEN
62           enddo         DO bj = myByLo(myThid), myByHi(myThid)
63          enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
64          enddo            DO K=1,Nr
65          call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)              DO j = 1,sNy
66                  DO i = 1,sNx
67          do bj = myByLo(myThid), myByHi(myThid)                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
68          do bi = myBxLo(myThid), myBxHi(myThid)                ENDDO
69           do K=1,Nr              ENDDO
70            do j = 1,sNy            ENDDO
71            do i = 1,sNx          ENDDO
72             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)         ENDDO
73            enddo         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ  ',0,Nr,0,1,1,myThid)
74            enddo        ENDIF
75           enddo  
76          enddo        IF ( DIAGNOSTICS_IS_ON('VVELSQ  ',myThid) ) THEN
77          enddo         DO bj = myByLo(myThid), myByHi(myThid)
78          call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)          DO bi = myBxLo(myThid), myBxHi(myThid)
79              DO K=1,Nr
80          do bj = myByLo(myThid), myByHi(myThid)              DO j = 1,sNy
81          do bi = myBxLo(myThid), myBxHi(myThid)                DO i = 1,sNx
82           do K=1,Nr                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
83            do j = 1,sNy                ENDDO
84            do i = 1,sNx              ENDDO
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         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
89          enddo        ENDIF
90          enddo  
91          call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)        IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
92           DO bj = myByLo(myThid), myByHi(myThid)
93          do bj = myByLo(myThid), myByHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
94          do bi = myBxLo(myThid), myBxHi(myThid)            DO K=1,Nr
95           do K=1,Nr              DO j = 1,sNy
96            do j = 1,sNy                DO i = 1,sNx
97            do i = 1,sNx                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
98             dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)                ENDDO
99            enddo              ENDDO
100            enddo            ENDDO
101           enddo          ENDDO
102          enddo         ENDDO
103          enddo         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
104          call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)        ENDIF
105          
106          do bj = myByLo(myThid), myByHi(myThid)        IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
107          do bi = myBxLo(myThid), myBxHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
108           do K=1,Nr          DO bi = myBxLo(myThid), myBxHi(myThid)
109            do j = 1,sNy            DO K=1,Nr
110            do i = 1,sNx              DO j = 1,sNy
111             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)                DO i = 1,sNx
112            enddo                  tmpMk(i,j,K,bi,bj)
113            enddo       &               = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
114           enddo                ENDDO
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)         CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
120          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
121           do K=1,Nr        
122            do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
123            do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
124             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
125       &         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))            DO K=1,Nr
126            enddo              DO j = 1,sNy
127            enddo                DO i = 1,sNx
128           enddo                  tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
129          enddo                ENDDO
130          enddo              ENDDO
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)         CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ  ',0,Nr,0,1,1,myThid)
135           do K=1,Nr        ENDIF
136            do j = 1,sNy        
137            do i = 1,sNx        IF ( DIAGNOSTICS_IS_ON('UVELVVEL',myThid) ) THEN
138             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*         DO bj = myByLo(myThid), myByHi(myThid)
139       &         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))          DO bi = myBxLo(myThid), myBxHi(myThid)
140            enddo            DO K=1,Nr
141            enddo              DO j = 1,sNy
142           enddo                DO i = 1,sNx
143          enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
144          enddo                ENDDO
145          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)              ENDDO
146              ENDDO
147          do bj = myByLo(myThid), myByHi(myThid)          ENDDO
148           do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
149            do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'UVELVVEL',0,Nr,0,1,1,myThid)
150             km1 = MAX(k-1,1)        ENDIF
151             do j = 1,sNy        
152              do i = 1,sNx        IF ( DIAGNOSTICS_IS_ON('UVELTH  ',myThid) ) THEN
153               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*         DO bj = myByLo(myThid), myByHi(myThid)
154       &                 (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))          DO bi = myBxLo(myThid), myBxHi(myThid)
155              enddo            DO K=1,Nr
156             enddo              DO j = 1,sNy
157            enddo                DO i = 1,sNx
158           enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
159          enddo       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
160          call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)                ENDDO
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         CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
166            do i = 1,sNx        ENDIF
167             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        
168       &         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))        IF ( DIAGNOSTICS_IS_ON('VVELTH  ',myThid) ) THEN
169            enddo         DO bj = myByLo(myThid), myByHi(myThid)
170            enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
171           enddo            DO K=1,Nr
172          enddo              DO j = 1,sNy
173          enddo                DO i = 1,sNx
174          call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
175         &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
176          do bj = myByLo(myThid), myByHi(myThid)                ENDDO
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)*         CALL DIAGNOSTICS_FILL(tmpMk,'VVELTH  ',0,Nr,0,1,1,myThid)
182       &         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))        ENDIF
183            enddo        
184            enddo        IF ( DIAGNOSTICS_IS_ON('WVELTH  ',myThid) ) THEN
185           enddo         DO bj = myByLo(myThid), myByHi(myThid)
186          enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
187          enddo            DO K=1,Nr
188          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)              km1 = MAX(k-1,1)
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) = wVel(i,j,K,bi,bj)*0.5 _d 0
192            do K=1,Nr       &                  *(theta(i,j,K,bi,bj)+theta(i,j,km1,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,'WVELTH  ',0,Nr,0,1,1,myThid)
199             enddo        ENDIF
200            enddo        
201           enddo        IF ( DIAGNOSTICS_IS_ON('UVELSLT ',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)              DO j = 1,sNy
206          do bi = myBxLo(myThid), myBxHi(myThid)                DO i = 1,sNx
207           do K=1,Nr                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
208            do j = 1,sNy       &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
209            do i = 1,sNx                ENDDO
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         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
215          enddo        ENDIF
216          call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,salt)        
217          IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
218          do bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
219          do bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
220           do K=1,Nr            DO K=1,Nr
221            do j = 1,sNy              DO j = 1,sNy
222            do i = 1,sNx                DO i = 1,sNx
223             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
224            enddo       &                  *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
225            enddo                ENDDO
226           enddo              ENDDO
227          enddo            ENDDO
228          enddo          ENDDO
229          call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)         ENDDO
230           CALL DIAGNOSTICS_FILL(tmpMk,'VVELSLT ',0,Nr,0,1,1,myThid)
231          do bj = myByLo(myThid), myByHi(myThid)        ENDIF
232          do bi = myBxLo(myThid), myBxHi(myThid)  
233           do K=1,Nr        IF ( DIAGNOSTICS_IS_ON('WVELSLT ',myThid) ) THEN
234            do j = 1,sNy         DO bj = myByLo(myThid), myByHi(myThid)
235            do i = 1,sNx          DO bi = myBxLo(myThid), myBxHi(myThid)
236             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*            DO K=1,Nr
237       .         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))              km1 = MAX(k-1,1)
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) = wVel(i,j,K,bi,bj)*0.5 _d 0
241           enddo       &                  *(salt(i,j,K,bi,bj)+salt(i,j,km1,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,'WVELSLT ',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('UVELMASS',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              DO j = 1,sNy
255            enddo                DO i = 1,sNx
256           enddo                  tmpMk(i,j,K,bi,bj)
257          enddo       &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
258          enddo                ENDDO
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         CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
264            do j = 1,sNy        ENDIF
265            do i = 1,sNx  
266             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
267       .         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))         DO bj = myByLo(myThid), myByHi(myThid)
268       .                                * hFacW(i,j,K,bi,bj)          DO bi = myBxLo(myThid), myBxHi(myThid)
269            enddo            DO K=1,Nr
270            enddo              DO j = 1,sNy
271           enddo                DO i = 1,sNx
272          enddo                  tmpMk(i,j,K,bi,bj)
273          enddo       &               = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
274          call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)                ENDDO
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         CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
280            do i = 1,sNx        ENDIF
281             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*  
282       .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))        IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
283       .                                * hFacS(i,j,K,bi,bj)         DO bj = myByLo(myThid), myByHi(myThid)
284            enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
285            enddo            DO K=1,Nr
286           enddo              DO j = 1,sNy
287          enddo                DO i = 1,sNx
288          enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
289          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
290         &                  * hFacW(i,j,K,bi,bj)
291                  ENDDO
292                ENDDO
293              ENDDO
294            ENDDO
295           ENDDO
296           CALL DIAGNOSTICS_FILL(tmpMk,'UTHMASS ',0,Nr,0,1,1,myThid)
297          ENDIF
298    
299          IF ( DIAGNOSTICS_IS_ON('VTHMASS ',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) = vVel(i,j,K,bi,bj)*0.5 _d 0
306         &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
307         &                  * hFacS(i,j,K,bi,bj)
308                  ENDDO
309                ENDDO
310              ENDDO
311            ENDDO
312           ENDDO
313           CALL DIAGNOSTICS_FILL(tmpMk,'VTHMASS ',0,Nr,0,1,1,myThid)
314          ENDIF
315          
316          IF ( DIAGNOSTICS_IS_ON('USLTMASS',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) = uVel(i,j,K,bi,bj)*0.5 _d 0
323         &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
324         &                  * hFacW(i,j,K,bi,bj)
325                  ENDDO
326                ENDDO
327              ENDDO
328            ENDDO
329           ENDDO
330           CALL DIAGNOSTICS_FILL(tmpMk,'USLTMASS',0,Nr,0,1,1,myThid)
331          ENDIF
332    
333          IF ( DIAGNOSTICS_IS_ON('VSLTMASS',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) = vVel(i,j,K,bi,bj)*0.5 _d 0
340         &                  *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
341         &                  * hFacS(i,j,K,bi,bj)
342                  ENDDO
343                ENDDO
344              ENDDO
345            ENDDO
346           ENDDO
347           CALL DIAGNOSTICS_FILL(tmpMk,'VSLTMASS',0,Nr,0,1,1,myThid)
348          ENDIF
349          
350          
351  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
352          
353        return        RETURN
354        end        END

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

  ViewVC Help
Powered by ViewVC 1.1.22