--- MITgcm/model/src/dynamics.F 2010/05/14 23:21:02 1.146 +++ MITgcm/model/src/dynamics.F 2010/11/18 00:57:24 1.153 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/dynamics.F,v 1.146 2010/05/14 23:21:02 jmc Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/dynamics.F,v 1.153 2010/11/18 00:57:24 jmc Exp $ C $Name: $ #include "PACKAGES_CONFIG.h" @@ -247,8 +247,7 @@ CEOP #ifdef ALLOW_DEBUG - IF ( debugLevel .GE. debLevB ) - & CALL DEBUG_ENTER( 'DYNAMICS', myThid ) + IF (debugMode) CALL DEBUG_ENTER( 'DYNAMICS', myThid ) #endif #ifdef ALLOW_DIAGNOSTICS @@ -334,7 +333,7 @@ gvDissip(i,j) = 0. _d 0 #ifdef ALLOW_AUTODIFF_TAMC phiHydLow(i,j,bi,bj) = 0. _d 0 -# ifdef NONLIN_FRSURF +# if (defined NONLIN_FRSURF) && (defined ALLOW_MOM_FLUXFORM) # ifndef DISABLE_RSTAR_CODE dWtransC(i,j,bi,bj) = 0. _d 0 dWtransU(i,j,bi,bj) = 0. _d 0 @@ -352,7 +351,7 @@ jMax = sNy+1 #ifdef ALLOW_AUTODIFF_TAMC -CADJ STORE wvel (:,:,:,bi,bj) = +CADJ STORE wvel (:,:,:,bi,bj) = CADJ & comlev1_bibj, key=idynkey, byte=isbyte #endif /* ALLOW_AUTODIFF_TAMC */ @@ -370,7 +369,7 @@ CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=idynkey, byte=isbyte #ifdef ALLOW_KPP -CADJ STORE KPPviscAz (:,:,:,bi,bj) +CADJ STORE KPPviscAz (:,:,:,bi,bj) CADJ & = comlev1_bibj, key=idynkey, byte=isbyte #endif /* ALLOW_KPP */ #endif /* ALLOW_AUTODIFF_TAMC */ @@ -393,9 +392,9 @@ #endif #ifdef ALLOW_AUTODIFF_TAMC -CADJ STORE KappaRU(:,:,:) +CADJ STORE KappaRU(:,:,:) CADJ & = comlev1_bibj, key=idynkey, byte=isbyte -CADJ STORE KappaRV(:,:,:) +CADJ STORE KappaRV(:,:,:) CADJ & = comlev1_bibj, key=idynkey, byte=isbyte #endif /* ALLOW_AUTODIFF_TAMC */ @@ -414,55 +413,66 @@ #ifdef ALLOW_AUTODIFF_TAMC kkey = (idynkey-1)*Nr + k c -CADJ STORE totphihyd (:,:,k,bi,bj) +CADJ STORE totphihyd (:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte CADJ STORE phihydlow (:,:,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE theta (:,:,k,bi,bj) +CADJ STORE theta (:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE salt (:,:,k,bi,bj) +CADJ STORE salt (:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gt(:,:,k,bi,bj) +CADJ STORE gt(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gs(:,:,k,bi,bj) +CADJ STORE gs(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte # ifdef NONLIN_FRSURF cph-test -CADJ STORE phiHydC (:,:) +CADJ STORE phiHydC (:,:) +CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte +CADJ STORE phiHydF (:,:) +CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte +CADJ STORE gudissip (:,:) +CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte +CADJ STORE gvdissip (:,:) +CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte +CADJ STORE fVerU (:,:,:) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE phiHydF (:,:) +CADJ STORE fVerV (:,:,:) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gudissip (:,:) +CADJ STORE gu(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gvdissip (:,:) +CADJ STORE gv(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE fVerU (:,:,:) +# ifndef ALLOW_ADAMSBASHFORTH_3 +CADJ STORE gunm1(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE fVerV (:,:,:) +CADJ STORE gvnm1(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gu(:,:,k,bi,bj) +# else +CADJ STORE gunm(:,:,k,bi,bj,1) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gv(:,:,k,bi,bj) +CADJ STORE gunm(:,:,k,bi,bj,2) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gunm1(:,:,k,bi,bj) +CADJ STORE gvnm(:,:,k,bi,bj,1) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE gvnm1(:,:,k,bi,bj) +CADJ STORE gvnm(:,:,k,bi,bj,2) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte +# endif # ifdef ALLOW_CD_CODE -CADJ STORE unm1(:,:,k,bi,bj) +CADJ STORE unm1(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE vnm1(:,:,k,bi,bj) +CADJ STORE vnm1(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE uVelD(:,:,k,bi,bj) +CADJ STORE uVelD(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE vVelD(:,:,k,bi,bj) +CADJ STORE vVelD(:,:,k,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte # endif # endif # ifdef ALLOW_DEPTH_CONTROL -CADJ STORE fVerU (:,:,:) +CADJ STORE fVerU (:,:,:) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE fVerV (:,:,:) +CADJ STORE fVerV (:,:,:) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte # endif #endif /* ALLOW_AUTODIFF_TAMC */ @@ -498,13 +508,13 @@ C and step forward storing the result in gU, gV, etc... IF ( momStepping ) THEN #ifdef ALLOW_AUTODIFF_TAMC -# ifdef NONLIN_FRSURF +# if (defined NONLIN_FRSURF) && (defined ALLOW_MOM_FLUXFORM) # ifndef DISABLE_RSTAR_CODE -CADJ STORE dWtransC(:,:,bi,bj) +CADJ STORE dWtransC(:,:,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE dWtransU(:,:,bi,bj) +CADJ STORE dWtransU(:,:,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE dWtransV(:,:,bi,bj) +CADJ STORE dWtransV(:,:,bi,bj) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte # endif # endif @@ -524,9 +534,9 @@ C # ifdef ALLOW_AUTODIFF_TAMC # ifdef NONLIN_FRSURF -CADJ STORE fVerU(:,:,:) +CADJ STORE fVerU(:,:,:) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte -CADJ STORE fVerV(:,:,:) +CADJ STORE fVerV(:,:,:) CADJ & = comlev1_bibj_k, key=kkey, byte=isbyte # endif # endif /* ALLOW_AUTODIFF_TAMC */ @@ -548,19 +558,19 @@ #ifdef ALLOW_OBCS C-- Apply open boundary conditions - IF (useOBCS) THEN - CALL OBCS_APPLY_UV( bi, bj, k, gU, gV, myThid ) - ENDIF +c IF (useOBCS) THEN +c CALL OBCS_APPLY_UV( bi, bj, k, gU, gV, myThid ) +c ENDIF #endif /* ALLOW_OBCS */ ENDIF - C-- end of dynamics k loop (1:Nr) ENDDO C-- Implicit Vertical advection & viscosity -#if (defined (INCLUDE_IMPLVERTADV_CODE) && defined (ALLOW_MOM_COMMON)) +#if (defined (INCLUDE_IMPLVERTADV_CODE) && \ + defined (ALLOW_MOM_COMMON) && !(defined ALLOW_AUTODIFF_TAMC)) IF ( momImplVertAdv ) THEN CALL MOM_U_IMPLICIT_R( kappaRU, I bi, bj, myTime, myIter, myThid ) @@ -592,10 +602,12 @@ #ifdef ALLOW_OBCS C-- Apply open boundary conditions - IF ( useOBCS .AND.(implicitViscosity.OR.momImplVertAdv) ) THEN - DO K=1,Nr - CALL OBCS_APPLY_UV( bi, bj, k, gU, gV, myThid ) - ENDDO +c IF ( useOBCS .AND.(implicitViscosity.OR.momImplVertAdv) ) THEN +c DO K=1,Nr +c CALL OBCS_APPLY_UV( bi, bj, k, gU, gV, myThid ) +c ENDDO + IF ( useOBCS ) THEN + CALL OBCS_APPLY_UV( bi, bj, 0, gU, gV, myThid ) ENDIF #endif /* ALLOW_OBCS */ @@ -627,8 +639,7 @@ C-- Step forward W field in N-H algorithm IF ( nonHydrostatic ) THEN #ifdef ALLOW_DEBUG - IF ( debugLevel .GE. debLevB ) - & CALL DEBUG_CALL('CALC_GW', myThid ) + IF (debugMode) CALL DEBUG_CALL('CALC_GW', myThid ) #endif CALL TIMER_START('CALC_GW [DYNAMICS]',myThid) CALL CALC_GW( @@ -678,7 +689,7 @@ #endif /* ALLOW_DIAGNOSTICS */ #ifdef ALLOW_DEBUG - If ( debugLevel .GE. debLevB ) THEN + IF ( debugLevel .GE. debLevB ) THEN CALL DEBUG_STATS_RL(1,EtaN,'EtaN (DYNAMICS)',myThid) CALL DEBUG_STATS_RL(Nr,uVel,'Uvel (DYNAMICS)',myThid) CALL DEBUG_STATS_RL(Nr,vVel,'Vvel (DYNAMICS)',myThid) @@ -708,8 +719,7 @@ #endif #ifdef ALLOW_DEBUG - IF ( debugLevel .GE. debLevB ) - & CALL DEBUG_LEAVE( 'DYNAMICS', myThid ) + IF (debugMode) CALL DEBUG_LEAVE( 'DYNAMICS', myThid ) #endif RETURN