Glacier Module

History

current version 1.2 - 29th October 2024

version date comment
1.0 27/May/2012 Original code implemented in the Snow module
1.1 19/Feb/2023 code moved and rewritten from Snow module
1.2 29/Oct/2024 fix initial condition setting

License

license: GNU GPL http://www.gnu.org/licenses/

Module Description

Module to simulate glaciers accumulation and ablation



Variables

Type Visibility Attributes Name Initial
integer(kind=short), public :: dtIce

computation time step

type(grid_real), public :: iceMelt

snow melt amount within the time step (m)

type(grid_real), public :: icewe

ice water equivalent (m)

type(grid_real), public :: meltCoefficientIce

melt coefficient (mm/day/°C)

type(grid_real), public :: waterInIce

free water in snow pack (m)

type(grid_real), private :: QinIce
type(grid_real), private :: QoutIce
integer(kind=short), private :: doySnowTransform

day of year when old snow is transformed to ice

integer(kind=short), private :: fileUnitPointICEWE
type(grid_real), private :: iceConductivity

ice hydraulic conductivity (m/s)

type(grid_integer), private :: meltModel

melt model map

type(grid_real), private :: meltTemperature

threshold temperature for ablation starts (°C)

type(ObservationalNetwork), private :: sites
type(ObservationalNetwork), private :: sitesICEWE
type(DateTime), private :: timePointExport

Subroutines

public subroutine GlacierInit(inifile, mask, time)

Initialize glacier model

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: inifile

stores configuration information

type(grid_integer), intent(in) :: mask
type(DateTime), intent(in) :: time

public subroutine GlacierPointInit(pointfile, path_out, time)

Initialize export of point site data

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: pointfile

file containing coordinate of points

character(len=*), intent(in) :: path_out

path of output folder

type(DateTime), intent(in) :: time

start time

public subroutine GlacierUpdate(time, mask, rainfall)

compute accumulation and ablation and update water equivalent

Arguments

Type IntentOptional Attributes Name
type(DateTime), intent(in) :: time
type(grid_integer), intent(in) :: mask
type(grid_real), intent(inout) :: rainfall

private subroutine GlacierParameterUpdate(time)

update parameter map that change in time

Arguments

Type IntentOptional Attributes Name
type(DateTime), intent(in) :: time

private subroutine GlacierPointExport(time)

Export of point site data

Arguments

Type IntentOptional Attributes Name
type(DateTime), intent(in) :: time