/[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.12 by jmc, Wed Sep 8 01:49:26 2004 UTC revision 1.13 by jmc, Mon Dec 13 21:55:48 2004 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "DIAG_OPTIONS.h"  #include "DIAG_OPTIONS.h"
5    
6         subroutine diagnostics_fill_state(myThid)         SUBROUTINE DIAGNOSTICS_FILL_STATE( myThid )
7    
8         implicit none         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"  #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        _RL dummys(1-OLx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)        EXTERNAL DIAGNOSTICS_IS_ON
20        integer i,j,K,bi,bj        _RL tmpMk(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
21        integer km1        _RL tmp1k(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
22                INTEGER i,j,K,bi,bj
23        call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)        INTEGER km1
24                
25        do bj = myByLo(myThid), myByHi(myThid)        CALL DIAGNOSTICS_FILL(etaN,'ETAN    ',0,1,0,1,1,myThid)
26          do bi = myBxLo(myThid), myBxHi(myThid)        
27            do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('ETANSQ  ',myThid) ) THEN
28              do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
29                dummys(i,j,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)          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        enddo              ENDDO
34        call fill_diagnostics(myThid,'ETANSQ  ',0,1,0,1,1,dummys)            ENDDO
35            ENDDO
36           ENDDO
37           CALL DIAGNOSTICS_FILL(tmp1k,'ETANSQ  ',0,1,0,1,1,myThid)
38          ENDIF
39                
40  #ifdef EXACT_CONSERV  #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 j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
44              do i = 1,sNx            DO j = 1,sNy
45                dummys(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)              DO i = 1,sNx
46              enddo                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        call fill_diagnostics(myThid,'DETADT2 ',0,1,0,1,1,dummys)         ENDDO
51           CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
52          ENDIF
53  #endif  #endif
54                
55        call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)        CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
56        call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)        CALL DIAGNOSTICS_FILL(vVel, 'VVEL    ',0,Nr,0,1,1,myThid)
57        call fill_diagnostics(myThid,'WVEL    ',0,Nr,0,1,1,wVel)        CALL DIAGNOSTICS_FILL(wVel, 'WVEL    ',0,Nr,0,1,1,myThid)
58        call fill_diagnostics(myThid,'THETA   ',0,Nr,0,1,1,theta)        CALL DIAGNOSTICS_FILL(theta,'THETA   ',0,Nr,0,1,1,myThid)
59        call fill_diagnostics(myThid,'SALT    ',0,Nr,0,1,1,salt)        CALL DIAGNOSTICS_FILL(salt, 'SALT    ',0,Nr,0,1,1,myThid)
60                
61        do bj = myByLo(myThid), myByHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UVELSQ  ',myThid) ) THEN
62          do bi = myBxLo(myThid), myBxHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
63            do K=1,Nr          DO bi = myBxLo(myThid), myBxHi(myThid)
64              do j = 1,sNy            DO K=1,Nr
65                do i = 1,sNx              DO j = 1,sNy
66                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)                DO i = 1,sNx
67                enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
68              enddo                ENDDO
69            enddo              ENDDO
70          enddo            ENDDO
71        enddo          ENDDO
72        call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)         ENDDO
73           CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ  ',0,Nr,0,1,1,myThid)
74        do bj = myByLo(myThid), myByHi(myThid)        ENDIF
75          do bi = myBxLo(myThid), myBxHi(myThid)  
76            do K=1,Nr        IF ( DIAGNOSTICS_IS_ON('VVELSQ  ',myThid) ) THEN
77              do j = 1,sNy         DO bj = myByLo(myThid), myByHi(myThid)
78                do i = 1,sNx          DO bi = myBxLo(myThid), myBxHi(myThid)
79                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)            DO K=1,Nr
80                enddo              DO j = 1,sNy
81              enddo                DO i = 1,sNx
82            enddo                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
83          enddo                ENDDO
84        enddo              ENDDO
85        call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)            ENDDO
86            ENDDO
87        do bj = myByLo(myThid), myByHi(myThid)         ENDDO
88          do bi = myBxLo(myThid), myBxHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
89            do K=1,Nr        ENDIF
90              do j = 1,sNy  
91                do i = 1,sNx        IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
92                  dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)         DO bj = myByLo(myThid), myByHi(myThid)
93                enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
94              enddo            DO K=1,Nr
95            enddo              DO j = 1,sNy
96          enddo                DO i = 1,sNx
97        enddo                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
98        call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)                ENDDO
99                      ENDDO
100        do bj = myByLo(myThid), myByHi(myThid)            ENDDO
101          do bi = myBxLo(myThid), myBxHi(myThid)          ENDDO
102            do K=1,Nr         ENDDO
103              do j = 1,sNy         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
104                do i = 1,sNx        ENDIF
105                  dummy(i,j,K,bi,bj)        
106          IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
107           DO bj = myByLo(myThid), myByHi(myThid)
108            DO bi = myBxLo(myThid), myBxHi(myThid)
109              DO K=1,Nr
110                DO j = 1,sNy
111                  DO i = 1,sNx
112                    tmpMk(i,j,K,bi,bj)
113       &               = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)       &               = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
114                enddo                ENDDO
115              enddo              ENDDO
116            enddo            ENDDO
117          enddo          ENDDO
118        enddo         ENDDO
119        call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
120                ENDIF
121        do bj = myByLo(myThid), myByHi(myThid)        
122          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
123            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
124              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
125                do i = 1,sNx            DO K=1,Nr
126                  dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)              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        enddo            ENDDO
132        call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)          ENDDO
133                 ENDDO
134        do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ  ',0,Nr,0,1,1,myThid)
135          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
136            do K=1,Nr        
137              do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('UVELVVEL',myThid) ) THEN
138                do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
139                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,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,'UVELVVEL',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              do j = 1,sNy        ENDIF
151                do i = 1,sNx        
152                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('UVELTH  ',myThid) ) THEN
153       &               0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))         DO bj = myByLo(myThid), myByHi(myThid)
154                enddo          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        call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
160                        ENDDO
161        do bj = myByLo(myThid), myByHi(myThid)              ENDDO
162          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
163            do K=1,Nr          ENDDO
164              do j = 1,sNy         ENDDO
165                do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
166                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        ENDIF
167       &               0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))        
168                enddo        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        call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)                DO i = 1,sNx
174                          tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
175        do bj = myByLo(myThid), myByHi(myThid)       &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
176          do bi = myBxLo(myThid), myBxHi(myThid)                ENDDO
177            do K=1,Nr              ENDDO
178              ENDDO
179            ENDDO
180           ENDDO
181           CALL DIAGNOSTICS_FILL(tmpMk,'VVELTH  ',0,Nr,0,1,1,myThid)
182          ENDIF
183          
184          IF ( DIAGNOSTICS_IS_ON('WVELTH  ',myThid) ) THEN
185           DO bj = myByLo(myThid), myByHi(myThid)
186            DO bi = myBxLo(myThid), myBxHi(myThid)
187              DO K=1,Nr
188              km1 = MAX(k-1,1)              km1 = MAX(k-1,1)
189              do j = 1,sNy              DO j = 1,sNy
190                do i = 1,sNx                DO i = 1,sNx
191                  dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
192       &               (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))       &                  *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
193                enddo                ENDDO
194              enddo              ENDDO
195            enddo            ENDDO
196          enddo          ENDDO
197        enddo         ENDDO
198        call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH  ',0,Nr,0,1,1,myThid)
199                ENDIF
200        do bj = myByLo(myThid), myByHi(myThid)        
201          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
202            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
203              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
204                do i = 1,sNx            DO K=1,Nr
205                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*              DO j = 1,sNy
206       &               0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))                DO i = 1,sNx
207                enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
208              enddo       &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
209            enddo                ENDDO
210          enddo              ENDDO
211        enddo            ENDDO
212        call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)          ENDDO
213                 ENDDO
214        do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
215          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
216            do K=1,Nr        
217              do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
218                do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
219                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
220       &               0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))            DO K=1,Nr
221                enddo              DO j = 1,sNy
222              enddo                DO i = 1,sNx
223            enddo                  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        call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)              ENDDO
227              ENDDO
228        do bj = myByLo(myThid), myByHi(myThid)          ENDDO
229          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
230            do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSLT ',0,Nr,0,1,1,myThid)
231          ENDIF
232    
233          IF ( DIAGNOSTICS_IS_ON('WVELSLT ',myThid) ) THEN
234           DO bj = myByLo(myThid), myByHi(myThid)
235            DO bi = myBxLo(myThid), myBxHi(myThid)
236              DO K=1,Nr
237              km1 = MAX(k-1,1)              km1 = MAX(k-1,1)
238              do j = 1,sNy              DO j = 1,sNy
239                do i = 1,sNx                DO i = 1,sNx
240                  dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
241       &               (salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))       &                  *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
242                enddo                ENDDO
243              enddo              ENDDO
244            enddo            ENDDO
245          enddo          ENDDO
246        enddo         ENDDO
247        call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
248                ENDIF
249        do bj = myByLo(myThid), myByHi(myThid)        
250          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
251            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
252              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
253                do i = 1,sNx            DO K=1,Nr
254                  dummy(i,j,K,bi,bj)              DO j = 1,sNy
255                  DO i = 1,sNx
256                    tmpMk(i,j,K,bi,bj)
257       &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)       &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
258                enddo                ENDDO
259              enddo              ENDDO
260            enddo            ENDDO
261          enddo          ENDDO
262        enddo         ENDDO
263        call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
264          ENDIF
265        do bj = myByLo(myThid), myByHi(myThid)  
266          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
267            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
268              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
269                do i = 1,sNx            DO K=1,Nr
270                  dummy(i,j,K,bi,bj)              DO j = 1,sNy
271                  DO i = 1,sNx
272                    tmpMk(i,j,K,bi,bj)
273       &               = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)       &               = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
274                enddo                ENDDO
275              enddo              ENDDO
276            enddo            ENDDO
277          enddo          ENDDO
278        enddo         ENDDO
279        call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
280          ENDIF
281        do bj = myByLo(myThid), myByHi(myThid)  
282          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
283            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
284              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
285                do i = 1,sNx            DO K=1,Nr
286                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*              DO j = 1,sNy
287       &               0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))                DO i = 1,sNx
288       &               * hFacW(i,j,K,bi,bj)                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
289                enddo       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
290              enddo       &                  * hFacW(i,j,K,bi,bj)
291            enddo                ENDDO
292          enddo              ENDDO
293        enddo            ENDDO
294        call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)          ENDDO
295           ENDDO
296        do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'UTHMASS ',0,Nr,0,1,1,myThid)
297          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
298            do K=1,Nr  
299              do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('VTHMASS ',myThid) ) THEN
300                do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
301                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
302       &               0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))            DO K=1,Nr
303       &               * hFacS(i,j,K,bi,bj)              DO j = 1,sNy
304                enddo                DO i = 1,sNx
305              enddo                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
306            enddo       &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
307          enddo       &                  * hFacS(i,j,K,bi,bj)
308        enddo                ENDDO
309        call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)              ENDDO
310                    ENDDO
311        do bj = myByLo(myThid), myByHi(myThid)          ENDDO
312          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
313            do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'VTHMASS ',0,Nr,0,1,1,myThid)
314              do j = 1,sNy        ENDIF
315                do i = 1,sNx        
316                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('USLTMASS',myThid) ) THEN
317       &               0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))         DO bj = myByLo(myThid), myByHi(myThid)
318       &               * hFacW(i,j,K,bi,bj)          DO bi = myBxLo(myThid), myBxHi(myThid)
319                enddo            DO K=1,Nr
320              enddo              DO j = 1,sNy
321            enddo                DO i = 1,sNx
322          enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
323        enddo       &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
324        call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)       &                  * hFacW(i,j,K,bi,bj)
325                  ENDDO
326        do bj = myByLo(myThid), myByHi(myThid)              ENDDO
327          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
328            do K=1,Nr          ENDDO
329              do j = 1,sNy         ENDDO
330                do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'USLTMASS',0,Nr,0,1,1,myThid)
331                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        ENDIF
332       &               0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))  
333       &               * hFacS(i,j,K,bi,bj)        IF ( DIAGNOSTICS_IS_ON('VSLTMASS',myThid) ) THEN
334                enddo         DO bj = myByLo(myThid), myByHi(myThid)
335              enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
336            enddo            DO K=1,Nr
337          enddo              DO j = 1,sNy
338        enddo                DO i = 1,sNx
339        call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)                  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.12  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22