7 |
C *==========================================================* |
C *==========================================================* |
8 |
|
|
9 |
C-- COMMON /SEAICE_PARM_L/ Logical parameters of sea ice model. |
C-- COMMON /SEAICE_PARM_L/ Logical parameters of sea ice model. |
10 |
C |
C - dynamics: |
|
C SEAICEwriteState :: If true, write sea ice state to file; |
|
|
C default is false. |
|
11 |
C SEAICEuseDYNAMICS :: If false, do not use dynamics; |
C SEAICEuseDYNAMICS :: If false, do not use dynamics; |
12 |
C default is to 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 |
|
13 |
C SEAICEuseFREEDRIFT :: If True use free drift velocity instead of EVP |
C SEAICEuseFREEDRIFT :: If True use free drift velocity instead of EVP |
14 |
C or LSR |
C or LSR |
15 |
C SEAICEuseJFNK :: If true, use Jacobi-free Newton-Krylov solver |
C SEAICEuseEVP :: If true use elastic viscous plastic solver |
16 |
C instead of LSR (default: false) |
C SEAICEuseEVPstar :: If true use modified elastic viscous plastic |
17 |
C SEAICEuseTILT :: If true then include surface tilt term in dynamics |
C solver (EVP*) by Lemieux et al (2012) |
|
C SEAICEheatConsFix :: If true then fix ocn<->seaice advective heat flux. |
|
18 |
C SEAICEuseEVPpickup :: Set to false in order to start EVP solver with |
C SEAICEuseEVPpickup :: Set to false in order to start EVP solver with |
19 |
C non-EVP pickup files. Default is true. |
C non-EVP pickup files. Default is true. |
20 |
C Applied only if SEAICEuseEVP=.TRUE. |
C Applied only if SEAICEuseEVP=.TRUE. |
21 |
C SEAICEuseFluxForm :: use flux form for advection and diffusion |
C SEAICEuseMultiTileSolver :: in LSR, use full domain tri-diagonal solver |
22 |
C of seaice |
C SEAICEuseJFNK :: If true, use Jacobi-free Newton-Krylov solver |
23 |
|
C instead of LSR (default: false) |
24 |
|
C SEAICEuseTEM :: to use truncated ellipse method (see Geiger et al. |
25 |
|
C 1998) set this parameter to true, default is false |
26 |
|
C SEAICEuseTilt :: If true then include surface tilt term in dynamics |
27 |
C SEAICEuseMetricTerms :: use metric terms for dynamics solver |
C SEAICEuseMetricTerms :: use metric terms for dynamics solver |
28 |
C (default = .true. ) |
C (default = .true. ) |
29 |
C SEAICEuseFlooding :: turn on scheme to convert submerged snow into ice |
C SEAICE_no_slip :: apply no slip boundary conditions to seaice velocity |
30 |
|
C SEAICE_maskRHS :: mask the RHS of the solver where there is no ice |
31 |
|
C SEAICE_clipVelocities :: clip velocities to +/- 40cm/s |
32 |
|
C useHB87stressCoupling :: use an intergral over ice and ocean surface |
33 |
|
C layer to define surface stresses on ocean |
34 |
|
C following Hibler and Bryan (1987, JPO) |
35 |
|
C - advection: |
36 |
|
C SEAICEuseFluxForm :: use flux form for advection and diffusion |
37 |
|
C of seaice |
38 |
C SEAICEadvHeff :: turn on advection of effective thickness |
C SEAICEadvHeff :: turn on advection of effective thickness |
39 |
C (default = .true.) |
C (default = .true.) |
40 |
C SEAICEadvArea :: turn on advection of fraction area |
C SEAICEadvArea :: turn on advection of fraction area |
43 |
C non-default Leap-frog scheme for advection) |
C non-default Leap-frog scheme for advection) |
44 |
C SEAICEadvSalt :: turn on advection of salt (does not work with |
C SEAICEadvSalt :: turn on advection of salt (does not work with |
45 |
C non-default Leap-frog scheme for advection) |
C non-default Leap-frog scheme for advection) |
46 |
C useHB87stressCoupling :: use an intergral over ice and ocean surface |
C - thermodynamics: |
|
C layer to define surface stresses on ocean |
|
|
C following Hibler and Bryan (1987, JPO) |
|
47 |
C usePW79thermodynamics :: use "0-layer" thermodynamics as described in |
C usePW79thermodynamics :: use "0-layer" thermodynamics as described in |
48 |
C Parkinson and Washington (1979) and Hibler (1979) |
C Parkinson and Washington (1979) and Hibler (1979) |
49 |
|
C SEAICE_useMultDimSnow :: use same fixed pdf for snow as for |
50 |
|
C MULITCATEGORY ice |
51 |
|
C SEAICEuseFlooding :: turn on scheme to convert submerged snow into ice |
52 |
|
C SEAICEheatConsFix :: If true then fix ocn<->seaice advective heat flux. |
53 |
C useMaykutSatVapPoly :: use Maykut Polynomial for saturation vapor pressure |
C useMaykutSatVapPoly :: use Maykut Polynomial for saturation vapor pressure |
54 |
C instead of extended temp-range exponential law; def=F. |
C instead of extended temp-range exponential law; def=F. |
55 |
C SEAICE_mcPheeStepFunc :: use step function (not linear tapering) in |
C SEAICE_mcPheeStepFunc :: use step function (not linear tapering) in |
56 |
C ocean-ice turbulent flux |
C ocean-ice turbulent flux |
|
C SEAICE_useMultDimSnow :: use same fixed pdf for snow as for MULITCATEGORY ICE |
|
57 |
C SEAICE_doOpenWaterGrowth :: use open water heat flux directly to grow ice |
C SEAICE_doOpenWaterGrowth :: use open water heat flux directly to grow ice |
58 |
C (when false cool ocean, and grow later if needed) |
C (when false cool ocean, and grow later if needed) |
59 |
C SEAICE_doOpenWaterMelt :: use open water heat flux directly to melt ice |
C SEAICE_doOpenWaterMelt :: use open water heat flux directly to melt ice |
60 |
C (when false warm ocean, and melt later if needed) |
C (when false warm ocean, and melt later if needed) |
61 |
C SEAICE_salinityTracer :: use SItracer to exchange and trace ocean |
C SEAICE_salinityTracer :: use SItracer to exchange and trace ocean |
62 |
C salt in ice |
C salt in ice |
63 |
C SEAICE_age Tracer :: use SItracer to trace the age of ice |
C SEAICE_ageTracer :: use SItracer to trace the age of ice |
64 |
C SEAICErestoreUnderIce :: restore surface T/S also underneath ice |
C SEAICErestoreUnderIce :: restore surface T/S also underneath ice |
65 |
C ( default is false ) |
C ( default is false ) |
66 |
C SEAICE_no_slip :: apply no slip boundary conditions to seaice velocity |
C - other (I/O, ...): |
67 |
C SEAICE_clipVelocities :: clip velocities to +/- 40cm/s |
C SEAICEwriteState :: If true, write sea ice state to file; |
68 |
C SEAICE_maskRHS :: mask the RHS of the solver where there is no ice |
C default is false. |
69 |
C SEAICE_tave_mdsio :: write TimeAverage output using MDSIO |
C SEAICE_tave_mdsio :: write TimeAverage output using MDSIO |
70 |
C SEAICE_dump_mdsio :: write snap-shot output using MDSIO |
C SEAICE_dump_mdsio :: write snap-shot output using MDSIO |
71 |
C SEAICE_mon_stdio :: write monitor to std-outp |
C SEAICE_mon_stdio :: write monitor to std-outp |
73 |
C SEAICE_dump_mnc :: write snap-shot output using MNC |
C SEAICE_dump_mnc :: write snap-shot output using MNC |
74 |
C SEAICE_mon_mnc :: write monitor to netcdf file |
C SEAICE_mon_mnc :: write monitor to netcdf file |
75 |
LOGICAL |
LOGICAL |
76 |
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
& SEAICEuseDYNAMICS, SEAICEuseFREEDRIFT, |
77 |
& SEAICEuseFREEDRIFT, SEAICEuseTILT, SEAICEuseTEM, |
& SEAICEuseEVP, SEAICEuseEVPstar, SEAICEuseEVPpickup, |
78 |
|
& SEAICEuseMultiTileSolver, |
79 |
& SEAICEuseJFNK, |
& SEAICEuseJFNK, |
80 |
& SEAICEheatConsFix, |
& SEAICEuseTEM, SEAICEuseTilt, SEAICEuseMetricTerms, |
81 |
& SEAICEuseMetricTerms, |
& SEAICE_no_slip, SEAICE_maskRHS, |
82 |
& SEAICEuseEVPpickup, SEAICEuseFlooding, |
& SEAICE_clipVelocities, useHB87stressCoupling, |
83 |
& SEAICEadvHeff, SEAICEadvArea, |
& SEAICEuseFluxForm, SEAICEadvHeff, SEAICEadvArea, |
84 |
& SEAICEadvSnow, SEAICEadvSalt, |
& SEAICEadvSnow, SEAICEadvSalt, |
85 |
& SEAICEuseFluxForm, useHB87stressCoupling, |
& usePW79thermodynamics, |
86 |
& usePW79thermodynamics, useMaykutSatVapPoly, |
& SEAICE_useMultDimSnow, SEAICEuseFlooding, SEAICEheatConsFix, |
87 |
& SEAICE_mcPheeStepFunc, SEAICE_useMultDimSnow, |
& useMaykutSatVapPoly, SEAICE_mcPheeStepFunc, |
88 |
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
89 |
& SEAICE_salinityTracer, SEAICE_ageTracer, |
& SEAICE_salinityTracer, SEAICE_ageTracer, |
90 |
& SEAICErestoreUnderIce, |
& SEAICErestoreUnderIce, |
91 |
& SEAICE_no_slip, SEAICE_clipVelocities, SEAICE_maskRHS, |
& SEAICEwriteState, |
92 |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
93 |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
94 |
COMMON /SEAICE_PARM_L/ |
COMMON /SEAICE_PARM_L/ |
95 |
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP, |
& SEAICEuseDYNAMICS, SEAICEuseFREEDRIFT, |
96 |
& SEAICEuseFREEDRIFT, SEAICEuseTILT, SEAICEuseTEM, |
& SEAICEuseEVP, SEAICEuseEVPstar, SEAICEuseEVPpickup, |
97 |
|
& SEAICEuseMultiTileSolver, |
98 |
& SEAICEuseJFNK, |
& SEAICEuseJFNK, |
99 |
& SEAICEheatConsFix, |
& SEAICEuseTEM, SEAICEuseTilt, SEAICEuseMetricTerms, |
100 |
& SEAICEuseMetricTerms, |
& SEAICE_no_slip, SEAICE_maskRHS, |
101 |
& SEAICEuseEVPpickup, SEAICEuseFlooding, |
& SEAICE_clipVelocities, useHB87stressCoupling, |
102 |
& SEAICEadvHeff, SEAICEadvArea, |
& SEAICEuseFluxForm, SEAICEadvHeff, SEAICEadvArea, |
103 |
& SEAICEadvSnow, SEAICEadvSalt, |
& SEAICEadvSnow, SEAICEadvSalt, |
104 |
& SEAICEuseFluxForm, useHB87stressCoupling, |
& usePW79thermodynamics, |
105 |
& usePW79thermodynamics, useMaykutSatVapPoly, |
& SEAICE_useMultDimSnow, SEAICEuseFlooding, SEAICEheatConsFix, |
106 |
& SEAICE_mcPheeStepFunc, SEAICE_useMultDimSnow, |
& useMaykutSatVapPoly, SEAICE_mcPheeStepFunc, |
107 |
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
108 |
& SEAICE_salinityTracer, SEAICE_ageTracer, |
& SEAICE_salinityTracer, SEAICE_ageTracer, |
109 |
& SEAICErestoreUnderIce, |
& SEAICErestoreUnderIce, |
110 |
& SEAICE_no_slip, SEAICE_clipVelocities, SEAICE_maskRHS, |
& SEAICEwriteState, |
111 |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
& SEAICE_tave_mdsio, SEAICE_dump_mdsio, SEAICE_mon_stdio, |
112 |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc |
113 |
|
|
114 |
C-- COMMON /SEAICE_PARM_I/ Integer valued parameters of sea ice model. |
C-- COMMON /SEAICE_PARM_I/ Integer valued parameters of sea ice model. |
115 |
C IMAX_TICE :: number of iterations for ice surface temp (default=10) |
C IMAX_TICE :: number of iterations for ice surface temp |
116 |
C postSolvTempIter :: select flux calculation after surf. temp solver iteration |
C (default=10) |
117 |
C 0 = none, i.e., from last iter ; 2 = full non-lin form |
C postSolvTempIter :: select flux calculation after surf. temp solver |
118 |
C 1 = use linearized approx (consistent with tsurf finding) |
C iteration |
119 |
|
C 0 = none, i.e., from last iter |
120 |
|
C 1 = use linearized approx (consistent with tsurf |
121 |
|
C finding) |
122 |
|
C 2 = full non-lin form |
123 |
C SOLV_MAX_ITERS :: maximum number of allowed LSR-solver iterations |
C SOLV_MAX_ITERS :: maximum number of allowed LSR-solver iterations |
124 |
C SOLV_NCHECK :: iteration interval for solver convergence test |
C SOLV_NCHECK :: iteration interval for solver convergence test |
125 |
C NPSEUDOTIMESTEPS :: number of extra pseudo time steps (>= 2) |
C NPSEUDOTIMESTEPS :: number of extra pseudo time steps (>= 2) |
126 |
C SEAICEnewtonIterMax :: maximum number of allowed Newton iterations |
C SEAICEnEVPstarSteps :: number of evp*-steps |
127 |
|
C SEAICEnewtonIterMax :: maximum number of allowed Newton iterations |
128 |
C in JFNK-solver |
C in JFNK-solver |
129 |
C SEAICEkrylovIterMax :: maximum number of allowed Krylov iterations |
C SEAICEkrylovIterMax :: maximum number of allowed Krylov iterations |
130 |
C in JFNK-solver |
C in JFNK-solver |
131 |
C LSR_mixIniGuess :: control mixing of free-drift sol. into LSR initial guess |
C SEAICE_JFNK_lsIter :: number of Newton iterations after which the |
132 |
C :: =0 : no mix ; =2,4 : mix with (1/err)^2,4 factor |
C line search is started |
133 |
|
C SEAICE_JFNK_tolIter :: number of Newton iterations after which the |
134 |
|
C the tolerance is relaxed again (default = 100) |
135 |
|
C SEAICE_OLx/y :: overlaps for LSR-preconditioner in JFNK solver; |
136 |
|
C for 0 < SEAICE_OLx/y 0 <= OLx/y-2 |
137 |
|
C the preconditioner is a restricted additive |
138 |
|
C Schwarz method (default = OLx/y-2). |
139 |
|
C LSR_mixIniGuess :: control mixing of free-drift sol. into LSR initial |
140 |
|
C guess |
141 |
|
C :: =0 : nothing; =1 : no mix, but print free-drift |
142 |
|
C resid.; |
143 |
|
C :: =2,4 : mix with (1/local-residual)^2,4 factor |
144 |
C SEAICEpresPow0 :: HEFF exponent for ice strength below SEAICEpresH0 |
C SEAICEpresPow0 :: HEFF exponent for ice strength below SEAICEpresH0 |
145 |
C SEAICEpresPow1 :: HEFF exponent for ice strength above SEAICEpresH0 |
C SEAICEpresPow1 :: HEFF exponent for ice strength above SEAICEpresH0 |
146 |
C SEAICEadvScheme :: sets the advection scheme for thickness and area |
C SEAICEadvScheme :: sets the advection scheme for thickness and area |
154 |
C :: 1=from all but only melt conributions by ATM and OCN |
C :: 1=from all but only melt conributions by ATM and OCN |
155 |
C :: 2=from net melt-growth>0 by ATM and OCN |
C :: 2=from net melt-growth>0 by ATM and OCN |
156 |
C :: 3=from predicted melt by ATM |
C :: 3=from predicted melt by ATM |
157 |
C SEAICE_areaGainFormula :: selects formula for ice cover gain from open water growth |
C SEAICE_areaGainFormula :: selects formula for ice cover gain from open |
158 |
|
C water growth |
159 |
C :: 1=from growth by ATM |
C :: 1=from growth by ATM |
160 |
C :: 2=from predicted growth by ATM |
C :: 2=from predicted growth by ATM |
161 |
|
C SEAICEetaZmethod :: determines how shear-viscosity eta is computed at |
162 |
|
C Z-points |
163 |
|
C 0=simple averaging from C-points (default and old) |
164 |
|
C 1=linear averaging of strain rates to Z-points |
165 |
|
C 2=averaging of squares of strain rates |
166 |
C SEAICE_multDim :: number of ice categories |
C SEAICE_multDim :: number of ice categories |
167 |
C SEAICE_debugPointI :: I,J index for seaice-specific debuggin |
C SEAICE_debugPointI :: I,J index for seaice-specific debuggin |
168 |
C SEAICE_debugPointJ |
C SEAICE_debugPointJ |
171 |
INTEGER SOLV_MAX_ITERS, SOLV_NCHECK |
INTEGER SOLV_MAX_ITERS, SOLV_NCHECK |
172 |
INTEGER NPSEUDOTIMESTEPS |
INTEGER NPSEUDOTIMESTEPS |
173 |
INTEGER LSR_mixIniGuess |
INTEGER LSR_mixIniGuess |
174 |
|
INTEGER SEAICEnEVPstarSteps |
175 |
INTEGER SEAICEnewtonIterMax, SEAICEkrylovIterMax |
INTEGER SEAICEnewtonIterMax, SEAICEkrylovIterMax |
176 |
|
INTEGER SEAICE_JFNK_lsIter, SEAICE_JFNK_tolIter |
177 |
|
INTEGER SEAICE_OLx, SEAICE_OLy |
178 |
INTEGER SEAICEadvScheme |
INTEGER SEAICEadvScheme |
179 |
INTEGER SEAICEadvSchArea |
INTEGER SEAICEadvSchArea |
180 |
INTEGER SEAICEadvSchHeff |
INTEGER SEAICEadvSchHeff |
183 |
INTEGER SEAICEadjMODE |
INTEGER SEAICEadjMODE |
184 |
INTEGER SEAICE_areaLossFormula |
INTEGER SEAICE_areaLossFormula |
185 |
INTEGER SEAICE_areaGainFormula |
INTEGER SEAICE_areaGainFormula |
186 |
|
INTEGER SEAICEetaZmethod |
187 |
INTEGER SEAICE_multDim |
INTEGER SEAICE_multDim |
188 |
INTEGER SEAICE_debugPointI |
INTEGER SEAICE_debugPointI |
189 |
INTEGER SEAICE_debugPointJ |
INTEGER SEAICE_debugPointJ |
193 |
& SOLV_MAX_ITERS, SOLV_NCHECK, |
& SOLV_MAX_ITERS, SOLV_NCHECK, |
194 |
& NPSEUDOTIMESTEPS, |
& NPSEUDOTIMESTEPS, |
195 |
& LSR_mixIniGuess, |
& LSR_mixIniGuess, |
196 |
|
& SEAICEnEVPstarSteps, |
197 |
& SEAICEnewtonIterMax, SEAICEkrylovIterMax, |
& SEAICEnewtonIterMax, SEAICEkrylovIterMax, |
198 |
|
& SEAICE_JFNK_lsIter, SEAICE_OLx, SEAICE_OLy, |
199 |
|
& SEAICE_JFNK_tolIter, |
200 |
& SEAICEpresPow0, SEAICEpresPow1, |
& SEAICEpresPow0, SEAICEpresPow1, |
201 |
& SEAICEadvScheme, |
& SEAICEadvScheme, |
202 |
& SEAICEadvSchArea, |
& SEAICEadvSchArea, |
207 |
& SEAICE_areaLossFormula, |
& SEAICE_areaLossFormula, |
208 |
& SEAICE_areaGainFormula, |
& SEAICE_areaGainFormula, |
209 |
& SEAICE_multDim, |
& SEAICE_multDim, |
210 |
|
& SEAICEetaZmethod, |
211 |
& SEAICE_debugPointI, |
& SEAICE_debugPointI, |
212 |
& SEAICE_debugPointJ |
& SEAICE_debugPointJ |
213 |
|
|
236 |
C-- COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model. |
C-- COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model. |
237 |
C SEAICE_deltaTtherm :: Seaice timestep for thermodynamic equations (s) |
C SEAICE_deltaTtherm :: Seaice timestep for thermodynamic equations (s) |
238 |
C SEAICE_deltaTdyn :: Seaice timestep for dynamic solver (s) |
C SEAICE_deltaTdyn :: Seaice timestep for dynamic solver (s) |
239 |
|
C SEAICE_LSRrelaxU/V :: relaxation parameter for LSR-solver: U/V-component |
240 |
C SEAICE_deltaTevp :: Seaice timestep for EVP solver (s) |
C SEAICE_deltaTevp :: Seaice timestep for EVP solver (s) |
241 |
C SEAICE_elasticParm :: parameter that sets relaxation timescale |
C SEAICE_elasticParm :: parameter that sets relaxation timescale |
242 |
C tau = SEAICE_elasticParm * SEAICE_deltaTdyn |
C tau = SEAICE_elasticParm * SEAICE_deltaTdyn |
243 |
C SEAICE_evpTauRelax :: relaxation timescale tau (s) |
C SEAICE_evpTauRelax :: relaxation timescale tau (s) |
244 |
C SEAICE_evpDampC :: evp damping constant (Hunke,JCP,2001) (kg/m^2) |
C SEAICE_evpDampC :: evp damping constant (Hunke,JCP,2001) (kg/m^2) |
245 |
|
C SEAICE_evpAlpha :: dimensionless parameter 2*evpTauRelax/deltaTevp |
246 |
|
C SEAICE_evpBeta :: dimensionless parameter deltaTdyn/deltaTevp |
247 |
C JFNKgamma_nonlin :: non-linear tolerance parameter for JFNK solver |
C JFNKgamma_nonlin :: non-linear tolerance parameter for JFNK solver |
248 |
C JFNKgamma_lin_min/max :: tolerance parameters for linear JFNK solver |
C JFNKgamma_lin_min/max :: tolerance parameters for linear JFNK solver |
249 |
C JFNKres_t :: tolerance parameter for FGMRES residual |
C JFNKres_t :: tolerance parameter for FGMRES residual |
250 |
|
C JFNKres_tFac :: if set, JFNKres_t=JFNKres_tFac*(initial residual) |
251 |
|
C SEAICE_JFNKepsilon :: step size for the FD-gradient in s/r seaice_jacvec |
252 |
C SEAICE_zetaMaxFac :: factor determining the maximum viscosity (s) |
C SEAICE_zetaMaxFac :: factor determining the maximum viscosity (s) |
253 |
C (default = 5.e+12/2.e4 = 2.5e8) |
C (default = 5.e+12/2.e4 = 2.5e8) |
254 |
C SEAICE_zetaMin :: lower bound for viscosity (default = 0) (N s/m^2) |
C SEAICE_zetaMin :: lower bound for viscosity (default = 0) (N s/m^2) |
339 |
C SEAICEdiffKhSalt :: sets the diffusivity for sea ice salinity (m^2/s) |
C SEAICEdiffKhSalt :: sets the diffusivity for sea ice salinity (m^2/s) |
340 |
C SEAICE_airTurnAngle :: turning angles of air-ice interfacial stress |
C SEAICE_airTurnAngle :: turning angles of air-ice interfacial stress |
341 |
C SEAICE_waterTurnAngle :: and ice-water interfacial stress (in degrees) |
C SEAICE_waterTurnAngle :: and ice-water interfacial stress (in degrees) |
342 |
C SEAICE_tauAreaObsRelax :: Timescale of relaxation to observed |
C SEAICE_tauAreaObsRelax :: Timescale of relaxation to observed |
343 |
C sea ice concentration (s), default=unset |
C sea ice concentration (s), default=unset |
344 |
C |
C |
345 |
_RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp |
_RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp |
346 |
|
_RL SEAICE_LSRrelaxU, SEAICE_LSRrelaxV |
347 |
_RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq |
_RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq |
348 |
_RL SEAICE_initialHEFF |
_RL SEAICE_initialHEFF |
349 |
_RL SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR |
_RL SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR |
367 |
_RL facOpenGrow, facOpenMelt |
_RL facOpenGrow, facOpenMelt |
368 |
_RL SEAICE_tempFrz0, SEAICE_dTempFrz_dS |
_RL SEAICE_tempFrz0, SEAICE_dTempFrz_dS |
369 |
_RL OCEAN_drag, LSR_ERROR, DIFF1 |
_RL OCEAN_drag, LSR_ERROR, DIFF1 |
370 |
_RL JFNKgamma_nonlin, JFNKres_t |
_RL JFNKgamma_nonlin, JFNKres_t, JFNKres_tFac |
371 |
_RL JFNKgamma_lin_min, JFNKgamma_lin_max |
_RL JFNKgamma_lin_min, JFNKgamma_lin_max, SEAICE_JFNKepsilon |
372 |
_RL SEAICE_area_reg, SEAICE_hice_reg |
_RL SEAICE_area_reg, SEAICE_hice_reg |
373 |
_RL SEAICE_area_floor, SEAICE_area_max |
_RL SEAICE_area_floor, SEAICE_area_max |
374 |
_RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
_RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
375 |
_RL SEAICE_elasticParm, SEAICE_evpTauRelax |
_RL SEAICE_elasticParm, SEAICE_evpTauRelax |
376 |
|
_RL SEAICE_evpAlpha, SEAICE_evpBeta |
377 |
_RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac |
_RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac |
378 |
_RL SEAICEpresH0 |
_RL SEAICEpresH0 |
379 |
_RL SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow |
_RL SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow |
382 |
|
|
383 |
COMMON /SEAICE_PARM_RL/ |
COMMON /SEAICE_PARM_RL/ |
384 |
& SEAICE_deltaTtherm, SEAICE_deltaTdyn, |
& SEAICE_deltaTtherm, SEAICE_deltaTdyn, |
385 |
|
& SEAICE_LSRrelaxU, SEAICE_LSRrelaxV, |
386 |
& SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax, |
& SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax, |
387 |
|
& SEAICE_evpAlpha, SEAICE_evpBeta, |
388 |
& SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac, |
& SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac, |
389 |
& SEAICEpresH0, |
& SEAICEpresH0, |
390 |
& SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, |
& SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, |
409 |
& facOpenGrow, facOpenMelt, |
& facOpenGrow, facOpenMelt, |
410 |
& SEAICE_tempFrz0, SEAICE_dTempFrz_dS, |
& SEAICE_tempFrz0, SEAICE_dTempFrz_dS, |
411 |
& OCEAN_drag, LSR_ERROR, DIFF1, |
& OCEAN_drag, LSR_ERROR, DIFF1, |
412 |
& JFNKgamma_nonlin, JFNKres_t, |
& JFNKgamma_nonlin, JFNKres_t, JFNKres_tFac, |
413 |
& JFNKgamma_lin_min, JFNKgamma_lin_max, |
& JFNKgamma_lin_min, JFNKgamma_lin_max, SEAICE_JFNKepsilon, |
414 |
& SEAICE_area_reg, SEAICE_hice_reg, |
& SEAICE_area_reg, SEAICE_hice_reg, |
415 |
& SEAICE_area_floor, SEAICE_area_max, |
& SEAICE_area_floor, SEAICE_area_max, |
416 |
& SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow, |
& SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow, |
418 |
& SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
& SEAICE_airTurnAngle, SEAICE_waterTurnAngle |
419 |
|
|
420 |
C-- COMMON /SEAICE_BOUND_RL/ Various bounding values |
C-- COMMON /SEAICE_BOUND_RL/ Various bounding values |
|
C MAX_HEFF :: maximum ice thickness (m) |
|
421 |
C MIN_ATEMP :: minimum air temperature (deg C) |
C MIN_ATEMP :: minimum air temperature (deg C) |
422 |
C MIN_LWDOWN :: minimum downward longwave (W/m^2) |
C MIN_LWDOWN :: minimum downward longwave (W/m^2) |
423 |
C MIN_TICE :: minimum ice temperature (deg C) |
C MIN_TICE :: minimum ice temperature (deg C) |
424 |
C SEAICE_EPS :: small number used to reduce derivative singularities |
C SEAICE_EPS :: small number used to reduce derivative singularities |
425 |
C SEAICE_EPS_SQ :: small number square |
C SEAICE_EPS_SQ :: small number square |
426 |
C |
C |
427 |
_RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE |
_RL MIN_ATEMP, MIN_LWDOWN, MIN_TICE |
428 |
_RL SEAICE_EPS, SEAICE_EPS_SQ |
_RL SEAICE_EPS, SEAICE_EPS_SQ |
429 |
COMMON /SEAICE_BOUND_RL/ |
COMMON /SEAICE_BOUND_RL/ |
430 |
& MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE, |
& MIN_ATEMP, MIN_LWDOWN, MIN_TICE, |
431 |
& SEAICE_EPS, SEAICE_EPS_SQ |
& SEAICE_EPS, SEAICE_EPS_SQ |
432 |
|
|
433 |
#ifdef SEAICE_ITD |
#ifdef SEAICE_ITD |
434 |
CToM<<< |
C Hlimit :: ice thickness category limits (m), array of |
435 |
C Hlimit :: ice thickness category limits (m), array of size nITD+1 |
C size nITD+1 |
436 |
C Hlimit_c1,_c2,_c3 :: coefficients set in seaice_readparams.F to calculate Hlimit in seaice_init_fixed.F |
C Hlimit_c1,_c2,_c3 :: coefficients set in seaice_readparams.F to |
437 |
|
C calculate Hlimit in seaice_init_fixed.F |
438 |
_RL Hlimit(0:nITD) |
_RL Hlimit(0:nITD) |
439 |
_RL Hlimit_c1, Hlimit_c2, Hlimit_c3 |
_RL Hlimit_c1, Hlimit_c2, Hlimit_c3 |
440 |
COMMON /SEAICE_BOUND_ITD_RL/ |
COMMON /SEAICE_BOUND_ITD_RL/ |
441 |
& Hlimit, |
& Hlimit, |
442 |
& Hlimit_c1,Hlimit_c2,Hlimit_c3 |
& Hlimit_c1,Hlimit_c2,Hlimit_c3 |
|
C>>>ToM |
|
443 |
#endif /* SEAICE_ITD */ |
#endif /* SEAICE_ITD */ |
444 |
|
|
445 |
C-- Constants used by sea-ice model |
C-- Constants used by sea-ice model |