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 ::
logicalIf true, use the scalar approximation to calculate SAL.% use_sal_sht ::
logicalIf true, use online spherical harmonics to calculate SAL.% use_tidal_sal_prev ::
logicalIf true, read the tidal SAL from the previous iteration of the tides to facilitate convergence.% use_bpa ::
logicalIf true, use bottom pressure anomaly instead of SSH to calculate SAL.% eta_prop ::
realThe partial derivative of eta_sal with the local value of eta [nondim].% linear_scaling ::
realDimensional coefficients for scalar SAL [nondim] or [Z T2 L-2 R-1 ~> m Pa-1].% sht ::
type(sht_cs), allocatableSpherical harmonic transforms (SHT) control structure.% sal_sht_nd ::
integerMaximum degree for spherical harmonic transforms [nondim].% pbot_ref ::
real, dimension(:,:), allocatableReference bottom pressure [R L2 T-2 ~> Pa].% love_scaling ::
real, dimension(:), allocatableDimensional 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(:), allocatableReal SHT coefficient for SHT SAL [Z ~> m].% snm_im ::
real, dimension(:), allocatableImaginary 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 ::
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_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 ::
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 ::
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 ::
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_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