|
The BioCro C++ Library
|
Include dependency graph for lightME.cpp:Go to the source code of this file.
Functions | |
| Light_model | lightME (double cosine_zenith_angle, double atmospheric_pressure, double atmospheric_transmittance, double atmospheric_scattering) |
| Calculates the "light macro environment"; in other words, the amount of sunlight scattered out of the direct beam by the atmosphere. More... | |
| Light_model lightME | ( | double | cosine_zenith_angle, |
| double | atmospheric_pressure, | ||
| double | atmospheric_transmittance, | ||
| double | atmospheric_scattering | ||
| ) |
Calculates the "light macro environment"; in other words, the amount of sunlight scattered out of the direct beam by the atmosphere.
The result is expressed in two ways:
atmospheric_transmittance, which represents the transmittance of either type of light through a small volume of atmosphere.The basis for this function is given in chapter 11 of Norman and Campbell, An Introduction to Environmental Biophysics, 2nd edition. The book states that this model is technically only applicable for solar zenith angles less than 80 degrees (which approximately corresponds to cosine_zenith_angle greater than 0.173). When the Sun is closer to the horizon (or even below it), atmospheric refraction plays a large role in determining the relative amounts of direct and diffuse light at the Earth's surface. The effect of refraction depends strongly on dust, air temperature, and clouds, making it difficult or impossible to accurately model. Here, we choose to use the model outside this range, extending it to cosine_zenith_angle = 0. For even smaller values, we simply use the limits as cosine_zenith_angle approaches zero. The resulting inaccuracies are expected to play a small role in a biological simulation, because light intensities at the surface tend to be low when the Sun is near the horizon.
| [in] | cosine_zenith_angle | The cosine of the solar zenith angle; when the Sun is directly overhead, the angle is 0 and its cosine is 1; when the Sun's center is at the horizon, the angle is 90 and its cosine is 0. |
| [in] | atmospheric_pressure | Local atmospheric pressure in Pa |
| [in] | atmospheric_transmittance | Fraction of light transmitted through a small volume of atmosphere (dimensionless) |
| [in] | atmospheric_scattering | Atmospheric scattering factor (dimensionless) |
Definition at line 56 of file lightME.cpp.
Referenced by c3CanAC(), and CanAC().
Here is the caller graph for this function: