GOES-T 18 Preparing for a new satellite

UPDATED 08-02-2023

March 1, 2022 LAUNCH

GOES 18, was successfully launched on March 1st, 2022. I will be documenting the modifications to the software that are being made to prepare for the new GOES 18 (and GOES-19) satellites on these pages.

See my blogposts for some video and pictures of GOES-T On the Road to Launch GOES-T: Road to Launch

GOES-T being Loaded onto a C-5 Super Galaxy Nov 9, 2021

What you need to do to receive GOES 18 when it arrives on-orbit at 137.0W

GOES-T/18 Transition to Operations – Post Launch Test (PLT) Schedule and Plans.

The following plan is based on the successful launch and checkout of the GOES-T/18 Satellite. It incorporates an early drift of GOES-18 to the West orbital slot and allows for early operational use of GOES-18 ABI to supplement GOES-17 ABI imagery.

Key Dates:
Launch: March 1, 2022
Post-Launch Checkout Part 1 at 89.5 W: Starts March 24, 2022
Drift to 136.8 W: May 16 – June 6, 2022
Post-Launch Checkout Part 2 at 136.8 W: Starts June 7, 2022
Interleaving GOES-18 ABI through GOES-17 GRB: August 1 – September 6, 2022
Instrument and product tests: September 6 – December 12, 2022
GOES-West Operations Declaration January 3, 2023

Key Dates:

LaunchMarch 1, 2022
Reach Geo Stationary OrbitMarch 14,2022
Second stage solar array deploymentMarch 14,2022
Drift to 89.5°WMarch 15=March 23, 2022
Post-Launch-Test/Checkout (PLT) Part 1March 24 – May 15, 2022
Drift to 136.8 WMay 16 – June 6, 2022
Post-Launch-Test/Checkout (PLT) and PLPT Part 2June 7 – January 3, 2023
1st Interleaving GOES-18 ABI through GOES-17 GRBAugust 1 – September 6, 2022
GOES-17 (GOES-West) Operations and GOES-18 Product Maturation Continues: GOES-18 Supplemental data for NWS via CloudSeptember 6 – October 15, 2022
2nd Interleaving GOES-18 ABI through GOES-17 GRBOctober 15 – November 11, 2022
GOES-17 (GOES-West) Operations and GOES-18 Product Maturation Continues: GOES-18 Supplemental data for NWS via CloudNovember 11, 2022 – January 3, 2023
GOES-West Operations Declaration January 3, 2023

This is a lot to ingest, below is the summary:

  • Transition plan swaps GOES-17 with GOES-18 as the operational GOES-West satellite Assumes successful launch and checkout of GOES-T/18
  • Incorporates early drift of GOES-18 to the West operational longitude
  • Allows for early operational use of GOES-18 ABI after Beta maturity is achieved
  • The transition plan incorporates RF conflict mitigation between GOES-17/18 X-band and T&C uplinks/downlinks
  • Users do not need to re-point antennas
  • GOES-18 will be drifted to 136.8W to complete instrument PLT activities
  • 0.4 deg offset from GOES-17 allows X-band RDL downlink from both G17/G18
  • 0.2 deg offset from 137.0W meets ground product generation requirements
  • Both GOES-17 and GOES-18 images will be re-mapped to 137.0W
  • GOES-18 ABI data available to support the August GOES-17 ABI warm period
  • GOES-18 ABI data available via Cloud interface and interleaving with GOES-17 non-ABI product data
  • After the operational transition, GOES-18 is nudged over to 136.9°W
  • GOES-17 drifted to 104.7W and placed in on-orbit storage.

GOES 18 will be transmitted in the same frequency as 16 and 17, BUT, while it is in outgassing and instrument testing at 89.5° It will only be using DCN (Data Collection Network) DSN and NASA GN used during launch and orbit raising, Those frequencies are –
DSN Telemetry
2211.041
RHCP
2211.04
NRZ-L/BPSK/PM
1024 kHz sub-carrier
32 kbps CCSDS, on-orbit mode
4 kbps CCSDS, safe hold mode

DSN Command

RHCP
2036.0
NRZ-L/BPSK/PM
16 kHz sub-carrier
1 kbps CCSDS CLTU, safe hold mode
4 kbps CCSDS CLTU, on-orbit mode

DSN Ranging
2211.041
RHCP
2036.0
Tone Ranging
221/240 Phase coherent frequency ratio


GOES 18 Imagery during August 2022 Interleave Testing

Changes Necessary for GOESTOOLS

To successfully receive both the test imagery AND the final Imagery from GOES-18 you will need to do the following Items.

  1. Back up your goesrecv.conf AND your goesr-goesproc.conf files
  2. Update goestools to the latest version https://github.com/pietern/goestools
  3. Edit your goesr-goesproc.conf file with the following handler.

Pieter (author of GOESTOOLS) has made the necessary changes to goestools to be able to receive and process GOES 18 and 19, I am currently running the new build and have tested it with sample raw data and it appears to be working.

Updating an existing system-

  • First BACK UP your goesproc-goesr.conf, goesrecv.conf. The update will overwrite those to the basic goestools files.
  • If you are running goesrecv and/or goesproc, shut them down.
  • Then use the following to update goestools to the current version, which includes support for GOES 18 (and GOES 19)
cd goestools
sudo git pull https://github.com/pietern/goestools.git 
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
sudo make install

sudo reboot
  • Now it’s time to add Handlers for GOES 18 reception, see the next section

No realignment or frequency changes are needed once it reaches 137.0°W

Until GOES 18 takes over for GOES 17, all interleaved imagery will be sent by GOES 17 from a ‘virtual perspective’ of 137° W (combing the images from G17 at 137.3° and G18 at 137°, 0.3° apart.)

Creating new GOESPROC-GOESR.CONF file

Modified GOESPROC-GOESR.CONF for GOES 18

Note that this section must be added for GOES 18 HRIT reception.

  • Add this section to your previously backed up goesproc-goesr.conf file directly after the GOES 17 section using the nano editor or a text editor such as Notepad++ : If you are using the standard gradients and false-color LUTs, then you will need to change those as well. This is done by adding the handler section below to your goesproc-goesr.conf located in /usr/share/goestools/.
  • This Handler is written to use my Custom LUT and Custom Curve files, they can be found on this page: Custom Color Lookup Table if you do not use these, then use the same LUT and Curve files in the default GOESTOOLS Package.

sudo nano /usr/share/goestools/goesproc-goesr.conf

# Added Ability to Decode GOES-18 Products
#
# Store all original GOES-18 products.
[[handler]]
type = "image"
origin = "goes18"
directory = "./goes18/{region:short|lower}/{channel:short|lower}/{time:%Y-%m-%d}"
filename = "GOES18_{region:short}_{channel:short}_{time:%Y%m%dT%H%M%SZ}"
format = "jpg"
json = false

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

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

# GOES-18 ABI false color USRADIOGUY CUSTOMLUT NO MAP and jpg.
[[handler]]
type = "image"
origin = "goes18"
regions = [ "fd" ]
channels = [ "ch02", "ch13" ]
directory = "./goes18/{region:short|lower}/CUSTOMLUT/{time:%Y-%m-%d}"
filename = "GOES18_{region:short}_FC_CUSTOMLUT_{time:%Y%m%dT%H%M%SZ}"
format = "jpg"
json = false

  [handler.remap.ch02]
  path = "/home/pi/goes/usradioguy_goes16_ch02_curve.png"

  [handler.lut]
  path = "/home/pi/goes/usradioguycustomlut.png"


# GOES-18 ABI false color.
[[handler]]
type = "image"
origin = "goes18"
regions = [ "fd", "m1", "m2" ]
channels = [ "ch02", "ch13" ]
directory = "./goes18/{region:short|lower}/fc/{time:%Y-%m-%d}"
filename = "GOES18_{region:short}_FC_{time:%Y%m%dT%H%M%SZ}"
format = "jpg"
json = false

  [handler.remap.ch02]
  path = "/usr/share/goestools/wxstar/wxstar_goes16_ch02_curve.png"

  [handler.lut]
  path = "/usr/share/goestools/wxstar/wxstar_goes16_lut.png"

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

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

# GOES-18 ABI RGB-enhanced
[[handler]]
type = "image"
origin = "goes18"
regions = [ "fd", "m1", "m2" ]
channels = [ "ch07", "ch08", "ch09", "ch13", "ch14", "ch15" ]
directory = "./goes18/{region:short|lower}/{channel:short|lower}_enhanced/{time:%Y-%m-%d}"
filename = "GOES18_{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..
  ##
  ## For more info:
  ##
  ##   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)
  [handler.gradient.ch07]
  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)
  [handler.gradient.ch08]
  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" }
  ]
  [handler.gradient.ch09]
  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)
  [handler.gradient.ch13]
  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.gradient.ch14]
  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.gradient.ch15]
  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]]
  path = "/usr/share/goestools/ne/ne_50m_admin_0_countries_lakes.json"

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

This Handler is written to use my Custom LUT and Custom Curve files, they can be found on this page: Custom Color Lookup Table if you do not use these, then use the same LUT and Curve files in the default GOESTOOLS Package.

  • Copy the modified goesproc-goesr.conf file to the folder you call it from, on a standard goestools installation, this is typically /usr/share/goestools
  • As an example, let’s say you placed your newly edited goesproc-goesr.conf into your /home/pi/ folder, then using the following command, it will be copied into the /usr/share/goestools folder
sudo cp goesproc-goesr.conf /usr/share/goestools/
  • Once that is done:
sudo reboot
  • And if you did the edits properly, you should be good to go, now just wait for GOES 18!