## NAME

r.sun - Computes beam (direct), diffuse and ground reflected solar irradiation raster maps for given day, latitude, surface and atmospheric conditions. Solar parameters (e.g. time of sunrise and sunset, declination, extraterrestrial irradiance, daylight length) are saved in a local text file. Alternatively, the local time can be specified to compute solar incidence angle and/or irradiance raster maps. The shadowing effect of the topography is optionally incorporated.

## SYNOPSIS

r.sun
r.sun help
r.sun [-s] elevin=name aspin=name slopein=name [ linkein=name] [ lin=value] [ albedo=name] [ alb=value] [ latin=name] [ lat=value] [ coefbh=name] [ coefdh=name] [ incidout=name] [ beam_rad=name] [ insol_time=name] [ diff_rad=name] [ refl_rad=name] day=value [ step=value] [ declin=value] [ time=value] [dist=value]

## DESCRIPTION

The solar geometry of the model is based on the works of Krcho (1990), later improved by Jenco (1992). The equations describing Sun – Earth position as well as an interaction of the solar radiation with atmosphere were originally based on the formulas suggested by Kitler and Mikler (1986). This component was considerably updated by the results and suggestions of the working group co-ordinated by Scharmer and Greif (2000) (this algorithm might be replaced by SOLPOS algorithm-library included in GRASS within r.sunmask command). The model computes all three components of global radiation (beam, diffuse and reflected) for the clear sky conditions, i.e. not taking into consideration the spatial and temporal variation of clouds. The extent and spatial resolution of the modelled area, as well as integration over time, are limited only by the memory and data storage resources. The model is built to fulfil user needs in various fields of science (hydrology, climatology, ecology and environmental sciences, photovoltaics, engineering, etc.) for continental, regional up to the landscape scales.

As an option the model considers a shadowing effect of the local topography. The r.sun works in two modes. In the first mode it calculates for the set local time a solar incidence angle [degrees] and solar irradiance values [W.m-2]. In the second mode daily sums of solar radiation [Wh.m-2.day-1] are computed within a set day. By a scripting the two modes can be used separately or in a combination to provide estimates for any desired time interval. The model accounts for sky obstruction by local relief features. Several solar parameters are saved in a local text file named r.sun_out.txt.

The solar incidence angle raster map incidout is computed specifying elevation raster map elevin, aspect raster map aspin, slope steepness raster map slopin, given the day day and local time time. There is no need to define latitude for locations with known and defined projection/coordinate system (check it out using g.projinfo command). If you have undefined projection, (x,y) system, etc. then the latitude can be defined explicitely for large areas by input raster map latin with interpolated latitude values or, for smaller areas, a single region latitude value lat can be used instead. All input raster maps must be floating point (FCELL) raster maps. Null data in maps are excluded from the computation (and also speeding-up the computation), so each output raster map will contain null data in cells according to all input raster maps. The user can use r.null command to create/reset null file for your input raster maps.
The specified day day is the number of the day of the general year where January 1 is day no.1 and December 31 is 365. Time time must be a local (solar) time (i.e. NOT a zone time, e.g. GMT, CET) in decimal system, e.g. 7.5 (= 7h 30m A.M.), 16.1 = 4h 6m P.M..

Setting the solar declination declin by user is an option to override the value computed by the internal routine for the day of the year. The value of geographical latitude can be set as a constant for the whole computed region or, as an option, a grid representing spatially distributed values over a large region. The geographical latitude must be also in decimal system with positive values for northern hemisphere and negative for southern one. In similar principle the Linke turbidity factor (linkein, lin ) and ground albedo (albedo, alb) can be set.

Besides clear-sky radiations, user can compute a real-sky radiation (beam, diffuse) using coefbh and coefdh input raster maps defining the fraction of the respective clear-sky radiations reduced by atmospheric factors (e.g. cloudiness). Usually these coefficients can be obtained from a long-terms meteorological measurements.

The solar irradiation or irradiance raster maps beam_rad, diff_rad , refl_rad are computed for a given day day, latitude lat (latin), elevation elevin, slope slopein and aspect aspin raster files. The program uses the Linke atmosphere turbidity factor and ground albedo coefficient. A default, single value of Linke factor is lin=3.0 and is near the annual average for rural-city areas. The Linke factor for an absolutely clear atmosphere is lin=1.0. See notes below to learn more about this factor. The incidence solar angle is the angle between horizon and solar beam vector. The solar radiation maps for given day are computed integrating the relevant irradiance between sunrise and sunset times for given day. The user can set finer or coarser time step step used for all-day radiation calculations. A default value of step is 0.5 hour. Larger steps (e.g. 1.0-2.0) can speed-up calculations but produce less reliable results. The output units are in Wh per squared meter per given day [Wh/(m*m)/day]. The incidence angle and irradiance/irradiation maps can be computed without shadowing influence of relief by default or they can be computed with this influence using the flag -s. In mountainous areas this can lead to very different results! The user should be aware that taken into account the shadowing effect of relief can slow down the speed of computing especially when the sun altitude is low. When considering shadowing effect (flag -s) speed and precision computing can be controlled by a parameter dist which defines the sampling density at which the visibility of a grid cell is computed in the direction of a path of the solar flow. It also defines the method by which the obstacle's altitude is computed. When choosing dist less than 1.0 (i.e. sampling points will be computed at dist * cellsize distance), r.sun takes altitude from the nearest grid point. Values above 1.0 will use the maximum altitude value found in the nearest 4 surrounding grid points. The default value dist=1.0 should give reasonable results for most cases (e.g. on DEM). Dist value defines a multiplying coefficient for sampling distance. This basic sampling distance equals to the arithmetic average of both cell sizes. The reasonable values are in the range 0.5-1.5. The values below 0.5 will decrease and values above 1.0 will increase the computing speed. Values greater than 2.0 may produce estimates with lower accuracy in highly dissected relief. The fully shadowed areas are written to the ouput maps as zero values. Areas with NULL data are considered as no barrier with shadowing effect .

The text file r.sun_out.txt is generated with the following listed parameters used in the computation:
- Solar constant 1367 W.m-2
- Extraterrestrial irradiance on a plane perpendicular to the solar beam [W.m-2]
- Day of the year
- Declination [radians]
- Decimal hour (Alternative 1 only)
- Sunrise and sunset (min-max) over a horizontal plane
- Daylight lengths
- Geographical latitude (min-max)
- Linke turbidity factor (min-max)
- Ground albedo (min-max)

The user can use a nice shellcript with variable day to compute radiation for some time interval within the year (e.g. vegetation or winter period). Elevation, aspect and slope input values should not be reclassified into coarser categories. This could lead to incorrect results.

## OPTIONS

The user can run this program either interactively or non- interactively. The program will be run non-interactively if the user specifies program arguments and flag settings on the command line using the form:

r.sun [-s] elevin=name aspin=name slopein=name [linkein=name] [lin=value] [albedo=name] [alb=value] [latin=name] [lat=value] [coefbh=name] [coefdh=name] [incidout=name] [insol_time=name] [beam_rad=name] [diff_rad=name] [refl_rad=name] day=value [step=value] [declin=value] [time=value] [dist=value]

Alternately, the user can simply type r.sun on the command line without program arguments. In this case, the user will be prompted for parameter values using the standard GRASS parser interface. Currently, there are two modes of r.sun. In the first mode it calculates solar incidence angle and solar irradiance raster maps using the set local time. In the second mode daily sums of solar irradiation [kWh.m-2.day-1] are computed for a specified day.

### Flag:

-s
  takes into account the shadowing effect of relief

### Parameters:

elevin=name
  Use the existing raster file with elevationsname as input [metres].
aspin=name
  Use the existing raster file with aspectname as input (aspect or azimuth of the solar panel) [decimal degrees].
slopein=name
  Use the existing raster file with slopename as input (slope angle or solar panel inclination raster file) [decimal degrees].
linkein=name
  Use the existing raster file with Linke atmospheric turbidity factor [-].
lin=val
  Set the single value of the Linke atmospheric turbidity factor (default: 3.0).
albedo=name
  Use the existing raster file with ground albedo raster file [-].
alb=val
  Set the single value of the ground albedo (default: 0.2).
latin=name
  Use the existing raster file with.latitude raster file [decimal degrees].
lat=name
  Set the single value of latitude [decimal degrees] to val.
coefbh=name
  The real-sky beam radiation coefficient file.
coefdh=name
  The real-sky diffuse radiation coefficient file.
incidout=name
  Output solar incidence angle raster file [decimal degrees] (mode 1 only).
insol_time=name
  Output time duration of the beam irradiation raster file [min.] (mode 2 only).
beam_rad=name
  Output beam irradiance [W.m-2] (mode 1) or irradiation raster file [Wh.m-2.day-1] (mode 2).
diff_rad=name
  Output diffuse irradiance [W.m-2] (mode 1) or irradiation raster file [Wh.m-2.day-1] (mode 2).
refl_rad=name
  Output ground reflected irradiance [W.m-2] (mode 1) or irradiation raster file [Wh.m-2.day-1] (mode 2).
day=val
  Set the number of day of the year [1-365] to val.
step=val
  Set the time step when computing radiation daily sums [decimal hours] (default 0.5 hour) to val.
declin=val
  Set the declination value (overriding the internally computed value) [radians] to val.
time=val
  Set the decimal value of local (solar) time [decimal hours] (to be set for mode 1 only) to val.
dist=val
  Set the step coefficient defining the sampling distance (0.2-1.5) in relative values of a cell size to val (default: 1.0).

## NOTES

Solar energy is an important input parameter in different models concerning energy industry, landscape, vegetation, evapotranspiration, snowmelt or remote sensing. Solar rays incidence angle maps can be effectively used in radiometric and topographic corrections in mountainous and hilly terrain where very accurate investigations should be performed.

The clear-sky solar radiation model applied in the r.sun is based on the work undertaken for development of European Solar Radiation Atlas (Scharmer and Greif 2000, Page et al. 2001, Rigollier 2001). The clear sky model estimates the global radiation from the sum of its beam, diffuse and reflected components. The main difference between solar radiation models for inclined surfaces in Europe is the treatment of the diffuse component. In the European climate this component is often the largest source of estimation error. Taking into consideration the existing models and their limitation the European Solar Radiation Atlas team selected the Muneer (1990) model as it has a sound theoretical basis and thus more potential for later improvement.

Details of underlying equations used in this program can be found in the reference literature cited below or book published by Neteler and Mitasova: Open Source GIS: A GRASS GIS Approach (published in Kluwer Academic Publishers in 2002).

Average monthly values of the Linke turbidity coefficient for a mild climate (see reference literature for your study area):

    Month      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec  annual
    mountains  1.5  1.6  1.8  1.9  2.0  2.3  2.3  2.3  2.1  1.8  1.6  1.5  1.90
    rural      2.1  2.2  2.5  2.9  3.2  3.4  3.5  3.3  2.9  2.6  2.3  2.2  2.75
    city       3.1  3.2  3.5  4.0  4.2  4.3  4.4  4.3  4.0  3.6  3.3  3.1  3.75
    industrial 4.1  4.3  4.7  5.3  5.5  5.7  5.8  5.7  5.3  4.9  4.5  4.2  5.00

It should by noted that r.sun currently uses a lot of memory, some improvements are under way. Planned improvements may includes the use of SOLPOS algorithm for solar geometry calculations and internal computation of aspect and slope.

## SEE ALSO

s.surf.rst, r.slope.aspect, r.sunmask, g.projinfo, r.null

## AUTHORS

Jaroslav Hofierka, GeoModel, s.r.o. Bratislava, Slovakia
Marcel Suri, GeoModel, s.r.o. Bratislava, Slovakia
© 2002, Jaroslav Hofierka, Marcel Suri

## REFERENCES

Hofierka, J., Suri, M. (2002): The solar radiation model for Open source GIS: implementation and applications. Manuscript submitted to the International GRASS users conference in Trento, Italy, September 2002.

Hofierka, J. (1997). Direct solar radiation modelling within an open GIS environment. Proceedings of JEC-GI'97 conference in Vienna, Austria, IOS Press Amsterdam, 575-584.

Jenco, M. (1992). Distribution of direct solar radiation on georelief and its modelling by means of complex digital model of terrain (in Slovak). Geograficky casopis, 44, 342-355.

Kasten, F. (1996). The Linke turbidity factor based on improved values of the integral Rayleigh optical thickness. Solar Energy, 56 (3), 239-244.

Kasten, F., Young, A. T. (1989). Revised optical air mass tables and approximation formula. Applied Optics, 28, 4735-4738.

Kittler, R., Mikler, J. (1986): Basis of the utilization of solar radiation (in Slovak). VEDA, Bratislava, p. 150.

Krcho, J. (1990). Morphometric analysis and digital models of georelief. VEDA, Bratislava (in Slovak).

Muneer, T. (1990). Solar radiation model for Europe. Building services engineering research and technology, 11, 4, 153-163.

Neteler, M., Mitasova, H. (2002): Open Source GIS: A GRASS GIS Approach, Kluwer Academic Publishers.

Page, J. ed. (1986). Prediction of solar radiation on inclined surfaces. Solar energy R&D in the European Community, series F – Solar radiation data, Dordrecht (D. Reidel), 3, 71, 81-83.

Page, J., Albuisson, M., Wald, L. (2001). The European solar radiation atlas: a valuable digital tool. Solar Energy, 71, 81-83.

Rigollier, Ch., Bauer, O., Wald, L. (2000). On the clear sky model of the ESRA - European Solar radiation Atlas - with respect to the Heliosat method. Solar energy, 68, 33-48.

Scharmer, K., Greif, J., eds., (2000). The European solar radiation atlas, Vol. 2: Database and exploitation software. Paris (Les Presses de l’ École des Mines).

Last changed: $Date: 2003/08/20 08:10:13 $