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

Go to the source code of this file.

Data Types

type  mom_ice_shelf::ice_shelf_cs
 Control structure that contains ice shelf parameters and diagnostics handles. More...
 

Modules

module  mom_ice_shelf
 Implements the thermodynamic aspects of ocean / ice-shelf interactions,.
 

Macros

#define GRID_SYM_   .false.
 
#define NILIMB_SYM_   NIMEMB_
 
#define NJLIMB_SYM_   NJMEMB_
 
#define ISUMSTART_INT_   CS%grid%iscB
 
#define JSUMSTART_INT_   CS%grid%jscB
 

Functions/Subroutines

real function mom_ice_shelf::slope_limiter (num, denom)
 used for flux limiting in advective subroutines Van Leer limiter (source: Wikipedia) More...
 
real function mom_ice_shelf::quad_area (X, Y)
 Calculate area of quadrilateral. More...
 
subroutine, public mom_ice_shelf::shelf_calc_flux (state, fluxes, Time, time_step, CS)
 Calculates fluxes between the ocean and ice-shelf using the three-equations formulation (optional to use just two equations). See ICE_SHELF equations. More...
 
subroutine mom_ice_shelf::change_thickness_using_melt (CS, G, time_step, fluxes)
 Changes the thickness (mass) of the ice shelf based on sub-ice-shelf melting. More...
 
subroutine, public mom_ice_shelf::add_shelf_flux (G, CS, state, fluxes)
 Updates suface fluxes that are influenced by sub-ice-shelf melting. More...
 
subroutine, public mom_ice_shelf::initialize_ice_shelf (param_file, ocn_grid, Time, CS, diag, fluxes, Time_in, solo_ice_sheet_in)
 Initializes shelf model data, parameters and diagnostics. More...
 
subroutine mom_ice_shelf::initialize_shelf_mass (G, param_file, CS, new_sim)
 Initializes shelf mass based on three options (file, zero and user) More...
 
subroutine mom_ice_shelf::update_shelf_mass (G, CS, Time, fluxes)
 Updates the ice shelf mass using data from a file. More...
 
subroutine mom_ice_shelf::initialize_diagnostic_fields (CS, FE, Time)
 
subroutine, public mom_ice_shelf::ice_shelf_save_restart (CS, Time, directory, time_stamped, filename_suffix)
 Save the ice shelf restart file. More...
 
subroutine mom_ice_shelf::ice_shelf_advect (CS, time_step, melt_rate, Time)
 
subroutine mom_ice_shelf::ice_shelf_solve_outer (CS, u, v, FE, iters, time)
 
subroutine mom_ice_shelf::ice_shelf_solve_inner (CS, u, v, taudx, taudy, H_node, float_cond, FE, conv_flag, iters, time, Phi, Phisub)
 
subroutine mom_ice_shelf::ice_shelf_advect_thickness_x (CS, time_step, h0, h_after_uflux, flux_enter)
 
subroutine mom_ice_shelf::ice_shelf_advect_thickness_y (CS, time_step, h_after_uflux, h_after_vflux, flux_enter)
 
subroutine mom_ice_shelf::shelf_advance_front (CS, flux_enter)
 
subroutine mom_ice_shelf::ice_shelf_min_thickness_calve (CS, h_shelf, area_shelf_h, hmask)
 Apply a very simple calving law using a minimum thickness rule. More...
 
subroutine mom_ice_shelf::calve_to_mask (CS, h_shelf, area_shelf_h, hmask, calve_mask)
 
subroutine mom_ice_shelf::calc_shelf_driving_stress (CS, TAUD_X, TAUD_Y, OD, FE)
 
subroutine mom_ice_shelf::init_boundary_values (CS, time, input_flux, input_thick, new_sim)
 
subroutine mom_ice_shelf::cg_action_triangular (uret, vret, u, v, umask, vmask, hmask, nu_upper, nu_lower, beta_upper, beta_lower, dxh, dyh, dxdyh, is, ie, js, je, isym)
 
subroutine mom_ice_shelf::cg_action_bilinear (uret, vret, u, v, Phi, Phisub, umask, vmask, hmask, H_node, nu, float_cond, D, beta, dxdyh, is, ie, js, je, dens_ratio)
 
subroutine mom_ice_shelf::cg_action_subgrid_basal_bilinear (Phisub, H, U, V, DXDYH, D, dens_ratio, Ucontr, Vcontr, iin, jin)
 
subroutine mom_ice_shelf::matrix_diagonal_triangle (CS, u_diagonal, v_diagonal)
 
subroutine mom_ice_shelf::matrix_diagonal_bilinear (CS, float_cond, H_node, dens_ratio, Phisub, u_diagonal, v_diagonal)
 
subroutine mom_ice_shelf::cg_diagonal_subgrid_basal_bilinear (Phisub, H, DXDYH, D, dens_ratio, Ucontr, Vcontr)
 
subroutine mom_ice_shelf::apply_boundary_values_triangle (CS, time, u_boundary_contr, v_boundary_contr)
 
subroutine mom_ice_shelf::apply_boundary_values_bilinear (CS, time, Phisub, H_node, float_cond, dens_ratio, u_boundary_contr, v_boundary_contr)
 
subroutine mom_ice_shelf::calc_shelf_visc_triangular (CS, u, v)
 
subroutine mom_ice_shelf::calc_shelf_visc_bilinear (CS, u, v)
 
subroutine mom_ice_shelf::update_od_ffrac (CS, ocean_mass, counter, nstep_velocity, time_step, velocity_update_time_step)
 
subroutine mom_ice_shelf::update_od_ffrac_uncoupled (CS)
 
subroutine mom_ice_shelf::bilinear_shape_functions (X, Y, Phi, area)
 
subroutine mom_ice_shelf::bilinear_shape_functions_subgrid (Phisub, nsub)
 
subroutine mom_ice_shelf::update_velocity_masks (CS)
 
subroutine mom_ice_shelf::interpolate_h_to_b (CS, h_shelf, hmask, H_node)
 
subroutine, public mom_ice_shelf::ice_shelf_end (CS)
 Deallocates all memory associated with this module. More...
 
subroutine mom_ice_shelf::savearray2 (fname, A, flag)
 
subroutine, public mom_ice_shelf::solo_time_step (CS, time_step, n, Time, min_time_step_in)
 
subroutine mom_ice_shelf::ice_shelf_temp (CS, time_step, melt_rate, Time)
 
subroutine mom_ice_shelf::ice_shelf_advect_temp_x (CS, time_step, h0, h_after_uflux, flux_enter)
 
subroutine mom_ice_shelf::ice_shelf_advect_temp_y (CS, time_step, h_after_uflux, h_after_vflux, flux_enter)
 

Variables

integer mom_ice_shelf::id_clock_shelf
 
integer mom_ice_shelf::id_clock_pass
 Clock for group pass calls. More...
 

Macro Definition Documentation

◆ GRID_SYM_

#define GRID_SYM_   .false.

◆ ISUMSTART_INT_

#define ISUMSTART_INT_   CS%grid%iscB

◆ JSUMSTART_INT_

#define JSUMSTART_INT_   CS%grid%jscB

◆ NILIMB_SYM_

#define NILIMB_SYM_   NIMEMB_

◆ NJLIMB_SYM_

#define NJLIMB_SYM_   NJMEMB_