Skip to content

Commit

Permalink
Feature #2727 point_weight_flag and obtype_as_group_val_flag (#2730)
Browse files Browse the repository at this point in the history
* Per #2727, add support for setting point_weight_flag

* Per #2727, add support for obtype_as_group_val_flag

* per #2714, deprecate master_metplus.py
  • Loading branch information
georgemccabe authored Oct 16, 2024
1 parent 825a0d0 commit 414be7e
Show file tree
Hide file tree
Showing 11 changed files with 127 additions and 2 deletions.
20 changes: 20 additions & 0 deletions docs/Users_Guide/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12970,3 +12970,23 @@ METplus Configuration Glossary
using the -aggr command line argument.

| *Used by:* SeriesAnalysis
POINT_STAT_POINT_WEIGHT_FLAG
Specify the value for 'point_weight_flag' in the MET configuration file for PointStat.

| *Used by:* PointStat
ENSEMBLE_STAT_POINT_WEIGHT_FLAG
Specify the value for 'point_weight_flag' in the MET configuration file for EnsembleStat.

| *Used by:* EnsembleStat
POINT_STAT_OBTYPE_AS_GROUP_VAL_FLAG
Specify the value for 'obtype_as_group_val_flag' in the MET configuration file for PointStat.

| *Used by:* PointStat
ENSEMBLE_STAT_OBTYPE_AS_GROUP_VAL_FLAG
Specify the value for 'obtype_as_group_val_flag' in the MET configuration file for EnsembleStat.

| *Used by:* EnsembleStat
54 changes: 53 additions & 1 deletion docs/Users_Guide/wrappers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ METplus Configuration
| :term:`ENSEMBLE_STAT_CUSTOM_LOOP_LIST`
| :term:`ENSEMBLE_STAT_SKIP_IF_OUTPUT_EXISTS`
| :term:`ENSEMBLE_STAT_DESC`
| :term:`ENSEMBLE_STAT_OBTYPE_AS_GROUP_VAL_FLAG`
| :term:`ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE`
| :term:`ENSEMBLE_STAT_ENS_PHIST_BIN_SIZE`
| :term:`ENSEMBLE_STAT_CLIMO_CDF_BINS`
Expand Down Expand Up @@ -356,6 +357,7 @@ METplus Configuration
| :term:`ENSEMBLE_STAT_ENS_MEMBER_IDS`
| :term:`ENSEMBLE_STAT_CONTROL_ID`
| :term:`ENSEMBLE_STAT_GRID_WEIGHT_FLAG`
| :term:`ENSEMBLE_STAT_POINT_WEIGHT_FLAG`
| :term:`ENSEMBLE_STAT_PROB_CAT_THRESH`
| :term:`ENSEMBLE_STAT_PROB_PCT_THRESH`
| :term:`ENSEMBLE_STAT_ECLV_POINTS`
Expand Down Expand Up @@ -849,6 +851,18 @@ ${METPLUS_OBS_ERROR_FLAG}
* - :term:`ENSEMBLE_STAT_OBS_ERROR_FLAG`
- obs_error.flag

${METPLUS_OBTYPE_AS_GROUP_VAL_FLAG}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. list-table::
:widths: 5 5
:header-rows: 1

* - METplus Config(s)
- MET Config File
* - :term:`ENSEMBLE_STAT_OBTYPE_AS_GROUP_VAL_FLAG`
- obtype_as_group_val_flag

${METPLUS_ENS_SSVAR_BIN_SIZE}
"""""""""""""""""""""""""""""

Expand Down Expand Up @@ -1091,6 +1105,18 @@ ${METPLUS_GRID_WEIGHT_FLAG}
* - :term:`ENSEMBLE_STAT_GRID_WEIGHT_FLAG`
- grid_weight_flag

${METPLUS_POINT_WEIGHT_FLAG}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. list-table::
:widths: 5 5
:header-rows: 1

* - METplus Config(s)
- MET Config File
* - :term:`ENSEMBLE_STAT_POINT_WEIGHT_FLAG`
- point_weight_flag

${METPLUS_OUTPUT_PREFIX}
""""""""""""""""""""""""

Expand Down Expand Up @@ -7070,6 +7096,7 @@ Configuration
| :term:`POINT_STAT_HIRA_SHAPE`
| :term:`POINT_STAT_HIRA_PROB_CAT_THRESH`
| :term:`POINT_STAT_MESSAGE_TYPE_GROUP_MAP`
| :term:`POINT_STAT_OBTYPE_AS_GROUP_VAL_FLAG`
| :term:`FCST_POINT_STAT_IS_PROB`
| :term:`FCST_POINT_STAT_PROB_IN_GRIB_PDS`
| :term:`FCST_POINT_STAT_WINDOW_BEGIN`
Expand Down Expand Up @@ -7097,6 +7124,7 @@ Configuration
| :term:`POINT_STAT_UGRID_MAX_DISTANCE_KM`
| :term:`POINT_STAT_UGRID_COORDINATES_FILE`
| :term:`POINT_STAT_UGRID_CONFIG_FILE`
| :term:`POINT_STAT_POINT_WEIGHT_FLAG`
|
.. warning:: **DEPRECATED:**
Expand Down Expand Up @@ -7472,7 +7500,19 @@ ${METPLUS_MESSAGE_TYPE_GROUP_MAP}
- MET Config File
* - :term:`POINT_STAT_MESSAGE_TYPE_GROUP_MAP`
- message_type_group_map


${METPLUS_OBTYPE_AS_GROUP_VAL_FLAG}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. list-table::
:widths: 5 5
:header-rows: 1

* - METplus Config(s)
- MET Config File
* - :term:`POINT_STAT_OBTYPE_AS_GROUP_VAL_FLAG`
- obtype_as_group_val_flag

${METPLUS_CLIMO_MEAN_DICT}
""""""""""""""""""""""""""

Expand Down Expand Up @@ -7787,6 +7827,18 @@ ${METPLUS_OUTPUT_PREFIX}
* - :term:`POINT_STAT_OUTPUT_PREFIX`
- output_prefix

${METPLUS_POINT_WEIGHT_FLAG}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. list-table::
:widths: 5 5
:header-rows: 1

* - METplus Config(s)
- MET Config File
* - :term:`POINT_STAT_POINT_WEIGHT_FLAG`
- point_weight_flag

${METPLUS_MET_CONFIG_OVERRIDES}
"""""""""""""""""""""""""""""""

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -829,6 +829,11 @@ def test_ensemble_stat_field_info(metplus_config, config_overrides,
'time_interp_method = NEAREST;'
'match_month = TRUE;day_interval = 30;'
'hour_interval = 12;}')}),
({'ENSEMBLE_STAT_POINT_WEIGHT_FLAG': 'SID', },
{'METPLUS_POINT_WEIGHT_FLAG': 'point_weight_flag = SID;'}),
({'ENSEMBLE_STAT_OBTYPE_AS_GROUP_VAL_FLAG': 'FALSE', },
{'METPLUS_OBTYPE_AS_GROUP_VAL_FLAG': 'obtype_as_group_val_flag = FALSE;'}),
]
)
@pytest.mark.wrapper_c
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -863,6 +863,10 @@ def test_met_dictionary_in_var_options(metplus_config):
'time_interp_method = NEAREST;'
'match_month = TRUE;day_interval = 30;'
'hour_interval = 12;}')}),
({'POINT_STAT_POINT_WEIGHT_FLAG': 'SID', },
{'METPLUS_POINT_WEIGHT_FLAG': 'point_weight_flag = SID;'}),
({'POINT_STAT_OBTYPE_AS_GROUP_VAL_FLAG': 'FALSE', },
{'METPLUS_OBTYPE_AS_GROUP_VAL_FLAG': 'obtype_as_group_val_flag = FALSE;'}),
]
)
@pytest.mark.wrapper_a
Expand Down
9 changes: 9 additions & 0 deletions metplus/wrappers/ensemble_stat_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,11 @@ class EnsembleStatWrapper(CompareGriddedWrapper):
'METPLUS_ENS_MEMBER_IDS',
'METPLUS_CONTROL_ID',
'METPLUS_GRID_WEIGHT_FLAG',
'METPLUS_POINT_WEIGHT_FLAG',
'METPLUS_PROB_CAT_THRESH',
'METPLUS_PROB_PCT_THRESH',
'METPLUS_ECLV_POINTS',
'METPLUS_OBTYPE_AS_GROUP_VAL_FLAG',
]

# deprecated env vars that are no longer supported in the wrapped MET conf
Expand Down Expand Up @@ -267,6 +269,8 @@ def create_c_dict(self):
extra_args={'remove_quotes': True,
'allow_empty': True})

self.add_met_config(name='obtype_as_group_val_flag', data_type='bool')

self.add_met_config(name='ens_ssvar_bin_size', data_type='float')

self.add_met_config(name='ens_phist_bin_size', data_type='float')
Expand Down Expand Up @@ -354,6 +358,11 @@ def create_c_dict(self):
extra_args={'remove_quotes': True,
'uppercase': True})

self.add_met_config(name='point_weight_flag',
data_type='string',
extra_args={'remove_quotes': True,
'uppercase': True})

self.add_met_config(name='prob_pct_thresh',
data_type='list',
extra_args={'remove_quotes': True})
Expand Down
9 changes: 9 additions & 0 deletions metplus/wrappers/point_stat_wrapper.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,14 @@ class PointStatWrapper(CompareGriddedWrapper):
'METPLUS_HSS_EC_VALUE',
'METPLUS_HIRA_DICT',
'METPLUS_MESSAGE_TYPE_GROUP_MAP',
'METPLUS_OBTYPE_AS_GROUP_VAL_FLAG',
'METPLUS_FCST_FILE_TYPE',
'METPLUS_OBS_FILE_TYPE',
'METPLUS_SEEPS_P1_THRESH',
'METPLUS_UGRID_DATASET',
'METPLUS_UGRID_MAX_DISTANCE_KM',
'METPLUS_UGRID_COORDINATES_FILE',
'METPLUS_POINT_WEIGHT_FLAG',
]

# deprecated env vars that are no longer supported in the wrapped MET conf
Expand Down Expand Up @@ -279,13 +281,20 @@ def create_c_dict(self):
self.add_met_config(name='message_type_group_map', data_type='list',
extra_args={'remove_quotes': True})

self.add_met_config(name='obtype_as_group_val_flag', data_type='bool')

self.add_met_config(name='seeps_p1_thresh', data_type='string',
extra_args={'remove_quotes': True})

self.add_met_config(name='ugrid_dataset', data_type='string')
self.add_met_config(name='ugrid_max_distance_km', data_type='int')
self.add_met_config(name='ugrid_coordinates_file', data_type='string')

self.add_met_config(name='point_weight_flag',
data_type='string',
extra_args={'remove_quotes': True,
'uppercase': True})

if not c_dict['FCST_INPUT_TEMPLATE']:
self.log_error('Must set FCST_POINT_STAT_INPUT_TEMPLATE '
'in config file')
Expand Down
5 changes: 5 additions & 0 deletions parm/met_config/EnsembleStatConfig_wrapped
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,9 @@ message_type_group_map = [
{ key = "ONLYSF"; val = "ADPSFC,SFCSHP"; }
];

//obtype_as_group_val_flag =
${METPLUS_OBTYPE_AS_GROUP_VAL_FLAG}

//
// Ensemble bin sizes
// May be set separately in each "obs.field" entry
Expand Down Expand Up @@ -234,6 +237,8 @@ rng = {

//grid_weight_flag =
${METPLUS_GRID_WEIGHT_FLAG}
//point_weight_flag =
${METPLUS_POINT_WEIGHT_FLAG}
//output_prefix =
${METPLUS_OUTPUT_PREFIX}
//version = "V9.0";
Expand Down
6 changes: 6 additions & 0 deletions parm/met_config/PointStatConfig_wrapped
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ ${METPLUS_OBS_PERC_VALUE}
//message_type_group_map =
${METPLUS_MESSAGE_TYPE_GROUP_MAP}

//obtype_as_group_val_flag =
${METPLUS_OBTYPE_AS_GROUP_VAL_FLAG}

////////////////////////////////////////////////////////////////////////////////

//
Expand Down Expand Up @@ -208,6 +211,9 @@ ${METPLUS_UGRID_COORDINATES_FILE}

////////////////////////////////////////////////////////////////////////////////

//point_weight_flag =
${METPLUS_POINT_WEIGHT_FLAG}

tmp_dir = "${MET_TMP_DIR}";

// output_prefix =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ ENSEMBLE_STAT_SKIP_CONST = False

ENSEMBLE_STAT_OBS_ERROR_FLAG = FALSE

#ENSEMBLE_STAT_OBTYPE_AS_GROUP_VAL_FLAG =

ENSEMBLE_STAT_ENS_SSVAR_BIN_SIZE = 1.0
ENSEMBLE_STAT_ENS_PHIST_BIN_SIZE = 0.05

Expand Down Expand Up @@ -246,3 +248,4 @@ ENSEMBLE_STAT_NC_ORANK_FLAG_WEIGHT = FALSE
#ENSEMBLE_STAT_CONTROL_ID =

#ENSEMBLE_STAT_GRID_WEIGHT_FLAG =
#ENSEMBLE_STAT_POINT_WEIGHT_FLAG =
3 changes: 3 additions & 0 deletions parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf
Original file line number Diff line number Diff line change
Expand Up @@ -259,8 +259,11 @@ POINT_STAT_MESSAGE_TYPE = ADPUPA, ADPSFC
#POINT_STAT_HIRA_PROB_CAT_THRESH =

#POINT_STAT_MESSAGE_TYPE_GROUP_MAP =
#POINT_STAT_OBTYPE_AS_GROUP_VAL_FLAG =

#POINT_STAT_UGRID_DATASET =
#POINT_STAT_UGRID_MAX_DISTANCE_KM =
#POINT_STAT_UGRID_COORDINATES_FILE =
#POINT_STAT_UGRID_CONFIG_FILE =

#POINT_STAT_POINT_WEIGHT_FLAG =
1 change: 0 additions & 1 deletion ush/master_metplus.py

This file was deleted.

10 changes: 10 additions & 0 deletions ush/master_metplus.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env python3

import sys

def main():
print("ERROR: master_metplus.py is deprecated. Please use run_metplus.py instead")
sys.exit(1)

if __name__ == "__main__":
main()

0 comments on commit 414be7e

Please sign in to comment.