Release Notes

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

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

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.

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.

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

Version 2.0.1 (2015-10-19)

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

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

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.

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.

Version 1.1.6 (2013-05-31)

  • Fixed frontends handling of symbolic links for files

Version 1.1.5 (2013-05-28)

  • Various CREFL fixes

  • Added MODIS geotiffs

  • Added MODIS 250m bands

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

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