.. dropdown:: Distribution Statement | # # # This source code is subject to the license referenced at | # # # https://github.com/NRLMMD-GEOIPS. Version 1.12.1 (2024-02-16) *************************** * Bug fixes * Add output_kwargs to xarray_data family output formatter * Bug fix in interp_grid scipy.griddata interpolator wrapper * Allow overriding interpolator arguments correctly when using product_defaults * Make DATABASESUCCESS log.interactive * Add longitude wrapping for self-registered data * Update SAR reader to handle changed attribute information in file metadata * Add longitude wrapping to overpass predictor * Update geoips_fname filename formatter to include output_dict kwarg * Refactoring updates * Remove compare outputs module command line argument * Enhancements * histogram_netcdf output formatter * Add new `--product_db_writer_kwargs` command line argument * Add GeoKOMPSAT reader * Add support for adding multiple overpass prediction points/observers for large sectors * Add new kwarg to sector create_test_plot to return figure, axis, and map objects * Add support for creating product composites in config_based processing * Add general RGB product defaults. * Installation updates * Add create_plugin_registries after base_install.sh * Update from Python 3.9 to 3.10 in setup.sh * Update installation.rst to use standard installation process * Update check_system_requirements to support pulling test data from github * Update check_system_requirements to include -v for pip installs * Update check_system_requirements to allow GEOIPS_MODIFIED_BRANCH * Update check_system_requirements to allow dumping pip and mamba envs * Add check_system_requirements function to run arbitrary commands * Add check_system_requirements functions to check command and check env var * Add check_system_requirements function to install mamba package * Raise error when "interface" not defined on plugin during create_plugin_registries * Update pyproject.toml dynamic versioning to strict=false * GitHub Actions Updates * Finalize HTML/pdf build for PR validation * Allow calling build_docs.sh without GEOIPS_PACKAGES_DIR set * Add GitHub pages documentation deployment workflow * Documentation Updates * Update sphinx conf.py to support pdf build * Require updating release note directly rather than CHANGELOG.rst * Add unit testing documentation * Ignore \*/lib/\* directories for sphinx api doc * Added comments indicating what "interface = None" means * Added comments indicating why F401 must be ignored in interfaces/__init__.py * Testing Updates * Update reader unit tests to support multiple tests, and comparing mean * Fail on realtime test if copy file dir does not exist * Single pixel difference update in ABI Visible global test output * Single pixel difference update in AHI WV TC GEOTIFF test output * Add release note for v1.12.1 Refactoring Updates =================== Remove compare outputs module command line argument --------------------------------------------------- This is no longer used, since the output_checkers are defined via a plugin interface. Remove all references to this in all procflows/command line args. :: modified: geoips/commandline/args.py modified: geoips/plugins/modules/procflows/single_source.py modified: geoips/plugins/modules/procflows/config_based.py Bug Fixes ========= Add output_kwargs to xarray_data family output formatter -------------------------------------------------------- Ensure unsupported kwargs are stripped. :: modified: geoips/plugins/modules/procflows/single_source.py Update geoips_fname filename formatter to include output_dict kwarg ------------------------------------------------------------------- To conform with standard filename formatter calls, include "output_dict" kwarg in geoips_fname filename formatter :: modified: geoips/plugins/modules/filename_formatters/geoips_fname.py Ensure center lon between -180 and 180 in overpass predictor ------------------------------------------------------------ Longitudes must be between -180 and 180 when creating ephem sector observer for multiple prediction points in large sectors. :: modified: geoips/sector_utils/overpass_predictor.py Make DATABASESUCCESS log.interactive ------------------------------------ :: modified: geoips/plugins/modules/procflows/config_based.py modified: geoips/plugins/modules/procflows/single_source.py Allow overriding interpolator arguments correctly when using product_defaults ----------------------------------------------------------------------------- *From GEOIPS#450: 2023-12-21, Allow overriding interpolator kwargs* Update calls to interpolator within single_source procflow to remove unsupported kwargs. This ensures kwargs that exist in the plugin that is used for product_defaults do not break calls to the plugin used in the product if the kwargs in the call signature are not the same. :: modified: geoips/plugins/modules/procflows/config_based.py modified: geoips/plugins/modules/procflows/single_source.py Bug fix in interp_grid scipy.griddata interpolator wrapper ---------------------------------------------------------- *From GEOIPS#448: 2024-01-12, interp_grid bug fix* Fix typo: correctly set numx/y grid to width/height vs pixel_size_x/y. :: modified: geoips/plugins/modules/interpolators/scipy_wrappers/interp_grid.py Add longitude wrapping for self-registered data ----------------------------------------------- *From GEOIPS#456: 2024-01-26, Fix dating cutting off at date line* Wrap longitudes for the self-registered area definition to the -180 to 180 range so that data is not cut off at the date lline. :: modified: geoips/plugins/modules/procflows/single_source.py Update SAR reader to handle changed attribute information in file metadata -------------------------------------------------------------------------- *From GEOIPS#463: 2024-02-09, handle change in SAR file metadata* A change in the SAR metadata in the SAR files was observed around Jan 2024, where "SAR" was no longer in the wind_xarray.source attribute. Current logic requires "SAR" to be in both the wind_xarray.source and wind_xarray.title attributes. The change to the wind_xarray.source attribute lead to the reader not ingesting the wind data from SAR files. The change in the metadata is likely a bug, but should be handled appropriately. SAR Reader now checks in "SAR" is in either the wind_xarray.source OR wind_xarray.title attributes. * ``wind_xarray.source`` returns ``"BLANK"``, which is likely a bug in upstream production. :: modified: geoips/plugins/modules/readers/sar_winds_netcdf.py Enhancements ============ histogram_netcdf output formatter --------------------------------- Outputs histogram of values for individual image. :: new file: geoips/plugins/modules/output_formatters/histogram_netcdf.py new file: tests/scripts/amsr2.tc.89H-Physical.histogram_netcdf.sh Add general RGB product defaults -------------------------------- *From GEOIPS#468: 2024-02-14, create generic RGB product/algorithm* Replace existing RGB-based product_defaults with a single "RGB_Default.yaml" product defaults. Update viirs.yaml to point to that product_defaults, but override the algorithm to point to Night-Vis-IR or Night-Vis-IR-GeoIPS1. Eventually, we may want to support a generic "RGB" algorithm that allows specifying the actual individual red green and blue guns from within the YAML file (by passing in arguments / steps), but for now this at least removes one duplicate file. :: deleted: product_defaults/visir/Night-Vis-IR.yaml deleted: product_defaults/visir/Night-Vis-IR-GeoIPS1.yaml new: product_defaults/RGB_Default.yaml modified: products/viirs.yaml Add new --product_db_writer_kwargs command line argument -------------------------------------------------------- *From GEOIPS#433: 2023-12-21, Add product db writer kwargs* Add new command line argument for specifying product database writer kwargs. These kwargs are passed to the product database writer plugin calls in the single_source procflow. Writer kwargs for config_based procflows will only be controlled in the YAML. :: modified: geoips/commandline/args.py modified: geoips/plugins/modules/procflows/single_source.py Add GeoKOMPSAT reader --------------------- Add reader for GeoKOMPSAT-2A AMI instrument. Also includes test scripts and comparison images. Also includes unit test functions for metadata. :: new file: geoips/plugins/modules/readers/geokompsat_netcdf.py new file: geoips/plugins/yaml/products/geokompsat.yaml new file: geoips/plugins/yaml/products/geokompsat.yaml new file: tests/outputs/geokompsat.static.Infrared.imagery_annotated/20231208.030032.GK-2A.geokompsat.Infrared.geokompsat.45p56.nmsc.10p0.png new file: tests/outputs/geokompsat.static.Visible.imagery_annotated/20231208.030032.GK-2A.geokompsat.Visible.geokompsat.45p56.nmsc.10p0.png new file: tests/outputs/geokompsat.tc.WV.geotiff/20231208_030032_SH032024_geokompsat_GK-2A_WV_115kts_100p00_1p0.tif new file: tests/outputs/geokompsat.WV-Upper.unprojected_image/20231208.030032.GK-2A.geokompsat.WV-Upper.self_register.71p36.nmsc.2p0.png new file: tests/scripts/geokompsat.static.Infrared.imagery_annotated.sh new file: tests/scripts/geokompsat.static.Visible.imagery_annotated.sh new file: tests/scripts/geokompsat.tc.WV.geotiff.sh new file: tests/scripts/geokompsat.WV-Upper.unprojected_image.sh modified: docs/source/releases/v1_12_1.rst modified: tests/test_all.sh Add support for adding multiple overpass prediction points/observers for large sectors -------------------------------------------------------------------------------------- Update overpass predictor utility to automatically add multiple predction points (observers) for large sectors. The check_midpoints kwarg was replaced with the new observer_spacing kwarg, which specifies the spacing (degrees) between observer points in the sector. If lat/lon extent of the domain exceeds the specified spacing, multiple observer are automatically added across the sector. Also simplify how the predict_satellite_overpass function stores valid overpasses. * Overpasses are stored to a dictionary using keys named as __