From 79254031f1c805f4741bc55a3e9b1bbef791669b Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Thu, 10 Oct 2024 12:44:06 -0600 Subject: [PATCH] Feature #2540 Point2Grid config file (#2580) * per #2540, add support for setting values in a config file for Point2Grid wrapper -- removed -qc flag argument in favor of setting obs_quality_inc in the config file * Added support for setting time_offset_warning now that the changes for other wrappers was merged into develop. Also added support for MET_CONFIG_OVERRIDES for Point2Grid * per #2540, set -goes_qc command line argument from POINT2GRID_GOES_QC_FLAGS and continue to support legacy POINT2GRID_QC_FLAGS. Other fixes to resolve incorrectly resolved conflicts from previous commit merging develop into branch * per #2540, remove quality_mark_thresh from config file because it has been removed from MET point2grid * Per discussion in PR #2580, remove time_offset_warning support from tools that don't actually use the value -- to add support for a new wrapper, update metplus/util/constants.py TIME_OFFSET_WARNING_WRAPPERS to include the wrapper's name * removed env vars for time_offset_warning for wrappers that no longer set it --- docs/Users_Guide/glossary.rst | 139 +++----- docs/Users_Guide/wrappers.rst | 336 +++++++----------- .../ascii2nc/test_ascii2nc_wrapper.py | 19 - .../test_ensemble_stat_wrapper.py | 7 - .../gen_ens_prod/test_gen_ens_prod_wrapper.py | 9 - .../wrappers/grid_diag/test_grid_diag.py | 6 - .../wrappers/ioda2nc/test_ioda2nc_wrapper.py | 10 +- .../madis2nc/test_madis2nc_wrapper.py | 2 - .../pytests/wrappers/mtd/test_mtd_wrapper.py | 6 - .../wrappers/pb2nc/test_pb2nc_wrapper.py | 7 - .../test_plot_point_obs_wrapper.py | 6 - .../wrappers/point2grid/test_point2grid.py | 94 ++++- .../point_stat/test_point_stat_wrapper.py | 7 - .../stat_analysis/test_stat_analysis.py | 10 +- .../wrappers/tc_diag/test_tc_diag_wrapper.py | 6 - .../wrappers/tc_gen/test_tc_gen_wrapper.py | 6 - .../tc_pairs/test_tc_pairs_wrapper.py | 6 - .../wrappers/tc_stat/test_tc_stat_wrapper.py | 6 - .../wrappers/tcrmw/test_tcrmw_wrapper.py | 6 - metplus/util/constants.py | 8 + metplus/wrappers/command_builder.py | 20 +- metplus/wrappers/point2grid_wrapper.py | 48 ++- parm/met_config/Ascii2NcConfig_wrapped | 1 - parm/met_config/EnsembleStatConfig_wrapped | 1 - parm/met_config/GenEnsProdConfig_wrapped | 1 - parm/met_config/GridDiagConfig_wrapped | 1 - parm/met_config/IODA2NCConfig_wrapped | 1 - parm/met_config/MTDConfig_wrapped | 1 - parm/met_config/Madis2NcConfig_wrapped | 2 - parm/met_config/PB2NCConfig_wrapped | 1 - parm/met_config/PlotPointObsConfig_wrapped | 1 - parm/met_config/Point2GridConfig_wrapped | 54 +++ parm/met_config/PointStatConfig_wrapped | 1 - parm/met_config/STATAnalysisConfig_wrapped | 1 - parm/met_config/TCDiagConfig_wrapped | 1 - parm/met_config/TCGenConfig_wrapped | 1 - parm/met_config/TCPairsConfig_wrapped | 1 - parm/met_config/TCRMWConfig_wrapped | 1 - parm/met_config/TCStatConfig_wrapped | 1 - .../met_tool_wrapper/ASCII2NC/ASCII2NC.conf | 2 - .../EnsembleStat/EnsembleStat.conf | 2 - .../GenEnsProd/GenEnsProd.conf | 2 - .../met_tool_wrapper/GridDiag/GridDiag.conf | 2 - .../met_tool_wrapper/IODA2NC/IODA2NC.conf | 2 - .../met_tool_wrapper/MADIS2NC/MADIS2NC.conf | 2 - parm/use_cases/met_tool_wrapper/MTD/MTD.conf | 2 - .../met_tool_wrapper/PB2NC/PB2NC.conf | 2 - .../PlotPointObs/PlotPointObs.conf | 2 - .../Point2Grid/Point2Grid.conf | 14 +- .../met_tool_wrapper/PointStat/PointStat.conf | 2 - .../StatAnalysis/StatAnalysis.conf | 2 - .../met_tool_wrapper/TCDiag/TCDiag.conf | 2 - .../met_tool_wrapper/TCGen/TCGen.conf | 2 - .../TCPairs/TCPairs_extra_tropical.conf | 2 - .../met_tool_wrapper/TCRMW/TCRMW.conf | 2 - .../met_tool_wrapper/TCStat/TCStat.conf | 2 - 56 files changed, 396 insertions(+), 485 deletions(-) create mode 100644 parm/met_config/Point2GridConfig_wrapped diff --git a/docs/Users_Guide/glossary.rst b/docs/Users_Guide/glossary.rst index 6bc690bf76..2dcd640c4f 100644 --- a/docs/Users_Guide/glossary.rst +++ b/docs/Users_Guide/glossary.rst @@ -290,7 +290,12 @@ METplus Configuration Glossary | *Used by:* Point2Grid POINT2GRID_QC_FLAGS - Specify the qc flags name that is read by Point2Grid. + .. warning:: **DEPRECATED:** Please use :term:`POINT2GRID_GOES_QC_FLAGS`. + + | *Used by:* Point2Grid + + POINT2GRID_GOES_QC_FLAGS + Sets the value for the -goes_qc command line argument for Point2Grid. | *Used by:* Point2Grid @@ -11624,6 +11629,46 @@ METplus Configuration Glossary | *Used by:* PointStat + POINT2GRID_VALID_TIME + Specify the value for 'valid_time' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + + POINT2GRID_OBS_WINDOW_BEG + Specify the value for 'obs_window.beg' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + + POINT2GRID_OBS_WINDOW_END + Specify the value for 'obs_window.end' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + + POINT2GRID_MESSAGE_TYPE + Specify the value for 'message_type' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + + POINT2GRID_VAR_NAME_MAP_KEY + Specify the value for the nth 'var_name_map.key' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + + POINT2GRID_VAR_NAME_MAP_VAL + Specify the value for the nth 'var_name_map.val' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + + POINT2GRID_OBS_QUALITY_INC + Specify the value for 'obs_quality_inc' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + + POINT2GRID_OBS_QUALITY_EXC + Specify the value for 'obs_quality_exc' in the MET configuration file for Point2Grid. + + | *Used by:* Point2Grid + MADIS2NC_CUSTOM_LOOP_LIST Sets custom string loop list for a specific wrapper. See :term:`CUSTOM_LOOP_LIST`. @@ -11812,105 +11857,39 @@ METplus Configuration Glossary | *Used by:* MADIS2NC - MADIS2NC_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for MADIS2NC. - - | *Used by:* MADIS2NC - - ASCII2NC_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for ASCII2NC. - - | *Used by:* ASCII2NC - - ENSEMBLE_STAT_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for EnsembleStat. - - | *Used by:* EnsembleStat - - GEN_ENS_PROD_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for GenEnsProd. - - | *Used by:* GenEnsProd - - GRID_DIAG_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for GridDiag. - - | *Used by:* GridDiag - GRID_STAT_TIME_OFFSET_WARNING Specify the value for 'time_offset_warning' in the MET configuration file for GridStat. | *Used by:* GridStat - IODA2NC_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for IODA2NC. - - | *Used by:* IODA2NC - MODE_TIME_OFFSET_WARNING Specify the value for 'time_offset_warning' in the MET configuration file for MODE. | *Used by:* MODE - MTD_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for MTD. - - | *Used by:* MTD - - PB2NC_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for PB2NC. - - | *Used by:* PB2NC - - PLOT_POINT_OBS_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for PlotPointObs. - - | *Used by:* PlotPointObs - - POINT_STAT_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for PointStat. - - | *Used by:* PointStat - - STAT_ANALYSIS_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for StatAnalysis. - - | *Used by:* StatAnalysis - SERIES_ANALYSIS_TIME_OFFSET_WARNING Specify the value for 'time_offset_warning' in the MET configuration file for SeriesAnalysis. | *Used by:* SeriesAnalysis - TC_DIAG_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for TCDiag. - - | *Used by:* TCDiag - - TC_GEN_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for TCGen. - - | *Used by:* TCGen - - TC_PAIRS_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for TCPairs. - - | *Used by:* TCPairs - - TC_RMW_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for TCRMW. + WAVELET_STAT_TIME_OFFSET_WARNING + Specify the value for 'time_offset_warning' in the MET configuration file for WaveletStat. - | *Used by:* TCRMW + | *Used by:* WaveletStat - TC_STAT_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for TCStat. + POINT2GRID_MET_CONFIG_OVERRIDES + Override any variables in the MET configuration file that are not + supported by the wrapper. This should be set to the full variable name + and value that you want to override, including the equal sign and the + ending semi-colon. The value is directly appended to the end of the + wrapped MET config file. - | *Used by:* TCStat + Example: + POINT2GRID_MET_CONFIG_OVERRIDES = desc = "override_desc"; model = "override_model"; - WAVELET_STAT_TIME_OFFSET_WARNING - Specify the value for 'time_offset_warning' in the MET configuration file for WaveletStat. + See :ref:`Overriding Unsupported MET config file settings` for more information - | *Used by:* WaveletStat + | *Used by:* Point2Grid ASCII2NC_VALID_BEG Specify the value for the command line argument '-valid_beg' for ASCII2NC. diff --git a/docs/Users_Guide/wrappers.rst b/docs/Users_Guide/wrappers.rst index c4da8506ad..aa2794377c 100644 --- a/docs/Users_Guide/wrappers.rst +++ b/docs/Users_Guide/wrappers.rst @@ -64,7 +64,6 @@ METplus Configuration | :term:`ASCII2NC_INC_VALID_TIMES` | :term:`ASCII2NC_SKIP_INIT_TIMES` | :term:`ASCII2NC_INC_INIT_TIMES` -| :term:`ASCII2NC_TIME_OFFSET_WARNING` | .. _ascii2nc-met-conf: @@ -124,18 +123,6 @@ ${METPLUS_TIME_SUMMARY_DICT} * - :term:`ASCII2NC_TIME_SUMMARY_VALID_THRESH` - time_summary.vld_thresh -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`ASCII2NC_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -391,7 +378,6 @@ METplus Configuration | :term:`ENSEMBLE_STAT_INC_VALID_TIMES` | :term:`ENSEMBLE_STAT_SKIP_INIT_TIMES` | :term:`ENSEMBLE_STAT_INC_INIT_TIMES` -| :term:`ENSEMBLE_STAT_TIME_OFFSET_WARNING` | .. warning:: **DEPRECATED:** @@ -1117,18 +1103,6 @@ ${METPLUS_OUTPUT_PREFIX} * - :term:`ENSEMBLE_STAT_OUTPUT_PREFIX` - output_prefix -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`ENSEMBLE_STAT_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -1352,7 +1326,6 @@ METplus Configuration | :term:`GEN_ENS_PROD_INC_VALID_TIMES` | :term:`GEN_ENS_PROD_SKIP_INIT_TIMES` | :term:`GEN_ENS_PROD_INC_INIT_TIMES` -| :term:`GEN_ENS_PROD_TIME_OFFSET_WARNING` .. _gen-ens-prod-met-conf: @@ -1706,18 +1679,6 @@ ${METPLUS_ENSEMBLE_FLAG_DICT} * - :term:`GEN_ENS_PROD_ENSEMBLE_FLAG_CLIMO_CDP` - ensemble_flag.climo_cdp -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`GEN_ENS_PROD_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -3067,7 +3028,6 @@ METplus Configuration | :term:`GRID_DIAG_INC_VALID_TIMES` | :term:`GRID_DIAG_SKIP_INIT_TIMES` | :term:`GRID_DIAG_INC_INIT_TIMES` -| :term:`GRID_DIAG_TIME_OFFSET_WARNING` | .. _grid-diag-met-conf: @@ -3192,18 +3152,6 @@ ${METPLUS_MASK_DICT} .. note:: Since the default value in the MET config file for 'grid' is grid = [ "FULL" ];, setting GRID_DIAG_MASK_GRID to an empty string will result in a value of grid = []; in the MET config file. -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`GRID_DIAG_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -4195,7 +4143,6 @@ METplus Configuration | :term:`IODA2NC_INC_VALID_TIMES` | :term:`IODA2NC_SKIP_INIT_TIMES` | :term:`IODA2NC_INC_INIT_TIMES` -| :term:`IODA2NC_TIME_OFFSET_WARNING` .. _ioda2nc-met-conf: @@ -4418,18 +4365,6 @@ ${METPLUS_TIME_SUMMARY_DICT} * - :term:`IODA2NC_TIME_SUMMARY_VLD_THRESH` - time_summary.vld_thresh -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`IODA2NC_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -4490,7 +4425,6 @@ METplus Configuration | :term:`MADIS2NC_INC_VALID_TIMES` | :term:`MADIS2NC_SKIP_INIT_TIMES` | :term:`MADIS2NC_INC_INIT_TIMES` -| :term:`MADIS2NC_TIME_OFFSET_WARNING` | .. _madis2nc-met-conf: @@ -4550,18 +4484,6 @@ ${METPLUS_TIME_SUMMARY_DICT} * - :term:`MADIS2NC_TIME_SUMMARY_VLD_THRESH` - time_summary.vld_thresh -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`MADIS2NC_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -5690,7 +5612,6 @@ METplus Configuration | :term:`MTD_INC_VALID_TIMES` | :term:`MTD_SKIP_INIT_TIMES` | :term:`MTD_INC_INIT_TIMES` -| :term:`MTD_TIME_OFFSET_WARNING` | .. warning:: **DEPRECATED:** @@ -5923,18 +5844,6 @@ ${METPLUS_OUTPUT_PREFIX} * - :term:`MTD_OUTPUT_PREFIX` - output_prefix -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`MTD_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -5995,7 +5904,6 @@ METplus Configuration | :term:`PB2NC_INC_VALID_TIMES` | :term:`PB2NC_SKIP_INIT_TIMES` | :term:`PB2NC_INC_INIT_TIMES` -| :term:`PB2NC_TIME_OFFSET_WARNING` .. warning:: **DEPRECATED:** @@ -6200,18 +6108,6 @@ ${METPLUS_TIME_SUMMARY_DICT} * - :term:`PB2NC_TIME_SUMMARY_VALID_THRESH` - time_summary.vld_thresh -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`PB2NC_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -6484,7 +6380,6 @@ Configuration | :term:`PLOT_POINT_OBS_INC_VALID_TIMES` | :term:`PLOT_POINT_OBS_SKIP_INIT_TIMES` | :term:`PLOT_POINT_OBS_INC_INIT_TIMES` -| :term:`PLOT_POINT_OBS_TIME_OFFSET_WARNING` .. _plot-point-obs-met-conf: @@ -6814,18 +6709,6 @@ ${METPLUS_POINT_DATA} * - :term:`PLOT_POINT_OBS_POINT_DATA` - point_data -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`PLOT_POINT_OBS_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -6862,7 +6745,7 @@ METplus Configuration | :term:`POINT2GRID_REGRID_TO_GRID` | :term:`POINT2GRID_INPUT_FIELD` | :term:`POINT2GRID_INPUT_LEVEL` -| :term:`POINT2GRID_QC_FLAGS` +| :term:`POINT2GRID_GOES_QC_FLAGS` | :term:`POINT2GRID_ADP` | :term:`POINT2GRID_REGRID_METHOD` | :term:`POINT2GRID_GAUSSIAN_DX` @@ -6875,8 +6758,134 @@ METplus Configuration | :term:`POINT2GRID_INC_VALID_TIMES` | :term:`POINT2GRID_SKIP_INIT_TIMES` | :term:`POINT2GRID_INC_INIT_TIMES` +| :term:`POINT2GRID_VALID_TIME` +| :term:`POINT2GRID_OBS_WINDOW_BEG` +| :term:`POINT2GRID_OBS_WINDOW_END` +| :term:`POINT2GRID_MESSAGE_TYPE` +| :term:`POINT2GRID_VAR_NAME_MAP_KEY` +| :term:`POINT2GRID_VAR_NAME_MAP_VAL` +| :term:`POINT2GRID_OBS_QUALITY_INC` +| :term:`POINT2GRID_OBS_QUALITY_EXC` +| :term:`POINT2GRID_MET_CONFIG_OVERRIDES` | +.. warning:: **DEPRECATED:** + + | :term:`POINT2GRID_QC_FLAGS` + +.. _point2grid-met-conf: + +MET Configuration +----------------- + +Below is the wrapped MET configuration file used for this wrapper. +Environment variables are used to control entries in this configuration file. +The default value for each environment variable is obtained from +(except where noted below): + +`MET_INSTALL_DIR/share/met/config/Point2GridConfig_default `_ + +Below the file contents are descriptions of each environment variable +referenced in this file and the corresponding METplus configuration item used +to set the value of the environment variable. For detailed examples showing +how METplus sets the values of these environment variables, +see :ref:`How METplus controls MET config file settings`. + +.. dropdown:: Click to view parm/met_config/Point2GridConfig_wrapped + + .. literalinclude:: ../../parm/met_config/Point2GridConfig_wrapped + +Environment variables in wrapped MET config +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +${METPLUS_VALID_TIME} +^^^^^^^^^^^^^^^^^^^^^ + +.. list-table:: + :widths: 5 5 + :header-rows: 1 + + * - METplus Config(s) + - MET Config File + * - :term:`POINT2GRID_VALID_TIME` + - valid_time + +${METPLUS_OBS_WINDOW_DICT} +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. list-table:: + :widths: 5 5 + :header-rows: 1 + + * - METplus Config(s) + - MET Config File + * - :term:`POINT2GRID_OBS_WINDOW_BEG` + - obs_window.beg + * - :term:`POINT2GRID_OBS_WINDOW_END` + - obs_window.end + +${METPLUS_MESSAGE_TYPE} +^^^^^^^^^^^^^^^^^^^^^^^ + +.. list-table:: + :widths: 5 5 + :header-rows: 1 + + * - METplus Config(s) + - MET Config File + * - :term:`POINT2GRID_MESSAGE_TYPE` + - message_type + +${METPLUS_VAR_NAME_MAP_LIST} +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. list-table:: + :widths: 5 5 + :header-rows: 1 + + * - METplus Config(s) + - MET Config File + * - :term:`POINT2GRID_VAR_NAME_MAP_KEY` + - var_name_map.key + * - :term:`POINT2GRID_VAR_NAME_MAP_VAL` + - var_name_map.val + +${METPLUS_OBS_QUALITY_INC} +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. list-table:: + :widths: 5 5 + :header-rows: 1 + + * - METplus Config(s) + - MET Config File + * - :term:`POINT2GRID_OBS_QUALITY_INC` + - obs_quality_inc + +${METPLUS_OBS_QUALITY_EXC} +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. list-table:: + :widths: 5 5 + :header-rows: 1 + + * - METplus Config(s) + - MET Config File + * - :term:`POINT2GRID_OBS_QUALITY_EXC` + - obs_quality_exc + +${METPLUS_MET_CONFIG_OVERRIDES} +""""""""""""""""""""""""""""""" + +.. list-table:: + :widths: 5 5 + :header-rows: 1 + + * - METplus Config(s) + - MET Config File + * - :term:`POINT2GRID_MET_CONFIG_OVERRIDES` + - n/a + .. _point_stat_wrapper: PointStat @@ -7088,7 +7097,6 @@ Configuration | :term:`POINT_STAT_UGRID_MAX_DISTANCE_KM` | :term:`POINT_STAT_UGRID_COORDINATES_FILE` | :term:`POINT_STAT_UGRID_CONFIG_FILE` -| :term:`POINT_STAT_TIME_OFFSET_WARNING` | .. warning:: **DEPRECATED:** @@ -7779,18 +7787,6 @@ ${METPLUS_OUTPUT_PREFIX} * - :term:`POINT_STAT_OUTPUT_PREFIX` - output_prefix -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`POINT_STAT_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -8852,7 +8848,6 @@ The following values are optional in the METplus configuration file: | :term:`STAT_ANALYSIS_INC_VALID_TIMES` | :term:`STAT_ANALYSIS_SKIP_INIT_TIMES` | :term:`STAT_ANALYSIS_INC_INIT_TIMES` -| :term:`STAT_ANALYSIS_TIME_OFFSET_WARNING` .. warning:: **DEPRECATED:** @@ -9315,18 +9310,6 @@ ${METPLUS_HSS_EC_VALUE} * - :term:`STAT_ANALYSIS_HSS_EC_VALUE` - hss_ec_value -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`STAT_ANALYSIS_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -9407,7 +9390,6 @@ METplus Configuration | :term:`TC_DIAG_INC_VALID_TIMES` | :term:`TC_DIAG_SKIP_INIT_TIMES` | :term:`TC_DIAG_INC_INIT_TIMES` -| :term:`TC_DIAG_TIME_OFFSET_WARNING` | .. _tc-diag-met-conf: @@ -9835,18 +9817,6 @@ ${METPLUS_OUTPUT_PREFIX} * - :term:`TC_DIAG_OUTPUT_BASE_FORMAT` - output_base_format -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`TC_DIAG_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -9952,7 +9922,6 @@ METplus Configuration | :term:`TC_GEN_DLAND_FILE` | :term:`TC_GEN_BASIN_FILE` | :term:`TC_GEN_NC_PAIRS_GRID` -| :term:`TC_GEN_TIME_OFFSET_WARNING` .. warning:: **DEPRECATED:** @@ -10519,18 +10488,6 @@ ${METPLUS_NC_PAIRS_GRID} * - :term:`TC_GEN_NC_PAIRS_GRID` - nc_pairs_grid -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`TC_GEN_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -10626,7 +10583,6 @@ METplus Configuration | :term:`TC_PAIRS_INC_VALID_TIMES` | :term:`TC_PAIRS_SKIP_INIT_TIMES` | :term:`TC_PAIRS_INC_INIT_TIMES` -| :term:`TC_PAIRS_TIME_OFFSET_WARNING` | .. warning:: **DEPRECATED:** @@ -10965,18 +10921,6 @@ ${METPLUS_DIAG_CONVERT_MAP_LIST} * - :term:`TC_PAIRS_DIAG_CONVERT_MAP_CONVERT` - diag_convert_map.convert -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`TC_PAIRS_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -11042,7 +10986,6 @@ METplus Configuration | :term:`TC_RMW_INC_VALID_TIMES` | :term:`TC_RMW_SKIP_INIT_TIMES` | :term:`TC_RMW_INC_INIT_TIMES` -| :term:`TC_RMW_TIME_OFFSET_WARNING` | .. _tc-rmw-met-conf: @@ -11304,18 +11247,6 @@ ${METPLUS_RMW_SCALE} * - :term:`TC_RMW_SCALE` - rmw_scale -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`TC_RMW_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" @@ -11400,7 +11331,6 @@ METplus Configuration | :term:`TC_STAT_INC_VALID_TIMES` | :term:`TC_STAT_SKIP_INIT_TIMES` | :term:`TC_STAT_INC_INIT_TIMES` -| :term:`TC_STAT_TIME_OFFSET_WARNING` | .. warning:: **DEPRECATED:** @@ -12024,18 +11954,6 @@ ${METPLUS_JOBS} * - :term:`TC_STAT_JOBS_LIST` - jobs -${METPLUS_TIME_OFFSET_WARNING} -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. list-table:: - :widths: 5 5 - :header-rows: 1 - - * - METplus Config(s) - - MET Config File - * - :term:`TC_STAT_TIME_OFFSET_WARNING` - - time_offset_warning - ${METPLUS_MET_CONFIG_OVERRIDES} """"""""""""""""""""""""""""""" diff --git a/internal/tests/pytests/wrappers/ascii2nc/test_ascii2nc_wrapper.py b/internal/tests/pytests/wrappers/ascii2nc/test_ascii2nc_wrapper.py index 4209c2e047..0be6a1b369 100644 --- a/internal/tests/pytests/wrappers/ascii2nc/test_ascii2nc_wrapper.py +++ b/internal/tests/pytests/wrappers/ascii2nc/test_ascii2nc_wrapper.py @@ -183,25 +183,6 @@ def test_ascii2nc_missing_inputs(metplus_config, get_test_data_dir, 'type = ["min", "max", "range", "mean", "stdev", "median", "p80"];' 'vld_freq = 0;vld_thresh = 0.5;}')}), - ({'TIME_OFFSET_WARNING': '3'}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;', - 'METPLUS_TIME_SUMMARY_DICT': - ('time_summary = {flag = FALSE;raw_data = FALSE;beg = "000000";' - 'end = "235959";step = 300;width = 600;' - 'grib_code = [11, 204, 211];obs_var = [];' - 'type = ["min", "max", "range", "mean", "stdev", "median", "p80"];' - 'vld_freq = 0;vld_thresh = 0.0;}') - }), - - ({'TIME_OFFSET_WARNING': '3', 'ASCII2NC_TIME_OFFSET_WARNING': '4'}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;', - 'METPLUS_TIME_SUMMARY_DICT': - ('time_summary = {flag = FALSE;raw_data = FALSE;beg = "000000";' - 'end = "235959";step = 300;width = 600;' - 'grib_code = [11, 204, 211];obs_var = [];' - 'type = ["min", "max", "range", "mean", "stdev", "median", "p80"];' - 'vld_freq = 0;vld_thresh = 0.0;}') - }), ] ) @pytest.mark.wrapper diff --git a/internal/tests/pytests/wrappers/ensemble_stat/test_ensemble_stat_wrapper.py b/internal/tests/pytests/wrappers/ensemble_stat/test_ensemble_stat_wrapper.py index b905a79705..b17171495d 100644 --- a/internal/tests/pytests/wrappers/ensemble_stat/test_ensemble_stat_wrapper.py +++ b/internal/tests/pytests/wrappers/ensemble_stat/test_ensemble_stat_wrapper.py @@ -637,13 +637,6 @@ def test_ensemble_stat_field_info(metplus_config, config_overrides, 'OBS_ENSEMBLE_STAT_POINT_INPUT_TEMPLATE': obs_point_template}, {}), - ({'ENSEMBLE_STAT_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'ENSEMBLE_STAT_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), - # fcst climo_mean ({'ENSEMBLE_STAT_FCST_CLIMO_MEAN_FILE_NAME': '/some/climo_mean/file.txt', }, {'METPLUS_FCST_CLIMO_MEAN_DICT': 'climo_mean = {file_name = ["/some/climo_mean/file.txt"];}'}), diff --git a/internal/tests/pytests/wrappers/gen_ens_prod/test_gen_ens_prod_wrapper.py b/internal/tests/pytests/wrappers/gen_ens_prod/test_gen_ens_prod_wrapper.py index 43f22587bf..8c7cf09863 100644 --- a/internal/tests/pytests/wrappers/gen_ens_prod/test_gen_ens_prod_wrapper.py +++ b/internal/tests/pytests/wrappers/gen_ens_prod/test_gen_ens_prod_wrapper.py @@ -446,15 +446,6 @@ def test_gen_ens_prod_missing_inputs(metplus_config, get_test_data_dir, allow_mi # 68 ({'GEN_ENS_PROD_NORMALIZE': 'CLIMO_STD_ANOM', }, {'METPLUS_NORMALIZE': 'normalize = CLIMO_STD_ANOM;'}), - # 69 - ({'GEN_ENS_PROD_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - # 70 - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - # 71 - ({'TIME_OFFSET_WARNING': 2, 'GEN_ENS_PROD_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), # ens climo_mean (quietly supported) ({'GEN_ENS_PROD_ENS_CLIMO_MEAN_FILE_NAME': '/some/climo_mean/file.txt', }, {'METPLUS_ENS_CLIMO_MEAN_DICT': 'climo_mean = {file_name = ["/some/climo_mean/file.txt"];}'}), diff --git a/internal/tests/pytests/wrappers/grid_diag/test_grid_diag.py b/internal/tests/pytests/wrappers/grid_diag/test_grid_diag.py index 7179109ddc..d190d37f06 100644 --- a/internal/tests/pytests/wrappers/grid_diag/test_grid_diag.py +++ b/internal/tests/pytests/wrappers/grid_diag/test_grid_diag.py @@ -345,12 +345,6 @@ def test_get_config_file(metplus_config): 'censor_val = [12000, 5000];}' )}), - ({'GRID_DIAG_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'GRID_DIAG_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper diff --git a/internal/tests/pytests/wrappers/ioda2nc/test_ioda2nc_wrapper.py b/internal/tests/pytests/wrappers/ioda2nc/test_ioda2nc_wrapper.py index cc49602b90..c6e89fbd25 100644 --- a/internal/tests/pytests/wrappers/ioda2nc/test_ioda2nc_wrapper.py +++ b/internal/tests/pytests/wrappers/ioda2nc/test_ioda2nc_wrapper.py @@ -230,15 +230,7 @@ def test_ioda2nc_missing_inputs(metplus_config, get_test_data_dir, missing, 'IODA2NC_NMSG': '10', }, {}, ' -iodafile *INPUT_DIR*/other/file.nc -valid_beg 20200309_12 -valid_end 20200310_12 -nmsg 10'), - # 40 - ({'IODA2NC_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}, ''), - # 41 - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}, ''), - # 42 - ({'TIME_OFFSET_WARNING': 2, 'IODA2NC_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}, ''), + ] ) @pytest.mark.wrapper diff --git a/internal/tests/pytests/wrappers/madis2nc/test_madis2nc_wrapper.py b/internal/tests/pytests/wrappers/madis2nc/test_madis2nc_wrapper.py index 59c2346968..86a7e14a57 100644 --- a/internal/tests/pytests/wrappers/madis2nc/test_madis2nc_wrapper.py +++ b/internal/tests/pytests/wrappers/madis2nc/test_madis2nc_wrapper.py @@ -139,8 +139,6 @@ def test_madis2nc_missing_inputs(metplus_config, get_test_data_dir, 'MADIS2NC_MASK_GRID': 'mask_grid', 'MADIS2NC_MASK_POLY': '/some/path/to/mask/poly', 'MADIS2NC_MASK_SID': 'mask_sid,/some/path/to/mask/sid'}, {}), - ({'MADIS2NC_TIME_OFFSET_WARNING': '4', }, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) diff --git a/internal/tests/pytests/wrappers/mtd/test_mtd_wrapper.py b/internal/tests/pytests/wrappers/mtd/test_mtd_wrapper.py index 97c9b6bd6c..6506afbff5 100644 --- a/internal/tests/pytests/wrappers/mtd/test_mtd_wrapper.py +++ b/internal/tests/pytests/wrappers/mtd/test_mtd_wrapper.py @@ -200,12 +200,6 @@ def test_mtd_missing_inputs(metplus_config, get_test_data_dir, ({'MTD_OUTPUT_PREFIX': 'my_output_prefix'}, {'METPLUS_OUTPUT_PREFIX': 'output_prefix = "my_output_prefix";'}), - ({'MTD_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'MTD_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper diff --git a/internal/tests/pytests/wrappers/pb2nc/test_pb2nc_wrapper.py b/internal/tests/pytests/wrappers/pb2nc/test_pb2nc_wrapper.py index 958806cb2d..09f1807253 100644 --- a/internal/tests/pytests/wrappers/pb2nc/test_pb2nc_wrapper.py +++ b/internal/tests/pytests/wrappers/pb2nc/test_pb2nc_wrapper.py @@ -252,13 +252,6 @@ def test_find_input_files(metplus_config, offsets, offset_to_find): ({'PB2NC_VALID_BEGIN': valid_beg}, {}), ({'PB2NC_VALID_END': valid_end}, {}), ({'PB2NC_VALID_BEGIN': valid_beg, 'PB2NC_VALID_END': valid_end}, {}), - - ({'PB2NC_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'PB2NC_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), # 1 extra file ({'PB2NC_INPUT_TEMPLATE': ('ndas.t{da_init?fmt=%H}z.prepbufr.tm{offset?fmt=%2H}.{da_init?fmt=%Y%m%d}.nr,' 'another_file.nr')}, {}), diff --git a/internal/tests/pytests/wrappers/plot_point_obs/test_plot_point_obs_wrapper.py b/internal/tests/pytests/wrappers/plot_point_obs/test_plot_point_obs_wrapper.py index 337d2d55ed..e69a324418 100644 --- a/internal/tests/pytests/wrappers/plot_point_obs/test_plot_point_obs_wrapper.py +++ b/internal/tests/pytests/wrappers/plot_point_obs/test_plot_point_obs_wrapper.py @@ -248,12 +248,6 @@ def test_plot_point_obs_missing_inputs(metplus_config, get_test_data_dir, ({'PLOT_POINT_OBS_POINT_DATA': point_data_input, }, {'METPLUS_POINT_DATA': f'point_data = {point_data_format}'}), - ({'PLOT_POINT_OBS_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'PLOT_POINT_OBS_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper_c diff --git a/internal/tests/pytests/wrappers/point2grid/test_point2grid.py b/internal/tests/pytests/wrappers/point2grid/test_point2grid.py index 87a980f41e..c9a869ff28 100644 --- a/internal/tests/pytests/wrappers/point2grid/test_point2grid.py +++ b/internal/tests/pytests/wrappers/point2grid/test_point2grid.py @@ -79,25 +79,56 @@ def test_point2grid_missing_inputs(metplus_config, get_test_data_dir, @pytest.mark.parametrize( - 'config_overrides, optional_args', [ - ({}, {}), - ({'POINT2GRID_REGRID_METHOD': 'UW_MEAN'}, ['-method UW_MEAN']), + 'config_overrides, env_var_values, optional_args', [ + ({}, {}, []), + ({'POINT2GRID_REGRID_METHOD': 'UW_MEAN'}, {}, ['-method UW_MEAN']), ({'POINT2GRID_REGRID_METHOD': 'UW_MEAN', - 'POINT2GRID_GAUSSIAN_DX': '2',}, + 'POINT2GRID_GAUSSIAN_DX': '2',}, {}, ['-method UW_MEAN', '-gaussian_dx 2']), - ({'POINT2GRID_GAUSSIAN_RADIUS': '81.231'}, + ({'POINT2GRID_GAUSSIAN_RADIUS': '81.231'}, {}, ['-gaussian_radius 81.231']), - ({'POINT2GRID_PROB_CAT_THRESH': '1'}, ['-prob_cat_thresh 1']), - ({'POINT2GRID_VLD_THRESH': '0.5'}, ['-vld_thresh 0.5']), - ({'POINT2GRID_QC_FLAGS': '0,1'}, ['-qc 0,1']), - ({'POINT2GRID_ADP': '{valid?fmt=%Y%m}.nc'}, ['-adp 201706.nc']), - ({'POINT2GRID_REGRID_TO_GRID': 'G212'}, []), - ({'POINT2GRID_REGRID_TO_GRID': 'lambert 614 428 12.190 -133.459 -95.0 12.19058 6367.47 25.0 N'}, []), - ({'POINT2GRID_INPUT_LEVEL': '(*,*)'}, []), + ({'POINT2GRID_PROB_CAT_THRESH': '1'}, {}, ['-prob_cat_thresh 1']), + ({'POINT2GRID_VLD_THRESH': '0.5'}, {}, ['-vld_thresh 0.5']), + ({'POINT2GRID_ADP': '{valid?fmt=%Y%m}.nc'}, {}, ['-adp 201706.nc']), + ({'POINT2GRID_REGRID_TO_GRID': 'G212'}, {}, []), + ({'POINT2GRID_REGRID_TO_GRID': 'lambert 614 428 12.190 -133.459 -95.0 12.19058 6367.47 25.0 N'}, {}, []), + ({'POINT2GRID_INPUT_LEVEL': '(*,*)'}, {}, []), + ({'POINT2GRID_VALID_TIME': '20240509_120800', }, + {'METPLUS_VALID_TIME': 'valid_time = "20240509_120800";'}, []), + + ({'POINT2GRID_OBS_WINDOW_BEG': '-5400', }, + {'METPLUS_OBS_WINDOW_DICT': 'obs_window = {beg = -5400;}'}, []), + + ({'POINT2GRID_OBS_WINDOW_END': '3600', }, + {'METPLUS_OBS_WINDOW_DICT': 'obs_window = {end = 3600;}'}, []), + + ({'POINT2GRID_OBS_WINDOW_BEG': '-3600', 'POINT2GRID_OBS_WINDOW_END': '5400'}, + {'METPLUS_OBS_WINDOW_DICT': 'obs_window = {beg = -3600;end = 5400;}'}, []), + ({'POINT2GRID_MESSAGE_TYPE': 'ADPSFC, ADPUPA'}, + {'METPLUS_MESSAGE_TYPE': 'message_type = ["ADPSFC", "ADPUPA"];'}, []), + + ({'POINT2GRID_VAR_NAME_MAP1_KEY': '3', 'POINT2GRID_VAR_NAME_MAP1_VAL': 'MAGIC'}, + {'METPLUS_VAR_NAME_MAP_LIST': 'var_name_map = [{key = "3";val = "MAGIC";}];'}, []), + + ({'POINT2GRID_VAR_NAME_MAP1_KEY': '13', 'POINT2GRID_VAR_NAME_MAP1_VAL': 'LUCKY', + 'POINT2GRID_VAR_NAME_MAP2_KEY': '3', 'POINT2GRID_VAR_NAME_MAP2_VAL': 'MAGIC' + }, + {'METPLUS_VAR_NAME_MAP_LIST': 'var_name_map = [{key = "13";val = "LUCKY";},{key = "3";val = "MAGIC";}];'}, []), + + ({'POINT2GRID_OBS_QUALITY_INC': '0, 1, 2', }, + {'METPLUS_OBS_QUALITY_INC': 'obs_quality_inc = ["0", "1", "2"];'}, []), + + ({'POINT2GRID_OBS_QUALITY_EXC': '3,4, 5', }, + {'METPLUS_OBS_QUALITY_EXC': 'obs_quality_exc = ["3", "4", "5"];'}, []), + ({'POINT2GRID_GOES_QC_FLAGS': '0,1'}, {}, ['-goes_qc 0,1']), + ({'POINT2GRID_QC_FLAGS': '0,1'}, {}, ['-goes_qc 0,1']), + ({'POINT2GRID_GOES_QC_FLAGS': '0,1', 'POINT2GRID_QC_FLAGS': '2,3'}, {}, ['-goes_qc 0,1']), + ] ) @pytest.mark.wrapper -def test_point2grid_run(metplus_config, config_overrides, optional_args): +def test_point2grid_run(metplus_config, config_overrides, optional_args, + env_var_values): config = metplus_config set_minimum_config_settings(config) @@ -143,13 +174,19 @@ def test_point2grid_run(metplus_config, config_overrides, optional_args): else: level = '' + config_file = wrapper.c_dict.get('CONFIG_FILE') extra_args = " ".join(optional_args) + " " if optional_args else "" + + missing_env = [item for item in env_var_values + if item not in wrapper.WRAPPER_ENV_VAR_KEYS] + env_var_keys = wrapper.WRAPPER_ENV_VAR_KEYS + missing_env + expected_cmds = [] - for idx in range(0, 3): + for idx in range(0, len(input_files)): expected_cmds.append( f'{app_path} {input_files[idx]} {grids[idx]} {output_files[idx]}' f' -field \'name="{input_name}"; level="{level}";\'' - f' {extra_args}{verbosity}' + f' -config {config_file} {extra_args}{verbosity}' ) all_cmds = wrapper.run_all_times() @@ -158,3 +195,30 @@ def test_point2grid_run(metplus_config, config_overrides, optional_args): for (cmd, env_vars), expected_cmd in zip(all_cmds, expected_cmds): # ensure commands are generated as expected assert cmd == expected_cmd + + # check that environment variables were set properly + # including deprecated env vars (not in wrapper env var keys) + for env_var_key in env_var_keys: + print(f"ENV VAR: {env_var_key}") + match = next((item for item in env_vars if + item.startswith(env_var_key)), None) + assert match is not None + value = match.split('=', 1)[1] + assert env_var_values.get(env_var_key, '') == value + + +@pytest.mark.wrapper +def test_get_config_file(metplus_config): + fake_config_name = '/my/config/file' + + config = metplus_config + default_config_file = os.path.join(config.getdir('PARM_BASE'), + 'met_config', + 'Point2GridConfig_wrapped') + + wrapper = Point2GridWrapper(config) + assert wrapper.c_dict['CONFIG_FILE'] == default_config_file + + config.set('config', 'POINT2GRID_CONFIG_FILE', fake_config_name) + wrapper = Point2GridWrapper(config) + assert wrapper.c_dict['CONFIG_FILE'] == fake_config_name diff --git a/internal/tests/pytests/wrappers/point_stat/test_point_stat_wrapper.py b/internal/tests/pytests/wrappers/point_stat/test_point_stat_wrapper.py index bc59a795ad..3660a1b37a 100755 --- a/internal/tests/pytests/wrappers/point_stat/test_point_stat_wrapper.py +++ b/internal/tests/pytests/wrappers/point_stat/test_point_stat_wrapper.py @@ -671,13 +671,6 @@ def test_met_dictionary_in_var_options(metplus_config): ({'OBS_POINT_STAT_INPUT_TEMPLATE': '{valid?fmt=%Y%m%d%H}/obs_file,{valid?fmt=%Y%m%d%H}/obs_file2', }, {}), ({'OBS_POINT_STAT_INPUT_TEMPLATE': '{valid?fmt=%Y%m%d%H}/obs_file,{valid?fmt=%Y%m%d%H}/obs_file2,{valid?fmt=%Y%m%d%H}/obs_file3', }, {}), - ({'POINT_STAT_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'POINT_STAT_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), - # fcst climo_mean ({'POINT_STAT_FCST_CLIMO_MEAN_FILE_NAME': '/some/climo_mean/file.txt', }, {'METPLUS_FCST_CLIMO_MEAN_DICT': 'climo_mean = {file_name = ["/some/climo_mean/file.txt"];}'}), diff --git a/internal/tests/pytests/wrappers/stat_analysis/test_stat_analysis.py b/internal/tests/pytests/wrappers/stat_analysis/test_stat_analysis.py index 6d0f619ec7..9dc06f9f88 100644 --- a/internal/tests/pytests/wrappers/stat_analysis/test_stat_analysis.py +++ b/internal/tests/pytests/wrappers/stat_analysis/test_stat_analysis.py @@ -173,15 +173,7 @@ def set_minimum_config_settings(config): 'MODEL1': '{custom}', 'MODEL_LIST': '{custom}'}, {'METPLUS_MODEL': 'model = ["CUSTOM_MODEL"];'}), - # 17 time_offset_warning app - ({'STAT_ANALYSIS_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - # 18 time_offset_warning generic - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - # 19 time_offset_warning both - ({'TIME_OFFSET_WARNING': 2, 'STAT_ANALYSIS_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), + ] ) @pytest.mark.wrapper_d diff --git a/internal/tests/pytests/wrappers/tc_diag/test_tc_diag_wrapper.py b/internal/tests/pytests/wrappers/tc_diag/test_tc_diag_wrapper.py index 88b9ef1eb5..3f0c5ed75e 100644 --- a/internal/tests/pytests/wrappers/tc_diag/test_tc_diag_wrapper.py +++ b/internal/tests/pytests/wrappers/tc_diag/test_tc_diag_wrapper.py @@ -239,12 +239,6 @@ def test_tc_diag_missing_inputs(metplus_config, get_test_data_dir, ({'TC_DIAG_ONE_TIME_PER_FILE_FLAG': 'false', }, {'METPLUS_ONE_TIME_PER_FILE_FLAG': 'one_time_per_file_flag = FALSE;'}), - ({'TC_DIAG_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'TC_DIAG_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper diff --git a/internal/tests/pytests/wrappers/tc_gen/test_tc_gen_wrapper.py b/internal/tests/pytests/wrappers/tc_gen/test_tc_gen_wrapper.py index c9beca4fde..d1d5b24c23 100644 --- a/internal/tests/pytests/wrappers/tc_gen/test_tc_gen_wrapper.py +++ b/internal/tests/pytests/wrappers/tc_gen/test_tc_gen_wrapper.py @@ -339,12 +339,6 @@ def test_tc_gen_missing_inputs(metplus_config, get_test_data_dir, allow_missing, }, {'METPLUS_OPS_HIT_WINDOW_DICT': 'ops_hit_window = {beg = 1;end = 47;}'}), - ({'TC_GEN_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'TC_GEN_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper_a diff --git a/internal/tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py b/internal/tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py index 70adbd62d5..7f9d560eed 100644 --- a/internal/tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py +++ b/internal/tests/pytests/wrappers/tc_pairs/test_tc_pairs_wrapper.py @@ -607,12 +607,6 @@ def test_tc_pairs_storm_id_lists(metplus_config, get_test_data_dir, config_overr }, {'DIAG_ARG': '-diag TCDIAG /bmlq2014123118.gfso.0104',}), - ('VALID', {'TC_PAIRS_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ('VALID', {'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ('VALID', {'TIME_OFFSET_WARNING': 2, 'TC_PAIRS_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper diff --git a/internal/tests/pytests/wrappers/tc_stat/test_tc_stat_wrapper.py b/internal/tests/pytests/wrappers/tc_stat/test_tc_stat_wrapper.py index 0f52648e6b..8f07f3154b 100644 --- a/internal/tests/pytests/wrappers/tc_stat/test_tc_stat_wrapper.py +++ b/internal/tests/pytests/wrappers/tc_stat/test_tc_stat_wrapper.py @@ -242,12 +242,6 @@ def test_tc_stat_handle_jobs(metplus_config, config_overrides, expected_dirs, ({'TC_STAT_OUTPUT_TEMPLATE': 'tc_stat.out.nc', }, {}), - ({'TC_STAT_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'TC_STAT_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper diff --git a/internal/tests/pytests/wrappers/tcrmw/test_tcrmw_wrapper.py b/internal/tests/pytests/wrappers/tcrmw/test_tcrmw_wrapper.py index 7a4d3ea6e9..6721527a64 100644 --- a/internal/tests/pytests/wrappers/tcrmw/test_tcrmw_wrapper.py +++ b/internal/tests/pytests/wrappers/tcrmw/test_tcrmw_wrapper.py @@ -122,12 +122,6 @@ def set_minimum_config_settings(config): ({'TC_RMW_RMW_SCALE': '15', }, {'METPLUS_RMW_SCALE': 'rmw_scale = 15.0;'}), - ({'TC_RMW_TIME_OFFSET_WARNING': 3}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 3;'}), - ({'TIME_OFFSET_WARNING': 2}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 2;'}), - ({'TIME_OFFSET_WARNING': 2, 'TC_RMW_TIME_OFFSET_WARNING': 4}, - {'METPLUS_TIME_OFFSET_WARNING': 'time_offset_warning = 4;'}), ] ) @pytest.mark.wrapper diff --git a/metplus/util/constants.py b/metplus/util/constants.py index 3208aa2a26..3b5c0f7ff2 100644 --- a/metplus/util/constants.py +++ b/metplus/util/constants.py @@ -93,6 +93,14 @@ 'GenEnsProd', ) +# wrappers that support the time_offset_warning global MET config variable +TIME_OFFSET_WARNING_WRAPPERS = ( + 'GridStat', + 'MODE', + 'SeriesAnalysis', + 'WaveletStat', +) + # configuration variables that are specific to a given run # these are copied from [config] to [runtime] at the # end of the run so they will not be read if the final diff --git a/metplus/wrappers/command_builder.py b/metplus/wrappers/command_builder.py index b9ba20f3e3..d47efa2617 100755 --- a/metplus/wrappers/command_builder.py +++ b/metplus/wrappers/command_builder.py @@ -15,7 +15,8 @@ from abc import ABCMeta from inspect import getframeinfo, stack -from ..util.constants import PYTHON_EMBEDDING_TYPES, COMPRESSION_EXTENSIONS, MULTIPLE_INPUT_WRAPPERS +from ..util.constants import PYTHON_EMBEDDING_TYPES, COMPRESSION_EXTENSIONS +from ..util.constants import MULTIPLE_INPUT_WRAPPERS, TIME_OFFSET_WARNING_WRAPPERS from ..util import getlist, preprocess_file, loop_over_times_and_call from ..util import do_string_sub, ti_calculate, get_seconds_from_string from ..util import get_time_from_file, shift_time_seconds, seconds_to_met_time @@ -103,15 +104,16 @@ def __init__(self, config, instance=None): # add key to list of env vars to set self.env_var_keys.append(self.MET_OVERRIDES_KEY) - # add time_offset_warning env var - self.env_var_keys.append('METPLUS_TIME_OFFSET_WARNING') - time_offset_warning = self.get_wrapper_or_generic_config( - 'TIME_OFFSET_WARNING', var_type='int' - ) - if time_offset_warning != '': - self.env_var_dict['METPLUS_TIME_OFFSET_WARNING'] = ( - f'time_offset_warning = {time_offset_warning};' + if get_wrapper_name(self.app_name) in TIME_OFFSET_WARNING_WRAPPERS: + # add time_offset_warning env var + self.env_var_keys.append('METPLUS_TIME_OFFSET_WARNING') + time_offset_warning = self.get_wrapper_or_generic_config( + 'TIME_OFFSET_WARNING', var_type='int' ) + if time_offset_warning != '': + self.env_var_dict['METPLUS_TIME_OFFSET_WARNING'] = ( + f'time_offset_warning = {time_offset_warning};' + ) # warn if any environment variables set by the wrapper are not # being utilized in the user's config file diff --git a/metplus/wrappers/point2grid_wrapper.py b/metplus/wrappers/point2grid_wrapper.py index c95a9da3d4..11ed39ce0c 100755 --- a/metplus/wrappers/point2grid_wrapper.py +++ b/metplus/wrappers/point2grid_wrapper.py @@ -14,6 +14,8 @@ from ..util import do_string_sub from ..util import remove_quotes +from ..util.met_config import add_met_config_dict_list + from . import ReformatPointWrapper '''!@namespace Point2GridWrapper @@ -26,6 +28,15 @@ class Point2GridWrapper(ReformatPointWrapper): RUNTIME_FREQ_DEFAULT = 'RUN_ONCE_FOR_EACH' RUNTIME_FREQ_SUPPORTED = ['RUN_ONCE_FOR_EACH'] + WRAPPER_ENV_VAR_KEYS = [ + 'METPLUS_VALID_TIME', + 'METPLUS_OBS_WINDOW_DICT', + 'METPLUS_MESSAGE_TYPE', + 'METPLUS_VAR_NAME_MAP_LIST', + 'METPLUS_OBS_QUALITY_INC', + 'METPLUS_OBS_QUALITY_EXC', + ] + def __init__(self, config, instance=None): self.app_name = "point2grid" self.app_path = os.path.join(config.getdir('MET_BIN_DIR', ''), @@ -70,8 +81,12 @@ def create_c_dict(self): 'POINT2GRID_INPUT_LEVEL', '') - c_dict['QC_FLAGS'] = self.config.getraw('config', - 'POINT2GRID_QC_FLAGS') + # support legacy QC_FLAGS and new GOES_QC_FLAGS to set -goes_qc arg + config_name = self.config.get_mp_config_name(['POINT2GRID_GOES_QC_FLAGS', + 'POINT2GRID_QC_FLAGS']) + if config_name: + c_dict['GOES_QC_FLAGS'] = self.config.getraw('config', config_name) + c_dict['ADP'] = self.config.getraw('config', 'POINT2GRID_ADP') c_dict['REGRID_METHOD'] = self.config.getstr('config', @@ -94,6 +109,28 @@ def create_c_dict(self): 'POINT2GRID_VLD_THRESH', '') + # get the MET config file path or use default + c_dict['CONFIG_FILE'] = self.get_config_file('Point2GridConfig_wrapped') + + # read config file variables + self.add_met_config(name='valid_time', data_type='string') + self.add_met_config_window('obs_window') + self.add_met_config(name='message_type', data_type='list') + if not add_met_config_dict_list(config=self.config, + app_name=self.app_name, + output_dict=self.env_var_dict, + dict_name='var_name_map', + dict_items={'key': 'string', + 'val': 'string'}): + self.isOK = False + + self.add_met_config(name='obs_quality_inc', data_type='list', + metplus_configs=['POINT2GRID_OBS_QUALITY_INC', + 'POINT2GRID_OBS_QUALITY_INCLUDE', + 'POINT2GRID_OBS_QUALITY']) + self.add_met_config(name='obs_quality_exc', data_type='list', + metplus_configs=['POINT2GRID_OBS_QUALITY_EXC', + 'POINT2GRID_OBS_QUALITY_EXCLUDE']) return c_dict def find_input_files(self, time_info): @@ -131,8 +168,11 @@ def set_command_line_arguments(self, time_info): #Add either the specified level above or the defauilt blank one self.args.append(f"-field 'name=\"{input_field}\"; level=\"{input_level}\";'") - if self.c_dict['QC_FLAGS'] != '': - self.args.append(f"-qc {self.c_dict['QC_FLAGS']}") + config_file = do_string_sub(self.c_dict['CONFIG_FILE'], **time_info) + self.args.append(f'-config {config_file}') + + if self.c_dict.get('GOES_QC_FLAGS', '') != '': + self.args.append(f"-goes_qc {self.c_dict['GOES_QC_FLAGS']}") if self.c_dict['ADP']: self.args.append(f"-adp {self.c_dict['ADP']}") diff --git a/parm/met_config/Ascii2NcConfig_wrapped b/parm/met_config/Ascii2NcConfig_wrapped index e86116277b..4233450615 100644 --- a/parm/met_config/Ascii2NcConfig_wrapped +++ b/parm/met_config/Ascii2NcConfig_wrapped @@ -38,5 +38,4 @@ message_type_map = [ tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/EnsembleStatConfig_wrapped b/parm/met_config/EnsembleStatConfig_wrapped index fb505cc09e..9f508ff4c7 100644 --- a/parm/met_config/EnsembleStatConfig_wrapped +++ b/parm/met_config/EnsembleStatConfig_wrapped @@ -242,5 +242,4 @@ ${METPLUS_OUTPUT_PREFIX} tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/GenEnsProdConfig_wrapped b/parm/met_config/GenEnsProdConfig_wrapped index 0a67225e2a..5659d9330a 100644 --- a/parm/met_config/GenEnsProdConfig_wrapped +++ b/parm/met_config/GenEnsProdConfig_wrapped @@ -118,5 +118,4 @@ ${METPLUS_ENSEMBLE_FLAG_DICT} tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/GridDiagConfig_wrapped b/parm/met_config/GridDiagConfig_wrapped index 8c5117ddbe..691338acf2 100644 --- a/parm/met_config/GridDiagConfig_wrapped +++ b/parm/met_config/GridDiagConfig_wrapped @@ -41,5 +41,4 @@ ${METPLUS_MASK_DICT} tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/IODA2NCConfig_wrapped b/parm/met_config/IODA2NCConfig_wrapped index 7f25fb8cf1..ba1faa1695 100644 --- a/parm/met_config/IODA2NCConfig_wrapped +++ b/parm/met_config/IODA2NCConfig_wrapped @@ -114,5 +114,4 @@ tmp_dir = "${MET_TMP_DIR}"; //////////////////////////////////////////////////////////////////////////////// -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/MTDConfig_wrapped b/parm/met_config/MTDConfig_wrapped index f010982346..d521670eac 100644 --- a/parm/met_config/MTDConfig_wrapped +++ b/parm/met_config/MTDConfig_wrapped @@ -257,5 +257,4 @@ tmp_dir = "${MET_TMP_DIR}"; //////////////////////////////////////////////////////////////////////////////// -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/Madis2NcConfig_wrapped b/parm/met_config/Madis2NcConfig_wrapped index 282f6782f1..4cafab0038 100644 --- a/parm/met_config/Madis2NcConfig_wrapped +++ b/parm/met_config/Madis2NcConfig_wrapped @@ -25,6 +25,4 @@ ${METPLUS_TIME_SUMMARY_DICT} // //version = "V12.0.0"; -${METPLUS_TIME_OFFSET_WARNING} - ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/PB2NCConfig_wrapped b/parm/met_config/PB2NCConfig_wrapped index 6174608bb9..8b9057923b 100644 --- a/parm/met_config/PB2NCConfig_wrapped +++ b/parm/met_config/PB2NCConfig_wrapped @@ -129,5 +129,4 @@ tmp_dir = "${MET_TMP_DIR}"; //////////////////////////////////////////////////////////////////////////////// -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/PlotPointObsConfig_wrapped b/parm/met_config/PlotPointObsConfig_wrapped index 8fd113b86d..2194f01fee 100644 --- a/parm/met_config/PlotPointObsConfig_wrapped +++ b/parm/met_config/PlotPointObsConfig_wrapped @@ -96,5 +96,4 @@ tmp_dir = "${MET_TMP_DIR}"; //////////////////////////////////////////////////////////////////////////////// -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/Point2GridConfig_wrapped b/parm/met_config/Point2GridConfig_wrapped new file mode 100644 index 0000000000..5ebc51a460 --- /dev/null +++ b/parm/met_config/Point2GridConfig_wrapped @@ -0,0 +1,54 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Point2Grid configuration file. +// +// For additional information, please see the MET User's Guide. +// +//////////////////////////////////////////////////////////////////////////////// + +// +// NetCDF output variable timing information: +// - valid_time in YYYYMMDD[_HH[MMSS]] format +// +//valid_time = +${METPLUS_VALID_TIME} + +// +// Observation time window +// +//obs_window = { +${METPLUS_OBS_WINDOW_DICT} + +//////////////////////////////////////////////////////////////////////////////// + + +// +// Observation message type +// +//message_type = [ +${METPLUS_MESSAGE_TYPE} + +//////////////////////////////////////////////////////////////////////////////// + +// +// Mapping of input variable names to output variables names. +// +//var_name_map = [ +${METPLUS_VAR_NAME_MAP_LIST} + +//////////////////////////////////////////////////////////////////////////////// + +//obs_quality_inc = [ +${METPLUS_OBS_QUALITY_INC} + +//obs_quality_exc = [ +${METPLUS_OBS_QUALITY_EXC} + +//////////////////////////////////////////////////////////////////////////////// + +tmp_dir = "${MET_TMP_DIR}"; +//version = "V12.0.0"; + +//////////////////////////////////////////////////////////////////////////////// + +${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/PointStatConfig_wrapped b/parm/met_config/PointStatConfig_wrapped index 7b717c6d2c..0d12bd0a73 100644 --- a/parm/met_config/PointStatConfig_wrapped +++ b/parm/met_config/PointStatConfig_wrapped @@ -216,5 +216,4 @@ ${METPLUS_OUTPUT_PREFIX} //////////////////////////////////////////////////////////////////////////////// -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/STATAnalysisConfig_wrapped b/parm/met_config/STATAnalysisConfig_wrapped index e3e32deba4..d38c8def2d 100644 --- a/parm/met_config/STATAnalysisConfig_wrapped +++ b/parm/met_config/STATAnalysisConfig_wrapped @@ -164,5 +164,4 @@ tmp_dir = "${MET_TMP_DIR}"; //version = "V10.0"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/TCDiagConfig_wrapped b/parm/met_config/TCDiagConfig_wrapped index 0407e982c5..8dacb81b26 100644 --- a/parm/met_config/TCDiagConfig_wrapped +++ b/parm/met_config/TCDiagConfig_wrapped @@ -180,5 +180,4 @@ tmp_dir = "${MET_TMP_DIR}"; //////////////////////////////////////////////////////////////////////////////// -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/TCGenConfig_wrapped b/parm/met_config/TCGenConfig_wrapped index 7d813aa105..c18f895f8b 100644 --- a/parm/met_config/TCGenConfig_wrapped +++ b/parm/met_config/TCGenConfig_wrapped @@ -294,5 +294,4 @@ ${METPLUS_NC_PAIRS_GRID} tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/TCPairsConfig_wrapped b/parm/met_config/TCPairsConfig_wrapped index 7b9aa04651..93947c0c18 100644 --- a/parm/met_config/TCPairsConfig_wrapped +++ b/parm/met_config/TCPairsConfig_wrapped @@ -168,5 +168,4 @@ ${METPLUS_DIAG_CONVERT_MAP_LIST} tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/TCRMWConfig_wrapped b/parm/met_config/TCRMWConfig_wrapped index 00a7ea0ad7..9df3ddec8f 100644 --- a/parm/met_config/TCRMWConfig_wrapped +++ b/parm/met_config/TCRMWConfig_wrapped @@ -89,5 +89,4 @@ ${METPLUS_RMW_SCALE} tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/met_config/TCStatConfig_wrapped b/parm/met_config/TCStatConfig_wrapped index a6bd4afb23..dc4d5ec780 100644 --- a/parm/met_config/TCStatConfig_wrapped +++ b/parm/met_config/TCStatConfig_wrapped @@ -233,5 +233,4 @@ ${METPLUS_JOBS} tmp_dir = "${MET_TMP_DIR}"; -${METPLUS_TIME_OFFSET_WARNING} ${METPLUS_MET_CONFIG_OVERRIDES} diff --git a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf index f1aa331915..b6a0de754e 100644 --- a/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf +++ b/parm/use_cases/met_tool_wrapper/ASCII2NC/ASCII2NC.conf @@ -79,5 +79,3 @@ ASCII2NC_TIME_SUMMARY_VAR_NAMES = ASCII2NC_TIME_SUMMARY_TYPES = min, max, range, mean, stdev, median, p80 ASCII2NC_TIME_SUMMARY_VALID_FREQ = 0 ASCII2NC_TIME_SUMMARY_VALID_THRESH = 0.0 - -#ASCII2NC_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf index 3f911cbf71..3ac91314f2 100644 --- a/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf +++ b/parm/use_cases/met_tool_wrapper/EnsembleStat/EnsembleStat.conf @@ -246,5 +246,3 @@ ENSEMBLE_STAT_NC_ORANK_FLAG_WEIGHT = FALSE #ENSEMBLE_STAT_CONTROL_ID = #ENSEMBLE_STAT_GRID_WEIGHT_FLAG = - -#ENSEMBLE_STAT_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf b/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf index 2d2394d374..55ff515571 100644 --- a/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf +++ b/parm/use_cases/met_tool_wrapper/GenEnsProd/GenEnsProd.conf @@ -165,5 +165,3 @@ GEN_ENS_PROD_ENS_THRESH = 0.8 #GEN_ENS_PROD_ENS_MEMBER_IDS = #GEN_ENS_PROD_CONTROL_ID = - -#GEN_ENS_PROD_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf b/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf index 23813198fa..4104ee6016 100644 --- a/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf +++ b/parm/use_cases/met_tool_wrapper/GridDiag/GridDiag.conf @@ -83,5 +83,3 @@ GRID_DIAG_CONFIG_FILE = {PARM_BASE}/met_config/GridDiagConfig_wrapped #GRID_DIAG_REGRID_CENSOR_VAL = GRID_DIAG_MASK_POLY = MET_BASE/poly/SAO.poly - -#GRID_DIAG_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf b/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf index a036901873..0948944a55 100644 --- a/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf +++ b/parm/use_cases/met_tool_wrapper/IODA2NC/IODA2NC.conf @@ -96,5 +96,3 @@ IODA2NC_TIME_SUMMARY_OBS_VAR = "WIND" IODA2NC_TIME_SUMMARY_TYPE = "min", "max", "range", "mean", "stdev", "median", "p80" IODA2NC_TIME_SUMMARY_VLD_FREQ = 0 IODA2NC_TIME_SUMMARY_VLD_THRESH = 0.0 - -#IODA2NC_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/MADIS2NC/MADIS2NC.conf b/parm/use_cases/met_tool_wrapper/MADIS2NC/MADIS2NC.conf index ac4067dd6c..41b8009075 100644 --- a/parm/use_cases/met_tool_wrapper/MADIS2NC/MADIS2NC.conf +++ b/parm/use_cases/met_tool_wrapper/MADIS2NC/MADIS2NC.conf @@ -83,6 +83,4 @@ MADIS2NC_TYPE = metar #MADIS2NC_TIME_SUMMARY_VLD_FREQ = #MADIS2NC_TIME_SUMMARY_VLD_THRESH = -#MADIS2NC_TIME_OFFSET_WARNING = - #MADIS2NC_MET_CONFIG_OVERRIDES = \ No newline at end of file diff --git a/parm/use_cases/met_tool_wrapper/MTD/MTD.conf b/parm/use_cases/met_tool_wrapper/MTD/MTD.conf index 30d3c1403c..6f615537e0 100644 --- a/parm/use_cases/met_tool_wrapper/MTD/MTD.conf +++ b/parm/use_cases/met_tool_wrapper/MTD/MTD.conf @@ -99,5 +99,3 @@ MTD_REGRID_TO_GRID = OBS MTD_MIN_VOLUME = 2000 MTD_OUTPUT_PREFIX = {MODEL}_{CURRENT_FCST_NAME}_vs_{OBTYPE}_{CURRENT_OBS_NAME}_{CURRENT_FCST_LEVEL} - -#MTD_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf b/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf index 9acd346c18..93651289ea 100644 --- a/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf +++ b/parm/use_cases/met_tool_wrapper/PB2NC/PB2NC.conf @@ -94,5 +94,3 @@ PB2NC_TIME_SUMMARY_VALID_FREQ = 0 PB2NC_TIME_SUMMARY_VALID_THRESH = 0.0 #PB2NC_OBS_BUFR_MAP = - -#PB2NC_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/PlotPointObs/PlotPointObs.conf b/parm/use_cases/met_tool_wrapper/PlotPointObs/PlotPointObs.conf index 6289088f02..304e1c5253 100644 --- a/parm/use_cases/met_tool_wrapper/PlotPointObs/PlotPointObs.conf +++ b/parm/use_cases/met_tool_wrapper/PlotPointObs/PlotPointObs.conf @@ -131,5 +131,3 @@ PLOT_POINT_OBS_POINT_DATA = colorbar_flag = FALSE; } } - -#PLOT_POINT_OBS_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf b/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf index 570ee1cc81..03695fcc67 100644 --- a/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf +++ b/parm/use_cases/met_tool_wrapper/Point2Grid/Point2Grid.conf @@ -68,14 +68,24 @@ POINT2GRID_REGRID_METHOD = MAX POINT2GRID_INPUT_FIELD =TMP POINT2GRID_INPUT_LEVEL = -#POINT2GRID_QC_FLAGS = +#POINT2GRID_GOES_QC_FLAGS = POINT2GRID_ADP = - POINT2GRID_GAUSSIAN_DX = 81.271 POINT2GRID_GAUSSIAN_RADIUS = 120 POINT2GRID_PROB_CAT_THRESH = POINT2GRID_VLD_THRESH = + +#POINT2GRID_VALID_TIME = +#POINT2GRID_OBS_WINDOW_BEG = +#POINT2GRID_OBS_WINDOW_END = +#POINT2GRID_MESSAGE_TYPE = +#POINT2GRID_VAR_NAME_MAP1_KEY = +#POINT2GRID_VAR_NAME_MAP1_VAL = +#POINT2GRID_OBS_QUALITY_INC = +#POINT2GRID_OBS_QUALITY_EXC = + +#POINT2GRID_MET_CONFIG_OVERRIDES = diff --git a/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf b/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf index 3cfaa3b52e..6d793e2bf9 100644 --- a/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf +++ b/parm/use_cases/met_tool_wrapper/PointStat/PointStat.conf @@ -264,5 +264,3 @@ POINT_STAT_MESSAGE_TYPE = ADPUPA, ADPSFC #POINT_STAT_UGRID_MAX_DISTANCE_KM = #POINT_STAT_UGRID_COORDINATES_FILE = #POINT_STAT_UGRID_CONFIG_FILE = - -#POINT_STAT_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf index 59378482fe..14eb180192 100644 --- a/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf +++ b/parm/use_cases/met_tool_wrapper/StatAnalysis/StatAnalysis.conf @@ -84,5 +84,3 @@ LINE_TYPE_LIST = GROUP_LIST_ITEMS = FCST_INIT_HOUR_LIST LOOP_LIST_ITEMS = FCST_VALID_HOUR_LIST, MODEL_LIST - -#STAT_ANALYSIS_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/TCDiag/TCDiag.conf b/parm/use_cases/met_tool_wrapper/TCDiag/TCDiag.conf index 078e9c04ae..b10919341f 100644 --- a/parm/use_cases/met_tool_wrapper/TCDiag/TCDiag.conf +++ b/parm/use_cases/met_tool_wrapper/TCDiag/TCDiag.conf @@ -117,5 +117,3 @@ TC_DIAG_DOMAIN_INFO1_OVERRIDE_DIAGS = #TC_DIAG_NC_DIAG_FLAG = #TC_DIAG_CIRA_DIAG_FLAG = #TC_DIAG_OUTPUT_BASE_FORMAT = - -#TC_DIAG_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf b/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf index 424c3376bb..ace36034eb 100644 --- a/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf +++ b/parm/use_cases/met_tool_wrapper/TCGen/TCGen.conf @@ -177,5 +177,3 @@ TC_GEN_DLAND_FILE = MET_BASE/tc_data/dland_global_tenth_degree.nc TC_GEN_BASIN_FILE = MET_BASE/tc_data/basin_global_tenth_degree.nc TC_GEN_NC_PAIRS_GRID = G003 - -#TC_GEN_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf index 231138ef23..e5a0bcf1eb 100644 --- a/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf +++ b/parm/use_cases/met_tool_wrapper/TCPairs/TCPairs_extra_tropical.conf @@ -122,5 +122,3 @@ TC_PAIRS_MISSING_VAL = -9999 #TC_PAIRS_DIAG_CONVERT_MAP1_DIAG_SOURCE = #TC_PAIRS_DIAG_CONVERT_MAP1_KEY = #TC_PAIRS_DIAG_CONVERT_MAP1_CONVERT = - -#TC_PAIRS_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf b/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf index a410e91ffe..60b2e494db 100644 --- a/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf +++ b/parm/use_cases/met_tool_wrapper/TCRMW/TCRMW.conf @@ -95,5 +95,3 @@ TC_RMW_CYCLONE = 14 #TC_RMW_VALID_INCLUDE_LIST = #TC_RMW_VALID_EXCLUDE_LIST = #TC_RMW_VALID_HOUR_LIST = - -#TC_RMW_TIME_OFFSET_WARNING = diff --git a/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf b/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf index 7f4be36833..ec1705915b 100644 --- a/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf +++ b/parm/use_cases/met_tool_wrapper/TCStat/TCStat.conf @@ -117,5 +117,3 @@ TC_STAT_MATCH_POINTS = false #TC_STAT_EVENT_EQUAL_LEAD = #TC_STAT_OUT_INIT_MASK = #TC_STAT_OUT_VALID_MASK = - -#TC_STAT_TIME_OFFSET_WARNING =