rsaga.solar.radiation {RSAGA} | R Documentation |
This function calculates the potential incoming solar radiation in an area either using a lumped atmospheric transmittance model or estimating it based on water and dust content.
rsaga.solar.radiation(in.dem, out.grid, out.duration, latitude, unit = c("kWh/m2", "J/m2"), solconst = 1367, method = c("lumped", "components"), transmittance = 70, pressure = 1013, water.content = 1.68, dust = 100, time.range = c(0, 24), time.step = 1, days = list(day = 21, month = 3), day.step = 5, ...)
in.dem |
name of input digital elevation model (DEM) grid in
SAGA grid format (default extension: .sgrd ) |
out.grid |
output grid file for potential incoming solar radiation sums |
out.duration |
Optional output grid file for duration of insolation |
latitude |
Geographical latitude in degree North (negative values indicate southern hemisphere) |
unit |
unit of the out.grid output: "kWh/m2"
(default) or "J/m2" |
solconst |
solar constant, defaults to 1367 W/m2 |
method |
specifies how the atmospheric components should be
accounted for: either based on a lumped atmospheric
transmittance as specified by argument transmittance
("lumped" , or numeric code 0 ;
default); or by calculating the components corresponding
to water and dust ("components" , code 1 ) |
transmittance |
transmittance of the atmosphere in percent; usually between 60 (humid areas) and 80 percent (deserts) |
pressure |
atmospheric pressure in mbar |
water.content |
water content of a vertical slice of the atmosphere in cm: between 1.5 and 1.7cm, average 1.68cm (default) |
dust |
dust factor in ppm; defaults to 100ppm |
time.range |
numeric vector of length 2: time span (hours of the day) for numerical integration |
time.step |
time step in hours for numerical integration |
days |
a list with components day and month
specifying a single day of the year for radiation modeling |
day.step |
if days indicates a range of days, this
specifies the time step (number of days) for calculating
the incoming solar radiation |
... |
optional arguments to be passed to rsaga.geoprocessor ,
including the env RSAGA geoprocessing environment |
SAGA uses zero-based days and months, but this R function uses the standard one-based days and months (e.g. day 1 is the first day of the month, month 1 is January) and translates to the SAGA system.
In SAGA 2.0.2, solar radiation sums calculated for a range of days, say
days=c(a,b)
actually calculate radiation only for days
a,...,b-1
(in steps of day.step
- I used day.step=1
in this example). The setting a=b
however gives the same result
as b=a+1
, and indeed b=a+2
gives twice the radiation sums
and potential sunshine duration that a=b
and b=a+1
both give.
The solar radiation module of SAGA 2.0.1 had a bug that made it impossible
to pass a range of days
of the year or a range of hours of the day
(time.range
) to SAGA. These options work in SAGA 2.0.1.
This function uses module 2 from SAGA library ta_lighting
.
Alexander Brenning (R interface), Olaf Conrad (SAGA module)
Wilson, J.P., Gallant, J.C. (eds.), 2000: Terrain analysis - principles and applications. New York, John Wiley & Sons.
rsaga.hillshade
, rsaga.insolation
## Not run: # potential solar radiation on Nov 7 in Southern Ontario... rsaga.solar.radiation("dem","solrad","soldur",latitude=43, days=list(day=7,month=11),time.step=0.5) # ...in fact a cold, cloudy, windy day... ## End(Not run)