/[MITgcm]/MITgcm_contrib/torge/itd/code/SEAICE_PARAMS.h
ViewVC logotype

Diff of /MITgcm_contrib/torge/itd/code/SEAICE_PARAMS.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by dimitri, Fri Apr 27 22:22:17 2012 UTC revision 1.5 by torge, Mon Dec 10 22:19:49 2012 UTC
# Line 18  C     SEAICEuseEVP      :: If false, use Line 18  C     SEAICEuseEVP      :: If false, use
18  C                          if true use elastic viscous plastic solver  C                          if true use elastic viscous plastic solver
19  C     SEAICEuseFREEDRIFT :: If True use free drift velocity instead of EVP  C     SEAICEuseFREEDRIFT :: If True use free drift velocity instead of EVP
20  C                           or LSR  C                           or LSR
21    C     SEAICEuseJFNK      :: If true, use Jacobi-free Newton-Krylov solver
22    C                           instead of LSR (default: false)
23    C     SEAICEuseTILT      :: If true then include surface tilt term in dynamics
24  C     SEAICEheatConsFix  :: If true then fix ocn<->seaice advective heat flux.  C     SEAICEheatConsFix  :: If true then fix ocn<->seaice advective heat flux.
25  C     SEAICEuseEVPpickup :: Set to false in order to start EVP solver with  C     SEAICEuseEVPpickup :: Set to false in order to start EVP solver with
26  C                          non-EVP pickup files.  Default is true.  C                          non-EVP pickup files.  Default is true.
# Line 44  C     useMaykutSatVapPoly :: use Maykut Line 47  C     useMaykutSatVapPoly :: use Maykut
47  C                         instead of extended temp-range exponential law; def=F.  C                         instead of extended temp-range exponential law; def=F.
48  C     SEAICE_mcPheeStepFunc    :: use step function (not linear tapering) in  C     SEAICE_mcPheeStepFunc    :: use step function (not linear tapering) in
49  C                           ocean-ice turbulent flux  C                           ocean-ice turbulent flux
50    C     SEAICE_useMultDimSnow :: use same fixed pdf for snow as for MULITCATEGORY ICE
51  C     SEAICE_doOpenWaterGrowth :: use open water heat flux directly to grow ice  C     SEAICE_doOpenWaterGrowth :: use open water heat flux directly to grow ice
52  C                           (when false cool ocean, and grow later if needed)  C                           (when false cool ocean, and grow later if needed)
53  C     SEAICE_doOpenWaterMelt   :: use open water heat flux directly to melt ice  C     SEAICE_doOpenWaterMelt   :: use open water heat flux directly to melt ice
# Line 64  C     SEAICE_dump_mnc   :: write snap-sh Line 68  C     SEAICE_dump_mnc   :: write snap-sh
68  C     SEAICE_mon_mnc    :: write monitor to netcdf file  C     SEAICE_mon_mnc    :: write monitor to netcdf file
69        LOGICAL        LOGICAL
70       &     SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP,       &     SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP,
71       &     SEAICEuseFREEDRIFT, SEAICEuseTEM,       &     SEAICEuseFREEDRIFT, SEAICEuseTILT, SEAICEuseTEM,
72         &     SEAICEuseJFNK,
73       &     SEAICEheatConsFix,       &     SEAICEheatConsFix,
74       &     SEAICEuseMetricTerms,       &     SEAICEuseMetricTerms,
75       &     SEAICEuseEVPpickup, SEAICEuseFlooding,       &     SEAICEuseEVPpickup, SEAICEuseFlooding,
# Line 72  C     SEAICE_mon_mnc    :: write monitor Line 77  C     SEAICE_mon_mnc    :: write monitor
77       &     SEAICEadvSnow, SEAICEadvSalt,       &     SEAICEadvSnow, SEAICEadvSalt,
78       &     SEAICEuseFluxForm, useHB87stressCoupling,       &     SEAICEuseFluxForm, useHB87stressCoupling,
79       &     usePW79thermodynamics, useMaykutSatVapPoly,       &     usePW79thermodynamics, useMaykutSatVapPoly,
80       &     SEAICE_mcPheeStepFunc,       &     SEAICE_mcPheeStepFunc, SEAICE_useMultDimSnow,
81       &     SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt,       &     SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt,
82       &     SEAICE_salinityTracer, SEAICE_ageTracer,       &     SEAICE_salinityTracer, SEAICE_ageTracer,
83       &     SEAICErestoreUnderIce,       &     SEAICErestoreUnderIce,
# Line 81  C     SEAICE_mon_mnc    :: write monitor Line 86  C     SEAICE_mon_mnc    :: write monitor
86       &     SEAICE_tave_mnc,   SEAICE_dump_mnc,   SEAICE_mon_mnc       &     SEAICE_tave_mnc,   SEAICE_dump_mnc,   SEAICE_mon_mnc
87        COMMON /SEAICE_PARM_L/        COMMON /SEAICE_PARM_L/
88       &     SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP,       &     SEAICEwriteState, SEAICEuseDYNAMICS, SEAICEuseEVP,
89       &     SEAICEuseFREEDRIFT, SEAICEuseTEM,       &     SEAICEuseFREEDRIFT, SEAICEuseTILT, SEAICEuseTEM,
90         &     SEAICEuseJFNK,
91       &     SEAICEheatConsFix,       &     SEAICEheatConsFix,
92       &     SEAICEuseMetricTerms,       &     SEAICEuseMetricTerms,
93       &     SEAICEuseEVPpickup, SEAICEuseFlooding,       &     SEAICEuseEVPpickup, SEAICEuseFlooding,
# Line 89  C     SEAICE_mon_mnc    :: write monitor Line 95  C     SEAICE_mon_mnc    :: write monitor
95       &     SEAICEadvSnow, SEAICEadvSalt,       &     SEAICEadvSnow, SEAICEadvSalt,
96       &     SEAICEuseFluxForm, useHB87stressCoupling,       &     SEAICEuseFluxForm, useHB87stressCoupling,
97       &     usePW79thermodynamics, useMaykutSatVapPoly,       &     usePW79thermodynamics, useMaykutSatVapPoly,
98       &     SEAICE_mcPheeStepFunc,       &     SEAICE_mcPheeStepFunc, SEAICE_useMultDimSnow,
99       &     SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt,       &     SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt,
100       &     SEAICE_salinityTracer, SEAICE_ageTracer,       &     SEAICE_salinityTracer, SEAICE_ageTracer,
101       &     SEAICErestoreUnderIce,       &     SEAICErestoreUnderIce,
# Line 105  C                         1 = use linear Line 111  C                         1 = use linear
111  C     SOLV_MAX_ITERS    :: maximum number of allowed LSR-solver iterations  C     SOLV_MAX_ITERS    :: maximum number of allowed LSR-solver iterations
112  C     SOLV_NCHECK       :: iteration interval for solver convergence test  C     SOLV_NCHECK       :: iteration interval for solver convergence test
113  C     NPSEUDOTIMESTEPS  :: number of extra pseudo time steps (>= 2)  C     NPSEUDOTIMESTEPS  :: number of extra pseudo time steps (>= 2)
114    C     SEAICEnewtonIterMax :: maximum number of allowed Newton iterations
115    C                          in JFNK-solver
116    C     SEAICEkrylovIterMax :: maximum number of allowed Krylov iterations
117    C                          in JFNK-solver
118  C     LSR_mixIniGuess   :: control mixing of free-drift sol. into LSR initial guess  C     LSR_mixIniGuess   :: control mixing of free-drift sol. into LSR initial guess
119  C                       :: =0 : no mix ; =2,4 : mix with (1/err)^2,4 factor  C                       :: =0 : no mix ; =2,4 : mix with (1/err)^2,4 factor
120    C     SEAICEpresPow0    :: HEFF exponent for ice strength below SEAICEpresH0
121    C     SEAICEpresPow1    :: HEFF exponent for ice strength above SEAICEpresH0
122  C     SEAICEadvScheme   :: sets the advection scheme for thickness and area  C     SEAICEadvScheme   :: sets the advection scheme for thickness and area
123  C     SEAICEadvSchArea  :: sets the advection scheme for area  C     SEAICEadvSchArea  :: sets the advection scheme for area
124  C     SEAICEadvSchHeff  :: sets the advection scheme for effective thickness  C     SEAICEadvSchHeff  :: sets the advection scheme for effective thickness
# Line 121  C                        :: 3=from predi Line 133  C                        :: 3=from predi
133  C     SEAICE_areaGainFormula :: selects formula for ice cover gain from open water growth  C     SEAICE_areaGainFormula :: selects formula for ice cover gain from open water growth
134  C                        :: 1=from growth by ATM  C                        :: 1=from growth by ATM
135  C                        :: 2=from predicted growth by ATM  C                        :: 2=from predicted growth by ATM
136    C     SEAICEetaZmethod   :: determines how shear-viscosity eta is computed at
137    C                           Z-points
138    C                           0=simple averaging from C-points (default and old)
139    C                           1=linear averaging of strain rates to Z-points
140    C                           2=averaging of squares of strain rates
141  C     SEAICE_multDim     :: number of ice categories  C     SEAICE_multDim     :: number of ice categories
142  C     SEAICE_debugPointI :: I,J index for seaice-specific debuggin  C     SEAICE_debugPointI :: I,J index for seaice-specific debuggin
143  C     SEAICE_debugPointJ  C     SEAICE_debugPointJ
# Line 129  C Line 146  C
146        INTEGER SOLV_MAX_ITERS, SOLV_NCHECK        INTEGER SOLV_MAX_ITERS, SOLV_NCHECK
147        INTEGER NPSEUDOTIMESTEPS        INTEGER NPSEUDOTIMESTEPS
148        INTEGER LSR_mixIniGuess        INTEGER LSR_mixIniGuess
149          INTEGER SEAICEnewtonIterMax, SEAICEkrylovIterMax
150        INTEGER SEAICEadvScheme        INTEGER SEAICEadvScheme
151        INTEGER SEAICEadvSchArea        INTEGER SEAICEadvSchArea
152        INTEGER SEAICEadvSchHeff        INTEGER SEAICEadvSchHeff
# Line 137  C Line 155  C
155        INTEGER SEAICEadjMODE        INTEGER SEAICEadjMODE
156        INTEGER SEAICE_areaLossFormula        INTEGER SEAICE_areaLossFormula
157        INTEGER SEAICE_areaGainFormula        INTEGER SEAICE_areaGainFormula
158          INTEGER SEAICEetaZmethod
159        INTEGER SEAICE_multDim        INTEGER SEAICE_multDim
160        INTEGER SEAICE_debugPointI        INTEGER SEAICE_debugPointI
161        INTEGER SEAICE_debugPointJ        INTEGER SEAICE_debugPointJ
162          INTEGER SEAICEpresPow0, SEAICEpresPow1
163        COMMON /SEAICE_PARM_I/        COMMON /SEAICE_PARM_I/
164       &     IMAX_TICE, postSolvTempIter,       &     IMAX_TICE, postSolvTempIter,
165       &     SOLV_MAX_ITERS, SOLV_NCHECK,       &     SOLV_MAX_ITERS, SOLV_NCHECK,
166       &     NPSEUDOTIMESTEPS,       &     NPSEUDOTIMESTEPS,
167       &     LSR_mixIniGuess,       &     LSR_mixIniGuess,
168         &     SEAICEnewtonIterMax, SEAICEkrylovIterMax,
169         &     SEAICEpresPow0, SEAICEpresPow1,
170       &     SEAICEadvScheme,       &     SEAICEadvScheme,
171       &     SEAICEadvSchArea,       &     SEAICEadvSchArea,
172       &     SEAICEadvSchHeff,       &     SEAICEadvSchHeff,
# Line 154  C Line 176  C
176       &     SEAICE_areaLossFormula,       &     SEAICE_areaLossFormula,
177       &     SEAICE_areaGainFormula,       &     SEAICE_areaGainFormula,
178       &     SEAICE_multDim,       &     SEAICE_multDim,
179         &     SEAICEetaZmethod,
180       &     SEAICE_debugPointI,       &     SEAICE_debugPointI,
181       &     SEAICE_debugPointJ       &     SEAICE_debugPointJ
182    
# Line 182  C Line 205  C
205  C--   COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model.  C--   COMMON /SEAICE_PARM_RL/ Real valued parameters of sea ice model.
206  C     SEAICE_deltaTtherm :: Seaice timestep for thermodynamic equations (s)  C     SEAICE_deltaTtherm :: Seaice timestep for thermodynamic equations (s)
207  C     SEAICE_deltaTdyn   :: Seaice timestep for dynamic solver          (s)  C     SEAICE_deltaTdyn   :: Seaice timestep for dynamic solver          (s)
208    C     SEAICE_LSRrelaxU/V :: relaxation parameter for LSR-solver: U/V-component
209  C     SEAICE_deltaTevp   :: Seaice timestep for EVP solver              (s)  C     SEAICE_deltaTevp   :: Seaice timestep for EVP solver              (s)
210  C     SEAICE_elasticParm :: parameter that sets relaxation timescale  C     SEAICE_elasticParm :: parameter that sets relaxation timescale
211  C                           tau = SEAICE_elasticParm * SEAICE_deltaTdyn  C                           tau = SEAICE_elasticParm * SEAICE_deltaTdyn
212  C     SEAICE_evpTauRelax :: relaxation timescale tau                    (s)  C     SEAICE_evpTauRelax :: relaxation timescale tau                    (s)
213  C     SEAICE_evpDampC    :: evp damping constant (Hunke,JCP,2001)       (kg/m^2)  C     SEAICE_evpDampC    :: evp damping constant (Hunke,JCP,2001)       (kg/m^2)
214    C     JFNKgamma_nonlin   :: non-linear tolerance parameter for JFNK solver
215    C     JFNKgamma_lin_min/max :: tolerance parameters for linear JFNK solver
216    C     JFNKres_t          :: tolerance parameter for FGMRES residual
217  C     SEAICE_zetaMaxFac  :: factor determining the maximum viscosity    (s)  C     SEAICE_zetaMaxFac  :: factor determining the maximum viscosity    (s)
218  C                          (default = 5.e+12/2.e4 = 2.5e8)  C                          (default = 5.e+12/2.e4 = 2.5e8)
219  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)
220    C     SEAICEpresH0       :: HEFF threshold for ice strength            (m)
221  C     SEAICE_monFreq     :: SEAICE monitor frequency.                   (s)  C     SEAICE_monFreq     :: SEAICE monitor frequency.                   (s)
222  C     SEAICE_dumpFreq    :: SEAICE dump frequency.                      (s)  C     SEAICE_dumpFreq    :: SEAICE dump frequency.                      (s)
223  C     SEAICE_taveFreq    :: SEAICE time-averaging frequency.            (s)  C     SEAICE_taveFreq    :: SEAICE time-averaging frequency.            (s)
# Line 276  C     SEAICEdiffKhSnow   :: sets the dif Line 304  C     SEAICEdiffKhSnow   :: sets the dif
304  C     SEAICEdiffKhSalt   :: sets the diffusivity for sea ice salinity (m^2/s)  C     SEAICEdiffKhSalt   :: sets the diffusivity for sea ice salinity (m^2/s)
305  C     SEAICE_airTurnAngle   :: turning angles of air-ice interfacial stress  C     SEAICE_airTurnAngle   :: turning angles of air-ice interfacial stress
306  C     SEAICE_waterTurnAngle :: and ice-water interfacial stress (in degrees)  C     SEAICE_waterTurnAngle :: and ice-water interfacial stress (in degrees)
307    C     SEAICE_tauAreaObsRelax :: Timescale of relaxation to observed
308    C                               sea ice concentration (s), default=unset
309  C  C
310        _RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp        _RL SEAICE_deltaTtherm, SEAICE_deltaTdyn, SEAICE_deltaTevp
311          _RL SEAICE_LSRrelaxU, SEAICE_LSRrelaxV
312        _RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq        _RL SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq
313        _RL SEAICE_initialHEFF        _RL SEAICE_initialHEFF
314        _RL SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR        _RL SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR
# Line 301  C Line 332  C
332        _RL facOpenGrow, facOpenMelt        _RL facOpenGrow, facOpenMelt
333        _RL SEAICE_tempFrz0, SEAICE_dTempFrz_dS        _RL SEAICE_tempFrz0, SEAICE_dTempFrz_dS
334        _RL OCEAN_drag, LSR_ERROR, DIFF1        _RL OCEAN_drag, LSR_ERROR, DIFF1
335          _RL JFNKgamma_nonlin, JFNKres_t
336          _RL JFNKgamma_lin_min, JFNKgamma_lin_max
337        _RL SEAICE_area_reg, SEAICE_hice_reg        _RL SEAICE_area_reg, SEAICE_hice_reg
338        _RL SEAICE_area_floor, SEAICE_area_max        _RL SEAICE_area_floor, SEAICE_area_max
339        _RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle        _RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle
340        _RL SEAICE_elasticParm, SEAICE_evpTauRelax        _RL SEAICE_elasticParm, SEAICE_evpTauRelax
341        _RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac        _RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac
342          _RL SEAICEpresH0
343        _RL SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow        _RL SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow
344        _RL SEAICEdiffKhSalt        _RL SEAICEdiffKhSalt
345          _RL SEAICE_tauAreaObsRelax
346    
347        COMMON /SEAICE_PARM_RL/        COMMON /SEAICE_PARM_RL/
348       &    SEAICE_deltaTtherm, SEAICE_deltaTdyn,       &    SEAICE_deltaTtherm, SEAICE_deltaTdyn,
349         &    SEAICE_LSRrelaxU, SEAICE_LSRrelaxV,
350       &    SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax,       &    SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax,
351       &    SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac,       &    SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac,
352         &    SEAICEpresH0,
353       &    SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq,       &    SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq,
354       &    SEAICE_initialHEFF,       &    SEAICE_initialHEFF,
355       &    SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR,       &    SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR,
# Line 335  C Line 372  C
372       &    facOpenGrow, facOpenMelt,       &    facOpenGrow, facOpenMelt,
373       &    SEAICE_tempFrz0, SEAICE_dTempFrz_dS,       &    SEAICE_tempFrz0, SEAICE_dTempFrz_dS,
374       &    OCEAN_drag, LSR_ERROR, DIFF1,       &    OCEAN_drag, LSR_ERROR, DIFF1,
375         &    JFNKgamma_nonlin, JFNKres_t,
376         &    JFNKgamma_lin_min, JFNKgamma_lin_max,
377       &    SEAICE_area_reg, SEAICE_hice_reg,       &    SEAICE_area_reg, SEAICE_hice_reg,
378       &    SEAICE_area_floor, SEAICE_area_max,       &    SEAICE_area_floor, SEAICE_area_max,
379       &    SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow,       &    SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow,
380       &    SEAICEdiffKhSalt,       &    SEAICEdiffKhSalt, SEAICE_tauAreaObsRelax,
381       &    SEAICE_airTurnAngle, SEAICE_waterTurnAngle       &    SEAICE_airTurnAngle, SEAICE_waterTurnAngle
382    
383  C--   COMMON /SEAICE_BOUND_RL/ Various bounding values  C--   COMMON /SEAICE_BOUND_RL/ Various bounding values
# Line 355  C Line 394  C
394       &     MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE,       &     MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE,
395       &     SEAICE_EPS, SEAICE_EPS_SQ       &     SEAICE_EPS, SEAICE_EPS_SQ
396    
397    #ifdef SEAICE_ITD
398    CToM<<<
399    C     Hlimit            :: ice thickness category limits (m), array of size nITD+1
400    C     Hlimit_c1,_c2,_c3 :: coefficients set in seaice_readparams.F to calculate Hlimit in seaice_init_fixed.F
401          _RL Hlimit(0:nITD)
402          _RL Hlimit_c1, Hlimit_c2, Hlimit_c3
403          COMMON /SEAICE_BOUND_ITD_RL/
404         &     Hlimit,
405         &     Hlimit_c1,Hlimit_c2,Hlimit_c3
406    C>>>ToM
407    #endif /* SEAICE_ITD */
408    
409  C--   Constants used by sea-ice model  C--   Constants used by sea-ice model
410        _RL         ZERO           , ONE           , TWO        _RL         ZERO           , ONE           , TWO
411        PARAMETER ( ZERO = 0.0 _d 0, ONE = 1.0 _d 0, TWO = 2.0 _d 0 )        PARAMETER ( ZERO = 0.0 _d 0, ONE = 1.0 _d 0, TWO = 2.0 _d 0 )

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22