The method I described last time started giving some very strange numbers for the hourly PSI yesterday June 21. Negative numbers! It turns out the 3-hour average PSI is not the average of the PSI for the last 3 hours. Huh?
Courtesy of facebook, I learned how the PSI is actually calculated. PSI is computed from the concentrations of 5 pollutants in the air: PM10—particles of size less than 10 microns, Sulfur Dioxide, Carbon Monoxide, Ozone, and Nitrogen Dioxide. The concentration of each of these individually gives rise to a “score” and the PSI is the maximum of the five scores.
For the 3-hour average PSI readings the NEA says that the score is based only on PM10 concentrations. These days this probably gives rise to the largest score anyway. The point that is interesting for us is that the function mapping PM10 concentration to PSI value is not linear—it is only a piecewise linear function. I can’t say I have much understanding for why this function is chosen the way it is.
It makes sense that the 3-hour average PSI is computed by taking the 3-hour average PM10 concentration and applying the scoring function to this value. As the scoring function is non-linear, this is not the same as taking the average of the PSI values.
Indeed, when we compute the hourly average PSI values in this way—first transforming the 3-hour average PSI values back to 3-hour PM10 averages, then solving the linear equations for the 1-hour PM10 averages from this, and finally transforming back to get hourly PSI values—the results are much more reasonable. Here is a plot of the hourly PSI averages for June 21 from 6am-5pm done in this way. No more negative numbers. Also the maximum hourly PSI is only around 410 now instead of the 467 given by the previous calculation.
I’m too lazy to make plots for the other days, but here is the Matlab code to compute the hourly PSI averages if you want to do it yourself. Hey, that makes these summer days lazy, hazy, and certainly crazy. Thanks for the Nat King Cole reference Dad!