Calculates density of sea water from T, S and P.
Definition at line 45 of file MOM_EOS.F90.
|
subroutine | calculate_density_scalar (T, S, pressure, rho, EOS) |
| Calls the appropriate subroutine to calculate density of sea water for scalar inputs. More...
|
|
subroutine | calculate_density_array (T, S, pressure, rho, start, npts, EOS) |
| Calls the appropriate subroutine to calculate the density of sea water for 1-D array inputs. More...
|
|
◆ calculate_density_array()
subroutine mom_eos::calculate_density::calculate_density_array |
( |
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, |
|
|
type(eos_type), pointer |
EOS |
|
) |
| |
|
private |
Calls the appropriate subroutine to calculate the density of sea water for 1-D array inputs.
- Parameters
-
[in] | t | Potential temperature referenced to the surface (degC) |
[in] | s | Salinity (PSU) |
[in] | pressure | Pressure (Pa) |
[out] | rho | Density (in-situ if pressure is local) (kg m-3) |
[in] | start | Start index for computation |
[in] | npts | Number of point to compute |
| eos | Equation of state structure |
Definition at line 130 of file MOM_EOS.F90.
130 real,
dimension(:),
intent(in) :: t
131 real,
dimension(:),
intent(in) :: s
132 real,
dimension(:),
intent(in) :: pressure
133 real,
dimension(:),
intent(out) :: rho
134 integer,
intent(in) :: start
135 integer,
intent(in) :: npts
136 type(eos_type),
pointer :: eos
138 if (.not.
associated(eos))
call mom_error(fatal, &
139 "calculate_density_array called with an unassociated EOS_type EOS.")
141 select case (eos%form_of_EOS)
143 call calculate_density_array_linear(t, s, pressure, rho, start, npts, &
144 eos%Rho_T0_S0, eos%dRho_dT, eos%dRho_dS)
146 call calculate_density_array_unesco(t, s, pressure, rho, start, npts)
148 call calculate_density_array_wright(t, s, pressure, rho, start, npts)
150 call calculate_density_array_teos10(t, s, pressure, rho, start, npts)
152 call calculate_density_array_nemo (t, s, pressure, rho, start, npts)
154 call mom_error(fatal, &
155 "calculate_density_array: EOS%form_of_EOS is not valid.")
◆ calculate_density_scalar()
subroutine mom_eos::calculate_density::calculate_density_scalar |
( |
real, intent(in) |
T, |
|
|
real, intent(in) |
S, |
|
|
real, intent(in) |
pressure, |
|
|
real, intent(out) |
rho, |
|
|
type(eos_type), pointer |
EOS |
|
) |
| |
|
private |
Calls the appropriate subroutine to calculate density of sea water for scalar inputs.
- Parameters
-
[in] | t | Potential temperature referenced to the surface (degC) |
[in] | s | Salinity (PSU) |
[in] | pressure | Pressure (Pa) |
[out] | rho | Density (in-situ if pressure is local) (kg m-3) |
| eos | Equation of state structure |
Definition at line 100 of file MOM_EOS.F90.
100 real,
intent(in) :: t
101 real,
intent(in) :: s
102 real,
intent(in) :: pressure
103 real,
intent(out) :: rho
104 type(eos_type),
pointer :: eos
106 if (.not.
associated(eos))
call mom_error(fatal, &
107 "calculate_density_scalar called with an unassociated EOS_type EOS.")
109 select case (eos%form_of_EOS)
111 call calculate_density_scalar_linear(t, s, pressure, rho, &
112 eos%Rho_T0_S0, eos%dRho_dT, eos%dRho_dS)
114 call calculate_density_scalar_unesco(t, s, pressure, rho)
116 call calculate_density_scalar_wright(t, s, pressure, rho)
118 call calculate_density_scalar_teos10(t, s, pressure, rho)
120 call calculate_density_scalar_nemo(t, s, pressure, rho)
122 call mom_error(fatal, &
123 "calculate_density_scalar: EOS is not valid.")
The documentation for this interface was generated from the following file:
- /home/adcroft/GitHub/workspace/Gaea-stats-MOM6-examples/MOM6-examples/src/MOM6/src/equation_of_state/MOM_EOS.F90