/[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.2 by dimitri, Fri Apr 27 22:25:23 2012 UTC revision 1.4 by heimbach, Mon Oct 22 19:26:42 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 129  C Line 141  C
141        INTEGER SOLV_MAX_ITERS, SOLV_NCHECK        INTEGER SOLV_MAX_ITERS, SOLV_NCHECK
142        INTEGER NPSEUDOTIMESTEPS        INTEGER NPSEUDOTIMESTEPS
143        INTEGER LSR_mixIniGuess        INTEGER LSR_mixIniGuess
144          INTEGER SEAICEnewtonIterMax, SEAICEkrylovIterMax
145        INTEGER SEAICEadvScheme        INTEGER SEAICEadvScheme
146        INTEGER SEAICEadvSchArea        INTEGER SEAICEadvSchArea
147        INTEGER SEAICEadvSchHeff        INTEGER SEAICEadvSchHeff
# Line 140  C Line 153  C
153        INTEGER SEAICE_multDim        INTEGER SEAICE_multDim
154        INTEGER SEAICE_debugPointI        INTEGER SEAICE_debugPointI
155        INTEGER SEAICE_debugPointJ        INTEGER SEAICE_debugPointJ
156          INTEGER SEAICEpresPow0, SEAICEpresPow1
157        COMMON /SEAICE_PARM_I/        COMMON /SEAICE_PARM_I/
158       &     IMAX_TICE, postSolvTempIter,       &     IMAX_TICE, postSolvTempIter,
159       &     SOLV_MAX_ITERS, SOLV_NCHECK,       &     SOLV_MAX_ITERS, SOLV_NCHECK,
160       &     NPSEUDOTIMESTEPS,       &     NPSEUDOTIMESTEPS,
161       &     LSR_mixIniGuess,       &     LSR_mixIniGuess,
162         &     SEAICEnewtonIterMax, SEAICEkrylovIterMax,
163         &     SEAICEpresPow0, SEAICEpresPow1,
164       &     SEAICEadvScheme,       &     SEAICEadvScheme,
165       &     SEAICEadvSchArea,       &     SEAICEadvSchArea,
166       &     SEAICEadvSchHeff,       &     SEAICEadvSchHeff,
# Line 187  C     SEAICE_elasticParm :: parameter th Line 203  C     SEAICE_elasticParm :: parameter th
203  C                           tau = SEAICE_elasticParm * SEAICE_deltaTdyn  C                           tau = SEAICE_elasticParm * SEAICE_deltaTdyn
204  C     SEAICE_evpTauRelax :: relaxation timescale tau                    (s)  C     SEAICE_evpTauRelax :: relaxation timescale tau                    (s)
205  C     SEAICE_evpDampC    :: evp damping constant (Hunke,JCP,2001)       (kg/m^2)  C     SEAICE_evpDampC    :: evp damping constant (Hunke,JCP,2001)       (kg/m^2)
206    C     JFNKgamma_nonlin   :: non-linear tolerance parameter for JFNK solver
207    C     JFNKgamma_lin_min/max :: tolerance parameters for linear JFNK solver
208    C     JFNKres_t          :: tolerance parameter for FGMRES residual
209  C     SEAICE_zetaMaxFac  :: factor determining the maximum viscosity    (s)  C     SEAICE_zetaMaxFac  :: factor determining the maximum viscosity    (s)
210  C                          (default = 5.e+12/2.e4 = 2.5e8)  C                          (default = 5.e+12/2.e4 = 2.5e8)
211  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)
212    C     SEAICEpresH0       :: HEFF threshold for ice strength            (m)
213  C     SEAICE_monFreq     :: SEAICE monitor frequency.                   (s)  C     SEAICE_monFreq     :: SEAICE monitor frequency.                   (s)
214  C     SEAICE_dumpFreq    :: SEAICE dump frequency.                      (s)  C     SEAICE_dumpFreq    :: SEAICE dump frequency.                      (s)
215  C     SEAICE_taveFreq    :: SEAICE time-averaging frequency.            (s)  C     SEAICE_taveFreq    :: SEAICE time-averaging frequency.            (s)
# Line 303  C Line 323  C
323        _RL facOpenGrow, facOpenMelt        _RL facOpenGrow, facOpenMelt
324        _RL SEAICE_tempFrz0, SEAICE_dTempFrz_dS        _RL SEAICE_tempFrz0, SEAICE_dTempFrz_dS
325        _RL OCEAN_drag, LSR_ERROR, DIFF1        _RL OCEAN_drag, LSR_ERROR, DIFF1
326          _RL JFNKgamma_nonlin, JFNKres_t
327          _RL JFNKgamma_lin_min, JFNKgamma_lin_max
328        _RL SEAICE_area_reg, SEAICE_hice_reg        _RL SEAICE_area_reg, SEAICE_hice_reg
329        _RL SEAICE_area_floor, SEAICE_area_max        _RL SEAICE_area_floor, SEAICE_area_max
330        _RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle        _RL SEAICE_airTurnAngle, SEAICE_waterTurnAngle
331        _RL SEAICE_elasticParm, SEAICE_evpTauRelax        _RL SEAICE_elasticParm, SEAICE_evpTauRelax
332        _RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac        _RL SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac
333          _RL SEAICEpresH0
334        _RL SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow        _RL SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow
335        _RL SEAICEdiffKhSalt        _RL SEAICEdiffKhSalt
336        _RL SEAICE_tauAreaObsRelax        _RL SEAICE_tauAreaObsRelax
# Line 316  C Line 339  C
339       &    SEAICE_deltaTtherm, SEAICE_deltaTdyn,       &    SEAICE_deltaTtherm, SEAICE_deltaTdyn,
340       &    SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax,       &    SEAICE_deltaTevp, SEAICE_elasticParm, SEAICE_evpTauRelax,
341       &    SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac,       &    SEAICE_evpDampC, SEAICE_zetaMin, SEAICE_zetaMaxFac,
342         &    SEAICEpresH0,
343       &    SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq,       &    SEAICE_monFreq, SEAICE_dumpFreq, SEAICE_taveFreq,
344       &    SEAICE_initialHEFF,       &    SEAICE_initialHEFF,
345       &    SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR,       &    SEAICE_rhoAir, SEAICE_rhoIce, SEAICE_rhoSnow, ICE2WATR,
# Line 338  C Line 362  C
362       &    facOpenGrow, facOpenMelt,       &    facOpenGrow, facOpenMelt,
363       &    SEAICE_tempFrz0, SEAICE_dTempFrz_dS,       &    SEAICE_tempFrz0, SEAICE_dTempFrz_dS,
364       &    OCEAN_drag, LSR_ERROR, DIFF1,       &    OCEAN_drag, LSR_ERROR, DIFF1,
365         &    JFNKgamma_nonlin, JFNKres_t,
366         &    JFNKgamma_lin_min, JFNKgamma_lin_max,
367       &    SEAICE_area_reg, SEAICE_hice_reg,       &    SEAICE_area_reg, SEAICE_hice_reg,
368       &    SEAICE_area_floor, SEAICE_area_max,       &    SEAICE_area_floor, SEAICE_area_max,
369       &    SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow,       &    SEAICEdiffKhArea, SEAICEdiffKhHeff, SEAICEdiffKhSnow,
# Line 351  C     MIN_LWDOWN        :: minimum downw Line 377  C     MIN_LWDOWN        :: minimum downw
377  C     MIN_TICE          :: minimum ice temperature   (deg C)  C     MIN_TICE          :: minimum ice temperature   (deg C)
378  C     SEAICE_EPS        :: small number used to reduce derivative singularities  C     SEAICE_EPS        :: small number used to reduce derivative singularities
379  C     SEAICE_EPS_SQ     :: small number square  C     SEAICE_EPS_SQ     :: small number square
 CToM<<<  
 C     Hlimit            :: ice thickness category limits (m), array of size nITD+1  
 C     Hlimit_c1,_c2,_c3 :: coefficients set in seaice_readparams.F to calculate Hlimit in seaice_init_fixed.F  
 C>>>ToM  
380  C  C
381        _RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE        _RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE
382        _RL SEAICE_EPS, SEAICE_EPS_SQ        _RL SEAICE_EPS, SEAICE_EPS_SQ
 CToM<<<  
       _RL Hlimit(0:nITD)  
       _RL Hlimit_c1, Hlimit_c2, Hlimit_c3  
 C>>>ToM  
383        COMMON /SEAICE_BOUND_RL/        COMMON /SEAICE_BOUND_RL/
384       &     MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE,       &     MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MIN_TICE,
385         &     SEAICE_EPS, SEAICE_EPS_SQ
386    
387    #ifdef SEAICE_ITD
388  CToM<<<  CToM<<<
389  C     &     SEAICE_EPS, SEAICE_EPS_SQ  C     Hlimit            :: ice thickness category limits (m), array of size nITD+1
390       &     SEAICE_EPS, SEAICE_EPS_SQ,  C     Hlimit_c1,_c2,_c3 :: coefficients set in seaice_readparams.F to calculate Hlimit in seaice_init_fixed.F
391          _RL Hlimit(0:nITD)
392          _RL Hlimit_c1, Hlimit_c2, Hlimit_c3
393          COMMON /SEAICE_BOUND_ITD_RL/
394       &     Hlimit,       &     Hlimit,
395       &     Hlimit_c1,Hlimit_c2,Hlimit_c3       &     Hlimit_c1,Hlimit_c2,Hlimit_c3
396  C>>>ToM  C>>>ToM
397    #endif /* SEAICE_ITD */
398    
399  C--   Constants used by sea-ice model  C--   Constants used by sea-ice model
400        _RL         ZERO           , ONE           , TWO        _RL         ZERO           , ONE           , TWO

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22