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, uhbt_aux, vhbt_aux, u_cor_aux, v_cor_aux, 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, 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. | |
character(len=20), parameter | ppm_string = "PPM" |
String to select PPM. | |
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, | ||
real, dimension( g %isdb: g %iedb, g %jsd: g %jed), intent(in), optional | uhbt_aux, | ||
real, dimension( g %isd: g %ied, g %jsdb: g %jedb), intent(in), optional | vhbt_aux, | ||
real, dimension( g %isdb: g %iedb, g %jsd: g %jed, g %ke), intent(inout), optional | u_cor_aux, | ||
real, dimension( g %isd: g %ied, g %jsdb: g %jedb, g %ke), intent(inout), optional | v_cor_aux, | ||
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 [m s-1]. |
[in] | v | Meridional velocity [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 [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 |
[in] | uhbt_aux | A second summed zonal |
[in] | vhbt_aux | A second summed meridional |
[in,out] | u_cor_aux | The zonal velocities |
[in,out] | v_cor_aux | The meridional velocities |
bt_cont | A structure with elements |
Definition at line 45 of file MOM_continuity.F90.
subroutine, public mom_continuity::continuity_end | ( | type(continuity_cs), pointer | CS | ) |
Destructor for continuity_cs.
cs | Control structure for mom_continuity. |
Definition at line 192 of file MOM_continuity.F90.
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(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] | param_file | Parameter file handles. |
[in,out] | diag | Diagnostics control structure. |
cs | Control structure for mom_continuity. |
Definition at line 133 of file MOM_continuity.F90.
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 179 of file MOM_continuity.F90.