/[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.3 by molod, Tue Mar 23 21:02:20 2004 UTC revision 1.13 by jmc, Mon Dec 13 21:55:48 2004 UTC
# Line 1  Line 1 
1         subroutine diagnostics_fill_state(myThid)  C $Header$
2         implicit none  C $Name$
3    
4    #include "DIAG_OPTIONS.h"
5    
6           SUBROUTINE DIAGNOSTICS_FILL_STATE( myThid )
7    
8           IMPLICIT NONE
9  #include "SIZE.h"  #include "SIZE.h"
10  #include "EEPARAMS.h"  #include "EEPARAMS.h"
 #include "CPP_OPTIONS.h"  
11  #include "GRID.h"  #include "GRID.h"
12  #include "DYNVARS.h"  #include "DYNVARS.h"
13  # ifdef ALLOW_PTRACERS  #include "SURFACE.h"
 #  include "PTRACERS.h"  
 # endif  
   
       integer myThid  
       _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,Nsx,Nsy)  
       integer i,j,K,bi,bj  
   
         call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,1,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)  
           enddo  
           enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'ETANSQ  ',0,1,0,1,1,dummy)  
   
         call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)  
         call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)  
         call fill_diagnostics(myThid,'WVEL    ',0,Nr,0,1,1,wVel)  
         call fill_diagnostics(myThid,'THETA   ',0,Nr,0,1,1,theta)  
         call fill_diagnostics(myThid,'SALT    ',0,Nr,0,1,1,salt)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,salt)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1-OLy,sNy+Oly  
           do i = 1-OLx,sNx+Olx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)  
14    
15          INTEGER myThid
16    
17        return  #ifdef ALLOW_DIAGNOSTICS
18        end        LOGICAL  DIAGNOSTICS_IS_ON
19          EXTERNAL DIAGNOSTICS_IS_ON
20          _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          INTEGER i,j,K,bi,bj
23          INTEGER km1
24          
25          CALL DIAGNOSTICS_FILL(etaN,'ETAN    ',0,1,0,1,1,myThid)
26          
27          IF ( DIAGNOSTICS_IS_ON('ETANSQ  ',myThid) ) THEN
28           DO bj = myByLo(myThid), myByHi(myThid)
29            DO bi = myBxLo(myThid), myBxHi(myThid)
30              DO j = 1,sNy
31                DO i = 1,sNx
32                  tmp1k(i,j,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
33                ENDDO
34              ENDDO
35            ENDDO
36           ENDDO
37           CALL DIAGNOSTICS_FILL(tmp1k,'ETANSQ  ',0,1,0,1,1,myThid)
38          ENDIF
39          
40    #ifdef EXACT_CONSERV
41          IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
42           DO bj = myByLo(myThid), myByHi(myThid)
43            DO bi = myBxLo(myThid), myBxHi(myThid)
44              DO j = 1,sNy
45                DO i = 1,sNx
46                  tmp1k(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)
47                ENDDO
48              ENDDO
49            ENDDO
50           ENDDO
51           CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
52          ENDIF
53    #endif
54          
55          CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
56          CALL DIAGNOSTICS_FILL(vVel, 'VVEL    ',0,Nr,0,1,1,myThid)
57          CALL DIAGNOSTICS_FILL(wVel, 'WVEL    ',0,Nr,0,1,1,myThid)
58          CALL DIAGNOSTICS_FILL(theta,'THETA   ',0,Nr,0,1,1,myThid)
59          CALL DIAGNOSTICS_FILL(salt, 'SALT    ',0,Nr,0,1,1,myThid)
60          
61          IF ( DIAGNOSTICS_IS_ON('UVELSQ  ',myThid) ) THEN
62           DO bj = myByLo(myThid), myByHi(myThid)
63            DO bi = myBxLo(myThid), myBxHi(myThid)
64              DO K=1,Nr
65                DO j = 1,sNy
66                  DO i = 1,sNx
67                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
68                  ENDDO
69                ENDDO
70              ENDDO
71            ENDDO
72           ENDDO
73           CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ  ',0,Nr,0,1,1,myThid)
74          ENDIF
75    
76          IF ( DIAGNOSTICS_IS_ON('VVELSQ  ',myThid) ) THEN
77           DO bj = myByLo(myThid), myByHi(myThid)
78            DO bi = myBxLo(myThid), myBxHi(myThid)
79              DO K=1,Nr
80                DO j = 1,sNy
81                  DO i = 1,sNx
82                    tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
83                  ENDDO
84                ENDDO
85              ENDDO
86            ENDDO
87           ENDDO
88           CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
89          ENDIF
90    
91          IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
92           DO bj = myByLo(myThid), myByHi(myThid)
93            DO bi = myBxLo(myThid), myBxHi(myThid)
94              DO K=1,Nr
95                DO j = 1,sNy
96                  DO i = 1,sNx
97                    tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
98                  ENDDO
99                ENDDO
100              ENDDO
101            ENDDO
102           ENDDO
103           CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
104          ENDIF
105          
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)
114                  ENDDO
115                ENDDO
116              ENDDO
117            ENDDO
118           ENDDO
119           CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
120          ENDIF
121          
122          IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
123           DO bj = myByLo(myThid), myByHi(myThid)
124            DO bi = myBxLo(myThid), myBxHi(myThid)
125              DO K=1,Nr
126                DO j = 1,sNy
127                  DO i = 1,sNx
128                    tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
129                  ENDDO
130                ENDDO
131              ENDDO
132            ENDDO
133           ENDDO
134           CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ  ',0,Nr,0,1,1,myThid)
135          ENDIF
136          
137          IF ( DIAGNOSTICS_IS_ON('UVELVVEL',myThid) ) THEN
138           DO bj = myByLo(myThid), myByHi(myThid)
139            DO bi = myBxLo(myThid), myBxHi(myThid)
140              DO K=1,Nr
141                DO j = 1,sNy
142                  DO i = 1,sNx
143                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
144                  ENDDO
145                ENDDO
146              ENDDO
147            ENDDO
148           ENDDO
149           CALL DIAGNOSTICS_FILL(tmpMk,'UVELVVEL',0,Nr,0,1,1,myThid)
150          ENDIF
151          
152          IF ( DIAGNOSTICS_IS_ON('UVELTH  ',myThid) ) THEN
153           DO bj = myByLo(myThid), myByHi(myThid)
154            DO bi = myBxLo(myThid), myBxHi(myThid)
155              DO K=1,Nr
156                DO j = 1,sNy
157                  DO i = 1,sNx
158                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
159         &                  *(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
160                  ENDDO
161                ENDDO
162              ENDDO
163            ENDDO
164           ENDDO
165           CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
166          ENDIF
167          
168          IF ( DIAGNOSTICS_IS_ON('VVELTH  ',myThid) ) THEN
169           DO bj = myByLo(myThid), myByHi(myThid)
170            DO bi = myBxLo(myThid), myBxHi(myThid)
171              DO K=1,Nr
172                DO j = 1,sNy
173                  DO i = 1,sNx
174                    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                  ENDDO
177                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)
189                DO j = 1,sNy
190                  DO i = 1,sNx
191                    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))
193                  ENDDO
194                ENDDO
195              ENDDO
196            ENDDO
197           ENDDO
198           CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH  ',0,Nr,0,1,1,myThid)
199          ENDIF
200          
201          IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
202           DO bj = myByLo(myThid), myByHi(myThid)
203            DO bi = myBxLo(myThid), myBxHi(myThid)
204              DO K=1,Nr
205                DO j = 1,sNy
206                  DO i = 1,sNx
207                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
208         &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
209                  ENDDO
210                ENDDO
211              ENDDO
212            ENDDO
213           ENDDO
214           CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
215          ENDIF
216          
217          IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
218           DO bj = myByLo(myThid), myByHi(myThid)
219            DO bi = myBxLo(myThid), myBxHi(myThid)
220              DO K=1,Nr
221                DO j = 1,sNy
222                  DO i = 1,sNx
223                    tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
224         &                  *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
225                  ENDDO
226                ENDDO
227              ENDDO
228            ENDDO
229           ENDDO
230           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)
238                DO j = 1,sNy
239                  DO i = 1,sNx
240                    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))
242                  ENDDO
243                ENDDO
244              ENDDO
245            ENDDO
246           ENDDO
247           CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
248          ENDIF
249          
250          IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
251           DO bj = myByLo(myThid), myByHi(myThid)
252            DO bi = myBxLo(myThid), myBxHi(myThid)
253              DO K=1,Nr
254                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)
258                  ENDDO
259                ENDDO
260              ENDDO
261            ENDDO
262           ENDDO
263           CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
264          ENDIF
265    
266          IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
267           DO bj = myByLo(myThid), myByHi(myThid)
268            DO bi = myBxLo(myThid), myBxHi(myThid)
269              DO K=1,Nr
270                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)
274                  ENDDO
275                ENDDO
276              ENDDO
277            ENDDO
278           ENDDO
279           CALL DIAGNOSTICS_FILL(tmpMk,'VVELMASS',0,Nr,0,1,1,myThid)
280          ENDIF
281    
282          IF ( DIAGNOSTICS_IS_ON('UTHMASS ',myThid) ) THEN
283           DO bj = myByLo(myThid), myByHi(myThid)
284            DO bi = myBxLo(myThid), myBxHi(myThid)
285              DO K=1,Nr
286                DO j = 1,sNy
287                  DO i = 1,sNx
288                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
289         &                  *(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 */
352          
353          RETURN
354          END

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

  ViewVC Help
Powered by ViewVC 1.1.22