Description Usage Arguments Details Value Note Author(s) References See Also Examples
A model to calculate melting of supraglacial snow and firn, bare glacier ice and debris covered glacier ice.
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 = "", ...)
|
airT |
An object of class |
airDensity |
An object of class |
netRad |
An object of class |
glacierMask |
An object of class |
iceMask |
An object of class |
snowMask |
An object of class |
debrisMask |
An object of class |
debrisThickness |
An object of class |
inRadSW |
An object of class |
inRadLW |
An object of class |
disTuningFacAirT |
An object of class |
disIceTMF |
An object of class |
disSnowTMF |
An object of class |
disIceRMF |
An object of class |
disSnowRMF |
An object of class |
disRelativeHumidity |
An object of class |
disWindSpeed |
An object of class |
disDebrisAlbedo |
An object of class |
disThermalConductivity |
An object of class |
disThermalEmissivity |
An object of class |
disSurfaceRoughnessHeight |
An object of class |
disFrictionVelocity |
An object of class |
disVolumeFractionDebrisInIce |
An object of class |
disDebrisAirRatio |
An object of class |
disDragCoefficient |
An object of class |
disIceDensity |
An object of class |
outType |
An object of class |
writeOutput |
An object of class |
outputName |
An object of class |
tmpCreate |
An object of class |
tmpDir |
An object of class |
outDir |
An object of class |
... |
Further arguments passed to the embedded functions |
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).
An object of class 'RasterStack'
consisting of four individual 'RasterLayers'
:
Melt rate of supraglacial snow and firn as calculated by snowMelt
Melt rate of bare ice as calculated by iceMelt
Melt rate of debris covered ice as calculated by debrisCoveredIceMelt
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.
The following input variables are the requested minimum to run the model:
'airT'
(for every time step)
'netRad'
(for every time step)
'airDensity'
(stationary or for every time step)
'glacierMask'
(stationary or for every time step)
'iceMask'
(stationary or for every time step)
'snowMask'
(stationary or for every time step)
'debrisMask'
(stationary or for every time step)
'debrisThickness'
(stationary or for every time step)
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.
Alexander R. Groos (alexander.groos@giub.unibe.ch)
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.
snowMelt
, iceMelt
, debrisCoveredIceMelt
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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.