The words *meteorologist* and *dependable* are seldom spoken in the same sentence. Most of us experience minor forecasting mishaps regularly–it sometimes rains a bit in my neighbourhood when the forecast says, “sun and cloud.” Other times I bring the raincoat only to find that it rains in parts of the city other than where I happen to be.

There is also the probability metric. What is one to do with 40% chance of rain? I have a great raincoat, but it is stifling in even a little bit of sun. Fortunately, and perplexingly, 40% seems to seldom result in rain, while 80% is a guarantee.

That being said, I do think meteorologists get a bad rap. They are, after all, depending on some hideously complex mathematical models to provide them with forecast information. In this article I hope to shed some light on weather prediction models for those who would like a bit more colour on this topic than you would typically find in non-scientific writing, while keeping the symbols and equations to a minimum—a challenge for sure, as the concepts underpinning weather prediction include advanced calculus, probability, systems of equations, numerical analysis, and chaos theory. But we are not trying to advance these mathematical models (which are still a topic of research (Durbin,2018)), understand their intricacies, or build software applications for weather prediction. So let’s dip our toes in. We can skim the surface of some of these topics to build an understanding of why the meteorologist has such a tough job.

##### Basic equations & Iterative equations

I expect that you are familiar with functions such as the equation of a straight line: y = m*x*+b, where m is slope, and b is the y-intercept. These equations are “explicit” – you know the exact value of y for every value of *x*. Many real-world equations, such as those that describe weather, are not so friendly. You can’t always directly calculate “*y*”, which might be the temperature in your city tomorrow afternoon.

Iterative equations are an example of these not-so-friendly equations. They describe a system where a variable of interest is dependent on prior values of that variable (such as how the current temperature outside is somewhat dependent on what it was an hour ago). Consider, for example, x_{n+1} = 2x_{n} + 1. You calculate a given value of x by multiplying the prior value by two and adding one. So, as long as you know the initial value, say x_{0}, then you can calculate other values by working your way through the sequence. We’ll come back to this with something more useful for our topic of discussion.

##### Many Equations to Solve Simultaneously

Mathematical weather modeling involves solving systems of equations – solving for many variables with multiple equations. Courses on this topic typically begin by illustrating an example with two equations and two unknowns, which, geometrically speaking, is the intersection of two lines (if you feel like reading further, Athabasca University’s Math 270 Linear Algebra course may be of interest). Consider the following set of equations:

Where, as you may recall, y_{1} and y_{2} are dependent on *x *and can be represented graphically as straight lines. We can solve this (that is, find the value of *x* such that y_{1} = y_{2}) algebraically by setting y_{2} = y_{1} and solving for x. I’ll skip the drama and tell you that x=3 is the solution. At this value of x, the values of y_{1} and y_{2} are both 7, as illustrated below.

In a weather model, the equations get more interesting (or ugly depending on your perspective!). Instead of the ubiquitous and abstract *x* and y, you would have temperature, pressure, wind speed, and humidity, among others.

“Big deal,” you say, “just a few ugly equations.” The challenge for weather prediction, as far as this section is concerned, is that it has to be built on a large scale (e.g. across a country, or global). There is no one single value of value of interest (e.g. temperature)—you have different values for different regions. Imagine the planet covered by giant cubes, or cells, with 1 km per side. Each cell is initialized with known values of interest, and the equations tell us how the cells interact with each other and how the values of interest change over time.

As our planet’s surface area is 510 million square kilometers, there are a lot of equations to solve, even for a computer.

So, there are a ton of equations to solve, but we have tools to solve them numerically (which is to say, approximately). So, why does the weather forecast a few days out change so much? Because small errors exist at the input of weather systems and are accumulated throughout numerical calculations. For ‘chaotic’ systems such as weather, these errors can result in outputs that are wildly different from the actual.

##### Chaotic Behavior & Sensitivity to Initial Conditions

There have been some epic weather forecasting failures that are rooted, at least in part, to chaos and probabilistic forecasting. In 2015 a giant snowstorm unexpectedly veered east of New York City where it was forecasted to land (Santora & Fitzsimmons, 2015). Similarly, in 2004, forecasters issued a flood watch (lowest level of alert) for Boscastle, UK. An unexpected storm formed locally however, when inland and coastal air masses converged, resulting in a powerful torrent of water that swept away cars and buildings (The Guardian, 2004). Chaos in the real world from chaos in math.

In mathematics, chaos is a term used to describe apparent random behavior while governed by deterministic laws. Chaotic systems, such as weather, exhibit an extreme sensitivity to initial conditions—change the input by a tiny bit from some original amount (or alternatively, if you had some error at the start) and very quickly you end up with an output that looks nothing like what you had without the error.

You don’t need a complex weather system to illustrate, a quadratic equation you would have seen in high-school or early university will suffice. Let’s consider the quadratic equation:

where r is a constant, and *x* is our familiar independent variable. Let’s create an iterative form of this equation by replacing *x* on the right hand side with *x*_{n}, and replacing *y* with *x*_{n+1}. Here, a given value of *x (*i.e. *x _{n})* is used to calculate the next value of

*x (*i.e.

*x*. This equation is used in wildlife population models (Veritasium, 2020), where

_{n+1})*x*

_{n }and

*x*

_{n+1}represent the population of interest in the current year and following year respectively. Weather models are similar in this aspect – the current temperature is used, with other values of interest, to calculate the temperature at some point in the near future, say, 1 minute from now and then 2 minutes from now, and so on.

Now with these changes our formula looks like:

Let’s give some examples of how this works. Starting with x_{1} = 0.02, with r = 2 for instance, we calculate x_{2} = 2(0.02)(1-0.02) = 0.0392, and then x_{3} = 2(0.0392)(1 – 0.0392) = .0753 approximately. If you are handy with a spreadsheet and you keep going you will see that x_{10} = 0.5 with *x* being stable from there (further iterations don’t change *x*). Different values of r can result very different graphs. With r = 3.2 for example, *x* toggles between two different values.

With r = 3.75, you obtain chaos. *x* doesn’t settle as it did with r = 2, and the graph that results is very sensitive to initial conditions. If you obtain a second graph by changing the value of our constant *r* by a tiny amount (representing for example a tiny error in the measurement of *r* – in this case we use an error of 0.000000001), it’s not long before the two graphs bear no resemblance to one another. As illustrated in the image, the graphs of these two curves initially overlap (as you would expect with such a small error), but they begin to diverge around the 72^{nd} iteration. By the 80^{th} iteration they look nothing alike.

And so it is with the meteorologist’s model: errors at the input (due to value approximation using ‘cells’, and because the inputs are truncated to a limited number of decimal places), and small errors in numerical calculations make it impossible (at this time at least) to produce an accurate 14 day weather forecast.

And there are still more sources of error. The equations used in weather models are complex, but they are simplified versions of the real-world physical equations.

##### Probability

Easy now, no talk of permutations or combinations or z-scores here! We discussed above how nonlinear systems can be sensitive to initial conditions, and attempts to forecast the behaviour of such systems can differ substantially with tiny differences in the input. To try and make up for this, an ensemble weather forecast is done—multiple simulations are run, each with a slight variation of its initial conditions. The result being a set of forecasts that present the range of future weather possibilities. If 40% of the simulations indicate rain in your town, then you have that value as your “probability of precipitation”.

I hope now having read this article that you have a more in depth understanding of the difficulty of accurate weather prediction. Perhaps you can forgive meteorologists for such failures, as well as the unreliability of their forecasts, especially a few days out or more. Of course one might ask why we think our climate models are reliable when we cannot rely on a two week weather forecast – I’ll leave that discussion for another time.