mom_pressureforce module reference

A thin wrapper for Boussinesq/non-Boussinesq forms of the pressure force calculation.

More…

Data Types

pressureforce_cs

Pressure force control structure.

Functions/Subroutines

pressureforce()

A thin layer between the model and the Boussinesq and non-Boussinesq pressure force routines.

pressureforce_init()

Initialize the pressure force control structure.

Detailed Description

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.

Type Documentation

type mom_pressureforce/pressureforce_cs

Pressure force control structure.

Type fields:
  • % analytic_fv_pgf [logical] :: If true, use the analytic finite volume form (Adcroft et al., Ocean Mod. 2008) of the PGF.

  • % pressureforce_fv [type( pressureforce_fv_cs )] :: Control structure for the analytically integrated finite volume pressure force.

  • % pressureforce_mont [type( pressureforce_mont_cs )] :: Control structure for the Montgomery potential form of pressure force.

Function/Subroutine Documentation

subroutine mom_pressureforce/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.

Parameters:
  • g :: [in] The ocean’s grid structure

  • gv :: [in] The ocean’s vertical grid structure

  • us :: [in] A dimensional unit scaling type

  • h :: [in] Layer thicknesses [H ~> m or kg m-2]

  • tv :: [in] A structure pointing to various thermodynamic variables

  • pfu :: [out] Zonal pressure force acceleration [L T-2 ~> m s-2]

  • pfv :: [out] Meridional pressure force acceleration [L T-2 ~> m s-2]

  • cs :: [inout] Pressure force control structure

  • ale_csp :: ALE control structure

  • p_atm :: The pressure at the ice-ocean or atmosphere-ocean interface [R L2 T-2 ~> Pa].

  • pbce :: [out] The baroclinic pressure anomaly in each layer

  • eta :: [out] The bottom mass used to calculate PFu and PFv,

Called from:

mom_dynamics_unsplit::step_mom_dyn_unsplit mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2

subroutine mom_pressureforce/pressureforce_init(Time, G, GV, US, param_file, diag, CS, SAL_CSp, tides_CSp)

Initialize the pressure force control structure.

Parameters:
  • time :: [in] Current model time

  • g :: [in] Ocean grid structure

  • gv :: [in] Vertical grid structure

  • us :: [in] A dimensional unit scaling type

  • param_file :: [in] Parameter file handles

  • diag :: [inout] Diagnostics control structure

  • cs :: [inout] Pressure force control structure

  • sal_csp :: [in] SAL control structure

  • tides_csp :: [in] Tide control structure

Called from:

mom_dynamics_split_rk2::initialize_dyn_split_rk2 mom_dynamics_split_rk2b::initialize_dyn_split_rk2b mom_dynamics_unsplit::initialize_dyn_unsplit mom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2