| 1 |
C $Header: /u/gcmpack/MITgcm/pkg/seaice/SEAICE_PARAMS.h,v 1.34 2007/04/22 19:56:22 mlosch Exp $ |
| 2 |
C $Name: $ |
| 3 |
|
| 4 |
C /==========================================================\ |
| 5 |
C | SEAICE_PARAMS.h | |
| 6 |
C | o Basic parameter header for sea ice model. | |
| 7 |
C \==========================================================/ |
| 8 |
|
| 9 |
C-- COMMON /SEAICE_PARM_L/ Logical parameters of sea ice model. |
| 10 |
C |
| 11 |
C SEAICEwriteState - If true, write sea ice state to file; |
| 12 |
C default is false. |
| 13 |
C SEAICEuseDYNAMICS - If false, do not use dynamics; |
| 14 |
C default is to use dynamics. |
| 15 |
C SEAICEuseEVP - If false, use Zhangs LSR solver for VP equations |
| 16 |
C if true use elastic viscous plastic solver |
| 17 |
C SEAICEuseEVPpickup - Set to false in order to start EVP solver with |
| 18 |
C non-EVP pickup files. Default is true. |
| 19 |
C Applied only if SEAICEuseEVP=.TRUE. |
| 20 |
C SEAICEuseFluxForm :: use flux form for advection and diffusion |
| 21 |
C of seaice |
| 22 |
C SEAICEuseFlooding :: turn on scheme to convert submerged snow into ice |
| 23 |
C SEAICEadvSnow :: turn on advection of snow (does not work with |
| 24 |
C non-default Leap-frog scheme for advection) |
| 25 |
C useHB87stressCoupling :: use an intergral over ice and ocean surface |
| 26 |
C layer to define surface stresses on ocean |
| 27 |
C following Hibler and Bryan (1987, JPO) |
| 28 |
C SEAICE_no_slip :: apply no slip boundary conditions to seaice velocity |
| 29 |
C SEAICE_clipVelocities :: clip velocities to +/- 40cm/s |
| 30 |
C SEAICE_maskRHS :: mask the RHS of the solver where there is no ice |
| 31 |
C SEAICE_tave_mdsio :: write TimeAverage output using MDSIO |
| 32 |
C SEAICE_dump_mdsio :: write snap-shot output using MDSIO |
| 33 |
C SEAICE_mon_stdio :: write monitor to std-outp |
| 34 |
C SEAICE_tave_mnc :: write TimeAverage output using MNC |
| 35 |
C SEAICE_dump_mnc :: write snap-shot output using MNC |
| 36 |
C SEAICE_mon_mnc :: write monitor to netcdf file |
| 37 |
LOGICAL |
| 38 |
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
| 39 |
& SEAICEuseEVPpickup, SEAICEuseFlooding, SEAICEadvSnow, |
| 40 |
& SEAICEuseFluxForm, useHB87stressCoupling, SEAICE_no_slip, |
| 41 |
& SEAICE_clipVelocities, SEAICE_maskRHS, |
| 42 |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
| 43 |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
| 44 |
COMMON /SEAICE_PARM_L/ |
| 45 |
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
| 46 |
& SEAICEuseEVPpickup, SEAICEuseFlooding, SEAICEadvSnow, |
| 47 |
& SEAICEuseFluxForm, useHB87stressCoupling, SEAICE_no_slip, |
| 48 |
& SEAICE_clipVelocities, SEAICE_maskRHS, |
| 49 |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
| 50 |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
| 51 |
|
| 52 |
C-- COMMON /SEAICE_PARM_I/ Integer valued parameters of sea ice model. |
| 53 |
C LAD - time stepping used for sea-ice advection: |
| 54 |
C 1 = LEAPFROG, 2 = BACKWARD EULER. |
| 55 |
C IMAX_TICE - number of iterations for ice heat budget 10 |
| 56 |
C SEAICEadvScheme - sets the advection scheme for thickness and area |
| 57 |
C SEAICEadvSchArea - sets the advection scheme for area |
| 58 |
C SEAICEadvSchHeff - sets the advection scheme for effective thickness |
| 59 |
C (=volume) and snow thickness if available |
| 60 |
C SEAICEadvSchEnth - sets the advection scheme for sea-ice enthalphy |
| 61 |
C SEAICEadvSchSnow - sets the advection scheme for snow on sea-ice |
| 62 |
C |
| 63 |
INTEGER LAD, IMAX_TICE |
| 64 |
INTEGER SEAICEadvScheme |
| 65 |
INTEGER SEAICEadvSchArea |
| 66 |
INTEGER SEAICEadvSchHeff |
| 67 |
INTEGER SEAICEadvSchEnth |
| 68 |
INTEGER SEAICEadvSchSnow |
| 69 |
INTEGER SEAICE_debugPointX |
| 70 |
INTEGER SEAICE_debugPointY |
| 71 |
|
| 72 |
COMMON /SEAICE_PARM_I/ |
| 73 |
& LAD, IMAX_TICE, |
| 74 |
& SEAICEadvScheme, |
| 75 |
& SEAICEadvSchArea, |
| 76 |
& SEAICEadvSchHeff, |
| 77 |
& SEAICEadvSchEnth, |
| 78 |
& SEAICEadvSchSnow, |
| 79 |
& SEAICE_debugPointX, |
| 80 |
& SEAICE_debugPointY |
| 81 |
|
| 82 |
C-- COMMON /SEAICE_PARM_C/ Character valued sea ice model parameters. |
| 83 |
C uwindFile - File containing uwind |
| 84 |
C vwindFile - File containing vwind |
| 85 |
C atempFile - File containing atemp |
| 86 |
C aqhFile - File containing aqh |
| 87 |
C lwdownFile - File containing lwdown |
| 88 |
C swdownFile - File containing swdown |
| 89 |
C precipFile - File containing precip |
| 90 |
C evapFile - File containing evap |
| 91 |
C runoffFile - File containing runoffF |
| 92 |
C HeffFile - File containing initial sea-ice thickness |
| 93 |
C !!! NOTE !!! Initial sea-ice thickness can also be set using |
| 94 |
C SEAICE_initialHEFF below. But a constant initial condition |
| 95 |
C can mean large artificial fluxes of heat and freshwater in |
| 96 |
C the surface layer during the first model time step. |
| 97 |
C |
| 98 |
CHARACTER*(MAX_LEN_FNAM) uwindFile |
| 99 |
CHARACTER*(MAX_LEN_FNAM) vwindFile |
| 100 |
CHARACTER*(MAX_LEN_FNAM) atempFile |
| 101 |
CHARACTER*(MAX_LEN_FNAM) aqhFile |
| 102 |
CHARACTER*(MAX_LEN_FNAM) lwdownFile |
| 103 |
CHARACTER*(MAX_LEN_FNAM) swdownFile |
| 104 |
CHARACTER*(MAX_LEN_FNAM) precipFile |
| 105 |
CHARACTER*(MAX_LEN_FNAM) evapFile |
| 106 |
CHARACTER*(MAX_LEN_FNAM) runoffFile |
| 107 |
CHARACTER*(MAX_LEN_FNAM) HeffFile |
| 108 |
COMMON /SEAICE_PARM_C/ uwindFile, vwindFile, atempFile, aqhFile, |
| 109 |
& lwdownFile, swdownFile, precipFile, evapFile, runoffFile, |
| 110 |
& HeffFile |
| 111 |
|
| 112 |
C-- COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model. |
| 113 |
C SEAICE_deltaTtherm - Seaice timestep for thermodynamic equations (s) |
| 114 |
C SEAICE_deltaTdyn - Seaice timestep for dynamic solver (s) |
| 115 |
C SEAICE_deltaTevp - Seaice timestep for EVP solver (s) |
| 116 |
C SEAICE_elasticParm - parameter that sets relaxation timescale |
| 117 |
C T = SEAICE_elasticParm * SEAICE_deltaTdyn |
| 118 |
C SEAICE_monFreq - SEAICE monitor frequency. (s) |
| 119 |
C SEAICE_dumpFreq - SEAICE dump frequency. (s) |
| 120 |
C SEAICE_taveFreq - SEAICE time-averaging frequency. (s) |
| 121 |
C SEAICE_initialHEFF - initial sea-ice thickness (m) |
| 122 |
C SEAICE_rhoAir - density of air (kg/m^3) |
| 123 |
C SEAICE_rhoIce - density of sea ice (kg/m^3) |
| 124 |
C SEAICE_drag - air-ice drag coefficient |
| 125 |
C OCEAN_drag - air-ocean drag coefficient |
| 126 |
C SEAICE_waterDrag - water-ice drag coefficient * water density |
| 127 |
C SEAICE_dryIceAlb - winter albedo |
| 128 |
C SEAICE_wetIceAlb - summer albedo |
| 129 |
C SEAICE_drySnowAlb - dry snow albedo |
| 130 |
C SEAICE_wetSnowAlb - wet snow albedo |
| 131 |
C SEAICE_waterAlbedo - water albedo |
| 132 |
C SEAICE_strength - sea-ice strength Pstar |
| 133 |
C SEAICE_eccen - sea-ice eccentricity of the elliptical yield curve |
| 134 |
C SEAICE_sensHeat - buld sensible heat transfer coefficient |
| 135 |
C = (sensible heat transfer coefficient) |
| 136 |
C x (heat capacity of air) |
| 137 |
C x (density of air) |
| 138 |
C SEAICE_latentWater - bulk latent heat transfer coefficient for water |
| 139 |
C = (latent heat transfer coefficient for water) |
| 140 |
C x (specific latent heat water to water vapor) |
| 141 |
C x (density of air) |
| 142 |
C SEAICE_latentIce - bulk latent heat transfer coefficient for ice |
| 143 |
C = (latent heat transfer coefficient for ice) |
| 144 |
C x (latent heat ice to water vapor) |
| 145 |
C x (density of air) |
| 146 |
C SEAICE_iceConduct - sea-ice conductivity |
| 147 |
C SEAICE_snowConduct - snow conductivity |
| 148 |
C SEAICE_emissivity - Stefan-Boltzman constant * emissivity |
| 149 |
C SEAICE_snowThick - cutoff snow thickness |
| 150 |
C SEAICE_shortwave - penetration shortwave radiation factor |
| 151 |
C SEAICE_freeze - FREEZING TEMP. OF SEA WATER |
| 152 |
C SEAICEstressFactor - factor by which ice affects wind stress (default=1) |
| 153 |
C LSR_ERROR - sets accuracy of LSR solver |
| 154 |
C DIFF1 - parameter used in advect.F |
| 155 |
C A22 - parameter used in growth.F |
| 156 |
C HO - demarcation thickness between thin and |
| 157 |
C thick ice: HO is a key ice-growth parameter |
| 158 |
C WindForcingStart - Time of first wind forcing record (s) |
| 159 |
C WindForcingEnd - Time of last wind forcing record (s) |
| 160 |
C WindForcingPeriod - Period between wind forcing records (s) |
| 161 |
C FluxForcingStart - Time of first flux forcing record (s) |
| 162 |
C FluxForcingEnd - Time of last flux forcing record (s) |
| 163 |
C FluxForcingPeriod - Period between flux forcing records (s) |
| 164 |
C SSTForcingStart - Time of first SST forcing record (s) |
| 165 |
C SSTForcingEnd - Time of last SST forcing record (s) |
| 166 |
C SSTForcingPeriod - Period between SST forcing records (s) |
| 167 |
C SSSForcingStart - Time of first SSS forcing record (s) |
| 168 |
C SSSForcingEnd - Time of last SSS forcing record (s) |
| 169 |
C SSSForcingPeriod - Period between SSS forcing records (s) |
| 170 |
C StartingYear - Starting year of integration |
| 171 |
C EndingYear - Ending year of integration |
| 172 |
C SEAICE_airTurnAngle - turning angles of air-ice interfacial stress |
| 173 |
C SEAICE_waterTurnAngle - and ice-water interfacial stress (in degrees) |
| 174 |
C |
| 175 |
_RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp |
| 176 |
_RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq |
| 177 |
_RL SEAICE_initialHEFF |
| 178 |
_RL SEAICE_gamma_t |
| 179 |
_RL SEAICE_rhoAir, SEAICE_rhoIce |
| 180 |
_RL SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb |
| 181 |
_RL SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb |
| 182 |
_RL SEAICE_waterAlbedo, SEAICE_strength, SEAICE_eccen |
| 183 |
_RL SEAICE_sensHeat, SEAICE_latentWater, SEAICE_latentIce |
| 184 |
_RL SEAICE_iceConduct, SEAICE_snowConduct, SEAICE_emissivity |
| 185 |
_RL SEAICE_snowThick, SEAICE_shortwave, SEAICE_freeze |
| 186 |
_RL SEAICEstressFactor |
| 187 |
_RL OCEAN_drag, LSR_ERROR, DIFF1, A22, HO |
| 188 |
_RL WindForcingStart, WindForcingEnd, WindForcingPeriod |
| 189 |
_RL FluxForcingStart, FluxForcingEnd, FluxForcingPeriod |
| 190 |
_RL SSTForcingStart, SSTForcingEnd, SSTForcingPeriod |
| 191 |
_RL SSSForcingStart, SSSForcingEnd, SSSForcingPeriod |
| 192 |
_RL StartingYear, EndingYear |
| 193 |
_RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
| 194 |
_RL SEAICE_elasticParm |
| 195 |
COMMON /SEAICE_PARM_RL/ |
| 196 |
& SEAICE_deltaTtherm, SEAICE_deltaTdyn, |
| 197 |
& SEAICE_deltaTevp, SEAICE_elasticParm, |
| 198 |
& SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, |
| 199 |
& SEAICE_initialHEFF, |
| 200 |
& SEAICE_rhoAir, SEAICE_rhoIce, |
| 201 |
& SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb, |
| 202 |
& SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb, |
| 203 |
& SEAICE_waterAlbedo, SEAICE_strength, SEAICE_eccen, |
| 204 |
& SEAICE_sensHeat, SEAICE_latentWater, SEAICE_latentIce, |
| 205 |
& SEAICE_iceConduct, SEAICE_snowConduct, SEAICE_emissivity, |
| 206 |
& SEAICE_snowThick, SEAICE_shortwave, SEAICE_freeze, |
| 207 |
& SEAICEstressFactor, |
| 208 |
& OCEAN_drag, LSR_ERROR, DIFF1, A22, HO, |
| 209 |
& WindForcingStart, WindForcingEnd, WindForcingPeriod, |
| 210 |
& FluxForcingStart, FluxForcingEnd, FluxForcingPeriod, |
| 211 |
& SSTForcingStart, SSTForcingEnd, SSTForcingPeriod, |
| 212 |
& SSSForcingStart, SSSForcingEnd, SSSForcingPeriod, |
| 213 |
& StartingYear, EndingYear, |
| 214 |
& SEAICE_airTurnAngle, SEAICE_waterTurnAngle, |
| 215 |
& SEAICE_gamma_t |
| 216 |
|
| 217 |
C-- COMMON /SEAICE_BOUND_RL/ Various bounding values |
| 218 |
C MAX_HEFF - maximum ice thickness (m) |
| 219 |
C MIN_ATEMP - minimum air temperature (deg C) |
| 220 |
C MIN_LWDOWN - minimum downward longwave (W/m^2) |
| 221 |
C MAX_TICE - maximum ice temperature (deg C) |
| 222 |
C MIN_TICE - minimum ice temperature (deg C) |
| 223 |
C SEAICE_EPS, SEAICE_EPS_SQ - used to reduce derivative singularities |
| 224 |
C |
| 225 |
_RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE |
| 226 |
_RL SEAICE_EPS, SEAICE_EPS_SQ |
| 227 |
COMMON /SEAICE_BOUND_RL/ |
| 228 |
& MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE, |
| 229 |
& SEAICE_EPS, SEAICE_EPS_SQ |
| 230 |
|
| 231 |
C-- Constants used by sea-ice model |
| 232 |
_RL ZERO , ONE , TWO |
| 233 |
parameter ( ZERO = 0.0 _d 0, ONE = 1.0 _d 0, TWO = 2.0 _d 0 ) |
| 234 |
_RL QUART , HALF |
| 235 |
parameter ( QUART = 0.25 _d 0, HALF = 0.5 _d 0 ) |
| 236 |
|
| 237 |
C-- identifiers for advected properties |
| 238 |
INTEGER GAD_HEFF, GAD_AREA, GAD_QICE1, GAD_QICE2, GAD_SNOW |
| 239 |
PARAMETER ( GAD_HEFF = 101, |
| 240 |
& GAD_AREA = 102, |
| 241 |
& GAD_QICE1 = 103, |
| 242 |
& GAD_QICE2 = 104, |
| 243 |
& GAD_SNOW = 105 ) |
| 244 |
|
| 245 |
|
| 246 |
CEH3 ;;; Local Variables: *** |
| 247 |
CEH3 ;;; mode:fortran *** |
| 248 |
CEH3 ;;; End: *** |