Can Earthquakes be censored?

Conspiracy theories are becoming mainstream: Due to the ongoing Coronavirus crisis, more and more people, even some VIPs, share theories about a secret world government, underground facilities and kidnapped children. Some conspiracy theories also include earthquakes. One of the keypoints of many earthquake conspiracy theories is that USGS or other governmental institutions are censoring earthquakes, either to hide their real cause, to let people believe that "everything is fine" or for some other very creative reason. 
In the following lines I am going to explain you how censoring of earthquakes is possible or not and how you can check it on your own!

To understand how it all works it is essential that you also understand the basics of earthquake detection and seismology, so let me break down the most important things for you:

What you feel (or not feel) as an earthquake is basically a sudden movement of large rock segments that happens along a fault line within the earth's crust (hypocenter). Faults are some kind of border and weakness zone between rock segments and tectonic plates. During this movement, seismic waves (what we feel or not feel) are radiated in all directions. Depending on rock properties, depth and other physical parameters, different kind of seismic waves propagating with different velocities and different ways of reflection.
Seismometers are able to detect seismic waves, even if they are too weak to be felt by humans. The intensity of seismic waves usually decreases with increasing distance to the hypocenter. The stronger a quake, the higher the wave intensity (not to be confused with the earthquake's intensity). This means that stronger earthquakes can be detected by seismometers in a larger distance to the hypocenter than weak quakes.

As the ability to detect seismic waves is depending on multiple physical and technical parameters, there is no rule of thumb that can tell you how far a quake can be detected. But as a rough overview we can say that microquakes (below Magnitude 2) can only be detected by stations near the epicenter within a few miles, moderate quakes (Magnitude 4 - 5) in a distance of many hundred to thousand miles while strong quakes (Magnitude 6+) are visible on recordings of (almost) every seismometer around the globe.

So far so good. What you already can take from these basics is that, even if one earthquake agency, for example the United States Geological Survey (USGS), would censor a big earthquake, all other global agencies (list of all agencies) would have to participate to sucessfully hide a quake. Even Russia and China. Seems unlikely, no?

However, Russian and Chinese agencies won't be able to detect small quakes within the United States, United Kingdom or Australia, so we need another way to find out if something is censored or not.

Although there might be some political conflicts between some countries, the scientific collaboration of national agencies has steadily improved in the last decades. For seismology this means that seismic data of more than 20.000 stations worldwide provide free, public and near-real-time data for everybody. Not only for scientists, but also for normal people like you and me. Most of these stations are located in the US, in Europe, Japan, Indonesia, but there are also some stations in remote locations of Africa, Russia and on some Pacific islands:

To find out if there is a seismometer near you (or your location of interest), check the educational IRIS website (huge amount of data, not recommended for mobile devices!). There you find this map that shows you every seismometer that is or recently was recording and providing free public data (there are options to filter the shown stations by location, network, etc.)

Accessing these data is sometimes not easy and often requires some additional software or web structure knowledge. One way that works for most seismic networks is to access the data via ObsPy, which I also use. 
ObsPy is an open-source seismological tool basing on the programming language Python that allows users to access and analyse seismic data and earthquake catalogs.
Here is an example what you can get via ObsPy: The 24h recording of a station near Salt Lake City from March 18th (UTC), where a M5.7 quake hit the city. You see the large signal shortly after 13:09 UTC and several weaker aftershocks. (The "local time" in the y axis on the left is my local time (CEST), not the Salt Lake City local time.)

However, working with ObsPy is not always straight forward and it requires some software installations. But if you are really interested in seismic data and earthquakes (for checking censorship or for other reasons), it is worth to spend 30 minutes or so to install everything. As soon as ObsPy is running, you can get unlimited and free data access within seconds.

There are multiple ways to work with ObsPy and Python. You will find different solutions via Google but this is the way I am working with it:

First you need to install a software package called Anaconda. It is free and available here for Windows, Mac and Linux. This website also gives you a guideline how to install Anaconda, although it is similar to most other softwares.

As soon as Anaconda is installed, you can open the Anaconda Navigator. Now it gets more technical and you will need to work with programming commands. If you don't have programming experience, this might be confusing for you at the beginning but if you follow the installation instructions, nothing should go wrong (famous last words, I know...).

Within the Anaconda Navigator you see a sidebar on the left, giving you the options "Home" (default), "Environments", "Learning" and "Community". We will only focus on the installation and use of ObsPy here. If you want to know more about Anaconda (which can be very useful in many situations), you will find good online tutorials.
The module ObsPy is not installed by default so you will need to install it manually. If you click on "Environments" it shows you the modules that are installed. Directly after installation of Anaconda you will only have a "base (root)" environment. For further work a new environment needs to be created. Click on the little triangle (like a play-button) next to the "base (root)" environment on the left and "Open Terminal".

Now follow the instructions on the ObsPy-Github page. Basically you will only need these commands:

conda config --add channels conda-forge
conda create -n obspy python=3.7
conda activate obspy
conda install -c conda-forge obspy

These commands will create a new Anaconda-environment (called obspy) where the ObsPy module is installed.

After installation you can close everything. In the Anaconda Navigator you will now see your second Environment obspy. In the "Home" menu you can choose the "obspy" environment in the select menu above. When "obspy" is chosen, you can "Launch" the software tool Spyder. Spyder is an easy way to create and run Python codes. You will need this to write your code to access seismic data.

For a detailed description how to retrieve seismic and earthquake data, read the ObsPy Tutorial. To keep it simple here I will just give you the code you need to run in Spyder including some comments. As you can do it in Spyder, all comments are given behind a #. This will not influence the functionality of your code lines.

from obspy.clients.fdsn import Client
from obspy import UTCDateTime
client = "IRIS"
#Code of the Data Client, here Iris
network = "UU"
#Network code, here Utah Regional Seismic Network
station = "CTU"
#Station code, here Camp Tracy, Utah
Loccode = "01"#Location code
Channel = "HHZ"
#To get these parameter, click on a station and on "More Information"
#(Page for this example from Salt Lake City)
starttime = "2020-03-18T00:00:00.000"
endtime = "2020-03-19T00:00:00.000"

# Timeframe for which you want to retrieve data (in UTC)
t = UTCDateTime(starttime)
t2 = UTCDateTime(endtime)
client = Client(client)
st = client.get_waveforms(network,station, Loccode, Channel, t, t2)

#Plots the station data as a dayplot as shown above.
#For short timeframes (seconds to minutes) a normal plot is recommended:

Don't forget to "Run" the code by clicking on the green triangle in the top menu. Although the comments above are shown in my screenshot (in gray), they are not needed and you don't have to copy them althoug it is always useful to have a reminder what each element of your code is doing.

By changing the parameters "Client", "network", "station", "Loccode" and "Channel" you are able to access almost every station in the world. But note that some stations might have temporary outages due to defects or maintainence.
If you want to see if an earthquake occurred in your location of interest, choose a station on IRIS homepage, type in the available parameters and timeframe and it will plot you a seismogram. If you see a strong signal on your plot that looks similar to the Salt Lake City seismogram above, it is very likely an earthquake. But note that also strong quakes in greater distance and even on the other side of the world can be seen on most stations. Having an earthquake signal doesn't necessarily mean that this quake occurred near the station (which sometimes leads to wrong detection, aka "Ghost Quakes", of some local networks). Also blasting, for example in quarries, can cause similar signals.

Some useful links telling you how to read and understand a seismogram:

So, to come back to our initial question, for checking if a quake was censored or not (or simply to see if a quake happened at one location), follow these steps:

  1. Choose a station near the (suspected) epicenter and retrieve the data via ObsPy. Make sure that you use the right Channel, recommended for local quakes are HHN, HHE, HHZ, EHE, EHN, EHZ.
  2. If you don't have a signal, nothing has happened. No quake, nothing that could have been censored.
    If you have a signal, make sure that it does not originate from a distant quake. Check earthquake data on USGS, EMSC, Geofon or here on Earthquake Report to see if some big or very deep quake occurred in the minutes before your time. It may take 20 minutes or more before the seismic waves arrive at your location, depending on the distance.
    Note tha
  3. Choose another station. Sometimes one station may have some technical issues, especially in the days after a massive nearby earthquake. Data providing can also be delayed by several minutes up to hours and days, depending on the network. Usually Spyder gives you an error message in these cases.

So the answer is: No, earthquakes cannot be censored as long as everybody in the world has the option to access the data.

However, some people might say that all governments in the world are working together to hide the truth. In this case there are luckily some private seismic networks, for example the Raspberry Shake Network, where everybody can buy and install a seismometer. These station data can also be accessed via ObsPy by using
client = Client("base_url='")
You find an overview of all active stations here. Note that the Raspberry stations usually send data with 30 minutes delay.

You see: Nothing is hidden. Nothing can be hidden. Thankfully most data are made available for public and once you know the ways and understand how it all works, it is rather easy to get them. Using tools like ObsPy and other Python modules one can also be able to find out how strong the shaking was, plot earthquake catalogs on maps or even to earthquake location and magnitude determination on his/her own. This would go too far for now but if you would like to do some private research on earthquakes, ObsPy is a great tool to start, even for non-scientists. Although it might be easier to just believe in copnspiracy theories and their simple explanations, isn't it better to get a real and complete understanding how earthquakes are working?

If you have any questions regarding Anaconda, ObsPy and data retrieving, please use the comment section below.