/[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.2 by molod, Tue Mar 23 15:39:08 2004 UTC revision 1.6 by edhill, Wed May 5 00:39:21 2004 UTC
# Line 1  Line 1 
1    C $Header$
2    C $Name$
3    
4         subroutine diagnostics_fill_state(myThid)         subroutine diagnostics_fill_state(myThid)
5         implicit none         implicit none
6    #include "PACKAGES_CONFIG.h"
7  #include "SIZE.h"  #include "SIZE.h"
8  #include "EEPARAMS.h"  #include "EEPARAMS.h"
9  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
# Line 13  Line 17 
17        _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,Nsx,Nsy)        _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    
 #ifdef ALLOW_DIAGNOSTICS  
        if(usediagnostics)then  
20          call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)          call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)
21    
22          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
23          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
24            do j = 1-OLy,sNy+Oly            do j = 1,sNy
25            do i = 1-OLx,sNx+Olx            do i = 1,sNx
26             dummy(i,j,K,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)             dummy(i,j,1,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
27            enddo            enddo
28            enddo            enddo
29          enddo          enddo
30          enddo          enddo
31          call fill_diagnostics(myThid,'ETANSQ  ',0,1,0,1,1,etaN)          call fill_diagnostics(myThid,'ETANSQ  ',0,1,0,1,1,dummy)
32    
33          call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)          call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)
34          call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)          call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)
# Line 37  Line 39 
39          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
40          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
41           do K=1,Nr           do K=1,Nr
42            do j = 1-OLy,sNy+Oly            do j = 1,sNy
43            do i = 1-OLx,sNx+Olx            do i = 1,sNx
44             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
45            enddo            enddo
46            enddo            enddo
47           enddo           enddo
48          enddo          enddo
49          enddo          enddo
50          call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,uVel)          call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)
51    
52          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
53          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
54           do K=1,Nr           do K=1,Nr
55            do j = 1-OLy,sNy+Oly            do j = 1,sNy
56            do i = 1-OLx,sNx+Olx            do i = 1,sNx
57             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
58            enddo            enddo
59            enddo            enddo
60           enddo           enddo
61          enddo          enddo
62          enddo          enddo
63          call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,vVel)          call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)
64    
65          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
66          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
67           do K=1,Nr           do K=1,Nr
68            do j = 1-OLy,sNy+Oly            do j = 1,sNy
69            do i = 1-OLx,sNx+Olx            do i = 1,sNx
70             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
71            enddo            enddo
72            enddo            enddo
73           enddo           enddo
74          enddo          enddo
75          enddo          enddo
76          call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,wVel)          call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)
77    
78          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
79          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
80           do K=1,Nr           do K=1,Nr
81            do j = 1-OLy,sNy+Oly            do j = 1,sNy
82            do i = 1-OLx,sNx+Olx            do i = 1,sNx
83             dummy(i,j,K,bi,bj) = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
84            enddo            enddo
85            enddo            enddo
86           enddo           enddo
87          enddo          enddo
88          enddo          enddo
89          call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,theta)          call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)
90    
91          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
92          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
93           do K=1,Nr           do K=1,Nr
94            do j = 1-OLy,sNy+Oly            do j = 1,sNy
95            do i = 1-OLx,sNx+Olx            do i = 1,sNx
96             dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
97            enddo            enddo
98            enddo            enddo
99           enddo           enddo
100          enddo          enddo
101          enddo          enddo
102          call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)
103    
104          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
105          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
106           do K=1,Nr           do K=1,Nr
107            do j = 1-OLy,sNy+Oly            do j = 1,sNy
108            do i = 1-OLx,sNx+Olx            do i = 1,sNx
109             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
110            enddo            enddo
111            enddo            enddo
112           enddo           enddo
113          enddo          enddo
114          enddo          enddo
115          call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)
116    
117          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
118          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
119           do K=1,Nr           do K=1,Nr
120            do j = 1-OLy,sNy+Oly            do j = 1,sNy
121            do i = 1-OLx,sNx+Olx            do i = 1,sNx
122             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)*theta(i,j,K,bi,bj)
123            enddo            enddo
124            enddo            enddo
125           enddo           enddo
126          enddo          enddo
127          enddo          enddo
128          call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)
129    
130          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
131          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
132           do K=1,Nr           do K=1,Nr
133            do j = 1-OLy,sNy+Oly            do j = 1,sNy
134            do i = 1-OLx,sNx+Olx            do i = 1,sNx
135             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)*theta(i,j,K,bi,bj)
136            enddo            enddo
137            enddo            enddo
138           enddo           enddo
139          enddo          enddo
140          enddo          enddo
141          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)
142    
143          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
144          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
145           do K=1,Nr           do K=2,Nr
146            do j = 1-OLy,sNy+Oly            do j = 1,sNy
147            do i = 1-OLx,sNx+Olx            do i = 1,sNx
148             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = 0.
149            enddo            enddo
150            enddo            enddo
151           enddo           enddo
152          enddo          enddo
153          enddo          enddo
154          call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,salt)          do bj = myByLo(myThid), myByHi(myThid)
155            do bi = myBxLo(myThid), myBxHi(myThid)
156             do K=2,Nr
157              do j = 1,sNy
158              do i = 1,sNx
159               dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
160         .                 (theta(i,j,K,bi,bj)+theta(i,j,K-1,bi,bj))
161              enddo
162              enddo
163             enddo
164            enddo
165            enddo
166            call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)
167    
168          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
169          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
170           do K=1,Nr           do K=1,Nr
171            do j = 1-OLy,sNy+Oly            do j = 1,sNy
172            do i = 1-OLx,sNx+Olx            do i = 1,sNx
173             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)*salt(i,j,K,bi,bj)
174            enddo            enddo
175            enddo            enddo
176           enddo           enddo
177          enddo          enddo
178          enddo          enddo
179          call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)
180    
181          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
182          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
183           do K=1,Nr           do K=1,Nr
184            do j = 1-OLy,sNy+Oly            do j = 1,sNy
185            do i = 1-OLx,sNx+Olx            do i = 1,sNx
186             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)*salt(i,j,K,bi,bj)
187            enddo            enddo
188            enddo            enddo
189           enddo           enddo
190          enddo          enddo
191          enddo          enddo
192          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)
193    
194          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
195          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
196           do K=1,Nr           do K=1,Nr
197            do j = 1-OLy,sNy+Oly            do j = 1,sNy
198            do i = 1-OLx,sNx+Olx            do i = 1,sNx
199             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
200         .                 (salt(i,j,K,bi,bj)+salt(i,j,K-1,bi,bj))
201            enddo            enddo
202            enddo            enddo
203           enddo           enddo
204          enddo          enddo
205          enddo          enddo
206          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)
207    
208          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
209          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
210           do K=1,Nr           do K=1,Nr
211            do j = 1-OLy,sNy+Oly            do j = 1,sNy
212            do i = 1-OLx,sNx+Olx            do i = 1,sNx
213             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
214            enddo            enddo
215            enddo            enddo
# Line 206  Line 221 
221          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
222          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
223           do K=1,Nr           do K=1,Nr
224            do j = 1-OLy,sNy+Oly            do j = 1,sNy
225            do i = 1-OLx,sNx+Olx            do i = 1,sNx
226             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)             dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
227            enddo            enddo
228            enddo            enddo
229           enddo           enddo
230          enddo          enddo
231          enddo          enddo
232          call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)
233    
234          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
235          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
236           do K=1,Nr           do K=1,Nr
237            do j = 1-OLy,sNy+Oly            do j = 1,sNy
238            do i = 1-OLx,sNx+Olx            do i = 1,sNx
239             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)*
240         .         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
241       .                                * hFacW(i,j,K,bi,bj)       .                                * hFacW(i,j,K,bi,bj)
242            enddo            enddo
243            enddo            enddo
244           enddo           enddo
245          enddo          enddo
246          enddo          enddo
247          call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)
248    
249          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
250          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
251           do K=1,Nr           do K=1,Nr
252            do j = 1-OLy,sNy+Oly            do j = 1,sNy
253            do i = 1-OLx,sNx+Olx            do i = 1,sNx
254             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)*
255         .         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
256       .                                * hFacW(i,j,K,bi,bj)       .                                * hFacW(i,j,K,bi,bj)
257            enddo            enddo
258            enddo            enddo
259           enddo           enddo
260          enddo          enddo
261          enddo          enddo
262          call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)
263    
264          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
265          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
266           do K=1,Nr           do K=1,Nr
267            do j = 1-OLy,sNy+Oly            do j = 1,sNy
268            do i = 1-OLx,sNx+Olx            do i = 1,sNx
269             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)*
270         .         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
271       .                                * hFacW(i,j,K,bi,bj)       .                                * hFacW(i,j,K,bi,bj)
272            enddo            enddo
273            enddo            enddo
274           enddo           enddo
275          enddo          enddo
276          enddo          enddo
277          call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)
278    
279          do bj = myByLo(myThid), myByHi(myThid)          do bj = myByLo(myThid), myByHi(myThid)
280          do bi = myBxLo(myThid), myBxHi(myThid)          do bi = myBxLo(myThid), myBxHi(myThid)
281           do K=1,Nr           do K=1,Nr
282            do j = 1-OLy,sNy+Oly            do j = 1,sNy
283            do i = 1-OLx,sNx+Olx            do i = 1,sNx
284             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)*
285         .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
286       .                                * hFacW(i,j,K,bi,bj)       .                                * hFacW(i,j,K,bi,bj)
287            enddo            enddo
288            enddo            enddo
289           enddo           enddo
290          enddo          enddo
291          enddo          enddo
292          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,salt)          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)
293    
        endif  
 #endif  
294    
295        return        return
296        end        end

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

  ViewVC Help
Powered by ViewVC 1.1.22