For an anniversary gift I ordered and received the following framed map from my wife.


It is an aviation map of western Pennsylvania with a multicolor LED placed at each airport location that issues METARs (METeorological Terminal Aviation routine weather Report). The color of each LED indicates the ceiling and visibility.

Color Code

  1. VFR (>3000ft ceilings and >5nm visibility) = Green
  2. MFR (1000-3000ft ceilings and 3-5nm visibility) = Blue
  3. IFR (500-1000ft ceilings and 1-3nm visibility) = Red
  4. LIFR (<500ft ceilings or <1nm visibility) = Purple
  5. Smoke = Gray
  6. METAR older than 6 hours = Blank

METAR data are processed by a Raspberry Pi, a low-cost single-board computer, which is fastened behind the map. Data are received via a WiFi connection every five minutes. The brightness of the LEDs also changes for day/night conditions.

Edmund Fitzgerald Storm

Today is the 45th anniversary of the wreck of The Edmund Fitzgerald. A colleague of mine, and former roommate at SUNY-Oswego, asked if the storm that sank the ship, also affected Oswego, NY, on that fateful day (November 10, 1975). One of the advantages of being retired is having the time to do such research.

I found the following weather maps from an article in The May 2006 issue of The Bulletin of The American Meteorological Society (BAMS): Reexamination of the 9–10 November 1975 “Edmund Fitzgerald” Storm Using Today’s Technology.

Synoptic Charts for November 10, 1975, Oswego, NY marked by the green crosses.
850 mb Analysis for November 10, 1975 1200 UTC. -5 C, 0 C, 5 C isotherms marked by the blue, yellow and red lines, respectively.

I also obtained the weather records from November 1975 for Oswego, NY from The National Centers for Environmental Information.

Weather data for Oswego, NY,November 1975.
Enlarged Image of Oswego Data for November 1975

The high of 69 F and low of 52 F, quite warm for that time of year, confirms that Oswego, was in the warm sector of the storm system as a warm front passed through the area. The surface and 850 mb analysis shows the winds in Oswego were from the south and not off Lake Ontario. Exact wind speeds can not be ascertained from the charts, but judging from the tight isobars and geopotential isopleths, it was probably brisk and accounts for the warm air advection. Also, 1.15 inches of rain fell during the day. A cold front moved through later that evening.

So The Edmund Fitzgerald Storm did affect SUNY-Oswego on Monday, November 10, 1975.

Mail Chime Hack

For several years, I have had a Hanna Products Mail Chime installed on my outdoor mailbox with an indoor receiver. The transmitter is attached to the door of the mailbox. When the door is opened a gravity switch is closed and a signal is sent to the receiver. The receiver sounds an alert and illuminates an LED lamp. The lamp is reset by a momentary contact push-to-close button switch.

I took a receiver apart to see if I could make a simple hack to have a Raspberry Pi sense when the LED lamp was on and then send an email to one of my accounts to indicated the mailbox door had been opened. Another function is to send a signal to a relay module to reset the LED lamp to off.

The project requires some programming skills with Linux and Python, a basic understanding of some electronic components, and some soldering is required. I had my project operating in three short evenings.

Parts List

Hanna Products, Inc. Mail Chime – Amazon $55
Raspberry Pi Model B – Amazon $56
2 1K ohm resisters – Amazon, pack of 100, $6
1 DaFuRui 8Pcs DC 5V 1 Channel Relay Module – Amazon, pack of 8, $13
1 MCP3008 Microchip – Amazon, Pack of 4, $12.50
1 breadboard – Amazon, ELEGOO 3pcs MB-102, $9
Jumper wires – Amazon, Elegoo EL-CP-004, $7

Raspberry Pi breakout board and ribbon cable
A case for the Raspberry Pi.

Soldering iron and solder
Phillips head screwdriver
Small flathead screwdriver wire stripper

The following is the schematic for the project.

Note the half-moon indentation at one end of the MCP3008 microchip. This will orient the chip to access the correct pins.

Begin by opening the bottom of the mail chime. One phillips screw holds the bottom panel to the housing. The printed circuit board is not fastened to the housing. Then solder 4 jumper wires to the printed circuit board inside of the disassembled mail chime as shown.

Mail Chime Printed Circuit Board

Then plugin the MCP3008 Microchip, and the 2 1K ohm resistors to the breadboard. Then connect the various jumper wires on the breadboard, and from the breadboard to the Raspberry Pi, the relay module and the mail chime. Use the schematic and photograph as guidance. I used a Raspberry Pi breakout board to easily identify the Raspberry Pi connections.

The resistors act as a voltage splitter to decrease the voltage going to the MCP3008 CH0 pin.

Mail chime printed circuit board connected to the bread board.
All components connected.

Use the small flathead screwdriver to connect the jumper wires to the relay module.

Python Scripts

Python scripts are placed in the following directory on the Raspberry Pi:


Note that the indented lines in the following Python scripts are indented with tabs, not spaces.

import spidev, time
import time
import datetime
import os
#Open SPI bus
spi = spidev.SpiDev(), 0)

#Function to read SPI data from MCP3008 chip
#Channel must be an integer 0-7
def ReadChannel(channel):
     adc = spi.xfer2([1, (8 + channel) << 4, 0])
     data = ((adc[1]&3) << 8) + adc[2]
     return data
#Function to convert data to voltage level
#rounded to specified number of decimal places
def ConvertVolts(data,places):
     volts = (data * 3.3) / float(1023)
     volts = round(volts,places)
     return volts

mySendMail = '/home/pi/projects/mailbox/'
myResetChime = '/home/pi/projects/mailbox/'
print ("Check mail was run.")

reading = ReadChannel(0)
voltage = ConvertVolts(reading,2)
print("Reading=%d\tVoltage=%.2f" % (reading, voltage))

#If voltage is greater than or equal to 0.75 V then send an e-#mail
if (voltage >= 0.75):
     now =
     print("Mailbox was opened at: ")
     print(now.strftime('%H:%M %Y-%m-%d'))
     print("Mailbox Chime has been reset.")

import smtplib
import datetime
GMAIL_PASS = "password"
now =
text = 'Your mail box has been opened!!!\n\n'
text = text + 'Time: '+now.strftime("%H:%M:%S %Y-%m-%d")+'\n\n'
sent_from = GMAIL_USER 
to = ['']
subject = 'Mailbox Alert'
body = text
email_text = """\
From: %s
To: %s
Subject: %s

""" % (sent_from, ", ".join(to), subject, body)

     server = smtplib.SMTP('', 587)
     server.login(GMAIL_USER, GMAIL_PASS)
     server.sendmail(sent_from, to, email_text)

 except Exception as e:


import RPi.GPIO as GPIO
import time
in1 = 16

GPIO.setup(in1, GPIO.OUT)
GPIO.output(in1, GPIO.LOW)   
GPIO.output(in1, GPIO.HIGH)
GPIO.output(in1, GPIO.LOW)   

Crontab Settings

Enter the following one line using the crontab -e command.

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /home/pi/projects/mailbox/ >> /home/pi/projects/mailbox/mailbox.log 2>&1

Crontab will run the Python script every 5 minutes. Any output to standard output and standard error will be written to the mailbox.log file for trouble shooting purposes. When the mail chime is triggered by the mailbox door sensor, there will be current to the mail chime LED, which is then detected by the MCP3008 microchip at CH0. This in turn triggers the code to send an email, then after 60 seconds, the relay is actuated to reset the mail chime.

October 2020 Weather Summary

October was 1.0 deg F above normal for temperature. The high for the month was 80.6 deg. F recorded on October 22. The low for the month was 27.7 deg F, recorded on Oct 17. There were 0 days at or above 90 deg F and 1 day at or below 32 deg F. There were 412 heating degree days and 21 cooling degree days.

The drought continued into October with below normal precipitation of 2.96 inches of rainfall recorded, which was 0.38 inches below normal. The maximum rainfall in a single day was 1.16 inches recorded on October 29. There were 15 days of rain >.01 in, 8 >.10 in and 1 > 1 in.

High wind speed of 37 mph on October 7.

October 2020 Data

Outlook for November 2020

September 2020 Weather Summary

September was 0.4 deg F below normal for temperature. The high for the month was 85.9 deg. F recorded on September 8. The low for the month was 32.0 deg F, recorded on September 20. There were 0 days at or above 90 deg F and 1 day at or below 32 deg F. There were 171 heating degree days and 88 cooling degree days.

The drought continued into September with below normal precipitation of 2.61 inches of rainfall recorded, which was 1.37 inches below normal. The maximum rainfall in a single day was 1.34 inches recorded on September 29. There were 5 days of rain >.01 in, 5 >.10 in and 1 > 1 in.

High wind speed of 24 mph on September 23.

September 2020 Data

Outlook for October 2020

Drought Eases

I have recorded 1.89 inches of rainfall since last Thursday. The drought isn’t over yet, but there are signs that it is improving.

Most of Centre County is still experiencing a moderate drought. However, our little corner of the county is now abnormally dry. The outlook for the rest of September indicates equal chances for normal rainfall (about 4 inches on average).

Scotty-Porcupine Encounter

On August 31, 2020, our Scotties, Toby and Tillie, had an unfortunate encounter with a porcupine.

Toby, our male Scotty came in from outside before bedtime and we immediately notices the quills in his snout. He was able to eat and drink so we decided to call the vet the first thing in the morning. He got through the night with no issues.

It wasn’t until the next morning, when I gave Tillie a chin scratch, that I was stabbed by two of the quills that were in her snout. The quills are quite sharp, even on the broken ends.

We were right not to try to remove them on our own since the quills are barbed. The barbs expand when they are exposed to body heat, are quite brittle and there is the risk of driving them deeper into the body.

The vet sedated both Scotties and removed the quills. Tilled had 15 embedded quills and Toby had 12. The vet also confirmed that they were porcupine quills. The dogs each received an analgesic and antibiotic.

Until last night, I had no idea that there are porcupines in our area. They live in a narrow range across central PA which includes our region. They are classified as rodents, are herbivores, mostly nocturnal, and are pests due to the damage they can inflict by chewing tree bark, leather and wood in their search for salt.

More on porcupines.

August 2020 Weather Summary

August was 2.2 deg F above normal for temperature. The high for the month was 93.1 deg. F recorded on August 22. The low for the month was 47.0 deg F, recorded on August 20. There were 6 days at or above 90 deg F. There were 24 heating degree days and 259 cooling degree days.

August was a below normal month for precipitation with 1.48 inches of rainfall recorded, which was 0.72 inches below normal. The maximum rainfall in a single day was 0.75 inches recorded on August 28. There were 8 days of rain >.01 in, 3 >.10 in and 0 >1 in.

High wind speed of 30 mph on August 24.

August 2020 Data

Outlook for September 2020

Summary of Summer 2020

Meteorological Summer is officially over. Here is a brief summary of June 1-August 31 in Stormstown, PA:  

Number of days Max T >= 90 F: 18  

Max T: 95.1 – July 18, 2019  

Min T: 40.9 – June 1, 2019  

Jun Dep from Normal: 0.1  

Jul Dep from Normal: 3.8  

Aug Dep from Normal: 2.2  

Heating Degree Days: 108   Cooling Degree Days: 761

The main feature of the summer was the moderate drought conditions that developed during July and August. All of Centre County experienced those conditions. Between June 10, 2020, when it rained 0.91″ and August 28, 2020, when it rained 0.75″, there wasn’t a single day when rainfall exceeded 0.50″. In fact, rainfall has not exceeded 1.00″ of rain, in a day, since June 4.

The outlook for September 2020 shows that the drought abatement is likely.

Precipitation amounts for the summer:

Jun Precip: 4,.80″, 0.94″ above normal  

Jul Precip: 1.19″, 2.27″ below normal  

Aug Precip: 1.18″, 2.66″ below normal    

The 3-month outlook for Autumn 2020:  

2020 Western Pennsylvania Drought

The following was recently posted by the State College National Weather Service Office. The chart was produced by The Mid-Atlantic River Forecast Center (MARFC) which is co-located with The State College National Weather Service Forecast Office.

A neighbor asked to explain why Centre County was depicted as being a standout from the other counties.

For the 60-day period (6/13/2020 through 8/11/2020) Centre County’s areal precipitation was 3.2 inches which was 4.8 inches below normal for the period. A normal amount would have been 8 inches. This works out to be 60% below normal which is above the 50% threshold for the red portion of the scale. By comparison, here are the values for the surrounding counties: Blair 47%, Cambria 29%, Clearfield 47%, Clinton 41%, Huntington 43%, Mifflin 47%, Snyder 44%.

The River Forecast Centers use a distance weighting technique to calculate the areal precipitation. A grid of point estimates is made based on a distance weighting scheme. Each observed point value is given a unique weight for each grid point based on the distance from the grid point in question. The grid point precipitation value is calculated based on the sum of the individual station weight multiplied by observed station value. Once the grid points have all been estimated they are summed and the sum is divided by the number of grid points to obtain the areal average precipitation.

Here is a map of standardized precipitation index (SPI).

There is a bullseye of values between -2 and -1.5 over our region.

The SPI is a widely used index to characterize meteorological drought on a range of timescales. On short timescales, the SPI is closely related to soil moisture, while at longer timescales, the SPI can be related to groundwater and reservoir storage. The SPI uses precipitation only, and can characterize drought or abnormal wetness at different time scales which correspond with the time availability of different water resources (e.g. soil moisture, snowpack, groundwater, river discharge and reservoir storage).

Drought for the Northeast United States

As the above map indicates, southwestern Centre County is experiencing a moderate drought. The criteria for drought classification appears below.

July was lower than normal for precipitation for six counties in central Pennsylvania.

Pennsylvania July 2020 Precipitation by County

The above graph shows all of the precipitation data I have collected since establishing my weather station in December 2015 until now. This past July was as dry as July 2016. However, August 2020 is on track to be the driest in 5 years.