--- MITgcm/model/src/do_oceanic_phys.F 2007/11/24 15:44:52 1.59 +++ MITgcm/model/src/do_oceanic_phys.F 2008/04/22 15:18:00 1.62 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/do_oceanic_phys.F,v 1.59 2007/11/24 15:44:52 dimitri Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/model/src/do_oceanic_phys.F,v 1.62 2008/04/22 15:18:00 heimbach Exp $ C $Name: $ #include "PACKAGES_CONFIG.h" @@ -142,40 +142,48 @@ C term. Because this call precedes model thermodynamics, temperature C under sea-ice may not be "exactly" at the freezing point by the time C theta is dumped or time-averaged. +# ifndef ALLOW_ECCO_PRODUCTION IF ( useSEAICE ) THEN -#ifdef ALLOW_AUTODIFF_TAMC +# endif +# ifdef ALLOW_AUTODIFF_TAMC CADJ STORE atemp,aqh,precip = comlev1, key = ikey_dynamics CADJ STORE swdown,lwdown = comlev1, key = ikey_dynamics cph# ifdef EXF_READ_EVAP CADJ STORE evap = comlev1, key = ikey_dynamics cph# endif CADJ STORE uvel,vvel = comlev1, key = ikey_dynamics -# ifdef SEAICE_ALLOW_EVP +# ifdef SEAICE_ALLOW_DYNAMICS +CADJ STORE uice = comlev1, key = ikey_dynamics +CADJ STORE vice = comlev1, key = ikey_dynamics +# ifdef SEAICE_ALLOW_EVP CADJ STORE seaice_sigma1 = comlev1, key = ikey_dynamics CADJ STORE seaice_sigma2 = comlev1, key = ikey_dynamics CADJ STORE seaice_sigma12 = comlev1, key = ikey_dynamics -# endif -# ifdef SEAICE_SALINITY +# endif +# endif +# ifdef SEAICE_SALINITY CADJ STORE salt = comlev1, key = ikey_dynamics -# endif -# ifdef ATMOSPHERIC_LOADING +# endif +# ifdef ATMOSPHERIC_LOADING CADJ STORE siceload = comlev1, key = ikey_dynamics -# endif -# ifdef NONLIN_FRSURF +# endif +# ifdef NONLIN_FRSURF CADJ STORE recip_hfacc = comlev1, key = ikey_dynamics +# endif # endif -#endif -#ifdef ALLOW_DEBUG +# ifdef ALLOW_DEBUG IF ( debugLevel .GE. debLevB ) & CALL DEBUG_CALL('SEAICE_MODEL',myThid) -#endif +# endif CALL TIMER_START('SEAICE_MODEL [DO_OCEANIC_PHYS]', myThid) CALL SEAICE_MODEL( myTime, myIter, myThid ) CALL TIMER_STOP ('SEAICE_MODEL [DO_OCEANIC_PHYS]', myThid) -#ifdef ALLOW_COST +# ifdef ALLOW_COST CALL SEAICE_COST_SENSI ( myTime, myIter, myThid ) -#endif +# endif +# ifndef ALLOW_ECCO_PRODUCTION ENDIF +# endif #endif /* ALLOW_SEAICE */ #if (defined ALLOW_THSICE) && !(defined ALLOW_ATM2D) @@ -353,7 +361,7 @@ C-- Calculate gradients of potential density for isoneutral C slope terms (e.g. GM/Redi tensor or IVDC diffusivity) IF ( useGMRedi .OR. (k.GT.1 .AND. ivdc_kappa.NE.0.) - & .OR. usePLUME .OR. doDiagsRho.GE.1 ) THEN + & .OR. useSALT_PLUME .OR. doDiagsRho.GE.1 ) THEN #ifdef ALLOW_DEBUG IF ( debugLevel .GE. debLevB ) & CALL DEBUG_CALL('FIND_RHO',myThid) @@ -432,15 +440,18 @@ ENDIF #ifdef ALLOW_SALT_PLUME - CALL CALC_SALT_PLUME_DEPTH( rhoK, sigmaR, + IF ( useSALT_PLUME ) THEN + CALL SALT_PLUME_CALC_DEPTH( rhoK, sigmaR, & bi, bj, myTime, myIter, myThid ) -#endif + ENDIF +#endif /* ALLOW_SALT_PLUME */ + #ifdef ALLOW_DIAGNOSTICS IF ( doDiagsRho.GE.1 ) THEN CALL DIAGNOSTICS_FILL (sigmaR, 'DRHODR ', 0, Nr, & 2, bi, bj, myThid) ENDIF -#endif +#endif /* ALLOW_DIAGNOSTICS */ C-- Determines forcing terms based on external fields C relaxation terms, etc.