# # # 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.6.3 (2023-02-02)#

This release includes an updated capability for writing resource statistics to a database, documentation updates, and a script to perform code checks for style enforcement.

Major New Functionality#

Add procflow overall resource usage statistics#

From issue GEOIPS#4: 2022-12-09, Procflow resource usage statistics

  • Add write_stats_to_database function that calls the resource_usage_stats_table database writer

    • Only called when product_db is True

modified: geoips/interface_modules/procflows/config_based.py
  • Update print_mem_usage functions to return dictionary of resource usage

modified: geoips/utils/memusg.py

Enhancements#

Add start, end, and mid data times to TC YAML metadata output#

From issue GEOIPS#162: 2023-01-27, Add data times to TC YAML metadata

modified: geoips/interface_modules/output_formats/metadata_tc.py

Bug fixes#

Remove numpy builtin aliases#

From issue GEOIPS#170: 2023-02-02, version release updates

  • Replace numpy.float with float.

  • Finalizes GEOIPS#145 - numpy no longer supports aliasing builtin types

geoips/interface_modules/readers/seviri_hrit.py

Fix product family typo#

From issue GEOIPS#170: 2023-02-02, version release updates

  • Fix typo: xrdict_area_product_outlist -> xrdict_area_product_to_outlist

  • Finalizes GEOIPS#104

geoips/dev/output.py

Add missing output family to required_kwargs#

From issue GEOIPS#104: 2023-01-27, bug fixes

  • Add xrdict_area_product_to_outlist to required_kwargs list in output.py interface

    • caused test_interfaces to fail for output formats of that type

modified: geoips/dev/output.py

Use xobj.use_order in imagery_clean#

From issue GEOIPS#2: 2023-01-11, support xobj.fuse_order vs order

  • Update imagery_clean to use xobj.fuse_order for determining zorder, vs just order

modified: geoips/interface_modules/output_formats/imagery_clean.py

Skip duplicate files with undefined format#

From issue GEOIPS#2: 2023-01-11, support xobj.fuse_order vs order

  • Update duplicate_files.py to skip files that do not have a format defined.

    • Allow filenames that are not pre-determined.

    • If we do not know the exact filename format, we cannot use the filename to determine which files are duplicates.

modified: geoips/filenames/duplicate_files.py

Return dict vs list of filenames in procflow#

From issue GEOIPS#2: 2023-01-11, support xobj.fuse_order vs order

  • Convert returned list of filenames to dict with filenames as keys

    • Expected input to “output_all_metadata”, which determines final output file list.

modified: geoips/interface_modules/procflows/single_source.py

Replace datetime.datetime docstring parameter type with “datetime”#

From issue GEOIPS#100: 2022-12-23, automodule API build

  • Why does datetime.datetime fail?

modified: geoips/data_manipulations/merge.py

Remove “See” and “See Also” docstring references#

From issue GEOIPS#100: 2022-12-23, automodule API build

  • Why did these fail and not others? Non-existent references?

  • This also included removal of “<” and “>”, and escaping “*”

    • May have been unnecessary - other instances with same string construct.

modified: geoips/dev/alg.py
modified: geoips/dev/cmap.py
modified: geoips/dev/interp.py

Remove docstring reference to geoips.dev.alg.get_alg_args#

From issue GEOIPS#100: 2022-12-23, automodule API build

  • Undefined function in geoips/dev/alg.py ? Is this also the cause of many other reference failures?

modified: geoips/dev/alg.py

Add missing xarray_standards reference in xarray_standards.rst#

From issue GEOIPS#100: 2022-12-23, automodule API build

docs/source/xarray_standards.rst

Fix too-short underline for mpl_utils header in API reference#

From issue GEOIPS#100: 2022-12-23, automodule API build

docs/source/geoips_api/api_image_utils.rst

Installation Updates#

Install all requirements by default#

From issue GEOIPS#159: 2023-01-24, install all requirements by default

  • Update setup.py to install all requirements by default

  • Previously had to install each “extra” separately

  • In the future may allow more granular installations again, but will wait until pyproject.toml is implemented.

modified: setup.py

Code Formatting and Style Updates#

Default to full black, flake8, and bandit checks in check_code.sh#

From issue GEOIPS#3: 2023-01-12, updates to syntax checking

  • If “flake8_docstring_only” argument passed to check_code.sh, limit to flake8 docstring checks

  • Call check_code.sh all $GEOIPS flake8_docstring_only from test_full_install.sh

    • Allows the default to be complete flake8 testing, while still allowing geoips repo to pass with a limited set of flake8 codes.

  • Add flake8-rst and flake8-rst-docstrings to syntax_check extras_requires in setup.py

modified: setup.py
modified: tests/utils/check_code.sh
modified: tests/test_full_install.sh

black code formatting updates#

From issue GEOIPS#3: 2023-01-12, updates to syntax checking

modified: docs/source/conf.py
modified: geoips/interface_modules/readers/utils/geostationary_geolocation.py
modified: geoips/sector_utils/utils.py

flake8 code format update#

From issue GEOIPS#3: 2023-01-12, updates to syntax checking

  • ““” -> r”“” due to backslash escaped characters

modified: geoips/dev/alg.py

flake8 docstring format updates#

From issue GEOIPS#3: 2023-01-12, updates to syntax checking

  • Remove blank lines after function docstrings

  • Add missing module level docstrings

modified: docs/source/conf.py
modified: geoips/commandline/test_interfaces.py

Testing Updates#

Include grep of “Error” and “Number expected files”#

From issue GEOIPS#104: 2023-01-27, bug fixes

  • Not used for return values - just for reference when reviewing logs.

modified: tests/utils/test_all_run.sh

Add “data_times” to AMSR2 TC YAML metadata outputs#

From issue GEOIPS#104: 2023-01-27, bug fixes

modified: tests/outputs/amsr2.tc_overlay.37pct.imagery_annotated_over_Infrared-Gray/20200518_073601_IO012020_amsr2_gcom-w1_37pct_140kts_95p89_res1p0-cr100-bgInfrared-Gray.png.yaml
modified: tests/outputs/amsr2.tc_overlay.37pct.imagery_annotated_over_Visible/20200518_073601_IO012020_amsr2_gcom-w1_37pct_140kts_95p89_res1p0-cr100-bgVisible.png.yaml
modified: tests/outputs/amsr2.tc_overlay.89pct.imagery_annotated_over_Infrared-Gray/20200518_073601_IO012020_amsr2_gcom-w1_89pct_140kts_98p32_res1p0-cr100-bgInfrared-Gray.png.yaml
modified: tests/outputs/amsr2.tc_overlay.89pct.imagery_annotated_over_Visible/20200518_073601_IO012020_amsr2_gcom-w1_89pct_140kts_98p32_res1p0-cr100-bgVisible.png.yaml

Documentation Updates#

Update style requirements#

From issue GEOIPS#3: 2023-01-12, updates to syntax checking

  • GeoIPS 2.0 -> GeoIPS in geoips_overview.rst

  • google -> numpy docstring formatting in documentation_strategy.rst

modified: docs/source/geoips_overview.rst
modified: docs/source/documentation_strategy.rst

Restructured text automodule API capability#

From issue GEOIPS#100: 2022-12-23, automodule API build

  • Removed unnecessary section from contributors.rst relative links

  • Modified and added new API restructured text automodule capability

modified: docs/source/index.rst
modified: docs/source/contributors.rst
new: docs/source/geoips_api/api_commandline.rst
new: docs/source/geoips_api/api_data_manipulations.rst
new: docs/source/geoips_api/api_dev.rst
new: docs/source/geoips_api/api_filenames.rst
new: docs/source/geoips_api/api_image_utils.rst
new: docs/source/geoips_api/api_interface_algorithms.rst
new: docs/source/geoips_api/api_interface_area_def_generators.rst
new: docs/source/geoips_api/api_interface_coverage_checks.rst
new: docs/source/geoips_api/api_interface_filename_formats.rst
new: docs/source/geoips_api/api_interface_interpolation.rst
new: docs/source/geoips_api/api_interface_output_formats.rst
new: docs/source/geoips_api/api_interface_procflows.rst
new: docs/source/geoips_api/api_interface_readers.rst
new: docs/source/geoips_api/api_interface_title_formats.rst
new: docs/source/geoips_api/api_interface_trackfile_parsers.rst
new: docs/source/geoips_api/api_interface_user_colormaps.rst
new: docs/source/geoips_api/api_sector_utils.rst
new: docs/source/geoips_api/api_utils.rst
new: docs/source/geoips_api/api_xarray_utils.rst
new: docs/source/geoips_api/index.rst

Sphinx documentation automation#

From issue GEOIPS#100: 2022-12-20, NRL sphinx template and framework

  • Modified build process of Sphinx documentation

  • Build generates html files and GeoIPS.pdf

  • requires sphinx=5.1.1

  • Sphinx conf.py supports extensions autodoc, mathjax, napoleon, viewcode

  • New Sphinx NRL theme static and template content

  • Modified change log and release note organization

  • Converted change logs from md to rst

added: docs/requirements.txt
added: docs/source/conf.py
added: docs/source/_static/
added: docs/source/_templates/
added: docs/source/index.rst
added: docs/source/releases/index.rst
converted: docs/logs/*.md to  docs/source/releases/*.rst
modified: README.md
modified: docs/build_docs.sh
modified: docs/contributors.rst
moved: docs/available_functionality.rst -> docs/source
moved: docs/contributors.rst -> docs/source
moved: docs/command_line_examples.rst -> docs/source
moved: docs/documentation_strategy.rst -> docs/source
moved: docs/entry_points.rst -> docs/source
moved: docs/geoips_index.rst -> docs/source
moved: docs/geoips_overview.rst -> docs/source
moved: docs/git_workflow.rst -> docs/source
moved: docs/installation.rst -> docs/source
moved: docs/images -> docs/source
moved: docs/logs -> docs/source/releases/logs
moved: docs/yaml -> docs/source
removed: layout.html
removed: style.css

Release Updates#

Update VERSION#

From issue GEOIPS#170: 2023-02-02, version release updates

  • Update VERSION

    • Update VERSION to 1.6.3, add CHANGELOG 1.6.3 line

VERSION
CHANGELOG.md

Add fields to release notes#

From issue GEOIPS#170: 2023-02-02, version release updates

  • Add Actions and Deprecations to release.yml

.github/release.yml