The Gecko Woods Model

000114: Changes from 991214 version

Introduction

This file details the Gecko Woods model and calculations. Gecko Woods is a forest growth simulator created for student use in labs and research projects for a course in Landscape Ecology. It is loosely based on the Sortie simulator. This file describes first what Gecko Woods does, then its departures from the well-documented Sortie model family.

For a non-mathematical introduction to Gecko Woods, please see the Discussion instead. Exploration and Options both give play ideas. The Help reader explains how to operate the gizmos on the screen. Further readings are listed in References.

A Year in the Woods

The basic timestep of Gecko Woods is a year. Each year, or step, each active agent gets a chance to do its thing. The only active agents are the Reaper and Trees. The landscape in this Gecko model is passive. The Reaper's job is to kill Trees, and is discussed on the Options page. Each year, each Tree does:

  1. Note starting size for fertility, mortality, percent-population statistics.
  2. Bask: Compete for light and trunk and crown space.
  3. Grow: Based on light, etc., get bigger. Grow toward a better deal.
  4. Die: The internal-state-driven chances to die.
  5. Reproduce.
  6. Note basal area, the trunk cross-section, for statistics.
Now for the details of the steps:

Initialization

Initialization of Gecko Woods is simple. The simulator is given a world size, square. Each species has initial number and initial size (recruitRadius). There is at least one site with a given site quality (the "limiting resource"). If no size is specified for the site, it inherits the world size. If no initial area is specified for the Trees, they scatter evenly across the world. And then the year steps begin.

The only terminating condition is the RunControl parameter Stop time. The time unit is a year.

Site quality is intentionally vague. A site quality of 0.5 (half normal of 1.0) means that Trees can grow to half their maximum height at this location. This could be due to too little water, too much water, impoverished soil, or a large granite shelf 3 meters down. Site quality can be greater than 1.0, or two sites can overlap, with the sum greater than 1.0. This makes Trees grow faster, but not taller than maximum height. It's hard to justify site qualities much larger than 1.0.

Woods, like all Gecko models, uses a continuous landscape, where each player has real-valued location and extent. The landscape is not a lattice, nor does it wrap around toroidlike. It has edges where the nutrients to support life stop. (But note exception under Reproduce, below.)

Basking, the Competition

Light and spatial competition are the crux of Gecko Woods. Since Trees are 3-dimensional, Trees can intersect in 2-d location, in controlled ways. For instance, a sapling may grow under another Tree's canopy. It cannot grow:
  1. on another Tree's trunk, or
  2. into another Tree's crown.

Killing coincident Trees

During the bask substep, the Tree checks for any newborn Trees attempting to grow on its trunk and kills them outright. A Tree of age 5 or more is able to do this. Trees closer in age just have to fight it out, pushing and interfering with each other. Either they manage to jostle apart, or one or both die.

Crown aversion

Before basking in the sun, a Tree's crown is clipped by a crown space competition. In this sub-sub-step, a Tree's current cropped crown is crossed with any Tree crowns taller than it, and is clipped by the overlap, times the "closedness" (1.0 - openness, or light coefficient) of the taller crown. I.e., regardless of what crown size the Tree should have based on its size, it has trouble growing into a taller crown. The denser the taller crown, the stronger the effect. (For example, Birch loses 0.6 of its crown overlap with another Birch, but 0.94 of any crown overlap with a Hemlock.) The crown radius, before clipping to effective volume, is determined by formulas given below for the Grow substep.

Some Woods Scenarios permit turning crown cropping off. The forest growth pattern is quite different without crown cropping. Though it appears less crowded, there are a lot more trees in a cropped forest.

The most sun a Tree can get is 1.0 per unit area over its crown top. If crown cropping gave it only a part of the crown an uncropped Tree would have, its growth rate is limited by that factor. The circles drawn on the screen are the cropped crowns. The dots in the middle of the circles are the trunks.

Light and shadow

Next, every 5th year, the Trees compete for light. (In intervening years, the results of the last competition are used.) Neighboring Trees whose crowns are within 45 degrees of straight overhead are capable of reducing light input at this Tree's crown. Light is calculated at crown top. The Tree goes through all candidate neighbors and asks for their shadows at this Tree's height. Shadows have shape and lightness. The shape is crossed with the current Tree's crown area for overlap. Each Tree species has a parameter lightCoeff which says how much light filters through their crowns. A Hemlock casts a dark shadow, with only 6 percent of daylight eeking through. Sugar Maple and Yellow Birch allow 40 percent of daylight through.

A Tree has only one shadow per year (step). It's cast at high noon, at a solar angle of 26 degrees, which is an estimate of the growing season average effective sun angle at 42N lattitude. North is toward the top of your screen. The current version doesn't allow changing this solar angle from the popup menus. There's a repaint option (RunControl) to show shadows. The ovals shown are the width and height of the shadow actually used, but the oval shape is purely for aesthetics, and is cast on the ground, so appears to have effects far beyond its true effects at tree top level. I.e., don't take the drawn shadows too seriously.

The pickiest approach to debiting light by shadow requires keeping track of each shadow's intersection with the current Tree crown. Each shadow would intersect all other shadows, with each subarea having a light level equal to the product of each contributing shadow's lightness. This picky approach is slow, of course, but it was implemented to make sure the quicker scheme gave similar results.

The quicker scheme used here is to diffuse in each shadow. For example, this crown is crossed by a shadow of 0.5 light over one half its area. That's averaged in to .75 light over the whole area. No sub-areas of intersecting shadows are kept track of.

To find the shadow of a Tree, the circular crown top and bottom are cast into squares of equivalent area to the circles. Applying a little trigonometry, those two squares are projected to the height of the possibly-shadowed Tree. The top of the projected crown top and the bottom of the projected crown bottom, form a rectangle that is used as the shadow.

After a Tree has crossed its cropped crown with all candidate neighbor shadows, it has its light intake for the year (a percentage of maximum for locale). This light index is used in the Grow substep. Decreased growth increases chance of death in the Die substep.

Limiting resource

Bask then checks for a limiting nutrient resource. To get this, the crown volume/area is assumed to be roughly equivalent to the root mass, so the crown is used to check the "quality" of the site where the Tree is located. A Tree may cross zero, one, or more sites, each with a "quality" level. The average quality, weighted by area, is the Tree's "nutrient factor". Except indirectly by crown competition, Trees don't compete for "quality".

Direction vector

In each part of the Bask operation where the Tree loses light or crown or finds a trunk too close that it cannot simply kill, it tallies a direction vector it wants to move away from, weighted by how badly it wants to move away. This is used later in the Grow substep. This is how Trees jostle apart, or fail to, if the multiple competitions don't vector out to a good solution. However, Trees can only move as fast as they grow, so inability to grow implies inability to move.

Two separate direction vectors are kept for crown cropping/trunk aversion results, and shadow results, because crop/trunk happens every year and light/shadow happens every 5th year. The average of the two direction vectors is used in the Grow substep.

Basking is the core of Gecko Woods. All the other steps basically apply the consequences of how the Tree made out in the competitions carried out during Bask. This part of the simulator dominates run times.

Grow

Grow's job is to grow the Tree's trunk. The trunk (or stem diameter) is the Tree's master dimension, all others being derived from it. Growth, or lack thereof, is also a major factor in mortality. The specific tasks are:

  1. Find how much the trunk diameter grows as a function of light and nutrient factor.
  2. Grow toward the direction the Tree found more hospitable during Bask.
  3. Update other dimensions derived from trunk size.

Trees can move by however much they grow. Real Trees are more plastic than this, with crown centers significantly off-center from their trunks. But that's the limit allowed here.

The calculations applied:

1
2
3
4
5

Where:

trunkR Trunk radius. Grows by this or a maximum set by the Constant Area Increment Law, which is implemented by saying the area of each successive Tree ring cannot exceed growRingMax.
growRateMax
growRateMin
Tree species defining parameters.
GLI Global Light Index. What Bask found as the light at this Tree's crown, expressed as a percent (0 to 100).
nutrientFactor Bask's conclusion on the soil quality here.
crownToStem
maxCrownRadius
Tree species defining parameters. Stem (trunk) is specified in centimeters, and crown dimensions in meters. Crown is never allowed to grow beyond maxCrownRadius. Any further trunk growth goes to breaking even, not growing higher or fatter.
stuntedMaxHeight Sites can actually have higher quality than 1.0. If so, Trees are allowed to grow faster, but not higher, as Tree height tends to be a structural limit. If quality is less than 1.0, Trees grow both slower and shorter.
heightInitSlope Tree species defining parameter, meters per centimeter. Describes height per trunk diameter ratio for saplings.
crownDepthToHeight Tree species defining parameter, meters per meter. What top fraction of the Tree height is the crown for this species. All crowns are cartooned as cylindrical.

Die

The death checks, in order, are:

  1. Die if random number less than species mortality probability.
  2. Die if crown diameter less than trunk diameter.
  3. If height > 20 m and light level > 0.85, no more death checks.
  4. Die if random number less than growth-dependent mortality probability.

The species mortality probability vaguely implements species lifespan as well as death by disease or whatever. It turns out this lifespan aspect matters quite a lot. A future version of Gecko Woods may leave random misadventure to the Reaper and implement an age-based version of lifespan here.

The formula for growth-dependent mortality probability:

Where mortDecay and mortMax are species parameters. The divisor of 2.5 comes from taking the input parameters from Sortie, which applies this probability twice in 5 years, instead of once a year.

Trees can also be ordered to die by the Reaper or by a bigger Tree.

Reproduce

The overwhelming majority of Tree seeds, or even seedlings, don't turn into saplings. Rather than track all that, the simulator starts with Trees of parameter recruitRadius (default 1 cm diameter sapling trunks.) The same initial size is used for world initialization and reproduction.

The number of offspring for this Tree this year is given by:

The whole part of this number (e.g., the "2" of "2.36") is a guaranteed number of offspring, the remainder a random chance of an extra one.

The new sapling is placed at a random angle from this parental Tree, with a distance from the current trunk center given by:

There's a problem here in that a sapling of 1 cm diameter cannot appear the year its parent creates the seed. The parameter values used came from Sortie, which uses a 5 year time step. So except in world initialization, newborn Trees are not given a turn to grown until they're 5 years old. So, they are there, and cast shadows, but don't get their turn to grow. They can be killed in the meantime if they try to grow on another trunk.

Quibble: although there is no toroidal world wrap (big x wraps around to little x), sapling dispersal is wrapped in Gecko Woods, because otherwise a hectare sample would be weirdly unfair to long-dispersing species. This is optional, and can be turned off for truly isolated sites.

Departures from Sortie

Gecko Woods is based on the Sortie simulator, but the differences are important. The formulas given above started out from those in the Sortie papers given in the References, then diverged substantially. The parameter values for the Tree species used are also taken from those papers, with note-worthy exceptions.

The departures from Sortie mostly arise from a fundamentally different "light submodel". The Sortie simulator uses a "fish-eye photography" system wherein the number of neighboring Tree crowns are counted. Then light input is calculated from many sub-fish-eye increments, possibly with different sun angles and times of day. It's a major calculation, taking over 90 percent of the simulator's time.

Since Gecko Woods' driving use is teaching labs, it needed to be faster. This was done with the simpler light competition given above. Furthermore, it's really not OK to have trunks and crowns coexist in 3-dimensional space. They just don't. Gecko Woods is a graphical interactive simulator, and it looks terrible to do things that Trees just don't do.

In addition to those fundamental differences from Sortie, Gecko Woods incorporates a limiting resource (the nutrient factor, or site quality), because the driving use is for a course in Landscape Ecology.

So, Gecko Woods departures from Sortie:

  1. Site quality affects growth in trunk and height.
  2. Sortie takes a time step of 5 years instead of 1. Gecko Woods may try the same trick eventually. Note that this difference in time units may have unwittingly led to incorrect parameter value equivalences. I tried my best.
  3. Maximum crown radius added and enforced. At the moment, these sizes are invented (Maple 4.27m, Birch 3.99m, Hemlock 6.25m.) The ones for Maple and Birch match a tree grown in isolation to 95 percent of its maximum height. The value for Hemlock is pure invention.
  4. Coincident trunks are disallowed, via death and movement.
  5. Coincident crowns are cropped, and growth rate curbed by cropping.
  6. Light at Tree crown calculated very differently using shadows.
  7. Hemlock random chance of death is one half that of Sugar Maple and Yellow Birch (i.e., they tend to live four times as long.) Without this change, Hemlock does not win the forest succession in Gecko Woods. Hemlock really are long-lived.
  8. Gecko Woods' reproduction scheme yields the mean dispersal distances published in the Sortie papers, without using Sortie's calculations. Gecko Woods uses "mean recruit distance" (sapling dispersal) as an input parameter directly. Though the values for this parameter were taken from Sortie papers for Yellow Birch and Sugar Maple, the Hemlock value had to be discarded, as it never dispersed baby Hemlocks beyond the parental crown.
  9. Fertility in Sortie was proportional to Tree trunk diameter over 100 cm, squared. But Maple and Birch at mature (terminal crown) size do not have 1 meter diameter trunks. So, the reproduction scheme given above, with reproductive success going up with approach to terminal height, and using the linear dimension proportion cubed (for volume rather than...area?) is a Gecko Woods restatement. The Sortie formula was tried. The results weren't good. The fertility values (0.4 per year) are vaguely based on Sortie's value of 2.0, but since the subsequent formula yields different results, they amount to invented values based on not much of anything. Sortie's values were also vague.
  10. We transposed the published values of growRateMin and growRateMax for Sugar Maple. Sortie published that this species grows slower in full sun than in low light. This was probably a typo.

A preliminary comparison of Gecko Woods' results with those of Sortie and with natural stands has been done, but results so far aren't great. Please see Changes from 991214.


Ginger Booth, April 6, 2000.