# # # 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.4.4 (2022-03-06)#
v1.4.4: 2022-03-06, command line override, unsectored product, product database support; Visible product corrections
Test Repo Updates#
Update ABI Visible Products with more informative colorbar label#
Include channel and wavelength in colorbar label
ABI static and TC Visible test png outputs
Breaking Interface Changes#
single_channel algorithm - rename solar zenith angle specifications#
See “Bug fixes”
Improvements#
Product tuning updates#
Add “update_output_dict_from_command_line_args” to support command line modifications to YAML output config
filename_format_kwargs
metadata_filename_format_kwargs
Add “produce_current_time” function in output_config interface
Support “produce_times” field in output config to filter required times for processing
Add “Uncorrected-Channel” product, that just plots normalized data directly (using min/max of data itself)
Update colorbar labels for ABI, AHI, SEVIRI, MODIS, and VIIRS Visible imagery to include the channel used in the plot
dev/product.py get_product: Loop through dictionary elements in product_inputs, only replacing what exists.
- To allow specifying only specific elements within one of the product parameters dictionaries
from within product_inputs specifications, if one of the dictionary elements is a dictionary itself, loop through that, replacing with the updated values found in product_inputs.
This allows maintaining all the defaults, and only specifying things that must change.
Add “numpy_arrays_nan” coverage check interface module (for non-masked-arrays)
TC YAML Template Updates#
Add tc_visir_3200km YAML gridlines parameters file - identical to tc_visir, but 5 degree grid spacing.
Created 1400x1400, 1024x1024, 256x256, 512x512, 800x800, and 1600x1600 subdirectories for tc templates.
2km and 4km 1600x1600 TC template YAMLs
4km 256x256
Will NOT change tc_web_template.yaml, etc, since ALL test scripts use those.
- Perhaps explicitly setting these values in the YAML configs would be better than having
completely separate files for each shape/resolution - will address direct YAML output config modifications at a later date - likely would be a method for overriding fields of TC template yamls, plotting_params YAMLs, as well as product params YAMLs (so you could still use completely separate individual files, but also override individual fields within as needed).
Sectoring / Processing Order#
Add “resector=False” get_alg_xarray option to config_based
this enables alg_interp_cmap and alg_cmap product types (no pre-interpolation).
Currently “self_register” and “reader_defined” area_def types lead to “resector=False” for get_alg_xarray.
Skip ALL sectoring for reader_defined and self_register.
Add xarray_to_numpy alg type support to get_alg_xarray
for alg_interp_cmap and alg_cmap product types
no pre-interpolation - must pass sectored xarray, so can only include a single dataset
Product database support#
Added product database command line argument
Added hooks to single_source and config_based procflows
Checks if database environment variables are set
Uses yaml metadata file to populate the database
Prints “DATABASESUCCESS” for all products written to the database
Installation / Setup / Logging Process#
Separate vim8 installation and vim8 plugin setup in base_install_and_test.sh
Remove verbose log statements including entire command line arguments
lots and lots of filenames, and now the command line call is printed on multiple lines separately
Bug fixes#
Resolve issues with Visible products#
Update AHI Visible parameters (was washed out / saturated)
gamma_list: []
data_range: [0.0, 120.0]
scalefactor still 100
Update MODIS Visible parameters (was all white)
gamma_list: []
scale_factor: 1.0 (comes out of the reader 0 to 100!)
Update Visible product
min_day_zen -> max_day_zen for single_channel algorithm
Add comments that AHI and MODIS override standard parameters for Visible
SEVIRI reader reflectance calculations
reinstate: ref[rad > 0] = np.pi * rad[rad > 0] / irrad
Previously included solar zenith correction, so I had removed the entire line
Add log statements with min/max data values for reference
single_channel algorithm - rename solar zenith angle specifications#
rename min_day_zen -> max_day_zen
since day is 0-90, we want to identify the max zenith angle that will still be considered daytime
rename max_night_zen -> min_night_zen
night is 90-180, identify minimum zenith angle that will still be night
Updated Visible product with new names
Error Checking#
Added check in overpass_predictor.py if sun.rise_time exists
Added handling in amsub_mirs reader for if there are bad ScanTime values