# # # Distribution Statement A. Approved for public release. Distribution unlimited.
# # #
# # # Author:
# # # Naval Research Laboratory, Marine Meteorology Division
# # #
# # # This program is free software: you can redistribute it and/or modify it under
# # # the terms of the NRLMMD License included with this program. This program is
# # # distributed WITHOUT ANY WARRANTY; without even the implied warranty of
# # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the included license
# # # for more details. If you did not receive the license, for more information see:

Version 1.11.1a0 (2023-08-15)#

Improve overall GeoIPS functionality, and added new GeoIPS sectors.

  • Added new GeoIPS sectors to improve plotting specific regions along the globe.

  • Update GeoIPS sector metadata implementation to allow more data to be contained.

  • Updated coverage checkers to use either varname or product name.

  • Added slack channel to README.md.

  • Made TPW colormappers use find_ascii_palette() instead of searching through filesystem.

Documentation Updates#

Added slack channel to README.md.#

From NRLMMD-GEOIPS/geoips#241: 2023-07-18

Appended a slack channel section to README.md for users who are interested or applicable to join the GeoIPS slack channel. It seems as if people from CIMSS and others want access to this channel.

Enhancements#

Added new sectors to geiops/geoips/plugins/yaml/sectors/static/#

From NRLMMD-GEOIPS/geoips#111: 2023-04-02

There are currently very few sectors in GeoIPS. This adds many new sectors to GeoIPS for users to use easily.

::

added: geoips/geoips/plugins/yaml/sectors/static/abu_dhabi.yaml added: geoips/geoips/plugins/yaml/sectors/static/africa.yaml added: geoips/geoips/plugins/yaml/sectors/static/african_horn.yaml added: geoips/geoips/plugins/yaml/sectors/static/alaska.yaml added: geoips/geoips/plugins/yaml/sectors/static/asia.yaml added: geoips/geoips/plugins/yaml/sectors/static/australia.yaml added: geoips/geoips/plugins/yaml/sectors/static/beijing.yaml added: geoips/geoips/plugins/yaml/sectors/static/brazil.yaml added: geoips/geoips/plugins/yaml/sectors/static/cairo.yaml added: geoips/geoips/plugins/yaml/sectors/static/canada.yaml added: geoips/geoips/plugins/yaml/sectors/static/caribbean.yaml added: geoips/geoips/plugins/yaml/sectors/static/central_america.yaml added: geoips/geoips/plugins/yaml/sectors/static/delhi.yaml added: geoips/geoips/plugins/yaml/sectors/static/denver.yaml added: geoips/geoips/plugins/yaml/sectors/static/e_pacific.yaml added: geoips/geoips/plugins/yaml/sectors/static/europe.yaml added: geoips/geoips/plugins/yaml/sectors/static/france.yaml added: geoips/geoips/plugins/yaml/sectors/static/indian_basin.yaml added: geoips/geoips/plugins/yaml/sectors/static/mediterranean.yaml added: geoips/geoips/plugins/yaml/sectors/static/melbourne.yaml added: geoips/geoips/plugins/yaml/sectors/static/mexico_city.yaml added: geoips/geoips/plugins/yaml/sectors/static/middle_east.yaml added: geoips/geoips/plugins/yaml/sectors/static/ne_asia.yaml added: geoips/geoips/plugins/yaml/sectors/static/north_pole added: geoips/geoips/plugins/yaml/sectors/static/paris.yaml added: geoips/geoips/plugins/yaml/sectors/static/rio_de_janeiro.yaml added: geoips/geoips/plugins/yaml/sectors/static/russia.yaml added: geoips/geoips/plugins/yaml/sectors/static/saskatchewan.yaml added: geoips/geoips/plugins/yaml/sectors/static/se_asia.yaml added: geoips/geoips/plugins/yaml/sectors/static/south_america.yaml added: geoips/geoips/plugins/yaml/sectors/static/south_pole.yaml added: geoips/geoips/plugins/yaml/sectors/static/vancouver.yaml added: geoips/geoips/plugins/yaml/sectors/static/victoria.yaml added: geoips/geoips/plugins/yaml/sectors/static/w_atlantic.yaml added: geoips/geoips/plugins/yaml/sectors/static/w_pacific.yaml

Refactoring Updates#

Changed GeoIPS sector Metadata Implementation#

From NRLMMD-GEOIPS/geoips#248: 2023-08-02

Currently, sector metadata is very constricting. It only allows you to specify the region in which the sector lies. This new change not only allows for more data to be contained in sector metadata, but also allows for different families of metadata.

The families of metadata adhere to the different families of static sectors. This includes:

::

atmos_river pyrocb static stitched tc volcano

For the sector metadata to adhere to there corresponding sector family, these schema YAMLs were added.

::

added: geoips/geoips/schema/sectors/area_definition_atmosriver.yaml added: geoips/geoips/schema/sectors/area_definition_pyrocb.yaml added: geoips/geoips/schema/sectors/area_definition_static.yaml added: geoips/geoips/schema/sectors/area_definition_stitched.yaml added: geoips/geoips/schema/sectors/area_definition_tc.yaml added: geoips/geoips/schema/sectors/area_definition_volcano.yaml added: geoips/geoips/schema/sectors/specs/static_sector_spec.yaml added: geoips/geoips/schema/sectors/metadata_familes/atmosriver.yaml added: geoips/geoips/schema/sectors/metadata_familes/pyrocb.yaml added: geoips/geoips/schema/sectors/metadata_familes/static.yaml added: geoips/geoips/schema/sectors/metadata_familes/stitched.yaml added: geoips/geoips/schema/sectors/metadata_familes/tc.yaml added: geoips/geoips/schema/sectors/metadata_familes/volcano.yaml

These new files remove the need to have only one area_definition.yaml, so these files were removed.

::

deleted: geoips/geoips/schema/sectors/area_definition.yaml

With these new updates and changes, modification of some files was required to get this all to work. This includes:

::

modified: geoips/geoips/plugins/modules/filename_formatters/geoips_fname.py modified: geoips/geoips/plugins/yaml/sectors/static/conus.yaml modified: geoips/geoips/plugins/yaml/sectors/static/ewsg.yaml modified: geoips/geoips/plugins/yaml/sectors/static/global.yaml modified: geoips/geoips/plugins/yaml/sectors/static/goes16.yaml modified: geoips/geoips/plugins/yaml/sectors/static/goes17.yaml modified: geoips/geoips/plugins/yaml/sectors/static/himawari8.yaml modified: geoips/geoips/plugins/yaml/sectors/static/japan.yaml modified: geoips/geoips/sector_utils/esimate_area_extent.py

Update Coverage Checkers to use either varname or product name#

From NRLMMD-GEOIPS/geoips#227: 2023-05-09

Currently coverage_checkers determine which variable to check for coverage by:

::

If present, alt_varname from the yaml If present, varname from the yaml Looking for a variable with the same name as the product

This should be cleaned up to just be varname or the product name. We should ditch alt_varname. To untangle the ambiguous naming from coverage_checkers, we removed the variables alt_varname and force_alt_varname. This required changes to these files:

::

modified: geoips/geoips/interfaces/module_based/coverage_checkers.py modified: geoips/geoips/plugins/modules/coverage_checkers/center_radius_rgba.py modified: geoips/geoips/plugins/modules/coverage_checkers/center_radius.py modified: geoips/geoips/plugins/modules/coverage_checkers/masked_arrays.py modified: geoips/geoips/plugins/modules/coverage_checkers/numpy_arrays_nan.py modified: geoips/geoips/plugins/modules/coverage_checkers/rgba.py modified: geoips/geoips/plugins/modules/coverage_checkers/windbarbs.py

Implement find_ascii_palette for TPW colormappers#

From NRLMMD-GEOIPS/geoips#226: 2023-05-09

Previously, TPW colormappers selected the correct ascii palette by searching through the GeoIPS directory. This is inefficient and has the possibility to cause problems if the directory structure changes eventually.

It was implemented using gpaths[“BASE_PATH”] to find the TPW ascii palettes, but now uses the new “find_ascii_palettes” utility. Therefore changes to these files were required:

::

modified: geoips/geoips/plugins/modules/colormappers/tpw/tpw_cimss.py modified: geoips/geoips/plugins/modules/colormappers/tpw/tpw_purple.py modified: geoips/geoips/plugins/modules/colormappers/tpw/tpw_pwat.py

Bug Fixes#

Update error messages in “bad” product_defaults tests#

From NRLMMD-GEOIPS/geoips#255: 2023-08-09, Fix error matching regex

  • jsonschema changed their error messages to add additional quotes. This just modifies our test regex to ignore more of the error.

modified: tests/test_plugin_schema/bad/product_defaults/algorithm_colormapper.yaml
modified: tests/test_plugin_schema/bad/product_defaults/algorithm_interpolator_colormapper.yaml