Microseism Variation with Pelagic Storms

I have been curious about the source of microseisms on my seismograph since I completed it in 2004. I initially dismissed the explanation that they originated from intense ocean storms but after watching those storms online and comparing to my seismograph traces there is convincing qualitative evidence for that explanation. This past winter I decided to try to collect some data for a closer look. I began collecting data on January 08, 2020 at 12:00 UTC. I have a continuous record of the significant wave height in the Atlantic Basin and a fairly complete record of the microseism record as described below through the end of April and will continue to collect data going forward. This post will describe what I am doing and will introduce the results obtained in January through a short video. I am working on merging datasets and starting a statistical evaluation of the data so I hope some interesting things will come out of it.

An article in Geophysical Research Letters titled ‘Stormquakes’ pointed me to the portal to NOAA’s WaveWatch III gridded ocean surfce model results. Information on the NOAA website showed how to access and use data from the model. I modified the example Python script to access and map the significant wave height data in the North Atlantic Ocean Basin. This runs every six hours as cron job, automatically acquiring, mapping, and filing this information.

I also wrote a small Python script to calculate the standard deviation of 30 minute segments of the seismic trace from the previous 24 hours. I use the trace standard deviation to characterize the amplitude of the microseisms.  The chart below shows the trace standard deviation changes, plotted in blue, for the month of January 2020.   Several earthquakes occurred which appear as the larger narrow spikes in the data.  The shorter spikes are due to foot traffic in the house.

Those spikes are of no interest in the present study.  What is really of interest is the envelope of the underside of this graph described by the minimum values.  Because I only have the ocean surface information at six hour intervals I evaluate the minimum value of the trace standard deviation on the eleven 30 minute trace segments centered on each of the hours 00, 06, 12, and 18 UTC.  These values are plotted as the red line in the graph.

A very near minimum and the maximum value of the red line occur only three days apart, on January 15 and January 18, respectively.  Here are the 24 hour helicorder charts for the two days.

 

And the Significant Wave Height during the same days:

 

The Geophysics Research Letters paper referenced earlier specifically associate The Grand Banks off the coast of Newfoundland with stormquakes.  This particular example seems to support that association.  I hope that my long term study will give a little more structure to what we see here.  In the meantime here is a short video showing the progression of January’s winter storms across the North Atlantic.

 

Lunar and Planetary Elongation Chart for 2020

{click the chart for full size view and to download}

Lunar and Planetary Elongation Chart for 2020

As I did last year, I am posting a lunar and planetary elongation chart for the coming year.  We kept a copy of last year’s chart on the refrigerator for easy reference and found it moderately useful.  Feel free to download a copy, without any warranty of accuracy.  You will notice that all of the curves begin this year exactly where they ended last year, giving some confidence that the charts are at least self-consistent but please leave a comment if you find errors, etc., have a question, or just want to leave a comment.  I have rotated the chart this year and added finer annotation to the date axis making it a little easier to find the proper date.

The earth and other planets revolve around the sun.  The moon revolves around the earth, but its phase is determined by its position relative to the sun.  The consequence of these motions is that the planets and the moon change position in the earth’s sky relative to the background of distance stars and, more importantly, to the sun.  The elongation as plotted on this chart is the angular separation of the object from the sun as seen from earth charted over time.

Here are some things you can determine from the chart:

    • The morning and evening “stars” — planets, often bright, that occur in the sky near the sun before sunrise and after sunset.
    • When the planets and/or moon are close to each other in the sky; an appulse.
      • This is possible because the planets and the moon all move in planes close to the ecliptic plane, the orbital plane of the earth.  When they have similar elongation values, they are in the same part of the sky.
    • The relative brightness of the planets. (but not the moon)
    • The phase of the moon.

Some important features of the chart:

    • The horizontal axis plots the elongation; the vertical axis plots the date during 2019
    • The horizonal center of the plot is zero, the location of the sun.  Note annotations at the top of the chart.
      • The right half shows western elongations, eg, the morning sky just before sunrise.
      • The left half shows eastern elongations, eg. the evening sky just after sunset.
    • Phase descriptions of the moon are annotated at the bottom of the chart.
      • The moon is Full when its elongation is 180° or equivalently -180°.
      • The moon is New when its elongation is 0°
      • The first quarter moon occurs at -90° , eg.in the evening sky.
      • The last quarter moon occurs at 90°, eg. in the morning sky.
    • The marker size shows the relative magnitude (brightness) of the planets (but not the moon).
    • The markers are placed every four days along each curve.

The data for the chart was calculated once a day at 00:00 UTC with a Python script using the PyEphem package.  The data was then imported into IGOR Pro to be plotted.

 

Audio Recordings from our Side-Yard Ecosystem — An Overview

Last summer(2018) I deployed a simple audio recording device in our yard to sample the sounds of that ecosystem for thirty seconds every thirty minutes.  Over the monitoring period from early in May through the end of October I accumulated around 8800 audio files.  These were automatically analyzed and uploaded to a page on this website as they were recorded.

The images below are of a kind of pseudo-spectrogram, in the sense that it is irregularly sampled, built up from the power spectral density calculations for each thirty second recording for an entire month.  I like these graphics because they show the general rhythms of the ecosystem.  (click on any graphic for a larger view)

May 2018

June 2018

July 2018

August 2018

September 2018

October 2018

In May and June one can see the diurnal rise and fall of bird song.  In early May, perhaps the evening calls of frogs and toads down at the pond.  Then in mid-July the beginning of the most striking feature of these records, the appearance of the songs of the summer insects and the diurnal frequency changes with species and air temperature.  In the fall months, one can see the tapering away of the insect sounds punctuated by abrupt changes caused by foul weather.

Over the next several weeks I hope to do a series of posts with more details in each month.  I will also be making some changes to the recording hardware and software with the goal of getting two recorders out this year and earlier in the spring.

Lunar and Planetary Elongation Chart for 2019

{click the chart for full size view and to download}

Lunar and Planetary Elongation Chart for 2019

As I did last year, I am posting a lunar and planetary elongation chart for the coming year.  We kept a copy of last year’s chart on the refrigerator for easy reference and found it moderately useful.  Feel free to download a copy, without any warranty of accuracy.  You will notice that all of the curves begin this year exactly where they ended last year, giving some confidence that the charts are at least self-consistent but please leave a comment if you find errors, etc., have a question, or just want to leave a comment.

The earth and other planets revolve around the sun.  The moon revolves around the earth, but its phase is determined by its position relative to the sun.  The consequence of these motions is that the planets and the moon change position in the earth’s sky relative to the background of distance stars and, more importantly, to the sun.  The elongation as plotted on this chart is the angular separation of the object from the sun as seen from earth charted over time.

Here are some things you can determine from the chart:

    • The morning and evening “stars” — planets, often bright, that occur in the sky near the sun before sunrise and after sunset.
    • When the planets and/or moon are close to each other in the sky; an appulse.
      • This is possible because the planets and the moon all move in planes close to the ecliptic plane, the orbital plane of the earth.  When they have similar elongation values, they are in the same part of the sky.
    • The relative brightness of the planets. (but not the moon)
    • The phase of the moon.

Some important features of the chart:

    • The vertical axis plots the elongation; the horizontal axis plots the date during 2019
    • The vertical center of the plot is zero, the location of the sun.  Note annotations on left side.
      • The upper half shows western elongations, eg, the morning sky just before sunrise.
      • The lower half shows eastern elongations, eg. the evening sky just after sunset.
    • Phase descriptions of the moon are annotated on the right side of the chart.
      • The moon is Full when its elongation is 180° or equivalently -180°.
      • The moon is New when its elongation is 0°
      • The first quarter moon occurs at -90° , eg.in the evening sky.
      • The last quarter moon occurs at 90°, eg. in the morning sky.
    • The marker size shows the relative magnitude (brightness) of the planets (but not the moon).
    • The markers are placed every four days along each curve.

The data for the chart was calculated once a day at 00:00 UTC with a Python script using the PyEphem package.  The data was then imported into IGOR Pro to be plotted.

Lunar and Planetary Elongation Chart for 2018

{click the chart for full size view and to download}

Lunar and Planetary Elongation Chart for 2018

Several years ago our family started using Guy Ottewell’s Astronomical Calendar to guide our skywatching.  It was a wonderful and extensive mix of stories, diagrams, descriptions, and charts along with a textual calendar of events.  The last printing was for 2016;  we have not found  an adequate replacement.  I was looking through the 2016 Calendar in December and discovered the a chart of lunar, planetary, and stellar elongation for the year.  Although I had seen it before, I hadn’t appreciated the amount of information that I could get from it.  I decided to make that chart for my own use; I finally got around to doing it and decided to post it here.  Feel free to download a copy, without any warranty of accuracy; please leave a comment if you find errors, etc., have a question, or just want to leave a comment.

The earth and other planets revolve around the sun.  The moon revolves around the earth, but its phase is determined by its position relative to the sun.  The consequence of these motions is that the planets and the moon change position in the earth’s sky relative to the background of distance stars and, more importantly, to the sun.  The elongation as plotted on this chart is the angular separation of the object from the sun as seen from earth charted over time.

Here are some things you can determine from the chart:

    • The morning and evening “stars” — planets, often bright, that occur in the sky near the sun before sunrise and after sunset.
    • When the planets and/or moon are close to each other in the sky; an appulse.
      • This is possible because the planets and the moon all move in planes close to the ecliptic plane, the orbital plane of the earth.  When they have similar elongation values, they are in the same part of the sky.
    • The relative brightness of the planets. (but not the moon)
    • The phase of the moon.

Some important features of the chart:

    • The vertical axis plots the elongation; the horizontal axis plots the date during 2018
    • The vertical center of the plot is zero, the location of the sun.  Note annotations on left side.
      • The upper half shows western elongations, eg, the morning sky just before sunrise.
      • The lower half shows eastern elongations, eg. the evening sky just after sunset.
    • Phase descriptions of the moon are annotated on the right side of the chart.
      • The moon is Full when its elongation is 180° or equivalently -180°.
      • The moon is New when its elongation is 0°
      • The first quarter moon occurs at -90° , eg.in the evening sky.
      • The last quarter moon occurs at 90°, eg. in the morning sky.
    • The marker size shows the relative magnitude (brightness) of the planets (but not the moon).
    • The markers are placed every four days along each curve.

The data for the chart was calculated once a day at 00:00 UTC with a Python script using the PyEphem package.  The data was then imported into IGOR Pro to be plotted.

More on Microseisms

The previous post gave me some confidence to suspect that storms in the north Atlantic basin may give rise to much of the microseism activity I see on my seismograph. Earlier this winter I ran across a public US Navy web page that shows the results of computer modeling of significant wave height in the north Atlantic and have been visually comparing those plots to my microseism activity. At least on some qualitative level this new information continues to support the notion that the microseisms I see result from storms at sea. Take a look at the two examples below.

On Jan 14, 2017, the seismograph was quiet so I looked at the significant wave height model to find that it was also very quiet:

seis_jan14201701z

sigwav_jan14201700z

Today, Feb 14, 2017 the seismograph is very noisy:

seis_feb14201713z

Take a look at the Significant Wave Height now.  The wave heights at the center are in the upper 30 to mid 40 feet values!

sigwav_feb14201706z

I had actually predicted that this would happen on Feb 11, 2017 by looking ahead at the Significant Wave forecast given by the model.  If I can find access to the gridded data or come up with a way to at least roughly re-digitize these charts I will try to see if there is a simple relationship and correlation between the wave height, the distance from the seismograph to the center, etc. and the amplitude of the microseisms.

This suddenly makes the microseisms, which used to be more of an annoyance, now almost as interesting to watch as the earthquakes.

Whence Microseisms?

 

8_11_2016

Normal Seismogram

10_8_2016

Noisy Seismogram showing Microseisms

 

 

 

 

 

 

 

In the twelve years or so that I have been observing earth motions on my home built seismograph I have been puzzled by the occasional appearance of noisiness in the seismometer trace. I have read about these microseisms and tried unsuccessfully to identify a source of them. The literature always identifies storms at sea as the main cause but I discounted that explanation because of my location in Ohio and the fact that I don’t have a professional, broadband seismometer. So I looked at local wind speeds and wind gusts buffeting the house or moving the trees so much that their roots move. I have looked at local barometric pressure and temperature changes even monitoring the temperature inside the enclosure which contains my seismometer. I have wondered whether there is something in my amplifier electronics that might explain these tiny signals. Nothing worked out.

Earlier this month, I noticed that they were back and that they were growing quite strong. Then it occurred to me that Hurricane Matthew was approaching the east coast of Florida at the same time. Maybe the microseisms I see can be attributed to storms at sea!

I began a closer look at this by downloading time series data about the hurricane from the National Hurricane Center ftp site.  I wrote a python script to load the data from the downloaded file and plot the track of Hurricane Matthew and other information I thought might be important such as the maximum sustained wind, central pressure, and the distance of the eye from my home in Millersburg, Ohio which I calculated from the location data.

matthew_track

Note that P0 marks the location of the seismograph in Millersburg, Ohio.

I also downloaded a bundle of specialized microseism analysis tools from the IRIS (Incorporated Research Institutes for Seismology) software site.  This software is designed for advanced study using professional grade, broadband, multi-channel seismographs.  As such, I have most likely not applied it correctly, in fact bypassed important calculations, etc.  Having said that I hope that the “relative” analysis I did shows some direction toward a qualitative relationships between storms at sea and the microseisms I see recorded on my seismograph.  Here is what I found.

microseis_plot1

This data includes Local, Secondary, and Primary Microseism energy.  I chose to use the Primary band data since they all show similar qualitative response.  Hurricane Matthew dissipated  on Oct 10 and the NHC data file was closed and no more data was added.  More on that later.  I snipped the microseism graph off at Oct 10 and compared to the Hurricane central pressure and distance to the eye:

matthew_actualdata

Actual (non-inverted) data

This is a little hard to visualize in part because one would think that the microseism energy might be inversely related to both the distance and the central pressure.  We can look at the same information taking this into account by plotting the reciprocal of both quantities:

matthew_inverted

Inverted data (see text)

The last chart is the closest to correlated data that I have seen in twelve years or so of trying to figure this out.  Not perfect due to many known and unknown reasons but something for me now to be aware of when I see this noisiness show up.

The proximity of the storm seems predominant.  The central pressure seems to lead the microseism energy.  And finally, the original microseism graphs that went out to Oct 13 showed the noise staying high long after the NHC downgraded the storm.  Presumably, the ocean does not calm immediately after the storm dissipates.  An unmentioned complication in this study is that Hurricane Nicole was also present and strengthening during this time period further out in the Atlantic.

New Live Seismograph Display

jMBGOH

A year or so ago, I upgraded my seismograph software from the original IRIS AmaSeis program to an upgraded version based on Java called jAmaSeis.  I ran the new software on a little Asus netbook.  The helicorder display that I uploaded to the Live Seismograph page on this site was just a screen shot of the active window every five minutes.  The little netbook was at its performance limit and the screenshot made it impossible to do any analysis anyway.

This fall I built up a Linux desktop computer running XUbuntu 14.04LTS and installed jAmaSeis on it.  I downloaded from the IRIS website and followed the basic instructions for installation given on the same site.  With a little fiddling around, I got the software running.  I plugged in the Dataq DI-145 USB Analog to Digital converter…the software could not find it.  I fiddled around with it for a long time with no success.  I could see the device appear in /dev as ttyACM0 when I plugged it in.  After giving up on it a couple of times I finally created a symbolic link from ttyACM0 to ttyS32 where the seismograph software would detect it.  I do this manually every time the computer reboots or the ADC is unplugged.  I plan to write a udev rule to do this automatically.

To get the helicorder display for the Live Seismograph page I use an open source package of seismology tools for Python called Obspy.  jAmaSeis writes the data stream in one hour long segments in sac formatted files arranged in a time based directory structure.  The Obspy stream manipulation tools allow one to easily build a continuous 24 hour data stream from the jAmaSeis files and plot it in a moderately flexible way in a Python script.  This method yields several improvements over the screen shot.  The date and time are unambiguously shown on the vertical axis and the traces alternate through four colors to differentiate the hour in which an event occurs more clearly.  The Python script runs as a cron job every five minutes.

The Obspy package also provides tools to parse QuakeML documents which I obtain from a USGS feed inside the same script that plots the data.  After parsing each event, I use the obspy.core.util.locations2degrees tool to find the distance from the epicenter to my station.  The script then annotates the helicorder display with seismic events selected using magnitudes and distances that might be detected with my seismograph.  This selection is arbitrary so there will be some that show on the trace without annotation and others will be annotated when there is nothing showing on the trace.

M4.0 – 8km S of Galesburg, Michigan

jMBGOH

A Magnitude 4.0 earthquake occurred in southern Michigan at 12:23 EDT this afternoon generating a very clean signal on my seismograph at Millersburg in northeastern Ohio.  The analysis I did using jAmaseis estimated the distance to the epicenter to be 353 km.  The Google Earth ruler measured 348.5 km.  The signal overlaid on the jAmaseis travel time curves is shown below.

jMBGOH-MI150502

Software Defined Radio — Installing the NooElec NESDR Mini 2 for Linux

Motivation

I will take the opportunity now to stop and review where I am with the Satellite Tracking project that my older son and I started several years ago. In 2009 we recorded several passes of a now decommissioned amateur radio satellite named HAMSAT (VO-52). With attention to the timing accuracy of the recording, I was able to estimate slant range from the receiver to the satellite as a function of time using a simple Doppler Shift model. I have then recently developed a Python script to estimate the actual location (eg. latitude/longitude of the ground track, altitude, and azimuth/elevation) of the satellite given the range/time data from three ground stations of known latitude and longitude.

The project now has some momentum in the direction of a real test sometime in the future raising the question of what radio receivers I should consider. My son has suggested the use of Software Defined Radio, a concept I like very much because it is in line with one of the unstated goals of most of my projects to do as much as you can with as little financial cost as possible. A month or so ago he mentioned Gnu Radio and a hardware device known generically as a DVB-T Dongle based on a Realtek RTL2832U circuit. The interface between GNU Radio and the dongle uses the RTL_SDR codebase as discussed at http://www.rtl-sdr.com/rtl-sdr-quick-start-guide/ and http://sdr.osmocom.org/trac/wiki/rtl-sdr. I invested $25 to see if I could make it work. It is not a plug and play device and it does take a little work to get it operating so I am documenting what I had to do as a blog post here.

Acquiring and installing the NooElec NESDR Mini 2

While there are a lot of DVB-T dongles available, I purchased the NooElect NESDR Mini 2  on Amazon plus a PL-259 pigtail for it. Dongles from some suppliers take a long time to ship and defective devices are reportedly common.

P1030079

 

I am programming this project in Python and decided that the best platform for the project was Linux so I installed the radio on a Dell Vostro notebook with 2 GB RAM and a 2 GHz Intel core duo processor running a brand new installation of XUbuntu 14.04 LTS. After reading several websites it looked like most pointed to osmocomSDR. There is a lot of information there. I have extracted only what I did to get up and running. My inexperience with Linux will become evident.

I downloaded the software as a package release as described on the website and extracted the archive. I tried to build the software following the instructions at osmocomSDR but the build threw several dependency  errors. Save yourself some time and install these before you start.

Here is the build sequence using cmake:

cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

cmake was not installed so I did a

sudo apt-get install cmake

and tried again. This time the error was that the libusb1.0 library was not installed. The osmocomSDR website very explicitly says this is required. In my previous experience with Linux I have used the synaptic package manager to download things like this but it is no longer installed by default. Most of this stuff could have been install from that…I have installed it now, after the fact. I downloaded the build package for libusb1.0 from SourceForge and extracted it. It threw an error in the configure step that libudev was not installed. I installed it from the Ubuntu Software center.

After that the build as described on osmocomSDR went smoothly to completion.

The installed codebase has several command line programs so I ran the first one described on the website

rtl_fm -f 96.3e6 -M wbfm -s 200000 -r 48000 – | aplay -r 48k -f S16_LE

I was greeted by the gentle hiss of a radio that was tuned to dead air. I exited and edited the command to

rtl_fm -f 95.3e6 -M wbfm -s 200000 -r 48000 – | aplay -r 48k -f S16_LE

our local FM station. This time I was greeted by the local high school girls basketball game at the some kind of state championship or something. I must admit that I was never so happy to hear a basketball game as I was this one.

Then I installed a SDR called GQRX from the Ubuntu Software Center. After fooling with the controls (mainly the receiver gain which is set to automatic by default) I got it working too…the blue LED in the lower right is the dongle.  Shown here tuned to a nearby repeater for our regional NPR station.

 

P1030077

Finally, I downloaded Gnu Radio from the Ubuntu Software Center and prepare to build the rtl_sdr source block for it.  I ran the Gnu Radio Companion first though and was surprised to find the Osmocom rtl_sdr block already there.  I had installed Gnu Radio on another identical install of XUbuntu and there were no sources shown.

Here is a screen shot of Gnu Radio Companion ready to build a radio based on the rtl_sdr dongle.  I will describe that too once I figure out how to do it.

rtl_sdr_gr_block