Applying enhancements to Geo2Grid imagery

July 3rd, 2020 |

GOES-16 ABI Band 13 (10.3 µm) Infrared Imagery from 1550 UTC on 2 July 2020, with color enhancement added, and with annotated colorbar (Click to enlarge)

geo2grid (see this recent blog post) is a handy software package that allows anyone to create useful satellite imagery. Recent blog posts that document how to use geo2grid have shown visible or red-green-blue (RGB) composites. Individual infrared bands can also provide useful information, and this blog posts describes how you can create infrared imagery to which a useful color enhancement has been applied.

Step 1, as always, is to find data. NOAA CLASS has archived Level-1b Radiance files; these are the data that geo2grid expects, and the naming convention of the files is also what geo2grid expects. Amazon Cloud Services can also offer correctly-named data. (This blogger is aware of some users who have retrieved data from Google, and those files did not follow the expected naming convention).

The animation above compares an infrared image from 1550 UTC on 2 July over the northern part of the United States. The grid is described in this blog post and was used for convenience. (Of some importance: The grid created has dimensions of 1500×800). The original grey-scaled image is shown (with coastlines overlain), then a color enhancement is applied, and finally a script is run to annotate the colorbar.

The geo2grid command used to start the image creation was:

./ -r abi_l1b -w geotiff -p C13 -g PADERECHO --grid-configs $GEO2GRID_HOME/PADERECHO.conf --method nearest -f /arcdata/goes_restricted/grb/goes16/2020/2020_07_02_184/abi/L1b/RadF/

This creates a Band 13 (the -p C13 flag) grey-scaled geotiff (-w geotiff) from data at the archive site specified ( -f /arcdata/goes_restricted/..../ ), reading Advanced Baseline Imagery Level-1b imagery (the -r abi_l1b flag), and using nearest-neighbor interpolation to a pre-defined grid (“PADERECHO”) to transform the projection from the default satellite projection (That’s this part of the command: -g PADERECHO --grid-configs $GEO2GRID_HOME/PADERECHO.conf --method nearest). Note that by default, the geotiff created is 8-bit (in contrast to the 11-bit imagery; some information is lost.) You can create geotiffs with full bit depth. For this example an 8-bit image is being created.

The add_colorbar shell applies a color enhancement to the grey-scaled geotiff image that geo2grid creates. For the image in this blog post, I used this invocation:

./ ../../enhancements/IR4AVHRR100_colortable.txt GOES-16_ABI_RadF_C13_20200702_155021_PADERECHO.tif

This colorbar must be pre-defined by the user. The format of the colortable (“IR4AVHRR100_colortable.txt”) is a comma-separated list of greyscale values (0-255 for the 8-bit geotiff that is created) followed by Red, Green, Blue and Transparency values. (Documentation is here. The file used for this example is here — courtesy of Jim Nelson, CIMSS) The colortable is applied to the geotiff image and a separate image (.png in this case) is created. You will note that this bi-linear enhancement is various shades of grey for bit values 0-152, then different colors for values 153-255.

How do you associate the color with a temperature? For a bi-linear enhancement as used for Band 13, this is not simple. With knowledge of the calibration used, or with access to a system (such as McIDAS-X or McIDAS-V) that includes the calibration, it is possible to associate the greyscale values with temperature values and then use annotation software such as ImageMagick to write in values, with a command such as:

convert INPUTFIELD_with_Coastline_Colorbar_Enhanced.png -fill white -pointsize 24 -annotate +997+28 "-30" InputField_with_CoastLine_Colorbar_enhanced_-30Label.png

This must be done for each label you want to add to the image, but a shell script does this easily, and once done, you have something that you can use for any image that is the same size: 1500 pixels wide. The spacing between the -30ºC, -40ºC, -50ºC… labels on the color bar is constant in this example. Thus, once two values are known and placed, it’s simple to compute the offsets for the other temperature values.

Polar2Grid colorbar functionality is a bit more comprehensive than Geo2Grid. When a colorbar is created in Polar2Grid, metadata on the minimum and maximum values are inserted into the geotiff. This allows automatic generation of colorbar labels (for a linear scaling only) as shown in this excellent example of documentation!

Fancy some time on the Lake? ACSPO SSTs show the warmest (and coolest) waters

July 1st, 2020 |

ACSPO Lake Surface Temperatures over Lakes Erie and Ontario, early morning on 01 July 2020 (Click to enlarge)

Advanced Clear-Sky Processing of Oceans (ACSPO) Sea Surface Temperatures (SSTs or, in this case, Lake Surface Temperatures, LSTs) are available via an LDM feed from CIMSS for insertion into AWIPS.  Clear skies over the lower Great Lakes (Erie and Ontario) for the morning overpasses of Suomi NPP (orbit paths, from this site) and NOAA-20 (orbit paths, from this site), toggled above, allow for an accurate depiction of lake surface temperatures.  Warmest Lake Erie temperatures are in the western part of the lake (mid-70s), with low 70s along the southern shore of the lake.  Surface temperatures are in the upper 60s on the Ontario side of the lake, with the exception of warm temperatures in Long Point Bay.

In Lake Ontario, temperatures are warmest over the southwest part of the Lake (almost 70!) and coolest along the north shore (low/mid 60s).  Note that the region that is warmest does have a different signal in the True Color imagery, below, cropped from an experimental CIMSS website (VIIRS Today).

NOAA-20 True Color imagery over western Lake Ontario, 30 June 2020 (click to enlarge)

ATMS imagery available via LDM from CIMSS

June 18th, 2020 |

GOES-16 ABI Band 13 (10.3 µm) “Clean Window” infrared imagery and Suomi-NPP ATMS 89.2 GHz Brightness Temperature 0753 UTC on 18 June 2020 (Click to enlarge)

CIMSS can now supply 88.2 GHz imagery from the Direct Broadcast antennas in Madison. Data from the Advanced Technology Microwave Sounder (ATMS) on Suomi NPP and NOAA-20 is processed by CSPP and is provided via an LDM feed. The toggle above shows GOES-16 ABI Clean Window Infrared (10.3 µm) imagery and the 88.2 GHz imagery from ATMS and the morning pass on 18 June 2020.

There is a stark contrast between land and water in clear skies because of the low emissivity of water in the microwave.  Convective clouds over northern Plains and central Canada also have a big impact on the microwave signal.  In the Gulf of Mexico, the colder region shown (yellow in the color enhancement) has a brightness temperature around -48º to -55º C, and it is surrounded by regions (green) with brightness temperatures in the -25º to -40º C range.  Emissivity can be affected by wind speeds (that generate small waves); low clouds can also affect (warm) the emissions detected.


Inferring wind speed from ACSPO SSTs

June 17th, 2020 |

ACSPO Sea Surface Temperatures on 16 June 2020 from 1811 UTC (from Suomi NPP), 1903 UTC (from NOAA-20) and 1955 UTC (from Suomi NPP again) on 16 June 2020 (Click to enlarge)

The animation above shows Advanced Clear-Sky Processor for Ocean (ACSPO) sea-surface temperatures at three different times on 16 June: 1811 UTC (using data from Suomi NPP), 1903 UTC (using data from NOAA-20) and 1955 UTC (using data, again from Suomi NPP). (Orbit paths for the satellites can be viewed here). Note that the default color map bounds for these images has been changed to be from 50º F to 90º F.

Compare the 3 images above to the 0727 UTC 17 June SST analysis, below, or to the SST analysis from 1924 UTC on 15 June 2020, at bottom. In all the analyses, mid-Gulf SSTs are fairly constant around 82º F. Shoal waters south of Louisiana or off the coast of southwest Florida show very warm temperatures on the 16th. This kind of near-shore warming can occur during the day when winds are weak and wave action is small. (The 3 surface charts from 1800 UTC on 14, 15 and 16 June, shown here, show a weakening in the winds with time over the northern Gulf of Mexico.) As winds and wind-driven waves slacken, the amount of turbulent mixing at the ocean surface decreases, allowing for the surface skin of the ocean to become very warm; that warmth is detected by the satellite. Winds and waves do not slacken in the central Gulf; vertical mixing in the top of the ocean in that region does not change. (The relationship between winds and sea surface temperatures has been discussed on this blog in the past; see here, for example.)

Large diurnal changes in near-shore sea-surface temperatures very often indicate slack winds and small waves.

ACSPO Sea Surface Temperatures at 0727 UTC on 17 June 2020 (from NOAA-20) (Click to enlarge)

ACSPO Sea Surface Temperatures at 1924 UTC on 15 June 2020 (from NOAA-20) (Click to enlarge)

ACSPO Sea-Surface Temperatures are available via an LDM feed from CIMSS. They are computed from Direct-Broadcast data downloaded via antennas in Madison.