# Storm Light behaviorThis behavior calculates light levels as a function of number of trees damaged in storms. Light levels are stored in a grid for later retrieval by other behaviors; this behavior does not directly assign light to trees. ### Parameters for this behaviorParameter name | Description |
---|
Storm Light - Intercept of Light Function | Intercept of the function to determine light level. | Storm Light - Max Radius (m) for Damaged Neighbors | The maximum distance, in meters, within which the Storm Light behavior searches for damaged trees. | Storm Light - Max Years Damaged Trees Affect Light | The maximum amount of time, in years, after storm damage that a tree will still be counted in the number of damaged trees. | Storm Light - Max Years Snags Affect Light | The maximum amount of time, in years, after death that a snag will still be counted in the number of damaged trees. | Storm Light - Minimum Trees For Full Canopy | The minimum number of adult trees and snags within the value in **Storm Light - Max Radius (m) for Damaged Neighbors** for the point to be considered under full canopy. | Storm Light - Slope of Light Function | Slope of the function to determine light level. | Storm Light - Standard Deviation | If the value in the **Storm Light - Stochasticity** parameter is "Normal" or "Lognormal", the standard deviation of the probability distribution function. If stochasticity is "Deterministic", this value is ignored. | Storm Light - Stochasticity | What method to use for randomizing light values, if desired. |
### How it worksThis behavior uses a grid called Storm Light to manage light levels. Each timestep, it calculates the light level at the center of each grid cell and places it in the grid. The light level is calculated as follows: *GLA = ((1 - T/M) * 100) + (a + b * N)*where: *GLA* is the light level, as a value between 0 and 100*T* is the number of adult trees and snags within the search radius*M* is the **Storm Light - Minimum Trees For Full Canopy** parameter*a* is the **Storm Light - Intercept of Light Function** parameter*b* is the **Storm Light - Slope of Light Function** parameter*N* is the proportion of trees that are dead or were heavily damaged in recent storms
This behavior calculates the light levels at the center of each grid cell by examining the trees within the distance given in the **Storm Light - Max Radius (m) for Damaged Neighbors** parameter. The first term in the equation, *((1 - T/M) * 100)*, corrects the light level if the point is not under full canopy. All adults and snags, no matter what storm damage, are counted up and assigned to T. If T > = M, then the first term is set to 0 and only the second part, *(a + b * N)*, is evaluated. If T < M, then the first term adds to the linear portion the proportion of full sun equal to the proportion of trees missing from the full canopy. For the second, linear term, the behavior counts the number of dead and heavily damaged trees as a proportion of all adults and snags. Trees count as heavily damaged if they are either snags that were created as a result of a storm killing an adult tree, or live adults with heavy storm damage. All storm damaged trees have a time-since-damage counter; only those eligible trees with a counter value less than or equal to the value in the **Storm Light - Max Years Damaged Trees Affect Light** parameter are counted. Saplings and seedlings never count. All snags count, whether they were created by a tree or another mortality process. Their age as a snag must also be less than the **Storm Light - Max Years Snags Affect Light** parameter. The GLA value can be used as-is, or it can be used as the mean in a PDF to introduce a stochastic element. You can choose either "Normal" or "Lognormal" in the **Storm Light - Stochasticity** parameter, then supply a standard deviation in the **Storm Light - Standard Deviation** parameter. Using "Deterministic" as the stochasticity causes the GLA to be used as-is. ### How to apply itYou do not need to apply this behavior to individual trees. While it is recommended that you also include the Storm damage applier behavior in your run, this is not required. |