MOM6
mom_ice_shelf::ice_shelf_cs Type Reference

Detailed Description

Control structure that contains ice shelf parameters and diagnostics handles.

Definition at line 67 of file MOM_ice_shelf.F90.

Collaboration diagram for mom_ice_shelf::ice_shelf_cs:
[legend]

Public variables and constants

type(mom_restart_cs), pointer restart_csp => NULL()
 
type(ocean_grid_type) grid
 Grid for the ice-shelf model. More...
 
type(ocean_grid_type), pointer ocn_grid => NULL()
 A pointer to the ocean model grid The rest is private. More...
 
real flux_factor = 1.0
 A factor that can be used to turn off ice shelf melting (flux_factor = 0). More...
 
character(len=128) restart_output_dir = ' '
 
real, dimension(:,:), pointer mass_shelf => NULL()
 The mass per unit area of the ice shelf or. More...
 
real, dimension(:,:), pointer area_shelf_h => NULL()
 The area per cell covered by the ice shelf, in m2. More...
 
real, dimension(:,:), pointer t_flux => NULL()
 The UPWARD sensible ocean heat flux at the. More...
 
real, dimension(:,:), pointer salt_flux => NULL()
 The downward salt flux at the ocean-ice. More...
 
real, dimension(:,:), pointer lprec => NULL()
 The downward liquid water flux at the. More...
 
real, dimension(:,:), pointer exch_vel_t => NULL()
 Sub-shelf thermal exchange velocity, in m/s. More...
 
real, dimension(:,:), pointer exch_vel_s => NULL()
 Sub-shelf salt exchange velocity, in m/s. More...
 
real, dimension(:,:), pointer utide => NULL()
 tidal velocity, in m/s More...
 
real, dimension(:,:), pointer tfreeze => NULL()
 The freezing point potential temperature. More...
 
real, dimension(:,:), pointer tflux_shelf => NULL()
 The UPWARD diffusive heat flux in the ice. More...
 
real, dimension(:,:), pointer u_shelf => NULL()
 the zonal (?) velocity of the ice shelf/sheet, More...
 
real, dimension(:,:), pointer v_shelf => NULL()
 the meridional velocity of the ice shelf/sheet, More...
 
real, dimension(:,:), pointer h_shelf => NULL()
 the thickness of the shelf in m, redundant More...
 
real, dimension(:,:), pointer hmask => NULL()
 Mask used to indicate ice-covered cells, as. More...
 
real, dimension(:,:), pointer u_face_mask => NULL()
 
real, dimension(:,:), pointer v_face_mask => NULL()
 
real, dimension(:,:), pointer u_face_mask_boundary => NULL()
 
real, dimension(:,:), pointer v_face_mask_boundary => NULL()
 
real, dimension(:,:), pointer u_flux_boundary_values => NULL()
 
real, dimension(:,:), pointer v_flux_boundary_values => NULL()
 
real, dimension(:,:), pointer umask => NULL()
 
real, dimension(:,:), pointer vmask => NULL()
 masks on the actual degrees of freedom (B grid) More...
 
real, dimension(:,:), pointer calve_mask => NULL()
 a mask to prevent the ice shelf front from More...
 
real, dimension(:,:), pointer t_shelf => NULL()
 
real, dimension(:,:), pointer tmask => NULL()
 
real, dimension(:,:), pointer ice_visc_bilinear => NULL()
 
real, dimension(:,:), pointer ice_visc_lower_tri => NULL()
 
real, dimension(:,:), pointer ice_visc_upper_tri => NULL()
 
real, dimension(:,:), pointer thickness_boundary_values => NULL()
 
real, dimension(:,:), pointer u_boundary_values => NULL()
 
real, dimension(:,:), pointer v_boundary_values => NULL()
 
real, dimension(:,:), pointer h_boundary_values => NULL()
 
real, dimension(:,:), pointer t_boundary_values => NULL()
 
real, dimension(:,:), pointer taub_beta_eff_bilinear => NULL()
 
real, dimension(:,:), pointer taub_beta_eff_lower_tri => NULL()
 
real, dimension(:,:), pointer taub_beta_eff_upper_tri => NULL()
 
real, dimension(:,:), pointer od_rt => NULL()
 
real, dimension(:,:), pointer float_frac_rt => NULL()
 two arrays that represent averages More...
 
real, dimension(:,:), pointer od_av => NULL()
 
real, dimension(:,:), pointer float_frac => NULL()
 
real ustar_bg
 A minimum value for ustar under ice shelves, in m s-1. More...
 
real cdrag
 drag coefficient under ice shelves , non-dimensional. More...
 
real g_earth
 The gravitational acceleration in m s-2. More...
 
real cp
 The heat capacity of sea water, in J kg-1 K-1. More...
 
real rho0
 A reference ocean density in kg/m3. More...
 
real cp_ice
 The heat capacity of fresh ice, in J kg-1 K-1. More...
 
real gamma_t
 The (fixed) turbulent exchange velocity in the 2-equation formulation, in m s-1. More...
 
real salin_ice
 The salinity of shelf ice, in PSU. More...
 
real temp_ice
 The core temperature of shelf ice, in C. More...
 
real kv_ice
 The viscosity of ice, in m2 s-1. More...
 
real density_ice
 A typical density of ice, in kg m-3. More...
 
real kv_molec
 The molecular kinematic viscosity of sea water, m2 s-1. More...
 
real kd_molec_salt
 The molecular diffusivity of salt, in m2 s-1. More...
 
real kd_molec_temp
 The molecular diffusivity of heat, in m2 s-1. More...
 
real lat_fusion
 The latent heat of fusion, in J kg-1. More...
 
real gamma_t_3eq
 Nondimensional heat-transfer coefficient, used in the 3Eq. formulation This number should be specified by the user. More...
 
real col_thick_melt_threshold
 if the mixed layer is below this threshold, melt rate More...
 
logical mass_from_file
 Read the ice shelf mass from a file every dt. More...
 
real time_step
 this is the shortest timestep that the ice shelf sees, and is equal to the forcing timestep (it is passed in when the shelf is initialized - so need to reorganize MOM driver. it will be the prognistic timestep ... maybe. More...
 
logical solo_ice_sheet
 whether the ice model is running without being coupled to the ocean More...
 
logical gl_regularize
 whether to regularize the floatation condition at the grounding line a la Goldberg Holland Schoof 2009 More...
 
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) More...
 
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) More...
 
real a_glen_isothermal
 
real n_glen
 
real eps_glen_min
 
real c_basal_friction
 
real n_basal_friction
 
real density_ocean_avg
 this does not affect ocean circulation OR thermodynamics it is 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) More...
 
real thresh_float_col_depth
 
logical moving_shelf_front
 
logical calve_to_mask
 
real min_thickness_simple_calve
 
real t0
 
real s0
 
real input_flux
 
real input_thickness
 
real len_lat
 
real velocity_update_time_step
 
integer velocity_update_sub_counter
 
integer velocity_update_counter
 
integer nstep_velocity
 
real cg_tolerance
 
real nonlinear_tolerance
 
integer cg_max_iterations
 
integer nonlin_solve_err_mode
 
real cfl_factor
 
logical use_reproducing_sums
 use new reproducing sums of Bob & Alistair for global sums. NOTE: for this to work all tiles must have the same & of elements. this means thatif a symmetric grid is being used, the southwest nodes of the southwest tiles will not be included in the More...
 
logical switch_var
 
type(time_type) time
 The component's time. More...
 
type(eos_type), pointer eqn_of_state => NULL()
 Type that indicates the equation of state to use. More...
 
logical shelf_mass_is_dynamic
 True if the ice shelf mass changes with time. More...
 
logical override_shelf_movement
 If true, user code specifies the shelf movement instead of using the dynamic ice-shelf mode. More...
 
logical isthermo
 True if the ice shelf can exchange heat and mass with the underlying ocean. More...
 
logical threeeq
 If true, the 3 equation consistency equations are used to calculate the flux at the ocean-ice interface. More...
 
logical insulator
 If true, ice shelf is a perfect insulator. More...
 
logical const_gamma
 If true, gamma_T is specified by the user. More...
 
logical find_salt_root
 If true, if true find Sbdry using a quadratic eq. More...
 
logical constant_sea_level
 if true, apply an evaporative, heat and salt fluxes. It will avoid large increase in sea level. More...
 
real cutoff_depth
 depth above which melt is set to zero (>= 0). More...
 
real lambda1
 
real lambda2
 
real lambda3
 liquidus coeffs. Needed if find_salt_root = true More...
 
integer id_read_mass
 An integer handle used in time interpolation of the ice shelf mass read from a file. More...
 
integer id_read_area
 An integer handle used in time interpolation of the ice shelf mass read from a file. More...
 
type(diag_ctrl), pointer diag
 A structure that is used to control diagnostic output. More...
 
type(user_ice_shelf_cs), pointer user_cs => NULL()
 
logical write_output_to_file
 this is for seeing arrays w/out netcdf capability More...
 
logical debug
 If true, write verbose checksums for debugging purposes and use reproducible sums. More...
 
integer id_melt = -1
 
integer id_exch_vel_s = -1
 
integer id_exch_vel_t = -1
 
integer id_tfreeze = -1
 
integer id_tfl_shelf = -1
 
integer id_thermal_driving = -1
 
integer id_haline_driving = -1
 
integer id_u_ml = -1
 
integer id_v_ml = -1
 
integer id_sbdry = -1
 
integer id_u_shelf = -1
 
integer id_v_shelf = -1
 
integer id_h_shelf = -1
 
integer id_h_mask = -1
 
integer id_u_mask = -1
 
integer id_v_mask = -1
 
integer id_t_shelf = -1
 
integer id_t_mask = -1
 
integer id_surf_elev = -1
 
integer id_bathym = -1
 
integer id_float_frac = -1
 
integer id_col_thick = -1
 
integer id_area_shelf_h = -1
 
integer id_od_av = -1
 
integer id_float_frac_rt = -1
 
integer id_ustar_shelf = -1
 
integer id_shelf_mass = -1
 
integer id_mass_flux = -1
 

Variables and constants

◆ a_glen_isothermal

real mom_ice_shelf::ice_shelf_cs::a_glen_isothermal

Definition at line 210 of file MOM_ice_shelf.F90.

210  real :: a_glen_isothermal

◆ area_shelf_h

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::area_shelf_h => NULL()

The area per cell covered by the ice shelf, in m2.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ c_basal_friction

real mom_ice_shelf::ice_shelf_cs::c_basal_friction

Definition at line 213 of file MOM_ice_shelf.F90.

213  real :: c_basal_friction

◆ calve_mask

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::calve_mask => NULL()

a mask to prevent the ice shelf front from

Definition at line 77 of file MOM_ice_shelf.F90.

◆ calve_to_mask

logical mom_ice_shelf::ice_shelf_cs::calve_to_mask

Definition at line 221 of file MOM_ice_shelf.F90.

221  logical :: calve_to_mask

◆ cdrag

real mom_ice_shelf::ice_shelf_cs::cdrag

drag coefficient under ice shelves , non-dimensional.

Definition at line 167 of file MOM_ice_shelf.F90.

167  real :: cdrag !< drag coefficient under ice shelves , non-dimensional.

◆ cfl_factor

real mom_ice_shelf::ice_shelf_cs::cfl_factor

Definition at line 243 of file MOM_ice_shelf.F90.

243  real :: cfl_factor ! in uncoupled run, how to limit subcycled advective timestep

◆ cg_max_iterations

integer mom_ice_shelf::ice_shelf_cs::cg_max_iterations

Definition at line 240 of file MOM_ice_shelf.F90.

240  integer :: cg_max_iterations

◆ cg_tolerance

real mom_ice_shelf::ice_shelf_cs::cg_tolerance

Definition at line 239 of file MOM_ice_shelf.F90.

239  real :: cg_tolerance, nonlinear_tolerance

◆ col_thick_melt_threshold

real mom_ice_shelf::ice_shelf_cs::col_thick_melt_threshold

if the mixed layer is below this threshold, melt rate

Definition at line 184 of file MOM_ice_shelf.F90.

184  real :: col_thick_melt_threshold !< if the mixed layer is below this threshold, melt rate

◆ const_gamma

logical mom_ice_shelf::ice_shelf_cs::const_gamma

If true, gamma_T is specified by the user.

Definition at line 267 of file MOM_ice_shelf.F90.

267  logical :: const_gamma !< If true, gamma_T is specified by the user.

◆ constant_sea_level

logical mom_ice_shelf::ice_shelf_cs::constant_sea_level

if true, apply an evaporative, heat and salt fluxes. It will avoid large increase in sea level.

Definition at line 269 of file MOM_ice_shelf.F90.

269  logical :: constant_sea_level !< if true, apply an evaporative, heat and salt

◆ cp

real mom_ice_shelf::ice_shelf_cs::cp

The heat capacity of sea water, in J kg-1 K-1.

Definition at line 169 of file MOM_ice_shelf.F90.

169  real :: cp !< The heat capacity of sea water, in J kg-1 K-1.

◆ cp_ice

real mom_ice_shelf::ice_shelf_cs::cp_ice

The heat capacity of fresh ice, in J kg-1 K-1.

Definition at line 171 of file MOM_ice_shelf.F90.

171  real :: cp_ice !< The heat capacity of fresh ice, in J kg-1 K-1.

◆ cutoff_depth

real mom_ice_shelf::ice_shelf_cs::cutoff_depth

depth above which melt is set to zero (>= 0).

Definition at line 271 of file MOM_ice_shelf.F90.

271  real :: cutoff_depth !< depth above which melt is set to zero (>= 0).

◆ debug

logical mom_ice_shelf::ice_shelf_cs::debug

If true, write verbose checksums for debugging purposes and use reproducible sums.

Definition at line 298 of file MOM_ice_shelf.F90.

298  logical :: debug !< If true, write verbose checksums for debugging purposes

◆ density_ice

real mom_ice_shelf::ice_shelf_cs::density_ice

A typical density of ice, in kg m-3.

Definition at line 177 of file MOM_ice_shelf.F90.

177  real :: density_ice !< A typical density of ice, in kg m-3.

◆ density_ocean_avg

real mom_ice_shelf::ice_shelf_cs::density_ocean_avg

this does not affect ocean circulation OR thermodynamics it is 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)

Definition at line 215 of file MOM_ice_shelf.F90.

215  real :: density_ocean_avg !< this does not affect ocean circulation OR thermodynamics

◆ diag

type(diag_ctrl), pointer mom_ice_shelf::ice_shelf_cs::diag

A structure that is used to control diagnostic output.

Definition at line 293 of file MOM_ice_shelf.F90.

293  type(diag_ctrl), pointer :: diag !< A structure that is used to control diagnostic

◆ eps_glen_min

real mom_ice_shelf::ice_shelf_cs::eps_glen_min

Definition at line 212 of file MOM_ice_shelf.F90.

212  real :: eps_glen_min

◆ eqn_of_state

type(eos_type), pointer mom_ice_shelf::ice_shelf_cs::eqn_of_state => NULL()

Type that indicates the equation of state to use.

Definition at line 256 of file MOM_ice_shelf.F90.

256  type(eos_type), pointer :: eqn_of_state => null() !< Type that indicates the

◆ exch_vel_s

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::exch_vel_s => NULL()

Sub-shelf salt exchange velocity, in m/s.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ exch_vel_t

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::exch_vel_t => NULL()

Sub-shelf thermal exchange velocity, in m/s.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ find_salt_root

logical mom_ice_shelf::ice_shelf_cs::find_salt_root

If true, if true find Sbdry using a quadratic eq.

Definition at line 268 of file MOM_ice_shelf.F90.

268  logical :: find_salt_root !< If true, if true find Sbdry using a quadratic eq.

◆ float_frac

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::float_frac => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ float_frac_rt

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::float_frac_rt => NULL()

two arrays that represent averages

Definition at line 77 of file MOM_ice_shelf.F90.

◆ flux_factor

real mom_ice_shelf::ice_shelf_cs::flux_factor = 1.0

A factor that can be used to turn off ice shelf melting (flux_factor = 0).

Definition at line 74 of file MOM_ice_shelf.F90.

74  real :: flux_factor = 1.0 !< A factor that can be used to turn off ice shelf

◆ g_earth

real mom_ice_shelf::ice_shelf_cs::g_earth

The gravitational acceleration in m s-2.

Definition at line 168 of file MOM_ice_shelf.F90.

168  real :: g_earth !< The gravitational acceleration in m s-2.

◆ gamma_t

real mom_ice_shelf::ice_shelf_cs::gamma_t

The (fixed) turbulent exchange velocity in the 2-equation formulation, in m s-1.

Definition at line 172 of file MOM_ice_shelf.F90.

172  real :: gamma_t !< The (fixed) turbulent exchange velocity in the

◆ gamma_t_3eq

real mom_ice_shelf::ice_shelf_cs::gamma_t_3eq

Nondimensional heat-transfer coefficient, used in the 3Eq. formulation This number should be specified by the user.

Definition at line 182 of file MOM_ice_shelf.F90.

182  real :: gamma_t_3eq !< Nondimensional heat-transfer coefficient, used in the 3Eq. formulation

◆ gl_couple

logical mom_ice_shelf::ice_shelf_cs::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)

Definition at line 205 of file MOM_ice_shelf.F90.

205  logical :: gl_couple !< whether to let the floatation condition be

◆ gl_regularize

logical mom_ice_shelf::ice_shelf_cs::gl_regularize

whether to regularize the floatation condition at the grounding line a la Goldberg Holland Schoof 2009

Definition at line 198 of file MOM_ice_shelf.F90.

198  logical :: gl_regularize !< whether to regularize the floatation condition

◆ grid

type(ocean_grid_type) mom_ice_shelf::ice_shelf_cs::grid

Grid for the ice-shelf model.

Definition at line 70 of file MOM_ice_shelf.F90.

70  type(ocean_grid_type) :: grid !< Grid for the ice-shelf model
Ocean grid type. See mom_grid for details.
Definition: MOM_grid.F90:19

◆ h_boundary_values

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::h_boundary_values => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ h_shelf

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::h_shelf => NULL()

the thickness of the shelf in m, redundant

Definition at line 77 of file MOM_ice_shelf.F90.

◆ hmask

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::hmask => NULL()

Mask used to indicate ice-covered cells, as.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ ice_visc_bilinear

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::ice_visc_bilinear => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ ice_visc_lower_tri

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::ice_visc_lower_tri => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ ice_visc_upper_tri

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::ice_visc_upper_tri => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ id_area_shelf_h

integer mom_ice_shelf::ice_shelf_cs::id_area_shelf_h = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_bathym

integer mom_ice_shelf::ice_shelf_cs::id_bathym = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_col_thick

integer mom_ice_shelf::ice_shelf_cs::id_col_thick = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_exch_vel_s

integer mom_ice_shelf::ice_shelf_cs::id_exch_vel_s = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_exch_vel_t

integer mom_ice_shelf::ice_shelf_cs::id_exch_vel_t = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_float_frac

integer mom_ice_shelf::ice_shelf_cs::id_float_frac = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_float_frac_rt

integer mom_ice_shelf::ice_shelf_cs::id_float_frac_rt = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_h_mask

integer mom_ice_shelf::ice_shelf_cs::id_h_mask = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_h_shelf

integer mom_ice_shelf::ice_shelf_cs::id_h_shelf = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_haline_driving

integer mom_ice_shelf::ice_shelf_cs::id_haline_driving = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_mass_flux

integer mom_ice_shelf::ice_shelf_cs::id_mass_flux = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_melt

integer mom_ice_shelf::ice_shelf_cs::id_melt = -1

Definition at line 275 of file MOM_ice_shelf.F90.

275  integer :: id_melt = -1, id_exch_vel_s = -1, id_exch_vel_t = -1, &
276  id_tfreeze = -1, id_tfl_shelf = -1, &
277  id_thermal_driving = -1, id_haline_driving = -1, &
278  id_u_ml = -1, id_v_ml = -1, id_sbdry = -1, &
279  id_u_shelf = -1, id_v_shelf = -1, id_h_shelf = -1, id_h_mask = -1, &
280  id_u_mask = -1, id_v_mask = -1, id_t_shelf = -1, id_t_mask = -1, &
281  id_surf_elev = -1, id_bathym = -1, id_float_frac = -1, id_col_thick = -1, &
282  id_area_shelf_h = -1, id_od_av = -1, id_float_frac_rt = -1,&
283  id_ustar_shelf = -1, id_shelf_mass = -1, id_mass_flux = -1

◆ id_od_av

integer mom_ice_shelf::ice_shelf_cs::id_od_av = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_read_area

integer mom_ice_shelf::ice_shelf_cs::id_read_area

An integer handle used in time interpolation of the ice shelf mass read from a file.

Definition at line 290 of file MOM_ice_shelf.F90.

290  integer :: id_read_area !< An integer handle used in time interpolation of

◆ id_read_mass

integer mom_ice_shelf::ice_shelf_cs::id_read_mass

An integer handle used in time interpolation of the ice shelf mass read from a file.

Definition at line 288 of file MOM_ice_shelf.F90.

288  integer :: id_read_mass !< An integer handle used in time interpolation of

◆ id_sbdry

integer mom_ice_shelf::ice_shelf_cs::id_sbdry = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_shelf_mass

integer mom_ice_shelf::ice_shelf_cs::id_shelf_mass = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_surf_elev

integer mom_ice_shelf::ice_shelf_cs::id_surf_elev = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_t_mask

integer mom_ice_shelf::ice_shelf_cs::id_t_mask = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_t_shelf

integer mom_ice_shelf::ice_shelf_cs::id_t_shelf = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_tfl_shelf

integer mom_ice_shelf::ice_shelf_cs::id_tfl_shelf = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_tfreeze

integer mom_ice_shelf::ice_shelf_cs::id_tfreeze = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_thermal_driving

integer mom_ice_shelf::ice_shelf_cs::id_thermal_driving = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_u_mask

integer mom_ice_shelf::ice_shelf_cs::id_u_mask = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_u_ml

integer mom_ice_shelf::ice_shelf_cs::id_u_ml = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_u_shelf

integer mom_ice_shelf::ice_shelf_cs::id_u_shelf = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_ustar_shelf

integer mom_ice_shelf::ice_shelf_cs::id_ustar_shelf = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_v_mask

integer mom_ice_shelf::ice_shelf_cs::id_v_mask = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_v_ml

integer mom_ice_shelf::ice_shelf_cs::id_v_ml = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ id_v_shelf

integer mom_ice_shelf::ice_shelf_cs::id_v_shelf = -1

Definition at line 275 of file MOM_ice_shelf.F90.

◆ input_flux

real mom_ice_shelf::ice_shelf_cs::input_flux

Definition at line 224 of file MOM_ice_shelf.F90.

224  real :: input_flux

◆ input_thickness

real mom_ice_shelf::ice_shelf_cs::input_thickness

Definition at line 225 of file MOM_ice_shelf.F90.

225  real :: input_thickness

◆ insulator

logical mom_ice_shelf::ice_shelf_cs::insulator

If true, ice shelf is a perfect insulator.

Definition at line 266 of file MOM_ice_shelf.F90.

266  logical :: insulator !< If true, ice shelf is a perfect insulator

◆ isthermo

logical mom_ice_shelf::ice_shelf_cs::isthermo

True if the ice shelf can exchange heat and mass with the underlying ocean.

Definition at line 261 of file MOM_ice_shelf.F90.

261  logical :: isthermo !< True if the ice shelf can exchange heat and

◆ kd_molec_salt

real mom_ice_shelf::ice_shelf_cs::kd_molec_salt

The molecular diffusivity of salt, in m2 s-1.

Definition at line 179 of file MOM_ice_shelf.F90.

179  real :: kd_molec_salt!< The molecular diffusivity of salt, in m2 s-1.

◆ kd_molec_temp

real mom_ice_shelf::ice_shelf_cs::kd_molec_temp

The molecular diffusivity of heat, in m2 s-1.

Definition at line 180 of file MOM_ice_shelf.F90.

180  real :: kd_molec_temp!< The molecular diffusivity of heat, in m2 s-1.

◆ kv_ice

real mom_ice_shelf::ice_shelf_cs::kv_ice

The viscosity of ice, in m2 s-1.

Definition at line 176 of file MOM_ice_shelf.F90.

176  real :: kv_ice !< The viscosity of ice, in m2 s-1.

◆ kv_molec

real mom_ice_shelf::ice_shelf_cs::kv_molec

The molecular kinematic viscosity of sea water, m2 s-1.

Definition at line 178 of file MOM_ice_shelf.F90.

178  real :: kv_molec !< The molecular kinematic viscosity of sea water, m2 s-1.

◆ lambda1

real mom_ice_shelf::ice_shelf_cs::lambda1

Definition at line 272 of file MOM_ice_shelf.F90.

272  real :: lambda1, lambda2, lambda3 !< liquidus coeffs. Needed if find_salt_root = true

◆ lambda2

real mom_ice_shelf::ice_shelf_cs::lambda2

Definition at line 272 of file MOM_ice_shelf.F90.

◆ lambda3

real mom_ice_shelf::ice_shelf_cs::lambda3

liquidus coeffs. Needed if find_salt_root = true

Definition at line 272 of file MOM_ice_shelf.F90.

◆ lat_fusion

real mom_ice_shelf::ice_shelf_cs::lat_fusion

The latent heat of fusion, in J kg-1.

Definition at line 181 of file MOM_ice_shelf.F90.

181  real :: lat_fusion !< The latent heat of fusion, in J kg-1.

◆ len_lat

real mom_ice_shelf::ice_shelf_cs::len_lat

Definition at line 227 of file MOM_ice_shelf.F90.

227  real :: len_lat ! this really should be a Grid or Domain field

◆ lprec

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::lprec => NULL()

The downward liquid water flux at the.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ mass_from_file

logical mom_ice_shelf::ice_shelf_cs::mass_from_file

Read the ice shelf mass from a file every dt.

Definition at line 185 of file MOM_ice_shelf.F90.

185  logical :: mass_from_file !< Read the ice shelf mass from a file every dt

◆ mass_shelf

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::mass_shelf => NULL()

The mass per unit area of the ice shelf or.

Definition at line 77 of file MOM_ice_shelf.F90.

77  real, pointer, dimension(:,:) :: &
78  mass_shelf => null(), & !< The mass per unit area of the ice shelf or
79  !! sheet, in kg m-2.
80  area_shelf_h => null(), & !< The area per cell covered by the ice shelf, in m2.
81 
82  t_flux => null(), & !< The UPWARD sensible ocean heat flux at the
83  !! ocean-ice interface, in W m-2.
84  salt_flux => null(), & !< The downward salt flux at the ocean-ice
85  !! interface, in kg m-2 s-1.
86  lprec => null(), & !< The downward liquid water flux at the
87  !! ocean-ice interface, in kg m-2 s-1.
88  exch_vel_t => null(), & !< Sub-shelf thermal exchange velocity, in m/s
89  exch_vel_s => null(), & !< Sub-shelf salt exchange velocity, in m/s
90  utide => null(), & !< tidal velocity, in m/s
91  tfreeze => null(), & !< The freezing point potential temperature
92  !! an the ice-ocean interface, in deg C.
93  tflux_shelf => null(), & ! DNG !!!!< The UPWARD diffusive heat flux in the ice
94  !! shelf at the ice-ocean interface, in W m-2.
95  !!
96  u_shelf => null(), & !< the zonal (?) velocity of the ice shelf/sheet,
97  ! in meters per second??? on q-points (B grid)
98  v_shelf => null(), & !< the meridional velocity of the ice shelf/sheet,
99  !! in m/s ?? on q-points (B grid)
100  h_shelf => null(), & !< the thickness of the shelf in m, redundant
101  !! with mass but may make code more readable
102  hmask => null(),& !< Mask used to indicate ice-covered cells, as
103  !! well as partially-covered 1: fully covered,
104  !! solve for velocity here (for now all ice-covered
105  !! cells are treated the same, this may change)
106  !! 2: partially covered, do not solve for velocity
107  !! 0: no ice in cell.
108  !! 3: bdry condition on thickness set - not in
109  !! computational domain
110  !! -2 : default (out of computational boundary,
111  !! and not = 3
112  !! NOTE: hmask will change over time and
113  !! NEEDS TO BE MAINTAINED otherwise the wrong nodes
114  !! will be included in velocity calcs.
115  u_face_mask => null(), & !> masks for velocity boundary conditions
116  v_face_mask => null(), & !! on *C GRID* - this is because the FEM
117  !! cares about FACES THAT GET INTEGRATED OVER,
118  !! not vertices. Will represent boundary conditions
119  !! on computational boundary (or permanent boundary
120  !! between fast-moving and near-stagnant ice
121  !! FOR NOW: 1=interior bdry, 0=no-flow boundary,
122  !! 2=stress bdry condition, 3=inhomogeneous
123  !! dirichlet boundary, 4=flux boundary: at these
124  !! faces a flux will be specified which will
125  !! override velocities; a homogeneous velocity
126  !! condition will be specified (this seems to give
127  !! the solver less difficulty)
128  u_face_mask_boundary => null(), v_face_mask_boundary => null(), &
129  u_flux_boundary_values => null(), v_flux_boundary_values => null(), &
130  ! needed where u_face_mask is equal to 4, similary for v_face_mask
131  umask => null(), vmask => null(), & !< masks on the actual degrees of freedom (B grid)
132  !! 1=normal node, 3=inhomogeneous boundary node,
133  !! 0 - no flow node (will also get ice-free nodes)
134  calve_mask => null(), & ! OVS !!!!< a mask to prevent the ice shelf front from
135  !! advancing past its initial position (but it may
136  !! retreat)
137  !!
138  t_shelf => null(), & ! veritcally integrated temperature the ice shelf/stream... oC
139  ! on q-points (B grid)
140  tmask => null(), &
141  ! masks for temperature boundary conditions ???
142  ice_visc_bilinear => null(), &
143  ice_visc_lower_tri => null(), &
144  ice_visc_upper_tri => null(), &
145  thickness_boundary_values => null(), &
146  u_boundary_values => null(), &
147  v_boundary_values => null(), &
148  h_boundary_values => null(), &
149 !!! OVS !!!
150  t_boundary_values => null(), &
151 
152  taub_beta_eff_bilinear => null(), & ! nonlinear part of "linearized" basal stress - exact form depends on basal law exponent
153  ! and/or whether flow is "hybridized" a la Goldberg 2011
154  taub_beta_eff_lower_tri => null(), &
155  taub_beta_eff_upper_tri => null(), &
156 
157  od_rt => null(), float_frac_rt => null(), & !< two arrays that represent averages
158  od_av => null(), float_frac => null() !! of ocean values that are maintained

◆ min_thickness_simple_calve

real mom_ice_shelf::ice_shelf_cs::min_thickness_simple_calve

Definition at line 222 of file MOM_ice_shelf.F90.

222  real :: min_thickness_simple_calve ! min. ice shelf thickness criteria for calving

◆ moving_shelf_front

logical mom_ice_shelf::ice_shelf_cs::moving_shelf_front

Definition at line 220 of file MOM_ice_shelf.F90.

220  logical :: moving_shelf_front

◆ n_basal_friction

real mom_ice_shelf::ice_shelf_cs::n_basal_friction

Definition at line 214 of file MOM_ice_shelf.F90.

214  real :: n_basal_friction

◆ n_glen

real mom_ice_shelf::ice_shelf_cs::n_glen

Definition at line 211 of file MOM_ice_shelf.F90.

211  real :: n_glen

◆ n_sub_regularize

integer mom_ice_shelf::ice_shelf_cs::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)

Definition at line 200 of file MOM_ice_shelf.F90.

200  integer :: n_sub_regularize

◆ nonlin_solve_err_mode

integer mom_ice_shelf::ice_shelf_cs::nonlin_solve_err_mode

Definition at line 241 of file MOM_ice_shelf.F90.

241  integer :: nonlin_solve_err_mode ! 1: exit vel solve based on nonlin residual

◆ nonlinear_tolerance

real mom_ice_shelf::ice_shelf_cs::nonlinear_tolerance

Definition at line 239 of file MOM_ice_shelf.F90.

◆ nstep_velocity

integer mom_ice_shelf::ice_shelf_cs::nstep_velocity

Definition at line 237 of file MOM_ice_shelf.F90.

237  integer :: nstep_velocity ! ~ (velocity_update_time_step / time_step)

◆ ocn_grid

type(ocean_grid_type), pointer mom_ice_shelf::ice_shelf_cs::ocn_grid => NULL()

A pointer to the ocean model grid The rest is private.

Definition at line 72 of file MOM_ice_shelf.F90.

72  type(ocean_grid_type), pointer :: ocn_grid => null() !< A pointer to the ocean model grid
Ocean grid type. See mom_grid for details.
Definition: MOM_grid.F90:19

◆ od_av

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::od_av => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ od_rt

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::od_rt => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ override_shelf_movement

logical mom_ice_shelf::ice_shelf_cs::override_shelf_movement

If true, user code specifies the shelf movement instead of using the dynamic ice-shelf mode.

Definition at line 259 of file MOM_ice_shelf.F90.

259  logical :: override_shelf_movement !< If true, user code specifies the shelf movement

◆ restart_csp

type(mom_restart_cs), pointer mom_ice_shelf::ice_shelf_cs::restart_csp => NULL()

Definition at line 69 of file MOM_ice_shelf.F90.

69  type(mom_restart_cs), pointer :: restart_csp => null()

◆ restart_output_dir

character(len=128) mom_ice_shelf::ice_shelf_cs::restart_output_dir = ' '

Definition at line 76 of file MOM_ice_shelf.F90.

76  character(len=128) :: restart_output_dir = ' '

◆ rho0

real mom_ice_shelf::ice_shelf_cs::rho0

A reference ocean density in kg/m3.

Definition at line 170 of file MOM_ice_shelf.F90.

170  real :: rho0 !< A reference ocean density in kg/m3.

◆ s0

real mom_ice_shelf::ice_shelf_cs::s0

Definition at line 223 of file MOM_ice_shelf.F90.

◆ salin_ice

real mom_ice_shelf::ice_shelf_cs::salin_ice

The salinity of shelf ice, in PSU.

Definition at line 174 of file MOM_ice_shelf.F90.

174  real :: salin_ice !< The salinity of shelf ice, in PSU.

◆ salt_flux

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::salt_flux => NULL()

The downward salt flux at the ocean-ice.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ shelf_mass_is_dynamic

logical mom_ice_shelf::ice_shelf_cs::shelf_mass_is_dynamic

True if the ice shelf mass changes with time.

Definition at line 258 of file MOM_ice_shelf.F90.

258  logical :: shelf_mass_is_dynamic !< True if the ice shelf mass changes with time.

◆ solo_ice_sheet

logical mom_ice_shelf::ice_shelf_cs::solo_ice_sheet

whether the ice model is running without being coupled to the ocean

Definition at line 196 of file MOM_ice_shelf.F90.

196  logical :: solo_ice_sheet !< whether the ice model is running without being

◆ switch_var

logical mom_ice_shelf::ice_shelf_cs::switch_var

Definition at line 253 of file MOM_ice_shelf.F90.

253  logical :: switch_var ! for debdugging - a switch to ensure some event happens only once

◆ t0

real mom_ice_shelf::ice_shelf_cs::t0

Definition at line 223 of file MOM_ice_shelf.F90.

223  real :: t0, s0 ! temp/salt at ocean surface in the restoring region

◆ t_boundary_values

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::t_boundary_values => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ t_flux

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::t_flux => NULL()

The UPWARD sensible ocean heat flux at the.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ t_shelf

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::t_shelf => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ taub_beta_eff_bilinear

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::taub_beta_eff_bilinear => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ taub_beta_eff_lower_tri

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::taub_beta_eff_lower_tri => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ taub_beta_eff_upper_tri

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::taub_beta_eff_upper_tri => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ temp_ice

real mom_ice_shelf::ice_shelf_cs::temp_ice

The core temperature of shelf ice, in C.

Definition at line 175 of file MOM_ice_shelf.F90.

175  real :: temp_ice !< The core temperature of shelf ice, in C.

◆ tflux_shelf

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::tflux_shelf => NULL()

The UPWARD diffusive heat flux in the ice.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ tfreeze

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::tfreeze => NULL()

The freezing point potential temperature.

Definition at line 77 of file MOM_ice_shelf.F90.

◆ thickness_boundary_values

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::thickness_boundary_values => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ threeeq

logical mom_ice_shelf::ice_shelf_cs::threeeq

If true, the 3 equation consistency equations are used to calculate the flux at the ocean-ice interface.

Definition at line 263 of file MOM_ice_shelf.F90.

263  logical :: threeeq !< If true, the 3 equation consistency equations are

◆ thresh_float_col_depth

real mom_ice_shelf::ice_shelf_cs::thresh_float_col_depth

Definition at line 219 of file MOM_ice_shelf.F90.

219  real :: thresh_float_col_depth ! the water column depth over which the shelf if considered to be floating

◆ time

type(time_type) mom_ice_shelf::ice_shelf_cs::time

The component's time.

Definition at line 255 of file MOM_ice_shelf.F90.

255  type(time_type) :: time !< The component's time.

◆ time_step

real mom_ice_shelf::ice_shelf_cs::time_step

this is the shortest timestep that the ice shelf sees, and is equal to the forcing timestep (it is passed in when the shelf is initialized - so need to reorganize MOM driver. it will be the prognistic timestep ... maybe.

Definition at line 189 of file MOM_ice_shelf.F90.

189  real :: time_step !< this is the shortest timestep that the ice shelf sees, and

◆ tmask

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::tmask => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ u_boundary_values

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::u_boundary_values => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ u_face_mask

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::u_face_mask => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ u_face_mask_boundary

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::u_face_mask_boundary => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ u_flux_boundary_values

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::u_flux_boundary_values => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ u_shelf

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::u_shelf => NULL()

the zonal (?) velocity of the ice shelf/sheet,

Definition at line 77 of file MOM_ice_shelf.F90.

◆ umask

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::umask => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ use_reproducing_sums

logical mom_ice_shelf::ice_shelf_cs::use_reproducing_sums

use new reproducing sums of Bob & Alistair for global sums. NOTE: for this to work all tiles must have the same & of elements. this means thatif a symmetric grid is being used, the southwest nodes of the southwest tiles will not be included in the

Definition at line 245 of file MOM_ice_shelf.F90.

245  logical :: use_reproducing_sums !< use new reproducing sums of Bob & Alistair for

◆ user_cs

type(user_ice_shelf_cs), pointer mom_ice_shelf::ice_shelf_cs::user_cs => NULL()

Definition at line 295 of file MOM_ice_shelf.F90.

295  type(user_ice_shelf_cs), pointer :: user_cs => null()

◆ ustar_bg

real mom_ice_shelf::ice_shelf_cs::ustar_bg

A minimum value for ustar under ice shelves, in m s-1.

Definition at line 166 of file MOM_ice_shelf.F90.

166  real :: ustar_bg !< A minimum value for ustar under ice shelves, in m s-1.

◆ utide

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::utide => NULL()

tidal velocity, in m/s

Definition at line 77 of file MOM_ice_shelf.F90.

◆ v_boundary_values

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::v_boundary_values => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ v_face_mask

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::v_face_mask => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ v_face_mask_boundary

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::v_face_mask_boundary => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ v_flux_boundary_values

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::v_flux_boundary_values => NULL()

Definition at line 77 of file MOM_ice_shelf.F90.

◆ v_shelf

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::v_shelf => NULL()

the meridional velocity of the ice shelf/sheet,

Definition at line 77 of file MOM_ice_shelf.F90.

◆ velocity_update_counter

integer mom_ice_shelf::ice_shelf_cs::velocity_update_counter

Definition at line 236 of file MOM_ice_shelf.F90.

236  integer :: velocity_update_counter ! the "outer" timestep number

◆ velocity_update_sub_counter

integer mom_ice_shelf::ice_shelf_cs::velocity_update_sub_counter

Definition at line 235 of file MOM_ice_shelf.F90.

235  integer :: velocity_update_sub_counter ! there is no outer loop for the velocity solve; the counter will have to be stored

◆ velocity_update_time_step

real mom_ice_shelf::ice_shelf_cs::velocity_update_time_step

Definition at line 230 of file MOM_ice_shelf.F90.

230  real :: velocity_update_time_step ! the time to update the velocity through the nonlinear

◆ vmask

real, dimension(:,:), pointer mom_ice_shelf::ice_shelf_cs::vmask => NULL()

masks on the actual degrees of freedom (B grid)

Definition at line 77 of file MOM_ice_shelf.F90.

◆ write_output_to_file

logical mom_ice_shelf::ice_shelf_cs::write_output_to_file

this is for seeing arrays w/out netcdf capability

Definition at line 297 of file MOM_ice_shelf.F90.

297  logical :: write_output_to_file !< this is for seeing arrays w/out netcdf capability

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