This site is driven by observations from a WeatherFlow Tempest personal weather station and a PurpleAir air quality sensor located at Sharp Park Beach in Pacifica, CA. The Tempest is mounted 6 feet up a pole on the peak of my roof. The ground elevation is approximately 10 feet, the peak of the roof is approximately 28 feet above ground, providing a total elevation of approximately 45 feet. The PurpleAir is mounted under the roof eaves. The homepage is automatically updated in real time (every 3 seconds for wind, every minute for the rest).
There are three webcams co-located with the weather station. While these weather pages use static images from the webcams, there are full 4K 24fps video streams available. For more information visit the Pacifica Live Cameras page.
All weather observations are also posted to the following websites:
- 28304 on tempestwx.com
- KCAPACIF205 on Weather Underground
- AE6DC-5 on CWOP/APRS
- f05c6c57 on Windy.com
- SHARPPARKBEACH on PWSweather.com
- AV684 and AE6DC-5 on MesoWest and other MADIS-fed sites
You might wonder why my page shows two different AQI numbers and why those numbers are also likely different from what is reported by AirNow. I briefly researched this after I installed a PurpleAir sensor and wanted to report the information on my page. It turned out to be somewhat more complex than I had realized. Here is a brief summary of my understanding, but if you have more information or corrections feel free to contact me. There are a number of articles written about this which can be easily found using your favorite search engine. I've included a couple links I found helpful in the AQI Links below.
There is a basic differece between how PurpleAir sensors and the official EPA sensors measure particulates. The EPA sensors use a filter and weigh the result. The PurpleAir sensors use lasers to measure and count and then use an average density to calculate weight. This leads to differences when the density of the particles is different than the average density. This behavior was starkly obvious with the recent wildfires, since wood smoke particles are less dense than average. The PurpleAir sensors were reporting worse quality than the EPA because they were counting a large number of particles and applying a higher-than-actual density, leading to an increased weight. PurpleAir worked with the EPA researchers to determine a "conversion factor" that would bring the PurpleAir numbers closer to the EPA numbers. You can apply this factor when looking at the PurpleAir map by choosing "US EPA" for the conversion factor (the default is None). This is what I'm displaying on the lefthand box on the homepage. In the righthand box I am displaying the 10-min average AQI with no conversion factor (the default when looking at a PurpleAir map). I'll leave it to the reader to decide whether a thousand lighter-density wood smoke particles are less harmful than a thousand heavier-density dust particles.
Another issue that causes differences in AQI numbers is the reporting period. Typically the EPA uses a 24 hour average. However in a number of cases they have moved to a "NowCast" model which is a 12 hour weighted average that places higher weights on more recent times. PurpleAir defaults to a 10 minute average, and provides additional time periods which can be viewed.
Yet another discrepancy between the EPA numbers and the PurpleAir numbers is the difference in number and locations of the EPA sensors. The offical EPA sensors are few-and-far-between. In my area, the two closest are a sensor on the bay side of San Francisco and one near Redwood City - which are both on the inland side and can have dramatically different conditions than the coast side. Presumably they have some modeling that accounts for this, but PurpleAir has the advantage of having more localized sensors.
One issue that I was curious about, given my location, was the effect of sea spray on the sensors. I noticed slightly higher values on my sensor, as compared to nearby inland sensors, when the wind shifted onshore. It turns out sea spray will indeed impact the particulate measurement, though it has a much larger effect on the PM10.0 than the PM2.5. So if we have an onshore wind and my sensor seems to be reporting a little high, you might take that into consideration when evaluating how healthy the air is.
APRS Radio Transmissions
The weather observations are also being transmitted locally on ham radio via APRS on 144.390MHz. The packets are beaconed every 10min direct and every 20min via NCA2-1 (similar to WIDE2-1). The weather station, the Raspberry PI which drives the APRS, and the radio transciever are all battery and solar backed. They should continue to operate and provide observations in the event of power and/or internet outages.
- weewx weather station software
- HighCharts for the various charts on the website
- The Belchertown skin theme built for weewx
- MQTT as the broker for instant data transfer from weather station to website
- Direwolf for the APRS via radio
- Forecast data from Aeris Weather
- Earthquake data from USGS.gov Earthquake Catalog Developer API
- Tidechart data from Surfline
- Wave summary data from The National Data Buoy Center
- Air quality from PurpleAir