glacialMelt: Function: Ablation model

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

Description

A model to calculate melting of supraglacial snow and firn, bare glacier ice and debris covered glacier ice.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
glacialMelt(airT, airDensity, netRad, glacierMask, iceMask,
    snowMask, debrisMask, debrisThickness, inRadSW = stack(),
    inRadLW = stack(), disTuningFacAirT = disTuningFacAirT,
    disIceTMF = stack(), disSnowTMF = stack(),
    disIceRMF = stack(), disSnowRMF = stack(),
    disRelativeHumidity = stack(), disWindSpeed = stack(),
    disDebrisAlbedo = stack(), disThermalConductivity = stack(),
    disThermalEmissivity = stack(),
    disSurfaceRoughnessHeight = stack(),
    disFrictionVelocity = stack(),
    disVolumeFractionDebrisInIce = stack(),
    disDebrisAirRatio = stack(), disDragCoefficient = stack(),
    disIceDensity = stack(), outType = "mean",
    writeOutput = c(0, 0, 0, 0), outputName = "glacialMelt",
    tmpCreate = FALSE, tmpDir = "", outDir = "", ...)

Arguments

airT

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

airDensity

An object of class 'RasterStack'. Distributed air density (kg m-3). Stationary or 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.

iceMask

An object of class RasterStack. Area of bare glacier ice (1 = bare ice, 0 = no bare ice). 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.

debrisMask

An object of class 'RasterStack'. Area of debris covered glacier ice (1 = debris, 0 = no debris). Stationary or for every time step.

debrisThickness

An object of class 'RasterStack'. Distributed supraglacial debris thickness (m). Stationary or for every time step.

inRadSW

An object of class 'RasterStack'. Distributed incoming shortwave radiation (W m-2). Optional in the function 'debrisCoveredIceMelt' instead of 'netRad'. For every time step.

inRadLW

An object of class 'RasterStack'. Distributed incoming longwave radiation (W m-2). Optional in the function 'debrisCoveredIceMelt' instead of 'netRad'. For every time step.

disTuningFacAirT

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

disIceTMF

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

disSnowTMF

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

disIceRMF

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

disSnowRMF

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

disRelativeHumidity

An object of class 'RasterStack'. Distributed relative humidity (0-1) at measurement height. Stationary or for every time step.

disWindSpeed

An object of class 'RasterStack'. Distributed wind speed (m s-1) at measurement height. Stationary or for every time step.

disDebrisAlbedo

An object of class 'RasterStack'. Distributed albedo (0-1) of the debris. Stationary or for every time step.

disThermalConductivity

An object of class 'RasterStack'. Distributed thermal conductivity (W m-1 K-1) of the debris layer. Stationary or for every time step.

disThermalEmissivity

An object of class 'RasterStack'. Distributed thermal emissivity (0-1) of the debris layer. Stationary or for every time step.

disSurfaceRoughnessHeight

An object of class 'RasterStack'. Distributed surface roughness height (m) of the debris layer. Stationary or for every time step.

disFrictionVelocity

An object of class 'RasterStack'. Distributed friction velocity (m s-1) of the debris layer. Stationary or for every time step.

disVolumeFractionDebrisInIce

An object of class 'RasterStack'. Distributed volume fraction (0-1) of debris in the ice body. Stationary or for every time step.

disDebrisAirRatio

An object of class 'RasterStack'. Distributed ratio of the debris surface area to the volume of air (m-1) in the debris layer. Stationary or for every time step.

disDragCoefficient

An object of class 'RasterStack'. Distributed drag coefficient (m-1) of the debris layer. Stationary or for every time step.

disIceDensity

An object of class 'RasterStack'. Distributed density (kg m-3) of ice. Stationary or for every time step.

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 which of the four outputs (default = none) shall be exported as 'RasterLayer' (1) and which not (0). For more information see section values.

outputName

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

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' = 1.

...

Further arguments passed to the embedded functions iceMelt, snowMelt and debrisCoveredIceMelt.

Details

Glacier ablation comprises melting of bare and debris-covered ice as well as melting of supraglacial snow and firn. Depending on the glacier surface classification as defined in 'iceMask', 'snowMask' and 'debrisMask', the melt rate for each pixel is quantified using the functions iceMelt, snowMelt and debrisCoveredIceMelt. For more information please refer to the applied melting functions, the examples below or the original publication (Groos et al., submitted, Equations 10-16).

Value

An object of class 'RasterStack' consisting of four individual 'RasterLayers':

  1. Melt rate of supraglacial snow and firn as calculated by snowMelt

  2. Melt rate of bare ice as calculated by iceMelt

  3. Melt rate of debris covered ice as calculated by debrisCoveredIceMelt

  4. Sum of 1-3

To access the individual 'RasterLayers', use subset.

If more than one 'RasterLayer' is stored in the input 'RasterStacks', the output 'RasterStack' returns the "mean" or "sum" (depending on 'outType') of snow melt, ice melt and debris covered ice melt.

Note

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

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 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.

Author(s)

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

References

Collier, E., Moelg, T., Maussion, F., Scherer, D., Mayer, C., and Bush, A.B.G. (2013). High-resolution interactive modelling of the mountain glacier-atmosphere interface: an application over the Karakoram. The Cryosphere Discussions 7, 103-144.

Evatt, G.W., Abrahams, D., Heil, M., Mayer, C., Kingslake, J., Mitchell, S.L., Fowler, A.C., and Clark, C.D. (2015). Glacial melt under a porous debris layer. Journal of Glaciology 61, 825-836.

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.

See Also

snowMelt, 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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Load the provided RasterLayer objects as exemplary
# input for the function
data(airTemperature_30m_daily, netRad_30m_daily,
    airDensity_30m_daily, glacierMask_30m, iceMask_30m,
    firnMask_30m, debrisMask_30m, debrisThickness_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_daily <- stack(netRad_30m_daily)
AirDensity_30m_daily <- stack(airDensity_30m_daily)
GlacierMask_30m <- stack(glacierMask_30m)
IceMask_30m <- stack(iceMask_30m)
FirnMask_30m <- stack(firnMask_30m)
DebrisThickness_30m <- stack(debrisThickness_30m)
DebrisMask_30m <- stack(debrisMask_30m)

## Not run: 
# Calculate ablation using standard settings
output <- glacialMelt(airT = AirTemperature_30m_daily,
    netRad = NetRad_30m_daily, airDensity = AirDensity_30m_daily,
    glacierMask = GlacierMask_30m, iceMask = IceMask_30m,
    snowMask = FirnMask_30m, debrisMask = DebrisMask_30m,
    debrisThickness = DebrisThickness_30m)

# Plot output
plot(output, main = c("snow melt", "bare ice melt",
    "debris covered ice melt","total ablation"),
    legend.args=list(text='Melt (m d-1)', side=3, line=1.5))

## End(Not run)

# Calculate ablation using modified setting (e.g. input
# temperature in celsius instead of kelvin and
# increased thermal conductivity)

# Therefore exemplarily convert temperature from
# kelvin to degree celsius
airTcelsius <- AirTemperature_30m_daily - 273.15

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

## Not run: 
output <- glacialMelt(airT = airTcelsius, netRad =
    NetRad_30m_daily, airDensity <- AirDensity_30m_daily,
    glacierMask = GlacierMask_30m, iceMask = IceMask_30m,
    snowMask = FirnMask_30m, debrisMask = DebrisMask_30m,
    debrisThickness = DebrisThickness_30m, tUnit = "C",
    thermalConductivity = 1.5)

# Plot output
plot(output, main = c("snow melt", "bare ice melt",
    "debris covered ice melt","total ablation"),
    legend.args=list(text='Melt (m d-1)', side=3, line=1.5))

## End(Not run)

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