-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance Series-Analysis to compute statistics from the GRAD line type #3030
Comments
…Stat to the common area and then referencing it in both Grid-Stat and Series-Analysis.
…dictionary and an entry for output_stats.gradient. Update the conf_info source code to parse them. Still need to update OTHER Series-Analysis config files and also update the logic in series_analysis.cc to compute GRAD statistics.
@KathrynNewman question for you. I'm adding the
Grid-Stat supports an arbitrary number of gradients being computed. Wondering whether Series-Analysis should do the same or only support a single As we discussed in person, I'll proceed with supporting a list of |
…ong_name attribute of the Series-Analysis output files.
…crementally across multiple runs. However, this can only be done when requesting that 'ALL' GRAD columns be written.
…lumns to met_header_columns_v12.0.txt to make it easier to parse the output from MET.
* Per #3033, update version info, consolidate release notes, and add upgrade instructions. * Per #3033, remove all instances of 'Bugfix: ' from the release notes since it's redundant with the dropdown name * Per #3030, based on request from Randy Pierce, also add MTD header columns to met_header_columns_v12.0.txt to make it easier to parse the output from MET. * Per #3033, fix typo and correct alignment in table
* Per #3024, roll the version number from 12.0 to 12.1 prior to adding new columns to the existing GRAD line type. * Per #3024, return bad data for the square root of a negative number * Per #3024, update Grid-Stat to write 4 new columns to the GRAD line type. * Per #3024, tweak laplace MSE computation * Per #3024, add appendixC.rst equations for the new statistics * Per #3024, escape embedded underscores in equations only for latex formatting, not html * Per #3024, add reference to paper and summary of the new gradient stats * Per #3030, update docs by moving the gradient config entry from Grid-Stat to the common area and then referencing it in both Grid-Stat and Series-Analysis. * Per #3030, update Series-Analysis config file by adding the gradient dictionary and an entry for output_stats.gradient. Update the conf_info source code to parse them. Still need to update OTHER Series-Analysis config files and also update the logic in series_analysis.cc to compute GRAD statistics. * Per #3030, add descriptions of GRAD statistics for inclusion in the long_name attribute of the Series-Analysis output files. * Per #3030, add the GRADInfo::get_stat() member function to be called by Series-Analysis * Per #3030, fix parsing logic for the gradient dictionary. * Per #3030, add gradient entries to existing Series-Analysis config files * Per #3030, add GRADInfo::set_stat() member function * Per #3030, enhance Series-Analysis to aggregate the GRAD line type incrementally across multiple runs. However, this can only be done when requesting that 'ALL' GRAD columns be written. * Per #3030, reduce the volume of SonarQube code smells. * Updated syntax * Updated syntax * Updated syntax --------- Co-authored-by: MET Tools Test Account <[email protected]> Co-authored-by: j-opatz <[email protected]>
* use custom GitHub Action to trigger METplus use cases * Updating values * Bugfix #3020 main_v12.0 grid_stat_seeps (#3022) * Per #3020, add missing GridStatNcOutInfo::do_seeps flag and use it to determine if SEEPS information should be written to the Grid-Stat NetCDF matched pairs output file. * Unrelated to #3020, fix broken NetCDF cf-conventions links in the User's Guide. * Per #3020, no real changes. Just whitespace * Update to reflect usage of oneAPI compilers * Updating file to reflect usage of oneAPI compilers * Hotfix to the main_v12.0 branch after PR #3022 fixed a SEEPS bug. The GridStatConfig_SEEPS config file needs to be updated with nc_pairs_flag.seeps = TRUE in order for the same output to be produced by the unit tests. * Adding In Memoriam * Feature #3032 main_v12.0 docs data type (#3040) * Per #3032, add data type column to all of the output tables * Per #3032, remove the first row from each output table since its info is repeated from the table name. Additional changes for consistency and accuracy in column names. * Update docs/Users_Guide/gsi-tools.rst Co-authored-by: Julie Prestopnik <[email protected]> --------- Co-authored-by: Julie Prestopnik <[email protected]> * Making a superficial change in the main_v12.0 branch to trigger GHA to create and push an updated test output image. * Feature #3033 v12.0.0 (#3042) * Per #3033, update version info, consolidate release notes, and add upgrade instructions. * Per #3033, remove all instances of 'Bugfix: ' from the release notes since it's redundant with the dropdown name * Per #3030, based on request from Randy Pierce, also add MTD header columns to met_header_columns_v12.0.txt to make it easier to parse the output from MET. * Per #3033, fix typo and correct alignment in table * Update install_met_env.acorn Removing reference to beta version * Update install_met_env.cactus Remove references to beta version * Update install_met_env.cactus Update paths for eckit and atlas * Update install_met_env.wcoss2 Remove beta references * Fix typo, missing one * to make SciPy bold in appendixF.rst * Per #3051, update unit tests so that installed files are found relative to MET_BASE (<install_loc>/share/met) and other files that are only in the MET repo are found relative to MET_TEST_BASE (MET/internal/test_unit). Also remove MET_BUILD_BASE env var (#3052) * Bugfix #3054 main_v12.0 parusr (#3068) * Per #3054, fix PARUSR BUFRLIB error by solving the upstream reference to temporary memory returned by c_str(). Store a copy of the temporary variable name in a string rather than a pointer to temporary memory. Note that I checked all other calls to c_str() in pb2nc.cc and found these 2 instances to be only problematic ones. All others are used as arguments to functions for which a copy is made. * Unrelated to #3054, but discovered while investigating the dtcenter/METplus#2875 discussion, the PairBase::calc_obs_summary() function loops over map entries and attempts to update the mapped 'summary_val' value. However, the current version only updates it in a copy and not what's actually in the map. This changes how we loop over the map to actually udpate its contents. Note that the only impact is fixing a log file to accurately report the 'summary_val'. So this is really a logging bug. * Per #3054, revert emplace_back() to its original push_back() to make the bugfix diffs as limited as possible. * Per #3054, correct bugfix in PairBase::calc_obs_summary() in pair_base.cc --------- Co-authored-by: MET Tools Test Account <[email protected]> * Per #3070, updates for the 12.0.1 bugfix release. (#3071) --------- Co-authored-by: George McCabe <[email protected]> Co-authored-by: Julie Prestopnik <[email protected]> Co-authored-by: John Halley Gotway <[email protected]> Co-authored-by: MET Tools Test Account <[email protected]> Co-authored-by: metplus-bot <[email protected]>
* use custom GitHub Action to trigger METplus use cases * Updating values * Bugfix #3020 main_v12.0 grid_stat_seeps (#3022) * Per #3020, add missing GridStatNcOutInfo::do_seeps flag and use it to determine if SEEPS information should be written to the Grid-Stat NetCDF matched pairs output file. * Unrelated to #3020, fix broken NetCDF cf-conventions links in the User's Guide. * Per #3020, no real changes. Just whitespace * Update to reflect usage of oneAPI compilers * Updating file to reflect usage of oneAPI compilers * Hotfix to the main_v12.0 branch after PR #3022 fixed a SEEPS bug. The GridStatConfig_SEEPS config file needs to be updated with nc_pairs_flag.seeps = TRUE in order for the same output to be produced by the unit tests. * Adding In Memoriam * Feature #3032 main_v12.0 docs data type (#3040) * Per #3032, add data type column to all of the output tables * Per #3032, remove the first row from each output table since its info is repeated from the table name. Additional changes for consistency and accuracy in column names. * Update docs/Users_Guide/gsi-tools.rst Co-authored-by: Julie Prestopnik <[email protected]> --------- Co-authored-by: Julie Prestopnik <[email protected]> * Making a superficial change in the main_v12.0 branch to trigger GHA to create and push an updated test output image. * Feature #3033 v12.0.0 (#3042) * Per #3033, update version info, consolidate release notes, and add upgrade instructions. * Per #3033, remove all instances of 'Bugfix: ' from the release notes since it's redundant with the dropdown name * Per #3030, based on request from Randy Pierce, also add MTD header columns to met_header_columns_v12.0.txt to make it easier to parse the output from MET. * Per #3033, fix typo and correct alignment in table * Update install_met_env.acorn Removing reference to beta version * Update install_met_env.cactus Remove references to beta version * Update install_met_env.cactus Update paths for eckit and atlas * Update install_met_env.wcoss2 Remove beta references * Fix typo, missing one * to make SciPy bold in appendixF.rst * Per #3051, update unit tests so that installed files are found relative to MET_BASE (<install_loc>/share/met) and other files that are only in the MET repo are found relative to MET_TEST_BASE (MET/internal/test_unit). Also remove MET_BUILD_BASE env var (#3052) * Bugfix #3054 main_v12.0 parusr (#3068) * Per #3054, fix PARUSR BUFRLIB error by solving the upstream reference to temporary memory returned by c_str(). Store a copy of the temporary variable name in a string rather than a pointer to temporary memory. Note that I checked all other calls to c_str() in pb2nc.cc and found these 2 instances to be only problematic ones. All others are used as arguments to functions for which a copy is made. * Unrelated to #3054, but discovered while investigating the dtcenter/METplus#2875 discussion, the PairBase::calc_obs_summary() function loops over map entries and attempts to update the mapped 'summary_val' value. However, the current version only updates it in a copy and not what's actually in the map. This changes how we loop over the map to actually udpate its contents. Note that the only impact is fixing a log file to accurately report the 'summary_val'. So this is really a logging bug. * Per #3054, revert emplace_back() to its original push_back() to make the bugfix diffs as limited as possible. * Per #3054, correct bugfix in PairBase::calc_obs_summary() in pair_base.cc --------- Co-authored-by: MET Tools Test Account <[email protected]> * Per #3070, updates for the 12.0.1 bugfix release. (#3071) * Updating file for 12.0.1 installation for NCO * Updating to 12.0.1 for NCO * Update and rename 12.0.0_acorn to 12.0.1_acorn for NCO * Rename 12.0.0.lua_wcoss2 to 12.0.1.lua_wcoss2 for NCO * Update 12.0.0_hercules * Update install_met_env.hercules * Update compiler and MET version in install_met_env.orion * Update compiler and MET version in 12.0.0_orion * Bugfix #3075 main_v12.0 optimization (#3076) * Per #3075, update get_att_value_chars() utility function to store the attribute value in a string rather than a fixed-length character array for which overflow may occur. * Per #3075, switch from compiling MET in Docker using the -g debug flag to using -O2 optimization since that's what how we configure installations on supported platforms. This makes the testing environment more simliar to the deployed versions. And we've found some bugs due to unexpected behavior when compiled with -O2 optimization. * Per #3075, remove accidentally committed log file * Per #3075, update TrackInfo::diag_name() to return a string rather than a pointer to temporary memory to solve the problem with diagnostic names in unit_tc_pairs.xml when compiled with optimization enabled. * Per #3075, update read_netcdf_logic() to store pointers to class members rather than local variables which go out of scope. * Per #3075, don't need to use local variables at all. * Per #3075, switch to using STL vectors for memory management * Per #3075, reimplement month_name_to_m() with stl strings to avoid variable length arrays. * Per #3075, update MetNcFile::readFile() to use stl vectors instead of variable length arrays * Per #3075, update NcCfFile member functions to use stl vectors instead of variable length arrays * Per #3075, update is_netcdf_file() to use stl vectors instead of variable length arrays * Per #3075, update 3d_conv.cc to use stl vectors instead of variable length arrays * Per #3075, update the vx_util library to use stl vectors instead of variable length arrays * Per #3075, update ensemble_stat to use stl vectors instead of variable length arrays * Per #3075, update decode_lat_lon() to use stl vectors instead of variable length arrays * Per #3075, update grid_diag to use stl vectors instead of variable length arrays * Per #3075, update ioda2nc to use stl vectors instead of variable length arrays * Per #3075, update madis2nc to use stl vectors instead of variable length arrays * Per #3075, update mode_graphics to use stl vectors instead of variable length arrays * Per #3075, update the vx_nc_obs library to use stl vectors instead of variable length arrays * Per #3075, update plot_point_obs to use stl vectors instead of variable length arrays * Per #3075, update point_stat to use stl vectors instead of variable length arrays * Per #3075, update wavelet_stat to use stl vectors instead of variable length arrays * Per #3075, no real code change, just whitespace * Per #3075, removing commented out code * Per #3075, need to add 2 to account for time_count being initialized to -1. An array of length 0 is different from a vector of length 0. * Per #3075, can't use 2D vectors to read data from NetCDF files into a contiguous block of memory. * Per #3075, can't use 2D vectors to read data from NetCDF files into a contiguous block of memory. * Per #3075, update looping logic * Per #3075, eliminate all instances of vector<vector<type>> since it's not stored in contiguous memory and therefore not useful for reading data from the NetCDF files. * Per #303075, bit more madis2nc changes. * Per #3075, fix Nx typo * Per #3075, fix chaNetCDF attribute character type * Per #3075, minor changes to satisfy SonarQube findings. * Per #3075, when sizing vectors of type <char> add one for the trailing null. * Per #3075, remove debugging code. * Per #3075, unit_ioda2nc.xml fails when compiled with Intel since there are issues parsing NC_STRING attribute types. Reverting back to the previous logic from main_v12.0 since that works. * Per #3750, back out the change to using -O2 in development.docker. With it, differences on flagged by GHA. I'd like to make sure all the changes on this branch cause NO differences before switching to using -O2... most likely in the develop branch rather than main_v12.0. * Per #3075, getting segfault from point2grid. Null terminating character vectors after reading NetCDF attributes just to be safe. * Unrelated to #3075, only whitespace changes. * Per #3075, fix logic of the write_nc(...) function so that all variable attributes and added and defined prior to writing the data for that variable. Writing attributes AFTER the data, as we had been doing, causes unexpected failures, as found when compiled with Intel. * Per #3075, update args to write_nc(...) to minimize regression test diffs. * Per #3075, fix madis2nc i_buf definition problem. * Per #3075, more refinement of i_buf definition in madis2nc for acars and raob inputs. * Per #3075, remove FFLAGS from development.docker becuase there's no good reason to add it. * replace raw array with std array * replace raw array with std array in 2 other places * Per #3075, fix clear bug in vx_bool_calc/tokenizer.cc where the = assignment operator is used when the == comparison operator is needed. --------- Co-authored-by: George McCabe <[email protected]> --------- Co-authored-by: George McCabe <[email protected]> Co-authored-by: Julie Prestopnik <[email protected]> Co-authored-by: John Halley Gotway <[email protected]> Co-authored-by: MET Tools Test Account <[email protected]> Co-authored-by: metplus-bot <[email protected]>
* use custom GitHub Action to trigger METplus use cases * Updating values * Bugfix #3020 main_v12.0 grid_stat_seeps (#3022) * Per #3020, add missing GridStatNcOutInfo::do_seeps flag and use it to determine if SEEPS information should be written to the Grid-Stat NetCDF matched pairs output file. * Unrelated to #3020, fix broken NetCDF cf-conventions links in the User's Guide. * Per #3020, no real changes. Just whitespace * Update to reflect usage of oneAPI compilers * Updating file to reflect usage of oneAPI compilers * Hotfix to the main_v12.0 branch after PR #3022 fixed a SEEPS bug. The GridStatConfig_SEEPS config file needs to be updated with nc_pairs_flag.seeps = TRUE in order for the same output to be produced by the unit tests. * Adding In Memoriam * Feature #3032 main_v12.0 docs data type (#3040) * Per #3032, add data type column to all of the output tables * Per #3032, remove the first row from each output table since its info is repeated from the table name. Additional changes for consistency and accuracy in column names. * Update docs/Users_Guide/gsi-tools.rst Co-authored-by: Julie Prestopnik <[email protected]> --------- Co-authored-by: Julie Prestopnik <[email protected]> * Making a superficial change in the main_v12.0 branch to trigger GHA to create and push an updated test output image. * Feature #3033 v12.0.0 (#3042) * Per #3033, update version info, consolidate release notes, and add upgrade instructions. * Per #3033, remove all instances of 'Bugfix: ' from the release notes since it's redundant with the dropdown name * Per #3030, based on request from Randy Pierce, also add MTD header columns to met_header_columns_v12.0.txt to make it easier to parse the output from MET. * Per #3033, fix typo and correct alignment in table * Update install_met_env.acorn Removing reference to beta version * Update install_met_env.cactus Remove references to beta version * Update install_met_env.cactus Update paths for eckit and atlas * Update install_met_env.wcoss2 Remove beta references * Fix typo, missing one * to make SciPy bold in appendixF.rst * Per #3051, update unit tests so that installed files are found relative to MET_BASE (<install_loc>/share/met) and other files that are only in the MET repo are found relative to MET_TEST_BASE (MET/internal/test_unit). Also remove MET_BUILD_BASE env var (#3052) * Bugfix #3054 main_v12.0 parusr (#3068) * Per #3054, fix PARUSR BUFRLIB error by solving the upstream reference to temporary memory returned by c_str(). Store a copy of the temporary variable name in a string rather than a pointer to temporary memory. Note that I checked all other calls to c_str() in pb2nc.cc and found these 2 instances to be only problematic ones. All others are used as arguments to functions for which a copy is made. * Unrelated to #3054, but discovered while investigating the dtcenter/METplus#2875 discussion, the PairBase::calc_obs_summary() function loops over map entries and attempts to update the mapped 'summary_val' value. However, the current version only updates it in a copy and not what's actually in the map. This changes how we loop over the map to actually udpate its contents. Note that the only impact is fixing a log file to accurately report the 'summary_val'. So this is really a logging bug. * Per #3054, revert emplace_back() to its original push_back() to make the bugfix diffs as limited as possible. * Per #3054, correct bugfix in PairBase::calc_obs_summary() in pair_base.cc --------- Co-authored-by: MET Tools Test Account <[email protected]> * Per #3070, updates for the 12.0.1 bugfix release. (#3071) * Updating file for 12.0.1 installation for NCO * Updating to 12.0.1 for NCO * Update and rename 12.0.0_acorn to 12.0.1_acorn for NCO * Rename 12.0.0.lua_wcoss2 to 12.0.1.lua_wcoss2 for NCO * Update 12.0.0_hercules * Update install_met_env.hercules * Update compiler and MET version in install_met_env.orion * Update compiler and MET version in 12.0.0_orion * Bugfix #3075 main_v12.0 optimization (#3076) * Per #3075, update get_att_value_chars() utility function to store the attribute value in a string rather than a fixed-length character array for which overflow may occur. * Per #3075, switch from compiling MET in Docker using the -g debug flag to using -O2 optimization since that's what how we configure installations on supported platforms. This makes the testing environment more simliar to the deployed versions. And we've found some bugs due to unexpected behavior when compiled with -O2 optimization. * Per #3075, remove accidentally committed log file * Per #3075, update TrackInfo::diag_name() to return a string rather than a pointer to temporary memory to solve the problem with diagnostic names in unit_tc_pairs.xml when compiled with optimization enabled. * Per #3075, update read_netcdf_logic() to store pointers to class members rather than local variables which go out of scope. * Per #3075, don't need to use local variables at all. * Per #3075, switch to using STL vectors for memory management * Per #3075, reimplement month_name_to_m() with stl strings to avoid variable length arrays. * Per #3075, update MetNcFile::readFile() to use stl vectors instead of variable length arrays * Per #3075, update NcCfFile member functions to use stl vectors instead of variable length arrays * Per #3075, update is_netcdf_file() to use stl vectors instead of variable length arrays * Per #3075, update 3d_conv.cc to use stl vectors instead of variable length arrays * Per #3075, update the vx_util library to use stl vectors instead of variable length arrays * Per #3075, update ensemble_stat to use stl vectors instead of variable length arrays * Per #3075, update decode_lat_lon() to use stl vectors instead of variable length arrays * Per #3075, update grid_diag to use stl vectors instead of variable length arrays * Per #3075, update ioda2nc to use stl vectors instead of variable length arrays * Per #3075, update madis2nc to use stl vectors instead of variable length arrays * Per #3075, update mode_graphics to use stl vectors instead of variable length arrays * Per #3075, update the vx_nc_obs library to use stl vectors instead of variable length arrays * Per #3075, update plot_point_obs to use stl vectors instead of variable length arrays * Per #3075, update point_stat to use stl vectors instead of variable length arrays * Per #3075, update wavelet_stat to use stl vectors instead of variable length arrays * Per #3075, no real code change, just whitespace * Per #3075, removing commented out code * Per #3075, need to add 2 to account for time_count being initialized to -1. An array of length 0 is different from a vector of length 0. * Per #3075, can't use 2D vectors to read data from NetCDF files into a contiguous block of memory. * Per #3075, can't use 2D vectors to read data from NetCDF files into a contiguous block of memory. * Per #3075, update looping logic * Per #3075, eliminate all instances of vector<vector<type>> since it's not stored in contiguous memory and therefore not useful for reading data from the NetCDF files. * Per #303075, bit more madis2nc changes. * Per #3075, fix Nx typo * Per #3075, fix chaNetCDF attribute character type * Per #3075, minor changes to satisfy SonarQube findings. * Per #3075, when sizing vectors of type <char> add one for the trailing null. * Per #3075, remove debugging code. * Per #3075, unit_ioda2nc.xml fails when compiled with Intel since there are issues parsing NC_STRING attribute types. Reverting back to the previous logic from main_v12.0 since that works. * Per #3750, back out the change to using -O2 in development.docker. With it, differences on flagged by GHA. I'd like to make sure all the changes on this branch cause NO differences before switching to using -O2... most likely in the develop branch rather than main_v12.0. * Per #3075, getting segfault from point2grid. Null terminating character vectors after reading NetCDF attributes just to be safe. * Unrelated to #3075, only whitespace changes. * Per #3075, fix logic of the write_nc(...) function so that all variable attributes and added and defined prior to writing the data for that variable. Writing attributes AFTER the data, as we had been doing, causes unexpected failures, as found when compiled with Intel. * Per #3075, update args to write_nc(...) to minimize regression test diffs. * Per #3075, fix madis2nc i_buf definition problem. * Per #3075, more refinement of i_buf definition in madis2nc for acars and raob inputs. * Per #3075, remove FFLAGS from development.docker becuase there's no good reason to add it. * replace raw array with std array * replace raw array with std array in 2 other places * Per #3075, fix clear bug in vx_bool_calc/tokenizer.cc where the = assignment operator is used when the == comparison operator is needed. --------- Co-authored-by: George McCabe <[email protected]> * Per #3075, adding a hotfix to main_v12.0 that should have been included in the #3076 pull request. The logic for converting to camel case was in the wrong order and the details of this are described in this comment: #3078 (comment) * Bugfix #3077 main_v12.0 yyerror (#3083) * Per #3077, back out the yystate patching logic added to Makefile.am for MET #2408 to allow for the parsing of empty configuration file. This has caused a 'shift/reduce conflict' warning message from the Intel compiler, is flagged as problem by '-fsanitize=address', and very well may be causing the sporadic yyerror failures described in #3077. Recommend testing with this change to see if the yyerror's go away, but also re-testing MET #2408 to assess the handling of empty configuration files. * Per #3075, update config.tab.yy/.cc to allow for empty inputs but allowing for an empty input in the statement_list. * Feature #3081 v12.0.2 (#3085) * Per #3081, roll the MET version number from 12.0.1 to 12.0.2 and add release notes. * Per #3081, improve the title for issue #3075 --------- Co-authored-by: George McCabe <[email protected]> Co-authored-by: Julie Prestopnik <[email protected]> Co-authored-by: John Halley Gotway <[email protected]> Co-authored-by: MET Tools Test Account <[email protected]> Co-authored-by: metplus-bot <[email protected]>
Describe the Enhancement
MET #3024 adds 4 new columns to the GRAD line type written by Grid-Stat to quantify sharpness. This issue is to enhance Series-Analysis to compute the statistics from the GRAD line type to enable sharpness to be assessed spatially.
Recommend reconfiguring an existing unit test for Series-Analysis to also compute GRAD statistics.
Time Estimate
2 days?
Sub-Issues
Consider breaking the enhancement down into sub-issues.
None needed.
Relevant Deadlines
To be completed by 12/30 and charged to the METplus NRL project.
Funding Source
METplus NRL project (7730022)
Define the Metadata
Assignee
Labels
Milestone and Projects
Define Related Issue(s)
Consider the impact to the other METplus components.
Enhancement Checklist
See the METplus Workflow for details.
Branch name:
feature_<Issue Number>_<Description>
Pull request:
feature <Issue Number> <Description>
Select: Reviewer(s) and Development issue
Select: Milestone as the next official version
Select: MET-X.Y.Z Development project for development toward the next official release
The text was updated successfully, but these errors were encountered: