Definition at line 41 of file MOM_EOS_NEMO.F90.
|
subroutine | calculate_density_scalar_nemo (T, S, pressure, rho) |
|
subroutine | calculate_density_array_nemo (T, S, pressure, rho, start, npts) |
| This subroutine computes the in situ density of sea water (rho in units of kg/m^3) from absolute salinity (S in g/Kg), conservative temperature (T in deg C), and pressure in Pa. More...
|
|
◆ calculate_density_array_nemo()
subroutine mom_eos_nemo::calculate_density_nemo::calculate_density_array_nemo |
( |
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 |
|
) |
| |
|
private |
This subroutine computes the in situ density of sea water (rho in units of kg/m^3) from absolute salinity (S in g/Kg), conservative temperature (T in deg C), and pressure in Pa.
- Parameters
-
[in] | t | Conservative temperature in C. |
[in] | s | Absoulte salinity in g/Kg. |
[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. |
Definition at line 213 of file MOM_EOS_NEMO.F90.
213 real,
intent(in),
dimension(:) :: t
214 real,
intent(in),
dimension(:) :: s
215 real,
intent(in),
dimension(:) :: pressure
216 real,
intent(out),
dimension(:) :: rho
217 integer,
intent(in) :: start
218 integer,
intent(in) :: npts
232 real :: zp,zt , zh , zs , zr0, zn , zn0, zn1, zn2, zn3
235 do j=start,start+npts-1
239 zp = pressure(j)* pa2db
245 zs = sqrt( abs( zs + rdeltas ) * r1_s0 )
251 & + eos112*zs+eos012)*zt &
252 & + (eos202*zs+eos102)*zs+eos002
255 & + eos131*zs+eos031)*zt &
256 & + (eos221*zs+eos121)*zs+eos021)*zt &
257 & + ((eos311*zs+eos211)*zs+eos111)*zs+eos011)*zt &
258 & + (((eos401*zs+eos301)*zs+eos201)*zs+eos101)*zs+eos001
260 zn0 = (((((eos060*zt &
261 & + eos150*zs+eos050)*zt &
262 & + (eos240*zs+eos140)*zs+eos040)*zt &
263 & + ((eos330*zs+eos230)*zs+eos130)*zs+eos030)*zt &
264 & + (((eos420*zs+eos320)*zs+eos220)*zs+eos120)*zs+eos020)*zt &
265 & + ((((eos510*zs+eos410)*zs+eos310)*zs+eos210)*zs+eos110)*zs+eos010)*zt &
266 & + (((((eos600*zs+eos500)*zs+eos400)*zs+eos300)*zs+eos200)*zs+eos100)*zs+eos000
268 zn = ( ( zn3 * zp + zn2 ) * zp + zn1 ) * zp + zn0
270 zr0 = (((((r05 * zp+r04) * zp+r03 ) * zp+r02 ) * zp+r01) * zp+r00) * zp
272 rho(j) = ( zn + zr0 )
◆ calculate_density_scalar_nemo()
subroutine mom_eos_nemo::calculate_density_nemo::calculate_density_scalar_nemo |
( |
real, intent(in) |
T, |
|
|
real, intent(in) |
S, |
|
|
real, intent(in) |
pressure, |
|
|
real, intent(out) |
rho |
|
) |
| |
|
private |
Definition at line 184 of file MOM_EOS_NEMO.F90.
184 real,
intent(in) :: t, s, pressure
185 real,
intent(out) :: rho
197 real :: al0, p0, lambda
199 real,
dimension(1) :: t0, s0, pressure0
200 real,
dimension(1) :: rho0
204 pressure0(1) = pressure
206 call calculate_density_array_nemo(t0, s0, pressure0, rho0, 1, 1)
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_NEMO.F90