MOM6
|
Data Types | |
interface | calculate_density_linear |
Functions/Subroutines | |
subroutine, public | calculate_density_scalar_linear (T, S, pressure, rho, Rho_T0_S0, dRho_dT, dRho_dS) |
This subroutine computes the density of sea water with a trivial linear equation of state (in kg/m^3) from salinity (sal in psu), potential temperature (T in deg C), and pressure in Pa. More... | |
subroutine, public | calculate_density_array_linear (T, S, pressure, rho, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) |
This subroutine computes the density of sea water with a trivial linear equation of state (in kg/m^3) from salinity (sal in psu), potential temperature (T in deg C), and pressure in Pa. More... | |
subroutine, public | calculate_density_derivs_linear (T, S, pressure, drho_dT_out, drho_dS_out, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) |
This subroutine calculates the partial derivatives of density * with potential temperature and salinity. More... | |
subroutine, public | calculate_specvol_derivs_linear (T, S, pressure, dSV_dT, dSV_dS, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) |
subroutine, public | calculate_compress_linear (T, S, pressure, rho, drho_dp, start, npts, Rho_T0_S0, dRho_dT, dRho_dS) |
This subroutine computes the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature, and pressure. More... | |
subroutine, public | int_density_dz_linear (T, S, z_t, z_b, rho_ref, rho_0_pres, G_e, HII, HIO, Rho_T0_S0, dRho_dT, dRho_dS, dpa, intz_dpa, intx_dpa, inty_dpa) |
This subroutine calculates analytical and nearly-analytical integrals of pressure anomalies across layers, which are required for calculating the finite-volume form pressure accelerations in a Boussinesq model. More... | |
subroutine, public | int_spec_vol_dp_linear (T, S, p_t, p_b, alpha_ref, HI, Rho_T0_S0, dRho_dT, dRho_dS, dza, intp_dza, intx_dza, inty_dza, halo_size) |
This subroutine calculates analytical and nearly-analytical integrals in pressure across layers of geopotential anomalies, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. Specific volume is assumed to vary linearly between adjacent points. More... | |
subroutine, public mom_eos_linear::calculate_compress_linear | ( | real, dimension(:), intent(in) | T, |
real, dimension(:), intent(in) | S, | ||
real, dimension(:), intent(in) | pressure, | ||
real, dimension(:), intent(out) | rho, | ||
real, dimension(:), intent(out) | drho_dp, | ||
integer, intent(in) | start, | ||
integer, intent(in) | npts, | ||
real, intent(in) | Rho_T0_S0, | ||
real, intent(in) | dRho_dT, | ||
real, intent(in) | dRho_dS | ||
) |
This subroutine computes the in situ density of sea water (rho) and the compressibility (drho/dp == C_sound^-2) at the given salinity, potential temperature, and pressure.
[in] | t | Potential temperature relative to the surface in C. |
[in] | s | Salinity in PSU. |
[in] | pressure | Pressure in Pa. |
[out] | rho | In situ density in kg m-3. |
[out] | drho_dp | The partial derivative of density with pressure (also the inverse of the square of sound speed) in s2 m-2. |
[in] | start | The starting point in the arrays. |
[in] | npts | The number of values to calculate. |
[in] | rho_t0_s0 | The density at T=0, S=0, in kg m-3. |
[in] | drho_ds | The derivatives of density with temperature and salinity, in kg m-3 C-1 and kg m-3 psu-1. |
Definition at line 203 of file MOM_EOS_linear.F90.
Referenced by mom_eos::calculate_compress().
subroutine, public mom_eos_linear::calculate_density_array_linear | ( | real, dimension(:), intent(in) | T, |
real, dimension(:), intent(in) | S, | ||
real, dimension(:), intent(in) | pressure, | ||
real, dimension(:), intent(out) | rho, | ||
integer, intent(in) | start, | ||
integer, intent(in) | npts, | ||
real, intent(in) | Rho_T0_S0, | ||
real, intent(in) | dRho_dT, | ||
real, intent(in) | dRho_dS | ||
) |
This subroutine computes the density of sea water with a trivial linear equation of state (in kg/m^3) from salinity (sal in psu), potential temperature (T in deg C), and pressure in Pa.
[in] | t | Potential temperature relative to the surface in C. |
[in] | s | Salinity in PSU. |
[in] | pressure | Pressure in Pa. |
[out] | rho | In situ density in kg m-3. |
[in] | start | The starting point in the arrays. |
[in] | npts | The number of values to calculate. |
[in] | rho_t0_s0 | The density at T=0, S=0, in kg m-3. |
[in] | drho_ds | The derivatives of density with temperature and salinity, in kg m-3 C-1 and kg m-3 psu-1. |
Definition at line 83 of file MOM_EOS_linear.F90.
subroutine, public mom_eos_linear::calculate_density_derivs_linear | ( | real, dimension(:), intent(in) | T, |
real, dimension(:), intent(in) | S, | ||
real, dimension(:), intent(in) | pressure, | ||
real, dimension(:), intent(out) | drho_dT_out, | ||
real, dimension(:), intent(out) | drho_dS_out, | ||
integer, intent(in) | start, | ||
integer, intent(in) | npts, | ||
real, intent(in) | Rho_T0_S0, | ||
real, intent(in) | dRho_dT, | ||
real, intent(in) | dRho_dS | ||
) |
This subroutine calculates the partial derivatives of density * with potential temperature and salinity.
[in] | t | Potential temperature relative to the surface in C. |
[in] | s | Salinity in PSU. |
[in] | pressure | Pressure in Pa. |
[out] | drho_dt_out | The partial derivative of density with potential temperature, in kg m-3 K-1. |
[out] | drho_ds_out | The partial derivative of density with salinity, in kg m-3 psu-1. |
[in] | start | The starting point in the arrays. |
[in] | npts | The number of values to calculate. |
[in] | rho_t0_s0 | The density at T=0, S=0, in kg m-3. |
[in] | drho_ds | The derivatives of density with temperature and salinity, in kg m-3 C-1 and kg m-3 psu-1. |
Definition at line 120 of file MOM_EOS_linear.F90.
subroutine, public mom_eos_linear::calculate_density_scalar_linear | ( | real, intent(in) | T, |
real, intent(in) | S, | ||
real, intent(in) | pressure, | ||
real, intent(out) | rho, | ||
real, intent(in) | Rho_T0_S0, | ||
real, intent(in) | dRho_dT, | ||
real, intent(in) | dRho_dS | ||
) |
This subroutine computes the density of sea water with a trivial linear equation of state (in kg/m^3) from salinity (sal in psu), potential temperature (T in deg C), and pressure in Pa.
[in] | t | Potential temperature relative to the surface in C. |
[in] | s | Salinity in PSU. |
[in] | pressure | Pressure in Pa. |
[out] | rho | In situ density in kg m-3. |
[in] | rho_t0_s0 | The density at T=0, S=0, in kg m-3. |
[in] | drho_dt | The derivatives of density with temperature and salinity, in kg m-3 C-1 and kg m-3 psu-1. |
[in] | drho_ds | The derivatives of density with temperature and salinity, in kg m-3 C-1 and kg m-3 psu-1. |
Definition at line 50 of file MOM_EOS_linear.F90.
subroutine, public mom_eos_linear::calculate_specvol_derivs_linear | ( | real, dimension(:), intent(in) | T, |
real, dimension(:), intent(in) | S, | ||
real, dimension(:), intent(in) | pressure, | ||
real, dimension(:), intent(out) | dSV_dT, | ||
real, dimension(:), intent(out) | dSV_dS, | ||
integer, intent(in) | start, | ||
integer, intent(in) | npts, | ||
real, intent(in) | Rho_T0_S0, | ||
real, intent(in) | dRho_dT, | ||
real, intent(in) | dRho_dS | ||
) |
[in] | t | Potential temperature relative to the surface in C. |
[in] | s | Salinity in g/kg. |
[in] | pressure | Pressure in Pa. |
[out] | dsv_ds | The partial derivative of specific volume with salinity, in m3 kg-1 / (g/kg). |
[out] | dsv_dt | The partial derivative of specific volume with potential temperature, in m3 kg-1 K-1. |
[in] | start | The starting point in the arrays. |
[in] | npts | The number of values to calculate. |
[in] | rho_t0_s0 | The density at T=0, S=0, in kg m-3. |
[in] | drho_ds | The derivatives of density with temperature and salinity, in kg m-3 C-1 and kg m-3 psu-1. |
Definition at line 162 of file MOM_EOS_linear.F90.
subroutine, public mom_eos_linear::int_density_dz_linear | ( | real, dimension(hii%isd:hii%ied,hii%jsd:hii%jed), intent(in) | T, |
real, dimension(hii%isd:hii%ied,hii%jsd:hii%jed), intent(in) | S, | ||
real, dimension(hii%isd:hii%ied,hii%jsd:hii%jed), intent(in) | z_t, | ||
real, dimension(hii%isd:hii%ied,hii%jsd:hii%jed), intent(in) | z_b, | ||
real, intent(in) | rho_ref, | ||
real, intent(in) | rho_0_pres, | ||
real, intent(in) | G_e, | ||
type(hor_index_type), intent(in) | HII, | ||
type(hor_index_type), intent(in) | HIO, | ||
real, intent(in) | Rho_T0_S0, | ||
real, intent(in) | dRho_dT, | ||
real, intent(in) | dRho_dS, | ||
real, dimension(hio%isd:hio%ied,hio%jsd:hio%jed), intent(out) | dpa, | ||
real, dimension(hio%isd:hio%ied,hio%jsd:hio%jed), intent(out), optional | intz_dpa, | ||
real, dimension(hio%isdb:hio%iedb,hio%jsd:hio%jed), intent(out), optional | intx_dpa, | ||
real, dimension(hio%isd:hio%ied,hio%jsdb:hio%jedb), intent(out), optional | inty_dpa | ||
) |
This subroutine calculates analytical and nearly-analytical integrals of pressure anomalies across layers, which are required for calculating the finite-volume form pressure accelerations in a Boussinesq model.
[in] | t | Potential temperature relative to the surface |
[in] | s | Salinity in PSU. |
[in] | z_t | Height at the top of the layer in m. |
[in] | z_b | Height at the top of the layer in m. |
[in] | rho_ref | A mean density, in kg m-3, that is subtracted out to reduce the magnitude of each of the integrals. |
[in] | rho_0_pres | A density, in kg m-3, that is used to calculate the pressure (as p~=-z*rho_0_pres*G_e) used in the equation of state. rho_0_pres is not used here. |
[in] | g_e | The Earth's gravitational acceleration, in m s-2. |
[in] | rho_t0_s0 | The density at T=0, S=0, in kg m-3. |
[in] | drho_dt | The derivative of density with temperature, in kg m-3 C-1. |
[in] | drho_ds | The derivative of density with salinity, in kg m-3 psu-1. |
[out] | dpa | The change in the pressure anomaly across the |
[out] | intz_dpa | The integral through the thickness of the layer |
[out] | intx_dpa | The integral in x of the difference between the |
[out] | inty_dpa | The integral in y of the difference between the |
Definition at line 248 of file MOM_EOS_linear.F90.
subroutine, public mom_eos_linear::int_spec_vol_dp_linear | ( | real, dimension(hi%isd:hi%ied,hi%jsd:hi%jed), intent(in) | T, |
real, dimension(hi%isd:hi%ied,hi%jsd:hi%jed), intent(in) | S, | ||
real, dimension(hi%isd:hi%ied,hi%jsd:hi%jed), intent(in) | p_t, | ||
real, dimension(hi%isd:hi%ied,hi%jsd:hi%jed), intent(in) | p_b, | ||
real, intent(in) | alpha_ref, | ||
type(hor_index_type), intent(in) | HI, | ||
real, intent(in) | Rho_T0_S0, | ||
real, intent(in) | dRho_dT, | ||
real, intent(in) | dRho_dS, | ||
real, dimension(hi%isd:hi%ied,hi%jsd:hi%jed), intent(out) | dza, | ||
real, dimension(hi%isd:hi%ied,hi%jsd:hi%jed), intent(out), optional | intp_dza, | ||
real, dimension(hi%isdb:hi%iedb,hi%jsd:hi%jed), intent(out), optional | intx_dza, | ||
real, dimension(hi%isd:hi%ied,hi%jsdb:hi%jedb), intent(out), optional | inty_dza, | ||
integer, intent(in), optional | halo_size | ||
) |
This subroutine calculates analytical and nearly-analytical integrals in pressure across layers of geopotential anomalies, which are required for calculating the finite-volume form pressure accelerations in a non-Boussinesq model. Specific volume is assumed to vary linearly between adjacent points.
[in] | hi | The ocean's horizontal index type. |
[in] | t | Potential temperature relative to the surface |
[in] | s | Salinity in PSU. |
[in] | p_t | Pressure at the top of the layer in Pa. |
[in] | p_b | Pressure at the top of the layer in Pa. |
[in] | alpha_ref | A mean specific volume that is subtracted out to reduce the magnitude of each of the integrals, m3 kg-1. The calculation is mathematically identical with different values of alpha_ref, but this reduces the effects of roundoff. |
[in] | rho_t0_s0 | The density at T=0, S=0, in kg m-3. |
[in] | drho_dt | The derivative of density with temperature, in kg m-3 C-1. |
[in] | drho_ds | The derivative of density with salinity, in kg m-3 psu-1. |
[out] | dza | The change in the geopotential anomaly across |
[out] | intp_dza | The integral in pressure through the layer of |
[out] | intx_dza | The integral in x of the difference between the |
[out] | inty_dza | The integral in y of the difference between the |
Definition at line 363 of file MOM_EOS_linear.F90.
Referenced by mom_eos::int_specific_vol_dp().