I wrote up what would be considered a small surface parameterization scheme to simply forecast the air temperature at the surface at a point over the next 24 hours. This is based on equations from the book Parameterization Schemes: Keys to Understanding Numerical Weather Prediction Models by David Stensrud. It's not a book for the novice meteorologist--you definitely have to have gone through at least some undergraduate meteorology to follow what's going on there. But the first chapter basically discusses what I did.
So what is a "parameterization scheme"? It's a way of trying to predict something that we can't explicitly measure or figure out. When it comes down to it, a lot of features of weather models are parameterized. We can't track every single raindrop or every single little breeze of air being tossed and turned through trees and buildings. Yet, these processes collectively are extremely important and feed back into the larger-scale weather processes. So, we try to estimate their net effect using parameterization schemes.
I wrote up a very basic one that looks at several radiative processes and tries to predict the surface temperature over the next 24 hours. I started it at around 1:00 PM local time here in Seattle using my "optimal" initial conditions. Here are the parameters:
- Latitude: 47.6928 N, Longitude 122.3038 W
- Day of year: 229
- Initial surface air temperature: 72 Fahrenheit
- Precipitable water: 1.27 cm
- Ground reservoir temperature: 12 Celsius (54 Fahrenheit)
- Cloud fraction: 0.0
- Bowen ratio: 0.9
Is that low temperature tonight reasonable? Here's a 24-hour meteogram showing the past 24 hours at this location (my weather station at my house, actually...):
Now lets look at these different parameters that we can adjust. I'm not going to change the latitude, longitude, day of year or initial surface air temperature, because those are all things we directly know and observe. So, let's look at precipitable water. This is something that is measurable (if you have a weather balloon, which sadly I do not...), and I recently wrote a blog post describing it. It describes the total amount of water vapor in the air overhead. So what happens if we adjust this a bit--say, increasing it to 2.0 cm or decreasing it to 0.5 cm? Here's what happens:
So that's the effect of precipitable water. What about the effect of the ground reservoir temperature? This temperature is, in simple terms, just the average temperature of the soil underfoot. You might guess that a warmer soil temperature would help keep the temperature warmer, particularly overnight as the air cools down. Does this actually happen? Let's try increasing and decreasing the ground reservoir temperature by 2 degrees Celsius. Here's the results:
The next parameter is called "cloud fraction" and it's simply an estimate of how much cloud cover there is in the sky--1.0 is completely overcast and 0.0 is completely clear. Since it's a clear day today in Seattle, my optimal value is 0.0. But, we can always try increasing it. What if we had spotty cumulus clouds covering half the sky (cloud fraction = 0.5)? Or what if it were overcast? We might expect it to stay cooler during the day because the sun is being blocked out. But what about at night? Here are some results:
But, our intuition still tells us that more clouds should keep us cooler during the day. So what's wrong here? My guess is that while the model seems to be handling the impact of clouds on longwave radiation (the radiation emitted from the earth) well, it doesn't handle the potential blocking effects of clouds on shortwave radiation (radiation from the sun) well, if at all. This gives us a clue that we may want to fix something in the model.
Let's try experimenting with the final parameter, the Bowen ratio. This is a somewhat complex parameter that technically describes the ratio between sensible and latent heat emitted from the surface. What this is talking about (in simpler terms) is, out of all the heat being emitted from the surface, how much of it is being lost through evaporating water (latent heat) and how much is being lost through simply radiating away the heat (sensible heat). The AMS glossary gives typical values for this ratio:
- 5 over semi-arid regions
- 0.5 over grasslands and forests
- 0.2 over irrigated orchards or grass
- 0.1 over the ocean
Let's experiment with this value. Here in Seattle there are a lot of trees and water, so maybe the Bowen ratio is closer to, say, 0.5. But, on the other hand, this is a city with lots of pavement and buildings. Those surfaces seem like they'd be hotter (and wouldn't have a lot of moisture). So, maybe the Bowen ration is more like 2.0. Let's see what happens:
This was a very simple model, a "parameterization scheme", if you will. You can see that just by varying these parameters by a little bit, the results can change quite a lot. We also can use our intuition and knowledge about the way temperatures typically go to both identify flaws in the model (like how it's probably not handling the effects of clouds on shortwave radiation well) and try to estimate unknown parameters (like trying to pick the right Bowen ratio).
But I emphasize that this is a very, very simplified model over just one location. I mean, none of these parameters change throughout the run of the model and there is no advection--this model has no idea if a cold front moves through or if the day starts clear and ends cloudy or anything like that. And even in this simple model it's very sensitive to changes. Imagine trying to forecast temperature AND moisture AND winds AND pressure for thousands of points across the country. It's amazing that our models do as well as they do.
Hope you found this useful and not too boring. If you'd like a copy of the Python script I used to run this simple model, let me know...