The BioCro C++ Library
lightME.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Light_model
 

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

Function Documentation

◆ lightME()

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:

  1. As atmospheric transmittances, which are the ratios of direct light or diffuse light at the Earth's surface to incident light at the upper atmosphere. These would be appropriate for calculating the intensity of direct and diffuse light at the surface given a value for the solar constant. Note that these transmittances are different than the input parameter atmospheric_transmittance, which represents the transmittance of either type of light through a small volume of atmosphere.
  2. As fractions of direct and diffuse light at the Earth's surface, which would be appropriate for calculating the intensity of direct and diffuse light given an experimental measurement of light intensity at the surface.

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.

Parameters
[in]cosine_zenith_angleThe 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_pressureLocal atmospheric pressure in Pa
[in]atmospheric_transmittanceFraction of light transmitted through a small volume of atmosphere (dimensionless)
[in]atmospheric_scatteringAtmospheric scattering factor (dimensionless)
Returns
A structure containing values of the transmittances and fractions of direct and diffuse light just above the canopy.

Definition at line 56 of file lightME.cpp.

Referenced by c3CanAC(), and CanAC().

+ Here is the caller graph for this function: