MOM6
mom_ice_shelf_dynamics::ice_shelf_dyn_cs Type Reference

Detailed Description

The control structure for the ice shelf dynamics.

Definition at line 41 of file MOM_ice_shelf_dynamics.F90.

Collaboration diagram for mom_ice_shelf_dynamics::ice_shelf_dyn_cs:
[legend]

Public variables and constants

real, dimension(:,:), pointer u_shelf => NULL()
 the zonal velocity of the ice shelf/sheet on q-points (B grid) [L T-1 ~> m s-1]
 
real, dimension(:,:), pointer v_shelf => NULL()
 the meridional velocity of the ice shelf/sheet on q-points (B grid) [L T-1 ~> m s-1]
 
real, dimension(:,:), pointer u_face_mask => NULL()
 mask for velocity boundary conditions on the C-grid u-face - this is because the FEM cares about FACES THAT GET INTEGRATED OVER, not vertices. Will represent boundary conditions on computational boundary (or permanent boundary between fast-moving and near-stagnant ice FOR NOW: 1=interior bdry, 0=no-flow boundary, 2=stress bdry condition, 3=inhomogeneous Dirichlet boundary, 4=flux boundary: at these faces a flux will be specified which will override velocities; a homogeneous velocity condition will be specified (this seems to give the solver less difficulty)
 
real, dimension(:,:), pointer v_face_mask => NULL()
 A mask for velocity boundary conditions on the C-grid v-face, with valued defined similarly to u_face_mask.
 
real, dimension(:,:), pointer u_face_mask_bdry => NULL()
 A duplicate copy of u_face_mask?
 
real, dimension(:,:), pointer v_face_mask_bdry => NULL()
 A duplicate copy of v_face_mask?
 
real, dimension(:,:), pointer u_flux_bdry_val => NULL()
 The ice volume flux per unit face length into the cell through open boundary u-faces (where u_face_mask=4) [Z L T-1 ~> m2 s-1].
 
real, dimension(:,:), pointer v_flux_bdry_val => NULL()
 The ice volume flux per unit face length into the cell through open boundary v-faces (where v_face_mask=4) [Z L T-1 ~> m2 s-1]??
 
real, dimension(:,:), pointer umask => NULL()
 u-mask on the actual degrees of freedom (B grid) 1=normal node, 3=inhomogeneous boundary node, 0 - no flow node (will also get ice-free nodes)
 
real, dimension(:,:), pointer vmask => NULL()
 v-mask on the actual degrees of freedom (B grid) 1=normal node, 3=inhomogeneous boundary node, 0 - no flow node (will also get ice-free nodes)
 
real, dimension(:,:), pointer calve_mask => NULL()
 a mask to prevent the ice shelf front from advancing past its initial position (but it may retreat)
 
real, dimension(:,:), pointer t_shelf => NULL()
 Vertically integrated temperature in the ice shelf/stream, on corner-points (B grid) [degC].
 
real, dimension(:,:), pointer tmask => NULL()
 A mask on tracer points that is 1 where there is ice.
 
real, dimension(:,:), pointer ice_visc => NULL()
 Glen's law ice viscosity, often in [R L4 Z T-1 ~> kg m2 s-1].
 
real, dimension(:,:), pointer thickness_bdry_val => NULL()
 The ice thickness at an inflowing boundary [Z ~> m].
 
real, dimension(:,:), pointer u_bdry_val => NULL()
 The zonal ice velocity at inflowing boundaries [L yr-1 ~> m yr-1].
 
real, dimension(:,:), pointer v_bdry_val => NULL()
 The meridional ice velocity at inflowing boundaries [L yr-1 ~> m yr-1].
 
real, dimension(:,:), pointer h_bdry_val => NULL()
 The ice thickness at inflowing boundaries [m].
 
real, dimension(:,:), pointer t_bdry_val => NULL()
 The ice temperature at inflowing boundaries [degC].
 
real, dimension(:,:), pointer basal_traction => NULL()
 The area integrated nonlinear part of "linearized" basal stress [R Z L2 T-1 ~> kg s-1]. The exact form depends on basal law exponent and/or whether flow is "hybridized" a la Goldberg 2011.
 
real, dimension(:,:), pointer od_rt => NULL()
 A running total for calculating OD_av.
 
real, dimension(:,:), pointer ground_frac_rt => NULL()
 A running total for calculating ground_frac.
 
real, dimension(:,:), pointer od_av => NULL()
 The time average open ocean depth [Z ~> m].
 
real, dimension(:,:), pointer ground_frac => NULL()
 Fraction of the time a cell is "exposed", i.e. the column thickness is below a threshold and interacting with the rock [nondim]. When this is 1, the ice-shelf is grounded.
 
integer od_rt_counter = 0
 A counter of the number of contributions to OD_rt.
 
real velocity_update_time_step
 The time interval over which to update the ice shelf velocity using the nonlinear elliptic equation, or 0 to update every timestep [T ~> s].
 
real elapsed_velocity_time
 The elapsed time since the ice velocities were last updated [T ~> s].
 
real g_earth
 The gravitational acceleration [L2 Z-1 T-2 ~> m s-2].
 
real density_ice
 A typical density of ice [R ~> kg m-3].
 
logical gl_regularize
 Specifies whether to regularize the floatation condition at the grounding line as in Goldberg Holland Schoof 2009.
 
integer n_sub_regularize
 partition of cell over which to integrate for interpolated grounding line the (rectangular) is divided into nxn equally-sized rectangles, over which basal contribution is integrated (iterative quadrature)
 
logical gl_couple
 whether to let the floatation condition be determined by ocean column thickness means update_OD_ffrac will be called (note: GL_regularize and GL_couple should be exclusive)
 
real cfl_factor
 A factor used to limit subcycled advective timestep in uncoupled runs i.e. dt <= CFL_factor * min(dx / u)
 
real a_glen_isothermal
 Ice viscosity parameter in Glen's Law, [Pa-3 s-1].
 
real n_glen
 Nonlinearity exponent in Glen's Law.
 
real eps_glen_min
 Min. strain rate to avoid infinite Glen's law viscosity, [year-1].
 
real c_basal_friction
 Coefficient in sliding law tau_b = C u^(n_basal_fric), in units= Pa (m yr-1)-(n_basal_fric)
 
real n_basal_fric
 Exponent in sliding law tau_b = C u^(m_slide)
 
real density_ocean_avg
 A typical ocean density [R ~> kg m-3]. This does not affect ocean circulation or thermodynamics. It is used to estimate the gravitational driving force at the shelf front (until we think of a better way to do it, but any difference will be negligible).
 
real thresh_float_col_depth
 The water column depth over which the shelf if considered to be floating.
 
logical moving_shelf_front
 Specify whether to advance shelf front (and calve).
 
logical calve_to_mask
 If true, calve off the ice shelf when it passes the edge of a mask.
 
real min_thickness_simple_calve
 min. ice shelf thickness criteria for calving [Z ~> m].
 
real cg_tolerance
 The tolerance in the CG solver, relative to initial residual, that determines when to stop the conjugate gradient iterations.
 
real nonlinear_tolerance
 The fractional nonlinear tolerance, relative to the initial error, that sets when to stop the iterative velocity solver.
 
integer cg_max_iterations
 The maximum number of iterations that can be used in the CG solver.
 
integer nonlin_solve_err_mode
 1: exit vel solve based on nonlin residual 2: exit based on "fixed point" metric (|u - u_last| / |u| < tol) where | | is infty-norm
 
logical debug
 If true, write verbose checksums for debugging purposes and use reproducible sums.
 
logical module_is_initialized = .false.
 True if this module has been initialized.
 
type(diag_ctrl), pointer diag => NULL()
 A structure that is used to control diagnostic output.
 
integer id_u_shelf = -1
 Diagnostic handles.
 
integer id_v_shelf = -1
 Diagnostic handles.
 
integer id_t_shelf = -1
 Diagnostic handles.
 
integer id_ground_frac = -1
 Diagnostic handles.
 
integer id_col_thick = -1
 Diagnostic handles.
 
integer id_od_av = -1
 Diagnostic handles.
 
integer id_u_mask = -1
 Diagnostic handles.
 
integer id_v_mask = -1
 Diagnostic handles.
 
integer id_t_mask = -1
 Diagnostic handles.
 

Detailed Description

The control structure for the ice shelf dynamics.

Definition at line 41 of file MOM_ice_shelf_dynamics.F90.


The documentation for this type was generated from the following file: