# Geo Stationary Satellite Reception

##### Updated 11.03.2021
###### There’s a lot of information here, so I broke it down and listed it in a table of contents.

UPDATED 10/2021 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 T or GOES-18 is getting ready for launch in January 2022, I am posting the preparations necessary for receiving imagery from this GOES West replacement here: GOES-T 18 Preparing for a new satellite

#### What is a GOES satellite?

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).

GOES-13 is back again as a fully functional Satellite and it has a new name The Electro-Optical Infrared Weather System – Geostationary, or EWS-G1. It will deliver weather information to the Space Force division of the U.S. Air Force. “The little satellite that could”, propelled itself in a seven-month journey from the skies over New York to the skies over New Delhi, a distance of nearly 40,000 miles along the arc. GOES 13 is now being decoded by other enthusiasts, BUT It will NOT work with the information I present on this page. Information for Decoding EWS-G1 is here

The new transmission system was accomplished by combining the two services into a single service (HRIT -High Rate Information Transmission) with a data relay capacity of 400Kbps. This compares with the previous LRIT service at 128 Kbps and EMWIN (Emergency Weather Managers Information Network) that transmits at 9.6 kbps on the GOES I-M (8-12) series and 19.2 kbps for the GOES-NOP (13-15) series.
The new service is called HRIT/EMWIN.

Through the technology of Software Defined Radio, the receiver consists of a modest amount of hardware (an antenna, low noise amplifier, RTL-SDR, and a 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.

To amplify and filter the weak satellite signal prior to demodulation and decoding, it’s optimal to have an LNA (low-noise amplifier) placed as close to the antenna feed as possible.  Also, some filtering should be applied to suppress interference from terrestrial transmissions.  Power for the frontend amplifier(s) can be easily provided with DC bias over the coax feedline, or via a separate power supply.

With all that being said, a reminder: You need to be in a location from where you have a direct line of sight to the Satellite! Either GOES 16 or GOES 17 (or GK-2A if you’re in the Eastern Hemisphere)

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

Just a note that there are other types of transmissions and imagery from these satellites, GRB, GVAR to name a couple. Because of the complexity and higher cost of receiving these images, I am ONLY focusing on the HRIT Imagery on this page. You can find the other types of reception on other pages on this site.

## Building and programming the receiver

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

1. Raspberry Pi Model 3 B+  Or PI 4 with a 32 (or larger) Gb MicroSD Card $35-45 2. 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 3. NooElec LNA SAWBird+ GOES 1.69GHz$35
4. A 2.4 GHz parabolic grid antenna (Modified) $65-$120
5. N-Male to SMA Male adapter $5 6. Cable(s)$10
7. SMA Male to Male $2 8. Right Angle USB 6 inch Jumper$5.99
9. some SMA connectors $14 10. Waterproof Box$9
11. A mast pole or tripod for holding the grid antenna $5 12. Oh, yes, almost forgot, you’ll need at least one of four 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! Total Cost$10,900,000,231.99 (Ten billion nine hundred million two hundred thirty-one dollars and 99 cents) Start saving your change! Or consider it ‘Crowd Funded

NEW as of 10/28/2020 Nooelec has a GOES receiver bundle now being offered that contains everything needed. Includes a GOES parabolic reflector antenna, NESDR SMArTee XTR SDR receiver, SAWbird+ GOES LNA module, 10m LMR400 cable, and the other cables and adapters required for a full GOES receiver. Just follow my guides, and you are ready to go!

Amazon USA: https://amzn.to/37PNhdQ
Amazon CAN: https://amzn.to/2Je6pIi

Assembly Diagram

[Grid Antenna]--[Adapter]-[(input side) SAWBird+ (output side)]-[6" pigtail]-[Nooelec SmarteeXTR]-[6" USB cable]-[Raspberry Pi]- WIFI Network

### Building the Receiver, and Setting up the Dish and Programming your PI

I created a tutorial for programming the Raspberry PI 3 and 4 based on an amalgamation of the many tutorials available, along with my own experiences, the tutorial is here-

ALL 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 it into the terminal screen on PI by right-clicking mouse, or ctrl-shift V

I 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 RaspControllerThis 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 aware that you might get some RF noise from the laptop or computer)
• 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!NOTE, depending on the dish you are using (1.7 GHz or 2.4 GHz), the reflector may or may not need to be flipped.
• 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.

## 13 months after initial GOES 16 Build- Adding an additional DISH to the existing setup.

The Nooelec company graciously sent me one of their new “GOES Bundles they offer on Amazon to try and test. Since I have only my GOES 16 setup, I decided to run a new system for GOES 17 Reception.

GOES 17 for my location is a bit low on the horizon for me, at only 20° Elevation. And, on my property, there are not many places where the dish could get a relatively clear line of sight to the satellite. I was hoping it could go in the same location as my GOES 16 dish, but this was not feasible. So I picked a new spot and set about rigging up the system. Using the same setup procedures as outlined on my setup and pointing page I programmed a new PI4 and set up the dish. I did try something new this time. I added a layer of 1/4″ hardware cloth to the backside of the dish, in hopes of increasing reflectivity. It apparently has worked.

My first initial tests worked surprisingly well, and within about a minute after aligning the dish I was receiving GOES 17 imagery. Now the next step was to change the goesproc-goesr.conf files to allow me to use my custom LUT and enhancements on the new images.

One thing I did edit was the section on GOES Enhancements, as in my other documents the setup was primarily for GOES 16. This is the section I added:

# GOES-17 ABI RGB-enhanced
[[handler]]
type = "image"
origin = "goes17"
regions = [ "fd", "m1", "m2" ]
channels = [ "ch07", "ch08", "ch09", "ch13", "ch14", "ch15" ]
directory = "./goes17/{region:short|lower}/{channel:short|lower}_enhanced/{time:%Y-%m-%d}"
filename = "GOES17_{region:short}_{channel:short}_enhanced_{time:%Y%m%dT%H%M%SZ}"
format = "jpg"
json = false

## The following gradients are rough approximations of the
## McIDAS RGB enhancements used by NOAA/NESDIS/STAR on their site..
##
##
##   https://www.star.nesdis.noaa.gov/GOES/GOES16_FullDisk.php
##   http://cimss.ssec.wisc.edu/goes/visit/water_vapor_enhancement.html
##   http://cimss.ssec.wisc.edu/goes/visit/enhanced_v_enhancements.html

## Shortwave IR (Channel 7)
points = [
{ units = 400, color = "#000000" },
{ units = 250, color = "#b9b9b9" },
{ units = 249.999, color = "#00ffff" },
{ units = 240, color = "#000080" },
{ units = 230, color = "#00ff00" },
{ units = 220, color = "#ffff00" },
{ units = 210, color = "#ff0000" },
{ units = 200, color = "#000000" },
{ units = 190, color = "#ffffff" }
]

## Water Vapor (Channels 8 and 9)
points = [
{ units = 276, color = "#000000" },
{ units = 275.9, color = "#ff0000" },
{ units = 258, color = "#ffff00" },
{ units = 250, color = "#000070" },
{ units = 233, color = "#ffffff" },
{ units = 195, color = "#408020" },
{ units = 178, color = "#00ffff" }
]
points = [
{ units = 276, color = "#000000" },
{ units = 275.9, color = "#ff0000" },
{ units = 258, color = "#ffff00" },
{ units = 250, color = "#000070" },
{ units = 233, color = "#ffffff" },
{ units = 195, color = "#408020" },
{ units = 178, color = "#00ffff" }
]

## Longwave IR (Channels 13, 14, and 15)
points = [
{ units = 333, color = "#000000" },
{ units = 238, color = "#b9b9b9" },
{ units = 237.999, color = "#00ffff" },
{ units = 228, color = "#000080" },
{ units = 218, color = "#00ff00" },
{ units = 208, color = "#ffff00" },
{ units = 198, color = "#ff0000" },
{ units = 188, color = "#000000" },
{ units = 178, color = "#ffffff" }
]
points = [
{ units = 333, color = "#000000" },
{ units = 238, color = "#b9b9b9" },
{ units = 237.999, color = "#00ffff" },
{ units = 228, color = "#000080" },
{ units = 218, color = "#00ff00" },
{ units = 208, color = "#ffff00" },
{ units = 198, color = "#ff0000" },
{ units = 188, color = "#000000" },
{ units = 178, color = "#ffffff" }
]

[[handler.map]]

[[handler.map]]
path = "/usr/share/goestools/ne/ne_50m_admin_1_states_provinces_lakes.json"

#### Autostarting the system

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:#!/bin/sh -e## rc.local## 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# bits.## By default this script does nothing.# Print the IP address_IP=$(hostname -I) || trueif [ "$_IP" ]; thenprintf "My IP address is %s\n" "$_IP"fi##Start Goestools#/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###Start Syncthing#/usr/bin/sudo -u pi /usr/bin/screen -dmS syncthing /usr/bin/syncthingexit 0 If the ‘screen’ app is not on your PI, run sudo apt updatesudo apt-get install screen  ##### WINDOWS BASED SOFTWARE CHOICES There are just a few Windows based software packages for HRIT decoding: The first is from US Satcom using their XRIT Decoder software (about$125.00) as of this writing.  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

The Second is SatDump, which is free and can decode a lot of satellites, it is in continuous development. I have used it, and it works very well. https://github.com/altillimity/SatDump. It can decode saved signal files, or with some setup, be made to decode live, that is, as the images are received.

Other software is typically written in python or Linux and would need to be run asa virtual machine on your PC.

You will still need the antennas and SDR etc. Personally I like the PI for letting it do all the processing and decoding. All imagery and manipulation and post processing I do on my Windows based system.

Some examples of types of captures:

#### A note on False Color

GOES is color blind. That is it does not “see” in Red Green Blue (RGB), there is no ‘green’ channel. The ABI has 16 separate bands, and these are used to create a false-color image. The Near-Infrared Band or ‘veggie” (which is referred to because of the strong elected signal from the vegetated surface) can be used to fill in the green wavelength.

A number of methods have been developed to generate true-color images from the
Advanced Baseline Imager (ABI) on the Geostationary Operational Environmental Satellite (GOES)-16. GOES-16 is the first of a series of four spacecraft with the ABI onboard. This is complicated since the ABI does not have a green (0.55 μm) spectral band. Despite this limitation, representative true color images can be made. Goestools has a method using WXstar within it’s software package that uses a color lookup table (a CLUT or LUT) to generate a False Color image. Otherwise, all we would get from GOES is a greyscale image. The created (False Color) natural color aims to mimic what the human eye would see if one were looking at Earth from a distance.

NEW as of 7/22/2020 I have created a new CLUT to enhance imagery from GOES satellites using goestools, here is the link- Custom Color Look-Up Table

An example of ‘Enhanced’ False Color.

CONUS imagery from GOES 16

Example of the various channels that can be received from the Advanced Baseline Imager (ABI) (Received 4/13/2020-5/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.
The High Rate Information Transmission (HRIT) broadcast stream from GOES-16 carries a number of Virtual Channels, each identified with a Virtual Channel ID (VCID).  These channels include all imagery data, EMWIN graphics, text products, and other data products.

Here is an example of what can be received via EMWIN (Emergency Managers Weather Information Network)  This needs to be enabled in separate scripting.

#### Non-Cloud Moisture Imagery Products

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.

#### How to enable EMWIN, Non CMIP and More

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 of data (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!

NOTE: UPDATE 1/21/2021 Weather Message, a specialized commercial product to decode and process National Weather Service messages now has the ability with version 4.5 to upload the EMWIN feed into its own ingestor allowing it to work seamlessly with goestools. IMPORTANT NOTE: the Goesender and Ingestor installation will change some directories and install some new .conf files that make overwrite your existing files!

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 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. https://github.com/creinemann

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.

So, now, as an example, this is how I receive non-cmip imagery.

• On the PI (or in a text editor such as Notepad++) create a file called GOESnoncmip.conf
• Head over to my github page and copy the script from my GOESnoncmip.conf FILE SCRIPT and paste into your file.
• Save that file to you \home\pi\ directory
• Run the command goesproc -c GOESnoncmip.conf -m packet –subscribe tcp://127.0.0.1:5004 –out /home/pi/goes (or whatever directory you use)
• You should start seeing imagery come in after a minute or so.

My github repository – use at your own risk. https://github.com/creinemann

You can use the same process to set up EMWIN as well. (you could also add it to your main goesproc-goesr.conf file but I prefer to be able to run it separately)

Since you made it this far, why not join a group! The Geostationary Weather Satellite Group on Facebook is a great group and has lots of experts that can help!

### How to get rid of EMWIN text

There is a modified script that will filter out all of the texts from the EMWIN stream- thanks to Taylor who figured out a workaround in goestools that bypasses the ingestion of the 30,000 texts a day that GOES spits out in the EMWIN stream. The patch is here :
https://github.com/tmbates12/goestools/commit/2f54169cabfe05c6bfdc4f68dca0307fe7117df1

After you make the additions to the file listed on Taylors page. You need to recompile the goestools system.

MAKE A BACKUP OF ANY CUSTOM .CONF FILE YOU HAVE INCLUDING THE GOESR-GOESPROC.CONF IT WILL BE OVERWRITTEN AND YOU WILL NEED TO REINSTALL IT!!

cd /home/pi/goestools
cd build
sudo make
sudo make install
sudo ldconfig

sudo reboot

My custom goesemwin.conf and handler for text blocking in EMWIN

For information about each image band and how they are used in weather monitoring see the ABI BANDS QUICK INFORMATION GUIDES Everything you wanted to know about every band, but were afraid to ask.

https://usradioguy.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.

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.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.

#### Receiving GK-2A

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 GRAFANA 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

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

1. Test Docker installation
docker run hello-world
2. 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
3. Install Docker Compose
sudo pip3 install docker-compose
4. 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.
5. After a few minutes go to you browser and type
At first the user name and password are both admin, you will be prompted to create 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.

Here is the default version:

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:

I have a Fahrenheit and Celcius version available. You can copy the JSON file for either below, and the “import” it into Grafana
Fahrenheit Version Here
Celcius Version Here

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:
docker-compose stop

#### Animation of Imagery

So you’ve gotten a ton of images, cool, what’s next? Well, animated them! There are tools online and that you can download to take a series of images and turn them into an animated gif, like this:

Sure, it looks good, but still kind of jerky, so what to do? I learned to use a program called Imagemagick to refine, crop, animate, enhance, smooth, etc. the imagery I receive from GOES, In addition to that I use FFMPEG to further enhance the video into a smooth mp4 ‘movie as in the example below:

Imagemagick was a tough nut to crack for me. By that I mean it took a lot of trial and error to get the scripts to work right on my Windows 10 machine. Again, I have shared some of my scripts on my Custom Imagery Scripts Page You will, of course, have to modify them to work within your file structure and PC. I used batch files to run all of my scripts, which takes a bit more work than the standard Magick commands.
Lastly, I used FFMPEG to interpolate and smooth the ‘space’ between the frames to render a smoother animation.