/[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.14 by jmc, Wed Dec 15 00:20:37 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          CALL DIAGNOSTICS_FILL(phiHydLow,'PHIBOT  ',0,1,0,1,1,myThid)
41    
42          IF ( DIAGNOSTICS_IS_ON('PHIBOTSQ',myThid) ) THEN
43           DO bj = myByLo(myThid), myByHi(myThid)
44            DO bi = myBxLo(myThid), myBxHi(myThid)
45              DO j = 1,sNy
46                DO i = 1,sNx
47                  tmp1k(i,j,bi,bj) = phiHydLow(i,j,bi,bj)
48         &                          *phiHydLow(i,j,bi,bj)
49                ENDDO
50              ENDDO
51            ENDDO
52           ENDDO
53           CALL DIAGNOSTICS_FILL(tmp1k,'PHIBOTSQ',0,1,0,1,1,myThid)
54          ENDIF
55                
56  #ifdef EXACT_CONSERV  #ifdef EXACT_CONSERV
57        do bj = myByLo(myThid), myByHi(myThid)        IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
58          do bi = myBxLo(myThid), myBxHi(myThid)         DO bj = myByLo(myThid), myByHi(myThid)
59            do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
60              do i = 1,sNx            DO j = 1,sNy
61                dummys(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)              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,'DETADT2 ',0,1,0,1,1,dummys)         ENDDO
67           CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
68          ENDIF
69  #endif  #endif
70                
71        call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)        CALL DIAGNOSTICS_FILL(totPhihyd,'PHIHYD  ',0,Nr,0,1,1,myThid)
72        call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)        CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
73        call fill_diagnostics(myThid,'WVEL    ',0,Nr,0,1,1,wVel)        CALL DIAGNOSTICS_FILL(vVel, 'VVEL    ',0,Nr,0,1,1,myThid)
74        call fill_diagnostics(myThid,'THETA   ',0,Nr,0,1,1,theta)        CALL DIAGNOSTICS_FILL(wVel, 'WVEL    ',0,Nr,0,1,1,myThid)
75        call fill_diagnostics(myThid,'SALT    ',0,Nr,0,1,1,salt)        CALL DIAGNOSTICS_FILL(theta,'THETA   ',0,Nr,0,1,1,myThid)
76                CALL DIAGNOSTICS_FILL(salt, 'SALT    ',0,Nr,0,1,1,myThid)
77        do bj = myByLo(myThid), myByHi(myThid)        
78          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UVELSQ  ',myThid) ) THEN
79            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
80              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
81                do i = 1,sNx            DO K=1,Nr
82                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)              DO j = 1,sNy
83                enddo                DO i = 1,sNx
84              enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
85            enddo                ENDDO
86          enddo              ENDDO
87        enddo            ENDDO
88        call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)          ENDDO
89           ENDDO
90        do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ  ',0,Nr,0,1,1,myThid)
91          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
92            do K=1,Nr  
93              do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('VVELSQ  ',myThid) ) THEN
94                do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
95                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)          DO bi = myBxLo(myThid), myBxHi(myThid)
96                enddo            DO K=1,Nr
97              enddo              DO j = 1,sNy
98            enddo                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        call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)              ENDDO
102              ENDDO
103        do bj = myByLo(myThid), myByHi(myThid)          ENDDO
104          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
105            do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
106              do j = 1,sNy        ENDIF
107                do i = 1,sNx  
108                  dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)        IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
109                enddo         DO bj = myByLo(myThid), myByHi(myThid)
110              enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
111            enddo            DO K=1,Nr
112          enddo              DO j = 1,sNy
113        enddo                DO i = 1,sNx
114        call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)                  tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
115                        ENDDO
116        do bj = myByLo(myThid), myByHi(myThid)              ENDDO
117          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
118            do K=1,Nr          ENDDO
119              do j = 1,sNy         ENDDO
120                do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
121                  dummy(i,j,K,bi,bj)        ENDIF
122          
123          IF ( DIAGNOSTICS_IS_ON('THETASQ ',myThid) ) THEN
124           DO bj = myByLo(myThid), myByHi(myThid)
125            DO bi = myBxLo(myThid), myBxHi(myThid)
126              DO K=1,Nr
127                DO j = 1,sNy
128                  DO i = 1,sNx
129                    tmpMk(i,j,K,bi,bj)
130       &               = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)       &               = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
131                enddo                ENDDO
132              enddo              ENDDO
133            enddo            ENDDO
134          enddo          ENDDO
135        enddo         ENDDO
136        call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
137                ENDIF
138        do bj = myByLo(myThid), myByHi(myThid)        
139          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
140            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
141              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
142                do i = 1,sNx            DO K=1,Nr
143                  dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)              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            enddo                ENDDO
147          enddo              ENDDO
148        enddo            ENDDO
149        call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)          ENDDO
150                 ENDDO
151        do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ  ',0,Nr,0,1,1,myThid)
152          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
153            do K=1,Nr        
154              do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('UVELVVEL',myThid) ) THEN
155                do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
156                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)          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        enddo                ENDDO
162        call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)              ENDDO
163                    ENDDO
164        do bj = myByLo(myThid), myByHi(myThid)          ENDDO
165          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
166            do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'UVELVVEL',0,Nr,0,1,1,myThid)
167              do j = 1,sNy        ENDIF
168                do i = 1,sNx        
169                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('UVELTH  ',myThid) ) THEN
170       &               0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))         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        enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
176        call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
177                        ENDDO
178        do bj = myByLo(myThid), myByHi(myThid)              ENDDO
179          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
180            do K=1,Nr          ENDDO
181              do j = 1,sNy         ENDDO
182                do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
183                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        ENDIF
184       &               0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))        
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        enddo              DO j = 1,sNy
190        call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)                DO i = 1,sNx
191                          tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
192        do bj = myByLo(myThid), myByHi(myThid)       &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
193          do bi = myBxLo(myThid), myBxHi(myThid)                ENDDO
194            do K=1,Nr              ENDDO
195              ENDDO
196            ENDDO
197           ENDDO
198           CALL DIAGNOSTICS_FILL(tmpMk,'VVELTH  ',0,Nr,0,1,1,myThid)
199          ENDIF
200          
201          IF ( DIAGNOSTICS_IS_ON('WVELTH  ',myThid) ) THEN
202           DO bj = myByLo(myThid), myByHi(myThid)
203            DO bi = myBxLo(myThid), myBxHi(myThid)
204              DO K=1,Nr
205              km1 = MAX(k-1,1)              km1 = MAX(k-1,1)
206              do j = 1,sNy              DO j = 1,sNy
207                do i = 1,sNx                DO i = 1,sNx
208                  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
209       &               (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))       &                  *(theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
210                enddo                ENDDO
211              enddo              ENDDO
212            enddo            ENDDO
213          enddo          ENDDO
214        enddo         ENDDO
215        call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH  ',0,Nr,0,1,1,myThid)
216                ENDIF
217        do bj = myByLo(myThid), myByHi(myThid)        
218          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
219            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
220              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
221                do i = 1,sNx            DO K=1,Nr
222                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*              DO j = 1,sNy
223       &               0.5*(salt(i,j,K,bi,bj)+salt(i-1,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,'UVELSLT ',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) = vVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
237       &               0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))            DO K=1,Nr
238                enddo              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        call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)              ENDDO
244              ENDDO
245        do bj = myByLo(myThid), myByHi(myThid)          ENDDO
246          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
247            do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'VVELSLT ',0,Nr,0,1,1,myThid)
248          ENDIF
249    
250          IF ( DIAGNOSTICS_IS_ON('WVELSLT ',myThid) ) THEN
251           DO bj = myByLo(myThid), myByHi(myThid)
252            DO bi = myBxLo(myThid), myBxHi(myThid)
253              DO K=1,Nr
254              km1 = MAX(k-1,1)              km1 = MAX(k-1,1)
255              do j = 1,sNy              DO j = 1,sNy
256                do i = 1,sNx                DO i = 1,sNx
257                  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
258       &               (salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))       &                  *(salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
259                enddo                ENDDO
260              enddo              ENDDO
261            enddo            ENDDO
262          enddo          ENDDO
263        enddo         ENDDO
264        call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
265                ENDIF
266        do bj = myByLo(myThid), myByHi(myThid)        
267          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
268            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
269              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
270                do i = 1,sNx            DO K=1,Nr
271                  dummy(i,j,K,bi,bj)              DO j = 1,sNy
272                  DO i = 1,sNx
273                    tmpMk(i,j,K,bi,bj)
274       &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)       &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
275                enddo                ENDDO
276              enddo              ENDDO
277            enddo            ENDDO
278          enddo          ENDDO
279        enddo         ENDDO
280        call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
281          ENDIF
282        do bj = myByLo(myThid), myByHi(myThid)  
283          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
284            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
285              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
286                do i = 1,sNx            DO K=1,Nr
287                  dummy(i,j,K,bi,bj)              DO j = 1,sNy
288                  DO i = 1,sNx
289                    tmpMk(i,j,K,bi,bj)
290       &               = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)       &               = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
291                enddo                ENDDO
292              enddo              ENDDO
293            enddo            ENDDO
294          enddo          ENDDO
295        enddo         ENDDO
296        call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)         CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
297          ENDIF
298        do bj = myByLo(myThid), myByHi(myThid)  
299          do bi = myBxLo(myThid), myBxHi(myThid)        IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
300            do K=1,Nr         DO bj = myByLo(myThid), myByHi(myThid)
301              do j = 1,sNy          DO bi = myBxLo(myThid), myBxHi(myThid)
302                do i = 1,sNx            DO K=1,Nr
303                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*              DO j = 1,sNy
304       &               0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))                DO i = 1,sNx
305       &               * hFacW(i,j,K,bi,bj)                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
306                enddo       &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
307              enddo       &                  * hFacW(i,j,K,bi,bj)
308            enddo                ENDDO
309          enddo              ENDDO
310        enddo            ENDDO
311        call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)          ENDDO
312           ENDDO
313        do bj = myByLo(myThid), myByHi(myThid)         CALL DIAGNOSTICS_FILL(tmpMk,'UTHMASS ',0,Nr,0,1,1,myThid)
314          do bi = myBxLo(myThid), myBxHi(myThid)        ENDIF
315            do K=1,Nr  
316              do j = 1,sNy        IF ( DIAGNOSTICS_IS_ON('VTHMASS ',myThid) ) THEN
317                do i = 1,sNx         DO bj = myByLo(myThid), myByHi(myThid)
318                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*          DO bi = myBxLo(myThid), myBxHi(myThid)
319       &               0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))            DO K=1,Nr
320       &               * hFacS(i,j,K,bi,bj)              DO j = 1,sNy
321                enddo                DO i = 1,sNx
322              enddo                  tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
323            enddo       &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
324          enddo       &                  * hFacS(i,j,K,bi,bj)
325        enddo                ENDDO
326        call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)              ENDDO
327                    ENDDO
328        do bj = myByLo(myThid), myByHi(myThid)          ENDDO
329          do bi = myBxLo(myThid), myBxHi(myThid)         ENDDO
330            do K=1,Nr         CALL DIAGNOSTICS_FILL(tmpMk,'VTHMASS ',0,Nr,0,1,1,myThid)
331              do j = 1,sNy        ENDIF
332                do i = 1,sNx        
333                  dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*        IF ( DIAGNOSTICS_IS_ON('USLTMASS',myThid) ) THEN
334       &               0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))         DO bj = myByLo(myThid), myByHi(myThid)
335       &               * hFacW(i,j,K,bi,bj)          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          enddo                  tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
340        enddo       &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
341        call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)       &                  * hFacW(i,j,K,bi,bj)
342                  ENDDO
343        do bj = myByLo(myThid), myByHi(myThid)              ENDDO
344          do bi = myBxLo(myThid), myBxHi(myThid)            ENDDO
345            do K=1,Nr          ENDDO
346              do j = 1,sNy         ENDDO
347                do i = 1,sNx         CALL DIAGNOSTICS_FILL(tmpMk,'USLTMASS',0,Nr,0,1,1,myThid)
348                  dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*        ENDIF
349       &               0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))  
350       &               * hFacS(i,j,K,bi,bj)        IF ( DIAGNOSTICS_IS_ON('VSLTMASS',myThid) ) THEN
351                enddo         DO bj = myByLo(myThid), myByHi(myThid)
352              enddo          DO bi = myBxLo(myThid), myBxHi(myThid)
353            enddo            DO K=1,Nr
354          enddo              DO j = 1,sNy
355        enddo                DO i = 1,sNx
356        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
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.12  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22