|
MOM6
|
Implements a crude placeholder for a later implementation of full ice shelf dynamics.
Data Types | |
| type | ice_shelf_dyn_cs |
| The control structure for the ice shelf dynamics. More... | |
| type | loop_bounds_type |
| A container for loop bounds. More... | |
Functions/Subroutines | |
| real function | slope_limiter (num, denom) |
| used for flux limiting in advective subroutines Van Leer limiter (source: Wikipedia) The return value is between 0 and 2 [nondim]. More... | |
| real function | quad_area (X, Y) |
| Calculate area of quadrilateral. More... | |
| subroutine, public | register_ice_shelf_dyn_restarts (G, param_file, CS, restart_CS) |
| This subroutine is used to register any fields related to the ice shelf dynamics that should be written to or read from the restart file. More... | |
| subroutine, public | initialize_ice_shelf_dyn (param_file, Time, ISS, CS, G, US, diag, new_sim, solo_ice_sheet_in) |
| Initializes shelf model data, parameters and diagnostics. More... | |
| subroutine | initialize_diagnostic_fields (CS, ISS, G, US, Time) |
| real function, public | ice_time_step_cfl (CS, ISS, G) |
| This function returns the global maximum advective timestep that can be taken based on the current ice velocities. Because it involves finding a global minimum, it can be surprisingly expensive. More... | |
| subroutine, public | update_ice_shelf (CS, ISS, G, US, time_step, Time, ocean_mass, coupled_grounding, must_update_vel) |
| This subroutine updates the ice shelf velocities, mass, stresses and properties due to the ice shelf dynamics. More... | |
| subroutine | ice_shelf_advect (CS, ISS, G, time_step, Time) |
| This subroutine takes the velocity (on the Bgrid) and timesteps h_t = - div (uh) once. Additionally, it will update the volume of ice in partially-filled cells, and update hmask accordingly. More... | |
| subroutine | ice_shelf_solve_outer (CS, ISS, G, US, u_shlf, v_shlf, iters, time) |
| subroutine | ice_shelf_solve_inner (CS, ISS, G, US, u_shlf, v_shlf, taudx, taudy, H_node, float_cond, hmask, conv_flag, iters, time, Phi, Phisub) |
| subroutine | ice_shelf_advect_thickness_x (CS, G, LB, time_step, hmask, h0, h_after_uflux, uh_ice) |
| subroutine | ice_shelf_advect_thickness_y (CS, G, LB, time_step, hmask, h0, h_after_vflux, vh_ice) |
| subroutine, public | shelf_advance_front (CS, ISS, G, hmask, uh_ice, vh_ice) |
| subroutine, public | ice_shelf_min_thickness_calve (G, h_shelf, area_shelf_h, hmask, thickness_calve, halo) |
| Apply a very simple calving law using a minimum thickness rule. More... | |
| subroutine, public | calve_to_mask (G, h_shelf, area_shelf_h, hmask, calve_mask) |
| subroutine | calc_shelf_driving_stress (CS, ISS, G, US, taudx, taudy, OD) |
| subroutine | init_boundary_values (CS, G, time, hmask, input_flux, input_thick, new_sim) |
| subroutine | cg_action (uret, vret, u_shlf, v_shlf, Phi, Phisub, umask, vmask, hmask, H_node, ice_visc, float_cond, bathyT, basal_trac, G, US, is, ie, js, je, dens_ratio) |
| subroutine | cg_action_subgrid_basal (Phisub, H, U, V, bathyT, dens_ratio, Ucontr, Vcontr) |
| subroutine | matrix_diagonal (CS, G, US, float_cond, H_node, ice_visc, basal_trac, hmask, dens_ratio, Phisub, u_diagonal, v_diagonal) |
| returns the diagonal entries of the matrix for a Jacobi preconditioning More... | |
| subroutine | cg_diagonal_subgrid_basal (Phisub, H_node, bathyT, dens_ratio, sub_grnd) |
| subroutine | apply_boundary_values (CS, ISS, G, US, time, Phisub, H_node, ice_visc, basal_trac, float_cond, dens_ratio, u_bdry_contr, v_bdry_contr) |
| subroutine | calc_shelf_visc (CS, ISS, G, US, u_shlf, v_shlf) |
| Update depth integrated viscosity, based on horizontal strain rates, and also update the nonlinear part of the basal traction. More... | |
| subroutine | update_od_ffrac (CS, G, US, ocean_mass, find_avg) |
| subroutine | update_od_ffrac_uncoupled (CS, G, h_shelf) |
| subroutine | bilinear_shape_functions (X, Y, Phi, area) |
| This subroutine calculates the gradients of bilinear basis elements that that are centered at the vertices of the cell. Values are calculated at points of gaussian quadrature. More... | |
| subroutine | bilinear_shape_fn_grid (G, i, j, Phi) |
| This subroutine calculates the gradients of bilinear basis elements that are centered at the vertices of the cell using a locally orthogoal MOM6 grid. Values are calculated at points of gaussian quadrature. More... | |
| subroutine | bilinear_shape_functions_subgrid (Phisub, nsub) |
| subroutine | update_velocity_masks (CS, G, hmask, umask, vmask, u_face_mask, v_face_mask) |
| subroutine | interpolate_h_to_b (G, h_shelf, hmask, H_node) |
| Interpolate the ice shelf thickness from tracer point to nodal points, subject to a mask. More... | |
| subroutine, public | ice_shelf_dyn_end (CS) |
| Deallocates all memory associated with the ice shelf dynamics module. More... | |
| subroutine | ice_shelf_temp (CS, ISS, G, US, time_step, melt_rate, Time) |
| This subroutine updates the vertically averaged ice shelf temperature. More... | |
| subroutine | ice_shelf_advect_temp_x (CS, G, time_step, hmask, h0, h_after_uflux) |
| subroutine | ice_shelf_advect_temp_y (CS, G, time_step, hmask, h_after_uflux, h_after_vflux) |
|
private |
| [in] | cs | A pointer to the ice shelf control structure |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| [in] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in] | time | The current model time |
| [in] | phisub | Quadrature structure weights at subgridscale |
| [in] | h_node | The ice shelf thickness at nodal |
| [in] | ice_visc | A field related to the ice viscosity from Glen's |
| [in] | basal_trac | A field related to the nonlinear part of the |
| [in] | float_cond | An array indicating where the ice |
| [in] | dens_ratio | The density of ice divided by the density of seawater, nondimensional |
| [in,out] | u_bdry_contr | Zonal force contributions due to the |
| [in,out] | v_bdry_contr | Meridional force contributions due to the |
Definition at line 2308 of file MOM_ice_shelf_dynamics.F90.
|
private |
This subroutine calculates the gradients of bilinear basis elements that are centered at the vertices of the cell using a locally orthogoal MOM6 grid. Values are calculated at points of gaussian quadrature.
| [in] | g | The grid structure used by the ice shelf. |
| [in] | i | The i-index in the grid to work on. |
| [in] | j | The j-index in the grid to work on. |
| [in,out] | phi | The gradients of bilinear basis elements at Gaussian quadrature points surrounding the cell vertices [L-1 ~> m-1]. |
Definition at line 2649 of file MOM_ice_shelf_dynamics.F90.
|
private |
This subroutine calculates the gradients of bilinear basis elements that that are centered at the vertices of the cell. Values are calculated at points of gaussian quadrature.
| [in] | x | The x-positions of the vertices of the quadrilateral [L ~> m]. |
| [in] | y | The y-positions of the vertices of the quadrilateral [L ~> m]. |
| [in,out] | phi | The gradients of bilinear basis elements at Gaussian quadrature points surrounding the cell vertices [L-1 ~> m-1]. |
| [out] | area | The quadrilateral cell area [L2 ~> m2]. |
Definition at line 2581 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in,out] | phisub | Quadrature structure weights at subgridscale |
| [in] | nsub | The number of subgridscale quadrature locations in each direction |
Definition at line 2703 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | cs | A pointer to the ice shelf control structure |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in] | od | ocean floor depth at tracer points [Z ~> m]. |
| [in,out] | taudx | X-direction driving stress at q-points [kg L s-2 ~> kg m s-2] |
| [in,out] | taudy | Y-direction driving stress at q-points [kg L s-2 ~> kg m s-2] |
Definition at line 1706 of file MOM_ice_shelf_dynamics.F90.
|
private |
Update depth integrated viscosity, based on horizontal strain rates, and also update the nonlinear part of the basal traction.
| [in,out] | cs | A pointer to the ice shelf control structure |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| [in] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in,out] | u_shlf | The zonal ice shelf velocity [L T-1 ~> m s-1]. |
| [in,out] | v_shlf | The meridional ice shelf velocity [L T-1 ~> m s-1]. |
Definition at line 2453 of file MOM_ice_shelf_dynamics.F90.
| subroutine, public mom_ice_shelf_dynamics::calve_to_mask | ( | type(ocean_grid_type), intent(in) | G, |
| real, dimension(szdi_(g),szdj_(g)), intent(inout) | h_shelf, | ||
| real, dimension(szdi_(g),szdj_(g)), intent(inout) | area_shelf_h, | ||
| real, dimension(szdi_(g),szdj_(g)), intent(inout) | hmask, | ||
| real, dimension(szdi_(g),szdj_(g)), intent(in) | calve_mask | ||
| ) |
| [in] | g | The grid structure used by the ice shelf. |
| [in,out] | h_shelf | The ice shelf thickness [Z ~> m]. |
| [in,out] | area_shelf_h | The area per cell covered by the ice shelf [L2 ~> m2]. |
| [in,out] | hmask | A mask indicating which tracer points are partly or fully covered by an ice-shelf |
| [in] | calve_mask | A mask that indicates where the ice shelf can exist, and where it will calve. |
Definition at line 1684 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | g | The grid structure used by the ice shelf. |
| [in,out] | uret | The retarding stresses working at u-points [R L3 Z T-2 ~> kg m s-2]. |
| [in,out] | vret | The retarding stresses working at v-points [R L3 Z T-2 ~> kg m s-2]. |
| [in] | phi | The gradients of bilinear basis elements at Gaussian |
| [in] | phisub | Quadrature structure weights at subgridscale |
| [in] | u_shlf | The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [in] | v_shlf | The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [in] | umask | A coded mask indicating the nature of the |
| [in] | vmask | A coded mask indicating the nature of the |
| [in] | h_node | The ice shelf thickness at nodal (corner) |
| [in] | hmask | A mask indicating which tracer points are |
| [in] | ice_visc | A field related to the ice viscosity from Glen's |
| [in] | float_cond | An array indicating where the ice |
| [in] | bathyt | The depth of ocean bathymetry at tracer points [Z ~> m]. |
| [in] | basal_trac | A field related to the nonlinear part of the |
| [in] | dens_ratio | The density of ice divided by the density of seawater, nondimensional |
| [in] | us | A structure containing unit conversion factors |
| [in] | is | The starting i-index to work on |
| [in] | ie | The ending i-index to work on |
| [in] | js | The starting j-index to work on |
| [in] | je | The ending j-index to work on |
Definition at line 1971 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | phisub | Quadrature structure weights at subgridscale |
| [in] | h | The ice shelf thickness at nodal (corner) points [Z ~> m]. |
| [in] | u | The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [in] | v | The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [in] | bathyt | The depth of ocean bathymetry at tracer points [Z ~> m]. |
| [in] | dens_ratio | The density of ice divided by the density of seawater [nondim] |
| [out] | ucontr | The areal average of u-velocities where the ice shelf is grounded, or 0 where it is floating [L T-1 ~> m s-1]. |
| [out] | vcontr | The areal average of v-velocities where the ice shelf is grounded, or 0 where it is floating [L T-1 ~> m s-1]. |
Definition at line 2122 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | phisub | Quadrature structure weights at subgridscale |
| [in] | h_node | The ice shelf thickness at nodal (corner) points [Z ~> m]. |
| [in] | bathyt | The depth of ocean bathymetry at tracer points [Z ~> m]. |
| [in] | dens_ratio | The density of ice divided by the density of seawater [nondim] |
| [out] | sub_grnd | The weighted fraction of the sub-cell where the ice shelf is grounded [nondim] |
Definition at line 2272 of file MOM_ice_shelf_dynamics.F90.
|
private |
This subroutine takes the velocity (on the Bgrid) and timesteps h_t = - div (uh) once. Additionally, it will update the volume of ice in partially-filled cells, and update hmask accordingly.
| [in,out] | cs | The ice shelf dynamics control structure |
| [in,out] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | time_step | time step [T ~> s] |
| [in] | time | The current model time |
Definition at line 694 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | cs | A pointer to the ice shelf control structure |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | time_step | The time step for this update [T ~> s]. |
| [in] | hmask | A mask indicating which tracer points are |
| [in] | h0 | The initial ice shelf thicknesses [Z ~> m]. |
| [in,out] | h_after_uflux | The ice shelf thicknesses after |
Definition at line 3069 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | cs | A pointer to the ice shelf control structure |
| [in] | g | The grid structure used by the ice shelf. |
| [in] | time_step | The time step for this update [T ~> s]. |
| [in] | hmask | A mask indicating which tracer points are |
| [in] | h_after_uflux | The ice shelf thicknesses after |
| [in,out] | h_after_vflux | The ice shelf thicknesses after |
Definition at line 3238 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | cs | A pointer to the ice shelf control structure |
| [in] | g | The grid structure used by the ice shelf. |
| [in] | lb | Loop bounds structure. |
| [in] | time_step | The time step for this update [T ~> s]. |
| [in,out] | hmask | A mask indicating which tracer points are |
| [in] | h0 | The initial ice shelf thicknesses [Z ~> m]. |
| [in,out] | h_after_uflux | The ice shelf thicknesses after |
| [in,out] | uh_ice | The accumulated zonal ice volume flux [Z L2 ~> m3] |
Definition at line 1299 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | cs | A pointer to the ice shelf control structure |
| [in] | g | The grid structure used by the ice shelf. |
| [in] | lb | Loop bounds structure. |
| [in] | time_step | The time step for this update [T ~> s]. |
| [in,out] | hmask | A mask indicating which tracer points are |
| [in] | h0 | The initial ice shelf thicknesses [Z ~> m]. |
| [in,out] | h_after_vflux | The ice shelf thicknesses after |
| [in,out] | vh_ice | The accumulated meridional ice volume flux [Z L2 ~> m3] |
Definition at line 1382 of file MOM_ice_shelf_dynamics.F90.
| subroutine, public mom_ice_shelf_dynamics::ice_shelf_dyn_end | ( | type(ice_shelf_dyn_cs), pointer | CS | ) |
Deallocates all memory associated with the ice shelf dynamics module.
| cs | A pointer to the ice shelf dynamics control structure |
Definition at line 2954 of file MOM_ice_shelf_dynamics.F90.
| subroutine, public mom_ice_shelf_dynamics::ice_shelf_min_thickness_calve | ( | type(ocean_grid_type), intent(in) | G, |
| real, dimension(szdi_(g),szdj_(g)), intent(inout) | h_shelf, | ||
| real, dimension(szdi_(g),szdj_(g)), intent(inout) | area_shelf_h, | ||
| real, dimension(szdi_(g),szdj_(g)), intent(inout) | hmask, | ||
| real, intent(in) | thickness_calve, | ||
| integer, intent(in), optional | halo | ||
| ) |
Apply a very simple calving law using a minimum thickness rule.
| [in] | g | The grid structure used by the ice shelf. |
| [in,out] | h_shelf | The ice shelf thickness [Z ~> m]. |
| [in,out] | area_shelf_h | The area per cell covered by the ice shelf [L2 ~> m2]. |
| [in,out] | hmask | A mask indicating which tracer points are partly or fully covered by an ice-shelf |
| [in] | thickness_calve | The thickness at which to trigger calving [Z ~> m]. |
| [in] | halo | The number of halo points to use. If not present, work on the entire data domain. |
Definition at line 1654 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | cs | A pointer to the ice shelf control structure |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in,out] | u_shlf | The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [in,out] | v_shlf | The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [in] | taudx | The x-direction driving stress [R L3 Z T-2 ~> kg m s-2] |
| [in] | taudy | The y-direction driving stress [R L3 Z T-2 ~> kg m s-2] |
| [in] | h_node | The ice shelf thickness at nodal (corner) |
| [in] | float_cond | An array indicating where the ice |
| [in] | hmask | A mask indicating which tracer points are |
| [out] | conv_flag | A flag indicating whether (1) or not (0) the iterations have converged to the specified tolerance |
| [out] | iters | The number of iterations used in the solver. |
| [in] | time | The current model time |
| [in] | phi | The gradients of bilinear basis elements at Gaussian |
| [in] | phisub | Quadrature structure weights at subgridscale |
Definition at line 1001 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in,out] | cs | The ice shelf dynamics control structure |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in,out] | u_shlf | The zonal ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [in,out] | v_shlf | The meridional ice shelf velocity at vertices [L T-1 ~> m s-1] |
| [out] | iters | The number of iterations used in the solver. |
| [in] | time | The current model time |
Definition at line 779 of file MOM_ice_shelf_dynamics.F90.
|
private |
This subroutine updates the vertically averaged ice shelf temperature.
| [in,out] | cs | A pointer to the ice shelf control structure |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in] | time_step | The time step for this update [T ~> s]. |
| [in] | melt_rate | basal melt rate [R Z T-1 ~> kg m-2 s-1] |
| [in] | time | The current model time |
Definition at line 2975 of file MOM_ice_shelf_dynamics.F90.
| real function, public mom_ice_shelf_dynamics::ice_time_step_cfl | ( | type(ice_shelf_dyn_cs), intent(inout) | CS, |
| type(ice_shelf_state), intent(inout) | ISS, | ||
| type(ocean_grid_type), intent(inout) | G | ||
| ) |
This function returns the global maximum advective timestep that can be taken based on the current ice velocities. Because it involves finding a global minimum, it can be surprisingly expensive.
| [in,out] | cs | The ice shelf dynamics control structure |
| [in,out] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
Definition at line 600 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in,out] | cs | A pointer to the ice shelf control structure |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | time | The current model time |
| [in] | hmask | A mask indicating which tracer points are |
| [in] | input_flux | The integrated inward ice thickness flux per unit face length [Z L T-1 ~> m2 s-1] |
| [in] | input_thick | The ice thickness at boundaries [Z ~> m]. |
| [in] | new_sim | If present and false, this run is being restarted |
Definition at line 1902 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in,out] | cs | A pointer to the ice shelf control structure |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in] | time | The current model time |
Definition at line 563 of file MOM_ice_shelf_dynamics.F90.
| subroutine, public mom_ice_shelf_dynamics::initialize_ice_shelf_dyn | ( | type(param_file_type), intent(in) | param_file, |
| type(time_type), intent(inout) | Time, | ||
| type(ice_shelf_state), intent(in) | ISS, | ||
| type(ice_shelf_dyn_cs), pointer | CS, | ||
| type(ocean_grid_type), intent(inout) | G, | ||
| type(unit_scale_type), intent(in) | US, | ||
| type(diag_ctrl), intent(in), target | diag, | ||
| logical, intent(in) | new_sim, | ||
| logical, intent(in), optional | solo_ice_sheet_in | ||
| ) |
Initializes shelf model data, parameters and diagnostics.
| [in] | param_file | A structure to parse for run-time parameters |
| [in,out] | time | The clock that that will indicate the model time |
| [in] | iss | A structure with elements that describe the ice-shelf state |
| cs | A pointer to the ice shelf dynamics control structure | |
| [in,out] | g | The grid type describing the ice shelf grid. |
| [in] | us | A structure containing unit conversion factors |
| [in] | diag | A structure that is used to regulate the diagnostic output. |
| [in] | new_sim | If true this is a new simulation, otherwise has been started from a restart file. |
| [in] | solo_ice_sheet_in | If present, this indicates whether a solo ice-sheet driver. |
Definition at line 273 of file MOM_ice_shelf_dynamics.F90.
|
private |
Interpolate the ice shelf thickness from tracer point to nodal points, subject to a mask.
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | h_shelf | The ice shelf thickness at tracer points [Z ~> m]. |
| [in] | hmask | A mask indicating which tracer points are |
| [in,out] | h_node | The ice shelf thickness at nodal (corner) |
Definition at line 2910 of file MOM_ice_shelf_dynamics.F90.
|
private |
returns the diagonal entries of the matrix for a Jacobi preconditioning
| [in] | cs | A pointer to the ice shelf control structure |
| [in] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in] | float_cond | An array indicating where the ice |
| [in] | h_node | The ice shelf thickness at nodal |
| [in] | ice_visc | A field related to the ice viscosity from Glen's |
| [in] | basal_trac | A field related to the nonlinear part of the |
| [in] | hmask | A mask indicating which tracer points are |
| [in] | dens_ratio | The density of ice divided by the density of seawater [nondim] |
| [in] | phisub | Quadrature structure weights at subgridscale locations for finite element calculations [nondim] |
| [in,out] | u_diagonal | The diagonal elements of the u-velocity |
| [in,out] | v_diagonal | The diagonal elements of the v-velocity |
Definition at line 2163 of file MOM_ice_shelf_dynamics.F90.
|
private |
Calculate area of quadrilateral.
| [in] | x | The x-positions of the vertices of the quadrilateral [L ~> m]. |
| [in] | y | The y-positions of the vertices of the quadrilateral [L ~> m]. |
Definition at line 193 of file MOM_ice_shelf_dynamics.F90.
| subroutine, public mom_ice_shelf_dynamics::register_ice_shelf_dyn_restarts | ( | type(ocean_grid_type), intent(inout) | G, |
| type(param_file_type), intent(in) | param_file, | ||
| type(ice_shelf_dyn_cs), pointer | CS, | ||
| type(mom_restart_cs), pointer | restart_CS | ||
| ) |
This subroutine is used to register any fields related to the ice shelf dynamics that should be written to or read from the restart file.
| [in,out] | g | The grid type describing the ice shelf grid. |
| [in] | param_file | A structure to parse for run-time parameters |
| cs | A pointer to the ice shelf dynamics control structure | |
| restart_cs | A pointer to the restart control structure. |
Definition at line 213 of file MOM_ice_shelf_dynamics.F90.
| subroutine, public mom_ice_shelf_dynamics::shelf_advance_front | ( | type(ice_shelf_dyn_cs), intent(in) | CS, |
| type(ice_shelf_state), intent(inout) | ISS, | ||
| type(ocean_grid_type), intent(in) | G, | ||
| real, dimension(szdi_(g),szdj_(g)), intent(inout) | hmask, | ||
| real, dimension(szdib_(g),szdj_(g)), intent(inout) | uh_ice, | ||
| real, dimension(szdi_(g),szdjb_(g)), intent(inout) | vh_ice | ||
| ) |
| [in] | cs | A pointer to the ice shelf control structure |
| [in,out] | iss | A structure with elements that describe the ice-shelf state |
| [in] | g | The grid structure used by the ice shelf. |
| [in,out] | hmask | A mask indicating which tracer points are |
| [in,out] | uh_ice | The accumulated zonal ice volume flux [Z L2 ~> m3] |
| [in,out] | vh_ice | The accumulated meridional ice volume flux [Z L2 ~> m3] |
Definition at line 1462 of file MOM_ice_shelf_dynamics.F90.
|
private |
used for flux limiting in advective subroutines Van Leer limiter (source: Wikipedia) The return value is between 0 and 2 [nondim].
| [in] | num | The numerator of the ratio used in the Van Leer slope limiter |
| [in] | denom | The denominator of the ratio used in the Van Leer slope limiter |
Definition at line 175 of file MOM_ice_shelf_dynamics.F90.
| subroutine, public mom_ice_shelf_dynamics::update_ice_shelf | ( | type(ice_shelf_dyn_cs), intent(inout) | CS, |
| type(ice_shelf_state), intent(inout) | ISS, | ||
| type(ocean_grid_type), intent(inout) | G, | ||
| type(unit_scale_type), intent(in) | US, | ||
| real, intent(in) | time_step, | ||
| type(time_type), intent(in) | Time, | ||
| real, dimension(szdi_(g),szdj_(g)), intent(in), optional | ocean_mass, | ||
| logical, intent(in), optional | coupled_grounding, | ||
| logical, intent(in), optional | must_update_vel | ||
| ) |
This subroutine updates the ice shelf velocities, mass, stresses and properties due to the ice shelf dynamics.
| [in,out] | cs | The ice shelf dynamics control structure |
| [in,out] | iss | A structure with elements that describe the ice-shelf state |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in] | time_step | time step [T ~> s] |
| [in] | time | The current model time |
| [in] | ocean_mass | If present this is the mass per unit area |
| [in] | coupled_grounding | If true, the grounding line is determined by coupled ice-ocean dynamics |
| [in] | must_update_vel | Always update the ice velocities if true. |
Definition at line 631 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in,out] | cs | A pointer to the ice shelf control structure |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | us | A structure containing unit conversion factors |
| [in] | ocean_mass | The mass per unit area of the ocean [kg m-2]. |
| [in] | find_avg | If true, find the average of OD and ffrac, and reset the underlying running sums to 0. |
Definition at line 2510 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in,out] | cs | A pointer to the ice shelf control structure |
| [in] | g | The grid structure used by the ice shelf. |
| [in] | h_shelf | the thickness of the ice shelf [Z ~> m]. |
Definition at line 2550 of file MOM_ice_shelf_dynamics.F90.
|
private |
| [in] | cs | A pointer to the ice shelf dynamics control structure |
| [in,out] | g | The grid structure used by the ice shelf. |
| [in] | hmask | A mask indicating which tracer points are |
| [out] | umask | A coded mask indicating the nature of the |
| [out] | vmask | A coded mask indicating the nature of the |
| [out] | u_face_mask | A coded mask for velocities at the C-grid u-face |
| [out] | v_face_mask | A coded mask for velocities at the C-grid v-face |
Definition at line 2754 of file MOM_ice_shelf_dynamics.F90.