A class to calculate Solar radiation characteristics This is largely based on M. Iqbal, "An introduction to solar radiation", 1983, Academic Press, ISBN: 0-12-373750-8. The Sun's position is provided by the SunTrajectory class (currently the only implemented algorithm is Meeus). All units are SI. See https://www.suncalc.org/ for a validation calculator.
- Author
- Mathias Bavay
- Date
- 2010-06-10
|
| SunObject (const SunObject::position_algo &alg=MEEUS) |
|
| SunObject (const double &i_latitude, const double &i_longitude, const double &i_altitude) |
|
| SunObject (const double &i_latitude, const double &i_longitude, const double &i_altitude, const double &i_julian, const double &i_TZ=0.) |
|
void | setDate (const double &i_julian, const double &i_TZ=0.) |
|
void | setDate (const Date &date) |
|
void | setLatLon (const double &i_latitude, const double &i_longitude, const double &i_altitude) |
|
void | resetAltitude (const double &i_altitude) |
|
void | setElevationThresh (const double &i_elevation_threshold) |
|
void | calculateRadiation (const double &ta, const double &rh, double pressure, const double &ground_albedo) |
|
void | calculateRadiation (const double &ta, const double &rh, const double &mean_albedo) |
|
void | getBeamRadiation (double &R_toa, double &R_direct, double &R_diffuse) const |
|
void | getHorizontalRadiation (double &R_toa, double &R_direct, double &R_diffuse) const |
|
void | getSlopeRadiation (const double &slope_azi, const double &slope_elev, double &R_toa, double &R_direct, double &R_diffuse) const |
|
double | getElevationThresh () const |
|
double | getSplittingBoland (const double &toa_h, const double &iswr_measured, const double &t) const |
| Evaluate the splitting coefficient between direct and diffuse components of the incoming short wave radiation. Splitting is based on "clearness of the sky", ie. the ratio of measured incoming global radiation to top of the atmosphere radiation toa_h. This is based on Boland, John, Lynne Scott, and Mark Luther, "Modelling the diffuse fraction
of global solar radiation on a horizontal surface", Environmetrics 12.2, 2001, pp103-116. More...
|
|
double | getSplitting (const double &toa_h, const double &iswr_measured) const |
| Evaluate the splitting coefficient between direct and diffuse components of the incoming short wave radiation. Splitting is based on "clearness of the sky", ie. the ratio of measured incoming global radiation to top of the atmosphere radiation toa_h, see D. G. Erbs, S.A. Klein, J.A. Duffie, "Estimation of the diffuse radiation fraction for hourly, daily and monthly-average global radiation", Solar Energy, 28, 4, 1982, Pages 293-302 and M. Iqbal, "An introduction to solar radiation", 1983, Academic Press, ISBN: 0-12-373750-8 and D. T. Reindl, W. A. Beckman, J. A. Duffle, "Diffuse fraction correlations", Solar Energy, 45, 1990, pp 1-7. More...
|
|
double | getSplitting (const double &iswr_measured) const |
|
double | getCorrectionFactor (const double &iswr_measured, double &Md, bool &day, bool &night) const |
| Evaluate an atmospheric losses factor. This correction factor is evaluated by comparing the global potential and the global measured radiation. The booleans "day" and "night" are returned in order to allow further optimizations. At dawn or dusk, both are set to false. More...
|
|
double | getCorrectionFactor (const double &iswr_measured) const |
| Evaluate an atmospheric losses factor. This correction factor is evaluated by comparing the global potential and the global measured radiation. More...
|
|
double | getJulian (const double &o_TZ) const |
|
Date | getDate () const |
|
const std::string | toString () const |
|
double mio::SunObject::getSplitting |
( |
const double & |
toa_h, |
|
|
const double & |
iswr_measured |
|
) |
| const |
Evaluate the splitting coefficient between direct and diffuse components of the incoming short wave radiation. Splitting is based on "clearness of the sky", ie. the ratio of measured incoming global radiation to top of the atmosphere radiation toa_h, see D. G. Erbs, S.A. Klein, J.A. Duffie, "Estimation of the diffuse radiation fraction for hourly, daily and monthly-average global radiation", Solar Energy, 28, 4, 1982, Pages 293-302 and M. Iqbal, "An introduction to solar radiation", 1983, Academic Press, ISBN: 0-12-373750-8 and D. T. Reindl, W. A. Beckman, J. A. Duffle, "Diffuse fraction correlations", Solar Energy, 45, 1990, pp 1-7.
- Parameters
-
toa_h | horizontal top of atmosphere Radiation (W/m²) |
iswr_measured | measured Incoming Short Wave Radiation on the ground (W/m²) |
- Returns
- splitting coefficient (between 0 and 1, 1 being 100% diffuse radiation)