MOM6
mom_eos::calculate_density_second_derivs Interface Reference

Detailed Description

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.

Private functions

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...
 

Functions and subroutines

◆ 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]tPotential temperature referenced to the surface [degC]
[in]sSalinity [ppt]
[in]pressurePressure [Pa]
[out]drho_ds_dsPartial derivative of beta with respect to S [kg m-3 ppt-2]
[out]drho_ds_dtPartial derivative of beta with respcct to T [kg m-3 ppt-1 degC-1]
[out]drho_dt_dtPartial derivative of alpha with respect to T [kg m-3 degC-2]
[out]drho_ds_dpPartial derivative of beta with respect to pressure [kg m-3 ppt-1 Pa-1]
[out]drho_dt_dpPartial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1]
[in]startStarting index within the array
[in]nptsThe number of values to calculate
eosEquation of state structure

Definition at line 402 of file MOM_EOS.F90.

402  real, dimension(:), intent(in) :: T !< Potential temperature referenced to the surface [degC]
403  real, dimension(:), intent(in) :: S !< Salinity [ppt]
404  real, dimension(:), intent(in) :: pressure !< Pressure [Pa]
405  real, dimension(:), intent(out) :: drho_dS_dS !< Partial derivative of beta with respect
406  !! to S [kg m-3 ppt-2]
407  real, dimension(:), intent(out) :: drho_dS_dT !< Partial derivative of beta with respcct
408  !! to T [kg m-3 ppt-1 degC-1]
409  real, dimension(:), intent(out) :: drho_dT_dT !< Partial derivative of alpha with respect
410  !! to T [kg m-3 degC-2]
411  real, dimension(:), intent(out) :: drho_dS_dP !< Partial derivative of beta with respect
412  !! to pressure [kg m-3 ppt-1 Pa-1]
413  real, dimension(:), intent(out) :: drho_dT_dP !< Partial derivative of alpha with respect
414  !! to pressure [kg m-3 degC-1 Pa-1]
415  integer, intent(in) :: start !< Starting index within the array
416  integer, intent(in) :: npts !< The number of values to calculate
417  type(EOS_type), pointer :: EOS !< Equation of state structure
418 
419  if (.not.associated(eos)) call mom_error(fatal, &
420  "calculate_density_derivs called with an unassociated EOS_type EOS.")
421 
422  select case (eos%form_of_EOS)
423  case (eos_linear)
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)
426  case (eos_wright)
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)
429  case (eos_teos10)
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)
432  case default
433  call mom_error(fatal, &
434  "calculate_density_derivs: EOS%form_of_EOS is not valid.")
435  end select
436 

◆ 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]tPotential temperature referenced to the surface [degC]
[in]sSalinity [ppt]
[in]pressurePressure [Pa]
[out]drho_ds_dsPartial derivative of beta with respect to S [kg m-3 ppt-2]
[out]drho_ds_dtPartial derivative of beta with respcct to T [kg m-3 ppt-1 degC-1]
[out]drho_dt_dtPartial derivative of alpha with respect to T [kg m-3 degC-2]
[out]drho_ds_dpPartial derivative of beta with respect to pressure [kg m-3 ppt-1 Pa-1]
[out]drho_dt_dpPartial derivative of alpha with respect to pressure [kg m-3 degC-1 Pa-1]
eosEquation of state structure

Definition at line 442 of file MOM_EOS.F90.

442  real, intent(in) :: T !< Potential temperature referenced to the surface [degC]
443  real, intent(in) :: S !< Salinity [ppt]
444  real, intent(in) :: pressure !< Pressure [Pa]
445  real, intent(out) :: drho_dS_dS !< Partial derivative of beta with respect
446  !! to S [kg m-3 ppt-2]
447  real, intent(out) :: drho_dS_dT !< Partial derivative of beta with respcct
448  !! to T [kg m-3 ppt-1 degC-1]
449  real, intent(out) :: drho_dT_dT !< Partial derivative of alpha with respect
450  !! to T [kg m-3 degC-2]
451  real, intent(out) :: drho_dS_dP !< Partial derivative of beta with respect
452  !! to pressure [kg m-3 ppt-1 Pa-1]
453  real, intent(out) :: drho_dT_dP !< Partial derivative of alpha with respect
454  !! to pressure [kg m-3 degC-1 Pa-1]
455  type(EOS_type), pointer :: EOS !< Equation of state structure
456 
457  if (.not.associated(eos)) call mom_error(fatal, &
458  "calculate_density_derivs called with an unassociated EOS_type EOS.")
459 
460  select case (eos%form_of_EOS)
461  case (eos_linear)
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)
464  case (eos_wright)
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)
467  case (eos_teos10)
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)
470  case default
471  call mom_error(fatal, &
472  "calculate_density_derivs: EOS%form_of_EOS is not valid.")
473  end select
474 

The documentation for this interface was generated from the following file: