1 |
dimitri |
1.1 |
C $Header: /u/gcmpack/MITgcm/pkg/seaice/SEAICE_PARAMS.h,v 1.91 2012/03/11 13:41:38 jmc 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 SEAICEuseTEM :: to use truncated ellipse method (see Geiger et al. |
16 |
|
|
C 1998) set this parameter to true, default is false |
17 |
|
|
C SEAICEuseEVP :: If false, use Zhangs LSR solver for VP equations |
18 |
|
|
C if true use elastic viscous plastic solver |
19 |
|
|
C SEAICEuseFREEDRIFT :: If True use free drift velocity instead of EVP |
20 |
|
|
C or LSR |
21 |
|
|
C SEAICEheatConsFix :: If true then fix ocn<->seaice advective heat flux. |
22 |
|
|
C SEAICEuseEVPpickup :: Set to false in order to start EVP solver with |
23 |
|
|
C non-EVP pickup files. Default is true. |
24 |
|
|
C Applied only if SEAICEuseEVP=.TRUE. |
25 |
|
|
C SEAICEuseFluxForm :: use flux form for advection and diffusion |
26 |
|
|
C of seaice |
27 |
|
|
C SEAICEuseMetricTerms :: use metric terms for dynamics solver |
28 |
|
|
C (default = .true. ) |
29 |
|
|
C SEAICEuseFlooding :: turn on scheme to convert submerged snow into ice |
30 |
|
|
C SEAICEadvHeff :: turn on advection of effective thickness |
31 |
|
|
C (default = .true.) |
32 |
|
|
C SEAICEadvArea :: turn on advection of fraction area |
33 |
|
|
C (default = .true.) |
34 |
|
|
C SEAICEadvSnow :: turn on advection of snow (does not work with |
35 |
|
|
C non-default Leap-frog scheme for advection) |
36 |
|
|
C SEAICEadvSalt :: turn on advection of salt (does not work with |
37 |
|
|
C non-default Leap-frog scheme for advection) |
38 |
|
|
C useHB87stressCoupling :: use an intergral over ice and ocean surface |
39 |
|
|
C layer to define surface stresses on ocean |
40 |
|
|
C following Hibler and Bryan (1987, JPO) |
41 |
|
|
C usePW79thermodynamics :: use "0-layer" thermodynamics as described in |
42 |
|
|
C Parkinson and Washington (1979) and Hibler (1979) |
43 |
|
|
C useMaykutSatVapPoly :: use Maykut Polynomial for saturation vapor pressure |
44 |
|
|
C instead of extended temp-range exponential law; def=F. |
45 |
|
|
C SEAICE_mcPheeStepFunc :: use step function (not linear tapering) in |
46 |
|
|
C ocean-ice turbulent flux |
47 |
|
|
C SEAICE_doOpenWaterGrowth :: use open water heat flux directly to grow ice |
48 |
|
|
C (when false cool ocean, and grow later if needed) |
49 |
|
|
C SEAICE_doOpenWaterMelt :: use open water heat flux directly to melt ice |
50 |
|
|
C (when false warm ocean, and melt later if needed) |
51 |
|
|
C SEAICE_salinityTracer :: use SItracer to exchange and trace ocean |
52 |
|
|
C salt in ice |
53 |
|
|
C SEAICE_age Tracer :: use SItracer to trace the age of ice |
54 |
|
|
C SEAICErestoreUnderIce :: restore surface T/S also underneath ice |
55 |
|
|
C ( default is false ) |
56 |
|
|
C SEAICE_no_slip :: apply no slip boundary conditions to seaice velocity |
57 |
|
|
C SEAICE_clipVelocities :: clip velocities to +/- 40cm/s |
58 |
|
|
C SEAICE_maskRHS :: mask the RHS of the solver where there is no ice |
59 |
|
|
C SEAICE_tave_mdsio :: write TimeAverage output using MDSIO |
60 |
|
|
C SEAICE_dump_mdsio :: write snap-shot output using MDSIO |
61 |
|
|
C SEAICE_mon_stdio :: write monitor to std-outp |
62 |
|
|
C SEAICE_tave_mnc :: write TimeAverage output using MNC |
63 |
|
|
C SEAICE_dump_mnc :: write snap-shot output using MNC |
64 |
|
|
C SEAICE_mon_mnc :: write monitor to netcdf file |
65 |
|
|
LOGICAL |
66 |
|
|
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
67 |
|
|
& SEAICEuseFREEDRIFT, SEAICEuseTEM, |
68 |
|
|
& SEAICEheatConsFix, |
69 |
|
|
& SEAICEuseMetricTerms, |
70 |
|
|
& SEAICEuseEVPpickup, SEAICEuseFlooding, |
71 |
|
|
& SEAICEadvHeff, SEAICEadvArea, |
72 |
|
|
& SEAICEadvSnow, SEAICEadvSalt, |
73 |
|
|
& SEAICEuseFluxForm, useHB87stressCoupling, |
74 |
|
|
& usePW79thermodynamics, useMaykutSatVapPoly, |
75 |
|
|
& SEAICE_mcPheeStepFunc, |
76 |
|
|
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
77 |
|
|
& SEAICE_salinityTracer, SEAICE_ageTracer, |
78 |
|
|
& SEAICErestoreUnderIce, |
79 |
|
|
& SEAICE_no_slip, SEAICE_clipVelocities, SEAICE_maskRHS, |
80 |
|
|
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
81 |
|
|
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
82 |
|
|
COMMON /SEAICE_PARM_L/ |
83 |
|
|
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
84 |
|
|
& SEAICEuseFREEDRIFT, SEAICEuseTEM, |
85 |
|
|
& SEAICEheatConsFix, |
86 |
|
|
& SEAICEuseMetricTerms, |
87 |
|
|
& SEAICEuseEVPpickup, SEAICEuseFlooding, |
88 |
|
|
& SEAICEadvHeff, SEAICEadvArea, |
89 |
|
|
& SEAICEadvSnow, SEAICEadvSalt, |
90 |
|
|
& SEAICEuseFluxForm, useHB87stressCoupling, |
91 |
|
|
& usePW79thermodynamics, useMaykutSatVapPoly, |
92 |
|
|
& SEAICE_mcPheeStepFunc, |
93 |
|
|
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
94 |
|
|
& SEAICE_salinityTracer, SEAICE_ageTracer, |
95 |
|
|
& SEAICErestoreUnderIce, |
96 |
|
|
& SEAICE_no_slip, SEAICE_clipVelocities, SEAICE_maskRHS, |
97 |
|
|
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
98 |
|
|
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
99 |
|
|
|
100 |
|
|
C-- COMMON /SEAICE_PARM_I/ Integer valued parameters of sea ice model. |
101 |
|
|
C IMAX_TICE :: number of iterations for ice surface temp (default=10) |
102 |
|
|
C postSolvTempIter :: select flux calculation after surf. temp solver iteration |
103 |
|
|
C 0 = none, i.e., from last iter ; 2 = full non-lin form |
104 |
|
|
C 1 = use linearized approx (consistent with tsurf finding) |
105 |
|
|
C SOLV_MAX_ITERS :: maximum number of allowed LSR-solver iterations |
106 |
|
|
C SOLV_NCHECK :: iteration interval for solver convergence test |
107 |
|
|
C NPSEUDOTIMESTEPS :: number of extra pseudo time steps (>= 2) |
108 |
|
|
C LSR_mixIniGuess :: control mixing of free-drift sol. into LSR initial guess |
109 |
|
|
C :: =0 : no mix ; =2,4 : mix with (1/err)^2,4 factor |
110 |
|
|
C SEAICEadvScheme :: sets the advection scheme for thickness and area |
111 |
|
|
C SEAICEadvSchArea :: sets the advection scheme for area |
112 |
|
|
C SEAICEadvSchHeff :: sets the advection scheme for effective thickness |
113 |
|
|
C (=volume), snow thickness, and salt if available |
114 |
|
|
C SEAICEadvSchSnow :: sets the advection scheme for snow on sea-ice |
115 |
|
|
C SEAICEadvSchSalt :: sets the advection scheme for sea ice salinity |
116 |
|
|
C SEAICEadvSchSnow :: sets the advection scheme for snow on sea-ice |
117 |
|
|
C SEAICE_areaLossFormula :: selects formula for ice cover loss from melt |
118 |
|
|
C :: 1=from all but only melt conributions by ATM and OCN |
119 |
|
|
C :: 2=from net melt-growth>0 by ATM and OCN |
120 |
|
|
C :: 3=from predicted melt by ATM |
121 |
|
|
C SEAICE_areaGainFormula :: selects formula for ice cover gain from open water growth |
122 |
|
|
C :: 1=from growth by ATM |
123 |
|
|
C :: 2=from predicted growth by ATM |
124 |
|
|
C SEAICE_multDim :: number of ice categories |
125 |
|
|
C SEAICE_debugPointI :: I,J index for seaice-specific debuggin |
126 |
|
|
C SEAICE_debugPointJ |
127 |
|
|
C |
128 |
|
|
INTEGER IMAX_TICE, postSolvTempIter |
129 |
|
|
INTEGER SOLV_MAX_ITERS, SOLV_NCHECK |
130 |
|
|
INTEGER NPSEUDOTIMESTEPS |
131 |
|
|
INTEGER LSR_mixIniGuess |
132 |
|
|
INTEGER SEAICEadvScheme |
133 |
|
|
INTEGER SEAICEadvSchArea |
134 |
|
|
INTEGER SEAICEadvSchHeff |
135 |
|
|
INTEGER SEAICEadvSchSnow |
136 |
|
|
INTEGER SEAICEadvSchSalt |
137 |
|
|
INTEGER SEAICEadjMODE |
138 |
|
|
INTEGER SEAICE_areaLossFormula |
139 |
|
|
INTEGER SEAICE_areaGainFormula |
140 |
|
|
INTEGER SEAICE_multDim |
141 |
|
|
INTEGER SEAICE_debugPointI |
142 |
|
|
INTEGER SEAICE_debugPointJ |
143 |
|
|
COMMON /SEAICE_PARM_I/ |
144 |
|
|
& IMAX_TICE, postSolvTempIter, |
145 |
|
|
& SOLV_MAX_ITERS, SOLV_NCHECK, |
146 |
|
|
& NPSEUDOTIMESTEPS, |
147 |
|
|
& LSR_mixIniGuess, |
148 |
|
|
& SEAICEadvScheme, |
149 |
|
|
& SEAICEadvSchArea, |
150 |
|
|
& SEAICEadvSchHeff, |
151 |
|
|
& SEAICEadvSchSnow, |
152 |
|
|
& SEAICEadvSchSalt, |
153 |
|
|
& SEAICEadjMODE, |
154 |
|
|
& SEAICE_areaLossFormula, |
155 |
|
|
& SEAICE_areaGainFormula, |
156 |
|
|
& SEAICE_multDim, |
157 |
|
|
& SEAICE_debugPointI, |
158 |
|
|
& SEAICE_debugPointJ |
159 |
|
|
|
160 |
|
|
C-- COMMON /SEAICE_PARM_C/ Character valued sea ice model parameters. |
161 |
|
|
C AreaFile :: File containing initial sea-ice concentration |
162 |
|
|
C HsnowFile :: File containing initial snow thickness |
163 |
|
|
C HsaltFile :: File containing initial sea ice salt content |
164 |
|
|
C HeffFile :: File containing initial sea-ice thickness |
165 |
|
|
C uIceFile :: File containing initial sea-ice U comp. velocity |
166 |
|
|
C vIceFile :: File containing initial sea-ice V comp. velocity |
167 |
|
|
C !!! NOTE !!! Initial sea-ice thickness can also be set using |
168 |
|
|
C SEAICE_initialHEFF below. But a constant initial condition |
169 |
|
|
C can mean large artificial fluxes of heat and freshwater in |
170 |
|
|
C the surface layer during the first model time step. |
171 |
|
|
C |
172 |
|
|
CHARACTER*(MAX_LEN_FNAM) AreaFile |
173 |
|
|
CHARACTER*(MAX_LEN_FNAM) HsnowFile |
174 |
|
|
CHARACTER*(MAX_LEN_FNAM) HsaltFile |
175 |
|
|
CHARACTER*(MAX_LEN_FNAM) HeffFile |
176 |
|
|
CHARACTER*(MAX_LEN_FNAM) uIceFile |
177 |
|
|
CHARACTER*(MAX_LEN_FNAM) vIceFile |
178 |
|
|
COMMON /SEAICE_PARM_C/ |
179 |
|
|
& AreaFile, HsnowFile, HsaltFile, HeffFile, |
180 |
|
|
& uIceFile, vIceFile |
181 |
|
|
|
182 |
|
|
C-- COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model. |
183 |
|
|
C SEAICE_deltaTtherm :: Seaice timestep for thermodynamic equations (s) |
184 |
|
|
C SEAICE_deltaTdyn :: Seaice timestep for dynamic solver (s) |
185 |
|
|
C SEAICE_deltaTevp :: Seaice timestep for EVP solver (s) |
186 |
|
|
C SEAICE_elasticParm :: parameter that sets relaxation timescale |
187 |
|
|
C tau = SEAICE_elasticParm * SEAICE_deltaTdyn |
188 |
|
|
C SEAICE_evpTauRelax :: relaxation timescale tau (s) |
189 |
|
|
C SEAICE_evpDampC :: evp damping constant (Hunke,JCP,2001) (kg/m^2) |
190 |
|
|
C SEAICE_zetaMaxFac :: factor determining the maximum viscosity (s) |
191 |
|
|
C (default = 5.e+12/2.e4 = 2.5e8) |
192 |
|
|
C SEAICE_zetaMin :: lower bound for viscosity (default = 0) (N s/m^2) |
193 |
|
|
C SEAICE_monFreq :: SEAICE monitor frequency. (s) |
194 |
|
|
C SEAICE_dumpFreq :: SEAICE dump frequency. (s) |
195 |
|
|
C SEAICE_taveFreq :: SEAICE time-averaging frequency. (s) |
196 |
|
|
C SEAICE_initialHEFF :: initial sea-ice thickness (m) |
197 |
|
|
C SEAICE_rhoAir :: density of air (kg/m^3) |
198 |
|
|
C SEAICE_rhoIce :: density of sea ice (kg/m^3) |
199 |
|
|
C SEAICE_rhoSnow :: density of snow (kg/m^3) |
200 |
|
|
C ICE2WATR :: ratio of sea ice density to water density |
201 |
|
|
C OCEAN_drag :: air-ocean drag coefficient |
202 |
|
|
C SEAICE_cpAir :: specific heat of air (J/kg/K) |
203 |
|
|
C |
204 |
|
|
C SEAICE_drag :: air-ice drag coefficient |
205 |
|
|
C SEAICE_waterDrag :: water-ice drag coefficient * water density |
206 |
|
|
C SEAICE_dryIceAlb :: winter albedo |
207 |
|
|
C SEAICE_wetIceAlb :: summer albedo |
208 |
|
|
C SEAICE_drySnowAlb :: dry snow albedo |
209 |
|
|
C SEAICE_wetSnowAlb :: wet snow albedo |
210 |
|
|
C HO :: AKA "lead closing parameter", demarcation thickness |
211 |
|
|
C between thin and thick ice. Alternatively, HO (in |
212 |
|
|
C meters) can be interpreted as the thickness of ice |
213 |
|
|
C formed in open water. |
214 |
|
|
C HO is a key ice-growth parameter that determines |
215 |
|
|
C the partition between vertical and lateral growth. |
216 |
|
|
C The default is 0.5m, increasing this value leads |
217 |
|
|
C slower formation of a closed ice cover and thus to |
218 |
|
|
C more ice (and thicker) ice, decreasing to faster |
219 |
|
|
C formation of a closed ice cover (leads are closing |
220 |
|
|
C faster) and thus less (thinner) ice. |
221 |
|
|
C |
222 |
|
|
C SEAICE_drag_south :: Southern Ocean SEAICE_drag |
223 |
|
|
C SEAICE_waterDrag_south :: Southern Ocean SEAICE_waterDrag |
224 |
|
|
C SEAICE_dryIceAlb_south :: Southern Ocean SEAICE_dryIceAlb |
225 |
|
|
C SEAICE_wetIceAlb_south :: Southern Ocean SEAICE_wetIceAlb |
226 |
|
|
C SEAICE_drySnowAlb_south :: Southern Ocean SEAICE_drySnowAlb |
227 |
|
|
C SEAICE_wetSnowAlb_south :: Southern Ocean SEAICE_wetSnowAlb |
228 |
|
|
C HO_south :: Southern Ocean HO |
229 |
|
|
C |
230 |
|
|
C SEAICE_wetAlbTemp :: Temp (deg.C) above which wet-albedo values are used |
231 |
|
|
C SEAICE_waterAlbedo :: water albedo |
232 |
|
|
C SEAICE_strength :: sea-ice strength Pstar |
233 |
|
|
C SEAICE_eccen :: sea-ice eccentricity of the elliptical yield curve |
234 |
|
|
C SEAICE_lhFusion :: latent heat of fusion for ice and snow (J/kg) |
235 |
|
|
C SEAICE_lhEvap :: latent heat of evaporation for water (J/kg) |
236 |
|
|
C SEAICE_dalton :: Dalton number (= sensible heat transfer coefficient) |
237 |
|
|
C SEAICE_iceConduct :: sea-ice conductivity |
238 |
|
|
C SEAICE_snowConduct :: snow conductivity |
239 |
|
|
C SEAICE_emissivity :: longwave ocean-surface emissivity (-) |
240 |
|
|
C SEAICE_ice_emiss :: longwave ice-surface emissivity (-) |
241 |
|
|
C SEAICE_snow_emiss :: longwave snow-surface emissivity (-) |
242 |
|
|
C SEAICE_boltzmann :: Stefan-Boltzman constant (not a run time parameter) |
243 |
|
|
C SEAICE_snowThick :: cutoff snow thickness (for snow-albedo) |
244 |
|
|
C SEAICE_shortwave :: ice penetration shortwave radiation factor |
245 |
|
|
C SEAICE_saltFrac :: salinity of newly formed seaice defined as a |
246 |
|
|
C fraction of the ocean surface salinity at the time |
247 |
|
|
C of freezing |
248 |
|
|
C SEAICE_salt0 :: prescribed salinity of seaice (in g/kg). |
249 |
|
|
C facOpenGrow :: 0./1. version of logical SEAICE_doOpenWaterGrowth |
250 |
|
|
C facOpenMelt :: 0./1. version of logical SEAICE_doOpenWaterMelt |
251 |
|
|
C SEAICE_mcPheePiston:: ocean-ice turbulent flux "piston velocity" (m/s) |
252 |
|
|
C that sets melt efficiency. |
253 |
|
|
C SEAICE_mcPheeTaper :: tapering down of turbulent flux term with ice |
254 |
|
|
C concentration. The 100% cover turb. flux is |
255 |
|
|
C multiplied by 1.-SEAICE_mcPheeTaper |
256 |
|
|
C SEAICE_frazilFrac :: Fraction of surface level negative heat content |
257 |
|
|
C anomalies (relative to the local freezing point) |
258 |
|
|
C may contribute as frazil over one time step. |
259 |
|
|
C SEAICE_tempFrz0 :: sea water freezing point is |
260 |
|
|
C SEAICE_dTempFrz_dS :: tempFrz = SEAICE_tempFrz0 + salt*SEAICE_dTempFrz_dS |
261 |
|
|
C SEAICEstressFactor :: factor by which ice affects wind stress (default=1) |
262 |
|
|
C LSR_ERROR :: sets accuracy of LSR solver |
263 |
|
|
C DIFF1 :: parameter used in advect.F |
264 |
|
|
C SEAICE_area_max :: usually set to 1. Seeting areaMax below 1 specifies |
265 |
|
|
C the minimun amount of leads (1-areaMax) in the |
266 |
|
|
C ice pack. |
267 |
|
|
C SEAICE_area_floor :: usually set to 1x10^-5. Specifies a minimun |
268 |
|
|
C ice fraction in the ice pack. |
269 |
|
|
C SEAICE_area_reg :: usually set to 1x10^-5. Specifies a minimun |
270 |
|
|
C ice fraction for the purposes of regularization |
271 |
|
|
C SEAICE_hice_reg :: usually set to 5 cm. Specifies a minimun |
272 |
|
|
C ice thickness for the purposes of regularization |
273 |
|
|
C SEAICEdiffKhArea :: sets the diffusivity for area (m^2/s) |
274 |
|
|
C SEAICEdiffKhHeff :: sets the diffusivity for effective thickness (m^2/s) |
275 |
|
|
C SEAICEdiffKhSnow :: sets the diffusivity for snow on sea-ice (m^2/s) |
276 |
|
|
C SEAICEdiffKhSalt :: sets the diffusivity for sea ice salinity (m^2/s) |
277 |
|
|
C SEAICE_airTurnAngle :: turning angles of air-ice interfacial stress |
278 |
|
|
C SEAICE_waterTurnAngle :: and ice-water interfacial stress (in degrees) |
279 |
dimitri |
1.2 |
C SEAICE_tauAreaObsRelax :: Timescale of relaxation to observed |
280 |
|
|
C sea ice concentration (s), default=unset |
281 |
dimitri |
1.1 |
C |
282 |
|
|
_RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp |
283 |
|
|
_RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq |
284 |
|
|
_RL SEAICE_initialHEFF |
285 |
|
|
_RL SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR |
286 |
|
|
_RL SEAICE_cpAir |
287 |
|
|
_RL SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb |
288 |
|
|
_RL SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb, HO |
289 |
|
|
_RL SEAICE_drag_south, SEAICE_waterDrag_south |
290 |
|
|
_RL SEAICE_dryIceAlb_south, SEAICE_wetIceAlb_south |
291 |
|
|
_RL SEAICE_drySnowAlb_south, SEAICE_wetSnowAlb_south, HO_south |
292 |
|
|
_RL SEAICE_wetAlbTemp, SEAICE_waterAlbedo |
293 |
|
|
_RL SEAICE_strength, SEAICE_eccen |
294 |
|
|
_RL SEAICE_lhFusion, SEAICE_lhEvap |
295 |
|
|
_RL SEAICE_dalton |
296 |
|
|
_RL SEAICE_iceConduct, SEAICE_snowConduct |
297 |
|
|
_RL SEAICE_emissivity, SEAICE_ice_emiss, SEAICE_snow_emiss |
298 |
|
|
_RL SEAICE_boltzmann |
299 |
|
|
_RL SEAICE_snowThick, SEAICE_shortwave |
300 |
|
|
_RL SEAICE_saltFrac, SEAICE_salt0, SEAICEstressFactor |
301 |
|
|
_RL SEAICE_mcPheeTaper, SEAICE_mcPheePiston |
302 |
|
|
_RL SEAICE_frazilFrac, SEAICE_availHeatFrac |
303 |
|
|
_RL facOpenGrow, facOpenMelt |
304 |
|
|
_RL SEAICE_tempFrz0, SEAICE_dTempFrz_dS |
305 |
|
|
_RL OCEAN_drag, LSR_ERROR, DIFF1 |
306 |
|
|
_RL SEAICE_area_reg, SEAICE_hice_reg |
307 |
|
|
_RL SEAICE_area_floor, SEAICE_area_max |
308 |
|
|
_RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
309 |
|
|
_RL SEAICE_elasticParm, SEAICE_evpTauRelax |
310 |
|
|
_RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac |
311 |
|
|
_RL SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow |
312 |
|
|
_RL SEAICEdiffKhSalt |
313 |
dimitri |
1.2 |
_RL SEAICE_tauAreaObsRelax |
314 |
dimitri |
1.1 |
|
315 |
|
|
COMMON /SEAICE_PARM_RL/ |
316 |
|
|
& SEAICE_deltaTtherm, SEAICE_deltaTdyn, |
317 |
|
|
& SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax, |
318 |
|
|
& SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac, |
319 |
|
|
& SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, |
320 |
|
|
& SEAICE_initialHEFF, |
321 |
|
|
& SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR, |
322 |
|
|
& SEAICE_drag, SEAICE_waterDrag, SEAICE_dryIceAlb, |
323 |
|
|
& SEAICE_wetIceAlb, SEAICE_drySnowAlb, SEAICE_wetSnowAlb, HO, |
324 |
|
|
& SEAICE_drag_south, SEAICE_waterDrag_south, |
325 |
|
|
& SEAICE_dryIceAlb_south, SEAICE_wetIceAlb_south, |
326 |
|
|
& SEAICE_drySnowAlb_south, SEAICE_wetSnowAlb_south, HO_south, |
327 |
|
|
& SEAICE_wetAlbTemp, SEAICE_waterAlbedo, |
328 |
|
|
& SEAICE_strength, SEAICE_eccen, |
329 |
|
|
& SEAICE_lhFusion, SEAICE_lhEvap, |
330 |
|
|
& SEAICE_dalton, SEAICE_cpAir, |
331 |
|
|
& SEAICE_iceConduct, SEAICE_snowConduct, |
332 |
|
|
& SEAICE_emissivity, SEAICE_ice_emiss, SEAICE_snow_emiss, |
333 |
|
|
& SEAICE_boltzmann, |
334 |
|
|
& SEAICE_snowThick, SEAICE_shortwave, |
335 |
|
|
& SEAICE_saltFrac, SEAICE_salt0, SEAICEstressFactor, |
336 |
|
|
& SEAICE_mcPheeTaper, SEAICE_mcPheePiston, |
337 |
|
|
& SEAICE_frazilFrac, SEAICE_availHeatFrac, |
338 |
|
|
& facOpenGrow, facOpenMelt, |
339 |
|
|
& SEAICE_tempFrz0, SEAICE_dTempFrz_dS, |
340 |
|
|
& OCEAN_drag, LSR_ERROR, DIFF1, |
341 |
|
|
& SEAICE_area_reg, SEAICE_hice_reg, |
342 |
|
|
& SEAICE_area_floor, SEAICE_area_max, |
343 |
|
|
& SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow, |
344 |
dimitri |
1.2 |
& SEAICEdiffKhSalt, SEAICE_tauAreaObsRelax, |
345 |
dimitri |
1.1 |
& SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
346 |
|
|
|
347 |
|
|
C-- COMMON /SEAICE_BOUND_RL/ Various bounding values |
348 |
|
|
C MAX_HEFF :: maximum ice thickness (m) |
349 |
|
|
C MIN_ATEMP :: minimum air temperature (deg C) |
350 |
|
|
C MIN_LWDOWN :: minimum downward longwave (W/m^2) |
351 |
|
|
C MIN_TICE :: minimum ice temperature (deg C) |
352 |
|
|
C SEAICE_EPS :: small number used to reduce derivative singularities |
353 |
|
|
C SEAICE_EPS_SQ :: small number square |
354 |
dimitri |
1.2 |
CToM<<< |
355 |
|
|
C Hlimit :: ice thickness category limits (m), array of size nITD+1 |
356 |
|
|
C Hlimit_c1,_c2,_c3 :: coefficients set in seaice_readparams.F to calculate Hlimit in seaice_init_fixed.F |
357 |
|
|
C>>>ToM |
358 |
dimitri |
1.1 |
C |
359 |
|
|
_RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE |
360 |
|
|
_RL SEAICE_EPS, SEAICE_EPS_SQ |
361 |
dimitri |
1.2 |
CToM<<< |
362 |
|
|
_RL Hlimit(0:nITD) |
363 |
|
|
_RL Hlimit_c1, Hlimit_c2, Hlimit_c3 |
364 |
|
|
C>>>ToM |
365 |
dimitri |
1.1 |
COMMON /SEAICE_BOUND_RL/ |
366 |
|
|
& MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE, |
367 |
dimitri |
1.2 |
CToM<<< |
368 |
|
|
C & SEAICE_EPS, SEAICE_EPS_SQ |
369 |
|
|
& SEAICE_EPS, SEAICE_EPS_SQ, |
370 |
|
|
& Hlimit, |
371 |
|
|
& Hlimit_c1,Hlimit_c2,Hlimit_c3 |
372 |
|
|
C>>>ToM |
373 |
dimitri |
1.1 |
|
374 |
|
|
C-- Constants used by sea-ice model |
375 |
|
|
_RL ZERO , ONE , TWO |
376 |
|
|
PARAMETER ( ZERO = 0.0 _d 0, ONE = 1.0 _d 0, TWO = 2.0 _d 0 ) |
377 |
|
|
_RL QUART , HALF |
378 |
|
|
PARAMETER ( QUART = 0.25 _d 0, HALF = 0.5 _d 0 ) |
379 |
|
|
_RL siEps |
380 |
|
|
PARAMETER ( siEps = 1. _d -5 ) |
381 |
|
|
INTEGER MPSEUDOTIMESTEPS |
382 |
|
|
PARAMETER (MPSEUDOTIMESTEPS=2) |
383 |
|
|
|
384 |
|
|
C-- Constants needed by McPhee formulas for turbulent ocean fluxes : |
385 |
|
|
C Stanton number (dimensionless), typical friction velocity |
386 |
|
|
C beneath sea ice (m/s), and tapering factor (dimensionless) |
387 |
|
|
_RL STANTON_NUMBER, USTAR_BASE, MCPHEE_TAPER_FAC |
388 |
|
|
PARAMETER ( MCPHEE_TAPER_FAC = 12.5 _d 0 , STANTON_NUMBER = |
389 |
|
|
& 0.0056 _d 0, USTAR_BASE = 0.0125 _d 0 ) |
390 |
|
|
|
391 |
|
|
C-- identifiers for advected properties |
392 |
|
|
INTEGER GAD_HEFF,GAD_AREA,GAD_QICE1,GAD_QICE2,GAD_SNOW |
393 |
|
|
INTEGER GAD_SALT,GAD_SITR |
394 |
|
|
PARAMETER ( GAD_HEFF = 1, |
395 |
|
|
& GAD_AREA = 2, |
396 |
|
|
& GAD_SNOW = 3, |
397 |
|
|
& GAD_SALT = 4, |
398 |
|
|
& GAD_QICE1 = 5, |
399 |
|
|
& GAD_QICE2 = 6, |
400 |
|
|
& GAD_SITR = 7) |
401 |
|
|
|
402 |
|
|
CEH3 ;;; Local Variables: *** |
403 |
|
|
CEH3 ;;; mode:fortran *** |
404 |
|
|
CEH3 ;;; End: *** |