MOM6
MOM_ice_shelf_dynamics.F90 File Reference
#include <MOM_memory.h>
Include dependency graph for MOM_ice_shelf_dynamics.F90:

Go to the source code of this file.

Data Types

type  mom_ice_shelf_dynamics::ice_shelf_dyn_cs
 The control structure for the ice shelf dynamics. More...
 

Modules

module  mom_ice_shelf_dynamics
 Implements a crude placeholder for a later implementation of full ice shelf dynamics.
 

Functions/Subroutines

real function mom_ice_shelf_dynamics::slope_limiter (num, denom)
 used for flux limiting in advective subroutines Van Leer limiter (source: Wikipedia) More...
 
real function mom_ice_shelf_dynamics::quad_area (X, Y)
 Calculate area of quadrilateral. More...
 
subroutine, public mom_ice_shelf_dynamics::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 mom_ice_shelf_dynamics::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 mom_ice_shelf_dynamics::initialize_diagnostic_fields (CS, ISS, G, US, Time)
 
real function, public mom_ice_shelf_dynamics::ice_time_step_cfl (CS, ISS, G)
 This function returns the global maximum timestep that can be taken based on the current ice velocities. Because it involves finding a global minimum, it can be suprisingly expensive. More...
 
subroutine, public mom_ice_shelf_dynamics::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 mom_ice_shelf_dynamics::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 mom_ice_shelf_dynamics::ice_shelf_solve_outer (CS, ISS, G, US, u, v, iters, time)
 
subroutine mom_ice_shelf_dynamics::ice_shelf_solve_inner (CS, ISS, G, u, v, taudx, taudy, H_node, float_cond, hmask, conv_flag, iters, time, Phi, Phisub)
 
subroutine mom_ice_shelf_dynamics::ice_shelf_advect_thickness_x (CS, G, time_step, hmask, h0, h_after_uflux, flux_enter)
 
subroutine mom_ice_shelf_dynamics::ice_shelf_advect_thickness_y (CS, G, time_step, hmask, h_after_uflux, h_after_vflux, flux_enter)
 
subroutine, public mom_ice_shelf_dynamics::shelf_advance_front (CS, ISS, G, flux_enter)
 
subroutine, public mom_ice_shelf_dynamics::ice_shelf_min_thickness_calve (G, h_shelf, area_shelf_h, hmask, thickness_calve)
 Apply a very simple calving law using a minimum thickness rule. More...
 
subroutine, public mom_ice_shelf_dynamics::calve_to_mask (G, h_shelf, area_shelf_h, hmask, calve_mask)
 
subroutine mom_ice_shelf_dynamics::calc_shelf_driving_stress (CS, ISS, G, US, TAUD_X, TAUD_Y, OD)
 
subroutine mom_ice_shelf_dynamics::init_boundary_values (CS, G, time, hmask, input_flux, input_thick, new_sim)
 
subroutine mom_ice_shelf_dynamics::cg_action (uret, vret, u, v, Phi, Phisub, umask, vmask, hmask, H_node, nu, float_cond, bathyT, beta, dxdyh, G, is, ie, js, je, dens_ratio)
 
subroutine mom_ice_shelf_dynamics::cg_action_subgrid_basal (Phisub, H, U, V, DXDYH, bathyT, dens_ratio, Ucontr, Vcontr)
 
subroutine mom_ice_shelf_dynamics::matrix_diagonal (CS, G, float_cond, H_node, nu, beta, hmask, dens_ratio, Phisub, u_diagonal, v_diagonal)
 returns the diagonal entries of the matrix for a Jacobi preconditioning More...
 
subroutine mom_ice_shelf_dynamics::cg_diagonal_subgrid_basal (Phisub, H_node, DXDYH, bathyT, dens_ratio, Ucontr, Vcontr)
 
subroutine mom_ice_shelf_dynamics::apply_boundary_values (CS, ISS, G, time, Phisub, H_node, nu, beta, float_cond, dens_ratio, u_bdry_contr, v_bdry_contr)
 
subroutine mom_ice_shelf_dynamics::calc_shelf_visc (CS, ISS, G, US, u, v)
 Update depth integrated viscosity, based on horizontal strain rates, and also update the nonlinear part of the basal traction. More...
 
subroutine mom_ice_shelf_dynamics::update_od_ffrac (CS, G, US, ocean_mass, find_avg)
 
subroutine mom_ice_shelf_dynamics::update_od_ffrac_uncoupled (CS, G, h_shelf)
 
subroutine mom_ice_shelf_dynamics::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 mom_ice_shelf_dynamics::bilinear_shape_functions_subgrid (Phisub, nsub)
 
subroutine mom_ice_shelf_dynamics::update_velocity_masks (CS, G, hmask, umask, vmask, u_face_mask, v_face_mask)
 
subroutine mom_ice_shelf_dynamics::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 mom_ice_shelf_dynamics::ice_shelf_dyn_end (CS)
 Deallocates all memory associated with the ice shelf dynamics module. More...
 
subroutine mom_ice_shelf_dynamics::ice_shelf_temp (CS, ISS, G, US, time_step, melt_rate, Time)
 This subroutine updates the vertically averaged ice shelf temperature. More...
 
subroutine mom_ice_shelf_dynamics::ice_shelf_advect_temp_x (CS, G, time_step, hmask, h0, h_after_uflux, flux_enter)
 
subroutine mom_ice_shelf_dynamics::ice_shelf_advect_temp_y (CS, G, time_step, hmask, h_after_uflux, h_after_vflux, flux_enter)