Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PET calculation: account for the elliptic nature of Earth's orbit #38

Closed
dschlaep opened this issue Sep 4, 2017 · 1 comment
Closed

Comments

@dschlaep
Copy link
Member

dschlaep commented Sep 4, 2017

We don't account for the elliptic nature of Earth's orbit around the sun in the calculation of solar radiation variable solrad by function petfunc, e.g., see equation 3.1 from Seller 1965:

R(sol) = (mean(d) / d)^2 * S * cos(Z)

where mean(d) is the mean distance from the sun to Earth and d is the current distance.

@dschlaep dschlaep added this to the Appendix improvements milestone Sep 4, 2017
dschlaep referenced this issue Jul 3, 2020
Changes in inputs:
  - `climate.in`: remove `atmospheric transmissivity` because they were unused
  - `siteparam.in`: site latitude, slope, and aspect are now in consistent units (degrees) instead of a mix of radians and degrees
  - `siteparam.in`: orientation of aspect has changed: aspect = 0 indicates now a South facing slope instead of a North facing slope; values range -180 to +180 instead of 0-360

Changes in flow of calculations:
  - `petfunc()` that calculates PET takes now radiation as input argument instead of calculating it internally --> move calculation of radiation to the `SW_Flow` module

Changes in the calculation of extraterrestrial radiation:
  - function renamed to `solar_radiation_extraterrestrial()` from `solar_radiation_TOA()`
  - accounts now for varying sun-earth distance with new function `sun_earth_distance_squaredinverse()`
  - improved `solar_declination()` to better match calendar year to solar year
  - extraterrestrial radiation is now calculated both for a horizontal and a tilted surface (defined by slope and aspect)
--> future improvements: these calculations are repeated for each year, but values are the same per day of year -> these could be calculated only once and memoized

Changes in the calculation of global horizontal radiation:
  - previous function `solar_radiation_surface()` replaced by new functions `clearsky_directbeam()`, `clearnessindex_diffuse()`, and `atmospheric_attenuation_cloudfactor()`
  - new approach implements a clear-sky model (additionally attenuated by a cloud factor) and a separation model to treat direct beam and diffuse radiation separately

Changes in the calculation of tilted radiation:
  - previous function `_solar_radiation_sloped()` replaced, enhanced, and fixed by new function `sun_hourangles()`
  - new function `sun_hourangles()` calculates all possible sunrise and sunset hour angles for a horizontal and a tilted surface as well as the daily integral of the cosine of the solar incidence angle and the daily integral of the sine of the solar altitude angle based on equations developed by Allen et al. 2006 Agricultural and Forest Meteorology 139:55-73
  - new approach implements an anisotropic transposition model to transpose direct beam and diffuse components of global radiation from a horizontal to a tilted surface

One radiation function:
  - new function `solar_radiation()` calculates and returns horizontal and tilted extraterrestrial and global radiation terms
@dschlaep
Copy link
Member Author

dschlaep commented Sep 3, 2021

closed by 9f0f986

@dschlaep dschlaep closed this as completed Sep 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant