snowMelt: Function: Snow melt model

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

A simple model to calculate snow melt based on empirical melting factors.

Usage

1
2
3
4
5
6
7
snowMelt(airT, netRad, glacierMask, snowMask,  tUnit = "K",
    snowTMF = 45*10^-4, disSnowTMF = stack(),
    snowRMF = 0.53*10^-4, disSnowRMF = stack(),
    tuningFacAirT = 1, disTuningFacAirT = stack(),
    decimalPlaces = 4, outType = "mean", writeOutput = FALSE,
    outputName = "snowMelt", tmpCreate = FALSE,
    tmpDir = "", outDir = "", ... )

Arguments

airT

An object of class 'RasterStack'. Distributed air temperature (Kelvin or degree Celsius). For every time step.

netRad

An object of class 'RasterStack'. Distributed net radiation (W m-2). For every time step.

glacierMask

An object of class 'RasterStack'. Glacier area (1 = glacier, 0 = no glacier). Stationary or for every time step.

snowMask

An object of class 'RasterStack'. Area of supraglacial snow or firn (1 = snow or firn, 0 = no snow or firn). Stationary or for every time step.

tUnit

An object of class 'character'. Unit ("K" = Kelvin, "C" = degree Celsius) of air temperature (default = "K").

snowTMF

An object of class 'numeric'. Temperature melting factor (m K-1 timestep-1) of snow (default = 45*10^-4).

disSnowTMF

An object of class 'RasterStack'. Distributed temperature melting factor (m K-1 timestep-1) of snow. Stationary or for every time step.

snowRMF

An object of class 'numeric'. Radiative melting factor (m K-1 timestep-1) of snow (default = 0.53*10^-4).

disSnowRMF

An object of class 'RasterStack'. Distributed radiative temperature melting factor (m K-1 timestep-1) of snow. Stationary or for every time step.

tuningFacAirT

An object of class 'numeric'. General air temperature tuning factor (<1 = temperature decrease, 1 = default, >1 = temperature increase).

disTuningFacAirT

An object of class 'RasterStack'. Distributed air temperature tuning factor ('tuningFacAirT'). Stationary or for every time step.

decimalPlaces

An object of class 'numeric'. Number of decimal places (default = 4).

outType

An object of class 'character'. Type of output to be returned by the function: "mean" (default) snow melt or "sum".

writeOutput

An object of class 'logical'. Determines whether the ouput shall be exported as 'RasterLayer' (TRUE) or not (FALSE, default).

outputName

An object of class 'character'. File name for the output 'RasterLayer(s)' (default = "snowMelt").

tmpCreate

An object of class 'logical'. Determines whether a temporary directory should be used (TRUE) or not (FALSE, default). Recommendend if large datasets are processed.

tmpDir

An object of class 'character'. Directory where processing files can be temporarily stored if 'tmpCreate' = TRUE.

outDir

An object of class 'character'. Directory for the output files if 'writeOutput' = TRUE.

...

Further arguments.

Details

An enhanced degree-day model (e.g. Hock, 2003, 2005; Pellicciotti & alii, 2005) is applied to quantify glacier mass loss ascribed to melted snow and/or firn using empirical temperature (TMF) and radiative melting factors (RMF). Fore more information please refer to the examples below or the original publication (Groos et al., submitted, Equation 10)

Value

An object of class 'RasterLayer' returning the calculated spatial distribution of snow melt (e.g. in m d-1, depending on 'tmpRes').

Note

The following input variables are the requested minimum to run the model:

A default value (constant in space and time) is given for each additional argument like 'snowTMF' or 'snowRMF'. If desired, the default parameters can be modified. Furthermore, there is the option to pass distributed values (stationary or for every time step) instead of general values using the related 'dis*'-arguments like 'disSnowTMF' or 'disSnowRMF'. In this case, the general parameter is ignored.

File format of written ouput: GeoTIFF.

Author(s)

Alexander R. Groos (alexander.groos@giub.unibe.ch)

References

Groos, A.R., Mayer, C., Smiraglia, C., Diolaiuti, G., and Lambrecht A. (submitted). A first attempt to model region-wide glacier surface mass balances in the Karakoram: findings and future challenges. Geografia Fisica e Dinamica Quaternaria.

Hock, R. (2003). Temperature index melt modelling in mountain areas. Journal of Hydrology 282, 104-115.

Hock, R. (2005). Glacier melt: a review of processes and their modelling. Progress in Physical Geography 29, 362-391.

Pellicciotti F., Brock B., Strasser U., Burlando P., Funk M. and Corripio J. (2005). An enhanced temperature-index glacier melt model including the shortwave radiation balance: development and testing for Haut Glacier d'Arolla, Switzerland. Journal of Glaciology, 51, 573-587.

See Also

glacialMelt, iceMelt, debrisCoveredIceMelt

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Load the provided RasterLayer objects as exemplary
# input for the function
data(airTemperature_30m_daily, netRad_30m_hourly,
    glacierMask_30m, firnMask_30m, package = "glacierSMBM")
# Individual RasterLayer objects should be loaded or
# created using the function raster()

# Include RasterLayer in RasterStack
AirTemperature_30m_daily <- stack(airTemperature_30m_daily * 1.01)
NetRad_30m_hourly <- stack(netRad_30m_hourly)
GlacierMask_30m <- stack(glacierMask_30m)
FirnMask_30m <- stack(firnMask_30m)

# Calculate snow melt using standard settings
output <- snowMelt(airT = AirTemperature_30m_daily,
    netRad = NetRad_30m_hourly, glacierMask = GlacierMask_30m,
    snowMask = FirnMask_30m)

# Plot output
plot(output, main = "snow melt",
    legend.args=list(text='Snow melt (m d-1)', side=3, line=1.5))

# Calculate snow melt using modified setting (e.g. air
# temperature in degree Celsius instead of Kelvin; changes
# melting factors)
# Therefore exemplarily convert temperature from kelvin to
# degree Celsius
airTcelsius <- subset(AirTemperature_30m_daily, 1) - 273.15

# Include RasterLayer in RasterStack
airTcelsius <- stack(airTcelsius)

output <- snowMelt(airT = airTcelsius,
    netRad = NetRad_30m_hourly, glacierMask = GlacierMask_30m,
    tUnit = "C", snowMask = FirnMask_30m, snowTMF = 75*10^-4,
    snowRMF = 1.2*10^-4)

# Plot output
plot(output, main = "snow melt",
    legend.args=list(text='Snow melt (m d-1)', side=3, line=1.5))

glacierSMBM documentation built on May 2, 2019, 3:42 a.m.