debrisCoveredIceMelt: Function: Sub-debris ice melt model

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

Description

An energy balance model to calculate glacial melt under a porous debris layer.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
debrisCoveredIceMelt(airT, airDensity, glacierMask, debrisMask,
    debrisThickness, inRadSW = stack(), inRadLW = stack(),
    netRad = stack(), tUnit = "K", tuningFacAirT = 1,
    disTuningFacAirT = stack(), tmpRes = "d", measurementHeight=2,
    relativeHumidity = 0.73, disRelativeHumidity = stack(),
    windSpeed = 2, disWindSpeed = stack(), debrisAlbedo = 0.07,
    disDebrisAlbedo = stack(), thermalConductivity = 0.585,
    disThermalConductivity = stack(), thermalEmissivity = 0.95,
    disThermalEmissivity = stack(), surfaceRoughnessHeight = 0.01,
    disSurfaceRoughnessHeight = stack(), frictionVelocity = 0.16,
    disFrictionVelocity = stack(), volumeFractionDebrisInIce = 0.01,
    disVolumeFractionDebrisInIce = stack(), debrisAirRatio = 188,
    disDebrisAirRatio = stack(),dragCoefficient = 5,
    disDragCoefficient = stack(), iceDensity = 900,
    disIceDensity = stack(), decimalPlaces = 4, outType = "mean",
    writeOutput = FALSE, outputName = "dcIceMelt", 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.

glacierMask

An object of class 'RasterStack'. Glacier area (1 = glacier, 0 = no glacier). 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). For every time step.

inRadLW

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

netRad

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

tUnit

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

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.

tmpRes

An object of class 'character'. Time aggregation (temporal resolution) of the input variables (default = "d"). "y" = year, "w" = week, "d" = day, "h" = hour, "s" = second.

measurementHeight

An object of class 'numeric'. Height (m) of meteorological measurements (default = 2).

relativeHumidity

An object of class 'numeric'. Relative humidity (0-1) at measurement height (default = 0.73).

disRelativeHumidity

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

windSpeed

An object of class 'numeric'. Wind speed (m s-1) at measurement height (default = 2).

disWindSpeed

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

debrisAlbedo

An object of class 'numeric'. Albedo (0-1) of the debris (default = 0.07).

disDebrisAlbedo

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

thermalConductivity

An object of class 'numeric'. Thermal conductivity (W m-1 K-1) of the debris layer (default = 0.585).

disThermalConductivity

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

thermalEmissivity

An object of class 'numeric'. Thermal emissivity (0-1) of the debris layer (default = 0.95).

disThermalEmissivity

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

surfaceRoughnessHeight

An object of class 'numeric'. Surface roughness height (m) of the debris layer (default = 0.01).

disSurfaceRoughnessHeight

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

frictionVelocity

An object of class 'numeric'. Friction velocity (m s-1) of the debris layer (default = 0.16).

disFrictionVelocity

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

volumeFractionDebrisInIce

An object of class 'numeric'. Volume fraction (0-1) of debris in the ice body (default = 0.01).

disVolumeFractionDebrisInIce

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

debrisAirRatio

An object of class 'numeric'. Ratio of the debris surface area to the volume of air (m-1) in the debris layer (default = 188).

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.

dragCoefficient

An object of class 'numeric'. Drag coefficient (m-1) of the debris layer (default = 5).

disDragCoefficient

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

iceDensity

An object of class 'numeric'. Density (kg m-3) of ice (default = 900).

disIceDensity

An object of class 'RasterStack'. Distributed density (kg m-3) of ice. 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) sub-debris ice 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 = "dcIceMelt").

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

The impact of supraglacial debris on the melting process of underlying ice depends on the thickness of the debris layer itself. A thin dust layer of several centimeters enhances ice melt due to increased radiative absorption, whereas a thick debris cover (>4-5 cm) isolates and reduces ablation (e.g. Mihalcea et al. 2006, 2008; Mayer et al., 2010). Since the relationship between debris thickness and ice melt is non-linear, simple melting factors (also known as "degree-day factors") are not applicable. An energy-balance model developed by Evatt et al. (2015, Equations 41-46) is therefore applied to calculate glacial melt under a porous debris layer (for detailed information please refer to Groos et al. (submitted, Equations 11-16).

The sub-debris ice melt model consideres the following energy fluxes:

Value

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

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

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.

Mayer, C., Lambrecht, A., Mihalcea, C., Belo, M., Diolaiuti, G., Smiraglia, C., and Bashir, F. (2010). Analysis of Glacial Meltwater in Bagrot Valley, Karakoram. Mountain Research and Development 30, 169-177.

Mihalcea, C., Mayer, C., Diolaiuti, G., Lambrecht, A., Smiraglia, C., and Tartari, G. (2006). Ice ablation and meteorological conditions on the debris-covered area of Baltoro glacier, Karakoram, Pakistan. Annals of Glaciology 43, 292-300.

Mihalcea, C., Mayer, C., Diolaiuti, G., D'Agata, C., Smiraglia, C., Lambrecht, A., Vuillermoz, E., and Tartari, G. (2008). Spatial distribution of debris thickness and melting from remote-sensing and meteorological data, at debris-covered Baltoro glacier, Karakoram, Pakistan. Annals of Glaciology 48, 49-57.

See Also

glacialMelt, snowMelt, iceMelt

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
# Load the provided RasterLayer objects
# as exemplary input for the function
data(glacierMask_30m, debrisThickness_30m, debrisMask_30m,
    airTemperature_30m_daily, airDensity_30m_daily,
    netRad_30m_daily, package = "glacierSMBM")
# Individual RasterLayer objects should be loaded
# or created using the function raster()

# Include RasterLayers in RasterStack
GlacierMask <- stack(glacierMask_30m)
DebrisThickness <- stack(debrisThickness_30m)
DebrisMask <- stack(debrisMask_30m)
AirTemperature <- stack(airTemperature_30m_daily)
AirDensity <- stack(airDensity_30m_daily)
NetRad <- stack(netRad_30m_daily)

# Calculate ice melt under a porous debris layer
# using standard settings
output <- debrisCoveredIceMelt(airT = AirTemperature,
    netRad = NetRad, airDensity = AirDensity,
    glacierMask = GlacierMask, debrisMask = DebrisMask,
    debrisThickness = DebrisThickness)

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

# Calculate ice melt under a porous debris layer using modified
# settings (e.g. change numeric values for thermal conductivity
# and temporal resolution)
output <- debrisCoveredIceMelt(airT = AirTemperature,
    netRad = NetRad, airDensity = AirDensity,
    glacierMask = GlacierMask, debrisMask = DebrisMask,
    debrisThickness = DebrisThickness, thermalConductivity = 1.5,
    tmpRes = "h")

# Plot output
plot(output, main = "debris covered ice melt",
    legend.args=list(text='Ice melt (m h-1)', side=3, line=1.5))

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