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, . |
||
real(kind=r8), | intent(in), | optional | :: | a_DS | The shape coefficient for a horizontally-integrated model. It is defined as where and are the shapes of the variables and in the transverse direction. Defualt value is 1. |
|
real(kind=r8), | intent(in), | optional | :: | a_DT | The shape coefficient for a horizontally-integrated model. It is defined as where and are the shapes of the variables and in the transverse direction. Defualt value is 1. |
|
real(kind=r8), | intent(in), | optional | :: | a_DS_t | The shape coefficient for a horizontally-integrated model. It is defined as where and are the shapes of the variables and in the transverse direction and Defualt value is 1. |
|
real(kind=r8), | intent(in), | optional | :: | a_DT_t | The shape coefficient for a horizontally-integrated model. It is defined as where and are the shapes of the variables and in the transverse direction and Defualt value is 1. |
pure function constructor(ref_rho, ref_t, ref_s, beta_t, beta_s, a_DS, &
a_DT, a_DS_t, a_DT_t) 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\).
real(r8), intent(in), optional :: a_DS
!! The shape coefficient for a horizontally-integrated model. It
!! is defined as $$\alpha_{DS} = \frac{1}{y_2 - y_1}
!! \int^{y_2}_{y_1} f_{D}f_S dy, $$ where \(f_{D}(y)\) and
!! \(f_S(y)\) are the shapes of the variables \(D\) and \(S\) in
!! the transverse direction. Defualt value is 1.
real(r8), intent(in), optional :: a_DT
!! The shape coefficient for a horizontally-integrated model. It
!! is defined as $$\alpha_{DT} = \frac{1}{y_2 - y_1}
!! \int^{y_2}_{y_1} f_{D}f_T dy, $$ where \(f_{D}(y)\) and
!! \(f_T(y)\) are the shapes of the variables \(D\) and \(T\) in
!! the transverse direction. Defualt value is 1.
real(r8), intent(in), optional :: a_DS_t
!! The shape coefficient for a horizontally-integrated model. It
!! is defined as $$\tilde{\alpha}_{DS} =
!! \frac{1}{\alpha_{D^2}(y_2 - y_1)} \int^{y_2}_{y_1} f^2_{D}f_S
!! dy, $$ where \(f_{D}(y)\) and \(f_S(y)\) are the shapes of
!! the variables \(D\) and \(S\) in the transverse direction and
!! $$\alpha_{D^2} = \frac{1}{y_2 -
!! y_1}\int^{y_2}_{y_1}f_D^2dy.$$ Defualt value is 1.
real(r8), intent(in), optional :: a_DT_t
!! The shape coefficient for a horizontally-integrated model. It
!! is defined as $$\tilde{\alpha}_{DT} =
!! \frac{1}{\alpha_{D^2}(y_2 - y_1)} \int^{y_2}_{y_1} f^2_{D}f_T
!! dy, $$ where \(f_{D}(y)\) and \(f_T(y)\) are the shapes of
!! the variables \(D\) and \(T\) in the transverse direction and
!! $$\alpha_{D^2} = \frac{1}{y_2 -
!! y_1}\int^{y_2}_{y_1}f_D^2dy.$$ Defualt value is 1.
type(ave_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
if (present(a_DS)) this%a_DS = a_DS
if (present(a_DT)) this%a_DT = a_DT
if (present(a_DS_t)) this%a_DS_t = a_DS_t
if (present(a_DT_t)) this%a_DT_t = a_DT_t
end function constructor