The Zambretti Forecaster is a weather forecasting tool in the form of a circular slide rule introduced in 1920. It claims to accurately predict near-term weather based on barometric pressure, the trend in the pressure (rising, steady, or falling), and wind direction. It relies on the fundamental meteorology of pressure fronts. Watch any TV weather forecast and you will see high- and low-pressure areas prominently displayed on the map. The boundaries between pressure areas are strongly associated with wind and precipitation. Additionally, high-pressure is usually associated with fair weather while low-pressure is associated with cloudy, rainy, or snowy weather.
The are many interesting things about the Zambretti Forecaster. First, there was no Mr. or Ms. Zambretti, rather, it was a trade name used by Negretti and Zambra, a famous London instrument-making company from the mid-19th Century through 1999. Second, there was a modern reproduction on sale in the mid-aughts of the 21st Century though it does not appear to be currently available.
Kevin Scott, Ph. D. has reverse-engineered the modern reproduction in very fine work reported at http://integritext.net/DrKFS/zambretti.htm. He derived an algorithm that is easily implemented in computer code.
Since the D1M-WX1 weather stations accurately monitor barometric pressure, it is easy to apply the Zambretti Forecaster technique to a ThingSpeak channel. My adaptation of Dr. Scott’s algorithm is provided below as a snippet for a MatLab visualization. To see this in action, open https://thingspeak.com/channels/286120. The Zambretti Forecast is at the bottom of the Current Values display.
Next steps:
- Consider including the rate of barometric change in the forecast.
- Track the Zambretti Forecast against weather service predictions.
- Publish a pdf with instructions for making your own Zambretti Forecaster.
MATLAB code snippet:
%{ Zambretti Forecaster by Karl W. Berger 08 October 2018 based on work by Dr. Kevin F. Scott https://integritext.net/DrKFS/zambretti.htm curSLP is the current Sea Level Pressure in millibars or hPa baroTrend is an index of the change in SLP over three hours: mb Indication baroTrend > 6.0 Rising Very Rapidly 4 > 3.6 Rising Quickly 3 > 1.6 Rising 2 > 0.1 Rising Slowly 1 > -0.1 Steady 0 > -1.6 Falling Slowly -1 > -3.6 Falling -2 > -6.0 Falling Quickly -3 <=-6.0 Falling Very Rapidly -4 }% risingIndex = 1; % set to baroTrend index for fallingIndex = -1; % determination of rising or falling zambretti = "Forecast"; % forces 'zambretti' to be a string if baroTrend <= fallingIndex %% FALLING %% if curSLP > 1045 zambretti = "A: Settled Weather"; elseif curSLP > 1032 zambretti = "B: Fine Weather"; elseif curSLP > 1020 zambretti = "D: Fine, Becoming Less Settled"; elseif curSLP > 1014 zambretti = "H: Fairly Fine, Showers Later"; elseif curSLP > 1006 zambretti = "O: Showery, Becoming More Unsettled"; elseif curSLP > 1000 zambretti = "R: Unsettled, Rain Later"; elseif curSLP > 993 zambretti = "U: Rain At Time, Worse Later"; elseif curSLP > 987 zambretti = "V: Rain At Times, Becomng Very Unsettled"; else zambretti = "X: Very Unsettled"; end elseif baroTrend >= risingIndex %% RISING %% if curSLP > 1025 zambretti = "A: Settled Weather"; elseif curSLP > 1016 zambretti = "B: Fine Weather"; elseif curSLP > 1009 zambretti = "C: Becoming Fine"; elseif curSLP > 1003 zambretti = "F: Fairly Fine, Improving"; elseif curSLP > 997 zambretti = "G: Fairly Fine, Possible Showwers Early"; elseif curSLP > 992 zambretti = "I: Showers Early, Improving"; elseif curSLP > 986 zambretti = "J: Changeable, Mending"; elseif curSLP > 980 zambretti = "L: Rather Unsettled, Clearing Later"; elseif curSLP > 973 zambretti = "M: Unsettled, Probably Improving"; elseif curSLP > 967 zambretti = "Q: Unsettled, Short Fine Intervals"; elseif curSLP > 961 zambretti = "T: Very Unsettled, Finer At Times"; elseif curSLP > 953 zambretti = "Y: Stormy, Possibly Improving"; else zambretti = "Z: Stormy, Much Rain"; end else %% STEADY %% if curSLP > 1028 zambretti = "A: Settled Weather"; elseif curSLP > 1017 zambretti = "B: Fine Weather"; elseif curSLP > 1011 zambretti = "E: Fine, Possible Showers"; elseif curSLP > 1003 zambretti = "K: Fairly Fine, Showers Likely"; elseif curSLP > 996 zambretti = "N: Showery, Bright Intervals"; elseif curSLP > 991 zambretti = "P: Changeable, Some Rain"; elseif curSLP > 984 zambretti = "S: Unsettled, Rain At Times"; elseif curSLP > 978 zambretti = "W: Rain At Frequent Intervals"; elseif curSLP > 966 zambretti = "X: Very Unsettled, Rain"; else zambretti = "Z: Stormy, Much Rain"; end end %% End of Zambretti snippet %%
You must be logged in to post a comment.