2. Release Notes

2.1. Version 3.0.0 (2023-02-21)

  • 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”

  • Longer list of updates included in the documentation

2.2. Version 2.3.0 (2020-01-13)

  • Add FY-3C VIRR reader

  • Add MERSI-2 reader

  • Add VIIRS EDR Flood reader

  • Add VIIRS EDR Active Fire reader

  • Add “overlay.sh” script for overlaying active fire products

  • Add ‘–borders-width’ flag to “add_coastlines.sh”

  • Fix AVHRR reader not masking bad 0 values

  • Fix MIRS reader not using valid range properly

2.3. Version 2.2.1 (2018-04-27)

  • Fix CREFL reader not reading negative reflectances

  • Fix ratio sharpening calculating bad ratios for dark or invalid regions

  • Fix VIIRS and MODIS false color by using the green band for sharpening

  • Fix AMSR2 L1B scaling for PNG creation (amsr2_png.ini)

  • Fix NinJo writer not using backend config command line option

2.4. Version 2.2 (2017-12-14)

  • Phase out legacy <reader>2<writer>.sh scripts and replace with polar2grid.sh <reader> <writer> implementation. Although the legacy scripts are still supported in Version 2.2, they are no longer documented.

  • Add new AWIPS NetCDF writer “scmi”.

  • Add new grid definitions for 300m, 750m and 1km AWIPS SCMI tiled sectors LCC, Polar, Mercator, and Pacific.

  • Add ACSPO SST reader.

  • Add CLAVR-x Cloud Product reader.

  • Fix scaling sometimes using the wrong configuration on certain platforms.

  • Fix MODIS navigation calculations over the prime meridian.

  • Add ‘hncc_dnb’ VIIRS product.

  • Add JPSS-1/NOAA-20 support.

2.5. Version 2.1 (2016-11-25)

  • Start using Pytroll SatPy library for various features

  • Phasing out of legacy <reader><writer>.bash scripts and replacing with polar2grid.sh <reader> <writer> implementation.

  • Add ability to output float geotiffs

  • Add ability to store geotiff tiles instead of strips

  • Fix fornav bug for non-float inputs (unused in most cases)

  • Add add_colormap.sh script for adding color tables to geotiffs

  • Add add_coastlines.sh script for adding borders, coastlines, rivers, etc to geotiffs

  • Add basic NUCAPS reader (via SatPy)

  • Add VIIRS L1B reader (via SatPy)

  • Add AMSR2 L1B reader (via SatPy)

  • Add MIRS reader

  • Change default fornav-d flag in most glue scripts to 1

  • Adjust true/false color scaling to be more continuous (similar result)

  • Add AWIPS Puerto Rico Grid (210)

  • Add polar_alaska dynamic grid

  • New version of ShellB3 for C/python dependencies

  • Fix geotiff geotransform to fix “off by half-pixel” bug.

2.6. Roadmap to Version 3.0

  • Collaboration with the Pytroll project and the creation of the new SatPy library will result in large internal changes to Polar2Grid.

    • SatPy is a replacement for the internals of Polar2Grid and a replacement for the Pytroll mpop package.

    • Migrate Polar2Grid frontends to SatPy readers.

    • Use SatPy for resampling and output writers, not just some readers.

    • Rename frontends to readers, backends to writers, products to datasets.

    • The remaining roadmap bullets are subject to change based on the Pytroll/Polar2Grid merger.

  • Create new grid file format for more flexibility

  • Allow resampling parameters to be configured based on dataset identifiers (satellite, instrument, etc)

  • Further fornav updates

    • Move all module logic to C++ and remove cython dependency for this module (simple one function cython wrapper should be easy to remove)

    • Try rewriting in either opencl or use openmp for multiprocess work, but we’re getting to the point that fornav is not the slowest part of fornav (intermediate disk use)

  • Consider linking directly to PROJ.4 C library for ll2cr (removing pyproj dependency for ll2cr) to make it faster

  • Update rescaling with cython wrapper (test performance before committing to this)

    • Needs change of clipping and masking logic so that its a decorator and can be easily excluded from cython code (which would use internal logic for those steps)

  • Add proper handling for product data being kept in memory (should speed up quite a few things)

    • For better handling of in-memory data, should either let the user choose or determine it based on available memory

    • Frontend’s could choose logical default (VIIRS should probably write to disk, DR-RTV should stay in memory)

    • Glue script can use memory analysis to come up with default but can be forced by command line argument

  • Python 3 Compatibility

2.7. Version 2.0.1 (2015-10-19)

  • Fixed small bug in ll2cr where NaNs in navigation would cause a dynamic grid to never “fit”

2.8. Version 2.0.0 (2015-10-13)

  • Rewrite of entire internal structure and behavior of polar2grid (Frontends, Backends, Remapping)

  • Most frontends (VIIRS, MODIS, etc) are filename independent and try to determine type of file by internal structure

  • Frontends now do operations based on what “products” are requested and return a “scene” object

  • The polar2grid.core.meta module is added to provide structure to intermediate steps (Frontend -> Remap -> Backend) with the classes it offers

  • Backends now operate on a gridded scene as a whole (with option for operating on one product at a time for some backends)

  • A compositor role was added to provide a more flexible method of creating true/false color and other composited images

  • ll2cr rewritten in python and cython (C-like python) to be faster and more accurate

  • Grid determination has been essentially removed since “data fits in grid” decisions don’t make sense unless you are in projection/grid space (ll2cr serves this purpose now)

  • fornav has been rewritten to be accessed directly from python. The ms2gt version of fornav is no longer used.

  • The ms2gt version of fornav was also modified to be faster and is still destributed with the software bundle (for this release only).

  • GPD grids and support for them has been removed. PROJ.4 is more flexible, more widely used, and can actually support the AWIPS grids better.

  • Python setup.py files updated to better meet common practice of other python projects (READMEs, classifiers, etc)

  • Major changes to rescaling so that it can be specified independent of output data type and “increment_by_one”

  • Removed AWIPS I support due to National Weather Service using AWIPS II from now on

  • Added basic ACSPO and MIRS frontends

  • Added HDF5 backend

2.9. Version 1.2.0 (2014-08-16)

  • Fixed VIIRS CREFL C code and added custom version to repository (viirs_crefl)

  • Added ability to use ‘deg’ units on grid origin definitions

  • Latlong grids use degrees instead of radians (affects grid configurations and intermediate values in code)

  • Added wgs84_fit_250 grid

  • AWIPS grids “fixed” to actually align properly in AWIPS. The grid specification says ellipsoid earth, but my results say spherical.

2.10. Version 1.1.7 (2013-07-07)

  • Non-TC geolocation used as backup option for VIIRS Frontend

  • Fixed major bug when creating true colors (Issue #81). If the high resolution data resolved to a different dynamic grid than the low resolution data then a true color could not be made.

2.11. Version 1.1.6 (2013-05-31)

  • Fixed frontends handling of symbolic links for files

2.12. Version 1.1.5 (2013-05-28)

  • Various CREFL fixes

  • Added MODIS geotiffs

  • Added MODIS 250m bands

2.13. Version 1.1.0 (2013-02-13)

  • Added MODIS Frontend (limited number of bands)

  • Added CREFL Frontend (including true color glue script)

  • Changed default geotiff data type to unsigned 8-bit integer

  • Added option to provide user created grid configuration files

  • NinJo backend added for DWD added

2.14. Version 1.0.0 (2013-01-25)

  • Object oriented Frontend, Backend, and Rescaling

  • Python version of ll2cr (still uses ms2gt fornav)

  • Geotiff Backend

  • Start of developer’s guide in documentation