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

Make the solar constant S an input instead of a hard coded value #37

Open
dschlaep opened this issue Sep 4, 2017 · 0 comments
Open

Comments

@dschlaep
Copy link
Member

dschlaep commented Sep 4, 2017

Function petfunc uses hard coded value for solar constant in the calculation of variable solrad. Make solar constant an input.

@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
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