MOM6
|
Solve the layer continuity equation.
Data Types | |
type | continuity_cs |
Control structure for mom_continuity. More... | |
Functions/Subroutines | |
subroutine, public | continuity (u, v, hin, h, uh, vh, dt, G, GV, US, CS, uhbt, vhbt, OBC, visc_rem_u, visc_rem_v, u_cor, v_cor, BT_cont) |
Time steps the layer thicknesses, using a monotonically limited, directionally split PPM scheme, based on Lin (1994). More... | |
subroutine, public | continuity_init (Time, G, GV, US, param_file, diag, CS) |
Initializes continuity_cs. More... | |
integer function, public | continuity_stencil (CS) |
continuity_stencil returns the continuity solver stencil size More... | |
subroutine, public | continuity_end (CS) |
Destructor for continuity_cs. More... | |
Variables | |
integer, parameter | ppm_scheme = 1 |
Enumerated constant to select PPM. More... | |
character(len=20), parameter | ppm_string = "PPM" |
String to select PPM. More... | |
subroutine, public mom_continuity::continuity | ( | real, dimension( g %isdb: g %iedb, g %jsd: g %jed, g %ke), intent(in) | u, |
real, dimension( g %isd: g %ied, g %jsdb: g %jedb, g %ke), intent(in) | v, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(in) | hin, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(inout) | h, | ||
real, dimension( g %isdb: g %iedb, g %jsd: g %jed, g %ke), intent(out) | uh, | ||
real, dimension( g %isd: g %ied, g %jsdb: g %jedb, g %ke), intent(out) | vh, | ||
real, intent(in) | dt, | ||
type(ocean_grid_type), intent(inout) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(continuity_cs), pointer | CS, | ||
real, dimension( g %isdb: g %iedb, g %jsd: g %jed), intent(in), optional | uhbt, | ||
real, dimension( g %isd: g %ied, g %jsdb: g %jedb), intent(in), optional | vhbt, | ||
type(ocean_obc_type), optional, pointer | OBC, | ||
real, dimension( g %isdb: g %iedb, g %jsd: g %jed, g %ke), intent(in), optional | visc_rem_u, | ||
real, dimension(szi_(g),szjb_(g),szk_(g)), intent(in), optional | visc_rem_v, | ||
real, dimension( g %isdb: g %iedb, g %jsd: g %jed, g %ke), intent(out), optional | u_cor, | ||
real, dimension( g %isd: g %ied, g %jsdb: g %jedb, g %ke), intent(out), optional | v_cor, | ||
type(bt_cont_type), optional, pointer | BT_cont | ||
) |
Time steps the layer thicknesses, using a monotonically limited, directionally split PPM scheme, based on Lin (1994).
[in,out] | g | Ocean grid structure. |
[in] | gv | Vertical grid structure. |
[in] | u | Zonal velocity [L T-1 ~> m s-1]. |
[in] | v | Meridional velocity [L T-1 ~> m s-1]. |
[in] | hin | Initial layer thickness [H ~> m or kg m-2]. |
[in,out] | h | Final layer thickness [H ~> m or kg m-2]. |
[out] | uh | Volume flux through zonal faces = |
[out] | vh | Volume flux through meridional faces = |
[in] | dt | Time increment [T ~> s]. |
[in] | us | A dimensional unit scaling type |
cs | Control structure for mom_continuity. | |
[in] | uhbt | The vertically summed volume |
[in] | vhbt | The vertically summed volume |
obc | Open boundaries control structure. | |
[in] | visc_rem_u | Both the fraction of |
[in] | visc_rem_v | Both the fraction of |
[out] | u_cor | The zonal velocities that |
[out] | v_cor | The meridional velocities that |
bt_cont | A structure with elements |
Definition at line 44 of file MOM_continuity.F90.
References mom_error_handler::mom_error(), and ppm_scheme.
Referenced by mom_dynamics_unsplit::step_mom_dyn_unsplit(), and mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2().
subroutine, public mom_continuity::continuity_end | ( | type(continuity_cs), pointer | CS | ) |
Destructor for continuity_cs.
cs | Control structure for mom_continuity. |
Definition at line 169 of file MOM_continuity.F90.
References mom_continuity_ppm::continuity_ppm_end(), and ppm_scheme.
subroutine, public mom_continuity::continuity_init | ( | type(time_type), intent(in), target | Time, |
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(param_file_type), intent(in) | param_file, | ||
type(diag_ctrl), intent(inout), target | diag, | ||
type(continuity_cs), pointer | CS | ||
) |
Initializes continuity_cs.
[in] | time | Current model time. |
[in] | g | Ocean grid structure. |
[in] | gv | Vertical grid structure. |
[in] | us | A dimensional unit scaling type |
[in] | param_file | Parameter file handles. |
[in,out] | diag | Diagnostics control structure. |
cs | Control structure for mom_continuity. |
Definition at line 109 of file MOM_continuity.F90.
References mom_error_handler::mom_error(), mom_error_handler::mom_mesg(), ppm_scheme, ppm_string, and mom_string_functions::uppercase().
Referenced by mom_dynamics_unsplit::initialize_dyn_unsplit(), and mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2().
integer function, public mom_continuity::continuity_stencil | ( | type(continuity_cs), pointer | CS | ) |
continuity_stencil returns the continuity solver stencil size
cs | Module's control structure. |
Definition at line 156 of file MOM_continuity.F90.
References ppm_scheme.
Referenced by mom_dynamics_split_rk2::step_mom_dyn_split_rk2().
integer, parameter mom_continuity::ppm_scheme = 1 |
Enumerated constant to select PPM.
Definition at line 35 of file MOM_continuity.F90.
Referenced by continuity(), continuity_end(), continuity_init(), and continuity_stencil().
|
private |
String to select PPM.
Definition at line 36 of file MOM_continuity.F90.
Referenced by continuity_init().