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 |
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 |
|
|
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 |
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 |
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 |
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 |
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 |
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 |
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) |
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 |
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', |
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 |