MIRS Ice Concentration Products over the Great Lakes

January 20th, 2020 |

MIRS Lake Ice Concentration (as a percentage) from NOAA-20 ATMS at 0735 UTC on 19 January 2020 (Click to enlarge)

CIMSS is now providing via LDM MIRS Lake Ice Products over the Great Lakes. These data are created using the Community Satellite Processing Package (CSPP) Software and NOAA-20/Suomi-NPP ATMS data downlinked at the Direct Broadcast Antennas in Madison WI. Imagery is shown above from 0735 UTC on 19 January 2020; the image below is from 0717 UTC on 20 January 2020, from NOAA-20, about 24 hours later, and then from 0808 UTC on 20 January 2020, from Suomi NPP (although it is labeled as NOAA-20). A great benefit of these microwave products is that they are not affected by persistent cloud cover that is common over the Great Lakes in winter.

MIRS Lake Ice Concentration (as a percentage) from NOAA-20 ATMS at 0717 UTC on 20 January 2020 (Click to enlarge)

MIRS Lake Ice Concentration (as a percentage) from NOAA-20 ATMS at 0806 UTC on 20 January 2020 (Click to enlarge)

Ice concentration estimates from microwave are very strongly influenced by view angle. Make certain in your comparisons (if you are trying to ascertain changes in lake ice coverage during Lake-Effect Snow events, for example) that you understand this! If the footprint sizes are similar, a comparison to different passes is valid; if the footprint sizes differ, the effects of view angle must be considered. Orbital paths can be viewed here (NOAA-20 it passed right over Lake Erie at 0722 UTC on 20 January; Suomi-NPP passed over Duluth at 0812 UTC on 20 January). In the two examples above, note how ice cover estimates differ over Lake Ontario. In the later example, from ATMS on Suomi-NPP, Lake Ontario is far closer to the limb; the ATMS footprint is much larger and the estimate of lake ice concentration is affected. This toggle compares the VIIRS Day Night band image to the ATMS observations; Lake Ontario is close to the limb for NPP’s pass over western Lake Superior at this time.

For instructions on how to access these data, please contact the blogpost author. Many thanks to Kathy Strabala and Lee Cronce, CIMSS, for their work in making these data available. Click here for short video explaining MIRS Ice Concentration).

Added: A consequence of the relatively poor resolution of ATMS (compared to, say, AMSR-2 on GCOM) is that a footprint in the Great Lakes will often not be over only water or over only land. A mixed surface (land and water within the ATMS footprint) means that the ice concentration algorithm will struggle to interpret the signal and reach the right solution. Best resolution from ATMS occurs near the sub-satellite point (from 15-50 km, depending on the frequency), and that’s where this product give the best information. (Thanks to Chris Grassotti, NOAA/CISESS for this information)

Can you use NUCAPS soundings to determine the rain/snow line?

January 9th, 2020 |

NUCAPS Horizontal Temperature field, 925 hPa, at 1704 UTC on 9 January 2020, toggled with NUCAPS sounding observation points from the same orbit (Click to enlarge)

NOAA-Unique Combined Atmospheric Processing System vertical profiles of moisture and temperature are derived from retrievals that consider both infrared sounder data (from the Cross-track Infrared Sounder, CrIS) and microwave sounder data (from the Advanced Technology Microwave Sounder, ATMS). In AWIPS, the profiles are from NOAA-20 but they are also produced with data from Suomi-NPP. NUCAPS profiles from NOAA-20 and Suomi-NPP are available here (the site also includes NUCAPS profiles from MetOp satellites; those NUCAPS profiles use IASI infrared and MHS microwave data).

Polar2Grid software can be used to create horizontal fields of thermodynamic information from the vertical profiles (as discussed here). For the National Weather Service forecast offices, an extra step is taken that interpolates (in the vertical) the NUCAPS data from the pressure levels in the Radiative Transfer Model that is used in the retrievals to standard pressure levels. The toggle above compares the vertical profile points at 1648 UTC on 9 January 2020 to the  925-hPa temperature field. Note that derived field does extend outwards from the outermost NUCAPS profile: the sphere of influence for an individual NUCAPS point can be adjusted.  Note that the bounds of the temperature field have been adjusted from AWIPS defaults, and the color table has been modified so that 0º C occurs between the green and cyan values.  (A more intuitive color table for rain-snow discernment would include more color gradations in the -5º C to +5º C range).  Where the low-level thermal gradient occurs should help a forecaster determine where rain is more likely and where snow is more likely.

Dewpoint Depression at 925 hPa, 1704 UTC on 9 January 2020 (Click to enlarge)

Moisture fields are available as well at thermal fields.  Thus, the effects of evaporation might be considered.  The image above shows the dewpoint depression at 925 hPa.  Lapse rates derived from NUCAPS are also available (the one below shows the temperature change from 850 to 500 hPa). If strong vertical motion is forecast, the lapse rate and/or the dewpoint depressions fields can help you anticipate how much cooling might occur.

850-500 mb Lapse Rate, 1704 UTC on 9 January 2020 (Click to enlarge)

Note that horizontal fields as presented in NUCAPS include data from all NUCAPS profiles, thereby including points that may be ‘green’ (the infrared and microwave retrievals both converge to solutions), ‘yellow’ (the infrared retrieval failed, but the microwave retrieval converged) and ‘red’ (neither retrieval converged). It’s incumbent on the analyst to consider the impact of those profiles where convergence to a solution did not occur when using these fields.

(Thanks to Christopher Stumpf, WFO MKX, for assistance in getting these images)

Gridded NUCAPS fields are available in AWIPS

October 29th, 2019 |

NUCAPS Sounding Availability points from AWIPS, 1304 UTC on 29 October 2019, and the Temperature at 500 hPa at the same time (Click to enlarge)

Gridded NUCAPS fields (Here’s a NASA SpoRT VLab page on the product) are now available in AWIPS, effective with AWIPS Build 19.3.1. The imagery above includes a swath of NUCAPS points (called up via ‘NUCAPS Sounding Availability’) under the Satellite Tab, and the ‘S-NPP and NOAA-20’ choice there (even though, at present, only NOAA-20 NUCAPS profiles are supplied to AWIPS). A ‘Gridded NUCAPS’ choice is available right about the NUCAPS Sounding Availability, and this allows a user to choose Temperature, Dewpoint Temperature, Equivalent Potential Temperature, Lapse Rates (and more!) at different standard mandatory pressure levels (or layers, for Lapse Rates). Interpolation in the vertical has moved the native NUCAPS pressure levels (mentioned here) to standard pressure levels.

The plot above also shows the temperature at 500 hPa for the same time, 1304 UTC.  Gridded NUCAPS fields do not cover the entire extent of the NUCAPS Sounding Availability plots.  In addition, values are present for all sounding color dot points — green, yellow and red — on the theory that a user can identify the bad data visually.

The animation below shows a series of gridded fields over northern Canada, covering much of the the Sounding Availability plot.  Because of the timestamps on these different grids, they do not all time match the swath of NUCAPS Sounding Availability points. On this day, the size of some of the fields produced was quite small.  The size of the gridded region is limited by computational resources on AWIPS, and the upper limit is 20 lines of NUCAPS soundings — 600 soundings total that are horizontally and vertically interpolated. The size is also affected by the order in which the soundings appear in AWIPS. If a small chunk (say, 7 lines of soundings) comes in, then that small chunk will be processed into a horizontal grid. It’s more common that grid sizes will be closer to what occurred at 1304 UTC.

Temperature at 500 mb from NUCAPS Soundings, 1304 – 1311 UTC on 29 October 2019 (Click to enlarge)

If you look in the Product Browser on AWIPS, you will find far more data than are available under the ‘Gridded NUCAPS’ menu under ‘NOAA-20 and S-NPP’ under the satellite tab.  (Here’s just a small sample!)  For example, you can plot Ozone estimates from NUCAPS, as shown below — loaded as a grid then converted to an image.  Expect the presentation of NUCAPS horizontal fields in AWIPS to evolve with time.  In the meantime, this is a valuable data set to determine (for example) the likelihood of snow v. rain based on the 925 Temperature and Dewpoint Depression.

AWIPS Product Browser showing Ozone Estimates at 1304 UTC on 29 October 2019 (Click to enlarge)

(Thanks to Dr. Emily Berndt, NASA SpoRT, for clarifying remarks. Any errors that remain are the author’s, however!  Imagery courtesy NWS MKX)

Displaying NUCAPS values at one horizontal level using Polar2Grid

October 8th, 2019 |

Temperature at 707 hPa at 0621 UTC on 20 September 2019, from NUCAPS profiles (Click to enlarge)


NOAA-Unique Combined Atmospheric Processing System (NUCAPS) vertical profiles provide useful information derived from data from CrIS and ATMS instruments on board both Suomi-NPP and NOAA-20.  Infrared Sounder information from CrIS gives profiles in clear/partly cloud regions, and ATMS supplies information in regions that are uniformly cloudy.  (Click here for more information on NUCAPS profiles in AWIPS (profiles are also available here) ;  there are also CIMSS Blog entries on NUCAPS vertical profiles at this link, and at this link from the Hazardous Weather Testbed).

Polar2Grid is a Python-based data reader/converter designed as part of the Community Satellite Processing Package (CSPP) for Direct Broadcast data (such as found at this site);  it also works with data downloaded from NOAA CLASS.

NUCAPS vertical profiles can be used to create horizontal fields using data from pressure levels at each sounding location — each sounding generates values at the same levels that are present in the radiative transfer model used in retrieval that creates data (including levels at 852.78, 706.57, 496.6, 300 mb).  Polar2Grid can read these levels, but will not interpolate in the vertical (separate processing could be created for that).

The data that is downloaded (you might have to untar the data) from NOAA CLASS (choose “JPSS Sounder Products (JPSS_SND)” in the drop-down menu) will include file names that look something like this:


The file above refers to an Environmental Data Record (EDR) from Suomi NPP (npp is in the filename;  if these data were from NOAA-20, ‘j01’ would be there instead);  the files contains data from 20 September 2019, starting at 0622 and ending at 0623 UTC.  You might also see files with v1r0 — this flag distinguishes between NUCAPS 3 (v1r0) and NUCAPS 4.3 (v2r0).  Polar2Grid will read both.

After ordering and downloading the data from NOAA CLASS, and downloading and installing the Polar2Grid data, use polar2grid to create a field (in this case, using multiple EDRs between 0620 and 0650 UTC that have been downloaded into the /data-hdd/NUCAPSFromCLASS/ directory:

$POLAR2GRID_home/bin/polar2grid.sh nucaps gtiff -p Temperature_707mb –grid-coverage 0 -vvv -f /data-hdd/NUCAPSFromCLASS/NUCAPS-EDR_v2r0_npp_s2019092006*.nc –rescale-configs Temperature.ini –distance-upper-bound 200

$POLAR2GRID_home has been defined using the unix export function, and it tells the package into which directory Polar2Grid was installed.  ‘nucaps gtiff’ tells the software that it will be reading nucaps data and outputting a geotiff file.  The ‘-p’ flag controls which product is being created, in this case Temperature at 707 mb — the integer value closest to the 706.57 mb level in the Radiative Transfer Model (the valid pressure values can be determined by inspecting the netCDF file and finding “Pressure” values).  (Other variables that can be displayed are listed at this website). The ‘-f’ flag directs the software to the directory holding the downloaded data; –distance-upper-bound 200 controls how far a data point extends its influence.  By default Polar2Grid will automatically rescale fields based on the data’s maximum/minimum.  To control this, create a file such as Temperature.ini, and include –rescale-configs flag.  The Temperature.ini file used  is below:


The output of the polar2grid invocation above will be a geotiff file: npp_nucaps_Temperature_707mb_20190920_062135_wgs84_fit.tif ;  note that the time/day are contained within the filename, as well as the satellite, parameter and level.

Colormaps can be applied to the geotiffs with the add_colormaps.sh script:

$POLAR2GRID_home/bin/add_colormap.sh $POLAR2GRID_home/colormaps/T200_320.cmap npp_nucaps_Temperature_707mb_20190920_062135_wgs84_fit.tif

This will overwrite the greyscale tif file with a color-enhanced image controlled by the specified color map.  In this case, I created a colormap that spans from 200 to 320 K, the wide range of data allowed in the Temperature.ini file.  That cmap is shown below.

# This is a cmap for temperatures from 200 to 320 K
# 75,0,130 is deep indigo — at the cold end
# 85 is at about 240 K — 1/3rd of the way from 200-320, 1/3rd of the way from 0-255
# 0,5,75 is a deep blue
# 129 is half-ish way from 1-255, so 260 K
# 0,200,200 is darkish cyan
# 140 is at about 265, 0, 150, 0 is a darkish green
# 155 is about 273, 255, 255, 0 is yellow
# 166 is about 278, 5K, 255,15,15 is red
# 176 is about 283 K, 255,182,193 is pink
# 186 is about 288 K, white
# 255 is at 320 K — slide from white at 288 K to grey at 320 K

Finally, apply a map to the tif file using the ‘add_coastlines.sh’ script.  I usually move the color-enhanced tif file into the $POLAR2GRID_home/bin directory to do this, and for this case executed this command:

$POLAR2GRID_home/bin/add_coastlines.sh npp_nucaps_Temperature_707mb_20190920_062135_wgs84_fit.tif –coastlines-resolution=f –coastlines-level=6 –coastlines-outline=’magenta’ –add-coastlines –add-grid –add-borders –borders-level 1 –borders-resolution h

This will create a .png file.  I’ve done this with two 707-mb temperature fields, with different –distance-upper-bound values:  200, and 100, as indicated.  They are toggling together at the top of this blog post.

Polar2Grid v 2.3 (coming soon!) will allow the inclusion of a colorbar in the imagery.  Polar2Grid documentation can be found here.