From 4bd91475627ccac3f769e059d0949f304f2d4072 Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Thu, 22 Sep 2022 15:16:55 -0600 Subject: [PATCH 1/2] fixed bug discovered in dtcenter/METplus#1826 where incorrect number of columns are used for nbrctc, nbrcts, and nbrcnt --- src/libcode/vx_analysis_util/stat_job.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libcode/vx_analysis_util/stat_job.cc b/src/libcode/vx_analysis_util/stat_job.cc index af3c450c74..f82b0f6151 100644 --- a/src/libcode/vx_analysis_util/stat_job.cc +++ b/src/libcode/vx_analysis_util/stat_job.cc @@ -2046,9 +2046,9 @@ void STATAnalysisJob::setup_stat_file(int n_row, int n) { case stat_prc: write_prc_header_row (1, n, stat_at, 0, 0); break; case stat_eclv: write_eclv_header_row (1, n, stat_at, 0, 0); break; case stat_mpr: write_header_row (mpr_columns, n_mpr_columns, 1, stat_at, 0, 0); break; - case stat_nbrctc: write_header_row (nbrctc_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; - case stat_nbrcts: write_header_row (nbrcts_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; - case stat_nbrcnt: write_header_row (nbrcnt_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; + case stat_nbrctc: write_header_row (nbrctc_columns, n_nbrctc_columns, 1, stat_at, 0, 0); break; + case stat_nbrcts: write_header_row (nbrcts_columns, n_nbrcts_columns, 1, stat_at, 0, 0); break; + case stat_nbrcnt: write_header_row (nbrcnt_columns, n_nbrcnt_columns, 1, stat_at, 0, 0); break; case stat_grad: write_header_row (grad_columns, n_grad_columns, 1, stat_at, 0, 0); break; case stat_isc: write_header_row (isc_columns, n_isc_columns, 1, stat_at, 0, 0); break; case stat_wdir: write_header_row (job_wdir_columns, n_job_wdir_columns, 1, stat_at, 0, 0); break; From d532b2c16a586e9f02c1e1ccbf5b3bbb930c9a47 Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Thu, 22 Sep 2022 17:00:33 -0600 Subject: [PATCH 2/2] Per #2271, tweaking an existing Stat-Analysis unit test to demonstrate this aggregation step and make sure we don't break it in the future. --- .../test_unit/config/STATAnalysisConfig_grid_stat | 13 +++++++------ internal/test_unit/xml/unit_stat_analysis_gs.xml | 2 ++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/internal/test_unit/config/STATAnalysisConfig_grid_stat b/internal/test_unit/config/STATAnalysisConfig_grid_stat index b6c222b123..d499c911e1 100644 --- a/internal/test_unit/config/STATAnalysisConfig_grid_stat +++ b/internal/test_unit/config/STATAnalysisConfig_grid_stat @@ -49,9 +49,9 @@ obtype = []; vx_mask = [ "DTC165", "DTC166" ]; -interp_mthd = [ "UW_MEAN_SQUARE" ]; +interp_mthd = []; -interp_pnts = [ 9 ]; +interp_pnts = []; fcst_thresh = []; obs_thresh = []; @@ -71,10 +71,11 @@ weight = []; // Array of STAT-Analysis jobs to be performed on the filtered data // jobs = [ - "-job filter -line_type CNT -fcst_thresh NA -alpha 0.05 -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_filter.stat", - "-job aggregate_stat -line_type SL1L2 -fcst_thresh NA -out_line_type CNT -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_sl1l2_dump.stat -out_stat ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_sl1l2_out.stat -set_hdr VX_MASK CONUS", - "-job aggregate -line_type CTC -fcst_thresh \<273 -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_ctc_dump.stat -out_stat ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_ctc_out.stat -set_hdr VX_MASK CONUS", - "-job aggregate_stat -line_type CTC -out_line_type ECLV -fcst_thresh \<273 -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_ctc_to_eclv_dump.stat -out_stat ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_ctc_to_eclv_out.stat -set_hdr VX_MASK CONUS" + "-job filter -line_type CNT -fcst_thresh NA -alpha 0.05 -interp_mthd UW_MEAN_SQUARE -interp_pnts 9 -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_filter.stat", + "-job aggregate_stat -line_type SL1L2 -fcst_thresh NA -out_line_type CNT -by INTERP_MTHD,INTERP_PNTS -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_sl1l2_dump.stat -out_stat ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_sl1l2_out.stat -set_hdr VX_MASK CONUS", + "-job aggregate -line_type CTC -by INTERP_MTHD,INTERP_PNTS,FCST_THRESH -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_ctc_dump.stat -out_stat ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_ctc_out.stat -set_hdr VX_MASK CONUS", + "-job aggregate_stat -line_type CTC -out_line_type ECLV -by INTERP_MTHD,INTERP_PNTS,FCST_THRESH -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_ctc_to_eclv_dump.stat -out_stat ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_stat_ctc_to_eclv_out.stat -set_hdr VX_MASK CONUS", + "-job aggregate -line_type NBRCTC -by INTERP_MTHD,INTERP_PNTS,FCST_THRESH -dump_row ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_nbrctc_dump.stat -out_stat ${OUTPUT_DIR}/CONFIG_GRID_STAT_agg_nbrctc_out.stat -set_hdr VX_MASK CONUS" ]; //////////////////////////////////////////////////////////////////////////////// diff --git a/internal/test_unit/xml/unit_stat_analysis_gs.xml b/internal/test_unit/xml/unit_stat_analysis_gs.xml index 6309f57aef..a70be2d076 100644 --- a/internal/test_unit/xml/unit_stat_analysis_gs.xml +++ b/internal/test_unit/xml/unit_stat_analysis_gs.xml @@ -39,6 +39,8 @@ &OUTPUT_DIR;/stat_analysis_gs/CONFIG_GRID_STAT_agg_ctc_out.stat &OUTPUT_DIR;/stat_analysis_gs/CONFIG_GRID_STAT_agg_stat_ctc_to_eclv_dump.stat &OUTPUT_DIR;/stat_analysis_gs/CONFIG_GRID_STAT_agg_stat_ctc_to_eclv_out.stat + &OUTPUT_DIR;/stat_analysis_gs/CONFIG_GRID_STAT_agg_nbrctc_dump.stat + &OUTPUT_DIR;/stat_analysis_gs/CONFIG_GRID_STAT_agg_nbrctc_out.stat