/[MITgcm]/MITgcm/pkg/fizhi/step_fizhi_corr.F
ViewVC logotype

Diff of /MITgcm/pkg/fizhi/step_fizhi_corr.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.6 by molod, Mon Jun 7 18:11:37 2004 UTC revision 1.7 by molod, Mon Jun 14 20:34:50 2004 UTC
# Line 43  c pe on dynamics and physics grid refers Line 43  c pe on dynamics and physics grid refers
43         _RL vphytemp(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys,nSx,nSy)         _RL vphytemp(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys,nSx,nSy)
44         _RL thphytemp(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys,nSx,nSy)         _RL thphytemp(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys,nSx,nSy)
45         _RL sphytemp(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys,nSx,nSy)         _RL sphytemp(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys,nSx,nSy)
46           _RL tempphy(1-Olx:sNx+Olx,1-Oly:sNy+Oly,Nrphys,nSx,nSy)
47    
48         integer i, j, L, Lbotij, bi, bj         integer i, j, L, Lbotij, bi, bj
49         integer im1, im2, jm1, jm2, idim1, idim2, jdim1, jdim2         integer im1, im2, jm1, jm2, idim1, idim2, jdim1, jdim2
# Line 119  c Create a wind magnitude field on the p Line 120  c Create a wind magnitude field on the p
120    
121  c Compute correction term (new dyn state-phys state to dyn) on physics grid:  c Compute correction term (new dyn state-phys state to dyn) on physics grid:
122  c    First: interp physics state to dynamics grid  c    First: interp physics state to dynamics grid
123          call phys2dyn(uphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,  C Note: physics field levels are numbered top down - need bottom up
124            do L = 1,Nrphys
125            do j = 1,sNy
126            do i = 1,sNx
127             tempphy(i,j,Nrphys+1-L,bi,bj) = uphy(i,j,L,bi,bj)
128            enddo
129            enddo
130            enddo
131            call phys2dyn(tempphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,
132       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,udyntemp)       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,udyntemp)
133          call phys2dyn(vphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,          do L = 1,Nrphys
134            do j = 1,sNy
135            do i = 1,sNx
136             tempphy(i,j,Nrphys+1-L,bi,bj) = vphy(i,j,L,bi,bj)
137            enddo
138            enddo
139            enddo
140            call phys2dyn(tempphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,
141       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,vdyntemp)       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,vdyntemp)
142          call phys2dyn(thphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,          do L = 1,Nrphys
143            do j = 1,sNy
144            do i = 1,sNx
145             tempphy(i,j,Nrphys+1-L,bi,bj) = thphy(i,j,L,bi,bj)
146            enddo
147            enddo
148            enddo
149            call phys2dyn(tempphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,
150       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,thdyntemp)       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,thdyntemp)
151          call phys2dyn(sphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,          do L = 1,Nrphys
152            do j = 1,sNy
153            do i = 1,sNx
154             tempphy(i,j,Nrphys+1-L,bi,bj) = sphy(i,j,L,bi,bj)
155            enddo
156            enddo
157            enddo
158            call phys2dyn(tempphy,pephy,im1,im2,jm1,jm2,Nrphys,Nsx,Nsy,
159       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,sdyntemp)       .        1,sNx,1,sNy,bi,bj,pedyn,ksurfC,Nr,nlperdyn,sdyntemp)
160    
161         enddo         enddo
# Line 169  c    Fifth: Interpolate correction terms Line 199  c    Fifth: Interpolate correction terms
199         do bi = myBxLo(myThid), myBxHi(myThid)         do bi = myBxLo(myThid), myBxHi(myThid)
200    
201          call dyn2phys(udyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,          call dyn2phys(udyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,
202       .      1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,1,uphytemp)       .      1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,1,tempphy)
203    C Note: correction term is now bottom up - needed in top down arrays
204            do L = 1,Nrphys
205            do j = 1,sNy
206            do i = 1,sNx
207             uphytemp(i,j,Nrphys+1-L,bi,bj) = tempphy(i,j,L,bi,bj)
208            enddo
209            enddo
210            enddo
211          call dyn2phys(vdyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,          call dyn2phys(vdyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,
212       .      1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,1,vphytemp)       .      1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,1,tempphy)
213            do L = 1,Nrphys
214            do j = 1,sNy
215            do i = 1,sNx
216             vphytemp(i,j,Nrphys+1-L,bi,bj) = tempphy(i,j,L,bi,bj)
217            enddo
218            enddo
219            enddo
220          call dyn2phys(thdyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,          call dyn2phys(thdyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,
221       .     1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,0,thphytemp)       .     1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,0,tempphy)
222            do L = 1,Nrphys
223            do j = 1,sNy
224            do i = 1,sNx
225             thphytemp(i,j,Nrphys+1-L,bi,bj) = tempphy(i,j,L,bi,bj)
226            enddo
227            enddo
228            enddo
229          call dyn2phys(sdyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,          call dyn2phys(sdyntemp,pedyn,im1,im2,jm1,jm2,Nr,Nsx,Nsy,1,sNx,
230       .      1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,0,sphytemp)       .      1,sNy,bi,bj,windphy,pephy,ksurfC,Nrphys,nlperdyn,0,tempphy)
231            do L = 1,Nrphys
232            do j = 1,sNy
233            do i = 1,sNx
234             sphytemp(i,j,Nrphys+1-L,bi,bj) = tempphy(i,j,L,bi,bj)
235            enddo
236            enddo
237            enddo
238         enddo         enddo
239         enddo         enddo
240         CALL TIMER_STOP('DYN2PHYS          [STEP_FIZHI_CORR]',mythid)         CALL TIMER_STOP('DYN2PHYS          [STEP_FIZHI_CORR]',mythid)

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

  ViewVC Help
Powered by ViewVC 1.1.22