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

Go to the source code of this file.

Data Types

type  mom_thickness_diffuse::thickness_diffuse_cs
 Control structure for thickness diffusion. More...
 

Modules

module  mom_thickness_diffuse
 Thickness diffusion (or Gent McWilliams)
 

Functions/Subroutines

subroutine, public mom_thickness_diffuse::thickness_diffuse (h, uhtr, vhtr, tv, dt, G, GV, US, MEKE, VarMix, CDp, CS)
 Calculates thickness diffusion coefficients and applies thickness diffusion to layer thicknesses, h. Diffusivities are limited to ensure stability. Also returns along-layer mass fluxes used in the continuity equation. More...
 
subroutine mom_thickness_diffuse::thickness_diffuse_full (h, e, Kh_u, Kh_v, tv, uhD, vhD, cg1, dt, G, GV, US, MEKE, CS, int_slope_u, int_slope_v, slope_x, slope_y)
 Calculates parameterized layer transports for use in the continuity equation. Fluxes are limited to give positive definite thicknesses. Called by thickness_diffuse(). More...
 
subroutine mom_thickness_diffuse::streamfn_solver (nk, c2_h, hN2, sfn)
 Tridiagonal solver for streamfunction at interfaces. More...
 
subroutine mom_thickness_diffuse::add_detangling_kh (h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV, US, CS, int_slope_u, int_slope_v)
 Modifies thickness diffusivities to untangle layer structures. More...
 
subroutine, public mom_thickness_diffuse::thickness_diffuse_init (Time, G, GV, US, param_file, diag, CDp, CS)
 Initialize the thickness diffusion module/structure. More...
 
subroutine, public mom_thickness_diffuse::thickness_diffuse_get_kh (CS, KH_u_GME, KH_v_GME, G)
 Copies ubtav and vbtav from private type into arrays. More...
 
subroutine, public mom_thickness_diffuse::thickness_diffuse_end (CS)
 Deallocate the thickness diffusion control structure. More...