C $Header: /u/gcmpack/MITgcm/verification/global_ocean.cs32x15/code_ad/SEAICE_PARAMS.h,v 1.1 2010/12/21 23:07:31 gforget Exp $ C $Name: $ C /==========================================================\ C | SEAICE_PARAMS.h | C | o Basic parameter header for sea ice model. | C \==========================================================/ C-- COMMON /SEAICE_PARM_L/ Logical parameters of sea ice model. C C SEAICEwriteState - If true, write sea ice state to file; C default is false. C SEAICEuseDYNAMICS - If false, do not use dynamics; C default is to use dynamics. C SEAICEuseTEM - to use truncated ellipse method (see Geiger et al. C 1998) set this parameter to true, default is false C SEAICEuseEVP - If false, use Zhangs LSR solver for VP equations C if true use elastic viscous plastic solver C SEAICEuseFREEDRIFT - If True use free drift velocity instead of EVP or LSR C SEAICEuseEVPpickup - Set to false in order to start EVP solver with C non-EVP pickup files. Default is true. C Applied only if SEAICEuseEVP=.TRUE. C SEAICEuseFluxForm :: use flux form for advection and diffusion C of seaice C SEAICEuseMetricTerms :: use metric terms for dynamics solver C (default = .true. ) C SEAICEuseFlooding :: turn on scheme to convert submerged snow into ice C SEAICEadvHeff :: turn on advection of effective thickness C (default = .true.) C SEAICEadvArea :: turn on advection of fraction area C (default = .true.) C SEAICEadvSnow :: turn on advection of snow (does not work with C non-default Leap-frog scheme for advection) C SEAICEadvSalt :: turn on advection of salt (does not work with C non-default Leap-frog scheme for advection) C SEAICEadvAge :: turn on advection of ice age (does not work with C non-default Leap-frog scheme for advection) C useHB87stressCoupling :: use an intergral over ice and ocean surface C layer to define surface stresses on ocean C following Hibler and Bryan (1987, JPO) C usePW79thermodynamics :: use "0-layer" thermodynamics as described in C Parkinson and Washington (1979) and Hibler (1979) C SEAICErestoreUnderIce :: restore surface T/S also underneath ice C ( default is false ) C SEAICE_no_slip :: apply no slip boundary conditions to seaice velocity C SEAICE_clipVelocities :: clip velocities to +/- 40cm/s C SEAICE_maskRHS :: mask the RHS of the solver where there is no ice C SEAICE_tave_mdsio :: write TimeAverage output using MDSIO C SEAICE_dump_mdsio :: write snap-shot output using MDSIO C SEAICE_mon_stdio :: write monitor to std-outp C SEAICE_tave_mnc :: write TimeAverage output using MNC C SEAICE_dump_mnc :: write snap-shot output using MNC C SEAICE_mon_mnc :: write monitor to netcdf file LOGICAL & SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, & SEAICEuseFREEDRIFT, SEAICEuseTEM, & SEAICEuseMetricTerms, & SEAICEuseEVPpickup, SEAICEuseFlooding, & SEAICEadvHeff, SEAICEadvArea, & SEAICEadvSnow, SEAICEadvSalt, SEAICEadvAge, & SEAICEuseFluxForm, useHB87stressCoupling, & usePW79thermodynamics, SEAICErestoreUnderIce, & SEAICE_no_slip, SEAICE_clipVelocities, SEAICE_maskRHS, & SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, & SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc COMMON /SEAICE_PARM_L/ & SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, & SEAICEuseFREEDRIFT, SEAICEuseTEM, & SEAICEuseMetricTerms, & SEAICEuseEVPpickup, SEAICEuseFlooding, & SEAICEadvHeff, SEAICEadvArea, & SEAICEadvSnow, SEAICEadvSalt, SEAICEadvAge, & SEAICEuseFluxForm, useHB87stressCoupling, & usePW79thermodynamics, SEAICErestoreUnderIce, & SEAICE_no_slip, SEAICE_clipVelocities, SEAICE_maskRHS, & SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, & SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc C-- COMMON /SEAICE_PARM_I/ Integer valued parameters of sea ice model. C LAD - time stepping used for sea-ice advection: C 1 = LEAPFROG, 2 = BACKWARD EULER. C IMAX_TICE - number of iterations for ice heat budget 10 C SOLV_MAX_ITERS - maximum number of allowed solver iterations C SOLV_NCHECK - iteration interval for solver convergence test C NPSEUDOTIMESTEPS - number of extra pseudo time steps (default = 0) C SEAICEadvScheme - sets the advection scheme for thickness and area C SEAICEadvSchArea - sets the advection scheme for area C SEAICEadvSchHeff - sets the advection scheme for effective thickness C (=volume), snow thickness, and salt if available C SEAICEadvSchSnow - sets the advection scheme for snow on sea-ice C SEAICEadvSchSalt - sets the advection scheme for sea ice salinity C SEAICEadvSchAge - sets the advection scheme for sea ice age C INTEGER LAD, IMAX_TICE INTEGER SOLV_MAX_ITERS, SOLV_NCHECK INTEGER MPSEUDOTIMESTEPS, NPSEUDOTIMESTEPS INTEGER SEAICEadvScheme INTEGER SEAICEadvSchArea INTEGER SEAICEadvSchHeff INTEGER SEAICEadvSchSnow INTEGER SEAICEadvSchSalt INTEGER SEAICEadvSchAge INTEGER SEAICEadjMODE COMMON /SEAICE_PARM_I/ & LAD, IMAX_TICE, & SOLV_MAX_ITERS, SOLV_NCHECK, NPSEUDOTIMESTEPS, & SEAICEadvScheme, & SEAICEadvSchArea, & SEAICEadvSchHeff, & SEAICEadvSchSnow, & SEAICEadvSchSalt, & SEAICEadvSchAge, & SEAICEadjMODE PARAMETER (MPSEUDOTIMESTEPS=2) C-- COMMON /SEAICE_PARM_C/ Character valued sea ice model parameters. C AreaFile - File containing initial sea-ice concentration C HsnowFile - File containing initial snow thickness C HsaltFile - File containing initial sea ice salt content C IceAgeFile - File containing initial sea ice age C HeffFile - File containing initial sea-ice thickness C !!! NOTE !!! Initial sea-ice thickness can also be set using C SEAICE_initialHEFF below. But a constant initial condition C can mean large artificial fluxes of heat and freshwater in C the surface layer during the first model time step. C CHARACTER*(MAX_LEN_FNAM) AreaFile CHARACTER*(MAX_LEN_FNAM) HsnowFile CHARACTER*(MAX_LEN_FNAM) HsaltFile CHARACTER*(MAX_LEN_FNAM) IceAgeFile CHARACTER*(MAX_LEN_FNAM) HeffFile COMMON /SEAICE_PARM_C/ & AreaFile, HsnowFile, HsaltFile, IceAgeFile, HeffFile C-- COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model. C SEAICE_deltaTtherm - Seaice timestep for thermodynamic equations (s) C SEAICE_deltaTdyn - Seaice timestep for dynamic solver (s) C SEAICE_deltaTevp - Seaice timestep for EVP solver (s) C SEAICE_elasticParm - parameter that sets relaxation timescale C tau = SEAICE_elasticParm * SEAICE_deltaTdyn C SEAICE_evpTauRelax - relaxation timescale tau (s) C SEAICE_evpDampC - evp daming constant (kg/m^2) C SEAICE_zetaMaxFac - factor detrmining the maximum viscosity (s) C (default = 5.e+12/2.e4 = 2.5e8) C SEAICE_zetaMin - lower bound for viscosity (default = 0) (N s/m^2) C SEAICE_monFreq - SEAICE monitor frequency. (s) C SEAICE_dumpFreq - SEAICE dump frequency. (s) C SEAICE_taveFreq - SEAICE time-averaging frequency. (s) C SEAICE_initialHEFF - initial sea-ice thickness (m) C SEAICE_rhoAir - density of air (kg/m^3) C SEAICE_rhoIce - density of sea ice (kg/m^3) C SEAICE_rhoSnow - density of snow (kg/m^3) C ICE2WATR - ratio of sea ice density to water density C OCEAN_drag - air-ocean drag coefficient C SEAICE_cpAir - specific heat of air (J/kg/K) C C SEAICE_drag - air-ice drag coefficient C SEAICE_waterDrag - water-ice drag coefficient * water density C SEAICE_dryIceAlb - winter albedo C SEAICE_wetIceAlb - summer albedo C SEAICE_drySnowAlb - dry snow albedo C SEAICE_wetSnowAlb - wet snow albedo C HO - demarcation thickness between thin and C thick ice: HO is a key ice-growth parameter C C SEAICE_drag_south - Southern Ocean SEAICE_drag C SEAICE_waterDrag_south - Southern Ocean SEAICE_waterDrag C SEAICE_dryIceAlb_south - Southern Ocean SEAICE_dryIceAlb C SEAICE_wetIceAlb_south - Southern Ocean SEAICE_wetIceAlb C SEAICE_drySnowAlb_south - Southern Ocean SEAICE_drySnowAlb C SEAICE_wetSnowAlb_south - Southern Ocean SEAICE_wetSnowAlb C HO_south - Southern Ocean HO C C SEAICE_waterAlbedo - water albedo C SEAICE_strength - sea-ice strength Pstar C SEAICE_eccen - sea-ice eccentricity of the elliptical yield curve C SEAICE_lhSublim - latent heat of sublimation for ice and snow (J/kg) C SEAICE_lhFusion - latent heat of fusion for ice and snow (J/kg) C SEAICE_lhEvap - latent heat of evaporation for water (J/kg) C SEAICE_dalton - Dalton number (= sensible heat transfer coefficient) C SEAICE_iceConduct - sea-ice conductivity C SEAICE_snowConduct - snow conductivity C SEAICE_emissivity - Stefan-Boltzman constant * emissivity C SEAICE_snowThick - cutoff snow thickness C SEAICE_shortwave - penetration shortwave radiation factor C SEAICE_freeze - FREEZING TEMP. OF SEA WATER C SEAICE_salinity - initial salinity of sea ice defined as a C fraction of the model surface level salinity C SIsal0 - prescribed salinity of seaice (in g/kg). C SEAICE_gamma_t - timescale for melting ice from a warm mixed layer (s), C 3d = 259200s is a reasonable value, default=unset C SEAICE_gamma_t_frz - timescale for freezing ice from a cold mixed layer (s), C 3h = 10800s is a reasonable value, default=SEAICE_gamma_t C SEAICE_availHeatFrac - Fraction of surface level heat content used to C melt ice; default=1 if SEAICE_gamma_t is unset, otherwise C SEAICE_availHeatFrac=SEAICE_deltaTtherm/SEAICE_gamma_t C SEAICE_availHeatFracFrz - Fraction of surface level heat content used to C freeze ice; default=SEAICE_availHeatFrac C if SEAICE_gamma_t_frz is unset, otherwise C SEAICE_availHeatFrac=SEAICE_deltaTtherm/SEAICE_gamma_t_frz C SEAICEstressFactor - factor by which ice affects wind stress (default=1) C LSR_ERROR - sets accuracy of LSR solver C DIFF1 - parameter used in advect.F C A22 - parameter used in growth.F C areaMin - if ice is present the ice cover is enforced to be > areaMin C hiceMin - minimum value of hice used to regularize C SEAICE_SOLVE4TEMP and d_AREAbyATM computations C areaMax - usually set to 1. Seeting areaMax below 1. specifies C the minimun amount of leads (1-areaMax) in the ice pack. C SEAICE_airTurnAngle - turning angles of air-ice interfacial stress C SEAICE_waterTurnAngle - and ice-water interfacial stress (in degrees) C _RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp _RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq _RL SEAICE_initialHEFF _RL SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR _RL SEAICE_cpAir _RL SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb _RL SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb, HO _RL SEAICE_drag_south, SEAICE_waterDrag_south _RL SEAICE_dryIceAlb_south, SEAICE_wetIceAlb_south _RL SEAICE_drySnowAlb_south, SEAICE_wetSnowAlb_south, HO_south _RL SEAICE_waterAlbedo, SEAICE_strength, SEAICE_eccen _RL SEAICE_lhSublim, SEAICE_lhFusion, SEAICE_lhEvap _RL SEAICE_dalton _RL SEAICE_iceConduct, SEAICE_snowConduct, SEAICE_emissivity _RL SEAICE_snowThick, SEAICE_shortwave, SEAICE_freeze _RL SEAICE_salinity, SIsal0, SEAICEstressFactor _RL SEAICE_gamma_t, SEAICE_gamma_t_frz _RL SEAICE_availHeatFrac, SEAICE_availHeatFracFrz _RL OCEAN_drag, LSR_ERROR, DIFF1, A22 _RL areaMin, hiceMin, areaMax _RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle _RL SEAICE_elasticParm, SEAICE_evpTauRelax _RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac COMMON /SEAICE_PARM_RL/ & SEAICE_deltaTtherm, SEAICE_deltaTdyn, & SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax, & SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac, & SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, & SEAICE_initialHEFF, & SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR, & SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb, & SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb, HO, & SEAICE_drag_south, SEAICE_waterDrag_south, & SEAICE_dryIceAlb_south, SEAICE_wetIceAlb_south, & SEAICE_drySnowAlb_south, SEAICE_wetSnowAlb_south, HO_south, & SEAICE_waterAlbedo, SEAICE_strength, SEAICE_eccen, & SEAICE_lhSublim, SEAICE_lhFusion, SEAICE_lhEvap, & SEAICE_dalton, SEAICE_cpAir, & SEAICE_iceConduct, SEAICE_snowConduct, SEAICE_emissivity, & SEAICE_snowThick, SEAICE_shortwave, SEAICE_freeze, & SEAICE_salinity, SIsal0, SEAICEstressFactor, & SEAICE_gamma_t, SEAICE_gamma_t_frz, & SEAICE_availHeatFrac, SEAICE_availHeatFracFrz, & OCEAN_drag, LSR_ERROR, DIFF1, A22, & areaMin, hiceMin, areaMax, & SEAICE_airTurnAngle, SEAICE_waterTurnAngle C-- COMMON /SEAICE_BOUND_RL/ Various bounding values C MAX_HEFF - maximum ice thickness (m) C MIN_ATEMP - minimum air temperature (deg C) C MIN_LWDOWN - minimum downward longwave (W/m^2) C MAX_TICE - maximum ice temperature (deg C) C MIN_TICE - minimum ice temperature (deg C) C SEAICE_EPS, SEAICE_EPS_SQ - used to reduce derivative singularities C _RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE _RL SEAICE_EPS, SEAICE_EPS_SQ COMMON /SEAICE_BOUND_RL/ & MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE, & SEAICE_EPS, SEAICE_EPS_SQ C-- Constants used by sea-ice model _RL ZERO , ONE , TWO parameter ( ZERO = 0.0 _d 0, ONE = 1.0 _d 0, TWO = 2.0 _d 0 ) _RL QUART , HALF parameter ( QUART = 0.25 _d 0, HALF = 0.5 _d 0 ) C-- identifiers for advected properties INTEGER GAD_HEFF,GAD_AREA,GAD_QICE1,GAD_QICE2,GAD_SNOW INTEGER GAD_SALT,GAD_AGE PARAMETER ( GAD_HEFF = 4, & GAD_AREA = 5, & GAD_SNOW = 6, & GAD_SALT = 7, & GAD_AGE = 8, & GAD_QICE1 = 9, & GAD_QICE2 = 10) CEH3 ;;; Local Variables: *** CEH3 ;;; mode:fortran *** CEH3 ;;; End: ***