/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_interp_vert.F
ViewVC logotype

Diff of /MITgcm/pkg/diagnostics/diagnostics_interp_vert.F

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

revision 1.1 by jmc, Thu Aug 25 21:54:54 2005 UTC revision 1.2 by molod, Tue Oct 25 16:11:20 2005 UTC
# Line 66  C     i,j,k :: loop indices Line 66  C     i,j,k :: loop indices
66        _RL qtmp2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+Nrphys,nSx,nSy)        _RL qtmp2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr+Nrphys,nSx,nSy)
67        _RL getcon        _RL getcon
68        EXTERNAL getcon        EXTERNAL getcon
69        integer nplevs        integer nplevs1, nplevs2, nplevs3
70        parameter(nplevs = 16)        parameter(nplevs1 = 16)
71        _RL plevs1(nplevs)        parameter(nplevs2 = 16)
72          parameter(nplevs3 = 17)
73          _RL plevs1(nplevs1)
74        data plevs1/ 1000.0 _d 2, 925.0 _d 2, 850.0 _d 2, 700.0 _d 2,        data plevs1/ 1000.0 _d 2, 925.0 _d 2, 850.0 _d 2, 700.0 _d 2,
75       .              600.0 _d 2, 500.0 _d 2, 400.0 _d 2, 300.0 _d 2,       .              600.0 _d 2, 500.0 _d 2, 400.0 _d 2, 300.0 _d 2,
76       .              250.0 _d 2, 200.0 _d 2, 150.0 _d 2, 100.0 _d 2,       .              250.0 _d 2, 200.0 _d 2, 150.0 _d 2, 100.0 _d 2,
77       .               70.0 _d 2,  50.0 _d 2,  30.0 _d 2,  20.0 _d 2/       .               70.0 _d 2,  50.0 _d 2,  30.0 _d 2,  20.0 _d 2/
78        _RL plevs2(nplevs)        _RL plevs2(nplevs2)
79        data plevs2/ 1000.0 _d 2, 950.0 _d 2, 900.0 _d 2, 850.0 _d 2,        data plevs2/ 1000.0 _d 2, 950.0 _d 2, 900.0 _d 2, 850.0 _d 2,
80       .              800.0 _d 2, 750.0 _d 2, 700.0 _d 2, 600.0 _d 2,       .              800.0 _d 2, 750.0 _d 2, 700.0 _d 2, 600.0 _d 2,
81       .              500.0 _d 2, 400.0 _d 2, 300.0 _d 2, 250.0 _d 2,       .              500.0 _d 2, 400.0 _d 2, 300.0 _d 2, 250.0 _d 2,
82       .              200.0 _d 2, 150.0 _d 2, 100.0 _d 2,  50.0 _d 2/       .              200.0 _d 2, 150.0 _d 2, 100.0 _d 2,  50.0 _d 2/
83        _RL qprs(sNx,sNy,nplevs)        _RL plevs3(nplevs3)
84          data plevs3/ 1000.0 _d 2, 925.0 _d 2, 850.0 _d 2, 700.0 _d 2,
85         .              600.0 _d 2, 500.0 _d 2, 400.0 _d 2, 300.0 _d 2,
86         .              250.0 _d 2, 200.0 _d 2, 150.0 _d 2, 100.0 _d 2,
87         .               70.0 _d 2,  50.0 _d 2,  30.0 _d 2,  20.0 _d 2,
88         .               10.0 _d 2/
89    C Use the biggest of nplevs 1-3 (or any others) for the size of qprs
90          _RL qprs(sNx,sNy,nplevs3)
91        _RL qinp(sNx,sNy,Nr+Nrphys)        _RL qinp(sNx,sNy,Nr+Nrphys)
92        _RL pkz(sNx,sNy,Nr+Nrphys)        _RL pkz(sNx,sNy,Nr+Nrphys)
93        _RL pksrf(sNx,sNy)        _RL pksrf(sNx,sNy)
# Line 111  C if fizhi is being  used, may need to g Line 120  C if fizhi is being  used, may need to g
120       .                                                           myThid)       .                                                           myThid)
121             endif             endif
122  #endif  #endif
123             if( jpoint1.ne.0 .and. jpoint2.ne.0) foundp = .true.             if( jpoint1.ne.0 .and. jpoint2.ne.0) then
124                foundp = .true.
125               else
126                foundp = .false.
127               endif
128    
129             if(.not. foundp) then             if(.not. foundp) then
130              WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_INTERP_VERT: ',              WRITE(msgBuf,'(3A)') 'DIAGNOSTICS_INTERP_VERT: ',
# Line 158  C If nonlinear free surf is off, get pre Line 171  C If nonlinear free surf is off, get pre
171            ENDDO            ENDDO
172  #endif  #endif
173  C Load p to the kappa into a temporary array  C Load p to the kappa into a temporary array
           nlevsout = nplevs  
174            DO bj = myByLo(myThid), myByHi(myThid)            DO bj = myByLo(myThid), myByHi(myThid)
175             DO bi = myBxLo(myThid), myBxHi(myThid)             DO bi = myBxLo(myThid), myBxHi(myThid)
176              DO j = 1,sNy              DO j = 1,sNy
# Line 180  C Load p to the kappa into a temporary a Line 192  C Load p to the kappa into a temporary a
192               ENDDO               ENDDO
193              ENDDO              ENDDO
194    
195              DO k = 1,nplevs              if(fflags(listId)(3:3).eq.'1') then
196               if(fflags(listId)(3:3).eq.'1') then               nlevsout = nplevs1
197                 DO k = 1,nplevs1
198                p = plevs1(k)                p = plevs1(k)
199               elseif(fflags(listId)(3:3).eq.'2')then                call prestopres(qprs(1,1,k),qinp,pkz,pksrf,0.,p,sNx,sNy,
200         .                                                 nlevels(listId) )
201                 ENDDO
202                elseif(fflags(listId)(3:3).eq.'2')then
203                 nlevsout = nplevs2
204                 DO k = 1,nplevs2
205                p = plevs2(k)                p = plevs2(k)
206               endif                call prestopres(qprs(1,1,k),qinp,pkz,pksrf,0.,p,sNx,sNy,
              call prestopres(qprs(1,1,k),qinp,pkz,pksrf,0.,p,sNx,sNy,  
207       .                                                 nlevels(listId) )       .                                                 nlevels(listId) )
208              ENDDO               ENDDO
209                elseif(fflags(listId)(3:3).eq.'3')then
210                 nlevsout = nplevs3
211                 DO k = 1,nplevs3
212                  p = plevs3(k)
213                  call prestopres(qprs(1,1,k),qinp,pkz,pksrf,0.,p,sNx,sNy,
214         .                                                 nlevels(listId) )
215                 ENDDO
216                endif
217    
218              DO j = 1,sNy              DO j = 1,sNy
219               DO i = 1,sNx               DO i = 1,sNx

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

  ViewVC Help
Powered by ViewVC 1.1.22