Provides an implementation of abstract_melt_relationship which mimics the simple model used by Dallaston, Hewitt, and Wells (2015) for an ice shelf melting into a vertically integrated plume.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r8), | intent(in) | :: | beta | The inverse stefan number, |
||
real(kind=r8), | intent(in) | :: | melt_conversion | The factor to convert between the scale for melt used by Dallaston et al. (2015) and that used in ISOFT, where is the melt scale used by Dalalston et al. |
||
real(kind=r8), | intent(in), | optional | :: | salinity_denom | The factor which, when used to divide the |
The newly created object representing the melt relationship.
A parameterisation of melting into a plume which comes from heavily simplifying the 3 equation model. It is taken from Dallaston, Hewitt, and Wells (2015). The melt rate, as well as effect on termperature and salinity, are calculated by calling solve_for_melt and then accessed using melt_rate, heat_equation_terms, salt_equation_terms.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
class(scalar_field), | public, | allocatable | :: | melt_values | Stores the resulting melt rate |
||
real(kind=r8), | public | :: | coef | = | 1449.29936 | The coefficient by which the melt rate is multiplied in order to determine the contribution to the heat equation. |
|
real(kind=r8), | public | :: | melt_conversion | = | 6.9e-4_r8 | The factor to convert between the scale for melt used by Dallaston et al. (2015) and that used in ISOFT, where is the melt scale used by Dalalston et al. |
|
real(kind=r8), | public | :: | salinity_denom | = | 1e100_r8 |
private pure function constructor(beta, melt_conversion, salinity_denom) |
procedure, public :: solve_for_melt => dallaston2015_solve | |
procedure, public :: heat_equation_terms => dallaston2015_heat | Returns the terms this melt formulation contributes to the heat equation, after they have been solved for using solve_for_melt. |
procedure, public :: salt_equation_terms => dallaston2015_salt | Returns the terms this melt formulation contributes to the salt equation, after they have been solved for using solve_for_melt. |
procedure, public :: melt_rate => dallaston2015_melt_rate | Returns the melt rate calculated using this formulation, after it has been solved for using solve_for_melt. |
procedure, public :: has_heat_terms => dallaston2015_has_heat | Whether this formulation of melting contributes any terms to a plume's heat equation. |
procedure, public :: has_salt_terms => dallaston2015_has_salt | Whether this formulation of melting contributes any terms to a plume's salinity equation. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r8), | intent(in) | :: | beta | The inverse stefan number, |
||
real(kind=r8), | intent(in) | :: | melt_conversion | The factor to convert between the scale for melt used by Dallaston et al. (2015) and that used in ISOFT, where is the melt scale used by Dalalston et al. |
||
real(kind=r8), | intent(in), | optional | :: | salinity_denom | The factor which, when used to divide the |
The newly created object representing the melt relationship.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dallaston2015_melt), | intent(in) | :: | this |
The value of the contribution made by melting/thermal transfer to the heat equation for a plume
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dallaston2015_melt), | intent(in) | :: | this |
The value of the contribution made by melting/thermal transfer to the salt equation for a plume
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dallaston2015_melt), | intent(in) | :: | this |
The melt rate from the ice into the plume water.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dallaston2015_melt), | intent(in) | :: | this |
Whether this formulation of melting contributes terms to the heat equation of the plume.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dallaston2015_melt), | intent(in) | :: | this |
Whether this formulation of melting contributes terms to the salinity equation of the plume.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(dallaston2015_melt), | intent(inout) | :: | this | |||
class(vector_field), | intent(in) | :: | velocity | The velocity field of the plume into which fluid is melting. |
||
class(scalar_field), | intent(in) | :: | pressure | The water pressure at the interface where the melting occurs. |
||
class(scalar_field), | intent(in) | :: | temperature | The temperature of the plume into which fluid is melting. |
||
class(scalar_field), | intent(in) | :: | salinity | The salinity of the plume into which fluid is melting. |
||
class(scalar_field), | intent(in) | :: | plume_thickness | The thickness of the plume into which fluid is melting. |
||
real(kind=r8), | intent(in), | optional | :: | time | The time at which the melting is being solved for. If not present then assumed to be same as previous value passed. |