From 9790a715fd2633f427c26ce8c97f1a414cdccc2c Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Mon, 7 Mar 2022 09:16:11 -0700 Subject: [PATCH] per #1464, add support for setting prob_cat_thresh in the wrapped MET config file for EnsembleStat --- docs/Users_Guide/glossary.rst | 5 +++++ docs/Users_Guide/wrappers.rst | 12 ++++++++++++ .../ensemble_stat/test_ensemble_stat_wrapper.py | 3 +++ metplus/wrappers/ensemble_stat_wrapper.py | 5 +++++ parm/met_config/EnsembleStatConfig_wrapped | 5 +++++ .../met_tool_wrapper/EnsembleStat/EnsembleStat.conf | 7 ++++--- 6 files changed, 34 insertions(+), 3 deletions(-) diff --git a/docs/Users_Guide/glossary.rst b/docs/Users_Guide/glossary.rst index dc150ce9c2..3c7b7f2a10 100644 --- a/docs/Users_Guide/glossary.rst +++ b/docs/Users_Guide/glossary.rst @@ -9152,6 +9152,11 @@ METplus Configuration Glossary | *Used by:* SeriesAnalysis + ENSEMBLE_STAT_PROB_CAT_THRESH + Specify the value for 'prob_cat_thresh' in the MET configuration file for EnsembleStat. + + | *Used by:* EnsembleStat + ENSEMBLE_STAT_PROB_PCT_THRESH Specify the value for 'prob_pct_thresh' in the MET configuration file for EnsembleStat. diff --git a/docs/Users_Guide/wrappers.rst b/docs/Users_Guide/wrappers.rst index fa1c40cc19..fcf6b7c1d2 100644 --- a/docs/Users_Guide/wrappers.rst +++ b/docs/Users_Guide/wrappers.rst @@ -293,6 +293,7 @@ METplus Configuration | :term:`ENSEMBLE_STAT_ENS_MEMBER_IDS` | :term:`ENSEMBLE_STAT_CONTROL_ID` | :term:`ENSEMBLE_STAT_GRID_WEIGHT_FLAG` +| :term:`ENSEMBLE_STAT_PROB_CAT_THRESH` | :term:`ENSEMBLE_STAT_PROB_PCT_THRESH` | :term:`ENSEMBLE_STAT_ECLV_POINTS` | :term:`ENSEMBLE_STAT_VERIFICATION_MASK_TEMPLATE` (optional) @@ -514,6 +515,17 @@ see :ref:`How METplus controls MET config file settings`. * - :term:`ENSEMBLE_STAT_NMEP_SMOOTH_WIDTH` - nmep_smooth.type.width +**${METPLUS_PROB_CAT_THRESH}** + +.. list-table:: + :widths: 5 5 + :header-rows: 0 + + * - METplus Config(s) + - MET Config File + * - :term:`ENSEMBLE_STAT_PROB_CAT_THRESH` + - prob_cat_thresh + **${METPLUS_PROB_PCT_THRESH}** .. list-table:: diff --git a/internal_tests/pytests/ensemble_stat/test_ensemble_stat_wrapper.py b/internal_tests/pytests/ensemble_stat/test_ensemble_stat_wrapper.py index b342d50380..5dd2a2873c 100644 --- a/internal_tests/pytests/ensemble_stat/test_ensemble_stat_wrapper.py +++ b/internal_tests/pytests/ensemble_stat/test_ensemble_stat_wrapper.py @@ -655,6 +655,9 @@ def test_handle_climo_file_variables(metplus_config, config_overrides, ({'ENSEMBLE_STAT_GRID_WEIGHT_FLAG': 'COS_LAT', }, {'METPLUS_GRID_WEIGHT_FLAG': 'grid_weight_flag = COS_LAT;'}), + ({'ENSEMBLE_STAT_PROB_CAT_THRESH': '<=0.25', }, + {'METPLUS_PROB_CAT_THRESH': 'prob_cat_thresh = [<=0.25];'}), + ({'ENSEMBLE_STAT_PROB_PCT_THRESH': '==0.25', }, {'METPLUS_PROB_PCT_THRESH': 'prob_pct_thresh = [==0.25];'}), diff --git a/metplus/wrappers/ensemble_stat_wrapper.py b/metplus/wrappers/ensemble_stat_wrapper.py index f1457030e1..ef58af0d08 100755 --- a/metplus/wrappers/ensemble_stat_wrapper.py +++ b/metplus/wrappers/ensemble_stat_wrapper.py @@ -67,6 +67,7 @@ class EnsembleStatWrapper(CompareGriddedWrapper): 'METPLUS_ENS_MEMBER_IDS', 'METPLUS_CONTROL_ID', 'METPLUS_GRID_WEIGHT_FLAG', + 'METPLUS_PROB_CAT_THRESH', 'METPLUS_PROB_PCT_THRESH', 'METPLUS_ECLV_POINTS', ] @@ -361,6 +362,10 @@ def create_c_dict(self): self.add_met_config(name='eclv_points', data_type='float') + self.add_met_config(name='prob_cat_thresh', + data_type='list', + extra_args={'remove_quotes': True}) + # old method of setting MET config values c_dict['ENS_THRESH'] = ( self.config.getstr('config', 'ENSEMBLE_STAT_ENS_THRESH', '1.0') diff --git a/parm/met_config/EnsembleStatConfig_wrapped b/parm/met_config/EnsembleStatConfig_wrapped index 2cb017645d..c4846b4d06 100644 --- a/parm/met_config/EnsembleStatConfig_wrapped +++ b/parm/met_config/EnsembleStatConfig_wrapped @@ -71,6 +71,11 @@ ${METPLUS_NBRHD_PROB_DICT} // ${METPLUS_NMEP_SMOOTH_DICT} +//////////////////////////////////////////////////////////////////////////////// + +//prob_cat_thresh = +${METPLUS_PROB_CAT_THRESH} + //prob_pct_thresh = ${METPLUS_PROB_PCT_THRESH} diff --git a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf index dcadd33b87..4e962a9f48 100644 --- a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf +++ b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf @@ -103,9 +103,6 @@ ENSEMBLE_STAT_DESC = NA OBS_ENSEMBLE_STAT_WINDOW_BEGIN = -5400 OBS_ENSEMBLE_STAT_WINDOW_END = 5400 -#ENSEMBLE_STAT_PROB_PCT_THRESH = ==0.25 -#ENSEMBLE_STAT_ECLV_POINTS = 0.05 - ENSEMBLE_STAT_ENS_THRESH = 1.0 ENSEMBLE_STAT_ENS_VLD_THRESH = 1.0 @@ -134,6 +131,10 @@ ENSEMBLE_STAT_NMEP_SMOOTH_GAUSSIAN_RADIUS = 120 ENSEMBLE_STAT_NMEP_SMOOTH_METHOD = GAUSSIAN ENSEMBLE_STAT_NMEP_SMOOTH_WIDTH = 1 +#ENSEMBLE_STAT_PROB_CAT_THRESH = +#ENSEMBLE_STAT_PROB_PCT_THRESH = ==0.25 +#ENSEMBLE_STAT_ECLV_POINTS = 0.05 + ENSEMBLE_STAT_MESSAGE_TYPE = ADPSFC ENSEMBLE_STAT_DUPLICATE_FLAG = NONE