longwaveveg: Calculates net longwave radiation below canopy

View source: R/radiationtools.R

longwavevegR Documentation

Calculates net longwave radiation below canopy

Description

longwaveveg is used to calculate a high-resolution dataset of the net longwave radiation flux density emmited from the Earth, accounting for canopy effects.

Usage

longwaveveg(h, tc, p = 101300, n, x, fr, svv = 1, albc = 0.23, co = 1.24)

Arguments

h

a single numeric value, raster object, two-dimensional array or matrix of specific humidities (kg kg{-1} ).

tc

a single numeric value, raster object, two-dimensional array or matrix of temperatures (ºC).

p

an optional single numeric value, raster object, two-dimensional array or matrix of sea-level pressures (Pa).

n

a single numeric value, raster object, two-dimensional array or matrix of fractional cloud cover (range 0 - 1). Technically assumed to be 1 - ratio of measured to clear-sky radiation.

x

a raster object, two-dimensional array or matrix of numeric values representing the ratio of vertical to horizontal projections of leaf foliage as returned by leaf_geometry().

fr

a raster object, two-dimensional array or matrix of fractional canopy cover as returned by canopy().

svv

an optional raster object, two-dimensional array or matrix of values representing the proportion of isotropic radiation received by a surface partially obscured by topography relative to the full hemisphere underneath vegetation as returned by skyviewveg().

albc

an optional single value, raster object, two-dimensional array or matrix of values representing the albedo(s) of the vegetated canopy as returned by albedo2().

co

parameter relationship between vapor pressure and temperature near the ground Brutsaert (1975).

Details

If svv is a raster object, a raster object is returned. If no values for p are provided, a default value of 101300 Pa, typical of sea-level pressure, is assumed. If no value for albc is provided, then the entire area is assumed to have a default value of 0.23, typical of well-watered grass. If single values of h, tc, p, n or albc are given, then the entire area is assumed to have the same values. If no value for svv is provided then the entire hemisphere is assumed to be in view.

Value

a single numeric value, raster object or two-dimensional array of values representing net longwave radiation (MJ per metre squared per hour).

See Also

The function longwavetopo() returns the net longwave radiation above vegetation. The function humidityconvert() can be used to derive specific humidity from other measures of humidity. cloudfromrad() can be used to derive derive cloud cover from radiation.

Examples

library(raster)
# =================================
# Extract data for 2010-05-24 11:00
# =================================
h <- microvars$humidity[564]
p <- microvars$pressure[564]
n <- microvars$cloudcover[264]
tcr <- raster(temp100[,,564], xmn = 169000, xmx = 170000, ymn = 12000, ymx = 13000)
tc <- resample(tcr, dtm1m) # Resample temperature raster to 1m
# =========================
# calculate input variables
# =========================
x <- leaf_geometry(veg_hgt)
l <- lai(aerial_image[,,3], aerial_image[,,4])
l <- lai_adjust(l, veg_hgt)
svv <- skyviewveg(dtm1m, l, x)
fr <- canopy(l)
alb <- albedo(aerial_image[,,1], aerial_image[,,2], aerial_image[,,3],
             aerial_image[,,4])
albc <- albedo2(alb, fr, ground = FALSE)
# =====================================
# calculate and plot longwave radiation
# =====================================
netlong1m <-longwaveveg(h, tc, p, n, x, fr, svv, albc)
nlr <- mask(netlong1m, dtm1m)
plot(nlr, main = "Net longwave radiation")

ilyamaclean/microclima documentation built on Oct. 31, 2023, 11:41 p.m.