diff --git a/docs/Users_Guide/glossary.rst b/docs/Users_Guide/glossary.rst index fee8163874..2da4bf6f5e 100644 --- a/docs/Users_Guide/glossary.rst +++ b/docs/Users_Guide/glossary.rst @@ -9110,3 +9110,8 @@ METplus Configuration Glossary Specify the value for 'climo_cdf.direct_prob' in the MET configuration file for SeriesAnalysis. | *Used by:* SeriesAnalysis + + GEN_ENS_PROD_NORMALIZE + Specify the value for 'normalize' in the MET configuration file for GenEnsProd. + + | *Used by:* GenEnsProd diff --git a/docs/Users_Guide/wrappers.rst b/docs/Users_Guide/wrappers.rst index fc7a0e11d1..413d1ad4f5 100644 --- a/docs/Users_Guide/wrappers.rst +++ b/docs/Users_Guide/wrappers.rst @@ -1051,6 +1051,7 @@ METplus Configuration | :term:`GEN_ENS_PROD_CENSOR_THRESH` | :term:`GEN_ENS_PROD_CENSOR_VAL` | :term:`GEN_ENS_PROD_CAT_THRESH` +| :term:`GEN_ENS_PROD_NORMALIZE` | :term:`GEN_ENS_PROD_NC_VAR_STR` | :term:`GEN_ENS_PROD_ENS_THRESH` | :term:`GEN_ENS_PROD_ENS_VLD_THRESH` @@ -1188,6 +1189,17 @@ see :ref:`How METplus controls MET config file settings`. * - :term:`GEN_ENS_PROD_CENSOR_VAL` - censor_val +**${METPLUS_NORMALIZE}** + +.. list-table:: + :widths: 5 5 + :header-rows: 0 + + * - METplus Config(s) + - MET Config File + * - :term:`GEN_ENS_PROD_NORMALIZE` + - normalize + **${METPLUS_CAT_THRESH}** .. list-table:: diff --git a/internal_tests/pytests/gen_ens_prod/test_gen_ens_prod_wrapper.py b/internal_tests/pytests/gen_ens_prod/test_gen_ens_prod_wrapper.py index 0ccc92117d..0a1d4a8ec3 100644 --- a/internal_tests/pytests/gen_ens_prod/test_gen_ens_prod_wrapper.py +++ b/internal_tests/pytests/gen_ens_prod/test_gen_ens_prod_wrapper.py @@ -342,12 +342,16 @@ def set_minimum_config_settings(config): 'type = [{method = GAUSSIAN;width = 1;}];}' ) }), - + # 59 ({'GEN_ENS_PROD_ENS_MEMBER_IDS': '1,2,3,4', }, {'METPLUS_ENS_MEMBER_IDS': 'ens_member_ids = ["1", "2", "3", "4"];'}), - + # 60 ({'GEN_ENS_PROD_CONTROL_ID': '0', }, {'METPLUS_CONTROL_ID': 'control_id = "0";'}), + # 61 + ({'GEN_ENS_PROD_NORMALIZE': 'CLIMO_STD_ANOM', }, + {'METPLUS_NORMALIZE': 'normalize = CLIMO_STD_ANOM;'}), + ] ) def test_gen_ens_prod_single_field(metplus_config, config_overrides, diff --git a/metplus/wrappers/gen_ens_prod_wrapper.py b/metplus/wrappers/gen_ens_prod_wrapper.py index d4877cf847..a798ee231b 100755 --- a/metplus/wrappers/gen_ens_prod_wrapper.py +++ b/metplus/wrappers/gen_ens_prod_wrapper.py @@ -32,6 +32,7 @@ class GenEnsProdWrapper(LoopTimesWrapper): 'METPLUS_ENSEMBLE_FLAG_DICT', 'METPLUS_ENS_MEMBER_IDS', 'METPLUS_CONTROL_ID', + 'METPLUS_NORMALIZE', ] ENSEMBLE_FLAGS = [ @@ -167,6 +168,11 @@ def create_c_dict(self): 'GEN_ENS_PROD_ENS_VLD_THRESH'], ) + self.add_met_config(name='normalize', + data_type='string', + extra_args={'remove_quotes': True}, + ) + # parse var list for ENS fields c_dict['ENS_VAR_LIST_TEMP'] = parse_var_list( self.config, diff --git a/parm/met_config/GenEnsProdConfig_wrapped b/parm/met_config/GenEnsProdConfig_wrapped index 9171881b35..9e8d21275c 100644 --- a/parm/met_config/GenEnsProdConfig_wrapped +++ b/parm/met_config/GenEnsProdConfig_wrapped @@ -39,6 +39,9 @@ ${METPLUS_CENSOR_THRESH} //censor_val = ${METPLUS_CENSOR_VAL} +//normalize = +${METPLUS_NORMALIZE} + //cat_thresh = ${METPLUS_CAT_THRESH} diff --git a/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf b/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf index 7e029bbd21..f25bd739d7 100644 --- a/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf +++ b/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf @@ -85,6 +85,7 @@ ENS_VAR5_THRESH = >=5.0 #GEN_ENS_PROD_CENSOR_THRESH = #GEN_ENS_PROD_CENSOR_VAL = +#GEN_ENS_PROD_NORMALIZE = #GEN_ENS_PROD_CAT_THRESH = #GEN_ENS_PROD_NC_VAR_STR =