/[MITgcm]/MITgcm_contrib/gael/pkg/smooth/smooth_init3D.F
ViewVC logotype

Diff of /MITgcm_contrib/gael/pkg/smooth/smooth_init3D.F

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

revision 1.1 by gforget, Tue Jun 19 18:23:18 2007 UTC revision 1.2 by gforget, Fri Oct 16 03:36:34 2009 UTC
# Line 71  c here fill the wc01_3D_Lz array Line 71  c here fill the wc01_3D_Lz array
71       &    'wc01_3DscalesZ',smoothOpNbCur       &    'wc01_3DscalesZ',smoothOpNbCur
72        call mdsreadfield(fnamegeneric,64,'RL',nR,        call mdsreadfield(fnamegeneric,64,'RL',nR,
73       & wc01_3D_Lz,1,mythid)       & wc01_3D_Lz,1,mythid)
74        _EXCH_XYZ_R8( wc01_3D_Lz, mythid )        _EXCH_XYZ_RL( wc01_3D_Lz, mythid )
75        else        else
76        DO bj=jtlo,jthi        DO bj=jtlo,jthi
77         DO bi=itlo,ithi         DO bi=itlo,ithi
# Line 122  c begin: to restrain the Kz based on gri Line 122  c begin: to restrain the Kz based on gri
122        endif        endif
123  c end: to restrain the Kz based on grid cells  c end: to restrain the Kz based on grid cells
124    
125        _EXCH_XYZ_R8( kappaRwc01,    myThid )        _EXCH_XYZ_RL( kappaRwc01,    myThid )
126    
127  c horizontal/isopycnal operator:  c horizontal/isopycnal operator:
128    
# Line 152  c isopycnal operator: Line 152  c isopycnal operator:
152       & wc01theta,1,mythid)       & wc01theta,1,mythid)
153        call mdsreadfield(fnamegeneric,64,'RL',nR,        call mdsreadfield(fnamegeneric,64,'RL',nR,
154       & wc01salt,2,mythid)       & wc01salt,2,mythid)
155        _EXCH_XYZ_R8( wc01theta, mythid )        _EXCH_XYZ_RL( wc01theta, mythid )
156        _EXCH_XYZ_R8( wc01salt, mythid )        _EXCH_XYZ_RL( wc01salt, mythid )
157    
158        if (smooth3DsizeH(smoothOpNbCur).EQ.3) then        if (smooth3DsizeH(smoothOpNbCur).EQ.3) then
159        call mdsreadfield(fnamegeneric,64,'RL',nR,        call mdsreadfield(fnamegeneric,64,'RL',nR,
160       & wc01_3D_Lx,3,mythid)       & wc01_3D_Lx,3,mythid)
161        _EXCH_XYZ_R8( wc01_3D_Lx, mythid )        _EXCH_XYZ_RL( wc01_3D_Lx, mythid )
162        else        else
163        DO bj=jtlo,jthi        DO bj=jtlo,jthi
164         DO bi=itlo,ithi         DO bi=itlo,ithi
# Line 187  c here wc01_3D_Lx contains K divided by Line 187  c here wc01_3D_Lx contains K divided by
187         ENDDO         ENDDO
188        ENDDO        ENDDO
189    
190        _EXCH_XYZ_R8( wc01_3D_Lx, mythid )        _EXCH_XYZ_RL( wc01_3D_Lx, mythid )
191    
192          iMin = 1-OLx          iMin = 1-OLx
193          iMax = sNx+OLx          iMax = sNx+OLx
# Line 197  c here wc01_3D_Lx contains K divided by Line 197  c here wc01_3D_Lx contains K divided by
197        DO bj=jtlo,jthi        DO bj=jtlo,jthi
198         DO bi=itlo,ithi         DO bi=itlo,ithi
199          DO k=Nr,1,-1          DO k=Nr,1,-1
200              CALL FIND_RHO(              CALL FIND_RHO_2D(
201       I        bi, bj, iMin, iMax, jMin, jMax, k, k,       I        iMin, iMax, jMin, jMax, k,
202       I        wc01theta, wc01salt,       I        wc01theta(1-OLx,1-OLy,k,bi,bj),
203         I        wc01salt(1-OLx,1-OLy,k,bi,bj),
204       O        rhoK(1-OLx,1-OLy,bi,bj),       O        rhoK(1-OLx,1-OLy,bi,bj),
205       I        myThid )       I        k, bi, bj, myThid )
206              IF (k.GT.1) THEN              IF (k.GT.1) THEN
207               CALL FIND_RHO(               CALL FIND_RHO_2D(
208       I        bi, bj, iMin, iMax, jMin, jMax, k-1, k,       I        iMin, iMax, jMin, jMax, k,
209       I        wc01theta, wc01salt,       I        wc01theta(1-OLx,1-OLy,k-1,bi,bj),
210         I        wc01salt(1-OLx,1-OLy,k-1,bi,bj),
211       O        rhoKm1(1-OLx,1-OLy,bi,bj),       O        rhoKm1(1-OLx,1-OLy,bi,bj),
212       I        myThid )       I        k-1, bi, bj, myThid )
213              ELSE              ELSE
214           DO j=1-OLy,sNy+OLy           DO j=1-OLy,sNy+OLy
215            DO i=1-OLx,sNx+OLx            DO i=1-OLx,sNx+OLx
# Line 234  cgf rk: GRAD_SIGMA ne calcule la derivee Line 236  cgf rk: GRAD_SIGMA ne calcule la derivee
236         ENDDO         ENDDO
237        ENDDO        ENDDO
238    
239        _EXCH_XYZ_R8( sigmaX, myThid )        _EXCH_XYZ_RL( sigmaX, myThid )
240        _EXCH_XYZ_R8( sigmaY, myThid )        _EXCH_XYZ_RL( sigmaY, myThid )
241        _EXCH_XYZ_R8( sigmaR, myThid )        _EXCH_XYZ_RL( sigmaR, myThid )
242    
243        DO bj=jtlo,jthi        DO bj=jtlo,jthi
244         DO bi=itlo,ithi         DO bi=itlo,ithi
# Line 325  c hoizontal operator: Line 327  c hoizontal operator:
327       & wc01_3D_Lx,1,mythid)       & wc01_3D_Lx,1,mythid)
328        call mdsreadfield(fnamegeneric,64,'RL',nR,        call mdsreadfield(fnamegeneric,64,'RL',nR,
329       & wc01_3D_Ly,2,mythid)       & wc01_3D_Ly,2,mythid)
330        _EXCH_XYZ_R8( wc01_3D_Lx, mythid )        _EXCH_XYZ_RL( wc01_3D_Lx, mythid )
331        _EXCH_XYZ_R8( wc01_3D_Ly, mythid )        _EXCH_XYZ_RL( wc01_3D_Ly, mythid )
332        else        else
333        DO bj=jtlo,jthi        DO bj=jtlo,jthi
334         DO bi=itlo,ithi         DO bi=itlo,ithi
# Line 377  c along rotated axes Line 379  c along rotated axes
379          call mdsreadfield(fnamegeneric,64,'RL',nR,          call mdsreadfield(fnamegeneric,64,'RL',nR,
380       &  wc01theta,1,mythid)       &  wc01theta,1,mythid)
381        endif        endif
382        _EXCH_XYZ_R8( wc01theta, mythid )        _EXCH_XYZ_RL( wc01theta, mythid )
383    
384          iMin = 1-OLx          iMin = 1-OLx
385          iMax = sNx+OLx          iMax = sNx+OLx
# Line 402  c compute the gradients from the "direct Line 404  c compute the gradients from the "direct
404          ENDDO          ENDDO
405         ENDDO         ENDDO
406        ENDDO        ENDDO
407        _EXCH_XYZ_R8( sigmaX, myThid )        _EXCH_XYZ_RL( sigmaX, myThid )
408        _EXCH_XYZ_R8( sigmaY, myThid )        _EXCH_XYZ_RL( sigmaY, myThid )
409        _EXCH_XYZ_R8( sigmaR, myThid )        _EXCH_XYZ_RL( sigmaR, myThid )
410    
411        call mdswritefield(fnamegeneric,64,.false.,'RL',        call mdswritefield(fnamegeneric,64,.false.,'RL',
412       & nR,sigmaX,1,1,mythid)       & nR,sigmaX,1,1,mythid)
# Line 477  c      rk: it is important that the missing Line 479  c      rk: it is important that the missing
479         ENDDO         ENDDO
480        ENDDO        ENDDO
481    
482  c      _EXCH_XYZ_R8( Kwz,    myThid )  c      _EXCH_XYZ_RL( Kwz,    myThid )
483  c      _EXCH_XYZ_R8( wc01salt,    myThid )  c      _EXCH_XYZ_RL( wc01salt,    myThid )
484    
485  c the computation/update of the saturation coeff  c the computation/update of the saturation coeff
486        DO bj=jtlo,jthi        DO bj=jtlo,jthi
# Line 513  c the computation/update of the saturati Line 515  c the computation/update of the saturati
515          ENDDO          ENDDO
516         ENDDO         ENDDO
517        ENDDO        ENDDO
518        _EXCH_XYZ_R8( wc01salt,    myThid )        _EXCH_XYZ_RL( wc01salt,    myThid )
519        ENDDO !      DO kk=1,2        ENDDO !      DO kk=1,2
520    
521        call mdswritefield(fnamegeneric,64,.false.,'RL',        call mdswritefield(fnamegeneric,64,.false.,'RL',
# Line 615  c      ENDDO Line 617  c      ENDDO
617    
618  c finalize the set sup:  c finalize the set sup:
619    
620        _EXCH_XYZ_R8( kappaRwc01,    myThid )        _EXCH_XYZ_RL( kappaRwc01,    myThid )
621    
622        _EXCH_XYZ_R8( Kwx,    myThid )        _EXCH_XYZ_RL( Kwx,    myThid )
623        _EXCH_XYZ_R8( Kwy,    myThid )        _EXCH_XYZ_RL( Kwy,    myThid )
624        _EXCH_XYZ_R8( Kwz,    myThid )        _EXCH_XYZ_RL( Kwz,    myThid )
625        _EXCH_XYZ_R8( Kux,    myThid )        _EXCH_XYZ_RL( Kux,    myThid )
626        _EXCH_XYZ_R8( Kvy,    myThid )        _EXCH_XYZ_RL( Kvy,    myThid )
627        _EXCH_XYZ_R8( Kuz,    myThid )        _EXCH_XYZ_RL( Kuz,    myThid )
628        _EXCH_XYZ_R8( Kvz,    myThid )        _EXCH_XYZ_RL( Kvz,    myThid )
629    
630        DO bj=jtlo,jthi        DO bj=jtlo,jthi
631         DO bi=itlo,ithi         DO bi=itlo,ithi

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

  ViewVC Help
Powered by ViewVC 1.1.22