glacierSMBM-method: Method: Glacier surface mass balance model

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

Description

A model consisting of physical and statistical components to calculate the surface mass balance of individual or multiple glaciers.

Details

Glacier surface mass balances are quantified by calculating the difference between the glacier mass gain ascribed to deposited snow and the mass loss associated with melting of bare an debris-covered ice as well as supraglacial snow and firn. The initial glacier outlines and surface conditions can be defined in 'glacierMask', 'iceMask', 'firnMask', 'snowHeight', 'debrisMask' and 'debrisThickness' (for more information see inputGlacierSMBM-class). Accumulation and ablation is iteratively modelled for every discrete time step (e.g. month, day or hour). The function snowFall is applied to quantify accumulation for every pixel and time step (note: mass input from redistributed snow has not yet been implemented). Ablation does only occur in the model at air temperatures above freezing since the complex process of percolation, retention and refreezing of meltwater is (so far) neglected. The extent and height of supraglacial snow changes with time due to the interplay of snow accumulation (snowFall) and snow melt (snowMelt). Ablation of debris-free (iceMelt) or debris-covered glacier ice (debrisCoveredIceMelt) sets in as soon as the overlying snow pack is completely melted and takes place as long as a pixel is snow-free. For more information please refer to the applied funtions, the examples below or the original publication (Groos et al., submitted).

Value

The potential model output consists of sixteen individual 'RasterLayers' and a summarising table:

  1. Accumulation rate (for every time step).

  2. Accumulation sum (for the modelling period).

  3. Glacial ablation rate (for every time step).

  4. Glacial ablation sum (for the modelling period).

  5. Ice melt rate (for every time step).

  6. Ice melt sum (for the modelling period).

  7. Debris ice melt rate (for every time step).

  8. Debris ice melt sum (for the modelling period).

  9. Firn melt rate (for every time step).

  10. Firn melt sum (for the modelling period).

  11. Snow melt rate (for every time step).

  12. Snow melt sum (for the modelling period).

  13. Snow cover (for every time step).

  14. Snow height (for the modelling period).

  15. Glacier surface mass balance (for every time step).

  16. Glacier surface mass balance (for the modelling period).

  17. Output table consisting of the spatial average of the fourteen variables above for every time step.

Note

The following input variables in inputGlacierSMBM-class are the requested minimum to run the model:

If the investigated glacier or glacier area is debris-free or snow-free, pass a 'RasterLayer' with the extent of 'glacierMask' and all values = 0 (zero means no snow or no debris, respectively) to the respective 'RasterStack' (e.g. 'debrisMask' or 'firnMask').

If 'inRadSW' and 'inRadLW' are provided instead of 'netRad', the energy-balance at the atmosphere-debris interface is calculated taking the 'debrisAlbedo' and 'thermalEmissivity' of the debris layer into account.

A default value (constant in space and time) is given for each additional argument in inputGlacierSMBM-class like 'windSpeed', 'relativeHumidity' and 'thermalConductivity'. 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 'disWindSpeed', 'disRelativeHumidity' and 'disThermalConductivity'. In this case, the general parameter is ignored.

File format of written ouput: GeoTIFF: GeoTIFF (1-16) and text file (17).

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.

See Also

glacialMelt, snowMelt, iceMelt, debrisCoveredIceMelt, snowFall, inputGlacierSMBM-class

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Load the provided RasterLayer objects as exemplary
# input for the function
data(airTemperature_30m_daily, airDensity_30m_daily,
    netRad_30m_daily, glacierMask_30m, iceMask_30m, firnMask_30m,
    debrisMask_30m, debrisThickness_30m, precipTuningFactor_30m,
    snowFall_30m_daily, package = "glacierSMBM")
# Individual RasterLayer objects should be loaded or
# created using the function raster()

# create a three-day virtual meteorological data set
AirT <- stack(airTemperature_30m_daily,
    airTemperature_30m_daily * 0.99,
    airTemperature_30m_daily * 1.01)
NetRad <- stack(netRad_30m_daily,netRad_30m_daily * 0.99,
    netRad_30m_daily * 1.01)
Snowfall <- stack(snowFall_30m_daily, snowFall_30m_daily * 2,
    snowFall_30m_daily * 0.3)

# create a new object of class "inputGlacierSMBM" which is
# requested as input for the glacier surface mass balance model
InputGlacierSMBM <- new("inputGlacierSMBM")

# Add the required data and information to the respective
# slots of the new object (for additional setting options read
# the help section of class "inputGlacierSMBM")
# Create a numeric vector containing date and time of
# the meteorological input data
InputGlacierSMBM@date <- seq.POSIXt(ISOdate(2011,8,15),
    ISOdate(2011,8,17), "days")
InputGlacierSMBM@decimalPlaces <- 4
InputGlacierSMBM@airT <- AirT
InputGlacierSMBM@airDensity <- stack(airDensity_30m_daily)
InputGlacierSMBM@netRad <- NetRad
InputGlacierSMBM@snowfall <- Snowfall
InputGlacierSMBM@glacierMask <- stack(glacierMask_30m)
InputGlacierSMBM@iceMask <- stack(iceMask_30m)
InputGlacierSMBM@firnMask <- stack(firnMask_30m)
InputGlacierSMBM@debrisMask <- stack(debrisMask_30m)
InputGlacierSMBM@debrisThickness <- stack(debrisThickness_30m)
InputGlacierSMBM@disTuningFacPrecip <- stack(precipTuningFactor_30m)

# Calculate glacier surface mass balance using standard settings,
# but suppress to write any output
InputGlacierSMBM@writeOutput <- rep(0, 17)

## Not run: 
output <- glacierSMBM(inputGlacierSMBM = InputGlacierSMBM)

# Plot output
plot(output, main = "glacier surface mass balance",
    legend.args=list(text='Mass balance (m d-1)', side=3,
    line=1.5), col = colorRampPalette(c("darkred", "red",
    "blue"))(100))


## End(Not run)

# Calculate glacier surface mass balance using modified settings
# Change thermal conductivity and wind speed applied in the
# implemented function "debrisCoveredIceMelt"
InputGlacierSMBM@thermalConductivity <- 1.5
InputGlacierSMBM@windSpeed <- 5

## Not run: 
output <- glacierSMBM(inputGlacierSMBM = InputGlacierSMBM)

# Plot output
plot(output, main = "glacier surface mass balance",
    legend.args=list(text='Mass balance (m d-1)', side=3,
    line=1.5), col = colorRampPalette(c("darkred", "red",
    "blue"))(100))

## End(Not run)

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