ice Module

This module provides the GOTM interface to STIM

author: Karsten Bolding


Uses

  • module~~ice~~UsesGraph module~ice ice module~stim_models stim_models module~ice->module~stim_models module~stim_variables stim_variables module~stim_models->module~stim_variables

Contents


Variables

TypeVisibility AttributesNameInitial
integer, public :: ice_cover =0
integer, public :: ice_model

select ice model to apply


Enumerations

enum, bind(c)

Enumerators

enumerator:: SIMPLE = 0
enumerator:: BASAL_MELT = 1
enumerator:: LEBEDEV = 2
enumerator:: MYLAKE = 3
enumerator:: WINTON = 4

Interfaces

public interface init_ice

  • private subroutine init_stim_yaml()

    Initialize configuration via entries in a YAML-file Using the GOTM settings module

    Arguments

    None

public interface post_init_ice

  • private subroutine post_init_stim(Ta, S)

    Arguments

    Type IntentOptional AttributesName
    real(kind=selected_real_kind), intent(in) :: Ta

    Air temperature [C]

    real(kind=selected_real_kind), intent(in) :: S

    Salinity [g/kg]

public interface do_ice

  • private subroutine do_stim(dz, dt, ustar, Tw, S, Ta, precip, Qsw, Qfluxes)

    Arguments

    Arguments

    Type IntentOptional AttributesName
    real(kind=selected_real_kind), intent(inout) :: dz

    layer thickness [m]

    real(kind=selected_real_kind), intent(inout) :: dt

    time step [s]

    real(kind=selected_real_kind), intent(inout) :: ustar

    surface friction velocity [m/s]

    real(kind=selected_real_kind), intent(inout) :: Tw

    water temperature [C]

    real(kind=selected_real_kind), intent(inout) :: S

    salinity [g/kg]

    real(kind=selected_real_kind), intent(inout) :: Ta

    air temperature [C]

    real(kind=selected_real_kind), intent(inout) :: precip

    precipitation [mm?]

    real(kind=selected_real_kind), intent(inout) :: Qsw

    short wave radiation [W/m^2]

    private subroutine Qfluxes(T, qh, qe, qb)
    Arguments
    Type IntentOptional AttributesName
    real(kind=selected_real_kind), intent(in) :: T

    temperature [C]

    real(kind=selected_real_kind), intent(out) :: qh

    latent heat [W/m^2]

    real(kind=selected_real_kind), intent(out) :: qe

    sensible heat [W/m^2]

    real(kind=selected_real_kind), intent(out) :: qb

    net longwave radiation [W/m^2]

public interface clean_ice

  • private subroutine clean_stim()

    De-allocates all memory allocated via init_ice()

    Arguments

    None

Subroutines

private subroutine init_stim_yaml()

Initialize configuration via entries in a YAML-file Using the GOTM settings module

Arguments

None

private subroutine post_init_stim(Ta, S)

Arguments

Type IntentOptional AttributesName
real(kind=selected_real_kind), intent(in) :: Ta

Air temperature [C]

real(kind=selected_real_kind), intent(in) :: S

Salinity [g/kg]

private subroutine do_stim(dz, dt, ustar, Tw, S, Ta, precip, Qsw, Qfluxes)

Arguments

Arguments

Type IntentOptional AttributesName
real(kind=selected_real_kind), intent(inout) :: dz

layer thickness [m]

real(kind=selected_real_kind), intent(inout) :: dt

time step [s]

real(kind=selected_real_kind), intent(inout) :: ustar

surface friction velocity [m/s]

real(kind=selected_real_kind), intent(inout) :: Tw

water temperature [C]

real(kind=selected_real_kind), intent(inout) :: S

salinity [g/kg]

real(kind=selected_real_kind), intent(inout) :: Ta

air temperature [C]

real(kind=selected_real_kind), intent(inout) :: precip

precipitation [mm?]

real(kind=selected_real_kind), intent(inout) :: Qsw

short wave radiation [W/m^2]

private subroutine Qfluxes(T, qh, qe, qb)
Arguments
Type IntentOptional AttributesName
real(kind=selected_real_kind), intent(in) :: T

temperature [C]

real(kind=selected_real_kind), intent(out) :: qh

latent heat [W/m^2]

real(kind=selected_real_kind), intent(out) :: qe

sensible heat [W/m^2]

real(kind=selected_real_kind), intent(out) :: qb

net longwave radiation [W/m^2]

private subroutine clean_stim()

De-allocates all memory allocated via init_ice()

Arguments

None