jenkins1991_entrainment_mod Module

Provides a concrete implementation of abstract_entrainment in the form of the parameterisation used by Jenkins (1991).


Uses

  • module~~jenkins1991_entrainment_mod~~UsesGraph module~jenkins1991_entrainment_mod jenkins1991_entrainment_mod factual_mod factual_mod module~jenkins1991_entrainment_mod->factual_mod iso_fortran_env iso_fortran_env module~jenkins1991_entrainment_mod->iso_fortran_env module~entrainment_mod entrainment_mod module~jenkins1991_entrainment_mod->module~entrainment_mod module~entrainment_mod->factual_mod module~entrainment_mod->iso_fortran_env

Used by

  • module~~jenkins1991_entrainment_mod~~UsedByGraph module~jenkins1991_entrainment_mod jenkins1991_entrainment_mod module~asymmetric_plume_mod asymmetric_plume_mod module~asymmetric_plume_mod->module~jenkins1991_entrainment_mod module~static_plume_mod static_plume_mod module~static_plume_mod->module~jenkins1991_entrainment_mod module~plume_mod plume_mod module~plume_mod->module~jenkins1991_entrainment_mod

Contents


Interfaces

public interface jenkins1991_entrainment

  • private pure function constructor(coefficient) result(this)

    Arguments

    Type IntentOptional AttributesName
    real(kind=r8), intent(in) :: coefficient

    The entrainment coefficient, $E_0$ to be used

    Return Value type(jenkins1991_entrainment)

    A new entrainment object


Derived Types

A parameterisation of entrainment () as described by Jenkins (1991): Here, is a coefficient typically taken to be 0.036 (the default value), is the velocity of the plume, is the angle of slope of the ice shelf base, and is the basal depth of the ice shelf.

Components

TypeVisibility AttributesNameInitial
real(kind=r8), private :: coefficient =1.0_r8

The entrainment coefficient $E_0$

Constructor

private pure function constructor(coefficient)

Type-Bound Procedures

procedure, public :: entrainment_rate => jenkins1991_rate

Returns the entrainment rate for ambient water into the plume.


Functions

private pure function constructor(coefficient) result(this)

Arguments

Type IntentOptional AttributesName
real(kind=r8), intent(in) :: coefficient

The entrainment coefficient, $E_0$ to be used

Return Value type(jenkins1991_entrainment)

A new entrainment object

private function jenkins1991_rate(this, velocity, thickness, depth, density_diff, time) result(entrainment)

Author
Christopher MacMackin
Date
October 2016

Here, is a coefficient typically taken to be 0.036 (the default value), is the velocity of the plume, is the angle of slope of the ice shelf base, and is the basal depth of the ice shelf.

Read more…

Arguments

Type IntentOptional AttributesName
class(jenkins1991_entrainment), intent(in) :: this
class(vector_field), intent(in) :: velocity

The velocity field of the plume into which fluid is being entrained.

class(scalar_field), intent(in) :: thickness

The thickness of the plume into which fluid is being entrained

class(scalar_field), intent(in) :: depth

The depth of the upper surface of the plume into which fluid is being entrained

class(scalar_field), intent(in) :: density_diff

The difference between the ambient density and the density of the plume into which the ambient fluid is being entrained.

real(kind=r8), intent(in), optional :: time

The time at which the entrainment is being calculated. If not present then assumed to be same as previous value passed.

Return Value class(scalar_field), pointer

The value of the entrainment