C $Header: /u/gcmpack/MITgcm/pkg/thsice/THSICE_PARAMS.h,v 1.17 2012/11/21 01:53:34 jmc Exp $ C $Name: $ #ifdef ALLOW_THSICE C *==========================================================* C | THSICE_PARAMS.h C | o Header file for Therm_SeaIce package parameters: C | - basic parameter ( I/O frequency, etc ...) C | - physical constants (used in therm_SeaIce pkg) C *==========================================================* C---------------------------------------------------------------------------- C.. Common blocks for almost everything that the sea ice model passes around. C---------------------------------------------------------------------------- C-- COMMON / THSICE_PHYSPAR_R / physical (real) parameter C.. densities C rhos :: density of snow [kg/m^3] C rhoi :: density of ice [kg/m^3] C rhosw :: density of seawater [kg/m^3] C rhofw :: density of fresh water [kg/m^3] C floodFac :: flooding factor = (rhosw-rhoi)/rhos [dimensionless] C.. specific heats C cpIce :: specific heat of fresh ice [J/kg/K] C cpWater :: specific heat of water [J/kg/K] C .. thermal conductivity. QQ check units C kIce :: thermal conductivity of pure ice [W/m/K] C kSnow :: thermal conductivity of snow [W/m/K] C .. heat transfer coefficient C bMeltCoef :: base-melting heat transfer coefficient C (between ice & water) [no unit] C .. latent heat C Lfresh :: latent heat of melting of pure ice [J/kg] C .. Enthalpy C qsnow :: snow enthalpy [J/kg] C .. Albedo C albColdSnow :: albedo of cold (=dry) new snow (Tsfc < tempSnowAlb) C albWarmSnow :: albedo of warm (=wet) new snow (Tsfc = 0) C tempSnowAlb :: temperature transition from ColdSnow to WarmSnow Alb. [oC] C albOldSnow :: albedo of old snow (snowAge > 35.d) C albIceMax :: max albedo of bare ice (thick ice) C albIceMin :: minimum ice albedo (very thin ice) C hAlbIce :: ice thickness for albedo transition: thin/thick ice albedo C hAlbSnow :: snow thickness for albedo transition: snow/ice albedo C hNewSnowAge :: new snow thickness that refresh the snow-age (by 1/e) C snowAgTime :: snow aging time scale [s] C .. Solar parameters C i0swFrac :: fraction of penetrating solar rad C ksolar :: bulk solar abs coeff of sea ice [m^-1] C dhSnowLin :: half slope of linear distribution of snow thickness within C the grid-cell (from hSnow-dhSnow to hSnow+dhSnow, if full C ice & snow cover) [m] ; (only used for SW radiation). C .. Salinity C saltIce :: salinity of ice [g/kg] C S_winton :: Winton salinity of ice [g/kg] C .. melting C Tf0kel :: Freezing temp of fresh water in Kelvin = 273.15 C mu_Tf :: linear dependance of melting temperature on Salinity [oC/psu] C Tf(sea-water) = -mu_Tf * S C Tmlt1 :: Winton melting temperature: Tmlt1 = -mu_Tf * S_winton C Terrmax :: Temperature convergence criteria [oC] C .. Min/Max C hIceMin :: Minimum ice thickness [m] C hiMax :: Maximum ice thickness [m] C hsMax :: Maximum snow thickness [m] C .. for fractional ice C iceMaskMax :: maximum Ice fraction (=1 for no fractional ice) C iceMaskMin :: mimimum Ice fraction (=1 for no fractional ice) C fracEnFreez :: fraction of energy going to lateral freezing (vs height increase) C fracEnMelt :: fraction of energy going to lateral melting (vs height decrease) C (=0 for no fract. ice) C hThinIce :: ice height above which fracEnMelt/Freez are applied [m] C (=hIceMin for no fractional ice) C hThickIce :: ice height below which fracEnMelt/Freez are applied [m] C (=large for no fractional ice) C hNewIceMax :: new ice maximum thickness [m] C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| COMMON / THSICE_PHYSPAR_R / & rhos, rhoi, rhosw, rhofw, floodFac, & cpIce, cpWater, & kIce, kSnow, & bMeltCoef, Lfresh, qsnow, & albColdSnow, albWarmSnow, tempSnowAlb, & albOldSnow, hNewSnowAge, snowAgTime, & albIceMax, albIceMin, hAlbIce, hAlbSnow, & i0swFrac, ksolar, dhSnowLin, & saltIce, S_winton, mu_Tf, & Tf0kel, Tmlt1, Terrmax, & hIceMin, hiMax, hsMax, & iceMaskMax, iceMaskMin, & fracEnMelt, fracEnFreez, & hThinIce, hThickIce, hNewIceMax _RL rhos _RL rhoi _RL rhosw _RL rhofw _RL floodFac _RL cpIce _RL cpWater _RL kIce _RL kSnow _RL bMeltCoef _RL Lfresh _RL qsnow _RL albColdSnow _RL albWarmSnow _RL tempSnowAlb _RL albOldSnow _RL hNewSnowAge _RL snowAgTime _RL albIceMax _RL albIceMin _RL hAlbIce _RL hAlbSnow _RL i0swFrac _RL ksolar _RL dhSnowLin _RL saltIce _RL S_winton _RL mu_Tf _RL Tf0kel _RL Tmlt1 _RL Terrmax _RL hIceMin _RL hiMax _RL hsMax _RL iceMaskMax _RL iceMaskMin _RL fracEnMelt _RL fracEnFreez _RL hThinIce _RL hThickIce _RL hNewIceMax C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| C-- COMMON / THSICE_PAR_L / ice model (logical) parameters C stepFwd_oceMxL :: step forward mixed-layer T & S (slab-ocean) C thSIce_skipThermo :: by-pass seaice thermodynamics C thSIce_calc_albNIR :: calculate Near Infra-Red Albedo C thSIce_tave_mdsio :: write TimeAverage output using MDSIO C thSIce_snapshot_mdsio :: write snap-shot output using MDSIO C thSIce_mon_stdio :: write monitor to std-outp C thSIce_tave_mnc :: write TimeAverage output using MNC C thSIce_snapshot_mnc :: write snap-shot output using MNC C thSIce_mon_mnc :: write monitor to netcdf file C thSIce_pickup_read_mnc :: pickup read w/ MNC C thSIce_pickup_write_mnc :: pickup write w/ MNC C thSIce_pickup_write_mdsio :: pickup write w/ MDSIO COMMON / THSICE_PAR_L / & stepFwd_oceMxL, thSIce_skipThermo, & thSIce_calc_albNIR, & thSIce_tave_mdsio, thSIce_snapshot_mdsio, thSIce_mon_stdio, & thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc, & thSIce_pickup_read_mnc, & thSIce_pickup_write_mdsio, & thSIce_pickup_write_mnc LOGICAL stepFwd_oceMxL LOGICAL thSIce_skipThermo LOGICAL thSIce_calc_albNIR LOGICAL thSIce_tave_mdsio, thSIce_snapshot_mdsio, thSIce_mon_stdio LOGICAL thSIce_tave_mnc, thSIce_snapshot_mnc, thSIce_mon_mnc LOGICAL thSIce_pickup_read_mnc LOGICAL thSIce_pickup_write_mdsio LOGICAL thSIce_pickup_write_mnc C-- COMMON / THSICE_PAR_I / ice model (integer) parameters C startIceModel :: =1 : start ice model at nIter0 ; =0 : use pickup files C :: -1 : start from a small pickup (without Mix.Layer) C nitMaxTsf :: maximum Nb of iter to find Surface Temp (Trsf) C thSIceAdvScheme :: thSIce Advection scheme selector C thSIceBalanceAtmFW :: select balancing Fresh-Water flux from Atm+Land C :: =0 : none ; =1 : uniform ; =2 : scaled by Precip COMMON / THSICE_PAR_I / & startIceModel, nitMaxTsf, thSIceAdvScheme, thSIceBalanceAtmFW INTEGER startIceModel INTEGER nitMaxTsf INTEGER thSIceAdvScheme INTEGER thSIceBalanceAtmFW C-- COMMON / THSICE_PAR_R / ice model (real) parameters C thSIce_deltaT :: ice model time-step, seaice thicken/extend [s] C thSIce_dtTemp :: ice model time-step, solve4temp [s] C ocean_deltaT :: ocean mixed-layer time-step [s] C tauRelax_MxL :: Relaxation time scale for MixLayer T [s] C tauRelax_MxL_salt :: Relaxation time scale for MixLayer S [s] C hMxL_default :: default value for ocean MixLayer thickness [m] C sMxL_default :: default value for salinity in MixLayer [psu] C vMxL_default :: default value for ocean current velocity in MxL [m/s] C thSIce_diffK :: thickness (horizontal) diffusivity [m^2/s] C stressReduction :: reduction factor for wind-stress under sea-ice [0-1] C thSIce_taveFreq :: Frequency^-1 for time-Aver. output [s] C thSIce_diagFreq :: Frequency^-1 for diagnostic output [s] C thSIce_monFreq :: Frequency^-1 for monitor output [s] COMMON / THSICE_PAR_R / & thSIce_deltaT, thSIce_dtTemp, ocean_deltaT, & tauRelax_MxL, tauRelax_MxL_salt, & hMxL_default, sMxL_default, vMxL_default, & thSIce_diffK, stressReduction, & thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq _RL thSIce_deltaT, thSIce_dtTemp, ocean_deltaT _RL tauRelax_MxL, tauRelax_MxL_salt _RL hMxL_default, sMxL_default, vMxL_default _RL thSIce_diffK, stressReduction _RL thSIce_taveFreq, thSIce_diagFreq, thSIce_monFreq C-- COMMON / THSICE_PAR_C / ice model (character) parameters C thSIceFract_InitFile :: File name for initial ice fraction C thSIceThick_InitFile :: File name for initial ice thickness C thSIceSnowH_InitFile :: File name for initial snow thickness C thSIceSnowA_InitFile :: File name for initial snow Age C thSIceEnthp_InitFile :: File name for initial ice enthalpy C thSIceTsurf_InitFile :: File name for initial surf. temp COMMON / THSICE_PAR_C / & thSIceFract_InitFile, & thSIceThick_InitFile, & thSIceSnowH_InitFile, & thSIceSnowA_InitFile, & thSIceEnthp_InitFile, & thSIceTsurf_InitFile CHARACTER*(MAX_LEN_FNAM) thSIceFract_InitFile CHARACTER*(MAX_LEN_FNAM) thSIceThick_InitFile CHARACTER*(MAX_LEN_FNAM) thSIceSnowH_InitFile CHARACTER*(MAX_LEN_FNAM) thSIceSnowA_InitFile CHARACTER*(MAX_LEN_FNAM) thSIceEnthp_InitFile CHARACTER*(MAX_LEN_FNAM) thSIceTsurf_InitFile C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| #endif /* ALLOW_THSICE */ CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran *** CEH3 ;;; End: ***