/[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.9 by jmc, Thu Jul 1 18:40:40 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        _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          call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)         ENDDO
37          call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)         CALL DIAGNOSTICS_FILL(tmp1k,'ETANSQ  ',0,1,0,1,1,myThid)
38          call fill_diagnostics(myThid,'WVEL    ',0,Nr,0,1,1,wVel)        ENDIF
39          call fill_diagnostics(myThid,'THETA   ',0,Nr,0,1,1,theta)        
40          call fill_diagnostics(myThid,'SALT    ',0,Nr,0,1,1,salt)  #ifdef EXACT_CONSERV
41          IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
42          do bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
43          do bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
44           do K=1,Nr            DO j = 1,sNy
45            do j = 1,sNy              DO i = 1,sNx
46            do i = 1,sNx                tmp1k(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)
47             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)              ENDDO
48            enddo            ENDDO
49            enddo          ENDDO
50           enddo         ENDDO
51          enddo         CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
52          enddo        ENDIF
53          call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)  #endif
54          
55          do bj = myByLo(myThid), myByHi(myThid)        CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
56          do bi = myBxLo(myThid), myBxHi(myThid)        CALL DIAGNOSTICS_FILL(vVel, 'VVEL    ',0,Nr,0,1,1,myThid)
57           do K=1,Nr        CALL DIAGNOSTICS_FILL(wVel, 'WVEL    ',0,Nr,0,1,1,myThid)
58            do j = 1,sNy        CALL DIAGNOSTICS_FILL(theta,'THETA   ',0,Nr,0,1,1,myThid)
59            do i = 1,sNx        CALL DIAGNOSTICS_FILL(salt, 'SALT    ',0,Nr,0,1,1,myThid)
60             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)        
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          enddo              DO j = 1,sNy
66          call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)                DO i = 1,sNx
67                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
68          do bj = myByLo(myThid), myByHi(myThid)                ENDDO
69          do bi = myBxLo(myThid), myBxHi(myThid)              ENDDO
70           do K=1,Nr            ENDDO
71            do j = 1,sNy          ENDDO
72            do i = 1,sNx         ENDDO
73             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)         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          enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
79          call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)            DO K=1,Nr
80                DO j = 1,sNy
81          do bj = myByLo(myThid), myByHi(myThid)                DO i = 1,sNx
82          do bi = myBxLo(myThid), myBxHi(myThid)                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
83           do K=1,Nr                ENDDO
84            do j = 1,sNy              ENDDO
85            do i = 1,sNx            ENDDO
86             dummy(i,j,K,bi,bj) = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)          ENDDO
87            enddo         ENDDO
88            enddo         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
89           enddo        ENDIF
90          enddo  
91          enddo        IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
92          call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)         DO bj = myByLo(myThid), myByHi(myThid)
93            DO bi = myBxLo(myThid), myBxHi(myThid)
94          do bj = myByLo(myThid), myByHi(myThid)            DO K=1,Nr
95          do bi = myBxLo(myThid), myBxHi(myThid)              DO j = 1,sNy
96           do K=1,Nr                DO i = 1,sNx
97            do j = 1,sNy                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
98            do i = 1,sNx                ENDDO
99             dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)              ENDDO
100            enddo            ENDDO
101            enddo          ENDDO
102           enddo         ENDDO
103          enddo         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
104          enddo        ENDIF
105          call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)        
106          IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
107          do bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
108          do bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
109           do K=1,Nr            DO K=1,Nr
110            do j = 1,sNy              DO j = 1,sNy
111            do i = 1,sNx                DO i = 1,sNx
112             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)                  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          enddo          ENDDO
118          call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)         ENDDO
119           CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
120          do bj = myByLo(myThid), myByHi(myThid)        ENDIF
121          do bi = myBxLo(myThid), myBxHi(myThid)        
122           do K=1,Nr        IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
123            do j = 1,sNy         DO bj = myByLo(myThid), myByHi(myThid)
124            do i = 1,sNx          DO bi = myBxLo(myThid), myBxHi(myThid)
125             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*            DO K=1,Nr
126       &         0.5*(theta(i,j,K,bi,bj)+theta(i-1,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,'UVELTH  ',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) = vVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
140       &         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))            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          enddo              ENDDO
146          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)            ENDDO
147            ENDDO
148          do bj = myByLo(myThid), myByHi(myThid)         ENDDO
149           do bi = myBxLo(myThid), myBxHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'UVELVVEL',0,Nr,0,1,1,myThid)
150            do K=1,Nr        ENDIF
151             km1 = MAX(k-1,1)        
152             do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('UVELTH  ',myThid) ) THEN
153              do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
154               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*          DO bi = myBxLo(myThid), myBxHi(myThid)
155       &                 (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))            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          enddo                ENDDO
161          call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)              ENDDO
162              ENDDO
163          do bj = myByLo(myThid), myByHi(myThid)          ENDDO
164          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
165           do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
166            do j = 1,sNy        ENDIF
167            do i = 1,sNx        
168             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('VVELTH  ',myThid) ) THEN
169       &         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))         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          enddo                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
175          call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)       &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
176                  ENDDO
177          do bj = myByLo(myThid), myByHi(myThid)              ENDDO
178          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
179           do K=1,Nr          ENDDO
180            do j = 1,sNy         ENDDO
181            do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'VVELTH  ',0,Nr,0,1,1,myThid)
182             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        ENDIF
183       &         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))        
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          enddo              km1 = MAX(k-1,1)
189          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)              DO j = 1,sNy
190                  DO i = 1,sNx
191          do bj = myByLo(myThid), myByHi(myThid)                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
192           do bi = myBxLo(myThid), myBxHi(myThid)       &                  *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
193            do K=1,Nr                ENDDO
194             km1 = MAX(k-1,1)              ENDDO
195             do j = 1,sNy            ENDDO
196              do i = 1,sNx          ENDDO
197               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*         ENDDO
198       &                 (salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))         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          enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
204          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)            DO K=1,Nr
205                DO j = 1,sNy
206          do bj = myByLo(myThid), myByHi(myThid)                DO i = 1,sNx
207          do bi = myBxLo(myThid), myBxHi(myThid)                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
208           do K=1,Nr       &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
209            do j = 1,sNy                ENDDO
210            do i = 1,sNx              ENDDO
211             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)            ENDDO
212            enddo          ENDDO
213            enddo         ENDDO
214           enddo         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
215          enddo        ENDIF
216          enddo        
217          call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,dummy)        IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
218           DO bj = myByLo(myThid), myByHi(myThid)
219          do bj = myByLo(myThid), myByHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
220          do bi = myBxLo(myThid), myBxHi(myThid)            DO K=1,Nr
221           do K=1,Nr              DO j = 1,sNy
222            do j = 1,sNy                DO i = 1,sNx
223            do i = 1,sNx                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
224             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)       &                  *(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          enddo         ENDDO
230          call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSLT ',0,Nr,0,1,1,myThid)
231          ENDIF
232          do bj = myByLo(myThid), myByHi(myThid)  
233          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('WVELSLT ',myThid) ) THEN
234           do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
235            do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
236            do i = 1,sNx            DO K=1,Nr
237             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*              km1 = MAX(k-1,1)
238       .         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))              DO j = 1,sNy
239       .                                * hFacW(i,j,K,bi,bj)                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          enddo            ENDDO
245          call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)          ENDDO
246           ENDDO
247          do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
248          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
249           do K=1,Nr        
250            do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
251            do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
252             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
253       .         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))            DO K=1,Nr
254       .                                * hFacS(i,j,K,bi,bj)              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          enddo              ENDDO
260          call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)            ENDDO
261            ENDDO
262          do bj = myByLo(myThid), myByHi(myThid)         ENDDO
263          do bi = myBxLo(myThid), myBxHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
264           do K=1,Nr        ENDIF
265            do j = 1,sNy  
266            do i = 1,sNx        IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
267             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*         DO bj = myByLo(myThid), myByHi(myThid)
268       .         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))          DO bi = myBxLo(myThid), myBxHi(myThid)
269       .                                * hFacW(i,j,K,bi,bj)            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          enddo                ENDDO
275          call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)              ENDDO
276              ENDDO
277          do bj = myByLo(myThid), myByHi(myThid)          ENDDO
278          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
279           do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
280            do j = 1,sNy        ENDIF
281            do i = 1,sNx  
282             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
283       .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))         DO bj = myByLo(myThid), myByHi(myThid)
284       .                                * hFacS(i,j,K,bi,bj)          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          enddo       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
290          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)       &                  * 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.9  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22