/[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.5 by molod, Fri Apr 16 17:50:43 2004 UTC revision 1.14 by jmc, Wed Dec 15 00:20:37 2004 UTC
# Line 1  Line 1 
1         subroutine diagnostics_fill_state(myThid)  C $Header$
2         implicit none  C $Name$
3  #include "PACKAGES_CONFIG.h"  
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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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=2,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = 0.  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=2,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*  
      .                 (theta(i,j,K,bi,bj)+theta(i,j,K-1,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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*  
      .                 (salt(i,j,K,bi,bj)+salt(i,j,K-1,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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            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,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*  
      .         0.5*(theta(i,j,K,bi,bj)+theta(i-1,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,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*  
      .         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,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,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*  
      .         0.5*(salt(i,j,K,bi,bj)+salt(i-1,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,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*  
      .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,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          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
57          IF ( DIAGNOSTICS_IS_ON('DETADT2 ',myThid) ) THEN
58           DO bj = myByLo(myThid), myByHi(myThid)
59            DO bi = myBxLo(myThid), myBxHi(myThid)
60              DO j = 1,sNy
61                DO i = 1,sNx
62                  tmp1k(i,j,bi,bj) = dEtaHdt(i,j,bi,bj)*dEtaHdt(i,j,bi,bj)
63                ENDDO
64              ENDDO
65            ENDDO
66           ENDDO
67           CALL DIAGNOSTICS_FILL(tmp1k,'DETADT2 ',0,1,0,1,1,myThid)
68          ENDIF
69    #endif
70          
71          CALL DIAGNOSTICS_FILL(totPhihyd,'PHIHYD  ',0,Nr,0,1,1,myThid)
72          CALL DIAGNOSTICS_FILL(uVel, 'UVEL    ',0,Nr,0,1,1,myThid)
73          CALL DIAGNOSTICS_FILL(vVel, 'VVEL    ',0,Nr,0,1,1,myThid)
74          CALL DIAGNOSTICS_FILL(wVel, 'WVEL    ',0,Nr,0,1,1,myThid)
75          CALL DIAGNOSTICS_FILL(theta,'THETA   ',0,Nr,0,1,1,myThid)
76          CALL DIAGNOSTICS_FILL(salt, 'SALT    ',0,Nr,0,1,1,myThid)
77          
78          IF ( DIAGNOSTICS_IS_ON('UVELSQ  ',myThid) ) THEN
79           DO bj = myByLo(myThid), myByHi(myThid)
80            DO bi = myBxLo(myThid), myBxHi(myThid)
81              DO K=1,Nr
82                DO j = 1,sNy
83                  DO i = 1,sNx
84                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
85                  ENDDO
86                ENDDO
87              ENDDO
88            ENDDO
89           ENDDO
90           CALL DIAGNOSTICS_FILL(tmpMk,'UVELSQ  ',0,Nr,0,1,1,myThid)
91          ENDIF
92    
93          IF ( DIAGNOSTICS_IS_ON('VVELSQ  ',myThid) ) THEN
94           DO bj = myByLo(myThid), myByHi(myThid)
95            DO bi = myBxLo(myThid), myBxHi(myThid)
96              DO K=1,Nr
97                DO j = 1,sNy
98                  DO i = 1,sNx
99                    tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
100                  ENDDO
101                ENDDO
102              ENDDO
103            ENDDO
104           ENDDO
105           CALL DIAGNOSTICS_FILL(tmpMk,'VVELSQ  ',0,Nr,0,1,1,myThid)
106          ENDIF
107    
108          IF ( DIAGNOSTICS_IS_ON('WVELSQ  ',myThid) ) THEN
109           DO bj = myByLo(myThid), myByHi(myThid)
110            DO bi = myBxLo(myThid), myBxHi(myThid)
111              DO K=1,Nr
112                DO j = 1,sNy
113                  DO i = 1,sNx
114                    tmpMk(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
115                  ENDDO
116                ENDDO
117              ENDDO
118            ENDDO
119           ENDDO
120           CALL DIAGNOSTICS_FILL(tmpMk,'WVELSQ  ',0,Nr,0,1,1,myThid)
121          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)
131                  ENDDO
132                ENDDO
133              ENDDO
134            ENDDO
135           ENDDO
136           CALL DIAGNOSTICS_FILL(tmpMk,'THETASQ ',0,Nr,0,1,1,myThid)
137          ENDIF
138          
139          IF ( DIAGNOSTICS_IS_ON('SALTSQ  ',myThid) ) THEN
140           DO bj = myByLo(myThid), myByHi(myThid)
141            DO bi = myBxLo(myThid), myBxHi(myThid)
142              DO K=1,Nr
143                DO j = 1,sNy
144                  DO i = 1,sNx
145                    tmpMk(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
146                  ENDDO
147                ENDDO
148              ENDDO
149            ENDDO
150           ENDDO
151           CALL DIAGNOSTICS_FILL(tmpMk,'SALTSQ  ',0,Nr,0,1,1,myThid)
152          ENDIF
153          
154          IF ( DIAGNOSTICS_IS_ON('UVELVVEL',myThid) ) THEN
155           DO bj = myByLo(myThid), myByHi(myThid)
156            DO bi = myBxLo(myThid), myBxHi(myThid)
157              DO K=1,Nr
158                DO j = 1,sNy
159                  DO i = 1,sNx
160                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
161                  ENDDO
162                ENDDO
163              ENDDO
164            ENDDO
165           ENDDO
166           CALL DIAGNOSTICS_FILL(tmpMk,'UVELVVEL',0,Nr,0,1,1,myThid)
167          ENDIF
168          
169          IF ( DIAGNOSTICS_IS_ON('UVELTH  ',myThid) ) THEN
170           DO bj = myByLo(myThid), myByHi(myThid)
171            DO bi = myBxLo(myThid), myBxHi(myThid)
172              DO K=1,Nr
173                DO j = 1,sNy
174                  DO i = 1,sNx
175                    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                  ENDDO
178                ENDDO
179              ENDDO
180            ENDDO
181           ENDDO
182           CALL DIAGNOSTICS_FILL(tmpMk,'UVELTH  ',0,Nr,0,1,1,myThid)
183          ENDIF
184          
185          IF ( DIAGNOSTICS_IS_ON('VVELTH  ',myThid) ) THEN
186           DO bj = myByLo(myThid), myByHi(myThid)
187            DO bi = myBxLo(myThid), myBxHi(myThid)
188              DO K=1,Nr
189                DO j = 1,sNy
190                  DO i = 1,sNx
191                    tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
192         &                  *(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
193                  ENDDO
194                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)
206                DO j = 1,sNy
207                  DO i = 1,sNx
208                    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))
210                  ENDDO
211                ENDDO
212              ENDDO
213            ENDDO
214           ENDDO
215           CALL DIAGNOSTICS_FILL(tmpMk,'WVELTH  ',0,Nr,0,1,1,myThid)
216          ENDIF
217          
218          IF ( DIAGNOSTICS_IS_ON('UVELSLT ',myThid) ) THEN
219           DO bj = myByLo(myThid), myByHi(myThid)
220            DO bi = myBxLo(myThid), myBxHi(myThid)
221              DO K=1,Nr
222                DO j = 1,sNy
223                  DO i = 1,sNx
224                    tmpMk(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*0.5 _d 0
225         &                  *(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
226                  ENDDO
227                ENDDO
228              ENDDO
229            ENDDO
230           ENDDO
231           CALL DIAGNOSTICS_FILL(tmpMk,'UVELSLT ',0,Nr,0,1,1,myThid)
232          ENDIF
233          
234          IF ( DIAGNOSTICS_IS_ON('VVELSLT ',myThid) ) THEN
235           DO bj = myByLo(myThid), myByHi(myThid)
236            DO bi = myBxLo(myThid), myBxHi(myThid)
237              DO K=1,Nr
238                DO j = 1,sNy
239                  DO i = 1,sNx
240                    tmpMk(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*0.5 _d 0
241         &                  *(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
242                  ENDDO
243                ENDDO
244              ENDDO
245            ENDDO
246           ENDDO
247           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)
255                DO j = 1,sNy
256                  DO i = 1,sNx
257                    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))
259                  ENDDO
260                ENDDO
261              ENDDO
262            ENDDO
263           ENDDO
264           CALL DIAGNOSTICS_FILL(tmpMk,'WVELSLT ',0,Nr,0,1,1,myThid)
265          ENDIF
266          
267          IF ( DIAGNOSTICS_IS_ON('UVELMASS',myThid) ) THEN
268           DO bj = myByLo(myThid), myByHi(myThid)
269            DO bi = myBxLo(myThid), myBxHi(myThid)
270              DO K=1,Nr
271                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)
275                  ENDDO
276                ENDDO
277              ENDDO
278            ENDDO
279           ENDDO
280           CALL DIAGNOSTICS_FILL(tmpMk,'UVELMASS',0,Nr,0,1,1,myThid)
281          ENDIF
282    
283          IF ( DIAGNOSTICS_IS_ON('VVELMASS',myThid) ) THEN
284           DO bj = myByLo(myThid), myByHi(myThid)
285            DO bi = myBxLo(myThid), myBxHi(myThid)
286              DO K=1,Nr
287                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)
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 */
369          
370          RETURN
371          END

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22