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