The "realtime" temperature algorithm was originally developed in 1996 by Pamela Shaw, of Columbia Basin Research, to predict the current year's water temperature values based on historical data, year-to-date data, and a forecast of flow (provided by Bonneville Power Administration). Originally, Lower Granite, Priest Rapids, and The Dalles pools were selected as representative temperatures of the Snake, Mid-Columbia, and mainstem Columbia, respectively. Rock Island was added in 2001 due to the inconsistent reporting of temperature at Priest Rapids dam. In 2004, we added all pools in the basin. Temperature predictions are run bimonthly during the juvenile migration season, April to September. The dotted black line on the forecast graphs indicates the date on which the forecast was produced. The observed data is updated daily which allows for the comparison of early forecasts to the actual observed values.
A general trend of negative correlation between flow and water temperature can be seen in data from the Snake and Columbia Rivers. By looking at yearly averages of water temperature and flow, one can see that years with higher than average flows have lower than average water temperatures and similarly years with lower than average flow have higher than average water temperatures.
Using a flow forecast file for a coming year, a prediction of temperature for can be made using the above relationship. Water temperature, however, is very noisy data being influenced by several variables: air temperature and other weather conditions, water volume and reservoir geometry, snowpack, upstream water releases, etc. Consequently, the flow/temperature relationship only explains a small amount of the variation of water temperature within a year and between years. As a result, averaged historical data plays a large part in the predictions made, with the above relationship only predicting a small amount of variation about the mean.
Each year before the fish migration season, the mean temperature and mean flow profiles are updated by recomputing the daily historical mean values using all years where data is available. The historical and year-to-date observed temperature and flow data are obtained from the Columbia River DART database.
The temperature algorithm initially sets the value for each day in the year to the historical mean temperature for that day. Then, the historical mean temperature values are replaced with observed values where available. Next, the last 3 days of available temperatures are averaged to predict today's temperature. Averaging over the last three days is an attempt to smooth out some of the day to day variation and to provide a safeguard against bad data giving the algorithm a faulty starting point. Given the averaged starting point, the next 4 weeks of temperatures are calculated by taking the previous day's temperature and adding to it the average daily temperature increment for that day (the increment for day j is the historical mean value on day j minus the historical mean value on day j-1).
Over time, the current trend of temperature becomes less and less useful and eventually uncorrelated with future temperatures. After four weeks, the short-term predictor is phased out of the calculation. For the next three weeks, an intermediate predictor is used. It is a simple linear regression against predicted flow which is used to adjust the historical mean temperature to predict temperature values. After this period, the historical mean value is used as the prediction.
The algorithm developed for temperature has many desirable features. It concurs with the most up-to-date data, it is consistent with historical seasonal patterns in temperature, and it uses predicted flows to make moderate adjustments.