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.
VFR (>3000ft ceilings and >5nm visibility) = Green
MFR (1000-3000ft ceilings and 3-5nm visibility) = Blue
IFR (500-1000ft ceilings and 1-3nm visibility) = Red
LIFR (<500ft ceilings or <1nm visibility) = Purple
Smoke = Gray
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.
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.
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.
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.
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
Optional: Raspberry Pi breakout board and ribbon cable A case for the Raspberry Pi.
Tools: 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.
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.
Use the small flathead screwdriver to connect the jumper wires to the relay module.
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
#Open SPI bus
spi = spidev.SpiDev()
#Function to read SPI data from MCP3008 chip
#Channel must be an integer 0-7
adc = spi.xfer2([1, (8 + channel) << 4, 0])
data = ((adc&3) << 8) + adc
#Function to convert data to voltage level
#rounded to specified number of decimal places
volts = (data * 3.3) / float(1023)
volts = round(volts,places)
mySendMail = '/home/pi/projects/mailbox/mail.py'
myResetChime = '/home/pi/projects/mailbox/reset.py'
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 = datetime.datetime.now()
print("Mailbox was opened at: ")
print("Mailbox Chime has been reset.")
GMAIL_USER = "firstname.lastname@example.org"
GMAIL_PASS = "password"
now = datetime.datetime.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 = ['email@example.com']
subject = 'Mailbox Alert'
body = text
email_text = """\
""" % (sent_from, ", ".join(to), subject, body)
server = smtplib.SMTP('smtp.gmail.com', 587)
server.login(GMAIL_USER, GMAIL_PASS)server.sendmail(sent_from, to, email_text)
except Exception as e:
Crontab will run the read_volt.py 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 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.
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.
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).
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.
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.
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.
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).
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.
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.