Skip to content

Commit

Permalink
Feature #2887 categorical weights (#2988)
Browse files Browse the repository at this point in the history
* Per #2887, update NumArray::vals() to return a reference to the vector rather a pointer to doubles.

* Per #2887, switch over the whole ContingencyTable class heirarchy from storing integer counts to storing double-precision weights.

* Add ContingencyTable::is_integer() member function to check whether the table contains all integers

* Per #2887, update parse_stat_line.cc to get it to compile after changing PCT to store thresholds in a std::vector.

* Per #2887, update PCTInfo::clear() logic.

* Per #2887, update ctc_by_row() logic to create reproducible results with the develop branch.

* Per #2887, update logic of define_prob_bins() to add a final >=1.0 threshold if needed. While ==0.1 works fine, I found that ==0.05 did not because the last >=1.0 threshold was missing likely do to floating point precision issues. This change should fix that problem.

* Per #2887, update roc_auc() function to match the develop branch

* Per #2887, fix bug if computation of far()

* Per #2887, replaced all ==0 integer equality checks with calls to is_eq() instead and fix a couple of equations to snuff out diffs in some CTS statistics.

* Per #2887, address some of the 34 SonarQube code smells flagged for this PR. Note that the compute_ci.h/.cc changes are necessary and good since we should be computing CI's using doubles instead of integer counts.

* Per #2887, update run_sonarqube.sh to specify the target CXX standard as 11. The hope is that that will limit the findings to only those features available in the C++11 standard.

* Per #2887, update to SonarQube version 6.1.0.4477 released on 6/27/2024.

* Per #2887, updating build_met_sonarqube.sh to specify --std=c++11 since c++17 is used by default

* Per #2887, swap in a much simpler implementation of the ORSS statistic to match the equation listed in the MET User's Guide.

* Per #2887, update grid_stat and library code to actually apply the grid_weight_flag settings to the computation of contingency table counts and statistics.

* Per #2887, fix the handling of bad data in the ORSS equation.

* Per #2887, add Npairs member to the ContingencyTable class, eliminate the n() accessor function, and carefully replace references to n() with n_pairs() for the integer number of matched pairs or total() with the double-precision sum of the weights.

* Per #2887, reset Npairs = 0 for ContingencyTable::zero_out()

* Per #2883, need to call set_n_pairs() in a few spots to set ECLV TOTAL column correctly ci-run-unit

* Per #2887, call set_n_pairs() when aggregating PCT data in Series-Analysis ci-run-unit

* Per #2887, update stat_analysis to parse the TOTAL column for the PCT and MCTC line types.

* Pet #2882, call set_n_pairs() after set_size() ci-run-unit

* Per #2887, reconfigure existing Ensemble-Stat unit test to request probabilistic output to see that it's impacted by the grid_weight_flag setting.

* Per #2887, update Ensemble-Stat test to provide climo stdev data

* Per #2887, add grid_weight_flag to the list of config options for Grid-Stat and Ensemble-Stat.

* Per #2887, disable FHO output if grid_weight_flag != NONE.

* Per #2887, revise the existing unit_grid_weight.xml unit tests for Grid-Stat to write CTC/CTS/MCTC/MCTS output and for the DESC column to be populated to indicate the type of grid weighting that was applied.

* Per #2887, relatively small changes to drive down SonarQube code smells. Also, switch from total() to n_pairs() when computing confidence intervals.

* Per #2887, more SonarQube tweaks

* Per #2887, more SonarQube tweaks.

* Per #2887, more SonarQube tweaks.

* Per #2887, whitespace only changes.

* Per #2287, fix path the seeps climo grid.

* Per #2887, update the grid_weight_flag documentation.

* Per #2887, tweak the wording.
  • Loading branch information
JohnHalleyGotway authored Oct 11, 2024
1 parent f57bf91 commit ba894e6
Show file tree
Hide file tree
Showing 29 changed files with 2,235 additions and 875 deletions.
2 changes: 1 addition & 1 deletion docs/Users_Guide/appendixF.rst
Original file line number Diff line number Diff line change
Expand Up @@ -355,7 +355,7 @@ The first argument for the Plot-Data-Plane tool is the gridded data file to be r
'level': 'Surface', 'units': 'None',
'init': '20050807_000000', 'valid': '20050807_120000',
'lead': '120000', 'accum': '120000'
'grid': {...} }
'grid': { ... } }
DEBUG 1: Creating postscript file: fcst.ps
Special Case for Ensemble-Stat, Series-Analysis, and MTD
Expand Down
Loading

0 comments on commit ba894e6

Please sign in to comment.