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

Go to the source code of this file.

Data Types

type  mom_vert_friction::vertvisc_cs
 The control structure with parameters and memory for the MOM_vert_friction module. More...
 

Modules

module  mom_vert_friction
 Implements vertical viscosity (vertvisc)
 

Functions/Subroutines

subroutine, public mom_vert_friction::vertvisc (u, v, h, forces, visc, dt, OBC, ADp, CDp, G, GV, US, CS, taux_bot, tauy_bot, Waves)
 Perform a fully implicit vertical diffusion of momentum. Stress top and bottom boundary conditions are used. More...
 
subroutine, public mom_vert_friction::vertvisc_remnant (visc, visc_rem_u, visc_rem_v, dt, G, GV, US, CS)
 Calculate the fraction of momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step's worth of barotropic acceleration that a layer experiences after viscosity is applied. More...
 
subroutine, public mom_vert_friction::vertvisc_coef (u, v, h, forces, visc, dt, G, GV, US, CS, OBC)
 Calculate the coupling coefficients (CSa_u and CSa_v) and effective layer thicknesses (CSh_u and CSh_v) for later use in the applying the implicit vertical viscosity via vertvisc(). More...
 
subroutine mom_vert_friction::find_coupling_coef (a_cpl, hvel, do_i, h_harm, bbl_thick, kv_bbl, z_i, h_ml, dt, j, G, GV, US, CS, visc, forces, work_on_u, OBC, shelf)
 Calculate the 'coupling coefficient' (a_cpl) at the interfaces. If BOTTOMDRAGLAW is defined, the minimum of Hbbl and half the adjacent layer thicknesses are used to calculate a_cpl near the bottom. More...
 
subroutine, public mom_vert_friction::vertvisc_limit_vel (u, v, h, ADp, CDp, forces, visc, dt, G, GV, US, CS)
 Velocity components which exceed a threshold for physically reasonable values are truncated. Optionally, any column with excessive velocities may be sent to a diagnostic reporting subroutine. More...
 
subroutine, public mom_vert_friction::vertvisc_init (MIS, Time, G, GV, US, param_file, diag, ADp, dirs, ntrunc, CS)
 Initialize the vertical friction module. More...
 
subroutine, public mom_vert_friction::updatecfltruncationvalue (Time, CS, activate)
 Update the CFL truncation value as a function of time. If called with the optional argument activate=.true., record the value of Time as the beginning of the ramp period. More...
 
subroutine, public mom_vert_friction::vertvisc_end (CS)
 Clean up and deallocate the vertical friction module. More...