Calculates the second derivatives of density with various combinations of temperature, salinity, and pressure from T, S and P.
Definition at line 76 of file MOM_EOS.F90.
|
subroutine | calculate_density_second_derivs_scalar (T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, EOS) |
| Calls the appropriate subroutine to calculate density second derivatives for scalar nputs. More...
|
|
subroutine | calculate_density_second_derivs_array (T, S, pressure, drho_dS_dS, drho_dS_dT, drho_dT_dT, drho_dS_dP, drho_dT_dP, start, npts, EOS) |
| Calls the appropriate subroutine to calculate density second derivatives for 1-D array inputs. More...
|
|
◆ calculate_density_second_derivs_array()
subroutine mom_eos::calculate_density_second_derivs::calculate_density_second_derivs_array |
( |
real, dimension(:), intent(in) |
T, |
|
|
real, dimension(:), intent(in) |
S, |
|
|
real, dimension(:), intent(in) |
pressure, |
|
|
real, dimension(:), intent(out) |
drho_dS_dS, |
|
|
real, dimension(:), intent(out) |
drho_dS_dT, |
|
|
real, dimension(:), intent(out) |
drho_dT_dT, |
|
|
real, dimension(:), intent(out) |
drho_dS_dP, |
|
|
real, dimension(:), intent(out) |
drho_dT_dP, |
|
|
integer, intent(in) |
start, |
|
|
integer, intent(in) |
npts, |
|
|
type(eos_type), pointer |
EOS |
|
) |
| |
|
private |
Calls the appropriate subroutine to calculate density second derivatives for 1-D array inputs.
- Parameters
-
[in] | t | Potential temperature referenced to the surface [degC] |
[in] | s | Salinity [ppt] |
[in] | pressure | Pressure [Pa] |
[out] | drho_ds_ds | Partial derivative of beta with respect to S [kg m-3 ppt-2] |
[out] | drho_ds_dt | Partial derivative of beta with respcct to T [kg m-3 ppt-1 degC-1] |
[out] | drho_dt_dt | Partial derivative of alpha with respect to T [kg m-3 degC-2] |
[out] | drho_ds_dp | Partial derivative of beta with respect to pressure [kg m-3 ppt-1 Pa-1] |
[out] | drho_dt_dp | Partial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1] |
[in] | start | Starting index within the array |
[in] | npts | The number of values to calculate |
| eos | Equation of state structure |
Definition at line 402 of file MOM_EOS.F90.
402 real,
dimension(:),
intent(in) :: T
403 real,
dimension(:),
intent(in) :: S
404 real,
dimension(:),
intent(in) :: pressure
405 real,
dimension(:),
intent(out) :: drho_dS_dS
407 real,
dimension(:),
intent(out) :: drho_dS_dT
409 real,
dimension(:),
intent(out) :: drho_dT_dT
411 real,
dimension(:),
intent(out) :: drho_dS_dP
413 real,
dimension(:),
intent(out) :: drho_dT_dP
415 integer,
intent(in) :: start
416 integer,
intent(in) :: npts
417 type(EOS_type),
pointer :: EOS
419 if (.not.
associated(eos))
call mom_error(fatal, &
420 "calculate_density_derivs called with an unassociated EOS_type EOS.")
422 select case (eos%form_of_EOS)
424 call calculate_density_second_derivs_linear(t, s, pressure, drho_ds_ds, drho_ds_dt, &
425 drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)
427 call calculate_density_second_derivs_wright(t, s, pressure, drho_ds_ds, drho_ds_dt, &
428 drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)
430 call calculate_density_second_derivs_teos10(t, s, pressure, drho_ds_ds, drho_ds_dt, &
431 drho_dt_dt, drho_ds_dp, drho_dt_dp, start, npts)
433 call mom_error(fatal, &
434 "calculate_density_derivs: EOS%form_of_EOS is not valid.")
◆ calculate_density_second_derivs_scalar()
subroutine mom_eos::calculate_density_second_derivs::calculate_density_second_derivs_scalar |
( |
real, intent(in) |
T, |
|
|
real, intent(in) |
S, |
|
|
real, intent(in) |
pressure, |
|
|
real, intent(out) |
drho_dS_dS, |
|
|
real, intent(out) |
drho_dS_dT, |
|
|
real, intent(out) |
drho_dT_dT, |
|
|
real, intent(out) |
drho_dS_dP, |
|
|
real, intent(out) |
drho_dT_dP, |
|
|
type(eos_type), pointer |
EOS |
|
) |
| |
|
private |
Calls the appropriate subroutine to calculate density second derivatives for scalar nputs.
- Parameters
-
[in] | t | Potential temperature referenced to the surface [degC] |
[in] | s | Salinity [ppt] |
[in] | pressure | Pressure [Pa] |
[out] | drho_ds_ds | Partial derivative of beta with respect to S [kg m-3 ppt-2] |
[out] | drho_ds_dt | Partial derivative of beta with respcct to T [kg m-3 ppt-1 degC-1] |
[out] | drho_dt_dt | Partial derivative of alpha with respect to T [kg m-3 degC-2] |
[out] | drho_ds_dp | Partial derivative of beta with respect to pressure [kg m-3 ppt-1 Pa-1] |
[out] | drho_dt_dp | Partial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1] |
| eos | Equation of state structure |
Definition at line 442 of file MOM_EOS.F90.
442 real,
intent(in) :: T
443 real,
intent(in) :: S
444 real,
intent(in) :: pressure
445 real,
intent(out) :: drho_dS_dS
447 real,
intent(out) :: drho_dS_dT
449 real,
intent(out) :: drho_dT_dT
451 real,
intent(out) :: drho_dS_dP
453 real,
intent(out) :: drho_dT_dP
455 type(EOS_type),
pointer :: EOS
457 if (.not.
associated(eos))
call mom_error(fatal, &
458 "calculate_density_derivs called with an unassociated EOS_type EOS.")
460 select case (eos%form_of_EOS)
462 call calculate_density_second_derivs_linear(t, s, pressure, drho_ds_ds, drho_ds_dt, &
463 drho_dt_dt, drho_ds_dp, drho_dt_dp)
465 call calculate_density_second_derivs_wright(t, s, pressure, drho_ds_ds, drho_ds_dt, &
466 drho_dt_dt, drho_ds_dp, drho_dt_dp)
468 call calculate_density_second_derivs_teos10(t, s, pressure, drho_ds_ds, drho_ds_dt, &
469 drho_dt_dt, drho_ds_dp, drho_dt_dp)
471 call mom_error(fatal, &
472 "calculate_density_derivs: EOS%form_of_EOS is not valid.")
The documentation for this interface was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/mom6-doctesting/checkouts/brokenbreathe/src/equation_of_state/MOM_EOS.F90