Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r8), | intent(in) | :: | coef1 | The unitless multiplier on the thermal forcing term, . |
||
real(kind=r8), | intent(in) | :: | coef2 | The unitless multiplier applied to the theram forcing term to get the melt rate, . |
||
real(kind=r8), | intent(in), | optional | :: | fresh_sal | The salinity of fresh water. Defaults to 0. |
|
real(kind=r8), | intent(in), | optional | :: | melt_temp | The melting point of the ice. Defaults to 0. |
The newly created object representing the melt relationship.
pure function constructor(coef1, coef2, fresh_sal, melt_temp) result(this)
real(r8), intent(in) :: coef1
!! The unitless multiplier on the thermal forcing term,
!! \(\Gamma_Tx_0/D_0\).
real(r8), intent(in) :: coef2
!! The unitless multiplier applied to the theram forcing term to
!! get the melt rate, \(c_oT_0/L\).
real(r8), intent(in), optional :: fresh_sal
!! The salinity of fresh water. Defaults to 0.
real(r8), intent(in), optional :: melt_temp
!! The melting point of the ice. Defaults to 0.
type(one_equation_melt) :: this
!! The newly created object representing the melt relationship.
this%coef1 = coef1
this%coef2 = coef2
if (present(fresh_sal)) this%sal_forcing = -fresh_sal*coef2
if (present(melt_temp)) this%melt_temp = melt_temp
end function constructor