mom_self_attr_load module reference

<undocumented>

More…

Data Types

sal_cs

The control structure for the MOM_self_attr_load module.

Functions/Subroutines

calc_sal()

This subroutine calculates seawater self-attraction and loading based on either sea surface height (SSH) or bottom pressure anomaly.

scalar_sal_sensitivity()

This subroutine returns eta_prop member of SAL_CS type, which is the non-dimensional partial derivative of the local geopotential height with the input sea surface height due to the scalar approximation of self-attraction and loading.

calc_love_scaling()

This subroutine calculates coefficients of the spherical harmonic modes for self-attraction and loading.

sal_init()

This subroutine initializes the self-attraction and loading control structure.

sal_end()

This subroutine deallocates memory associated with the SAL module.

Detailed Description

<undocumented>

Type Documentation

type  mom_self_attr_load/sal_cs

The control structure for the MOM_self_attr_load module.

Type fields:
  • % use_sal_scalar :: logical If true, use the scalar approximation to calculate SAL.

  • % use_sal_sht :: logical If true, use online spherical harmonics to calculate SAL.

  • % use_tidal_sal_prev :: logical If true, read the tidal SAL from the previous iteration of the tides to facilitate convergence.

  • % use_bpa :: logical If true, use bottom pressure anomaly instead of SSH to calculate SAL.

  • % eta_prop :: real The partial derivative of eta_sal with the local value of eta [nondim].

  • % linear_scaling :: real Dimensional coefficients for scalar SAL [nondim] or [Z T2 L-2 R-1 ~> m Pa-1].

  • % sht :: type(sht_cs), allocatable Spherical harmonic transforms (SHT) control structure.

  • % sal_sht_nd :: integer Maximum degree for spherical harmonic transforms [nondim].

  • % pbot_ref :: real, dimension(:,:), allocatable Reference bottom pressure [R L2 T-2 ~> Pa].

  • % love_scaling :: real, dimension(:), allocatable Dimensional coefficients for harmonic SAL, which are functions of Love numbers [nondim] or [Z T2 L-2 R-1 ~> m Pa-1], depending on the value of use_ppa.

  • % snm_re :: real, dimension(:), allocatable Real SHT coefficient for SHT SAL [Z ~> m].

  • % snm_im :: real, dimension(:), allocatable Imaginary SHT coefficient for SHT SAL [Z ~> m].

[source]

Function/Subroutine Documentation

subroutine mom_self_attr_load/calc_sal(eta, eta_sal, G, CS, tmp_scale)

This subroutine calculates seawater self-attraction and loading based on either sea surface height (SSH) or bottom pressure anomaly. Note that the SAL calculation applies to all motions across the spectrum. Tidal-specific methods that assume periodicity, i.e. iterative and read-in SAL, are stored in MOM_tidal_forcing module. The input field can be either SSH [Z ~> m] or total bottom pressure [R L2 T-2 ~> Pa]. If total bottom pressure is used, bottom pressure anomaly is first calculated by subtracting a reference bottom pressure from an input file. The output field is expressed as geopotential height anomaly, and therefore has the unit of [Z ~> m].

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

  • eta :: eta [in] The sea surface height anomaly from a time-mean geoid or total bottom pressure [Z ~> m] or [R L2 T-2 ~> Pa].

  • eta_sal :: eta_sal [out] The geopotential height anomaly from self-attraction and loading [Z ~> m].

  • cs :: [inout] The control structure returned by a previous call to SAL_init.

  • tmp_scale :: tmp_scale [in] A rescaling factor to temporarily convert eta to MKS units in reproducing sumes [m Z-1 ~> 1]

Call to:

id_clock_sal mom_spherical_harmonics::order2index

Called from:

mom_pressureforce_fv::pressureforce_fv_bouss mom_pressureforce_fv::pressureforce_fv_nonbouss mom_pressureforce_mont::pressureforce_mont_bouss mom_pressureforce_mont::pressureforce_mont_nonbouss

[source]

subroutine mom_self_attr_load/scalar_sal_sensitivity(CS, deta_sal_deta)

This subroutine returns eta_prop member of SAL_CS type, which is the non-dimensional partial derivative of the local geopotential height with the input sea surface height due to the scalar approximation of self-attraction and loading.

Parameters:
  • cs :: [in] The control structure returned by a previous call to SAL_init.

  • deta_sal_deta :: deta_sal_deta [out] The partial derivative of eta_sal with the local value of eta [nondim].

[source]

subroutine mom_self_attr_load/calc_love_scaling(rhoW, rhoE, grav, CS)

This subroutine calculates coefficients of the spherical harmonic modes for self-attraction and loading. The algorithm is based on the SAL implementation in MPAS-ocean, which was modified by Kristin Barton from routine written by K. Quinn (March 2010) and modified by M. Schindelegger (May 2017).

Parameters:
  • rhow :: [in] The average density of sea water [R ~> kg m-3]

  • rhoe :: [in] The average density of Earth [R ~> kg m-3]

  • grav :: grav [in] The gravitational acceleration [L2 Z-1 T-2 ~> m s-2]

  • cs :: [inout] The control structure returned by a previous call to SAL_init.

Call to:

mom_load_love_numbers::love_data mom_error_handler::mom_error mom_spherical_harmonics::order2index

Called from:

sal_init

[source]

subroutine mom_self_attr_load/sal_init(h, tv, G, GV, US, param_file, CS, restart_CS)

This subroutine initializes the self-attraction and loading control structure.

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

  • gv :: [in] Vertical grid structure

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

  • param_file :: param_file [in] A structure to parse for run-time parameters.

  • cs :: [inout] Self-attraction and loading control structure

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

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

  • restart_cs :: [in] MOM restart control structure

Call to:

mom_spherical_harmonics::calc_lmax calc_love_scaling mom_io::create_mom_file mom_interface_heights::find_col_mass id_clock_sal mom_restart::is_new_run mom_string_functions::lowercase mom_error_handler::mom_error mom_io::var_desc

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

[source]

subroutine mom_self_attr_load/sal_end(CS)

This subroutine deallocates memory associated with the SAL module.

Parameters:

cs :: [inout] The control structure returned by a previous call to SAL_init; it is deallocated here.

Called from:

mom_dynamics_split_rk2::end_dyn_split_rk2 mom_dynamics_split_rk2b::end_dyn_split_rk2b mom_dynamics_unsplit::end_dyn_unsplit mom_dynamics_unsplit_rk2::end_dyn_unsplit_rk2

[source]

[source]