namespace mom_continuity_ppm¶
Overview¶
Solve the layer continuity equation using the PPM method for layer fluxes. More…
namespace mom_continuity_ppm { // global functions subroutine, public continuity_ppm( u u, v v, hin hin, h h, uh uh, vh vh, dt_in_T dt_in_T, G G, GV GV, US US, CS CS, uhbt uhbt, vhbt vhbt, OBC OBC, visc_rem_u visc_rem_u, visc_rem_v visc_rem_v, u_cor u_cor, v_cor v_cor, BT_cont BT_cont ); subroutine, public continuity_ppm_init( Time Time, G G, GV GV, US US, param_file param_file, diag diag, CS CS ); integer function, public continuity_ppm_stencil(CS CS); subroutine, public continuity_ppm_end(CS CS); } // namespace mom_continuity_ppm
Detailed Documentation¶
Solve the layer continuity equation using the PPM method for layer fluxes.
This module contains the subroutines that advect layer thickness. The scheme here uses a Piecewise-Parabolic method with a positive definite limiter.
Global Functions¶
subroutine, public continuity_ppm( u u, v v, hin hin, h h, uh uh, vh vh, dt_in_T dt_in_T, G G, GV GV, US US, CS CS, uhbt uhbt, vhbt vhbt, OBC OBC, visc_rem_u visc_rem_u, visc_rem_v visc_rem_v, u_cor u_cor, v_cor v_cor, BT_cont BT_cont )
Time steps the layer thicknesses, using a monotonically limit, directionally split PPM scheme, based on Lin (1994).
Parameters:
g |
The ocean’s grid structure. |
cs |
Module’s control structure. |
u |
Zonal velocity [L T-1 ~> m s-1]. |
v |
Meridional velocity [L T-1 ~> m s-1]. |
hin |
Initial layer thickness [H ~> m or kg m-2]. |
h |
Final layer thickness [H ~> m or kg m-2]. |
uh |
Zonal volume flux, u*h*dy [H L2 T-1 ~> m3 s-1 or kg s-1]. |
vh |
Meridional volume flux, v*h*dx [H L2 T-1 ~> m3 s-1 or kg s-1]. |
dt_in_t |
Time increment [T ~> s]. |
gv |
Vertical grid structure. |
us |
A dimensional unit scaling type |
uhbt |
The summed volume flux through zonal faces |
vhbt |
The summed volume flux through meridional faces |
obc |
Open boundaries control structure. |
visc_rem_u |
The fraction of zonal momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step’s worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). |
visc_rem_v |
The fraction of meridional momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step’s worth of a barotropic acceleration that a layer experiences after viscosity is applied. Non-dimensional between 0 (at the bottom) and 1 (far above the bottom). |
u_cor |
The zonal velocities that give uhbt as the depth-integrated transport [L T-1 ~> m s-1]. |
v_cor |
The meridional velocities that give vhbt as the depth-integrated transport [L T-1 ~> m s-1]. |
bt_cont |
A structure with elements that describe the effective open face areas as a function of barotropic flow. |
subroutine, public continuity_ppm_init( Time Time, G G, GV GV, US US, param_file param_file, diag diag, CS CS )
Initializes continuity_ppm_cs.
Parameters:
time |
The current model time. |
g |
The ocean’s grid structure. |
gv |
Vertical grid structure. |
us |
A dimensional unit scaling type |
param_file |
A structure indicating the open file to parse for model parameter values. |
diag |
A structure that is used to regulate diagnostic output. |
cs |
Module’s control structure. |
integer function, public continuity_ppm_stencil(CS CS)
continuity_PPM_stencil returns the continuity solver stencil size
Parameters:
cs |
Module’s control structure. |
Returns:
The continuity solver stencil size with the current settings.
subroutine, public continuity_ppm_end(CS CS)
Destructor for continuity_ppm_cs.
Parameters:
cs |
Module’s control structure. |