GOES 16 and 17 Geo-Stationary Satellite Images
This page is moving to my new site at USRADIOGUY.COM
CLICK TO ENTER THE NEW SITE, OR YOU WILL BE AUTOMATICALLY REDIRECTED IN 5 SECONDS
Please update your Bookmarks accordingly
CLICK TO ENTER THE NEW SITE, OR YOU WILL BE AUTOMATICALLY REDIRECTED IN 5 SECONDS
This Page will be going away soon
After building a system for receiving Polar Orbiting Satellites, I thought I might try and build a system to receive geostationary GOES 16 or 17 imagery.
GOES satellites continually view the Western Hemisphere from approximately 22,300 miles above Earth. GOES satellites are designated with a letter prior to launch and renamed with a number once they reach geostationary orbit.
The GOES-R Series is a four-satellite program including GOES-R, GOES-S, GOES-T, and GOES-U. The GOES-R Series Program is a collaborative development and acquisition effort between the National Oceanic and Atmospheric Administration (NOAA) and the National Aeronautics and Space Administration (NASA) to develop, launch and operate the satellites. The locations of the operational GOES-R Series satellites are 75.2⁰ W and 137.2⁰ W, instead of 75⁰ W and 135⁰ W. These shifts eliminate conflicts with other satellite systems. NOAA also maintains an on-orbit spare GOES satellite (GOES 15) at 105⁰ W in the event of an anomaly or failure of GOES-East (16) or GOES-West (17).
The GOES-R Series broadcast services of LRIT (Low Rate Information Transmission) and EMWIN (Emergency Managers Weather Information Network) but does so at a significantly higher data capacity than the previous satellites. Through the technology of Software Defined Radio, the receiver consists of a modest amount of hardware (an antenna, low noise amplifier, RTL-SDR computer interface) at a very low cost. The bulk of the traditional signal processing, error correction decoding and data recovery and display can be done in a conventional personal computer or, with a Raspberry PI. Since they are at a fixed point in space, you do not need to track them, however, you will need a dish antenna to receive the 1694.1 MHZ frequency with a 1.205 MHz bandwidth. The Advanced Baseline Imager is the primary instrument for imaging Earth’s weather, oceans, and the environment. ABI views Earth with three times more spectral channels, four times the resolution, and five times faster scanning than previous GOES satellites. It is this ABI system that I decode the imagery from.
GOES Transmission Details:
Transmission HRIT/EMWIN 400 kbps
Freq 1694.1 MHz
Bandwidth 1.205 MHz
Modulation BPSK (Binary Phase Shift Keying)
Polarization Linear – Vertical offset
There are plenty of guides online, (I have links below). So the first step was gathering the necessary parts. Since I already had most of the parts and pieces in my repertoire of radio stuff it wasn’t too expensive at all for me, But here is a list of the parts I used
- Raspberry Pi Model 3 B+ with a 32 Gb MicroSD Card $35
- An RTL-SDR dongle: $30-$50
- RTL-SDR.COM V3 ~ or
- NooElec NESDR SmarTee ~ or
- NooElec NESDR SmarTee XTR ~ This is what I used since it has always ON bias tee for powering the LNA
- NooElec LNA SAWBird+ GOES 1.69GHz $35
- A 2.4 GHz parabolic grid antenna (Modified) $65-$120
- N-Male to SMA Male adapter $5
- Cable(s) $10
- SMA Male to Male $ 2
- Right Angle USB 6 inch Jumper $5.99
- some SMA connectors $14
- Waterproof Box $9
- A mast pole or tripod for holding the grid antenna $ 5
- Oh, yes, almost forgot, you’ll need one of two operational GOES satellites, they are a bargain at about $10.9 Billion US dollars for the operational life of the GOES series. Don’t forget the $449 Million dollar launch cost for GOES 16 and 17. But you’re in luck, the U.S. funded a portion of your new hobby!
[Grid Antenna]--[Adapter]-[(input side) SAWBird+ (output side)]-[6" pigtail]-[Nooelec SmarteeXTR]-[6" USB cable]-[Raspberry Pi]- WIFI Network
The grid dish fresh out of the box
The unassembled Grid Dish. Be sure and sand through the coating on the tabs that attach to each other to make good metal to metal contact.
Setting up and Programming your PI
***At this point I am going to let you go to each of these guides.
Note I followed this one:
—–RTL-SDR.COM GOES 16/17 AND GK-2A WEATHER SATELLITE RECEPTION COMPREHENSIVE TUTORIAL
NOTE that the above tutorial ties into this tutorial: Receive GOES-16 and GOES-17 Images with a Raspberry Pi
Both of these guides use the goestools software developed by Pieter Noordhuis and can be found here GOESTOOLS
Follow the guides step by step. Use copy and paste to set up the Rasberry PI
HINT- if you COPY from the web page, you can paste into the terminal screen on PI by right-clicking mouse, or ctrl-shift V
Those are two great tutorials, so I won’t try and redo them here. I just have some hints for the actual build and pointing and fine-tuning of grid antenna that worked for me.
- USE a GOOD manual compass. I have a Note9 Phone, and no matter how I tried it was off by at least 5-10°. The app Satellite AR, which is mentioned in the tutorial, actually placed GOES 16 about 15° off of what was correct. Here’s a PDF on how to sight a bearing with a compass Sighting a compass bearing
- When sighting in the Grid dish, I used an app for my phone to control and run the PI remotely, The app is called RaspController. This way I could monitor the VIT Averages as I adjusted the antenna, first aligning it by Azimuth (mine was 162.4°), then Elevation (mine was 38.4°). my skew was -14.2°, so I left the dish as it came.
- If you’re using a laptop or desktop, you could use Googe Remote or TeamViewer to view it on your phone.
- Be sure your antenna mount is STABLE. I found that small movement, less than a 1/4″ would seriously alter the VIT average.
- I did use the antenna modification by adding to mine 2.8cm for the reflector. It brought my vit down to 480-500. THEN by flattening out the ‘V’ shaped reflector, I got my vit down to 300’s. THEN the next day I took the spacer out and my Vertibi dropped to 150-170’s and the rs(sum) dropped from the 200’s to under 30! So my advice is to experiment!
- Speaking of Experimenting, the GUIDES I listed above get you the basics of GOES imagery, but you can receive more data than what is shown in the guides, and NOAA does add imagery from time to time as well. The EMWIN data stream has relays from HIMAWARI-8, METEOSAT, all sorts of weather data, and graphics as well. Once you have the basics up and running, take a look further down the page for how to modify the .conf files and create your own to receive other data.
UPDATE – Autostart , I added the ability to have my PI automatically start all of the goestools processes and the syncthing software on boot or after a power glitch. You can view the Processes running by /using the command ‘screen -r goesrev’ or ‘screen -r goesproc’ or, lastly ‘screen -r syncthing’ without the ‘ quotes. To stop view pres ‘ctrl A then D’. You can add other goesproc processes if you wish as well. be sure and match the file structure to your own set up!
By editing the rc.local file in the /etc/ directory on the PI as such:
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0” on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ “$_IP” ]; then
printf “My IP address is %s\n” “$_IP”
/usr/bin/sudo -u pi /usr/bin/screen -dmS goesrecv /usr/local/bin/goesrecv -v -i 1 -c /home/pi/goesrecv.conf
/usr/bin/sudo -u pi /usr/bin/screen -dmS goesproc /usr/bin/goesproc -c /usr/share/goestools/goesproc-goesr.conf -m packet –subscribe tcp://127.0.0.1:5004 –out /home/pi/goes
/usr/bin/sudo -u pi /usr/bin/screen -dmS syncthing /usr/bin/syncthing
If the ‘screen’ app is not on your PI, runsudo apt update
sudo apt-get install screen
There is also the Software from US Satcom using there XRIT Decodser software (about $125.00) as of this writing. You will still need the antennas and SDR etc. Here is a great write up by Rodney AAA6RD, Region 6 Director for US Army MARS on his GOES-16/17 setup. The write-up includes what’s required, the setup details, and the results. XRIT Satcom Guide
A full resolution image of Earth from GOES 16, from 2.12.2020 It is big 5424X5424 Pixels. the Link is HERE
Some examples of types of captures
GOES 16 Channel 09 IR (“Mid-Level Troposphere Water Vapor Band”)
Example of the various channels to be received from the Advanced Baseline Imager (ABI) (Received 4/5/2020-4/10/2020)
In addition to the baseline channels 02, 07, 08, 09, 13,14,15 there are other sets of imagery that can be received if you enable it in the goestools proc.
Here is an example of what can be received via EMWIN (Emergency Managers Weather Information Network) This needs to be enabled in separate scripting.
In addition to the baseline channels 02, 07, 08, 09, 13,14,15 and EMWIN imagery and data, you can also receive Non-Cloud Moisture Imagery Products (Non CMIP). Again, this needs to be enabled in separate scripting.
Sea surface temperature (skin) Overlayed on Full Color
Sea surface temperature (skin) Overlayed on Full Color
Goestools receives just about everything available to it sent from the Advanced Baseline Imager, but it does not, or can not decode it all. I would say 99% of goestools users only have their system set for the VC (Virtual Channels) of 02,07,08,09,13,14,15. and then goestools ‘enhances’ those CMI Band images into something like false color or say, channel 15 enhanced.
Within the stream that comes from both current GOES are other pieces of data, like EMWIN, non-CMIP imagery and data. BUT you have to enable the reception of this in goestools. Only 02,07,08,09,13,14,15 are ‘on’ by default.
In my case, I made some new config files that can receive that layer date (all of it is layered).EMWIN is the Emergency Managers Weather Information Network. Its the easiest to set up, and the command can be added to your goesproc-goesr.conf, but I prefer a separate conf file and run it when I want with a new command, because EMWIN , in addition to Himawari, and Meteosat and a lot of NOAA imagery, also send about 30,000 text messages every24 hours!
NOAA also experiments with other data that is derived from the ABI. And in the case of non CMIP (which is just NOAA slang for Non Cloud Moisture Imaging Products) This can be viewed (your already receiving it, just goestools is ignoring it, just like EMWIN) by adding code to your gooestools toolbox. Again, I have mine in a separate conf file.
You can also pull DCS data out of the stream by using goeslrit commands. There’s really a lot to experiment with. I recently got another image set called the RWPS the Regional Wave Prediction System. Showed predicted wave actions.
I don’t take credit for this, I am just experimenting with the fantastic tool that Pieter Noordhuis developed. I forked his git repository over to mine and have posted some of the custom scripts I have found or have modified into my fork of his repository.
Just so you know, I did have problems running these concurrently on a PI3, I moved everything over to a PI4 and have not had much of an issue with throttling anymore.
My github repository – use at your own risk. https://github.com/creinemann
Web Links for Setting up an RTL-SDR Raspberry PI Based GOES 16 or 17 Satellite Receiving Station
http://radiolab.dodgem37.com Authors website for NOAA, Meteor and Goes Satellite Reception
https://www.rtl-sdr.com/rtl-sdr-com-goes-16-17-and-gk-2a-weather-satellite-reception-comprehensive-tutorial/ RTL-SDR.COM GOES 16/17 AND GK-2A WEATHER SATELLITE RECEPTION COMPREHENSIVE TUTORIAL
https://gist.github.com/lxe/c1756ca659c3b78414149a3ea723eae2#file-goes16-rtlsdr-md Receive GOES-16 and GOES-17 Images with a Raspberry Pi and RTL-SDR dongle
https://fuzzthepiguy.tech/goessoftware/ Install GOES Software On A Pi
http://pytroll.github.io/ Pytroll is a modular, free and open-source python framework for the processing of earth observation satellite data.
Weblinks for GOES Data and Imagery Information
http://cimss.ssec.wisc.edu/goes/goesdata.html The GOTO for all things GOES by the University of Wisconsin
Advanced Satellite Products Branch (ASPB) ~ The Birthplace of Satellite Meteorology ~This site has A LOT of information, data, imagery, etc. Including a section on free software for image manipulation, data analysis, phone apps and more!
https://www.noaasis.noaa.gov/GOES/HRIT/products.html GOES HRIT Schedules (this is what you can download off your dish.
https://www.ospo.noaa.gov/Operations/GOES/schedules.html GOES GRB Schedules (you’ll need a bigger dish!)
https://www.weather.gov/media/crp/GOES_16_Guides_FINALBIS.pdf A PDF of all the GOES ABI channels and what they mean.
https://gifmaker.me/ This is the site the Author uses to create animations from GOES images (note, I reduce the file size of the images BEFORE uploading.
I don’t want to leave out the good folks on the other side of this planet from me so…
Anyone up for a challenge on the other side of the world from me? Sam down in Australia has developed a free opensource software to receive weather images from geostationary meteorological satellite GK-2A. Looks like his testing of it is successful. It receives it LRIT data from goestools, so you could build a system with a grid dish like those of us pulling GOES imagery, then it pipes that data into his packet demultiplexer and xRIT file processor.
Images downlinked from GK-2A are encrypted by the Korean Meteorological Administration (KMA). Decryption keys can be downloaded from KMA’s website and used with xrit-rx.
Source code and files are here: https://github.com/sam210723/xrit-rx
A tool to monitor your goestools system.
Edouard over on github has made a goestool monitor using the Grafana utility to chart out the goestools system. You can view the results via your web browser by simply entering your pi IP address (such as http://192.168.1.4:3000 (yours of course)). Instruction and the files to clone into your PI can be found here https://github.com/elafargue/rpi-tig
NOTE: this package install does require DOCKER be added to your RPI First!! Edouard does have as the first step the DOCKER installation. I could NOT get it to work. So I used this method
Steps to Install DOCKER
1. Install Docker
curl -sSL https://get.docker.com | sh
2. Add permission to Pi User to run Docker Commands
sudo usermod -aG docker pi
Reboot here or run the next commands with a sudo
3. Test Docker installation
docker run hello-world
4. IMPORTANT! Install proper dependencies
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python3 python3-pip
sudo apt-get remove python-configparser
5. Install Docker Compose
sudo pip3 install docker-compose
6. Install the RPI-TIG repository
Clone this repository, by using Git Clone
git clone https://github.com/elafargue/rpi-tig.git then
cd rpi-tig and do a single
./start.sh You should be set. After a few minutes go to you browser and type
http://192.yourRPI.IP.address:3000 (like http://192.168.2.20:3000)
At first the user name and password are both admin, you will be prompted to creat your own password. On the left hand side select dashboards, and then select “goesrecv stats”
You should start seeing data. If not then goto settings/data sources, then select Telegraf and make sure it is ticked as DEFAULT.
And this is the version I made to also monitor some of the PI systems such as temperature and CPU load, as well as the goestools information:
If you open the port on your router, you can even monitor your system from anywhere there is internet.
Provisioned dashboards on Grafana cannot be saved, so they really should be used as templates, and saved as a new Dashboard if you want to edit/modify them. this is what I did then built the additional graphs and charts onto my own copy.
It will survive a reboot as well, but if you need to shut it down, use this command within the rpi-tig directory:
Want to try some Satellite Imagery data manipulation for yourself? Try out RealEarth™ from https://www.ssec.wisc.edu/
In this example, I have already loaded the latest GOES 16 Imagery and overlaid NEXRAD radar on top. Try some different combinations, choose a different satellite–experiment! Using your mouse, drag a ‘Product” onto the map.