/[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.6 by edhill, Wed May 5 00:39:21 2004 UTC revision 1.7 by jmc, Mon Jun 14 21:54:47 2004 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4    #include "PACKAGES_CONFIG.h"
5    #include "CPP_OPTIONS.h"
6    
7         subroutine diagnostics_fill_state(myThid)         subroutine diagnostics_fill_state(myThid)
8         implicit none         implicit none
 #include "PACKAGES_CONFIG.h"  
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"
 # ifdef ALLOW_PTRACERS  
 #  include "PTRACERS.h"  
 # endif  
13    
14        integer myThid        integer myThid
15        _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,Nsx,Nsy)  
16    #ifdef ALLOW_DIAGNOSTICS
17          _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
18        integer i,j,K,bi,bj        integer i,j,K,bi,bj
19          integer km1
20    
21          call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)          call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)
22    
# Line 119  C $Name$ Line 120  C $Name$
120           do K=1,Nr           do K=1,Nr
121            do j = 1,sNy            do j = 1,sNy
122            do i = 1,sNx            do i = 1,sNx
123             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
124         &         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
125            enddo            enddo
126            enddo            enddo
127           enddo           enddo
# Line 132  C $Name$ Line 134  C $Name$
134           do K=1,Nr           do K=1,Nr
135            do j = 1,sNy            do j = 1,sNy
136            do i = 1,sNx            do i = 1,sNx
137             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
138         &         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
139            enddo            enddo
140            enddo            enddo
141           enddo           enddo
# Line 141  C $Name$ Line 144  C $Name$
144          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)
145    
146          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
147          do bi = myBxLo(myThid), myBxHi(myThid)           do bi = myBxLo(myThid), myBxHi(myThid)
148           do K=2,Nr            do K=1,Nr
149            do j = 1,sNy             km1 = MAX(k-1,1)
150            do i = 1,sNx             do j = 1,sNy
151             dummy(i,j,K,bi,bj) = 0.              do i = 1,sNx
152            enddo               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
153         &                 (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
154                enddo
155               enddo
156            enddo            enddo
157           enddo           enddo
158          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  
159          call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)          call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)
160    
161          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
# Line 170  C $Name$ Line 163  C $Name$
163           do K=1,Nr           do K=1,Nr
164            do j = 1,sNy            do j = 1,sNy
165            do i = 1,sNx            do i = 1,sNx
166             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
167         &         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
168            enddo            enddo
169            enddo            enddo
170           enddo           enddo
# Line 183  C $Name$ Line 177  C $Name$
177           do K=1,Nr           do K=1,Nr
178            do j = 1,sNy            do j = 1,sNy
179            do i = 1,sNx            do i = 1,sNx
180             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
181         &         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
182            enddo            enddo
183            enddo            enddo
184           enddo           enddo
# Line 192  C $Name$ Line 187  C $Name$
187          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)
188    
189          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
190          do bi = myBxLo(myThid), myBxHi(myThid)           do bi = myBxLo(myThid), myBxHi(myThid)
191           do K=1,Nr            do K=1,Nr
192            do j = 1,sNy             km1 = MAX(k-1,1)
193            do i = 1,sNx             do j = 1,sNy
194             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*              do i = 1,sNx
195       .                 (salt(i,j,K,bi,bj)+salt(i,j,K-1,bi,bj))               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
196            enddo       &                 (salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
197                enddo
198               enddo
199            enddo            enddo
200           enddo           enddo
201          enddo          enddo
         enddo  
202          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)
203    
204          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
# Line 253  C $Name$ Line 249  C $Name$
249            do i = 1,sNx            do i = 1,sNx
250             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
251       .         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))       .         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
252       .                                * hFacW(i,j,K,bi,bj)       .                                * hFacS(i,j,K,bi,bj)
253            enddo            enddo
254            enddo            enddo
255           enddo           enddo
# Line 283  C $Name$ Line 279  C $Name$
279            do i = 1,sNx            do i = 1,sNx
280             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
281       .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))       .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
282       .                                * hFacW(i,j,K,bi,bj)       .                                * hFacS(i,j,K,bi,bj)
283            enddo            enddo
284            enddo            enddo
285           enddo           enddo
# Line 292  C $Name$ Line 288  C $Name$
288          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)
289    
290    
291    #endif /* ALLOW_DIAGNOSTICS */
292    
293        return        return
294        end        end

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22