/[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.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        _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)        CALL DIAGNOSTICS_FILL(phiHydLow,'PHIBOT  ',0,1,0,1,1,myThid)
41    
42          do bj = myByLo(myThid), myByHi(myThid)        IF ( DIAGNOSTICS_IS_ON('PHIBOTSQ',myThid) ) THEN
43          do bi = myBxLo(myThid), myBxHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
44           do K=1,Nr          DO bi = myBxLo(myThid), myBxHi(myThid)
45            do j = 1,sNy            DO j = 1,sNy
46            do i = 1,sNx              DO i = 1,sNx
47             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)                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          enddo         ENDDO
53          call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmp1k,'PHIBOTSQ',0,1,0,1,1,myThid)
54          ENDIF
55          do bj = myByLo(myThid), myByHi(myThid)        
56          do bi = myBxLo(myThid), myBxHi(myThid)  #ifdef EXACT_CONSERV
57           do K=1,Nr        IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
58            do j = 1,sNy         DO bj = myByLo(myThid), myByHi(myThid)
59            do i = 1,sNx          DO bi = myBxLo(myThid), myBxHi(myThid)
60             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)            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          enddo          ENDDO
66          call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)         ENDDO
67           CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
68          do bj = myByLo(myThid), myByHi(myThid)        ENDIF
69          do bi = myBxLo(myThid), myBxHi(myThid)  #endif
70           do K=1,Nr        
71            do j = 1,sNy        CALL DIAGNOSTICS_FILL(totPhihyd,'PHIHYD  ',0,Nr,0,1,1,myThid)
72            do i = 1,sNx        CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
73             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)        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          enddo        IF ( DIAGNOSTICS_IS_ON('UVELSQ  ',myThid) ) THEN
79          call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)         DO bj = myByLo(myThid), myByHi(myThid)
80            DO bi = myBxLo(myThid), myBxHi(myThid)
81          do bj = myByLo(myThid), myByHi(myThid)            DO K=1,Nr
82          do bi = myBxLo(myThid), myBxHi(myThid)              DO j = 1,sNy
83           do K=1,Nr                DO i = 1,sNx
84            do j = 1,sNy                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
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          ENDDO
89           enddo         ENDDO
90          enddo         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ  ',0,Nr,0,1,1,myThid)
91          enddo        ENDIF
92          call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)  
93          IF ( DIAGNOSTICS_IS_ON('VVELSQ  ',myThid) ) THEN
94          do bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
95          do bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
96           do K=1,Nr            DO K=1,Nr
97            do j = 1,sNy              DO j = 1,sNy
98            do i = 1,sNx                DO i = 1,sNx
99             dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)                  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          enddo         ENDDO
105          call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
106          ENDIF
107          do bj = myByLo(myThid), myByHi(myThid)  
108          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
109           do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
110            do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
111            do i = 1,sNx            DO K=1,Nr
112             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)              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          enddo            ENDDO
118          call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)          ENDDO
119           ENDDO
120          do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
121          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
122           do K=1,Nr        
123            do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
124            do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
125             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
126       &         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))            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          enddo                ENDDO
132          call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)              ENDDO
133              ENDDO
134          do bj = myByLo(myThid), myByHi(myThid)          ENDDO
135          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
136           do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
137            do j = 1,sNy        ENDIF
138            do i = 1,sNx        
139             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
140       &         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))         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          enddo                  tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
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)          ENDDO
150            do K=1,Nr         ENDDO
151             km1 = MAX(k-1,1)         CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ  ',0,Nr,0,1,1,myThid)
152             do j = 1,sNy        ENDIF
153              do i = 1,sNx        
154               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*        IF ( DIAGNOSTICS_IS_ON('UVELVVEL',myThid) ) THEN
155       &                 (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))         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          enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
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         ENDDO
166            do j = 1,sNy         CALL DIAGNOSTICS_FILL(tmpMk,'UVELVVEL',0,Nr,0,1,1,myThid)
167            do i = 1,sNx        ENDIF
168             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        
169       &         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))        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          enddo                DO i = 1,sNx
175          call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
176         &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
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         ENDDO
182             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*         CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
183       &         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))        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          enddo            DO K=1,Nr
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) = vVel(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-1,K,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,'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          enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
204          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)            DO K=1,Nr
205                km1 = MAX(k-1,1)
206          do bj = myByLo(myThid), myByHi(myThid)              DO j = 1,sNy
207          do bi = myBxLo(myThid), myBxHi(myThid)                DO i = 1,sNx
208           do K=1,Nr                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5 _d 0
209            do j = 1,sNy       &                  *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
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         ENDDO
215          enddo         CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH  ',0,Nr,0,1,1,myThid)
216          enddo        ENDIF
217          call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,dummy)        
218          IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
219          do bj = myByLo(myThid), myByHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
220          do bi = myBxLo(myThid), myBxHi(myThid)          DO bi = myBxLo(myThid), myBxHi(myThid)
221           do K=1,Nr            DO K=1,Nr
222            do j = 1,sNy              DO j = 1,sNy
223            do i = 1,sNx                DO i = 1,sNx
224             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)                  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          enddo          ENDDO
230          call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)         ENDDO
231           CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
232          do bj = myByLo(myThid), myByHi(myThid)        ENDIF
233          do bi = myBxLo(myThid), myBxHi(myThid)        
234           do K=1,Nr        IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
235            do j = 1,sNy         DO bj = myByLo(myThid), myByHi(myThid)
236            do i = 1,sNx          DO bi = myBxLo(myThid), myBxHi(myThid)
237             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*            DO K=1,Nr
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) = 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          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,'VVELSLT ',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('WVELSLT ',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)              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          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)         ENDDO
264           do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
265            do j = 1,sNy        ENDIF
266            do i = 1,sNx        
267             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
268       .         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))         DO bj = myByLo(myThid), myByHi(myThid)
269       .                                * hFacW(i,j,K,bi,bj)          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          enddo       &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
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         ENDDO
280            do j = 1,sNy         CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
281            do i = 1,sNx        ENDIF
282             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*  
283       .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))        IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
284       .                                * hFacS(i,j,K,bi,bj)         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          enddo                  tmpMk(i,j,K,bi,bj)
290          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)       &               = 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.9  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22