Using NUCAPS to nowcast convective development

August 27th, 2019 |

GOES-16 Visible Imagery (0.64 µm) at 1721 UTC on 27 August 2019. A swath of NOAA-20 NUCAPS soundings from 1718 UTC is also shown, and individual profiles from the Upper Peninsula of Michigan southeastward to southwest Lower Michigan are plotted. (Click to enlarge)

The animation above shows the 1721 UTC GOES-16 Visible (0.64 µm) image along with NUCAPS profile locations from a NOAA-20 overpass. Convection is approaching from the west, from central Wisconsin. NUCAPS soundings can give a good estimate for how far south that convective line might develop, and a north-south series of profiles is shown in the imagery above.  Note in particular how soundings show increasing mid-level stability;  a strong inversion between becomes apparent between the NUCAPS Sounding just south of Door County on the western short of Lake Michigan and over eastern Lake Michigan on the Michigan shoreline.  This thermodynamic snapshot would argue that convection should not develop much farther south than central Lake Michigan!  the 1926 UTC Visible image, below, toggled with radar, confirms this forecast.

GOES-16 Visible Imagery (0.64 µm) at 1926 UTC on 27 August 2019 — toggled with Base Reflectivity at 1924 UTC (Click to enlarge)


NUCAPS from one satellite will periodically, north of about 40 N, supply profiles on two consecutive passes.  That happened on 27 August over Lake Michigan as might be expected given that the 1718 UTC pass had its westernmost swath over Lake Michigan.  The animation below shows the swath from 1901 UTC.  The strengthening inversion as you move south over Lake Michigan is apparent at 1901 UTC as well.

GOES-16 Visible Imagery (0.64 µm) at 1906 UTC on 27 August 2019. A swath of NOAA-20 NUCAPS soundings from 1901 UTC is also shown, and individual profiles over Lake Michigan Michigan are plotted. (Click to enlarge)

Using NUCAPS soundings to nowcast convective evolution

August 15th, 2019 |

GOES-16 Visible (Band 2, 0.64 µm) Imagery, 1721 – 1946 UTC on 15 August 2019. NUCAPS Sounding Points — from 1926 UTC — are present over the image at 1946 UTC (Click to animate)

GOES-16 Visible Imagery, above (Click to animate), shows shower/thundershower development over eastern Oklahoma moving into Arkansas. At the end of the animation, 1946 UTC, NUCAPS Sounding profiles from 1926 UTC are shown, and they’re shown below too.

GOES-16 Visible (Band 2, 0.64 µm) Imagery, 1946 UTC on 15 August 2019. (Click to enlarge)

The time 1946 UTC is about the earliest you could hope to have NUCAPS profiles in an AWIPS system — and only if you had access to a Direct Broadcast antenna. The more conventional method of data delivery, the SBN, means NUCAPS will be available about an hour after they are taken, so by 2036 UTC. The visible imagery at 2036 UTC is shown below.

GOES-16 Visible (Band 2, 0.64 µm) Imagery, 1946 UTC on 15 August 2019. (Click to enlarge)

At 2036 UTC, which time is about when in the forecast office the NUCAPS soundings would become available, would you expect the convection in western Arkansas to move southward, or eastward, based solely on Satellite imagery? How could you use NUCAPS profiles to gain confidence in this prediction? Visible imagery alone suggests a moisture boundary; the southern quarter of Arkansas shows markedly less cumulus cloudiness. The animation shows motion mostly to the east, with higher clouds moving more west-northwesterly. The GOES-16 Baseline Total Precipitable Water product, below, shows a maximum in TPW over central Arkansas, with values around 1.5″;  values are around 1.3″ in southern Arkansas, and around 1.2-1.3″ in northwest Arkansas.  A corridor of moisture is indicated.

GOES-16 Baseline Level 2 Total Precipitable Water at 1946 UTC; Visible imagery is shown in cloudy regions. (Click to enlarge)

Baseline Total Precipitable Water, above, part of a suite of products that emerge from Legacy Profiles, is heavily constrained by model fields, however;  the image above could simply show the GFS solution.  In contrast, NUCAPS observations are almost wholly independent of models.  What do NUCAPS profiles show? The animation below steps through vertical profiles east and south of the developing convection.

NUCAPS profiles from the ~1900 UTC overpass at points plotted over the 1946 UTC GOES-16 Band 2 Visible (0.64 µm) image (Click to enlarge)

AWIPS will soon (planned for shortly after Labor Day at the time of this post) include horizontal fields of information derived from NUCAPS vertical profiles. The images below show values computed within the NSharp AWIPS software for a variety of fields: Total Precipitable Water, MU Lifted Index, MU CAPE, MU CINH. All fields suggest that convection more likely to build eastward than to expand southward.

NUCAPS Sounding Points and derived quantities, as indicated, at 1926 UTC 15 August 2019; NUCAPS data are plotted over the 1946 UTC GOES-16 ABI Band 2 Visible 0.64 µm image. (Click to enlarge)

Convection did not move southward; motion and development was to the east. The timing of NUCAPS profiles means that they give a good estimate of atmospheric thermodynamics in mid-afternoon, a key time for assessing convective development.

GOES-16 Visible (Band 2, 0.64 µm) Imagery, 1721 UTC on 15 August 2019 to 0001 UTC on 16 August 2019 (Click to animate).

Use Polar2Grid to create VIIRS True Color imagery over one State (Missouri)

April 11th, 2019 |

VIIRS True-Color Imagery over Missouri, 1942 UTC on 9 April 2019 (Click to enlarge)

Polar2Grid allows users to create true-color imagery from VIIRS (Visible Infrared Imaging Radiometer Suite) data from Suomi-NPP or NOAA-20. This tutorial will take you through the needed steps. Step one is to decide when you want the data; the ways to determine when a Polar Orbiter overflies a particular point are outlined in this blog post, that points to this website. For this blog post I’ve chosen Missouri. The image above shows a True-Color image over Missouri at about 19:42 UTC on 9 April 2019.

To create true-color imagery, Polar2Grid requires VIIRS M-Bands 3, 4 and 5 (Blue (0.48 µm), Green (0.55 µm) and Red (0.67 µm), respectively, all with 750-m resolution); click here for a list of all VIIRS bands). If the VIIRS I-Band 1 (at 0.64 µm) is present in the directory, then that image is used to sharpen the resultant image. Polar2Grid CREFL software also performs a simple atmospheric Rayleigh scattering removal; smoke and haze will still be apparent in the imagery, however.

To create the imagery above, first order the data from NOAA Class. (Steps to follow are shown here). Download the data into a unique directory. We are going to remap these data onto a map centered on Missouri, and for that to happen, Polar2Grid needs mapping parameters. These can be generated automatically with the script that comes with Polar2Grid software. From the bin directory, I entered this command to put the grid parameters in a file .

/ missouri -93.0 38.0 500 -500 2000 2000 > my_grids.txt

The line of data entered into that file is this:

missouri, proj4, +proj=lcc +datum=WGS84 +ellps=WGS84 +lat_0=38.000 +lat_1=38.000 +lon_0=-93.000 +units=m +no_defs, 2000, 2000, 500.000, -500.000, -99.055deg, 42.352deg

Now I’m ready to generate a true-color image (corrected ceflectance — crefl — imagery) with Polar2Grid, using this command:

./ crefl gtiff –grid-configs /home/scottl/Polar2Grid/polar2grid_v_2_2_1/bin/my_grids.txt -g missouri -f /data-hdd/storage/Polar2GridData/09April/

The flags “–grid-configs <path to directory where file created by p2g_grid_help sits” and “-g map <name of map inside that file>” instruct to the Polar2Grid software to pull the mapping data for the defined grid out of the file. Otherwise, the data are in satellite projection. This invokation created a file named ‘j01_viirs_true_color_20190409_194226_missouri.tif’; I want to put a map on it so it is easier to georeference, and that is done using this shell in the Polar2Grid bin directory:

./ –add-borders –borders-resolution=f –borders-level=2 –borders-outline=’black’ j01_viirs_true_color_20190409_194226_missouri.tif

This adds a map to the image, then converts it to the png file (j01_viirs_true_color_20190409_194226_missouri.png) that is shown above.

After doing the same steps for a series of clear days in the midwest (09 March 2019, 15 March 2019, 21 March 2019, 26 March 2019, 31 March 2019), and annotating and concatenating the images in an animation, the greening up of Spring is apparent. See below.

NOAA-20 VIIRS True Color Imagery on select mostly clear days over the mid-Mississippi Valley, dates and times as indicated in the image (Click to enlarge)

Special shout-out to Dave Hoese, SSEC/CIMSS, for crafting software that is so easy to use to produce excellent satellite imagery.

Using Polar2Grid software to create JPSS Imagery

April 9th, 2019 |

NOAA-20 VIIRS Imagery (Image bands I01 (0.64 µm), I03 (1.61 µm) and I05 (11.45 µm)) at 23:25 UTC on 8 April 2019 (Click to enlarge)

Polar2Grid is Python-based software created at CIMSS/SSEC to process data from Polar Orbiting satellites into useful imagery (or into files that can be imported directly into the National Weather Service Advanced Weather Information Processing System (AWIPS) for display). (You can download it for a linux machine at this site.) This tutorial will describe where to find downloadable NOAA-20 (or Suomi-NPP) data, and how to create imagery. Thus, this blog post is similar to earlier blogs posts (here, and here) that described how to use Geo2Grid for Geostationary Satellites. Earlier blog posts showing Polar2Grid output are here and here.

There are data repositories associated with many direct broadcast antennas — but they are not always publically available. NOAA CLASS data is a reliable source for NOAA-20 and Suomi-NPP data. Typically data shows up there within six hours of its being sampled by the satellite. For a post-event analysis, this is a good data source. For near-real time investigation, it’s better to acquire data from a direct broadcast site. (Data from the Direct Broadcast antenna at CIMSS are available here.)

The first thing required at the NOAA CLASS site is to request the data that you want to access. There is a long drop-down menu (‘Please select a product to search’ is its original title) on the CLASS front page; use the drop down to select ‘JPSS Visible Infrared Imaging Radiometer Suite Sensor Data Record (VIIRS_SDR)’. This tells CLASS that you want VIIRS data from either Suomi NPP or NOAA-20. Click on the ‘Go’ button to the right of the menu bar. That takes you to a selection page.

It is necessary to log into the CLASS system. When you order data, an email is sent acknowledging the order, and a follow-on email once the data are available specifies how you can download it. The log-in tells CLASS where to send the emails.

Polar2Grid expects the data to be ‘de-aggregated’, so you must set User Preferences in NOAA CLASS to do this. Click on the ‘User Preferences’ link in the table on the left-hand side of the main NOAA CLASS Page (after you have logged in). The location is shown below in the toggle.

NOAA Class Front Page after logging in as a user. Note the ‘User Preferences’ Tab, circled in red.

Once you have entered the User Preference page, make certain that the ‘Package Geolocation with JPSS Data Products’ button is toggled to ‘No’. (Shown here) You also do want to De-aggregate JPSS Data Products. (That is, separate files for each band). In practice, this blogger finds it easier (that is, Polar2Grid complains less) if I make separate data requests at CLASS for each VIIRS band I want to view. (Update: ‘JPSS Companion Files to deliver with data’ should also be blank, as as shown at the link. This allows for one data request.)

Data requests require you to know something about the orbits of the satellites — so you can narrow down the amount of data you want. This handy website shows where all polar orbiters have been flying. Follow the links to the specific satellite and location; for example, if we’re interested in NOAA-20 orbits over Hawai’i on April 8 2019, this map shows them. The map suggests requesting NOAA-20 from 23:20 to 23:30 on 8 April 2019 will give a good view of the islands.

The data we will request are I01, I03 and I05 (0.64 µm, 1.61 µm and 11.45 µm, respectively). In addition to requesting the Sensor Data Records, it is also necessary to request, near the bottom of the page, the ‘VIIRS Image Bands SDR Ellipsoid Terrain Corrected Geolocation (GITCO) (public)’. These geolocation files are used by Polar2Grid to navigate the imagery.

After submitting the data request, and waiting a period of time (sometimes as short as two or three minutes), you will receive an email telling you exactly where the data sits, and how to access it. It will look something like this. Download the data into a directory, and you’re ready to have Polar2Grid create imagery for you. The directory for I05 (I will put data for each band in a separate directory) should include files named like this:


‘GIMGO’ and ‘GITCO’ refer to geolocation data; even though you only requested GITCO fields, CLASS will give both. That’s okay. SVI01, SVI03 and SVI05 hold data from bands I01, I03 and I05, respectively. The ‘j01’ tag signifies data from NOAA-20, or JPSS-1. For the 20-minute request I made for each band, I received 8 of each type of file.

The Polar2Grid command that creates imagery is this one: viirs_sdr gtiff -p i03 -f /home/scottl/Polar2Grid/data/viirs/I03/

The shell script is within the bin directory of the Polar2Grid software that emerges after you g-unzip and untar the file from the Polar2Grid download site. The command results in a .tif file with highest-resolution grey-scaled imagery. The image below (converted from .tif to .png) shows the scene. It’s quite large: 6876×7616 pixels!

NOAA-20 Imagery (I-3, 1.61 µm) from 23:20 to 23:30 on 8 April 2019 (Click to enlarge)

It’s useful to add maps to the imagery, and that is done in Polar2Grid after the .tif file has been created by using ‘’, also in the bin directory. The command can add coastlines (–add-coastlines), borders (–add-borders), rivers (–add-rivers) and lat/lon lines (–add-grid). Lat/Lon lines can also be labeled. When maps are added to the .tif file, the image is also saved as a .png file so the original scene is not overwritten. You can use the -o flag to rename the new file. The command I used is shown below. –add-coastlines j01_viirs_i03_20190408_231906_wgs84_fit.tif –coastlines-resolution=f –coastlines-level=6 –coastlines-outline=’magenta’ -o j01_I03_20190408_231906.png

After adding maps to all three files created, I used ImageMagick to crop the large fields to something more manageable in size (convert -crop 1520×900+2112+2409 +repage -quality 100 j01_I05_20190408_231906.png j01_I05_20190408_231906.gif, for example), and added annotation to the imagery:

convert -font helvetica -fill yellow -pointsize 36 -draw “text 70,70 ‘NOAA-20 VIIRS Image Band I01 (0.64 µm) 23:25 UTC 8 April 2019′” j01_I01_20190408_231906.gif j01_I01_20190408_231906.annot.gif

The animation at the top of this blog post shows all three images (I01, I03 and I05) sequentially.

Final note: Infrared imagery by default is not color-enhanced, and built-in enhancements are not (yet) available. Polar2Grid does support creation of colortables, however. That will be the subject of a future blog post.