1. Introduction

1.1. Overview

Polar2Grid is a set of command line tools for extracting data from earth-observing satellite instrument files, remapping it to uniform grids if needed, and writing that gridded data to a new file format. It provides an easy way to create high quality projected images. Polar2Grid was created by scientists and software developers at the SSEC. It is distributed as part of the CSPP LEO project for processing of data received via direct broadcast antennas. Although Polar2Grid was created to serve the direct broadcast community, it can be used on most archived data files.

The features provided by Polar2Grid are accessible via bash scripts and binary command line tools. This is meant to give scientists an easy way to use and access features that typically involve complicated programming interfaces. Linux terminal commands included in these instructions assume the bash shell is used.

Contact Us

GitHub Repository

CSPP LEO Forum

1.2. Software Design

digraph glue_flow {
    rankdir = LR;
    node [shape = rectangle, fillcolor="#C3DCE7:white", gradientangle="90.0", style="filled"];
    "Reader" -> "Remapper";
    "Remapper" -> "Writer";
    "Remapper" -> "Compositors" [style=dashed];
    "Compositors" -> "Writer" [style=dashed];
}

Polar2Grid has a modular design operating on the idea of satellite “products” or “datasets”; data observed by a satellite instrument. These products can be any type of raster data, such as temperatures, reflectances, radiances, or any other value that may be recorded by or calculated from an instrument. There are 4 main steps or components involved when working with these products in Polar2Grid: reading, writing, compositing, and remapping. Polar2Grid makes it possible to access and configure these steps with a simple bash script called polar2grid.sh and other helper scripts. More information on accessing Polar2Grid’s features and running its scripts can be found in the Polar2Grid Basics section or the examples following each reader section. Note that although an example may be written for a specific reader the same operations can be applied to all readers unless mentioned otherwise.

For more low-level information on the design and responsibility of each component see the Software Design Overview Appendix.

In Polar2Grid a majority of the functionality is provided by the open source SatPy library created by the Pytroll group. More information on SatPy and the capabilities it provides to python users can be found in the SatPy documentation.

1.3. What’s New?

Polar2Grid Version 3.0 is now available. This is a major update that includes changes to basic Polar2Grid execution. These changes bring Polar2Grid in conformity with the execution strategy of Geo2Grid, and takes advantage of the Xarray and Dask python libraries.

Please see the example executions listed at the end of every reader description in this document, as well as the updated examples in the Examples section. Finally, the Appendix includes a longer list of changes and direct comparisons of Polar2Grid V2.3 to V3.0 executions. See Version 2.3 to Version 3.0 Command Changes.

  • New Implementation “polar2grid.sh -r <reader> -w <writer>”

  • Reader name changes and replacements

  • Writer name changes

  • NOAA20 output file names standardized to “noaa20” prefix

  • Alpha Band now included as default. Use --fill-value 0 to not include

  • Specify number of CPU’s to use --num-workers <num>

  • --list-products and --list-product-all now available.

  • Scaling “.ini” files no longer supported. Replaced with “.yaml”

For more details on what’s new in this version and past versions see the Polar2Grid Release Notes in the github repository.

1.4. System Requirements

System requirements for the Polar2Grid software are as follows:

  • Intel or AMD CPU with 64-bit instruction support (2+ cores - 2.4GHz)

  • 16 GB RAM (minimum)

  • CentOS 7.9 64-bit Linux; the software has been tested successfully on Rocky Linux 8.5

  • 5 GB disk space (minimum)

1.5. Improved Execution Times

Updates in Polar2grid Version 3.0 result in improved image creation times. The table below presents a comparison of the unix real time required to create VIIRS and MODIS imager GeoTIFF files for the given segments of data in the default WGS84 projection. In these examples, the default 4 computer threads were used in the Version 3.0 executions. Execution times decrease when fewer bands and smaller data segments are processed.

Table of Execution Times for Creating GeoTIFF Default Projection Images

Instrument Input

Polar2Grid V2.3 True and False Color

Polar2grid V3.0 True and False Color

Polar2Grid2 V2.3 All Bands plus True and False Color

Polar2Grid V3.0 All Bands plus True and False Color

VIIRS SDR 10 - 86 second granules

4m52s

2m46s

12m54s

4m32s

MODIS Level 1B 3 - 5 minute granules

4m11s

3m55s

9m08s

4m51s

1.6. License and Disclaimer

Original scripts and automation included as part of this package are distributed under the GNU GENERAL PUBLIC LICENSE agreement version 3. Software included as part of this software package are copyrighted and licensed by their respective organizations, and distributed consistent with their licensing terms.

The University of Wisconsin-Madison Space Science and Engineering Center (SSEC) makes no warranty of any kind with regard to the CSPP LEO software or any accompanying documentation, including but not limited to the implied warranties of merchantability and fitness for a particular purpose. SSEC does not indemnify any infringement of copyright, patent, or trademark through the use or modification of this software.

There is no expressed or implied warranty made to anyone as to the suitability of this software for any purpose. All risk of use is assumed by the user. Users agree not to hold SSEC, the University of Wisconsin-Madison, or any of its employees or assigns liable for any consequences resulting from the use of the CSPP LEO software.