# # # 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