From b9aedd84d9dc63031a81694c41c64b718368e53d Mon Sep 17 00:00:00 2001
From: bikegeek <minnawin@ucar.edu>
Date: Wed, 7 Feb 2024 11:13:59 -0700
Subject: [PATCH 1/3] issue #2406 RRFS use case files

---
 ...tRRFS_fcstOnly_Reformat_Aggregate_Plot.png | Bin 0 -> 70128 bytes
 ...format_Aggregate_Plot_ecnt_spread_skill.py | 255 ++++++++++++++++
 ...RRFS_fcstOnly_Reformat_Aggregate_Plot.conf |  67 +++++
 .../aggregate_ecnt.py                         |  66 ++++
 .../aggregate_ecnt.yaml                       |  41 +++
 .../plot_spread_skill.py                      |  35 +++
 .../plot_spread_skill.yaml                    | 281 ++++++++++++++++++
 .../reformat_ecnt.yaml                        |  23 ++
 .../reformat_ecnt_linetype.py                 |  58 ++++
 9 files changed, 826 insertions(+)
 create mode 100644 docs/_static/short-range_UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.png
 create mode 100755 docs/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot_ecnt_spread_skill.py
 create mode 100755 parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf
 create mode 100755 parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.py
 create mode 100644 parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.yaml
 create mode 100755 parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.py
 create mode 100644 parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.yaml
 create mode 100755 parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt.yaml
 create mode 100755 parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt_linetype.py

diff --git a/docs/_static/short-range_UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.png b/docs/_static/short-range_UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.png
new file mode 100644
index 0000000000000000000000000000000000000000..3dfa948d3c0ec82a3363f3d835e1a9ae995f3089
GIT binary patch
literal 70128
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

literal 0
HcmV?d00001

diff --git a/docs/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot_ecnt_spread_skill.py b/docs/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot_ecnt_spread_skill.py
new file mode 100755
index 000000000..c48e6c6ce
--- /dev/null
+++ b/docs/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot_ecnt_spread_skill.py
@@ -0,0 +1,255 @@
+"""
+UserScript: Reformat MET .stat ECNT data, calculate aggregation statistics, and generate a spread skill plot
+======================================================================================================================
+
+model_applications/
+short_range/
+UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot_ecnt_spread_skill.py
+
+"""
+
+#################################################################################
+# Scientific Objective
+# --------------------
+#
+# This use case illustrates how to use MET .stat output (using the ECNT linetype data) to generate a
+# spread skill plot using a subset of the METplus Analysis Tools (METdataio, METcalcpy,
+# and METplotpy). The METdataio METreformat module extracts the ECNT linetype data and
+# performs reformatting, the METcalcpy agg-stat module performs aggregation, and the
+# METplotpy line plot is used to generate the spread skill plot.
+#
+
+#################################################################################
+# Datasets
+# --------
+#
+#  * Forecast dataset: RRFS GEFS (Rapid Refresh Forecast System Global Ensemble Forecast System)
+#  * Observation dataset: None
+#
+#  **Input**: MET .stat files from MET ensemble-stat tool for RRFS for 20220506
+#
+#  **Location**: All the input data required for this use case can be found in the met_test sample data tarball
+#  (**sample_data-short_range.tgz**).
+#
+#  Click here to see the METplus releases page and download sample data for the appropriate
+#  release: https://github.com/dtcenter/METplus/releases
+#
+#  See `Running METplus <https://metplus.readthedocs.io/en/develop/Users_Guide/getting_started.html#running-metplus>`_
+#  section for more information.
+#
+#  **This tarball should be unpacked into the directory corresponding to the value of INPUT_BASE** in the
+#  `User Configuration File <https://metplus.readthedocs.io/en/develop/Users_Guide/systemconfiguration.html#user-configuration-file>`_
+#  section.
+#
+
+#############################################################################
+# External Dependencies
+# ---------------------
+# You will need to use the version of Python that is required for the METplus version
+# in use.  Refer to the Installation section of the User's Guide for basic Python requirements:
+# https://metplus.readthedocs.io/en/latest/Users_Guide/installation.html
+#
+# The METplus Analysis tools: METdataio, METcalcpy, and METplotpy have the additional third-party
+# Python package requirements.  The version numbers are found in the requirements.txt file found at the
+# top-level directory of each repository.
+#
+#  * lxml
+#  * pandas
+#  * pyyaml
+#  * numpy
+#  * netcdf4
+#  * xarray
+#  * scipy
+#  * metpy
+#  * pint
+#  * python-dateutil
+#  * kaleido (python-kaleido)
+#  * plotly
+#  * matplotlib
+
+
+
+##############################################################################
+# METplus Components
+# ------------------
+#
+# This use case runs the UserScript wrapper tool to run a user provided script, 
+# in this case, reformat_ecnt_linetype.py, agg_stat_ecnt.py and plot_spread_skill.py.
+# It also requires the METdataio, METcalcpy and METplotpy source code to reformat the MET .stat output,
+# perform aggregation, and generate the plot. Clone the METdataio repository
+# (https://github.com/dtcenter/METdataio),
+# METcalcpy repository (https://github.com/dtcenter/METcalcpy, and the METplotpy
+# repository (https://github.com/dtcenter/METplotpy) under the same base directory as the
+# METPLUS_BASE directory so that the METdataio, METcalcpy, and METplotpy directories are under the
+# same base directory (i.e. if the METPLUS_BASE directory is /home/username/working/METplus,
+# then clone the METdataio, METcalcpy and METplotpy source code into the /home/username/working directory)
+#
+# Clone the METdataio, METcalcpy, and METplotpy source code from their repositories under a base directory. The
+# repositories are located:
+#
+#   *  https://github.com/dtcenter/METdataio
+#   *  https://github.com/dtcenter/METcalcpy
+#   *  https://github.com/dtcenter/METplotpy
+#
+#
+#
+# Define the OUTPUT_BASE, INPUT_BASE, and MET_INSTALL_DIR settings in the user
+# configuration file. For instructions on how to set up the user configuration file, refer to the `User ConfigurationFile
+# <https://metplus.readthedocs.io/en/develop/Users_Guide/systemconfiguration.html#user-configuration-file>`_ section.
+#
+
+
+##############################################################################
+# METplus Workflow
+# ----------------
+#
+# This use case reads in the MET .stat output that contains the ECNT linetype (from
+# the MET ensemble-stat tool).  The .stat output *MUST* reside under one directory.
+# If .stat files are spread among multiple directories, these must be consolidated under a
+# single directory.
+# The use case loops over three processes: reformatting, aggregating, and plotting.
+#
+
+
+##############################################################################
+# METplus Configuration
+# ---------------------
+#
+# METplus first loads all the configuration files found in parm/metplus_config,
+# then it loads any configuration files passed to METplus via the command line
+# with the -c option, i.e. -c parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf
+#
+# .. highlight:: bash
+# .. literalinclude:: ../../../../parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf
+#
+
+#############################################################################
+# MET Configuration
+# ---------------------
+#
+# There are no MET tools used in this use case. The use case uses MET .stat
+# output as input for the reformatting step.
+#
+
+##############################################################################
+# Python Embedding
+# ----------------
+#
+# There is no python embedding in this use case
+#
+
+##############################################################################
+# Python Scripts
+# ----------------
+# This use case uses Python scripts to invoke the METdataio reformatter, the METcalcpy aggregator, and the METplotpy
+# line plot.
+#
+# The following Python script (from METdataio) is used to reformat the MET .stat ECNT linetype data
+# into a format that can be used by the aggregating script.
+#
+# .. highlight:: python
+# .. literalinclude:: ../../../../parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt_linetype.py
+#
+# This Python script (from METcalcpy) is used to calculate aggregation statistics for the ECNT linetype.
+#
+# .. highlight:: python
+# .. literalinclude:: ../../../../parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.py
+#
+# Finally,this Python script (from METplotpy) is used to generate a spread-skill plot using the METplotypy line plot code.
+#
+# .. highlight:: python
+# .. literalinclude:: ../../../../parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.py
+#
+
+##############################################################################
+# Running METplus
+# ---------------
+#
+# This use case can be run two ways:
+#
+# 1) Passing in UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf,
+# then a user-specific system configuration file::
+#
+#        run_metplus.py -c /path/to/METplus/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf -c /path/to/user_system.conf
+#
+# 2) Modifying the configurations in parm/metplus_config, then passing in UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf::
+#
+#        run_metplus.py -c /path/to/METplus/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf
+#
+# The former method is recommended. Whether you add them to a user-specific configuration file or modify the metplus_config files, the following variables must be set correctly:
+#
+# * **INPUT_BASE** - Path to directory where sample data tarballs are unpacked (See Datasets section to obtain tarballs). This is not required to run METplus, but it is required to run the examples in parm/use_cases
+# * **OUTPUT_BASE** - Path where METplus output will be written. This must be in a location where you have write permissions
+# * **MET_INSTALL_DIR** - Path to location where MET is installed locally
+#
+#  and for the [exe] section, you will need to define the location of NON-MET executables.
+#  If the executable is in the user's path, METplus will find it from the name. 
+#  If the executable is not in the path, specify the full path to the executable here (i.e. RM = /bin/rm)  
+#  The following executables are required for performing series analysis use cases:
+#
+# Example User Configuration File::
+#
+#   [config]
+#   INPUT_BASE = /path/to/sample/input/data
+#   OUTPUT_BASE = /path/to/output/dir
+#   MET_INSTALL_DIR = /path/to/met-X.Y
+#
+#
+#   [exe]
+#   RM = /path/to/rm
+#   CUT = /path/to/cut
+#   TR = /path/to/tr
+#   NCAP2 = /path/to/ncap2
+#   CONVERT = /path/to/convert
+#   NCDUMP = /path/to/ncdump
+#
+
+##############################################################################
+# Expected Output
+# ----------------
+#
+# A successful run will output the following both to the screen and to the logfile, one for the
+# reformat, aggregate, and plot steps of the use case::
+#
+#   INFO: METplus has successfully finished running.
+#
+#
+# **Reformat Output**
+#
+# The reformatted ensemble-stat ECNT linetype data should exist in the location specified in the user
+# configuration file (OUTPUT_BASE).  Verify that the ensemble_stat_ecnt.data file exists.  The file now has all
+# the statistics under the stat_name and stat_value columns, all ECNT statistic columns labelled with their
+# corresponding names (e.g. crps, crpss, rmse, etc.) and confidence level values under the
+# following columns:  stat_btcl and stat_btcu
+#
+#
+# **Aggregation Output**
+#
+# The METcalcpy agg_stat module is used to calculate aggregated statistics and confidence intervals for each
+# series (line) point.
+#
+# **Plot Output**
+#
+# A spread-skill plot of temperature for the RMSE, SPREAD_PLUS_OERR, and a ratio line of SPREAD_PLUS_OERR/RMSE is
+# created and found in the output location specified in the user configuration file (OUTPUT_BASE).  The plot is named
+# short-range_UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.png
+#
+#
+
+##############################################################################
+# Keywords
+# --------
+#
+# .. note::
+#
+#   * UserScriptUseCase
+#   * ShortRangeAppUseCase
+#   * METdataioUseCase
+#   * METcalcpyUseCase
+#   * METplotpyUseCase
+#
+#   Navigate to the :ref:`quick-search` page to discover other similar use cases.
+#
+#
+#
+# sphinx_gallery_thumbnail_path = '_static/short-range_UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.png'
diff --git a/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf
new file mode 100755
index 000000000..6ee847317
--- /dev/null
+++ b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf
@@ -0,0 +1,67 @@
+[config]
+
+# Documentation for this use case can be found at
+# https://metplus.readthedocs.io/en/latest/generated/model_applications/short-range/UserScript_fcstRRFS_obsOnly_Reformat_Aggregate_Plot.html
+
+# For additional information, please see the METplus Users Guide.
+# https://metplus.readthedocs.io/en/latest/Users_Guide
+
+###
+# Processes to run
+# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#process-list
+###
+
+PROCESS_LIST = UserScript(reformatter), UserScript(aggregate), UserScript(plotting)
+
+###
+# Time Info
+# LOOP_BY options are INIT, VALID, RETRO, and REALTIME
+# If set to INIT or RETRO:
+#   INIT_TIME_FMT, INIT_BEG, INIT_END, and INIT_INCREMENT must also be set
+# If set to VALID or REALTIME:
+#   VALID_TIME_FMT, VALID_BEG, VALID_END, and VALID_INCREMENT must also be set
+# LEAD_SEQ is the list of forecast leads to process
+# https://metplus.readthedocs.io/en/latest/Users_Guide/systemconfiguration.html#timing-control
+###
+
+LOOP_BY = VALID
+VALID_TIME_FMT = %Y%m%d_%H%M%S
+VALID_BEG = 20220506_000000
+
+USER_SCRIPT_RUNTIME_FREQ = RUN_ONCE
+LOOP_ORDER = processes
+
+###
+# UserScript Settings
+# https://metplus.readthedocs.io/en/latest/Users_Guide/wrappers.html#userscript
+###
+
+
+[user_env_vars]
+REFORMAT_YAML_CONFIG_NAME = {PARM_BASE}/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt.yaml
+AGGREGATE_YAML_CONFIG_NAME = {PARM_BASE}/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.yaml
+PLOTTING_YAML_CONFIG_NAME = {PARM_BASE}/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.yaml
+REFORMAT_INPUT_BASE = {INPUT_BASE}/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot
+REFORMAT_OUTPUT_BASE = {OUTPUT_BASE}/reformatted
+AGGREGATE_INPUT_BASE = {REFORMAT_OUTPUT_BASE}
+AGGREGATE_OUTPUT_BASE = {OUTPUT_BASE}/aggregated
+PLOT_INPUT_BASE = {AGGREGATE_OUTPUT_BASE}
+PLOT_OUTPUT_BASE = {OUTPUT_BASE}/plot
+METDATAIO_BASE = {METPLUS_BASE}/../METdataio
+METCALCPY_BASE = {METPLUS_BASE}/../METcalcpy
+METPLOTPY_BASE = {METPLUS_BASE}/../METplotpy
+PYTHONPATH = {METDATAIO_BASE}:{METDATAIO_BASE}/METdbLoad:{METDATAIO_BASE}/METdbLoad/ush:{METDATAIO_BASE}/METreformat:{METCALCPY_BASE}:{METCALCPY_BASE}/metcalcpy:{METPLOTPY_BASE}:{METPLOTPY_BASE}/metplotpy/plots
+
+
+[reformatter]
+USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt_linetype.py
+
+[aggregate]
+USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.py
+
+[plotting]
+USER_SCRIPT_COMMAND = {PARM_BASE}/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.py
+
+
+
+
diff --git a/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.py b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.py
new file mode 100755
index 000000000..4766dd500
--- /dev/null
+++ b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python3
+
+
+import os
+import time
+import logging
+import pandas as pd
+import yaml
+from metcalcpy.util import read_env_vars_in_config as readconfig
+from metcalcpy.agg_stat import AggStat
+
+logger = logging.getLogger(__name__)
+
+def main():
+    '''
+       Read in the config file (with ENVIRONMENT variables defined in the
+       UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf).  Invoke METcalcpy agg_stat module to
+       calculate the aggregation statistics, clean up the data so it is compatible for the METplotpy line plot
+       and write a tab-separated ASCII file.
+
+    '''
+
+    start_agg_step = time.time()
+
+    # Read in the YAML configuration file.  Environment variables in
+    # the configuration file are supported.
+    try:
+        input_config_file = os.getenv("AGGREGATE_YAML_CONFIG_NAME", "aggregate_ecnt.yaml")
+        settings = readconfig.parse_config(input_config_file)
+        logger.info(settings)
+    except yaml.YAMLError as exc:
+        logger.error(exc)
+
+    # Calculate the aggregation statistics using METcalcpy agg_stat
+    agg_begin = time.time()
+    try:
+       os.mkdir(os.getenv("AGGREGATE_OUTPUT_BASE"))
+    except OSError:
+        # Directory already exists, ignore error.
+        pass
+
+    AGG_STAT = AggStat(settings)
+    AGG_STAT.calculate_stats_and_ci()
+    agg_finish = time.time()
+    time_for_aggregation = agg_finish - agg_begin
+    logger.info("Total time for calculating aggregation statistics (in seconds): {time_for_aggregation}")
+
+    # Add a 'dummy' column (fcst_valid with the same values as fcst_lead)
+    # to the output data.  The aggregation was based
+    # on the fcst_lead BUT the line plot requires a *second* time-related
+    # column (i.e. fcst_init_beg, fcst_valid, etc.) to identify unique
+    # points.  In this case, the aggregated data already consists of
+    # unique points. If any other time column was used, this
+    # step would not be required.
+    output_file = settings['agg_stat_output']
+    df = pd.read_csv(output_file, sep='\t')
+    df['fcst_valid'] = df['fcst_lead']
+    df.to_csv(output_file, sep='\t')
+
+    finish_agg = time.time()
+    total_agg_step = finish_agg - start_agg_step
+    logger.info("Total time for performing the aggregation step (in sec): {total_agg_step} ")
+
+
+if __name__ == "__main__":
+    main()
\ No newline at end of file
diff --git a/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.yaml b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.yaml
new file mode 100644
index 000000000..4d94d4180
--- /dev/null
+++ b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/aggregate_ecnt.yaml
@@ -0,0 +1,41 @@
+agg_stat_input: !ENV '${AGGREGATE_INPUT_BASE}/ensemble_stat_ecnt.data'
+agg_stat_output: !ENV '${AGGREGATE_OUTPUT_BASE}/ecnt_aggregated.data'
+alpha: 0.05
+append_to_file: null
+circular_block_bootstrap: True
+derived_series_1: []
+derived_series_2: []
+event_equal: False
+fcst_var_val_1:
+  TMP:
+  - ECNT_RMSE
+  - ECNT_SPREAD_PLUS_OERR
+fcst_var_val_2: {}
+indy_vals:
+- '30000'
+- '40000'
+- '60000'
+- '90000'
+- '120000'
+- '150000'
+- '160000'
+- '170000'
+- '180000'
+- '200000'
+- '240000'
+- '270000'
+
+indy_var: fcst_lead
+line_type: ecnt
+list_stat_1:
+ - ECNT_RMSE
+ - ECNT_SPREAD_PLUS_OERR
+list_stat_2: []
+method: perc
+num_iterations: 1
+num_threads: -1
+random_seed: null
+series_val_1:
+  model:
+  - RRFS_GEFS_GF.SPP.SPPT
+series_val_2: {}
diff --git a/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.py b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.py
new file mode 100755
index 000000000..d482ba5d4
--- /dev/null
+++ b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+
+
+import os
+from time import perf_counter
+import logging
+import yaml
+import metcalcpy.util.read_env_vars_in_config as readconfig
+from metplotpy.plots.line import line
+
+def main():
+
+    # Read in the YAML configuration file.  Environment variables in
+    # the configuration file are supported.
+    try:
+        input_config_file = os.getenv("PLOTTING_YAML_CONFIG_NAME", "plot_spread_skill.yaml")
+        settings = readconfig.parse_config(input_config_file)
+        logging.info(settings)
+    except yaml.YAMLError as exc:
+        logging.error(exc)
+
+    try:
+        start = perf_counter()
+        plot = line.Line(settings)
+        plot.save_to_file()
+        plot.write_html()
+        plot.write_output_file()
+        end = perf_counter()
+        execution_time = end - start
+        plot.line_logger.info(f"Finished creating line plot, execution time: {execution_time} seconds")
+    except ValueError as val_er:
+        print(val_er)
+
+if __name__ == "__main__":
+  main()
\ No newline at end of file
diff --git a/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.yaml b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.yaml
new file mode 100644
index 000000000..2b1951bd8
--- /dev/null
+++ b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/plot_spread_skill.yaml
@@ -0,0 +1,281 @@
+alpha: 0.05
+box_avg: 'False'
+box_boxwex: 0.2
+box_notch: 'False'
+box_outline: 'True'
+box_pts: 'False'
+caption_align: 0.0
+caption_col: '#333333'
+caption_offset: 3.0
+caption_size: 0.8
+caption_weight: 1
+cex: 1
+
+colors:
+# Colors for each line that will be generated.
+# Accessible colors https://davidmathlogic.com/colorblind/#%23D81B60-%231E88E5-%23FFC107-%23004D40
+- '#D41159' # reddish
+- '#4B0092' # purple-ish
+- '#1Aff1A' # lime green-ish
+
+
+con_series:
+- 1
+- 1
+- 1
+
+create_html: 'False'
+
+# Two derived series (lines) are supported (i.e. difference or ratio lines: DIFF or RATIO).
+derived_series_1:
+  # Generate the ratio line of the ECNT spread_plus_oerr/rmse for temperature and the
+  # The first line is the top portion (left side) of the ratio, the second is the bottom (right side), and the
+  # third line indicates the type of derived line (i.e. RATIO or DIFF).  This is a list of lists, so remember
+  # to have two '-' at the start of the first line ( - - 'model var stat')
+  #
+  # RRFS_GEFS_GF.SPP.SPPT model for temperature and the SPREAD_PLUS_OERR and RMSE statistics.
+  #
+- - RRFS_GEFS_GF.SPP.SPPT TMP ECNT_SPREAD_PLUS_OERR
+  - RRFS_GEFS_GF.SPP.SPPT TMP ECNT_RMSE
+  - RATIO
+
+derived_series_2: []
+
+dump_points_1: 'False'
+dump_points_2: 'False'
+event_equal: 'False'
+fcst_var_val_1:
+  # Specify the variable name and the statistic(s) of interest.
+  # This will generate the line for the spread_plus_oerr values for TMP and a
+  # line for rmse values for TMP.
+  TMP:
+      -  ECNT_SPREAD_PLUS_OERR
+      -  ECNT_RMSE
+
+fcst_var_val_2: {}
+
+fixed_vars_vals_input: {}
+grid_col: '#cccccc'
+grid_lty: 3
+grid_lwd: 1
+grid_on: 'True'
+grid_x: listX
+
+# Labels for the x-axis
+indy_label:
+- '3'
+- '4'
+- '6'
+- '9'
+- '12'
+- '15'
+- '16'
+- '17'
+- '18'
+- '20'
+- '24'
+- '27'
+- '30'
+- '32'
+- '33'
+- '34'
+- '36'
+
+# Stagger the points so overlapping points don't obscure one another
+indy_stagger_1: 'True'
+indy_stagger_2: 'True'
+
+# Values for the x-axis
+indy_vals:
+- '30000'
+- '40000'
+- '60000'
+- '90000'
+- '120000'
+- '150000'
+- '160000'
+- '170000'
+- '180000'
+- '200000'
+- '240000'
+- '270000'
+- '300000'
+- '320000'
+- '330000'
+- '340000'
+- '360000'
+
+# Specify the variable corresponding to the x-axis
+indy_var: fcst_lead
+
+legend_box: o
+legend_inset:
+  x: 0.0
+  y: -0.25
+legend_ncol: -1
+legend_size: 0.8
+line_type: None
+
+# Explicitly set only the statistics for the derived series line
+# (without the accompanying variable name)
+list_stat_1:
+  - ECNT_SPREAD_PLUS_OERR
+  - ECNT_RMSE
+list_stat_2: []
+
+mar:
+- 8
+- 4
+- 5
+- 4
+method: bca
+mgp:
+- 1
+- 1
+- 0
+num_iterations: 1
+num_threads: -1
+plot_caption: Caption
+plot_ci:
+- std
+- std
+- std
+
+# Turn on/off displaying the lines
+plot_disp:
+- 'True'
+- 'True'
+- 'True'
+
+
+plot_filename:  !ENV '${PLOT_OUTPUT_BASE}/short-range_UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.png'
+plot_height: 8.5
+plot_res: 72
+plot_stat: median
+plot_type: png16m
+plot_units: in
+plot_width: 11.0
+
+# Optional, uncomment and set to directory to store the .points1 file
+# that is used by METviewer (created when dump_points_1 is set to True)
+# if dump_points_1 is True and this is uncommented, the points1 file
+# will be saved in the default location (i.e. where the input data file is stored).
+#points_path: /path/to
+
+random_seed: null
+
+# Define the style of the line
+series_line_style:
+- '-'  # solid
+- '--' # dashes
+- ':'  # dots
+
+
+
+series_line_width:
+- 1
+- 1
+- 1
+
+series_order:
+# The order in which to apply settings for line width, line style, colors, symbols, etc.
+# A convenience for experimenting with which color/line style/symbol combination works best for
+# a particular line.
+- 1
+- 2
+- 3
+
+
+series_symbols:
+- .  # circle
+- "s"  # square
+- ^    # triangle up
+
+
+series_type:
+# b=lines + markers, l=lines only p=markers only
+- b
+- b
+- b
+
+series_val_1:
+  # value of interest, in this case, the model, RRFS_GEFS_GF.SPP.SPPT
+  model:
+  - 'RRFS_GEFS_GF.SPP.SPPT'
+series_val_2: {}
+
+show_nstats: 'False'
+show_signif:
+- 'False'
+- 'False'
+- 'False'
+
+
+stat_input: !ENV '${PLOT_INPUT_BASE}/ecnt_aggregated.data'
+sync_yaxes: 'False'
+title: Spread skill plot with ratio line from MET ensemble-stat data (aggregation statistics)
+title_align: 0.5
+title_offset: -2
+title_size: 1.4
+title_weight: 2.0
+# Use empty list to use automatically generated legend labels
+user_legend: []
+# comment above and uncomment below to use  user-specified legend labels
+#user_legend: ['ECNT SPREAD_PLUS_OERR for RRFS_GEFS_GF.SPP.SPPT TMP ', 'ECNT RMSE for for RRFS_GEFS_GF.SPP.SPPT TMP', 'RATIO(RRFS_GEFS_GF.SPP.SPPT TMP SPREAD_PLUS_OERR/RMSE)']
+variance_inflation_factor: 'False'
+vert_plot: 'False'
+x2lab_align: 0.5
+x2lab_offset: -0.5
+x2lab_size: 0.8
+x2lab_weight: 1
+x2tlab_horiz: 0.5
+x2tlab_orient: 1
+x2tlab_perp: 1
+x2tlab_size: 0.8
+xaxis: fcst lead (hr)
+xaxis_reverse: 'False'
+xlab_align: 0.5
+xlab_offset: 2
+xlab_size: 1
+xlab_weight: 1
+xlim: []
+xtlab_decim: 0
+xtlab_horiz: 0.5
+xtlab_orient: 1
+xtlab_perp: -0.75
+xtlab_size: 1
+y2lab_align: 0.5
+y2lab_offset: 1
+y2lab_size: 1
+y2lab_weight: 1
+y2lim: []
+y2tlab_horiz: 0.5
+y2tlab_orient: 1
+y2tlab_perp: 1
+y2tlab_size: 1.0
+yaxis_1: Statistic value (or ratio of statistic values)
+yaxis_2: ''
+ylab_align: 0.5
+ylab_offset: -2
+ylab_size: 1
+ylab_weight: 1
+ylim: []
+ytlab_horiz: 0.5
+ytlab_orient: 1
+ytlab_perp: 0.5
+ytlab_size: 1
+
+show_legend:
+# 0 for don't show, 1 to show
+  - 1
+  - 1
+  - 1
+
+
+# Default logging is ERROR and to stdout.  Omit the log_filename and log_level setting name and value if
+# to use default settings.
+log_filename: !ENV '${PLOT_OUTPUT_BASE}/spread_skill_ecnt.log'
+log_level: INFO
+
+# 0-value on the x-axis is to the far left.
+start_from_zero: False
diff --git a/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt.yaml b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt.yaml
new file mode 100755
index 000000000..a60bbdac2
--- /dev/null
+++ b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt.yaml
@@ -0,0 +1,23 @@
+# The REFORMAT_OUTPUT_BASE and REFORMAT_INPUT_BASE are defined in the
+# UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf file
+#
+
+# Indicates whether the .stat file input contains aggregated statistics (i.e. output from MET stat-analysis
+# has been applied to MET .stat output from point-stat, grid-stat, or ensemble-stat, or previously aggregated
+# via METcalcpy agg_stat). In this example, the input data is not aggregated.
+# Set this to False, ensuring the appropriate format for METcalcpy agg_stat.
+input_stats_aggregated: False
+output_dir: !ENV '${REFORMAT_OUTPUT_BASE}'
+output_filename: ensemble_stat_ecnt.data
+line_type: ECNT
+input_data_dir: !ENV '${REFORMAT_INPUT_BASE}'
+
+# !!! DO NOT modify the settings for the log_directory and log_filename.!!!
+# The METdataio METreformat code is expecting values for these settings even though the log
+# messages are in the METplus logfile.
+log_directory: !ENV '${REFORMAT_OUTPUT_BASE}'
+log_filename: 'ecnt_reformat.log'
+
+# Log levels are: INFO, DEBUG, WARNING, ERROR.
+# Set to INFO for most verbose, ERROR for least verbose.
+log_level: DEBUG
diff --git a/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt_linetype.py b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt_linetype.py
new file mode 100755
index 000000000..239458c1f
--- /dev/null
+++ b/parm/use_cases/model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot/reformat_ecnt_linetype.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python3
+
+
+import os
+import time
+import logging
+
+from METdbLoad.ush.read_data_files import ReadDataFiles
+from METdbLoad.ush.read_load_xml import XmlLoadFile
+from METreformat.write_stat_ascii import WriteStatAscii
+from metcalcpy.util import read_env_vars_in_config as readconfig
+
+
+logger = logging.getLogger(__name__)
+
+def main():
+
+    # Read in the YAML configuration file.  Environment variables in
+    # the configuration file are supported.
+    input_config_file = os.getenv("REFORMAT_YAML_CONFIG_NAME", "reformat_ecnt.yaml")
+    settings = readconfig.parse_config(input_config_file)
+    logging.info(settings)
+
+
+    # Replacing the need for an XML specification file, pass in the XMLLoadFile and
+    # ReadDataFile parameters
+    rdf_obj: ReadDataFiles = ReadDataFiles()
+    xml_loadfile_obj: XmlLoadFile = XmlLoadFile(None)
+
+    # Retrieve all the filenames in the data_dir specified in the YAML config file
+    load_files = xml_loadfile_obj.filenames_from_template(settings['input_data_dir'],
+                                                          {})
+
+    flags = xml_loadfile_obj.flags
+    line_types = xml_loadfile_obj.line_types
+    beg_read_data = time.perf_counter()
+    rdf_obj.read_data(flags, load_files, line_types)
+    end_read_data = time.perf_counter()
+    time_to_read = end_read_data - beg_read_data
+    logger.info("Time to read input .stat data files using METdbLoad: {time_to_read}")
+    file_df = rdf_obj.stat_data
+
+    # Check if the output file already exists, if so, delete it to avoid
+    # appending output from subsequent runs into the same file.
+    existing_output_file = os.path.join(settings['output_dir'], settings['output_filename'])
+    logger.info("Checking if {existing_output_file}  already exists")
+    if os.path.exists(existing_output_file):
+        logger.info("Removing existing output file {existing_output_file}")
+        os.remove(existing_output_file)
+
+    # Write stat file in ASCII format
+    stat_lines_obj: WriteStatAscii = WriteStatAscii(settings)
+    # stat_lines_obj.write_stat_ascii(file_df, parms, logger)
+    stat_lines_obj.write_stat_ascii(file_df, settings)
+
+
+if __name__ == "__main__":
+    main()

From 3d3c5e78d88801828732eb84b48a9110a5ac82a4 Mon Sep 17 00:00:00 2001
From: bikegeek <minnawin@ucar.edu>
Date: Wed, 7 Feb 2024 11:14:52 -0700
Subject: [PATCH 2/3] issue #2406 added usecase to tests

---
 .github/parm/use_case_groups.json          | 9 +++++++--
 internal/tests/use_cases/all_use_cases.txt | 1 +
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/.github/parm/use_case_groups.json b/.github/parm/use_case_groups.json
index db716d52c..5684f4f2c 100644
--- a/.github/parm/use_case_groups.json
+++ b/.github/parm/use_case_groups.json
@@ -61,12 +61,12 @@
   },
   {
     "category": "marine_and_cryosphere",
-    "index_list": "0-1",
+    "index_list": "0-2",
     "run": false
   },
   {
     "category": "marine_and_cryosphere",
-    "index_list": "2-5",
+    "index_list": "3-5",
     "run": false
   },
   {
@@ -264,6 +264,11 @@
     "index_list": "13",
     "run": false
   },
+  {
+    "category": "short_range",
+    "index_list": "14",
+    "run": false
+  },
   {
     "category": "space_weather",
     "index_list": "0-1",
diff --git a/internal/tests/use_cases/all_use_cases.txt b/internal/tests/use_cases/all_use_cases.txt
index 6bb6af4ef..f9241dea7 100644
--- a/internal/tests/use_cases/all_use_cases.txt
+++ b/internal/tests/use_cases/all_use_cases.txt
@@ -175,6 +175,7 @@ Category: short_range
 11::UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalProfile::model_applications/short_range/UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalProfile.conf:: metplotpy_env
 12::UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalCrossSection::model_applications/short_range/UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalCrossSection.conf:: metplotpy_env
 13::MODEMultivar_fcstHRRR_obsMRMS_HRRRanl::model_applications/short_range/MODEMultivar_fcstHRRR_obsMRMS_HRRRanl.conf
+14::UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot::model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf:: metdataio, mp_analysis_env
 
 
 Category: space_weather

From 60022a06834a53e32b5e30ea7ab67355f04ad320 Mon Sep 17 00:00:00 2001
From: bikegeek <minnawin@ucar.edu>
Date: Wed, 7 Feb 2024 12:02:20 -0700
Subject: [PATCH 3/3] Issue #2406 added metplotpy and metcalcpy as dependencies

---
 internal/tests/use_cases/all_use_cases.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/internal/tests/use_cases/all_use_cases.txt b/internal/tests/use_cases/all_use_cases.txt
index f9241dea7..658f73d3d 100644
--- a/internal/tests/use_cases/all_use_cases.txt
+++ b/internal/tests/use_cases/all_use_cases.txt
@@ -175,7 +175,7 @@ Category: short_range
 11::UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalProfile::model_applications/short_range/UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalProfile.conf:: metplotpy_env
 12::UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalCrossSection::model_applications/short_range/UserScript_fcstFV3_fcstOnly_PhysicsTendency_VerticalCrossSection.conf:: metplotpy_env
 13::MODEMultivar_fcstHRRR_obsMRMS_HRRRanl::model_applications/short_range/MODEMultivar_fcstHRRR_obsMRMS_HRRRanl.conf
-14::UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot::model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf:: metdataio, mp_analysis_env
+14::UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot::model_applications/short_range/UserScript_fcstRRFS_fcstOnly_Reformat_Aggregate_Plot.conf:: metdataio, metcalcpy, metplotpy,mp_analysis_env
 
 
 Category: space_weather