|Enlarged view of portion of the rainfall map. Intense blue indicates high rainfall.|
(Colors were unintentionally shifted in the above image.)
Note the correspondence between the higher amount of rainfall (above) with the mountains (below). That's exactly as should be.
|Enlarged view of portion of elevation map. Black is low level ground, gray are mountains.|
As you can see, the winds go kind of crazy after encountering the mountains. Mountains can, in fact, perturb, divert, or even outright block wind. But I shouldn't be ending up with the zig-zag pattern seen below, I don't think.
|Enlarged view portion of wind direction map. Lines point from center of cell toward direction winds are blowing.|
I also think that the algorithm fundamentally needs a second pass. Once rivers are flowing through an area, evaporation from the rivers (and any lakes) would increase moisture in the air, leading to more rainfall. Rivers come down from mountains even in many areas that are dry due to the rain shadow effect, but travel far enough away from the mountains and the air slowly gets moist again. I think that's from evaporation of the river and lake waters.
Or maybe I misunderstand the origins of the moisture in the Midwestern air. I may have to break down and do a little investigation online and maybe pull up one of the geology/meteorology/geography books from the basement. It could be flow of moist air from elsewhere. Or a combination. In any case the extensive river system east of the Rocky Mountains would not form with the model I'm using; only a few rivers originating in the mountains would form.
Something to consider after the wind model is working properly, and rivers are forming at all.