MOM6
|
A thin wrapper for Boussinesq/non-Boussinesq forms of the pressure force calculation.
This thin module provides a branch to two forms of the horizontal accelerations due to pressure gradients. The two options currently available are a Montgomery potential form (used in traditional isopycnal layer models), and the analytic finite volume form.
Data Types | |
type | pressureforce_cs |
Pressure force control structure. More... | |
Functions/Subroutines | |
subroutine, public | pressureforce (h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta) |
A thin layer between the model and the Boussinesq and non-Boussinesq pressure force routines. More... | |
subroutine, public | pressureforce_init (Time, G, GV, US, param_file, diag, CS, tides_CSp) |
Initialize the pressure force control structure. More... | |
subroutine, public | pressureforce_end (CS) |
Deallocate the pressure force control structure. More... | |
subroutine, public mom_pressureforce::pressureforce | ( | real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(in) | h, |
type(thermo_var_ptrs), intent(in) | tv, | ||
real, dimension( g %isdb: g %iedb, g %jsd: g %jed, g %ke), intent(out) | PFu, | ||
real, dimension( g %isd: g %ied, g %jsdb: g %jedb, g %ke), intent(out) | PFv, | ||
type(ocean_grid_type), intent(in) | G, | ||
type(verticalgrid_type), intent(in) | GV, | ||
type(unit_scale_type), intent(in) | US, | ||
type(pressureforce_cs), pointer | CS, | ||
type(ale_cs), pointer | ALE_CSp, | ||
real, dimension(:,:), optional, pointer | p_atm, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed, g %ke), intent(out), optional | pbce, | ||
real, dimension( g %isd: g %ied, g %jsd: g %jed), intent(out), optional | eta | ||
) |
A thin layer between the model and the Boussinesq and non-Boussinesq pressure force routines.
[in] | g | The ocean's grid structure |
[in] | gv | The ocean's vertical grid structure |
[in] | us | A dimensional unit scaling type |
[in] | h | Layer thicknesses [H ~> m or kg m-2] |
[in] | tv | A structure pointing to various thermodynamic variables |
[out] | pfu | Zonal pressure force acceleration [L T-2 ~> m s-2] |
[out] | pfv | Meridional pressure force acceleration [L T-2 ~> m s-2] |
cs | Pressure force control structure | |
ale_csp | ALE control structure | |
p_atm | The pressure at the ice-ocean or | |
[out] | pbce | The baroclinic pressure anomaly in each layer |
[out] | eta | The bottom mass used to calculate PFu and PFv, |
Definition at line 48 of file MOM_PressureForce.F90.
Referenced by mom_dynamics_split_rk2::step_mom_dyn_split_rk2(), mom_dynamics_unsplit::step_mom_dyn_unsplit(), and mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2().
subroutine, public mom_pressureforce::pressureforce_end | ( | type(pressureforce_cs), pointer | CS | ) |
Deallocate the pressure force control structure.
cs | Pressure force control structure |
Definition at line 145 of file MOM_PressureForce.F90.
subroutine, public mom_pressureforce::pressureforce_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(pressureforce_cs), pointer | CS, | ||
type(tidal_forcing_cs), optional, pointer | tides_CSp | ||
) |
Initialize the pressure force control structure.
[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 | Pressure force control structure | |
tides_csp | Tide control structure |
Definition at line 100 of file MOM_PressureForce.F90.
References mom_error_handler::mom_error().
Referenced by mom_dynamics_split_rk2::initialize_dyn_split_rk2(), mom_dynamics_unsplit::initialize_dyn_unsplit(), and mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2().