Monday, January 12, 2026

Early on January 13, 1964

Early on January 13, 1964

January 13 of 1964 was a Monday. To help put the times in perspective, the previous evening, Sunday, was four weeks before the famous first appearance by The Beatles on The Ed Sullivan Show. Their song I Want to Hold Your Hand was already climbing high on the charts. There were two big news stories in the northeast United States on that Monday morning. One story was the weather itself--a snowstorm, huge in areal extent and in amounts. The other story was weather related. A B-52 bomber with two nuclear weapons onboard had crashed during the very early morning hours in the mountains of western Maryland.

After completing its patrol mission(s), the B-52 had made an unplanned stop at Westover Air Force Base in Massachusetts. A fresh crew of five was dispatched on Sunday January 12 to ferry the bomber back to its home base in Georgia. The B-52 took off from Massachusetts shortly after midnight Eastern Standard Time (EST). The planned flight path (depicted on the first figure below) was northwest to Albany, New York, then southwest to Philipsburg, Pennsylvania, then south-southwest to Georgia. The cruise altitude was 31,000 feet. The path would take the plane briefly over Maryland, crossing the western panhandle about halfway between Grantsville and Frostburg. But near the Mason-Dixon line turbulence resulted in catastrophic damage to the tail of the plane. Four of the five crew members managed to bail out; two of the four survived. Much more information and memories are preserved at the Buzz 14 website (Buzz 14 being the flight's radio call sign).

I vaguely remember as a kid hearing about the B-52 crash. But on that Monday amidst the snow drifts (day off from school!) it seemed like the world ended a short distance beyond my neighbor's driveway. In the summer the mountains of Maryland were a little over an hour drive to the southeast. But in that winter wonderland the crash site in Maryland might as well have been in Siberia. I don't remember thinking about it again until I got into genealogy about 25 years ago. One branch of my family tree goes back to the early 1800s in Frostburg and points west (see my genealogy blog), and so I've repeatedly returned to explore that scenic historic area. Last May I stayed two nights at the Comfort Inn in Grantsville (actually a few miles east of the town) as a base for more exploring. Walking beyond the motel, I came upon Katie's Ice Cream stand. People travel to Katie's on Sunday evenings from far around to meet with friends. I invited myself to sit at a large picnic table by joking that it looked like the table for the elderly. The two couples sitting there had mostly finished their ice cream, so they did most of the talking while I ate my large strawberry sundae. It turned out that the one couple owns and lives on the land where the B-52 crashed. Though I missed an opportunity to ask to visit the crash site, I was more intent on getting a feel for where the four who bailed out had landed. Intriguing to me is that all four landed a few miles west of what appears to have been the final trajectory of the plane itself.

At the Buzz 14 website there is a somewhat redacted version of the Air Force accident report. The report includes weather information, but the weather charts are difficult to read since they appear to have been copied from the output of a facsimile machine. Also, the times of the charts are roughly six hours before and after the crash. I've accessed modern reanalyses of the old weather data, which provide a better perspective on conditions than what was available at the time. This particular reanalysis project has finer temporal and spatial resolution than previous reanalysis projects. The information from this one, the European Center for Medium Range Weather Forecasting ERA5 project, has become available only over the last few years for the earliest decades. Use of information from the project is governed by a Creative Commons license. Download of the gridded information is from the Copernicus Climate Data Store, specifically from their two datasets: ERA5 hourly data on pressure levels from 1940 to present; and ERA5 hourly data on single levels from 1940 to present (references at bottom of this post). I have used the python packages MetPy to process the information and Cartopy to display on maps. MetPy, in turn, relies on the python package Xarray to ingest the gridded information and Cartopy, in turn, depends in part on the python package Matplotlib to generate the plots. Before turning to the plots, I want to stress a few points by quoting from the ERA5 documentation (reference at bottom of this post; the emphasis here is mine). Data assimilation is a process whereby a model forecast is blended with observations to obtain the best fit to both the forecast and the observations, given the known uncertainties of both. The result is called an analysis (of the state of the atmosphere). ... The ERA5 data assimilation and forecasting system was used operationally for Numerical Weather Prediction in 2016.

The small table below is a reference for converting some of the available ERA5 pressure levels (millibars) to flight levels (feet).

250 mbar33,999 feet
300 mbar30,065 feet
350 mbar26,631 feet

The 31,000 feet flight level is a bit above the 300 millibar pressure level. In transcripts of communications with Air Traffic Control (from the accident report), the pilot of the B-52 had reported passing Philipsburg at 0613 UTC (1:13 a.m. EST). The last intelligible transmission from Buzz 14 was at 0637 UTC, a little past halfway between 1 and 2 a.m. The two figures below are plots of wind speed at 300 millibars for the reanalysis times 0600 and 0700 UTC (1 and 2 a.m. EST). (A wind speed of 140 knots is approximately 160 miles per hour.) There are only subtle differences from the one hour to the next. On the first figure I have plotted the planned flight path. On the second figure I have omitted the flight path, but included streamlines of the wind flow.

Returning to the accident report from 61 years ago, in the weather section of the flight clearance form, in the block for turbulence the weather briefer had entered, "MDT CAT VA + N.C." That is, moderate clear air turbulence Virginia and North Carolina. Looking at the location of the flight path relative to the jet stream, it's understandable why that area was a concern. In retrospect though, there were additional areas to be concerned about turbulence. The weather analysis section of the accident report concludes with, "... A maximum wind band peaking at 145 knots existed in the vicinity of Washington, D. C. at 30,000 feet. Wind shear probably accounted for the turbulence encountered." When I first read this I imagined that the wind band referred to was one observed/analyzed 6 hours before or after the accident. But I now suspect that this statement was based on aircraft reports over DC near the time of the accident. Certainly the reanalysis, especially for 2 am EST, supports the existence of a wind band over DC. But it's not over south-central Pennsylvania, at least not at 30,000 feet, not 145 knots.

There was a snowstorm down below. Before continuing with what the reanalysis provides as a best guess for details in the vicinity of western Maryland, I want to look at the bigger picture by stepping back 62 years. The National Oceanographic and Atmospheric Administration has for many years produced a product for weather afficionados, not just meteorologists. The U.S. Daily Weather Map is actually 4 or 5 maps arranged as panels on a single sheet, with the largest panel being the national (continental US) surface map. The NOAA Library has an archive of Daily Weather Maps. The one for this Monday can be downloaded from that site by searching for the date group 19640113. It is a large pdf file, but very readable. I have cropped from the pdf a section of the surface map. The quality of this jpeg image is not as good as the pdf, but still mostly readable, at least if you click to see the image at the original size. It happens that in those years the surface map provided on the Daily Weather Map was for early in the day in the East, at 0600 UTC. So this is the surface map for 1 a.m. EST, near the time of the crash.

Not all available surface reporting stations can be plotted on a map at the national scale. But it happens that Philipsburg in central Pennnsylvania, a turning point for the path of the B-52, is plotted on this map. The temperature at Philipsburg was 8 degrees Fahrenheit. The accident report from 61 years ago provides observations for both 0600 and 0700 UTC from two surface reporting stations not on this map but closest to the crash site at about the same latitude: Morgantown, about 50 miles west, and Martinsburg, about 60 miles east, both in West Virginia. Morgantown's temperature was 15 degrees, with moderate snow at 1 a.m. increasing to heavy snow at 2 a.m. Martinsburg had 13 degrees with light snow, blowing snow and fog at 1 a.m., increasing to 14 degrees with moderate snow and fog at 2 a.m. At first glance this map might appear to be the beginning of a transition that happens often with snowstorms in the East. An initial low west of the Appalachians gives way to a rapidly intensifying low along the coast. But that happens when the surface coastal low couples with the upper air low. In this case the upper air low was still far to the west. Eventually there was a coupling, but not until about 6 hours after this time. At this time the two sea-level-pressure lows should be seen as marking the location in the lower atmosphere of a trough of low pressure extending east-west across most of the width of the map. To the north of this trough Arctic air was in place near the ground on both sides of the Appalachians.

The persistence of the east-west trough resulted in heavy snow over a broad area. There is a panel on the Daily Weather Map that summarizes precipitation, and on it snow cover is analyzed with contours for 1 inch and 6 inch depths. But the snow cover analysis is for 7 a.m. on the previous day; the snow cover analyzed on the 19640113 Daily Weather Map is actually for the previous morning. To see the consequences of this storm, it is necessary to view the 19640114 Daily Weather Map. There the snow cover analysis (for Jan 13 at 7 a.m. EST) has an area with depths greater than 6 inches covering most of Pennsylvania, and extending from there in two broad lobes, one southwest along the Appalachians and the other west to Saint Louis. But that analysis does not do justice to large areas that exceeded one foot of new snow. For example, I've focused on an area roughly inside a triangle defined by lines from Cumberland, Maryland, west to Morgantown, then north to Pittsburgh, and then southeast back to Cumberland. This area includes the crash site as well as where I grew up. I've downloaded for this area original reports from the Cooperative Observer Network. All of the stations that measured snow depth reported 12-16 inches of new snow from about noon on Sunday to about mid-morning on Monday. At lower elevations it was all new snow. At higher elevations it was on top of 6-8 inches already there Sunday morning. (The stations made their observations once a day, some in the morning, some at noon, some at 5 p.m. But they also indicated start and stop times for precipitation. The snow continued during the day on Monday, but became lighter and more off and on. The observer at Donora, south of Pittsburgh, helpfully added remarks for Sunday evening and Monday morning: 9 p.m. 6" snow, roads bad; 9 a.m. 16" snow, roads bad. At 5 p.m. Monday he measured 1.48 in. melted snow.) Such large amounts of snow over such a large area required considerable transport of moisture from relatively warm maritime areas. The Arctic air was too cold to hold much moisture, and the surface winds were too weak to transport much moisture to the west. There must have been something different happening above the surface.

Armed with that diagnosis of what had to have been, I'm now prepared to show and defend a vertical profile of the reanalysis data for a point a bit north of the crash site and near the flight path. The reanalysis information is provided on a grid with horizontal spacing of 0.25 degrees in both latitude and longitude. I've selected the point at 39.75 degrees north latitude, 79.0 degrees west longitude for this vertical profile (I'm using the phrase vertical profile to distinguish from a sounding observed by balloon-borne instruments.).

The diagram above was generated by the python package MetPy, and though the diagram is familiar to meteorologists, I'll explain since there may be non-meteorologist readers. Ignoring for the moment the red and green lines and the horizontal scale, the vertical scale on the left is pressure in millibars (aka hectoPascals). The vertical scale is logarithmic in pressure, because that makes height nearly linear. Jumping to the extreme right side, wind barbs are plotted at the pressure levels provided by the reanalysis. (I've omitted wind barbs for two pressure levels near the ground.) For now we'll focus on the winds in the upper atmosphere. The wind plotted at 300 mbar (hectoPascal) is southwest at 100 knots. Each solid pennant on a wind barb is 50 knots. (If you want to approximately locate 39.75N, 79.0W on the first map above, the one with the 300 mbar wind speeds, consider that this point is close to the flight path, and that the color bar for that map transitions from yellowish to orange at 100 knots.) According to the reanalysis there was in fact vertical wind shear at this point, from 60 knots at 350 mbar to 100 knots at 300 mbar, then to 130 knots at 250 mbar. So that's 40 knots of shear in the lower layer (100 minus 60), and 30 knots of shear in the upper layer (130 minus 100). But that is not the whole story when it comes to clear air turbulence. We also need to consider how temperature changes with height. And that requires dealing with the horizontal axis on the diagram.

The horizontal axis is labeled with temperatures in degrees Celsius. Lines of constant temperature are not vertical; instead those isotherms are skewed to the right. For that reason this diagram is called a Skew-T diagram. Temperatures in the troposphere ordinarily decrease with height quickly enough that the temperature profile still tilts significantly to the left (as it does in this profile for the layer from 700 mbar to 350 mbar; red is temperature and green is dewpoint temperature). When the temperature actually increases with height (as it does in this profile for the layer from 900 mb to 700 mb) the profile tilts significantly toward the right. The diagram being designed with skewed isotherms has the effect of fanning out the contrast between tilts. The increased contrast extends to more subtle changes. In particular for this profile, in the upper atmosphere the tilt for the red line in the 350 to 300 mbar layer is slightly more to the left while the tilt in the 300 to 250 mb layer is slightly less to the left. These two layers are the ones discussed in the previous paragraph as the lower layer and the upper layer. Diagnosing let alone forecasting turbulence is problematic. Nevertheless, the lower layer might be more likely to produce clear air turbulence, while the upper layer, because the temperature does not cool as rapidly with height, might eventually tend to dampen whatever turbulence was propagating up from below. We know from the accident report that the pilot of the B-52, finding that the intensity of turbulence had increased to moderate at the cruise level of 31,000 feet, received permission and began a descent from 31,000 to 29,000 feet. But on passing 30,000 feet the pilot reported we're still in it, and he transitioned to a climb, intending to go to 33,000 feet. (But it was too late.)

Continuing with the discussion of the vertical profile, and shifting attention to the lower part of the diagram, again I'll temporarily ignore the red and green lines by focusing on the winds plotted on the right. The reanalysis grids are provided at a vertical spacing of 25 mbar from 1000 to 750 mbar. To reduce the clutter I have omitted from the plot the winds at 925 and 875 mbar. These are the first and the third reanalysis pressure levels above the surface. (The model surface pressure is 932.9 mbar. The actual topography in the area ranges from about 2000 feet in the lowest valleys to a little over 2800 feet on most ridge tops.) Since the wind barbs are still difficult to read, here are the details as text. The model's surface wind is from the east at 13 knots, and basically the same at 925 mb (not plotted). The wind remains from the east at 900 mbar but starts to veer at 875 mbar (not plotted), at speeds of 42 and 47 knots. From 850 to 750 mbar the wind continues to slowly veer, overall from the southeast, at speeds of 47 to 48 knots (close to 55 miles per hour). Finally at 700 mb the speed is reduced to 43 knots (rounds up to 45 knots in the plot) and the direction has veered enough to have a slight component from the west. I know nothing about parachutes and descent rates, but I imagine that if the actual winds were something like these reanalysis winds a crewmember's landing point might be displaced a few miles northwest from where he ejected from the plane.

Before conjecturing about how the temperature and dewpoint profile near the middle of the atmosphere may have had an impact on turbulence at higher levels, I will first look at information from the ERA5 dataset titled hourly data on single levels. One particular single level is the surface of the earth, where there are many model parameters (including the surface data plotted on the diagram above at 932.9 mbar). Some of the parameters at the surface are various forms of precipitation. The reanalysis model produces large scale precipitation. But it is assumed there could be convective clouds as well, smaller than the model grid. Their presence is diagnosed from the large scale parameters on the 3D model grid, and then the effects of the convective clouds are fed back to the large scale. The ERA5 reanalysis provides for each hour a parameter Convective snowfall, an accumulation over the previous hour. Below I have plotted the reanalysis convective snowfall for the hour in which the crash occurred.

This snowfall is in addition to the large scale snowfall, which in the reanalysis for this time was heavy to the northwest, and was light to moderate over a much broader area (roughly consistent with the Daily Weather Map surface analysis). In the model the convective band was moving northeast. I recognize that this is only one of many possible ways that convective bands of snow could have organized. But it is an indication from the reanalysis that the actual three-dimensional flow in the middle levels of the atmosphere might have been creating conditions for convection to thrive near the western Maryland panhandle. With that possibility in mind, it's time to turn back to the temperature and dewpoint profiles in the lower and middle parts of the vertical profile diagram.

On the vertical profile sometimes the plotted points of the green line (dewpoint) lie slightly to the right of the red line (temperature), indicating relative humidity exceeding 100 percent. Not knowing all the details of the parameterizations and adjustments and interpolations in the model, I don't know whether this is a feature or a flaw. Regardless, the message is that the reanalysis atmosphere is approximately saturated (100 percent relative humidity) from the ground to 350 mbar. In fact much of the atmosphere north, south, east and west of this point is approximately saturated through the same layer. Whatever complex 3D trajectory a particular air parcel had traveled over the previous day or two, it has now arrived at 700 mbar with a temperature of -5.6 degrees Celsius and a relative humidity of about 100 percent. We can by following lines I have omitted from the diagram (or by calculating) determine that this air parcel at 700 mb has the same bouyancy as if it had started at sea level with a temperature and dewpoint of about 53 degrees Fahrenheit. We can also determine that if this parcel were to be lifted to 350 mbar, it would follow a path close to but a little to the left of the red and green lines, and would arrive at the 350 mbar level with a temperature only about 2 degrees Celsius colder than the plotted temperature. Within the model's 0.25 by 0.25 Lat/Lon grid rectangle, pockets of air slightly warmer than the average at 700 mbar and/or slightly cooler than the average at 350 mbar would lead to convective clouds.

It would be nice to have a radar summary chart from 62 years ago. A radar site may have detected convective clouds and provided radar-diagnosed cloud tops. Lacking observations, my guess is only speculation, relying on the reanalysis scenario of the last figure. After making the turn at Philipsburg there would have been a few convective clouds below. Occasionally a convective updraft may have extended to 30,000 feet before dissipating. The updraft-generated turbulence might have propagated up to 31,000 feet. There would be a bump, then relatively smooth again. Approaching the Maryland panhandle the bumps would have become more frequent, and some of the updrafts below may have been more intense. The turbulence generated by the updrafts would have been augmented by that associated with the higher wind speed at 300 mbar. Descending toward the convective cloud tops would have been the wrong direction.

ERA5 References

Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz-Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., Thépaut, J-N. (2023): ERA5 hourly data on pressure levels from 1940 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS), DOI: 10.24381/cds.bd0915c6 (Accessed December 2025)

Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz-Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., Thépaut, J-N. (2023): ERA5 hourly data on single levels from 1940 to present. Copernicus Climate Change Service (C3S) Climate Data Store (CDS), DOI: 10.24381/cds.adbb2d47 (Accessed January 2026)

Bell, B., Hersbach, H., Simmons, A., Berrisford, P., Dahlgren, P., Horányi, A., Muñoz-Sabater, J., Nicolas, J., Radu, R., Schepers, D., Soci, C., Villaume, S., Bidlot, J-R., Haimberger, L., Woolen, J., Buontempo, C., Thépaut, J-N. (2021): The ERA5 global reanalysis: Preliminary extension to 1950, Quarterly Journal of the Royal Meteorological Society, Volume 147, Issue 741, October 2021, Part B, Pages 4186-4227. Available from: https://doi.org/10.1002/qj.4174

Documentation web page, accessed December 2025.

Model Physical Processes web page, pdf downloaded December 2025.

Sunday, May 25, 2025

The Term Heat Dome

Having not been paying attention, I only recently realized that three years ago the American Meteorological Society added the term Heat Dome to its Glossary of Meteorology. The Glossary entry was edited just last October, and so I guess that explaining the term is still a work in progress. The last sentence of the Glossary entry reads, The term "heat dome" has been popularized by the news media as a way to explain extreme heat and/or drought events across large regions. Yes, I've noticed that. Not just news media, but meteorologists and other scientists often provide Heat Dome as an answer to the question, Why is it so hot? But take away the obfuscation and that answer is like saying It's hot because it's hot. Reasonable follow-up questions would include: Well, why is this heat dome where it is now? Why doesn't it go somewhere else for awhile? Why does it keep coming back here? Are heat domes new? Or have they always been around? Are Heat Domes more frequent now?

Hot air temperatures at the ground need to be accompanied by high pressure aloft, i.e. near the middle of the atmosphere. This is required by hydrostatic stability. (Hot air being less dense than cold air, pressure decreases slowly with height.) The hot temperatures at the ground and the high pressure aloft are two different ways of looking at the same thing. Here is an example from sixty years ago, at 6 p.m. Central Standard Time on July 23, 1965. (This 500-mbar chart was clipped from the NOAA Library online collection of U.S. Daily Weather Maps, link 19650724).

High temperatures on this July 23 included 102 F at Wichita and 99 F at St. Louis. The closed contour around the 500-mbar high is labeled 19500 feet, roughly equivalent to a 5940 meter contour on a contemporary chart.

The high pressure aloft need not be a high center; a broad ridge of high pressure is enough. Below is another example, from a few years after the previous one. This one is at 8 a.m. Eastern Daylight Time on June 6, 1968.

High temperatures on this Thursday, June 6, included 92 F at New York and 88 F at Washington. This was the week of the RFK assassination. By the time of the funeral on Saturday, June 8, the high center at 500 mbar had shifted east into the Atlantic, but from there a broad ridge of high pressure extended northwest over the mid-Atlantic states. High temperatures that Saturday included 88 F at both Philadelphia and Washington. At least one report from among the crowd watching the funeral train pass near Philadelphia described the heat as sweltering.

So do either of these meteorological aspects of my childhood memories qualify as a Heat Dome? As can be seen in the preceeding paragraphs, my preference is for the phrase High Pressure Aloft. Fans of the term Heat Dome apparently restrict that term to certain categories of High Pressure Aloft. Seven years ago in a blog post here I objected to Category Labels being treated as Distinct Things. That was before Heat Dome became a thing. Explanations of Heat Dome as a thing in some cases endow the thing uniquely with a mechanism that sounds something like a wine press, as if subsidence was a consequence rather than a cause of the warm air aloft.

If areas of high pressure aloft associated with hot temperatures at the ground are becoming more frequent, even as areas of flooding become more frequent and devastating, I think the natural explanation would involve the up-moist, down-dry process proselytized by Professor William Gray. In the second example above, on the morning of June 6, 1968, tropical storm Abby was moving slowly near the Atlantic coast of Florida. Abby had briefly become a hurricane, but mostly had remained a tropical storm. Nevertheless heavy rain was falling over Florida on June 6, and on later days north into Georgia and the Carolinas. So there was a lot of up-moist over the southeast United States and adjacent Atlantic and Gulf of Mexico. It's easy to imagine that at least some of the compensating down-dry was over the mid-Atlantic States, where subsidence warming would have counteracted radiational cooling in the vicinity of the high pressure aloft.

Monday, March 24, 2025

Tucson Winter Precipitation, Update 2025

Periodically over the last fifteen years I've posted here updates about Tucson's Winter Rain totals. All of those posts can be viewed together under the heading Winter Rain on the right. Please see those earlier posts for additional discussion about the format and content of the scatterplot below. Here I'll just reiterate my contrarian definition of winter in Tucson as being the five months November through March, instead of the conventional meteorological three month winter of December through February. Either way this past winter in Tucson was very dry. The most significant precipitation events during the five-month winter came in early November and mid-March, and those brief "shoulder month" storms were very wintry, with cold rain in Tucson followed by panoramic views of mountain snow cover. The Tucson Airport recorded a total of only 0.86 inches of precipitation for the five months, with only a quarter inch of that from the middle three months.

The last time a five-month Tucson winter was this dry was fourteen years ago, during the moderately strong La Niña winter of 2010-2011 (unlabeled black square near the lower left corner of the plot). Over the last seven years we have had four La Niña winters (unlabeled 2020-2021 and 2021-2022, along with 2022-2023 and 2024-2025, labeled 23 and 25), one strong El Niño winter (2023-2024), one weak El Niño winter (2018-2019) and one winter that straddled the threshold between neutral and El Niño (2019-2020).

This time last year, as the strong El Niño was winding down, models were predicting continued rapid cooling in the critical 3.4 area of the equatorial Pacific, heading toward a moderate La Niña by winter, something like what happened in 2010. But that large swing did not happen in 2024. Instead, ocean surface temperature anomalies in the 3.4 area stalled in the neutral zone for months. Finally in December 2024 the La Niña threshold was barely crossed. (See the ONI section of the CPC's weekly ENSO update). Now in late March the 3.4 anomaly has already crossed back into the neutral zone. Nevertheless, total rainfall in Tucson for the 2024-2025 winter was near the bottom of the historical range for a weak La Niña (over a period of 76 years). For what it's worth, model predictions into the beginning of next winter are keeping the ONI in the neutral zone, drifting back toward the cold side of that zone.

The next post here will be about heat, and not just in Tucson. But that will wait until summer heat is closer, probably around mid-May.

Monday, June 3, 2024

Clarification of Monsoon 2024 Outlook

This is not a clarification of my own outlook, which I haven't comitted to (yet), but a clarification of reporting about other outlooks. On the weekend of June 1-2 the Tucson paper published online a story headlined, 2024 Monsoon outlook: Hotter, drier summer in Tucson.

The story repeatedly refers to something it calls the National Weather Service 2024 Monsoon Outlook, which the story says was newly released last week. I'm not familiar with such a product, but stand ready to be educated. I'm guessing that most of the time the reporter is summarizing and interpreting Climate Prediction Center three-month outlooks for Jun-Jul-Aug and Jul-Aug-Sep. I'll comment more about this later.

The fourth paragraph of the Tucson story reads,
Last year was the 17th-driest monsoon across Arizona since 1895, according to the National Weather Service 2024 Monsoon Outlook. Tucson received only 4.73 inches of rain in 2023 or .96 inches less than average, National Weather Service records show.
There's that mysterious (to me) Outlook reference again. Last year's 4.73 inches was the 39th driest in Tucson since 1895 (NWS Tucson -> Monsoon -> Monsoon Stats -> scroll to "Haywood plot"), a far cry from 17th driest. My impression of last year's monsoon in Tucson is in line with how it was summarized by azcentral. After they reported how dry Sky Harbor airport had been during the 2023 monsoon, they wrote:
As a whole, the deviation from the norm for Tucson is not that negative. A typical season usually produces around 5.7 inches of rain for Tucson's airport, coming mainly in July and August. This was mirrored in 2023, as the prime months brought 2 and 2.39 inches, respectively, making up for a zero in the June column and a lackluster September.

It's important to remember that the Climate Prediction Center issues outlooks that provide probabilities for three categories: bottom 1/3, middle 1/3, and upper 1/3. Last year's Tucson monsoon coming in at 39th driest since 1895 puts it in the bottom 1/3 (i.e., 1895-2023 = 129 years, bottom 1/3 = 43 driest years). The current CPC Jun-Jul-Aug outlook tilts the odds just slightly toward the bottom 1/3 (33-40% chance), which leaves 60-66% chance for either middle one-third or upper one-third. The CPC outlook for Jul-Aug-Sep is a little more pessimistic, but still leaves a 50-60% chance for either middle one-third or upper one-third.

I agree with two quotes in the Tucson news story from Michael Crimmins: ... forecasting the monsoon is incredibly hard and ... the summer impact of La Niña on the monsoon is actually quite weak.

My bet, or maybe it's just wishful thinking, is that above normal temperatures that are expected to persist over New Mexico will instead by July have shifted a bit toward north Texas. The circulation around the southwest side of the associated upper-air area of high pressure (what media have taken to calling a heat dome) would favor squall lines on several days sweeping across Tucson during the afternoon and early evening, effectively squeezing out available moisture. That's a pattern that has been lacking in recent years, but it's due.

Monday, April 1, 2024

Tucson Winter Precipitation Update

Starting almost 14 years ago I have been periodically posting here a figure similar to the one below. Last year at this time we had just come out of three straight La Niña winters. Now it's time for the scatterplot to incorporate this past winter, which was dominated by a strong El Niño.

Last year's update was the first in a few years, so in that post I reviewed my reasoning about what is plotted in the figure. Please see last year's update for a more complete discussion. The reason I use a 5-month winter for Tucson is that even in a wet winter an entire month can be well below average, and conversely for a dry winter. It's better in El Niño winters to take note of 4 out of 5 wet months, instead of focusing on mid-winter and so sometimes discounting a precipitation total that results from combining only 2 wet months with 1 dry. As it turns out for this past 5-month winter it was November that was the dry month. A wet March made up for November. So for this past season in particular the net impact of broadening the definition of winter from 3 to 5 months was a wash.

On the horizontal axis, the ONI is a number calculated monthly as an objective way to summarize the status of ocean temperatures in a critical part of the tropical Pacific. Since the calculation is a running mean, the most recent value lags by a month. There is also a persistence requirement, as explained by the Climate Prediction Center in their weekly updates. Generally a value greater than 0.5 means El Niño conditions are present, while less than -0.5 is La Niña. This past winter the ONI edged up to 2.0 in December before dropping back to 1.8 in January. See my last update a year ago for more discussion about what I have plotted here. Though the ONI for this month (April) will probably still be in El Niño territory, model outlooks have it falling rapidly to below -1.0 by this October.

The TUS 5-month total precipitation for this past winter was 6.16 inches, which makes it the wettest winter in 26 years, and ranks it 11th wettest of the last 75 years (i.e., of the 5-month winters 1949-1950 through 2023-2024). Last fall, even though an El Niño of moderate (ONI > 1.0) or strong (ONI >1.5) intensity was expected for the 2023-2024 winter, for the West a minority contrary forecast had a near normal outlook for winter precipitation, apparently based on giving maximum weight to recent trends (subsequent to the 1997-1998 winter). Now that the winter of 2023-2024 is a fact, the underperforming winter of 2015-2016 looks even more like an outlier, not part of a new trend.

Saturday, July 29, 2023

Severe Thunderstorm Views, July 28

At 556 pm MST on Fri Jul 28 2023 the National Weather Service issued a severe thunderstorm warning covering much of the Tucson area. The storm was located at the time over Sabino Canyon Recreation Area. The warning stated cell movement as southwest at 15 mph. My place is about 7-8 miles due west of the recreation area. (At the time I only heard a radio host's summary; details of the warning looked at much later.) It was about 6:10 pm before I heard thunder and went out on the patio to take a look. Then it took another 5 minutes to realize that I should go back in and get my phone to take some pictures.

The format for the image captions is MMDDHHMMSSPM. MST is GMT -7H. The thunder was coming from the anvil overhead. Maybe I was too far away and it was too bright, but I never noticed any cloud-to-ground lightning. The bright white blob on the right screamed hail. I quickly realized that the action was shifting south. The remainder of the images are looking southeast.

There were widespread reports of inch or more diameter hail on Tucson's east side.

And 60 mph wind gusts at both airfields on the distant right.

Awesome arch of darkness.

On going outside at 6:10 pm I was still in the excessive heat northwest wind. By 6:20 there was occasional moderately buffeting outflow and a few drops of rain. Later about 10-11 pm a secondary band of showers moved through, but for the entire evening I received only 0.01 inch of rain.

Monday, March 27, 2023

Tucson Precipitation, Update for the Last Three Winters

Starting almost 13 years ago I have been periodically posting here a figure similar to the one below. Newer versions of the figure incorporate recent years and occasional refinements. The last update was three years ago, so it's now time to add three more winters.

Since it has been awhile, I'll review my reasoning about what is plotted here. Why November through March? In any winter there are always periods of both wet and dry weather patterns. Though some patterns may be fleeting, others may persist for the better part of a month. A three-month winter could equally end up wet-dry-wet, or dry-wet-dry. I think that five months is a better window for capturing the overall winter. Since on average the months of November and March in Tucson are each drier than any of the other three months, in most years it matters little. But when it does rain in Tucson in those edge months, it is basically a winter pattern. Whatever those two months produce, I think their results deserve to contribute to the winter as a whole. So the vertical axis is Tucson Airport precipitation totaled for five months. Before turning to the horizontal axis, notice that the data point for this past winter of 2022-2023 is labeled 23, corresponding to the end of the five-month period, also to the year in January, the middle of the five-month period. That is what I use to categorize the winters by decade. Selected years are also labeled.

The Climate Prediction Center (CPC) issues a weekly update presentation on ENSO, with each update providing, among many other things, an explanation of and discussion about the Oceanic Niño Index (ONI). Summarizing, the calculation of ONI starts with a climate-adjusted dataset of monthly ocean surface temperature anomalies for a key area of the tropical Pacific. These monthly anomalies are averaged over three months (i.e., the January ONI is an average of the anomalies for the months of December, January and February), and then the ONI is defined to be that average rounded to one decimal place. I've repeated the three-month averaging calculation, but since I've rounded to two decimal places, same as the input dataset, technically what I have plotted is not ONI. The difference amounts to no more than the width of a plotted marker. Notice for the dry winters of 2020-2021 and 2021-2022 (unlabeled, cyan-diamond) the horizontal positions of their markers, plotted here with their (pseudo) ONI value rounded to two decimal places. For both years the January (DJF) official ONI rounds to -1.0.

The expectation that La Niña would rapidly diminish toward the end of this past winter was already well forecast at the beginning of last fall by a consensus of dynamical models. Back then it was already clear that the upcoming winter's La Niña was not going to be the same as the previous two winters. This year's ONI for January (DJF) was down to -0.7. The ONI for February (JFM) is not yet available, but will probably be close to the -0.5 threshold. Barring significant amounts of precipitation during the last two days of this month, the five-month winter of 2022-2023 ranks 23rd wettest among the last 74 winters. The decade of the 2020's, even with the two dry La Niña years, is/will be off to a good start (compared to, for example, the decade of the 2000's). There's every reason to expect that next winter's precipitation will be at least near normal, and maybe even above normal again.

Thursday, September 29, 2022

La Niña Nonsense

La Niña itself is not nonsense, nor is the fact that as of Sep 8 La Niña conditions are observed in the tropical Pacific and expected by the National Weather Service Climate Prediction Center to continue through the upcoming Northern Hemisphere winter.

What has been nonsense over the past 2-3 weeks is news coverage of supposed consequences of that expectation. An egregious example appeared in the Tucson paper on Sunday. The article was headlined Another La Niña could be more bad news for the Colorado River. The article quotes two experts. I'll call them Expert 1 and Expert 2. Their views are presented somewhat as a debate. Expert 1 enthusiastically supports the title of the article while Expert 2 says, Some La Niña years have produced near normal or above normal flows while others have seen much below normal flows as we have seen the last two years. So an objective title for the article would have been Experts disagree on whether another La Niña could be more bad news for the Colorado River.

The National Weather Service Climate Prediction Center (the newspaper article links to the same web page that I have linked to above; hereafter CPC) as of Sep 8 quantifies their expectation of a continuation of La Niña conditions as a 91% chance from September through November, decreasing to a 54% chance in January-March 2023. The newspaper article provides those CPC numbers, but misrepresents the probabilities, which actually apply to something the CPC defines objectively. Ocean surface temperature anomalies are determined for a specific portion of the equatorial Pacific, lying roughly south through southeast of Hawaii. There is averaging over time and space to generate a single number. There is an arbitrary threshold, and an additional requirement for duration. The result is an objective answer: La Niña conditions, or not. But the newspaper article describes the 91% and 54% probabilities as chances of a La Niña weather pattern dominating the Northern Hemisphere.

I think of Northern Hemisphere winter weather patterns as rolls of the dice. Pacific Ocean temperatures and associated tropical weather patterns load the dice. If I were to literally roll a single dice (die) once every 15 days this coming winter, I might expect that by the end of the winter each side would have come up once: {1, 2, 3, 4, 5, 6}. Of course by dumb luck one or more sides might come up more than once this winter. Over the long run, if I repeat the experiment every year for many years I would expect the average roll to be 3.50. But let's say I have a second dice loaded in a way that makes it impossible for it to land with the 6 facing up. A potential 6 result will always be turned into a 1. So the set of expectations will be {1, 1, 2, 3, 4, 5}. Over the long run the average roll with the loaded dice will be 2.67, not 3.50. Does that mean that roll 1 dominated the winters when I used the loaded dice, or that I would call each 1 in those years a loaded result? No, because one of the 1's would have happened anyway, and most of the time I still rolled a 2, 3, 4 or 5.

I expect there are people who will subjectively determine that the Northern Hemisphere midlatitudes this fall-winter will have been dominated by a La Niña weather pattern, no matter how the dice turn up. I have no idea how one would determine such a domination objectively, which would allow for a precise probability forecast calculated from historical data. I do know that the CPC issues probabilistic seasonal outlooks for precipitation. As I understand their discussion about those outlooks, they routinely adjust the historical data for recent trends, and that would mean they are somewhat siding with Expert 1 in the newspaper article (i.e., in effect, never mind that some La Niña years have produced above normal flows, look at the last two years with much below). But even with weighting toward recent trends, the CPC is predicting equal chances for the three categories (below-normal, near-normal, above-normal) for western Wyoming for Oct-Nov-Dec 2022, with that equal chances outlook expanding to cover much of the rest of the upper Colorado Basin for Dec-Jan-Feb 2022-2023.

In summary, how would I quantify the word could in the newspaper headline's phrase could be more bad news? I would say more than 50% (where 50% would be "could be bad, could be good") but less than 60% (much less than the tone of the newspaper article). That's based in part on the fact that the 54% chance of La Niña conditions continuing into January-March 2023 is effectively a 46% chance of a return to neutral conditions by then.

Monday, May 2, 2022

Viewing Blend Output

Viewing Blend Output

The National Weather Service provides public access to output from its National Blend of Models. I use the page at NOMADS. There, after selecting directories first for the latest date and then for the latest hour (UTC; latest hour becomes available near the end of that hour or a few minutes into the next hour), I select the "text" directory. Then (using Safari browser) I control-click->Download_Linked_File for whichever file(s) cover(s) the period of interest. In NBM terminology: h=hourly (1 day), s=short-range (3 days), e=extended-range (7 days), x=super-extended-range (8-10 days). Each file takes about 20 seconds to download. Meanwhile I've moved on to other web browsing. Later, offline, in the Terminal application I use the following little shell script to peruse one station at a time.

#!/bin/zsh
# The first $1 is the station identifier, which needs to be provided as an argument to the script.
# The second $1 is the beginning of the awk range pattern, looking for "sta" in field number 1.
awk -v sta="$1" '$1 ~ sta, /SOL/ ' IGNORECASE=1 Downloads/blend_nb[hsex]tx*

The IGNORECASE variable is recognized by the GNU version of awk, installed using Homebrew overriding the pre-installed awk. The setting can be removed for portability, but then one has to remember to capitalize the station (i.e., ./myb DMA vs. lazier fingers ./myb dma).

A list of available stations can be searched here. A complete key to the text bulletins can be found here.

Tuesday, November 23, 2021

Update on Technical Details

Three months ago, during an extended break in the monsoon, I wrote here Technical Details As Acknowledgements. Much of that post was about the process of installing free software, which I've been using for a variety of things, including producing custom weather maps on my MacBook. One motivation for providing information about the process was that lessons learned might be helpful for anyone interested in doing something similar with various Python packages. Another goal was to acknowledge the effort that people put into making these software packages work and remain freely available.

Most of the details from three months ago remain relevant. A few things have changed, and I'll incorporate those changes into a description of the process starting from scratch on a new MacBook. I had been limping along on a MacBook Air that I bought almost eight years ago, cheaply at the time as a refurbished unit. But recently I succumbed to temptation and bought a new one, which is equipped with a processor chip in the Apple M1 family, known as Apple Silicon, but also as ARM to distinguish from Intel.

I had been reading online discussions about M1, and based on advice in those discussions I expected for now to be able to get only so far with installing things natively on the new Macbook; for some things I would need to keep using my old Macbook. Some online posts advised running Intel versions of software through Apple's Rosetta 2 transition program on the M1 machines. Some recommended that the only hope for doing things natively was to use one of the Conda packages. Those other online recommendations may have been true a few months ago, but it is not so now. Everything that I had been using is now running natively on my new M1 Macbook, with no need for a middle-man software manager like miniconda. (Homebrew is of course a middle-man, but it is much closer to do-it-yourself.) It's time to shut down the eight-year-old Macbook for good.

I have my apple ID registered as a developer. It doesn't cost anything to do just that. That allows me to download the latest versions of Xcode and the Command Line Tools from http://developer.apple.com/downloads/more. Xcode downloads as an .xip file, and the CLT as a .dmg file. To start the install process for either one, double click. It's my understanding that only the CLT are needed by Homebrew. But I always download the latest version of Xcode as well because I need it for a few small stand-alone programs. I always do a separate install of the CLT after installing Xcode, and that seems to ensure that the Homebrew formulas find the CLT in the expected place.

Once again here is the Homebrew installation instruction web page. After completing those instructions on the M1 Macbook, I did brew install gcc and then brew install python@3.9. If either of those failed, there would be no point in trying to go farther. But everything installed natively and automatically with no problems, including several dependencies for each. I then did brew install geos and brew install proj. Those two libraries are needed by the cartopy python package. Three months ago cartopy required an older version of proj, but now cartopy uses the current version. There are a couple of dependencies automatically installed with proj. Everything continued to install natively and smoothly.

A few python packages can be installed either with a Homebrew formula or with the ordinary Python package manager. That was the case several years ago for numpy and scipy, and for awhile I kept them updated with their Homebrew formulas. Then it seemed that these formulas were unsupported, and the recommendation was to install/update numpy and scipy as ordinary Python packages. So I had been doing that recently. But in the online discussions about M1 there were reports of problems with installing these packages, and the recommendation was to use the Homebrew formulas, which have been updated recently. So brew install numpy and then brew install scipy. Again there are several dependencies, and again everything installed natively and smoothly.

Just a few more manual brew install's: hdf5 netcdf eccodes and pkg-config. Then it's on to the python package manager, already installed as pip3 by the Homebrew python@3.9 formula. There is a deprecation warning that is printed with each package installed. It appears that Homebrew will have to change something in the future, but the warning can be ignored for now. I started with pip3 install matplotlib, which automatically installs a number of required packages. Most if not all of these appear to install as native, pre-compiled binary wheels. Then on to
pip3 install shapely --no-binary shapely
pip3 install pyshp

pip3 install pyproj. These three are from the cartopy installation page. Then pip3 install cartopy.

One of the python packages that can be installed with a Homebrew formula is ipython. But the latest version of python, 3.10, was released just last month. The Homebrew formula for ipython is already set to require that recently released version of python as a dependency, while many other packages still depend on python 3.9. So it's easier to just use the alternative, pip3 install ipython. That also installs a number of dependencies, and they all go into Homebrew's 3.9 site packages folder.

The pandas package installed with no problems with pip3, though it took a long time to compile. Then pip3 install cfgrib, pip3 install xarray and pip3 install MetPy, and back in business plotting grib files on my new Macbook.

Saturday, September 4, 2021

A Tale of Two Noras

A Tale of Two Noras

During the late afternoon hours of this past Tuesday the precipitable water values around Tucson and in all directions away from Tucson were about as high as they ever get. For good reason the National Weather Service had a flash flood watch in effect for Tucson. Below is what about as high as precipitable water values ever get around Tucson looks like.

I use a color range maxed out at 1.7 inches because at Tucson's elevation it doesn't get much higher, and attention is usually on the transition from slightly below to slightly above one inch. Obviously on Tuesday in order to get to the one inch neighborhood you had to go a long distance, either to the highest elevations in the sectors north through southeast of Tucson, or to the moderately high elevations of the Baja peninsula.

By Tuesday Nora's circulation had completely dissipated at all levels, leaving a broad and deep southerly flow at low to mid levels that was continuing to transport moisture northward. The mid level southerly flow veered to a 70+ knot southwesterly upper level jet extending across northern Baja just south of the California border. I picked up about half an inch of rain during the evening hours of Tuesday tapering off into the first few hours after midnight on Wednesday. Most of the eastern part of Tucson, east of about Swan Road, picked up about an inch. By sunrise on Wednesday the threat was past Tucson. The sky was clearing from the southwest as precipitable water levels were already dropping. It was obvious from the large scale radar composite that the upward motion associated with the upper level jet had shifted north and east of Tucson. The radio station that I listen to in the morning continued to report the forecast of a 40-50% chance of rain, but the on-air personality simply ignored the fact that officially the flash flood watch was still in effect for Tucson. The local paper took the opposite tack. The following morning, 24 hours later, the Thursday online edition still featured a story, last updated 21 hours earlier, detailing the flash flood preparations, without noting that the watch had finally been cancelled 18 hours earlier.

One week ago, when the final details of Nora itself were still uncertain, but the threat of flooding for the Southwest was already being publicized, the local paper recalled its snarky coverage of the 1997 edition of Nora, which produced only a few drops of rain in Tucson instead of the 6, 4, 2 inches that had been forecast. The 2021 paper claimed, It's possible the same thing could happen with Nora 2.0.

Here is what the precipitable water looked like on the afternoon of September 25, 1997, the day before the snarky 1997 newspaper article.

By that afternoon the low level circulation of 1997 Nora had had a complicated interaction with the Baja peninsula as Nora-1997 moved rapidly north toward the north end of the Gulf of California. Thick high level outflow debris clouds had overspread Tucson, darkening the sky dramatically compared to the morning sunshine. The wind had become a bit gusty from the south-southeast. I recall walking across the U of A campus with a colleague, a hydrologist, and he mentioned the anticipated (by anyone following the official NWS forecast) heavy rain. I said, "I wouldn't be surprised if we don't get anything." My colleague looked around at the overcast sky and at the effects of the wind gusts and sniffed, "Well obviously the hurricane is coming." The problem is that a hurricane and its environment can't be conceived as a system analogous to a baseball traveling through the air. If the hurricane and its far-flung moisture field were like a solid body, then the precipitable water would have increased dramatically at Tucson as the center of the hurricane raced north. In fact precipitable water did increase during that day over the western half of Pima County, but remained almost constant around Tucson from morning to evening, consistent with what the operational numerical models of the day had been predicting. Even scientists, who should know better, will stick with a conceptual model that is wrong long past the point when reality has given them an answer they didn't want to hear.

Access to the reanalysis dataset through NCAR is gratefully acknowledged:
National Centers for Environmental Prediction/National Weather Service/NOAA/U.S. Department of Commerce. 2005, updated monthly. NCEP North American Regional Reanalysis (NARR). Research Data Archive at the National Center for Atmospheric Research, Computational and Information Systems Laboratory. https://rda.ucar.edu/datasets/ds608.0/. Accessed 28 Aug 2021.

September 17: Corrected paragaraph before second figure, September vs. November.

Friday, August 27, 2021

Technical Details As Acknowledgements

The gauge on my patio has collected over twelve inches of rain since the last week of June. So this week's extended break from the monsoon was welcome, and it provided an opportunity to document some topics neglected in the previous two posts. Also, suggestions and lessons learned might be helpful for anyone wanting to create their own custom weather maps. The first lesson learned is that the link I provided in the previous post quickly turned bad. Here are replacement links to brief summary descriptions about the GFS, which includes the GDAS. Those summaries are on the NOMADS page, which provides public access to gridded data from a variety of National Weather Service models, as well as links to data from other modeling centers. Separately the National Weather Service provides a Model Analysis and Guidance page, where the gridded data have already been processed into standard weather map images of many varieties. If those standard maps are adequate, it might not be necessary for a user to deal with the gridded data.

My custom journeys through the model data are spread out across the screen of my MacBook in the form of maps generated through the python packages matplotlib and Cartopy. Other python packages are involved, which I'll discuss later. I like to keep track of what I'm installing and why. So my starting point is the Homebrew package manager. The starting point for Homebrew is its installation instruction web page. After Homebrew is installed, installation of a particular piece of software under Homebrew is handled by a Formula. Among the Homebrew formulae I've installed and kept updated for a long time are python itself (the formula includes installation of pip) and ipython. Some python packages require access to a library, which can be installed with Homebrew. A tricky detail is that Cartopy requires an older version of the proj library, which happily Homebrew provides as formula proj@7. A recent discovery for me is the formula eccodes, which installs the ECMWF package for decoding GRIB files. This library is needed for a python package to be discussed later. Independent of its companion python package, eccodes installs a set of command line tools. One of these tools is grib_ls, which comes in handy for figuring out what is actually in the file that was downloaded from the NOMADS site.

I keep the standard python packages (cartopy, pandas, numpy, matplotlib, scipy, etc.) updated manually with pip. There is one more tricky thing with Cartopy. A required package, Shapely, needs to be installed using the pip option --no-binary. For easy reading of GRIB files, the python packages cfgrib (interfaces with the eccodes library) and xarray are needed. I came to cfgrib through xarray, and to xarray through the python package MetPy. While intending to eventually use all of MetPy's computational features, for now I'm especially taking advantage of its addition to the map features available in Cartopy (i.e., from metpy.plots import USCOUNTIES).

Here's the easy reading part, illustrated by a line from my python script:
ds = xr.open_dataset(myFilename, engine="cfgrib", filter_by_keys={'typeOfLevel': levelType[levelTypeIndex], 'level':level})
where xarray was imported as xr, and myFilename was set to one of the files I downloaded from NOMADS. The optional argument filter_by_keys gets passed to cfgrib. This filtering is generally necessary, and will be discusssed later.

Jumping to the end of the process for now, assume that a downloaded GRIB file, or at least a subset of it, has been successfully ingested by xarray. Then it's only a matter of adapting from the many MetPy examples available. My personal preference for just viewing the fields is to rely on two matplotlib functions: pcolormesh for the scalars and streamplot for the wind components. For some reason pcolormesh understands the lon/lat/variable inputs when they are supplied as xarray DataArray structures, but streamplot requires extracting the .values property in order to supply ordinary numpy arrays.

So let's back up in the process to discuss downloading. As mentioned near the beginning of this post, the NOMADS page provides access to a wide variety of model gridded fields. I've been routinely looking at the GDAS analysis and the GFS forecast fields on their 0.25 degree grid. Those are just 2 of the nearly 100 datasets listed on the NOMADS page. Most of the datasets are equipped with the grib filter option. Clicking on the link in the previous sentence takes you to the NOMADS page of general instructions. As the instruction page explains, grib filter is best used for creating regional subsets. Following the instructions and finally reaching the "Extract" page, I initially skip past the Extract Levels and Variables section, and so that I don't forget about it scroll down to the Extract Subregion section. It's not enough to just fill in the top/bottom/left/right lat/lon. Also be sure to check the box after the words "make subregion." Returning to the select variables section, if I want just the variables corresponding to standard radiosonde observations I'll select the abbreviated names HGT, TMP, RH, UGRD and VGRD. Depending on the dataset you chose, there might be many more variables. You may need to view Parameter Table Version 2 to figure out the abbreviations. For the levels desired it might be safest to just select "all". Instead I select each level that I want. Some of the level options are actually levelTypes, as can be verified later by running grib_ls on the downloaded file. The variable PWAT needs the level (levelType) "entire atmosphere (considered as a single layer)," while REFC needs "entire atmosphere."

Here is the promised later discussion about the filtering that is generally necessary in connection with xarray's opening of a grib file to create a dataset. For an explanation of why filtering is needed, see in this early documentation for CFGRIB the section Devil In The Details. Basically each message (i.e., each 2_D grid) in a file downloaded from one of the NOMADS "Extract" pages will be a unique combination of the three keys typeOfLevel/level/parameter. But xarray tries to merge all the levels and all the parameters in the file into a level/parameter array. In order to keep xarray happy, it's often enough to restrict xarray's attention to one typeOfLevel. But it may be necessary to also restrict attention to one level, as in my line of code above. An example is when TMP and RH are at level 2 m above ground but UGRD and VGRD are at level 10 m. Xarray with cfgrib's help tries to create a table with 2 levels and 4 parameters, but is disappointed to find that half of the table's entries would be empty. Working out what is in the GRIB file and thus what filtering is needed is where the command line tool grib_ls comes in handy.

Once into a routine of what I want to download, I follow the suggestion at the bottom of the grib filter instruction page, the section "Scripting file retrievals." However instead of a script I just enter the commands interactively in the terminal window. At first I was always copying from my text editor (BBEdit) and pasting to the terminal window, with the first paste being the mutiple lines where I change to my local directory and set the date and time parameters, and the second paste being the curl line. But then I learned to just use the terminal window: ctrl-r to search the history file for text in the last use of the multi-line command, move with arrow keys and make minor edits, ctrl-o to execute that multi-line and bring up the next history line, which is the curl line ready to substitute the new ${hr} ${fhr} and ${date}. Hit return. It takes a little over 5 seconds to do the typing, and another 5 seconds for my 12 by 12 degree lat/lon regional subset 630 Kbyte file of 182 grib messages to download.

Monday, August 9, 2021

Mesoscale Analysis

Forty-some years ago analyzing an upper-air feature like this would have been more about art than data. Fortunately the experienced NCO forecasters who I worked with back then were incredibly perceptive artists. The main source of good data at that time was the FPS-77 radar at Davis-Monthan. The scant information on the upper air charts had to be finely analyzed to make sense of the situation. Now we have the Global Data Assimilation System, output available at a horizontal resolution of 0.25 degree (pixels roughly 25 km on a side), vertical resolution 50 mb or better, every six hours. Tucson is roughly near the center of the images below. The five 500-mbar images span the 24-hour period between midday yesterday and midday today. I haven't yet figured out how to make a loop. But anyway I think the evolution of this wave is best enjoyed one frame at a time.

A wind speed max at midday yesterday over extreme western Chihuahua was by early this morning anchoring the eastern side of a distinct trough, which was centered on an axis extending southwest-northeast through Arizona's Santa Cruz and Cochise Counties. Moderate precipitation was roughly aligned with the wind speed maxes, wrapped around the trough. Probably the evolution of the precipitation, and maybe of the trough itself, was tied to the availability of moisture. The images below show the precipitable water for midday yesterday and midday today. What was striking already yesterday was how the highest values of precipitable water, pegged out on the color bar at >1.7 inches, had pressed into the foothills of the mountains in east-central Sonora. Of significance for the coming days is that southwest New Mexico and northern Chihauhua have moistened since yesterday, even as central Chihuahua has dried.

Friday, June 11, 2021

Interesting Time

While attention in Tucson is on record high temperatures over the next several days, and an eventual increase in moisture, the screaming message from analyses and model forecasts is that there will be a weak or nonexistent mid-level capping inversion by the time the moisture arrives. The 500 mbar temperature this afternoon was -5 deg C. It will probably creep up to -3 C or so at times over the next two or three days. But by Tuesday afternoon the GFS run from 18Z has 500 mbar temperatures around -8 C in a pocket around Tucson. There is also at the same time a bit of an easterly wave racing along the southern extremity of the 500-mbar high. I like to loop the model soundings for Tucson at the NCEP models site. The GFS would have a SW-NE oriented line of storms moving through the Tucson region Tuesday mid afternoon, with measurable rain to the southwest, and significant cooling in Tucson by 5 pm. Things may not work out that way, but it is one of many interesting possibilities.

Sunday, March 21, 2021

Winter 2020-2021 Tucson Rain

Winter 2020-2021 Tucson Rain

A few days ago in an Associated Press story about the Climate Prediction Center's Drought Outlook for the Spring season, the story's lede was that the official forecast offers little hope for relief in the West. The story goes on to explain that the drought in the Southwest has developed from a combination of La Niña dry weather [this winter] coming after, in the words of the source NOAA press release, the failed 2020 summer monsoon.

As far as Tucson is concerned, April through June never offers hope for drought relief. These upcoming months are normally the driest three-month period of the year in Tucson, averaging less than three-quarters of an inch of rain total for the three months combined. The official seasonal outlook puts Tucson in equal chances for below normal, near normal or above normal precipitation for this April through June.

There are still a couple of slight chances for measurable precipitation over the remaining ten days of this month. But they won't make much difference for this November through March period, where the Tucson airport has had 1.42 inches, about 2 inches below average. It could have been worse, considering that it was a moderate La Niña (ONI -1.1 for January 2021). This was the worst winter for precipitation in Tucson since 2010-2011, which was also a moderate La Niña.

At my place I've done a bit better than the airport, 2.59 inches for November through March, but still a big drop off from the previous two winters. The summers following big winters may be just coincidences, but if last summer's monsoon deserved an F grade, the previous summer (2019, at least until after Labor Day) was a D. There's no reason to think that this coming summer won't be at least near normal, at least a B or a C, offering a little hope, though still three months away--this summer's monsoon can't be any worse than last summer.

Monday, October 12, 2020

Analyze The Cap

Tucson's weather this winter will be exceptionally boring—one beautiful sunny day after another—thanks to a La Niña that is as certain as a Joe Biden win, according to outlooks from the Climate Prediction Center and The Economist online. Hopefully we'll get a few inches of rain this winter, not too far below normal. But that likelihood will be only half of what Tucson received in each of the last two winters.

So I'll be spending this winter revisiting the few exciting monsoon days from this past summer, and preparing and hoping for more of those days next summer. My most recent previous post here was on July 8. Three days later on Saturday, July 11, the monsoon made a dramatic appearance around sunset. A line of thunderstorms moved from east to west and resulted in several reports of high winds and damage in the Tucson area, including a 60 mph wind gust at Davis-Monthan Air Force Base. But the days immediately before and after July 11 had a similar weather pattern, and those days were just hot.

The selection of a "forecast problem of the day" as practiced by the National Weather Service amounts to wearing blinders. Typically the problem stated in a NWS discussion is confined to one element, for example "will the high temperature be a degree above or below the record" or "will there be damaging thunderstorm winds?" My gripe is not just that wearing blinders is a poor practice for a forecaster analyzing and monitoring the weather situation, it's that the fixation on a single element carries over to the public forecast, a communications disservice. The problem selected for attention on most summer days should be the underlying feature affecting multiple elements, "what is/will be happening with the cap?"

The cap of concern in the Southwest summer sits around 400-500 mb, as noted in the previous post here, or in terms of dry isentropic levels around 326-336 K. It persists most of the summer, yet can vary—in thickness and/or in height—from day to day and even hour to hour, and the variation can be on small as well as large horizontal scales. Let that stable layer subside several hundred meters, with mixed layer moisture overshooting into dry air at the base of the cap, and suddenly there is space for a record high temperature. Conversely lift that layer several hundred meters, and suddenly thunderstorms. Over the next several months I'll be examining available products that might help with what should be the mantra, "Analyze the cap."

Wednesday, July 8, 2020

Wrong Drumbeat

The Tucson National Weather Service is yet again fascinated and fixated on forecasting days ahead of time record-breaking highs, confidently predicting that Sunday's high will be not just 4 degrees warmer than today's (Wednesday's) 107, but precisely 7 degrees warmer. Dismissed is the more important point that unlike the last several afternoons, which have been just hot, the next several afternoons will be both hot and humid.

I have become fascinated with the "Forecast Soundings" option on the National Weather Service Model Analyses and Guidance page. It's fascinating to watch—not just every 12 hours, but every 3 hours—Tucson's capping inversion at around 400-500 mb evolve diurnally, and from day to day. That inversion rules out nearby thunderstorms today. But the mid-level inhibition becomes much weaker possibly as early as tomorrow afternoon, more consistently by Friday afternoon, along with a flow that would steer isolated, high-based, borderline thunderstorms from the east or southeast. The odds of measurable precipitation reaching the ground any of the next several days are low. But the record or near record hot environment will enhance negative bouyancy of any downdraft. Maybe by the end of the weekend the surface parameter that will have been observed to break a record will not be temperature.

Sunday, June 14, 2020

The continued inanity of June 15th

Nine years ago I railed, twice in the same month, about the silly season of talk about the monsoon. In the second of those June 2011 posts I wrote (misspelling site for sight):

Suppose that someone had lived in Tucson for a couple of decades, then fell into a Rip van Winkle sleep for another couple of decades, and finally awoke last week. Rip van Winkle would be bewildered to hear that the monsoon starts Wednesday, and that, alas, despite the approaching start date there's no rain in site (as if rain in site would be normal for this date in June). As terrible as the wildfires have been this year, and as good as it would be to get enough rain to relieve the situation, that's not a realistic hope this early.

The difference this year is that June 15th arrives on Monday, not Wednesday as it did in 2011. It's still silly to talk about the monsoon starting on June 15th, despite a decade of the National Weather Service pretending otherwise.

At this point it might be enough to say, "See previous posts." But following after this April's remininiscing post, this post goes back forty-some years to the weather station at Davis-Monthan Air Force Base here in Tucson. Since the stations's weather radar and human eyes both had a relatively clear line of sight to the south, at this time of year it would not be uncommon for the weather observer to include in a late afternoon or early evening hourly weather observation an uncannilly precise remark that a thunderstorm cloud was being visibly observed 95 miles to the south. So there was no ignorance about moisture pooling in Mexico. But when a trough in the westerlies would briefly pull some of that moisture north and generate a thunderstorm or two, customers would be briefed that, "That was not the monsoon." Emphasis was on the long-term correlation between the north-to-south transition from dry to moist air and the north-to-south transition from westerly to easterly upper-level winds. Thunderstorms, at least scattered coverage, moving generally from east to west, day after day (or at least most days)--like pornography, Tucsonans know what they expect from the monsoon. And until recent decades forecasters understood how to tailor and communicate their monsoon call for locals.

I have no qualms about a firefighter labeling the entire difficult month of June as a nebulous and agonizingly long period known as "at the start of the monsoon." But I doubt a firefighter would insist that the lightning strike on the evening of June 5, which sparked the Bighorn Fire, was "not the monsoon" while at the same time insisting that a lightning strike tomorrow evening would be "the monsoon." That would be just silly.