Blog

NEW Feature! Webcam History

We have added a 24-hour webcam history slide show to the Weather History page. This is the same Northern Michigan University webcam atop Marquette Mountain we link to on the home page. Pressing the play button will result in 24 slides being shown — one slide per hour. You can also configure it to play a monthly or yearly slideshow. You can even playback the entire history of the webcam dating back to February 2014. The player software is courtesy of Windy.com who also supplies the interactive radar on the Maps page.

One more thing…

After yesterday’s torrential thunderstorm, we have made the rainfall rate a permanent feature in the current conditions section of the home (CITY) page during the rainy season. Previously, it would only appear in the bottom left of this section once the rain rate was above 0.00″ / hour. The problem with that is we have many visitors who hang out on the page for long periods. It only refreshes every 10 minutes. So they would not know it started raining or know how hard it is raining unless they manually refreshed the page. Once the field is visible, it automatically refreshes once per minute (or however often you have settings configured to auto update conditions — once per 30 seconds is the max refresh rate for rainfall rate).  In any event, it can take a couple minutes for the weather station to register that rain is falling. The software waits a bit to prevent false alarms such as wind gusts which can also tip the internal rain spoon.

New Air Quality Algorithm

computer codeAs of mid-day yesterday (7/31/24) we have rolled out a new “correction factor” for our air quality readings. Why do we need to correct the readings from our PurpleAir PA-II sensor? Because it tends to over count particulate matter (PM2.5) by a significant margin (~30-40%).

Previously we were using the EPA conversion (Barkjohn 2021) that was designed for wildfire smoke. It’s definitely an improvement over the default factory algorithm (CF_ATM) for outdoor measurements. However, the EPA conversion still uses the proprietary “CF1” or “CF_ATM” formulas created by the sensor manufacturer, Plantower. Apparently, these calculations do not correspond to known physical processes or to any known standard for calculating PM2.5.

That is why the lead author of several foundational studies involving thousands of PurpleAir sensors and the chief proponent of the ALT-CF3 correction, retired environmental research scientist Lance Wallace (and colleagues), devised another method. Rather than rely on “black box” numbers, the ALT-CF3.4 leverages the various raw particle “bins” (PM0.3, PM0.5, PM0.5, PM1.0, PM2.5) created by the twin laser counters.

The bottom line is that this algorithm, as applied to our particular sensor (Plantower 5003), should get us to within several percentage points of the gold standard federal reference method (FRM) for measuring air quality. As a bonus, at particularly low concentrations which are common in Upper Michigan for much of the year, this method should produce more granular readings rather than just going to zero (reaching the so-called “limit of detection”) as happened too often over the past year since launching AQI on the website.

Also, as of today, we have rolled out an additional data field in the weather history tables. If you click on the “Air Quality” tab, you can now view not only uncorrected AQI and adjusted AQI but also corrected PM2.5 readings. These calculations relate back to the correction factor discussed above. Researchers and (nerdy?) enthusiasts usually deal in particulate concentrations rather than AQI.

I should also mention — and, yes, thank you for reading this far — that the measurements appearing on the home page and 24-hour history graph are rolling 10-minute averages. We do this to suppress transient readings (smoking passersby, smoking BBQs and fire pits, sensor noise, etc). This provides the right balance between instantaneous responsiveness and rock-you-to-sleep readings (hourly averages).

Okay, I’ll say it. This is yet another exclusive feature offered by our website. Do not try this on your “weather app”.

2024 Air Quality Index (AQI) Update

2024 AQI Revisions
Image courtesy of IQAir

On May 6th the U.S. Environmental Protection Agency rolled out a change to the Air Quality Index (see table above). We didn’t receive notification of this until yesterday. These modifications are now live on the website — both in current conditions and in the weather history tables effective July 19, 2024.

Keep in mind, we apply an EPA correction factor to the AQI reading. If you visit other air quality websites or apps, the readings may seem incorrect if, by default, they report raw AQI. The most accurate way to compare our sensor readings to others nearby is to visit https://fire.airnow.gov/. Click the search icon, type in “Marquette, MI” and hit enter.

Why do we correct the AQI? Because researchers at the EPA discovered that by applying an algorithm to our “low-cost” (~$400) PurpleAir sensor its readings better approximate the higher-cost, more accurate government sensor readings. Experiments were conducted within the context of wildfire smoke pollution — the thing people are most concerned about here.

It Ain’t Broke If You Don’t Know

My apologies to those who endured stale data on the home page almanac & weather history page on Friday & Saturday. The app that uploads data from our weather telemetry to the website (hosted downstate) had inexplicably stopped. It wasn’t locked up. It just wasn’t running the schedule. I could manually update, but not automatically. A restart of the app solved the issue. I’ve used that utility for years now and never seen anything like that. My thanks to a regular site visitor, Julie, who alerted me and sent me a kind note to boot! Please do not hesitate to use the contact form if you notice something is awry.

Fortunately, I have multiple, independent systems so when one fails, the others continue. For example, conditions data is uploaded every 3 seconds by two different apps. Forecasts are downloaded directly by the web server (and I can switch to a back up process when the provider is down). Even if we lose power at our property, the forecasts and alerts will continue to update indefinitely.

I am constantly checking for and fixing bugs — both in my own code and those generated by our various providers. Between our regular visitors, my wife and my own (normally) keen eye no error on the site goes undetected for long.

Earlier in the week you may have noticed missing forecast icons. That was due to a couple unpublished changes NOAA (parent organization to the National Weather Service) pushed out to their forecast API. Upon investigation I saw that they had started to omit the domain (!) from the image URLs. So I had to prepend the domain to all their file locations. Also they started sending an empty data field for wind direction when the speed is 0. If you know anything about programming, the first error routine is to check for empty data and reject it because all valid data must have a value. Not in this case! So I manually force a “N” (northerly) wind direction which was the default they had been supplying in that case for years. Once I realized this wasn’t just a temporary goof on NOAA’s part (which has happened multiple times and self corrects within an hour or so), I ultimately switched over to a “legacy” source for forecast data for a time until I could make updates to the affected forecast files.

My philosophy is that the user interface — the portion of the website the visitor sees and interacts with — should be simple & dependable not trendy. No infinitely scrolling pages which stutter and lock up while you search for the information you need! No bloated multi-megabyte pages that track you and interrupt you with pop ups while you’re trying to read.

Behind the scenes of this seemingly modest (perhaps even “old-fashioned”) website are tens of thousands of lines of code written by yours truly. The weather history page alone is a complex series of mathematical calculations (using standard equations that have been accepted for decades). Everything has been quadruple checked for accuracy against other sources.

We are about to step into our 10th year of recording data just south of downtown Marquette. The aim is to provide a long-term, independent, reliable source of weather data completely free and available to the public.

Thank you to our many regular (and irregular — you know who you are) visitors!

Blizzard Summary 1/12-14/24

We announced late last year that we would no longer measure snowfall. Well, at least not regularly 😉

Since we still have a snow board in our observation area — and we had cleared it before it started snowing Friday — we thought we’d stick a ruler down this morning after all was said and done.

Turns out 12.0″ fell in the past 48 hours ending 10 AM Sunday morning. That corresponds to 0.85″ of melted snow (liquid equivalent) that we caught in our precipitation gauge over that period.

Now, take it with a grain of salt because it’s in a somewhat sheltered area that is prone to drifting. However, this spot is lower than some and higher than others. Seems pretty average.

The National Weather Service office in Negaunee Township, just 8 miles up the road on US-41, measured just over 2 feet in that same time period. That is likely due to their higher elevation. Other reports closer to the lakeshore support lower totals such as ours.

In the future, we may provide a storm total measurement after significant events. That’s assuming that nearby drifts don’t expand to include our snow board. That can result from plowed snow mountains up wind growing over the course of the winter.

As far as wind speeds, our max recorded gust was 35 mph out of the north yesterday morning in the 7 o’clock hour. We have good “fetch” from that direction with no obstacles within 100 feet. The U.S. Coast Guard, located near McCarty’s Cove on the lakeshore, caught a 58 mph gust in the 10 AM hour but mostly clocked upper 30s / low 40s gusts throughout Saturday morning.

Back to Top
Theme:

(Auto night: 9:13 PM - 6:18 AM)