--- MITgcm/model/src/dynamics.F 1998/06/15 05:13:56 1.19 +++ MITgcm/model/src/dynamics.F 1998/06/22 15:26:25 1.21 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/dynamics.F,v 1.19 1998/06/15 05:13:56 cnh Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/dynamics.F,v 1.21 1998/06/22 15:26:25 adcroft Exp $ #include "CPP_EEOPTIONS.h" @@ -223,7 +223,13 @@ C-- Update fields in top level according to tendency terms CALL CORRECTION_STEP( - I bi,bj,iMin,iMax,jMin,jMax,K,pSurfX,pSurfY,myThid) + I bi,bj,iMin,iMax,jMin,jMax,K,pSurfX,pSurfY,myTime,myThid) + + IF ( .NOT. BOTTOM_LAYER ) THEN +C-- Update fields in layer below according to tendency terms + CALL CORRECTION_STEP( + I bi,bj,iMin,iMax,jMin,jMax,K+1,pSurfX,pSurfY,myTime,myThid) + ENDIF C-- Density of 1st level (below W(1)) reference to level 1 CALL FIND_RHO( @@ -258,9 +264,15 @@ BOTTOM_LAYER = K .EQ. Nz -C-- Update fields in Kth level according to tendency terms - CALL CORRECTION_STEP( - I bi,bj,iMin,iMax,jMin,jMax,K,pSurfX,pSurfY,myThid) + IF ( .NOT. BOTTOM_LAYER ) THEN +C-- Update fields in layer below according to tendency terms + CALL CORRECTION_STEP( + I bi,bj,iMin,iMax,jMin,jMax,K+1,pSurfX,pSurfY,myTime,myThid) + ENDIF +C-- Update fields in layer below according to tendency terms +C CALL CORRECTION_STEP( +C I bi,bj,iMin,iMax,jMin,jMax,K,pSurfX,pSurfY,myTime,myThid) + C-- Density of K level (below W(K)) reference to K level CALL FIND_RHO( I bi, bj, iMin, iMax, jMin, jMax, K, K, eosType, @@ -343,7 +355,7 @@ IF ( tempStepping ) THEN CALL CALC_GT( I bi,bj,iMin,iMax,jMin,jMax, k,kM1,kUp,kDown, - I xA,yA,uTrans,vTrans,wTrans,maskUp, + I xA,yA,uTrans,vTrans,wTrans,maskUp,maskC, I K13,K23,KappaZT,KapGM, U aTerm,xTerm,fZon,fMer,fVerT, I myThid) @@ -351,7 +363,7 @@ IF ( saltStepping ) THEN CALL CALC_GS( I bi,bj,iMin,iMax,jMin,jMax, k,kM1,kUp,kDown, - I xA,yA,uTrans,vTrans,wTrans,maskUp, + I xA,yA,uTrans,vTrans,wTrans,maskUp,maskC, I K13,K23,KappaZS,KapGM, U aTerm,xTerm,fZon,fMer,fVerS, I myThid) @@ -382,16 +394,16 @@ C write(0,*) 'dynamics: pS ',minval(cg2d_x(1:sNx,1:sNy,:,:)), C & maxval(cg2d_x(1:sNx,1:sNy,:,:)) - write(0,*) 'dynamics: U ',minval(uVel(1:sNx,1:sNy,1,:,:),mask=uVel(1:sNx,1:sNy,1,:,:).NE.0.), - & maxval(uVel(1:sNx,1:sNy,1,:,:)) - write(0,*) 'dynamics: V ',minval(vVel(1:sNx,1:sNy,1,:,:),mask=vVel(1:sNx,1:sNy,1,:,:).NE.0.), - & maxval(vVel(1:sNx,1:sNy,1,:,:)) - write(0,*) 'dynamics: wVel(1) ', - & minval(wVel(1:sNx,1:sNy,1),mask=wVel(1:sNx,1:sNy,1).NE.0.), - & maxval(wVel(1:sNx,1:sNy,1)) - write(0,*) 'dynamics: wVel(2) ', - & minval(wVel(1:sNx,1:sNy,2),mask=wVel(1:sNx,1:sNy,2).NE.0.), - & maxval(wVel(1:sNx,1:sNy,2)) +C write(0,*) 'dynamics: U ',minval(uVel(1:sNx,1:sNy,1,:,:),mask=uVel(1:sNx,1:sNy,1,:,:).NE.0.), +C & maxval(uVel(1:sNx,1:sNy,1,:,:),mask=uVel(1:sNx,1:sNy,1,:,:).NE.0.) +C write(0,*) 'dynamics: V ',minval(vVel(1:sNx,1:sNy,1,:,:),mask=vVel(1:sNx,1:sNy,1,:,:).NE.0.), +C & maxval(vVel(1:sNx,1:sNy,1,:,:),mask=vVel(1:sNx,1:sNy,1,:,:).NE.0.) +C write(0,*) 'dynamics: wVel(1) ', +C & minval(wVel(1:sNx,1:sNy,1),mask=wVel(1:sNx,1:sNy,1).NE.0.), +C & maxval(wVel(1:sNx,1:sNy,1),mask=wVel(1:sNx,1:sNy,1).NE.0.) +C write(0,*) 'dynamics: wVel(2) ', +C & minval(wVel(1:sNx,1:sNy,2),mask=wVel(1:sNx,1:sNy,2).NE.0.), +C & maxval(wVel(1:sNx,1:sNy,2),mask=wVel(1:sNx,1:sNy,2).NE.0.) cblk write(0,*) 'dynamics: K13',minval(K13(1:sNx,1:sNy,:)), cblk & maxval(K13(1:sNx,1:sNy,:)) cblk write(0,*) 'dynamics: K23',minval(K23(1:sNx,1:sNy,:)), @@ -406,8 +418,8 @@ C & maxval(gS(1:sNx,1:sNy,:,:,:)) C write(0,*) 'dynamics: S ',minval(salt(1:sNx,1:sNy,:,:,:)), C & maxval(salt(1:sNx,1:sNy,:,:,:)) - write(0,*) 'dynamics: pH ',minval(pH/(Gravity*Rhonil),mask=ph.NE.0.), - & maxval(pH/(Gravity*Rhonil)) +C write(0,*) 'dynamics: pH ',minval(pH/(Gravity*Rhonil),mask=ph.NE.0.), +C & maxval(pH/(Gravity*Rhonil)) RETURN END