Provides an abstract data type to model melting of an ice shelf into a vertically integrated plume.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_melt_relationship), | intent(in) | :: | this |
The value of whatever property is being returned.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_melt_relationship), | intent(in) | :: | this |
Whether this formulation of melting contributes terms to the heat or salinity equations.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(abstract_melt_relationship), | 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. |
An abstract data type for calculating melting of an ice shelf into a vertically integrated plume. 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.
procedure(solve), public :: solve_for_melt | |
procedure(get_scalar), public :: salt_equation_terms | Returns the terms this melt formulation contributes to the salt equation, after they have been solved for using solve_for_melt. |
procedure(get_scalar), public :: heat_equation_terms | Returns the terms this melt formulation contributes to the heat equation, after they have been solved for using solve_for_melt. |
procedure(get_scalar), public :: melt_rate | Returns the melt rate calculated using this formulation, after it has been solved for using solve_for_melt. |
procedure(has_terms), public :: has_heat_terms | Whether this formulation of melting contributes any terms to a plume's heat equation. |
procedure(has_terms), public :: has_salt_terms | Whether this formulation of melting contributes any terms to a plume's salinity equation. |