mom_self_attr_load module reference¶
<undocumented>
Data Types¶
The control structure for the MOM_self_attr_load module. |
Functions/Subroutines¶
This subroutine calculates seawater self-attraction and loading based on either sea surface height (SSH) or bottom pressure anomaly. |
|
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. |
|
This subroutine calculates coefficients of the spherical harmonic modes for self-attraction and loading. |
|
This subroutine initializes the self-attraction and loading control structure. |
|
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(:,:),allocatable] :: Reference bottom pressure [R L2 T-2 ~> Pa].%love_scaling[real(:),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(:),allocatable] :: Real SHT coefficient for SHT SAL [Z ~> m].%snm_im[real(:),allocatable] :: Imaginary SHT coefficient for SHT SAL [Z ~> m].
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 :: [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 :: [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 :: [in] A rescaling factor to temporarily convert eta to MKS units in reproducing sumes [m Z-1 ~> 1]
- Call to:
id_clock_salmom_spherical_harmonics::order2index- Called from:
mom_pressureforce_fv::pressureforce_fv_boussmom_pressureforce_fv::pressureforce_fv_nonboussmom_pressureforce_mont::pressureforce_mont_boussmom_pressureforce_mont::pressureforce_mont_nonbouss
-
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 :: [out] The partial derivative of eta_sal with the local value of eta [nondim].
-
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 :: [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_datamom_error_handler::mom_errormom_spherical_harmonics::order2index- Called from:
-
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 :: [in] A structure to parse for run-time parameters.
cs :: [inout] Self-attraction and loading control structure
tv :: [in] A structure pointing to various thermodynamic variables.
h :: [in] Layer thicknesses [H ~> m or kg m-2]
restart_cs :: [in] MOM restart control structure
- Call to:
mom_spherical_harmonics::calc_lmaxcalc_love_scalingmom_io::create_mom_filemom_interface_heights::find_col_massid_clock_salmom_restart::is_new_runmom_string_functions::lowercasemom_error_handler::mom_errormom_io::var_desc- Called from:
mom_dynamics_split_rk2::initialize_dyn_split_rk2mom_dynamics_split_rk2b::initialize_dyn_split_rk2bmom_dynamics_unsplit::initialize_dyn_unsplitmom_dynamics_unsplit_rk2::initialize_dyn_unsplit_rk2
-
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_rk2mom_dynamics_split_rk2b::end_dyn_split_rk2bmom_dynamics_unsplit::end_dyn_unsplitmom_dynamics_unsplit_rk2::end_dyn_unsplit_rk2