Skip to contents

Glacier melt (M) is produced by multiplying the melt factor (MF) with the amount of energy available for melting which is approximated with the difference between the measured temperature (T) and a threshold temperature above which melt occurs (Tth).
The formula is given as:
M = MF * (T - Tth) if T is above Tth.
No melt occurs at temperatures below the threshold temperature.

Usage

glacierMelt_TI(temperature, MF = 4, threshold_temperature = 0)

Source

Hock R. (2003): Temperature index melt modelling in mountain areas. Journal of Hydrology 282, pp 104--115, DOI: 10.1016/S0022-1694(03)00257-9.

Arguments

temperature

A matrix with daily temperatures over time (rows) for each glacier and/or elevation band (columns).

MF

is a scalar or a named vector with temperature index factors which contains one melt factor for each glacier/elevation band in the temperature matrix.

threshold_temperature

is a scalar or a named vector with the temperature above which glacier melt is produced.

Value

A matrix with melt rates in mm per glacier/elevation band.

References

Hock R., 2003. DOI: 10.1016/S0022-1694(03)00257-9.

Examples

# Generate random temperature forcing
number_of_glaciers <- 10
number_of_days <- 50*365
temperature <- matrix(
  runif(number_of_glaciers * number_of_days, min = -10, max = 10),
  nrow = number_of_days, ncol = number_of_glaciers)
colnames(temperature) <- paste0("Gl", 1:number_of_glaciers)
# Generate sample melt factors
MF <- temperature[1, ] * 0 + 1:number_of_glaciers
# Calculate glacier melt assuming a threshold temperature for glacier melt of
# 1 degree Celcius.
melt <- glacierMelt_TI(temperature, MF, threshold_temperature = 1)