INTRO and SUMMARY

Seattle has had a very warm and dry Fall season so far in 2022. I showed elsewhere that in looking at the traditional Water Year, starting 01-Oct, that 2023 is the fifth driest in a century. However, in an analysis of an “Extended Water Year,” starting 01-August, that EWY2023 is the driest in a century and among the warmest in overnight temperatures. The plantlife around Seattle is showing signs of stress.
This raises the question, how long has Seattle really gone since the last significant rainfall, and how does that compare to other years?
It turns out 2022 is one for the record books; we’ve gone (so far) 130 days without more than 0.1 inches of rain. The next longest “Dry-Summery Interval” is 98 days, occuring in 1930. Of the seven longest Summer-Dry Intervals in teh last century, six have happened with the last sixteen years.

DATA SOURCES

Data is from NOAA Climate data Online from 1921 onward. Since there was no single continuous monitoring station with all the data I wanted, I made the data by combining measurements from several stations.

Data analyzed consist of daily precipation (inches), and min and max temperatures (in degress F). To get a full data set where the data overlap values are averaged.

Aggregate data from regional stations

There is a large amount of year to year variability.

Data are from SEATTLE TACOMA AIRPORT, SEATTLE BOEING FIELD, SEATTLE PORTAGE BAY, BREMERTON, SEATTLE UNIVERSITY OF WASH, & KENT (stations: USW00024233, USW00024234, USW00024281, USC00450872, USC00457478, and USC00454169) covering 1921-01-01 to 2022-10-21.

Here is a look at the some of the raw data. The average of the points are shown as well, giving an indication of the fidelity of the process used later in this analysis.

Rainfall Data Samples

1930 was a dry year as was 2003. 1970 is a year with a shorter Summer Dry Interval.

SUMMER-DRY INTERVAL

Seasonal rainfall totals can give an idea of stressfrom a lack of rainfall. However, what is really releveant is not only how much, but over what period of time.

A measure of regional Rain-Stress is the duration between the last significant rainfall of Spring and the first significant rainfall of late Summer and Fall. This analysis would be somewhat painful in spreadsheet, but in R it’s easy!
Of course, what qualifies as “significant” is a matter of judgement, so let’s make that a parameter of the model as well.

Dates of last and first significant rainfall

To compute this we just need to define a “significance” level, r_T which can act as a cut-off. We start from the raw data of daily regionally averaged rainfall totals.

## # A tibble: 37,184 × 4
##    DATE          PRCP  TMIN  TMAX
##    <date>       <dbl> <dbl> <dbl>
##  1 1921-01-01 0.203    41    52  
##  2 1921-01-02 0.117    42.7  53  
##  3 1921-01-03 0.293    38.3  50  
##  4 1921-01-04 0.697    36.3  50.7
##  5 1921-01-05 0.413    37.3  44.3
##  6 1921-01-06 0.00333  35.3  42.7
##  7 1921-01-07 0.16     36.5  44  
##  8 1921-01-08 0.0633   35.3  46.3
##  9 1921-01-09 0.13     28.7  42.7
## 10 1921-01-10 0        25.5  41.5
## # … with 37,174 more rows

Picking r_T

A histogram of the rainfall distribution shows a transition to a long exponential \[p(R_{D}) = k*e^{(-R_{D}/R^{*})} \]

where \(R_{D}\) is daily rainfall, at about 0.10 inches. For sake of interest \(R^{*}\) is approximately 0.25 inches.

## significant rainfall
r_T <- 0.1

Based on limited experiments, the results are stable to small changes in r_T. For instance increasing r_T by 50% doesn’t change these conclusions. Larger adjustments do modify results, but at smaller values rainfall levels are insignficant to have much beneficial impact and much larger rainfall totals are distributed randomly making results highly variable. For these reasons r_T = 0.10 seems reasonable.

Computing intervals

Looking at the graphs of annual rainfall let’s just pick 0.1 inches as significant rainfall threshold. The results are stable to small changes in r_T. For instance increasing r_T by 50% doesn’t change these conclusions.

Computing the date of the last rainfall is done with a couple filter commands.

last_rainfall_date <- data %>%
  group_by(YEAR) %>%
  filter(MONTH < 8, PRCP >= r_T) %>%
  filter(DATE == max(DATE)) %>%
  ungroup()%>%
  yo

THe results of the analysis show the dates of the last and first rainfalls.

first_rainfall_date <- data %>%
  group_by(YEAR) %>%
  filter(MONTH >=8, PRCP >= r_T) %>%
  filter(DATE == min(DATE, as.Date("2023-10-21"))) %>%
  ungroup()%>%
  mutate(MONTH_DAY = as.Date(str_c(as.character(1900),"-",as.character(MONTH), "-", as.character(DAY)))) %>%
  select(DATE_FIRST =DATE, YEAR, MONTH_FIRST = MONTH, DAY_FIRST = DAY, MONTH_DAY_FIRST = MONTH_DAY) %>%
  yo

The graphs show there is variation in the last day and first days of rain. Some years rains stop exceptionally early. Other years rains start exceptionally late. In 2023 both of these phenomena occurred.

It’s worthile noting that the long duration of the SUMMER_DRY INTERVAL for 2022 is due to an early “last rainfall” and, simultaneously, a late “first rainfall.”

COMPARISONS

This shows the Summer Dry Interval can vary by a large factor, from just a few days to well over 100 days according to what is available the last century.

## # A tibble: 102 × 2
##     YEAR DURATION
##    <dbl> <drtn>  
##  1  2022 133 days
##  2  1930  98 days
##  3  2021  95 days
##  4  2017  93 days
##  5  2006  90 days
##  6  2018  90 days
##  7  2012  85 days
##  8  1922  79 days
##  9  1945  74 days
## 10  1928  72 days
## # … with 92 more rows

Comparing years shows that 2022 has had the longest Summer-Dry Interval in the last 100 years. This result is not highly sensitive to r_T.

R version 4.2.0 (2022-04-22 ucrt)
2022-10-21 08:57:32
@WinstonOnData