I was having a problem with my virtual garden, and my flowers were all dying. I decided to check the equations that I use to calculate the efficiency of different flowers to see if I had made a mistake; looks like everything is ok and the flowers are dying just because of temperature changes. Maybe I should increase the rate of mutations to allow for a greater range of colors.
Anyway, one thing I did different from my first weather garden was that while the first version was based only on the relation between flower albedo and local temperature, this one also takes into account the local humidity. The way I came up to incorporate humidity was relating it to the "spikiness" of the flowers. Usually in deserts leaves tend to be thinner and spikier, in order to avoid loss of water (or so I recall learning). So my model takes into account the spikiness of the flowers, favoring rounder flowers in less dry weather.
Each flower on the garden is represented by a cosine wave of the form y = cos(x*k) * L + O, where k is a wave-number that defines the number of petals, L is the length of each petal, and O is an offset parameter related to the spikiness of the flower. Here's a simple example of a flower with k=5, L=10, O=5, first in cartesian coordinates and then in polar coordinates:
The (completely non-scientifical) way in which I measure spikiness is by taking O-L. Here's how it looks like when we relate this variable to the humidity. On the graph below I plotted several flowers. The x axis shows humidity percentage, going from 0 to 100. On the y axis we have O-L: spikier flowers appear on small values of O-L. The size of each flower shows its efficiency for the corresponding humidity. We can see that for lower values of humidity the spikier flowers fare better (they appear bigger), while the opposite is true for moister weather: