Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r8), | intent(in) | :: | ref_rho | The density for the temperature and salinity about which the equation of state was linearised, . |
||
real(kind=r8), | intent(in) | :: | ref_t | The temperature about which the equation of state was linearised, . |
||
real(kind=r8), | intent(in) | :: | ref_s | The salinity about which the equation of state was linearised, . |
||
real(kind=r8), | intent(in) | :: | beta_t | The thermal contraction coefficient, . |
||
real(kind=r8), | intent(in) | :: | beta_s | The haline contraction coefficient, . |
pure function constructor(ref_rho, ref_t, ref_s, beta_t, beta_s) result(this)
real(r8), intent(in) :: ref_rho
!! The density for the temperature and salinity about which the
!! equation of state was linearised, \(\rho_0\).
real(r8), intent(in) :: ref_t
!! The temperature about which the equation of state was
!! linearised, \(T_0\).
real(r8), intent(in) :: ref_s
!! The salinity about which the equation of state was
!! linearised, \(S_0\).
real(r8), intent(in) :: beta_t
!! The thermal contraction coefficient, \(\beta_T\).
real(r8), intent(in) :: beta_s
!! The haline contraction coefficient, \(\beta_S\).
type(linear_eos) :: this
this%ref_rho = ref_rho
this%ref_t = ref_t
this%ref_s = ref_s
this%beta_t = beta_t
this%beta_s = beta_s
end function constructor