Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[develop] Make get_obs tasks day-dependent in workflow; other improvements and bug fixes #1137

Open
wants to merge 134 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
e97a46c
Bug fix to support the %H format in METplus via printf.
gsketefian Jul 9, 2024
815c941
Bug fix to the bug fix!
gsketefian Jul 9, 2024
bc85480
Bug fix from Michelle H. for prepbufr files: "On May 22, the name of …
gsketefian Jul 11, 2024
81d61b8
Bug fix for removing phantom 00-hour tasks from workflow. Bug found …
gsketefian Jul 11, 2024
35530ab
Bug fix: Append cycle date to names of deterministic GridStat and Po…
gsketefian Jul 16, 2024
6c548ce
Version of ex-script for pulling obs that works for multiple overlapp…
gsketefian Jul 16, 2024
307f92e
Changes to make get_obs_mrms tasks to work for mulitple cycles and wi…
gsketefian Jul 17, 2024
be54216
Minor improvement for consistency.
gsketefian Jul 18, 2024
af2ab4c
New version of CCPA obs fetching (rename variables, include lots more…
gsketefian Jul 19, 2024
85c3d58
Minor changes to ccpa section.
gsketefian Jul 19, 2024
b7c6f00
Changes for MRMS.
gsketefian Jul 19, 2024
2bc8ed1
Clean up comments in the MRMS section.
gsketefian Jul 19, 2024
1845342
Minor fixes to NDAS section.
gsketefian Jul 20, 2024
8c38c19
Change names of raw directories for CCPA and MRMS to indicate whether…
gsketefian Jul 20, 2024
7f53187
Version with NDAS changes that seems to work. Still need lots of cle…
gsketefian Jul 20, 2024
7926705
Second set of NDAS changes so that there are no repeat pulls of NDAS …
gsketefian Jul 21, 2024
f8c3ec6
Clean up NDAS section in get_obs_... ex-script.
gsketefian Jul 22, 2024
df07f82
Merge branch 'develop' into bugfix/vx_bundle
gsketefian Jul 22, 2024
bc276fe
Add debugging statement to clarify the current working directory wher…
gsketefian Jul 23, 2024
fe50a5d
Add code to cause the script to wait until all the (processed) obs fi…
gsketefian Jul 25, 2024
dc4971d
Fix the workflow task dependencies and ex-script for the GenEnsProd a…
gsketefian Jul 25, 2024
13aba39
Bug fixes after running WE2E vx suite.
gsketefian Jul 25, 2024
860f62e
Bugfix to dependencies of ensemble vx tasks that come after GenEnsPro…
gsketefian Jul 25, 2024
e54ec16
Bug fixes to get all WE2E vx tests to succeed.
gsketefian Jul 26, 2024
8e8a1c1
Increase default wallclock time for get_obs_ccpa tasks since they're …
gsketefian Jul 28, 2024
a34d993
For each cycle except the last one, in the PcpCombine_obs tasks make …
gsketefian Jul 28, 2024
5550a41
Bug fix in yaml.
gsketefian Jul 28, 2024
c76ed1a
Fix still-existing problem of file clobbering with get_obs_mrms and p…
gsketefian Jul 29, 2024
3f1dea1
Improvements to jinja2 code to put in dependencies from other cycles.
gsketefian Jul 29, 2024
53dd688
Bug fix.
gsketefian Jul 30, 2024
f9af954
Minor typo fix.
gsketefian Aug 15, 2024
f81cd1c
Add workflow configuration options for whether or not to remove raw o…
gsketefian Aug 15, 2024
01e87b8
Make the names of the deterministic and ensemble vx configuration fil…
gsketefian Aug 16, 2024
21f7b69
Add new files.
gsketefian Aug 26, 2024
e14b1b8
Bug fixes to get_obs_... tasks.
gsketefian Sep 3, 2024
609b4e9
Change paths to archive files to make retrieve_data.py work with new …
gsketefian Sep 3, 2024
ed6b677
Move most of the code for getting obs files out of the ex-script exre…
gsketefian Sep 3, 2024
2ee3a46
Add ceil.sh to the set of scripts/functions that are sourced by sourc…
gsketefian Sep 3, 2024
d60f651
Changes to reflect the fact that the output of PcpCombine_obs tasks n…
gsketefian Sep 3, 2024
009666f
Simplify names of some variables; add variable for where workflow tas…
gsketefian Sep 3, 2024
1622c0e
Add file accidentally left out of commit two hashes ago.
gsketefian Sep 4, 2024
9a26289
Modifications to exregional_run_met_pb2nc_obs.sh so that the correspo…
gsketefian Sep 4, 2024
e8a6f7d
Move sections of WE2E yaml files around to be consistent with the ord…
gsketefian Sep 4, 2024
a3c8c4d
Changes to workflow yaml files for vx portion of the workflow in orde…
gsketefian Sep 4, 2024
c774e40
Add code to be able to generate forecast output times and obs days, b…
gsketefian Sep 5, 2024
7bb8b1f
Fix bug in the way the start time of the second cycle is calculated.
gsketefian Sep 5, 2024
ef6aafe
Rename script for clarity.
gsketefian Sep 5, 2024
99246f2
Allow use of dots in WE2E test names.
gsketefian Sep 8, 2024
f1d2c29
Remove extraneous "proc" subdirectory in default obs directories.
gsketefian Sep 8, 2024
5945b02
Comment out "set -x".
gsketefian Sep 8, 2024
b20f2c9
Add WE2E test configuration files for getting obs, doing vx pre-proce…
gsketefian Sep 8, 2024
e3b1f6f
Rename files.
gsketefian Sep 9, 2024
616aa00
Merge branch 'develop' into feature/daily_obs_tasks
gsketefian Sep 9, 2024
2725832
Bug fixes after merging in develop.
gsketefian Sep 9, 2024
c38e981
Bug fixes to use new yaml version of var_defns.sh.
gsketefian Sep 9, 2024
d8cb3a0
Bug fix to remove crontab line once experiment is complete (regardles…
gsketefian Sep 10, 2024
f7b77fd
Use SRW's standard way of doing boolean comparisons in bash.
gsketefian Sep 10, 2024
6425b82
Make script more compact.
gsketefian Sep 10, 2024
24c8c59
Bug fixes.
gsketefian Sep 10, 2024
2622f8b
Get REMOVE_RAW_OBS... variables directly from var_defns.yaml file ins…
gsketefian Sep 10, 2024
2a37998
Minor fixes to comments and output messages.
gsketefian Sep 11, 2024
5160d3c
Fix typos.
gsketefian Sep 12, 2024
f910f6f
Fix more typos.
gsketefian Sep 12, 2024
aa7188b
Fix up comments.
gsketefian Sep 13, 2024
3c794f2
Add new function and clean up existing.
gsketefian Sep 16, 2024
ef1cbbb
Change variable names and remove unneeded variable.
gsketefian Sep 16, 2024
2d75113
Fix location of staged forecast input files.
gsketefian Sep 16, 2024
830a635
Add check in setup.py to make sure that the accumulation periods of a…
gsketefian Sep 17, 2024
407c51b
Fix typo.
gsketefian Sep 20, 2024
e3de6e1
Fix typo.
gsketefian Sep 20, 2024
fc7e257
Changes to allow NOHRSC obs and ASNOW to be accumulated by PcpCombine…
gsketefian Sep 25, 2024
7532544
Changes to get_obs/vx WE2E tests to get them working with staged fore…
gsketefian Sep 25, 2024
877bf05
Add WE2E test to get NOHRSC obs and do vx on 6-hour and 24-hour snowf…
gsketefian Sep 25, 2024
4495813
Add script to get NOHRSC obs from HPSS.
gsketefian Sep 25, 2024
80f2a12
Add new variables specifying the time intervals at which different ty…
gsketefian Sep 25, 2024
a0a938c
Rearrange the settings for the forecast file templates in config_defa…
gsketefian Sep 25, 2024
6922555
Allow verification of 12 and 18-hourly accumulated snowfall since the…
gsketefian Sep 25, 2024
cae50b5
In Pb2NC tasks, use the arrays in var_defns.py that specify the times…
gsketefian Sep 25, 2024
fffdbd3
In the get_obs tasks, use the arrays in var_defns.py that specify the…
gsketefian Sep 25, 2024
31a529c
Add file (exregional_run_met_pb2nc_obs.sh) that should have been part…
gsketefian Sep 25, 2024
f77d314
Commit change that should have been part of commit hash fffdbd3.
gsketefian Sep 25, 2024
99a87f9
Refactor the way the vx lead hours (i.e. the hours for which vx will …
gsketefian Sep 26, 2024
da81dbb
Modify variable names for clarity.
gsketefian Sep 26, 2024
fb3e7f4
Check for the form of accum_hh (accumulation) only if it's going to b…
gsketefian Sep 27, 2024
8f043fc
Changes that allow checks on the verification parameters and generati…
gsketefian Sep 27, 2024
ab1332d
Bug fixes.
gsketefian Sep 28, 2024
d50b4a0
Change name of cycledefs for obs days as was done in other files (pyt…
gsketefian Sep 28, 2024
5b5e71f
Increase walltime for PcpCombine_fcst tasks since some WE2E tests are…
gsketefian Sep 28, 2024
2abd9df
Remove unneeded environment variables from some tasks.
gsketefian Sep 28, 2024
97f0a9c
Bug fix for PcpCombine path.
gsketefian Sep 28, 2024
1c20ad4
Modify metatask and task names for clarity; fix paths; add pcpcombine…
gsketefian Sep 28, 2024
057ba70
Make adjustments to ASNOW settings to account for the fact that for A…
gsketefian Sep 29, 2024
abf2014
Clarify informational message.
gsketefian Oct 1, 2024
8937a8c
Comment out debugging lines to reduce clutter.
gsketefian Oct 1, 2024
841e141
Ensure that the observation file name templates specified in the SRW …
gsketefian Oct 2, 2024
2e6299f
Add argument to mrms_pull_topofhour.py that specifies whether a subdi…
gsketefian Oct 2, 2024
8eed4a2
When retrieving files from different data stores (e.g. NOAA's HPSS), …
gsketefian Oct 2, 2024
2357cd3
Fix bug introduced in previous set of changes.
gsketefian Oct 3, 2024
f36a866
Modify existing vx WE2E test so it is able to find the staged NOHRSC …
gsketefian Oct 3, 2024
6ba2596
Bug fix.
gsketefian Oct 6, 2024
e3a05bf
Change config variable name for clarity.
gsketefian Oct 6, 2024
84c54ba
Use new python script to get any of the allowed kinds of obs instead …
gsketefian Oct 6, 2024
7d68405
Clean up and clarify comments; calculate list of processed obs file p…
gsketefian Oct 7, 2024
2b4c956
Minor cleanup.
gsketefian Oct 7, 2024
a35f240
Remove unneeded environment variables.
gsketefian Oct 7, 2024
9d7c047
Move the two sets of variables [CCPA|NOHRSC|MRMS|NDAS]_OBS_DIR and RE…
gsketefian Oct 7, 2024
9ac85a3
Fixes to WE2E test config files to reflect moving of variables from "…
gsketefian Oct 7, 2024
55dca0f
Merge branch 'develop' into feature/daily_obs_tasks
gsketefian Oct 8, 2024
09f8531
Fix bug found in latest develop branch.
gsketefian Oct 8, 2024
b43a9d2
Fix up documentation and comments. Minor code changes.
gsketefian Oct 8, 2024
50729f5
Bug fix.
gsketefian Oct 8, 2024
6012843
Remove commented-out lines; remove trailing whitespace.
gsketefian Oct 8, 2024
1c924a8
Remove unnecessary bash utility function.
gsketefian Oct 8, 2024
9435f7f
Clean up comments, remove commented-out code.
gsketefian Oct 8, 2024
2218ca4
Remove unneeded variable from task.
gsketefian Oct 8, 2024
ee5566b
Fix typo.
gsketefian Oct 9, 2024
befe769
Fix typo.
gsketefian Oct 9, 2024
6dd8e20
Modify old test for set_cycle_dates to fit new version of this functi…
gsketefian Oct 10, 2024
03d2ab6
First attempt at modifying documentation to see if I can view it in t…
gsketefian Oct 10, 2024
c0a841e
Bug fix.
gsketefian Oct 11, 2024
d348572
Fix up comments.
gsketefian Oct 11, 2024
2814069
In config.community.yaml, move [CCPA|MRMS|NDAS]_OBS_DIR variables fro…
gsketefian Oct 11, 2024
52ebd99
Bug fix: the get_obs_nohrsc tasks need to be based on obs days for cu…
gsketefian Oct 15, 2024
42c3d6c
Add logging statements when exceptions occur; fix comments and code i…
gsketefian Oct 16, 2024
5a6da53
Minor moving of config variable.
gsketefian Oct 18, 2024
7dc7db3
Add new parameter VX_FCST_OUTPUT_INTVL_HRS into config_defaults.yaml …
gsketefian Oct 9, 2024
57fcbc6
Change arguments so the cycle start times don't need to be called mul…
gsketefian Oct 16, 2024
a3a7996
Further changes to avoid calling the function that calculates the cyc…
gsketefian Oct 16, 2024
2685e37
Remove trailing whitespace.
gsketefian Oct 18, 2024
dbcbcaf
Remove trailing whitespace.
gsketefian Oct 18, 2024
7545d25
In order for the temporal consistency checks on various vx parameters…
gsketefian Oct 16, 2024
21374ca
Remove debugging code and add a blank line.
gsketefian Oct 18, 2024
5401569
Drop the "_NDAS" and "_ndas" suffixes from pb2nc tasks since prepbufr…
gsketefian Oct 20, 2024
88e48e2
Modifications to address Mike K's PR review comments.
gsketefian Oct 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 43 additions & 42 deletions doc/UsersGuide/CustomizingTheWorkflow/ConfigWorkflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -168,48 +168,6 @@ These settings define platform-specific run commands. Users should set run comma
``PRE_TASK_CMDS``: (Default: "")
Pre-task commands such as ``ulimit`` needed by tasks. For example: ``'{ ulimit -s unlimited; ulimit -a; }'``

METplus Parameters
----------------------

:ref:`METplus <MetplusComponent>` is a scientific verification framework that spans a wide range of temporal and spatial scales. Many of the METplus parameters are described below, but additional documentation for the METplus components is available on the `METplus website <https://dtcenter.org/community-code/metplus>`__.

.. _METParamNote:

.. note::
Where a date field is required:
* ``YYYY`` refers to the 4-digit valid year
* ``MM`` refers to the 2-digit valid month
* ``DD`` refers to the 2-digit valid day of the month
* ``HH`` refers to the 2-digit valid hour of the day
* ``mm`` refers to the 2-digit valid minutes of the hour
* ``SS`` refers to the two-digit valid seconds of the hour

``CCPA_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/ccpa/proc"``)
User-specified location of the directory where :term:`CCPA` hourly precipitation files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in file ``scripts/exregional_get_verif_obs.sh`` for more details about files and directory structure, as well as important caveats about errors in the metadata and file names.

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

``NOHRSC_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/nohrsc/proc"``)
User-specified location of top-level directory where NOHRSC 6- and 24-hour snowfall accumulation files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in file scripts/exregional_get_verif_obs.sh for more details about files and directory structure

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

.. note::
Due to limited availability of NOHRSC observation data on NOAA :term:`HPSS` and the likelihood that snowfall accumulation verification will not be desired outside of winter cases, this verification option is currently not present in the workflow by default. In order to use it, the verification environment variable ``VX_FIELDS`` should be updated to include ``ASNOW``. This will allow the related workflow tasks to be run.

``MRMS_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/mrms/proc"``)
User-specified location of the directory where :term:`MRMS` composite reflectivity and echo top files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in the ``scripts/exregional_get_verif_obs.sh`` for more details about files and directory structure.

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

``NDAS_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/ndas/proc"``)
User-specified location of top-level directory where :term:`NDAS` prepbufr files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in file ``scripts/exregional_get_verif_obs.sh`` for more details about files and directory structure.

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

Other Platform-Specific Directories
--------------------------------------
Expand Down Expand Up @@ -1635,6 +1593,49 @@ General Verification Parameters
``METPLUS_VERBOSITY_LEVEL``: (Default: ``2``)
Logging verbosity level used by METplus verification tools. Valid values: 0 to 5, with 0 quiet and 5 loud.

METplus Parameters
----------------------

:ref:`METplus <MetplusComponent>` is a scientific verification framework that spans a wide range of temporal and spatial scales. Many of the METplus parameters are described below, but additional documentation for the METplus components is available on the `METplus website <https://dtcenter.org/community-code/metplus>`__.

.. _METParamNote:

.. note::
Where a date field is required:
* ``YYYY`` refers to the 4-digit valid year
* ``MM`` refers to the 2-digit valid month
* ``DD`` refers to the 2-digit valid day of the month
* ``HH`` refers to the 2-digit valid hour of the day
* ``mm`` refers to the 2-digit valid minutes of the hour
* ``SS`` refers to the two-digit valid seconds of the hour

``CCPA_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/ccpa/proc"``)
User-specified location of the directory where :term:`CCPA` hourly precipitation files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in file ``scripts/exregional_get_verif_obs.sh`` for more details about files and directory structure, as well as important caveats about errors in the metadata and file names.

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

``NOHRSC_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/nohrsc/proc"``)
User-specified location of top-level directory where NOHRSC 6- and 24-hour snowfall accumulation files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in file scripts/exregional_get_verif_obs.sh for more details about files and directory structure

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

.. note::
Due to limited availability of NOHRSC observation data on NOAA :term:`HPSS` and the likelihood that snowfall accumulation verification will not be desired outside of winter cases, this verification option is currently not present in the workflow by default. In order to use it, the verification environment variable ``VX_FIELDS`` should be updated to include ``ASNOW``. This will allow the related workflow tasks to be run.

``MRMS_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/mrms/proc"``)
User-specified location of the directory where :term:`MRMS` composite reflectivity and echo top files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in the ``scripts/exregional_get_verif_obs.sh`` for more details about files and directory structure.

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

``NDAS_OBS_DIR``: (Default: ``"{{ workflow.EXPTDIR }}/obs_data/ndas/proc"``)
User-specified location of top-level directory where :term:`NDAS` prepbufr files used by METplus are located (or, if retrieved by the workflow, where they will be placed). See comments in file ``scripts/exregional_get_verif_obs.sh`` for more details about files and directory structure.

.. attention::
Do not set this to the same path as other ``*_OBS_DIR`` variables; otherwise unexpected results and data loss may occur.

Templates for Observation Files
---------------------------------

Expand Down
1 change: 0 additions & 1 deletion jobs/JREGIONAL_GET_VERIF_OBS
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ This is the J-job script for the task that checks, pulls, and stages
observation data for verification purposes.
========================================================================"

#
#
#-----------------------------------------------------------------------
#
Expand Down
11 changes: 5 additions & 6 deletions parm/data_locations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -319,18 +319,15 @@ CCPA_obs:
- /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyy}{mm}/{yyyy}{mm}{dd}
- /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyy}{mm}/{yyyy}{mm}{dd}
archive_internal_dir:
- "./00"
- "./06"
- "./12"
- "./18"
- "./{hh}"
archive_file_names:
- "com2_ccpa_prod_ccpa.{yyyy}{mm}{dd}.tar"
- "gpfs_dell1_nco_ops_com_ccpa_prod_ccpa.{yyyy}{mm}{dd}.tar"
- "com_ccpa_prod_ccpa.{yyyy}{mm}{dd}.tar"
- "com_ccpa_v4.2_ccpa.{yyyy}{mm}{dd}.tar"
file_names:
obs:
- "ccpa.t{hh}z.01h.hrap.conus.gb2"
- "ccpa.t*z.01h.hrap.conus.gb2"

MRMS_obs:
hpss:
Expand Down Expand Up @@ -365,11 +362,13 @@ NDAS_obs:
- /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyy}{mm}/{yyyy}{mm}{dd}
- /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyy}{mm}/{yyyy}{mm}{dd}
- /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyy}{mm}/{yyyy}{mm}{dd}
- /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyy}{mm}/{yyyy}{mm}{dd}
archive_file_names:
- "com2_nam_prod_nam.{yyyy}{mm}{dd}{hh}.bufr.tar"
- "gpfs_dell1_nco_ops_com_nam_prod_nam.{yyyy}{mm}{dd}{hh}.bufr.tar"
- "com_nam_prod_nam.{yyyy}{mm}{dd}{hh}.bufr.tar"
- "com_obsproc_v1.1_nam.{yyyy}{mm}{dd}{hh}.bufr.tar"
- "com_obsproc_v1.2_nam.{yyyy}{mm}{dd}{hh}.bufr.tar"
file_names:
obs:
- "./nam.t{hh}z.prepbufr.tm*.nr"
Expand All @@ -386,6 +385,6 @@ NOHRSC_obs:
- "dcom_{yyyy}{mm}{dd}.tar"
file_names:
obs:
- "sfav2_CONUS_*h_{yyyy}{mm}{dd}{hh}_grid184.grb2"
- "sfav2_CONUS_6h_{yyyy}{mm}{dd}*_grid184.grb2"
MichaelLueken marked this conversation as resolved.
Show resolved Hide resolved
archive_internal_dir:
- ./wgrbbul/nohrsc_snowfall/
11 changes: 2 additions & 9 deletions parm/metplus/EnsembleStat.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}
#
# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down Expand Up @@ -516,15 +516,8 @@ PcpCombine tool. In that file, the field name consists of the observation
field name here (field_obs) with the accumulation period appended to it
(separated by an underscore), so we must do the same here to get an exact
match.

Note:
Turns out for ASNOW, PcpCombine is not run for obs, so we exclude that
from the "if" clause here (so it goes into the "else"). For workflow
behavior uniformity between APCP and ASNOW, consider running PcpCombine
for ASNOW observations as well (just as it's run for APCP observations).
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
#}
{%- if (input_field_group in ['APCP']) %}
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}_{{accum_hh}}
{%- else %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/GenEnsProd.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}
#
# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down
11 changes: 2 additions & 9 deletions parm/metplus/GridStat_ensmean.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}
#
# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down Expand Up @@ -400,15 +400,8 @@ PcpCombine tool. In that file, the field name consists of the observation
field name here (field_obs) with the accumulation period appended to it
(separated by an underscore), so we must do the same here to get an exact
match.

Note:
Turns out for ASNOW, PcpCombine is not run for obs, so we exclude that
from the "if" clause here (so it goes into the "else"). For workflow
behavior uniformity between APCP and ASNOW, consider running PcpCombine
for ASNOW observations as well (just as it's run for APCP observations).
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
#}
{%- if (input_field_group in ['APCP']) %}
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}_{{accum_hh}}
{%- else %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}
Expand Down
11 changes: 2 additions & 9 deletions parm/metplus/GridStat_ensprob.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}
#
# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down Expand Up @@ -354,15 +354,8 @@ PcpCombine tool. In that file, the field name consists of the observation
field name here (field_obs) with the accumulation period appended to it
(separated by an underscore), so we must do the same here to get an exact
match.

Note:
Turns out for ASNOW, PcpCombine is not run for obs, so we exclude that
from the "if" clause here (so it goes into the "else"). For workflow
behavior uniformity between APCP and ASNOW, consider running PcpCombine
for ASNOW observations as well (just as it's run for APCP observations).
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
#}
{%- if (input_field_group in ['APCP']) %}
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}_{{accum_hh}}
{%- else %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}
Expand Down
13 changes: 3 additions & 10 deletions parm/metplus/GridStat_or_PointStat.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}
#
# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down Expand Up @@ -93,7 +93,7 @@ METPLUS_CONF = {{ '{' ~ METPLUS_TOOL_NAME ~ '_OUTPUT_DIR}' }}/metplus_final.{{me

{%- if (METPLUS_TOOL_NAME == 'GRID_STAT') %}

{%- if (input_field_group == 'APCP') %}
{%- if input_field_group in ['APCP', 'ASNOW'] %}

#{{METPLUS_TOOL_NAME}}_INTERP_FIELD = BOTH
#{{METPLUS_TOOL_NAME}}_INTERP_VLD_THRESH = 1.0
Expand Down Expand Up @@ -539,15 +539,8 @@ PcpCombine tool. In that file, the field name consists of the observation
field name here (field_obs) with the accumulation period appended to it
(separated by an underscore), so we must do the same here to get an exact
match.

Note:
Turns out for ASNOW, PcpCombine is not run for obs, so we exclude that
from the "if" clause here (so it goes into the "else"). For workflow
behavior uniformity between APCP and ASNOW, consider running PcpCombine
for ASNOW observations as well (just as it's run for APCP observations).
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
#}
{%- if (input_field_group in ['APCP']) %}
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}_{{accum_hh}}
{%- else %}
OBS_VAR{{ns.var_count}}_NAME = {{field_obs}}
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/Pb2nc_obs.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{leadhr_list}}

# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down
37 changes: 23 additions & 14 deletions parm/metplus/PcpCombine.conf
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}

# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down Expand Up @@ -79,17 +79,26 @@ FCST_PCP_COMBINE_RUN = False
#
{{FCST_OR_OBS}}_PCP_COMBINE_METHOD = ADD

{%- if (FCST_OR_OBS == 'FCST') and (input_field_group == 'ASNOW') %}
{%- if (FCST_OR_OBS == 'FCST') %}
{%- if (input_field_group == 'ASNOW') %}
#
# Specify name of variable for Snowfall Accumulation.
# NOTE: Currently TSNOWP is used which is a constant-density estimate of snowfall accumulation.
# In future RRFS development, a GSL product with variable-density snowfall accumulation
# is planned for UPP. When that is included and turned on in post, this variable may be changed
# to ASNOW.
#
FCST_PCP_COMBINE_INPUT_NAMES = TSNOWP

FCST_PCP_COMBINE_INPUT_LEVELS = A01
# NOTE:
# For forecasts, currently TSNOWP is used which is a constant-density
# estimate of snowfall accumulation. In future RRFS development, a GSL
# product with variable-density snowfall accumulation is planned for UPP.
# When that is included and turned on in post, this variable may be
# changed to ASNOW.
#
{{FCST_OR_OBS}}_PCP_COMBINE_INPUT_NAMES = TSNOWP
{{FCST_OR_OBS}}_PCP_COMBINE_INPUT_LEVELS = A{{input_accum_hh}}
{%- endif %}
{%- elif (FCST_OR_OBS == 'OBS') %}
{%- if (input_field_group == 'ASNOW') %}
{{FCST_OR_OBS}}_PCP_COMBINE_INPUT_NAMES = ASNOW
{{FCST_OR_OBS}}_PCP_COMBINE_INPUT_LEVELS = A{{input_accum_hh}}
{%- endif %}
{%- endif %}
#
# Specify how to name the array in the NetCDF file that PcpCombine
Expand All @@ -98,7 +107,7 @@ FCST_PCP_COMBINE_INPUT_LEVELS = A01
# For accumulation variables (which is the only type of variable that we
# run PcpCombine on), we add the accumulation period to the variable name
# because this is how METplus normally sets names. This is because,
# epending on the settings in the METplus configuration file, it is
# depending on the settings in the METplus configuration file, it is
# possible for a single NetCDF output file to contain output for multiple
# accumulations, so even though the "level" attribute of each accumulation
# variable in the output file will contain the level (e.g. "A1" or "A3"),
Expand All @@ -110,18 +119,18 @@ FCST_PCP_COMBINE_INPUT_LEVELS = A01
# the output NetCDF file).
#
{%- if (input_field_group in ['APCP', 'ASNOW']) %}
{{FCST_OR_OBS}}_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}}_{{accum_hh}}
{{FCST_OR_OBS}}_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}}_{{output_accum_hh}}
{%- else %}
{{FCST_OR_OBS}}_PCP_COMBINE_OUTPUT_NAME = {{fieldname_in_met_output}}
{%- endif %}
#
# Accumulation interval available in the input data.
#
{{FCST_OR_OBS}}_PCP_COMBINE_INPUT_ACCUMS = 01
{{FCST_OR_OBS}}_PCP_COMBINE_INPUT_ACCUMS = {{input_accum_hh}}
#
# Accumulation interval to generate in the output file.
#
{{FCST_OR_OBS}}_PCP_COMBINE_OUTPUT_ACCUM = {{accum_hh}}
{{FCST_OR_OBS}}_PCP_COMBINE_OUTPUT_ACCUM = {{output_accum_hh}}
#
# If the output NetCDF file already exists, specify whether or not to
# skip the call to PcpCombine.
Expand Down Expand Up @@ -177,7 +186,7 @@ FCST_PCP_COMBINE_CONSTANT_INIT = True
#
# Name to identify observation data in output.
#
OBTYPE = CCPA
OBTYPE = {{obtype}}
{%- endif %}
#
# Specify file type of input data.
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/PointStat_ensmean.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}
#
# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/PointStat_ensprob.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ INIT_INCREMENT = 3600
# List of forecast leads to process for each run time (init or valid)
# In hours if units are not specified
# If unset, defaults to 0 (don't loop through forecast leads)
LEAD_SEQ = {{fhr_list}}
LEAD_SEQ = {{vx_leadhr_list}}
#
# Order of loops to process data - Options are times, processes
# Not relevant if only one item is in the PROCESS_LIST
Expand Down
1 change: 1 addition & 0 deletions parm/metplus/vx_config_det.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ APCP:
ASNOW:
ASNOW:
A6: ['gt0.0', 'ge2.54', 'ge5.08', 'ge10.16', 'ge20.32']
A24: ['gt0.0', 'ge2.54', 'ge10.16', 'ge20.32', 'ge30.48']
REFC:
REFC%%MergedReflectivityQCComposite:
L0%%Z500: ['ge20', 'ge30', 'ge40', 'ge50']
Expand Down
1 change: 1 addition & 0 deletions parm/metplus/vx_config_ens.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ APCP:
ASNOW:
ASNOW:
A6: ['gt0.0', 'ge2.54', 'ge5.08', 'ge10.16', 'ge20.32']
A24: ['gt0.0', 'ge2.54', 'ge10.16', 'ge20.32', 'ge30.48']
REFC:
REFC%%MergedReflectivityQCComposite:
L0%%Z500: ['ge20', 'ge30', 'ge40', 'ge50']
Expand Down
Loading
Loading