71 |
C SEAICE_freeze :: FREEZING TEMP. OF SEA WATER |
C SEAICE_freeze :: FREEZING TEMP. OF SEA WATER |
72 |
_RL SEAICE_sensHeat, SEAICE_latentWater, SEAICE_latentIce |
_RL SEAICE_sensHeat, SEAICE_latentWater, SEAICE_latentIce |
73 |
_RL SEAICE_salinity, SIsalFRAC, SIsal0 |
_RL SEAICE_salinity, SIsalFRAC, SIsal0 |
74 |
_RL SEAICE_lhSublim, SEAICE_freeze |
_RL SEAICE_lhSublim, SEAICE_freeze, MAX_HEFF |
75 |
_RL areaMin, areaMax, A22, hiceMin, MAX_TICE |
_RL areaMin, areaMax, A22, hiceMin, MAX_TICE |
76 |
LOGICAL SEAICEadvAge |
LOGICAL SEAICEadvAge |
77 |
INTEGER SEAICEadvSchAge, LAD, SEAICEturbFluxFormula |
INTEGER SEAICEadvSchAge, LAD, SEAICEturbFluxFormula |
80 |
|
|
81 |
C-- SEAICE parameters |
C-- SEAICE parameters |
82 |
NAMELIST /SEAICE_PARM01/ |
NAMELIST /SEAICE_PARM01/ |
83 |
& SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseTEM, |
& SEAICEuseDYNAMICS, SEAICEuseFREEDRIFT, |
84 |
& SEAICEuseEVPpickup, SEAICEuseFluxForm, |
& SEAICEuseTEM, SEAICEuseMetricTerms, SEAICEuseTilt, |
|
& SEAICEuseMetricTerms, |
|
85 |
& useHB87stressCoupling, SEAICEuseFlooding, |
& useHB87stressCoupling, SEAICEuseFlooding, |
86 |
& usePW79thermodynamics, useMaykutSatVapPoly, |
& usePW79thermodynamics, useMaykutSatVapPoly, |
87 |
& SEAICErestoreUnderIce, |
& SEAICErestoreUnderIce, |
90 |
& SEAICEadvSalt, SEAICEadvAge, |
& SEAICEadvSalt, SEAICEadvAge, |
91 |
& SEAICE_clipVelocities, SEAICE_maskRHS, SEAICE_no_slip, |
& SEAICE_clipVelocities, SEAICE_maskRHS, SEAICE_no_slip, |
92 |
& SEAICEetaZmethod, LAD, IMAX_TICE, postSolvTempIter, |
& SEAICEetaZmethod, LAD, IMAX_TICE, postSolvTempIter, |
93 |
& SEAICEadvScheme, SEAICEadvSchArea, |
& SEAICEuseFluxForm, SEAICEadvScheme, SEAICEadvSchArea, |
94 |
& SEAICEadvSchHeff, SEAICEadvSchSnow, |
& SEAICEadvSchHeff, SEAICEadvSchSnow, |
95 |
& SEAICEadvSchSalt, SEAICEadvSchAge, |
& SEAICEadvSchSalt, SEAICEadvSchAge, |
96 |
& SEAICEdiffKhHeff, SEAICEdiffKhSnow, SEAICEdiffKhArea, |
& SEAICEdiffKhHeff, SEAICEdiffKhSnow, SEAICEdiffKhArea, |
97 |
& SEAICEdiffKhSalt, SEAICEdiffKhAge, |
& SEAICEdiffKhSalt, SEAICEdiffKhAge, DIFF1, |
98 |
& SEAICE_deltaTtherm, SEAICE_deltaTdyn, |
& SEAICE_deltaTtherm, SEAICE_deltaTdyn, |
99 |
& SEAICE_LSRrelaxU, SEAICE_LSRrelaxV, |
& SEAICE_LSRrelaxU, SEAICE_LSRrelaxV, |
100 |
|
& SOLV_MAX_ITERS, SOLV_NCHECK, NPSEUDOTIMESTEPS, |
101 |
|
& LSR_ERROR, LSR_mixIniGuess, SEAICEuseMultiTileSolver, |
102 |
& SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax, |
& SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax, |
103 |
& SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac, |
& SEAICE_evpDampC, SEAICEnEVPstarSteps, |
104 |
|
& SEAICE_zetaMin, SEAICE_zetaMaxFac, |
105 |
& SEAICEuseJFNK, SEAICEnewtonIterMax, SEAICEkrylovIterMax, |
& SEAICEuseJFNK, SEAICEnewtonIterMax, SEAICEkrylovIterMax, |
106 |
& JFNKgamma_nonlin,JFNKres_t,JFNKgamma_lin_min,JFNKgamma_lin_max, |
& SEAICE_JFNK_lsIter, SEAICE_JFNK_tolIter, JFNKres_t,JFNKres_tFac, |
107 |
|
& JFNKgamma_nonlin,JFNKgamma_lin_min,JFNKgamma_lin_max, |
108 |
|
& SEAICE_JFNKepsilon, SEAICE_OLx, SEAICE_OLy, |
109 |
& SEAICEpresH0, SEAICEpresPow0, SEAICEpresPow1, |
& SEAICEpresH0, SEAICEpresPow0, SEAICEpresPow1, |
|
& SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, |
|
110 |
& SEAICE_initialHEFF, SEAICEturbFluxFormula, |
& SEAICE_initialHEFF, SEAICEturbFluxFormula, |
111 |
& SEAICE_areaGainFormula, SEAICE_areaLossFormula, |
& SEAICE_areaGainFormula, SEAICE_areaLossFormula, |
112 |
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
& SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt, |
132 |
& SEAICE_mcPheeStepFunc, SEAICE_gamma_t, SEAICE_gamma_t_frz, |
& SEAICE_mcPheeStepFunc, SEAICE_gamma_t, SEAICE_gamma_t_frz, |
133 |
& SEAICE_availHeatFrac, SEAICE_availHeatFracFrz, |
& SEAICE_availHeatFrac, SEAICE_availHeatFracFrz, |
134 |
& AreaFile, HeffFile, uIceFile, vIceFile, HsnowFile, HsaltFile, |
& AreaFile, HeffFile, uIceFile, vIceFile, HsnowFile, HsaltFile, |
|
& SOLV_MAX_ITERS, SOLV_NCHECK, NPSEUDOTIMESTEPS, LSR_mixIniGuess, |
|
|
& LSR_ERROR, DIFF1, SEAICEuseFREEDRIFT, SEAICEuseTILT, |
|
135 |
& SEAICEheatConsFix, SEAICE_multDim, SEAICE_useMultDimSnow, |
& SEAICEheatConsFix, SEAICE_multDim, SEAICE_useMultDimSnow, |
136 |
& SEAICE_area_reg, SEAICE_hice_reg, |
& SEAICE_area_reg, SEAICE_hice_reg, |
137 |
& SEAICE_area_floor, SEAICE_area_max, SEAICE_tauAreaObsRelax, |
& SEAICE_area_floor, SEAICE_area_max, SEAICE_tauAreaObsRelax, |
138 |
& SEAICE_airTurnAngle, SEAICE_waterTurnAngle, |
& SEAICE_airTurnAngle, SEAICE_waterTurnAngle, |
139 |
& MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE, |
& MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE, |
140 |
& SEAICE_EPS, SEAICE_EPS_SQ, |
& SEAICE_EPS, SEAICE_EPS_SQ, |
141 |
|
& SEAICEwriteState, SEAICEuseEVPpickup, SEAICEuseEVPstar, |
142 |
|
& SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq, |
143 |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc, |
& SEAICE_tave_mnc, SEAICE_dump_mnc, SEAICE_mon_mnc, |
144 |
#ifdef SEAICE_ITD |
#ifdef SEAICE_ITD |
|
& SEAICE_debugPointI, SEAICE_debugPointJ, |
|
145 |
& Hlimit_c1, Hlimit_c2, Hlimit_c3 |
& Hlimit_c1, Hlimit_c2, Hlimit_c3 |
|
#else |
|
|
& SEAICE_debugPointI, SEAICE_debugPointJ |
|
146 |
#endif |
#endif |
147 |
|
& SEAICE_debugPointI, SEAICE_debugPointJ |
148 |
|
|
149 |
#ifdef ALLOW_COST |
#ifdef ALLOW_COST |
150 |
NAMELIST /SEAICE_PARM02/ |
NAMELIST /SEAICE_PARM02/ |
173 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
174 |
|
|
175 |
C-- set default sea ice parameters |
C-- set default sea ice parameters |
|
SEAICEwriteState = .FALSE. |
|
176 |
#ifdef SEAICE_ALLOW_DYNAMICS |
#ifdef SEAICE_ALLOW_DYNAMICS |
177 |
SEAICEuseDYNAMICS = .TRUE. |
SEAICEuseDYNAMICS = .TRUE. |
178 |
#else |
#else |
180 |
#endif |
#endif |
181 |
SEAICEadjMODE = 0 |
SEAICEadjMODE = 0 |
182 |
SEAICEuseFREEDRIFT = .FALSE. |
SEAICEuseFREEDRIFT = .FALSE. |
183 |
SEAICEuseTILT = .TRUE. |
SEAICEuseTilt = .TRUE. |
184 |
SEAICEheatConsFix = .FALSE. |
SEAICEheatConsFix = .FALSE. |
185 |
SEAICEuseTEM = .FALSE. |
SEAICEuseTEM = .FALSE. |
186 |
SEAICEuseMetricTerms = .TRUE. |
SEAICEuseMetricTerms = .TRUE. |
187 |
SEAICEuseEVPpickup = .TRUE. |
SEAICEuseEVPpickup = .TRUE. |
188 |
SEAICEuseFluxForm = .TRUE. |
SEAICEuseEVPstar = .FALSE. |
|
C-- old default: |
|
|
c SEAICEuseFluxForm = .FALSE. |
|
189 |
SEAICErestoreUnderIce = .FALSE. |
SEAICErestoreUnderIce = .FALSE. |
190 |
SEAICE_salinityTracer = .FALSE. |
SEAICE_salinityTracer = .FALSE. |
191 |
SEAICE_ageTracer = .FALSE. |
SEAICE_ageTracer = .FALSE. |
192 |
useHB87stressCoupling = .FALSE. |
useHB87stressCoupling = .FALSE. |
193 |
usePW79thermodynamics = .TRUE. |
usePW79thermodynamics = .TRUE. |
194 |
useMaykutSatVapPoly = .FALSE. |
useMaykutSatVapPoly = .FALSE. |
195 |
|
SEAICEuseFluxForm = .TRUE. |
196 |
SEAICEadvHeff = .TRUE. |
SEAICEadvHeff = .TRUE. |
197 |
SEAICEadvArea = .TRUE. |
SEAICEadvArea = .TRUE. |
198 |
SEAICEadvSnow = .TRUE. |
SEAICEadvSnow = .TRUE. |
215 |
SEAICEdiffKhHeff = UNSET_RL |
SEAICEdiffKhHeff = UNSET_RL |
216 |
SEAICEdiffKhSnow = UNSET_RL |
SEAICEdiffKhSnow = UNSET_RL |
217 |
SEAICEdiffKhSalt = UNSET_RL |
SEAICEdiffKhSalt = UNSET_RL |
218 |
|
DIFF1 = UNSET_RL |
219 |
|
C-- old DIFF1 default: |
220 |
|
c DIFF1 = .004 _d 0 |
221 |
SEAICE_deltaTtherm = dTtracerLev(1) |
SEAICE_deltaTtherm = dTtracerLev(1) |
222 |
SEAICE_deltaTdyn = dTtracerLev(1) |
SEAICE_deltaTdyn = dTtracerLev(1) |
223 |
SEAICE_deltaTevp = UNSET_RL |
SEAICE_deltaTevp = UNSET_RL |
225 |
SEAICEuseJFNK = .FALSE. |
SEAICEuseJFNK = .FALSE. |
226 |
SEAICEnewtonIterMax = 10 |
SEAICEnewtonIterMax = 10 |
227 |
SEAICEkrylovIterMax = 10 |
SEAICEkrylovIterMax = 10 |
228 |
|
SEAICE_JFNK_lsIter = UNSET_I |
229 |
|
SEAICE_JFNK_tolIter = 100 |
230 |
|
SEAICE_OLx = OLx-2 |
231 |
|
SEAICE_OLy = OLy-2 |
232 |
JFNKgamma_nonlin = 1. _d -05 |
JFNKgamma_nonlin = 1. _d -05 |
233 |
JFNKgamma_lin_min = 0.10 _d 0 |
JFNKgamma_lin_min = 0.10 _d 0 |
234 |
JFNKgamma_lin_max = 0.99 _d 0 |
JFNKgamma_lin_max = 0.99 _d 0 |
235 |
JFNKres_t = UNSET_RL |
JFNKres_t = UNSET_RL |
236 |
|
JFNKres_tFac = UNSET_RL |
237 |
|
SEAICE_JFNKepsilon = 1. _d -06 |
238 |
C Hunke, JCP, 2001 use 615 kg/m^2 for this, but does not recommend using it |
C Hunke, JCP, 2001 use 615 kg/m^2 for this, but does not recommend using it |
239 |
SEAICE_evpDampC = -1. _d 0 |
SEAICE_evpDampC = -1. _d 0 |
240 |
SEAICE_zetaMin = 0. _d 0 |
SEAICE_zetaMin = 0. _d 0 |
242 |
SEAICEpresH0 = 1. _d 0 |
SEAICEpresH0 = 1. _d 0 |
243 |
SEAICEpresPow0 = 1 |
SEAICEpresPow0 = 1 |
244 |
SEAICEpresPow1 = 1 |
SEAICEpresPow1 = 1 |
|
SEAICE_monFreq = monitorFreq |
|
|
SEAICE_dumpFreq = dumpFreq |
|
|
SEAICE_taveFreq = taveFreq |
|
|
SEAICE_elasticParm = 0.33333333333333333333333333 _d 0 |
|
245 |
SEAICE_evpTauRelax = -1. _d 0 |
SEAICE_evpTauRelax = -1. _d 0 |
246 |
#ifdef ALLOW_MNC |
SEAICE_elasticParm = 0.33333333333333333333333333 _d 0 |
247 |
SEAICE_tave_mnc = timeave_mnc |
SEAICE_evpAlpha = UNSET_RL |
248 |
SEAICE_dump_mnc = snapshot_mnc |
SEAICE_evpBeta = UNSET_RL |
249 |
SEAICE_mon_mnc = monitor_mnc |
SEAICEnEVPstarSteps = UNSET_I |
|
#else |
|
|
SEAICE_tave_mnc = .FALSE. |
|
|
SEAICE_dump_mnc = .FALSE. |
|
|
SEAICE_mon_mnc = .FALSE. |
|
|
#endif |
|
250 |
SEAICE_initialHEFF = ZERO |
SEAICE_initialHEFF = ZERO |
251 |
#ifdef SEAICE_ITD |
#ifdef SEAICE_ITD |
252 |
CToM<<< |
CToM<<< |
323 |
SEAICE_salt0 = 0.0 _d 0 |
SEAICE_salt0 = 0.0 _d 0 |
324 |
SEAICE_saltFrac = 0.0 _d 0 |
SEAICE_saltFrac = 0.0 _d 0 |
325 |
CToM<<< |
CToM<<< |
326 |
C#ifdef SEAICE_MULTICATEGORY |
#ifdef SEAICE_ITD |
|
#if defined(SEAICE_MULTICATEGORY) || defined(SEAICE_ITD) |
|
327 |
C in case defined(SEAICE_ITD) MULTDIM = nITD (see SEAICE_SIZE.h) |
C in case defined(SEAICE_ITD) MULTDIM = nITD (see SEAICE_SIZE.h) |
|
C because SEAICE_ITD uses code related to SEAICE_MULTICATEGORY |
|
328 |
C>>>ToM |
C>>>ToM |
329 |
SEAICE_multDim = MULTDIM |
SEAICE_multDim = MULTDIM |
330 |
#else |
#else |
341 |
SEAICE_gamma_t_frz = UNSET_RL |
SEAICE_gamma_t_frz = UNSET_RL |
342 |
SEAICE_availHeatFrac = UNSET_RL |
SEAICE_availHeatFrac = UNSET_RL |
343 |
SEAICE_availHeatFracFrz = UNSET_RL |
SEAICE_availHeatFracFrz = UNSET_RL |
|
#ifndef SEAICE_GROWTH_LEGACY |
|
344 |
SEAICE_doOpenWaterGrowth=.TRUE. |
SEAICE_doOpenWaterGrowth=.TRUE. |
345 |
SEAICE_doOpenWaterMelt=.FALSE. |
SEAICE_doOpenWaterMelt=.FALSE. |
346 |
SEAICE_areaLossFormula=1 |
SEAICE_areaLossFormula=1 |
347 |
SEAICE_areaGainFormula=1 |
SEAICE_areaGainFormula=1 |
|
#else |
|
|
SEAICE_doOpenWaterGrowth=.FALSE. |
|
|
SEAICE_doOpenWaterMelt=.FALSE. |
|
|
SEAICE_areaGainFormula=2 |
|
|
SEAICE_areaLossFormula=3 |
|
|
#endif |
|
348 |
SEAICE_tempFrz0 = 0.0901 _d 0 |
SEAICE_tempFrz0 = 0.0901 _d 0 |
349 |
SEAICE_dTempFrz_dS = -0.0575 _d 0 |
SEAICE_dTempFrz_dS = -0.0575 _d 0 |
350 |
C old default for constant freezing point |
C old default for constant freezing point |
374 |
LSR_mixIniGuess = -1 |
LSR_mixIniGuess = -1 |
375 |
#endif |
#endif |
376 |
LSR_ERROR = 0.0001 _d 0 |
LSR_ERROR = 0.0001 _d 0 |
377 |
DIFF1 = UNSET_RL |
SEAICEuseMultiTileSolver = .FALSE. |
|
C-- old DIFF1 default: |
|
|
c DIFF1 = .004 _d 0 |
|
378 |
|
|
|
#ifdef SEAICE_GROWTH_LEGACY |
|
|
SEAICE_area_reg = 0.15 _d 0 |
|
|
SEAICE_area_floor = 0.15 _d 0 |
|
|
#else |
|
379 |
SEAICE_area_floor = siEPS |
SEAICE_area_floor = siEPS |
380 |
SEAICE_area_reg = siEPS |
SEAICE_area_reg = siEPS |
|
#endif |
|
381 |
SEAICE_hice_reg = 0.05 _d 0 |
SEAICE_hice_reg = 0.05 _d 0 |
382 |
SEAICE_area_max = 1.00 _d 0 |
SEAICE_area_max = 1.00 _d 0 |
383 |
|
|
384 |
SEAICE_airTurnAngle = 0.0 _d 0 |
SEAICE_airTurnAngle = 0.0 _d 0 |
385 |
SEAICE_waterTurnAngle = 0.0 _d 0 |
SEAICE_waterTurnAngle = 0.0 _d 0 |
|
MAX_HEFF = 10. _d 0 |
|
386 |
MIN_ATEMP = -50. _d 0 |
MIN_ATEMP = -50. _d 0 |
387 |
MIN_LWDOWN = 60. _d 0 |
MIN_LWDOWN = 60. _d 0 |
388 |
MIN_TICE = -50. _d 0 |
MIN_TICE = -50. _d 0 |
389 |
SEAICE_EPS = 1. _d -10 |
SEAICE_EPS = 1. _d -10 |
390 |
SEAICE_EPS_SQ = -99999. |
SEAICE_EPS_SQ = -99999. |
391 |
|
|
392 |
|
SEAICEwriteState = .FALSE. |
393 |
|
SEAICE_monFreq = monitorFreq |
394 |
|
SEAICE_dumpFreq = dumpFreq |
395 |
|
SEAICE_taveFreq = taveFreq |
396 |
|
#ifdef ALLOW_MNC |
397 |
|
SEAICE_tave_mnc = timeave_mnc |
398 |
|
SEAICE_dump_mnc = snapshot_mnc |
399 |
|
SEAICE_mon_mnc = monitor_mnc |
400 |
|
#else |
401 |
|
SEAICE_tave_mnc = .FALSE. |
402 |
|
SEAICE_dump_mnc = .FALSE. |
403 |
|
SEAICE_mon_mnc = .FALSE. |
404 |
|
#endif |
405 |
|
SEAICE_debugPointI = UNSET_I |
406 |
|
SEAICE_debugPointJ = UNSET_I |
407 |
|
|
408 |
C- Retired parameters: |
C- Retired parameters: |
409 |
c LAD = 2 |
c LAD = 2 |
410 |
LAD = UNSET_I |
LAD = UNSET_I |
437 |
IceAgeTrFile(4) = ' ' |
IceAgeTrFile(4) = ' ' |
438 |
SEAICEturbFluxFormula =UNSET_I |
SEAICEturbFluxFormula =UNSET_I |
439 |
SEAICE_freeze = UNSET_RL |
SEAICE_freeze = UNSET_RL |
440 |
|
MAX_HEFF = UNSET_RL |
441 |
C- end retired parameters |
C- end retired parameters |
|
SEAICE_debugPointI = UNSET_I |
|
|
SEAICE_debugPointJ = UNSET_I |
|
442 |
|
|
443 |
#ifdef ALLOW_COST |
#ifdef ALLOW_COST |
444 |
locDate(1) = 0 |
locDate(1) = 0 |
557 |
IF ( SEAICE_deltaTevp .NE. UNSET_RL ) SEAICEuseEVP = .TRUE. |
IF ( SEAICE_deltaTevp .NE. UNSET_RL ) SEAICEuseEVP = .TRUE. |
558 |
IF ( SEAICEuseEVP ) THEN |
IF ( SEAICEuseEVP ) THEN |
559 |
IF ( (SEAICE_deltaTdyn/SEAICE_deltaTevp) .NE. |
IF ( (SEAICE_deltaTdyn/SEAICE_deltaTevp) .NE. |
560 |
& INT(SEAICE_deltaTdyn/SEAICE_deltaTevp) ) THEN |
& INT(SEAICE_deltaTdyn/SEAICE_deltaTevp) .AND. |
561 |
|
& .NOT. SEAICEuseEVPstar ) THEN |
562 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
563 |
& 'SEAICE_deltaTevp must be a factor of SEAICE_deltaTdyn.' |
& 'SEAICE_deltaTevp must be a factor of SEAICE_deltaTdyn.' |
564 |
CALL PRINT_ERROR( msgBuf , myThid) |
CALL PRINT_ERROR( msgBuf , myThid) |
572 |
ENDIF |
ENDIF |
573 |
IF ( SEAICE_evpTauRelax .LE. 0. _d 0 ) |
IF ( SEAICE_evpTauRelax .LE. 0. _d 0 ) |
574 |
& SEAICE_evpTauRelax = SEAICE_deltaTdyn*SEAICE_elasticParm |
& SEAICE_evpTauRelax = SEAICE_deltaTdyn*SEAICE_elasticParm |
575 |
|
IF ( SEAICE_evpBeta .EQ. UNSET_RL ) THEN |
576 |
|
SEAICE_evpBeta = SEAICE_deltaTdyn/SEAICE_deltaTevp |
577 |
|
ELSE |
578 |
|
SEAICE_deltaTevp = SEAICE_deltaTdyn/SEAICE_evpBeta |
579 |
|
ENDIF |
580 |
|
IF ( SEAICE_evpAlpha .EQ. UNSET_RL ) THEN |
581 |
|
SEAICE_evpAlpha = 2. _d 0 * SEAICE_evpTauRelax/SEAICE_deltaTevp |
582 |
|
ELSE |
583 |
|
SEAICE_evpTauRelax = 0.5 _d 0 *SEAICE_evpAlpha*SEAICE_deltaTevp |
584 |
|
ENDIF |
585 |
|
C Check if all parameters are set. |
586 |
ENDIF |
ENDIF |
587 |
#endif /* SEAICE_ALLOW_EVP */ |
#endif /* SEAICE_ALLOW_EVP */ |
588 |
|
|
607 |
C maximum number of LSOR steps as preconditioner in JFNK solver |
C maximum number of LSOR steps as preconditioner in JFNK solver |
608 |
IF ( SEAICEuseJFNK ) SOLV_MAX_ITERS = 10 |
IF ( SEAICEuseJFNK ) SOLV_MAX_ITERS = 10 |
609 |
ENDIF |
ENDIF |
610 |
|
C Turn line search with JFNK solver off by default by making this |
611 |
|
C number much larger than the maximum allowed Newton iterations |
612 |
|
IF ( SEAICE_JFNK_lsIter .EQ. UNSET_I ) |
613 |
|
& SEAICE_JFNK_lsIter = 2*SEAICEnewtonIterMax |
614 |
|
|
615 |
C- The old ways of specifying mcPheeTaper, mcPheePiston & frazilFrac: |
C- The old ways of specifying mcPheeTaper, mcPheePiston & frazilFrac: |
616 |
C a) prevent multiple specification of the same coeff; |
C a) prevent multiple specification of the same coeff; |
944 |
& ' Set instead "SEAICE_mcPheePiston" and "SEAICE_frazilFrac"' |
& ' Set instead "SEAICE_mcPheePiston" and "SEAICE_frazilFrac"' |
945 |
CALL PRINT_ERROR( msgBuf, myThid ) |
CALL PRINT_ERROR( msgBuf, myThid ) |
946 |
ENDIF |
ENDIF |
947 |
|
IF ( MAX_HEFF .NE. UNSET_RL ) THEN |
948 |
|
nRetired = nRetired + 1 |
949 |
|
WRITE(msgBuf,'(A,A)') |
950 |
|
& 'S/R SEAICE_READPARMS: "MAX_HEFF" ', |
951 |
|
& 'is no longer allowed in file "data.seaice"' |
952 |
|
CALL PRINT_ERROR( msgBuf, myThid ) |
953 |
|
ENDIF |
954 |
IF ( nRetired .GT. 0 ) THEN |
IF ( nRetired .GT. 0 ) THEN |
955 |
WRITE(msgBuf,'(2A)') 'S/R SEAICE_READPARMS: ', |
WRITE(msgBuf,'(2A)') 'S/R SEAICE_READPARMS: ', |
956 |
& 'Error reading parameter file "data.seaice"' |
& 'Error reading parameter file "data.seaice"' |