| # # # 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: | # # # https://github.com/U-S-NRL-Marine-Meteorology-Division/ Version 1.10.3 (2023-06-23) *************************** * Bug fix: Ignore _docs directories in code checks * Bug fix: Skip sectored and resampled reads if no variables are available for a sector type * Bug fix: Continue startup/processing for bad plugins * Breaking change: Update source_name to source_names in product YAMLs * Breaking change: Update reader attribute names * 'timestamp' to 'time' * "original_source_filenames" to "source_file_names" * "filename_datetimes" to "source_file_datetimes" * zenith and azimuth angles variable names * SatZenith->satellite_zenith_angle * SatAzimuth->satellite_azimuth_angle * SolarZenith->solar_zenith_angle * SolarAzimuth->solar_azimuth_angle * LunarZenith->lunar_zenith_angle Breaking Changes ================ Update zenith / azimuth angle names ----------------------------------- *From issue GEOIPS#266: 2023-07-07,update reader attributes names* SunAzimuth -> solar_azimuth_angle :: modified: geoips/plugins/modules/procflows/single_source.py modified: geoips/plugins/modules/readers/abi_netcdf.py modified: geoips/plugins/modules/readers/ahi_hsd.py modified: geoips/plugins/modules/readers/atms_hdf5.py modified: geoips/plugins/modules/readers/modis_hdf4.py modified: geoips/plugins/modules/readers/seviri_hrit.py modified: geoips/plugins/modules/readers/viirs_netcdf.py modified: geoips/plugins/modules/readers/utils/geostationary_geolocation.py SunZenith -> solar_zenith_angle :: modified: geoips/plugins/modules/readers/abi_netcdf.py modified: geoips/plugins/modules/readers/ahi_hsd.py modified: geoips/plugins/modules/readers/amsr2_netcdf.py modified: geoips/plugins/modules/readers/atms_hdf5.py modified: geoips/plugins/modules/readers/ewsg_netcdf.py modified: geoips/plugins/modules/readers/modis_hdf4.py modified: geoips/plugins/modules/readers/seviri_hrit.py modified: geoips/plugins/modules/readers/viirs_netcdf.py modified: geoips/plugins/modules/readers/utils/geostationary_geolocation.py modified: geoips/plugins/yaml/products/abi.yaml modified: geoips/plugins/yaml/products/ahi.yaml modified: geoips/plugins/yaml/products/gvar.yaml modified: geoips/plugins/yaml/products/modis.yaml modified: geoips/plugins/yaml/products/seviri.yaml modified: geoips/plugins/yaml/products/viirs.yaml LunarZenith -> lunar_zenith_angle :: modified: geoips/plugins/modules/readers/viirs_netcdf.py SatAzimuth -> satellite_azimuth_angle :: modified: geoips/plugins/modules/procflows/single_source.py modified: geoips/plugins/modules/readers/abi_netcdf.py modified: geoips/plugins/modules/readers/ahi_hsd.py modified: geoips/plugins/modules/readers/amsr2_netcdf.py modified: geoips/plugins/modules/readers/atms_hdf5.py modified: geoips/plugins/modules/readers/ewsg_netcdf.py modified: geoips/plugins/modules/readers/modis_hdf4.py modified: geoips/plugins/modules/readers/seviri_hrit.py modified: geoips/plugins/modules/readers/viirs_netcdf.py modified: geoips/plugins/modules/readers/utils/geostationary_geolocation.py SatZenith -> satellite_zenith_angle :: modified: geoips/plugins/modules/readers/abi_netcdf.py modified: geoips/plugins/modules/readers/ahi_hsd.py modified: geoips/plugins/modules/readers/amsr2_netcdf.py modified: geoips/plugins/modules/readers/amsub_mirs.py modified: geoips/plugins/modules/readers/atms_hdf5.py modified: geoips/plugins/modules/readers/ewsg_netcdf.py modified: geoips/plugins/modules/readers/modis_hdf4.py modified: geoips/plugins/modules/readers/seviri_hrit.py modified: geoips/plugins/modules/readers/ssmis_binary.py modified: geoips/plugins/modules/readers/viirs_netcdf.py modified: geoips/plugins/modules/readers/utils/geostationary_geolocation.py Update "filename_datetimes" to "source_file_datetimes" in readers ----------------------------------------------------------------- *From issue GEOIPS#266: 2023-07-07,update reader attributes names* Stadardize attribute and variable naming :: modified: geoips/plugins/modules/readers/mimic_netcdf.py modified: geoips/plugins/modules/readers/ssmi_binary.py modified: geoips/plugins/modules/readers/wfabba_ascii.py modified: geoips/plugins/modules/readers/windsat_idr37_binary.py Update "original_source_filenames" to "source_file_names" in readers -------------------------------------------------------------------- *From issue GEOIPS#266: 2023-07-07,update reader attributes names* Stadardize attribute and variable naming :: modified: docs/source/devguide/xarray_standards.rst modified: geoips/plugins/modules/output_formatters/metadata_default.py modified: geoips/plugins/modules/readers/amsr2_netcdf.py modified: geoips/plugins/modules/readers/amsr2_remss_winds_netcdf.py modified: geoips/plugins/modules/readers/ascat_uhr_netcdf.py modified: geoips/plugins/modules/readers/atms_hdf5.py modified: geoips/plugins/modules/readers/ewsg_netcdf.py modified: geoips/plugins/modules/readers/gmi_hdf5.py modified: geoips/plugins/modules/readers/imerg_hdf5.py modified: geoips/plugins/modules/readers/modis_hdf4.py modified: geoips/plugins/modules/readers/sar_winds_netcdf.py modified: geoips/plugins/modules/readers/smap_remss_winds_netcdf.py modified: geoips/plugins/modules/readers/smos_winds_netcdf.py modified: geoips/plugins/modules/readers/ssmi_binary.py modified: geoips/plugins/modules/readers/ssmis_binary.py modified: geoips/plugins/modules/readers/viirs_netcdf.py modified: geoips/plugins/modules/readers/wfabba_ascii.py modified: geoips/plugins/modules/readers/windsat_remss_winds_netcdf.py modified: tests/outputs/amsr2.tc.89H-Physical.imagery_annotated/20200518_073601_IO012020_amsr2_gcom-w1_89H-Physical_140kts_100p00_res1p0-cr300.png.yaml 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 modified: tests/outputs/amsr2_ocean.tc.windspeed.imagery_clean/20200518_073601_IO012020_amsr2_gcom-w1_windspeed_140kts_85p45_1p0-clean.png.yaml modified: tests/outputs/ascat_knmi.tc.windbarbs.imagery_windbarbs_clean/20210421_014248_WP022021_ascat_metop-c_windbarbs_120kts_78p20_0p5-clean.png.yaml modified: tests/outputs/ascat_low_knmi.tc.windbarbs.imagery_windbarbs/20210421_014156_WP022021_ascat_metop-c_windbarbs_120kts_35p17_1p0.png.yaml modified: tests/outputs/ascat_uhr.tc.wind-ambiguities.imagery_windbarbs/20210421_014200_WP022021_ascatuhr_metop-c_wind-ambiguities_120kts_100p00_0p1.png.yaml modified: tests/outputs/gmi.tc.89pct.imagery_clean/20200917_172045_AL202020_gmi_GPM_89pct_115kts_78p16_res1p0-cr300-clean.png.yaml modified: tests/outputs/hy2.tc.windspeed.imagery_annotated/20211202_084039_WP272021_hscat_hy-2b_windspeed_95kts_97p06_1p0.png.yaml modified: tests/outputs/oscat_knmi.tc.windbarbs.imagery_windbarbs/20210209_025351_SH192021_oscat_scatsat-1_windbarbs_135kts_75p10_1p0.png.yaml modified: tests/outputs/ssmi.tc.37pct.imagery_clean/20200519_080900_IO012020_ssmi_F15_37pct_110kts_50p65_1p0-clean.png.yaml modified: tests/outputs/viirsday.tc.Night-Vis-IR.imagery_annotated/20210209_074210_SH192021_viirs_noaa-20_Night-Vis-IR_130kts_100p00_1p0.png.yaml Update 'timestamp' to 'time' in readers --------------------------------------- *From issue GEOIPS#266: 2023-07-07, replace timestamp with time* Replace the standard variable name "timestamp" to the CF compliant name "time" in all readers, code, and documentation. :: modified: docs/source/devguide/software_requirements_specification.rst modified: docs/source/devguide/xarray_standards.rst modified: geoips/plugins/modules/filename_formatters/geoips_fname.py modified: geoips/plugins/modules/filename_formatters/tc_fname.py modified: geoips/plugins/modules/output_formatters/text_winds.py modified: geoips/plugins/modules/readers/amsr2_netcdf.py modified: geoips/plugins/modules/readers/amsr2_remss_winds_netcdf.py modified: geoips/plugins/modules/readers/amsub_hdf.py modified: geoips/plugins/modules/readers/amsub_mirs.py modified: geoips/plugins/modules/readers/ascat_uhr_netcdf.py modified: geoips/plugins/modules/readers/atms_hdf5.py modified: geoips/plugins/modules/readers/gmi_hdf5.py modified: geoips/plugins/modules/readers/imerg_hdf5.py modified: geoips/plugins/modules/readers/saphir_hdf5.py modified: geoips/plugins/modules/readers/sar_winds_netcdf.py modified: geoips/plugins/modules/readers/scat_knmi_winds_netcdf.py modified: geoips/plugins/modules/readers/sfc_winds_text.py modified: geoips/plugins/modules/readers/smap_remss_winds_netcdf.py modified: geoips/plugins/modules/readers/smos_winds_netcdf.py modified: geoips/plugins/modules/readers/ssmi_binary.py modified: geoips/plugins/modules/readers/ssmis_binary.py modified: geoips/plugins/modules/readers/viirs_netcdf.py modified: geoips/plugins/modules/readers/wfabba_ascii.py modified: geoips/plugins/modules/readers/windsat_idr37_binary.py modified: geoips/plugins/modules/readers/windsat_remss_winds_netcdf.py modified: geoips/xarray_utils/data.py modified: geoips/xarray_utils/timestamps.py Update source_name to source_names in product YAMLs --------------------------------------------------- *From issue GEOIPS#267: 2023-07-05, replace source_name with source_names* Updates to code to loop through each source_name in the source_names list. Note internally the YAML product plugins are still stored with a single source_name, so nothing will change throughout the code base. :: modified: geoips/interfaces/base.py modified: geoips/interfaces/yaml_based/products.py Updates to actual YAML plugins :: modified: geoips/plugins/yaml/products/abi.yaml modified: geoips/plugins/yaml/products/ahi.yaml modified: geoips/plugins/yaml/products/amsr-e.yaml modified: geoips/plugins/yaml/products/amsr2.yaml modified: geoips/plugins/yaml/products/amsu-b.yaml modified: geoips/plugins/yaml/products/ascat.yaml modified: geoips/plugins/yaml/products/ascatuhr.yaml modified: geoips/plugins/yaml/products/atms.yaml modified: geoips/plugins/yaml/products/gmi.yaml modified: geoips/plugins/yaml/products/gvar.yaml modified: geoips/plugins/yaml/products/hscat.yaml modified: geoips/plugins/yaml/products/imerg.yaml modified: geoips/plugins/yaml/products/mhs.yaml modified: geoips/plugins/yaml/products/mimic.yaml modified: geoips/plugins/yaml/products/modis.yaml modified: geoips/plugins/yaml/products/oscat.yaml modified: geoips/plugins/yaml/products/saphir.yaml modified: geoips/plugins/yaml/products/sar-spd.yaml modified: geoips/plugins/yaml/products/seviri.yaml modified: geoips/plugins/yaml/products/smap-spd.yaml modified: geoips/plugins/yaml/products/smos-spd.yaml modified: geoips/plugins/yaml/products/ssmi.yaml modified: geoips/plugins/yaml/products/ssmis.yaml modified: geoips/plugins/yaml/products/tmi.yaml modified: geoips/plugins/yaml/products/viirs.yaml modified: geoips/plugins/yaml/products/windsat.yaml Updates to YAML schema: :: modified: geoips/schema/products/algorithm.yaml modified: geoips/schema/products/algorithm_colormapper.yaml modified: geoips/schema/products/algorithm_interpolator_colormapper.yaml modified: geoips/schema/products/bases/product.yaml modified: geoips/schema/products/interpolator.yaml modified: geoips/schema/products/interpolator_algorithm.yaml modified: geoips/schema/products/interpolator_algorithm_colormapper.yaml modified: geoips/schema/products/sectored_xarray_dict_to_output_format.yaml modified: geoips/schema/products/unmodified.yaml modified: geoips/schema/products/unsectored_xarray_dict_area_to_output_format.yaml modified: geoips/schema/products/unsectored_xarray_dict_to_output_format.yaml modified: geoips/schema/products/xarray_dict_to_output_format.yaml Bug Fixes ========= Ignore _docs directories in code checks --------------------------------------- Ignore auto-generated directories named "\*_docs" when running flake8 or black. :: tests/utils/check_code.sh Continue startup/processing for bad plugins ------------------------------------------- Validation should fail, but processing should be allowed to continue for the plugins that are valid. :: geoips/interfaces/base.py Allow calling tc_file_naming update_extra_field with output_dict=None --------------------------------------------------------------------- *From issue GEOIPS#280: 2023-06-23, Skip sectored and resampled reads for sector types with no variables* Add check under config_based procflow if no variables are available for a given sector type * If curr_variables list is empty, skip any sector or resample for requested sector type :: modified: geoips/plugins/modules/procflows/config_based.py