The story for this model is, there is a world where a number of random trees spawn. There are also clouds. These clouds give trees their water. If a tree doesn't get water for long enough it becomes stressed. If a tree is stressed too long, it will die. If a stress tree is watered enough, it can come back and become a healthy tree. Since my system model focused on just what happened to trees if they didn't get enough water, and ignored how they would get the water, my agent model focused on how trees get their water. My initial hypothesis was that, when it rained, a majority of the water was absorbed into the soil and then some of it was used by the trees. So I built the model using the average rainfall in US but the trees kept dying. The model ran as expected, but within a few time steps, all the trees died. At first I thought that I had a bug, so I did the math by hand and figured out that my model was correct. Trees cannot be sustained by rain water alone. They rely on rivers, lakes, and groundwater to get a majority of their water. Best case scenario, an adult tree can get 6.5 gallons a week, but it needs at least 133 gallons a week. This is why small streams and beavers are so important to forest ecosystems. Small streams and beaver bams slow down water enough to absorb into the ground and be used by the forest.
Not satisfied that all the trees were dying, I made a second model. This model looked to see how much rain would be needed to sustain a forest. I came up with 250 gallons of water a week. In the US, the average amount of rainfall is about 6.5 gallons a week. Play with both of the models, copy them, and try your own thing. Then figure out why trees need so much rain to sustain themselves.