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: ***