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

Merged
merged 219 commits into from
Nov 18, 2024
Merged
Show file tree
Hide file tree
Changes from 218 commits
Commits
Show all changes
219 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
eb06d42
Additional mods for Mike K.'s PR review.
gsketefian Oct 22, 2024
4f6bdda
Additional mods for Mike K.'s PR review.
gsketefian Oct 22, 2024
105d1d8
Change name of App variable VX_FIELDS to VX_FIELD_GROUPS to more corr…
gsketefian Oct 23, 2024
3817033
Rename and reformat the App variables containing METplus templates fo…
gsketefian Oct 24, 2024
c1bfb8f
Fix comments.
gsketefian Oct 24, 2024
95a372c
Add a check to make sure obs base directories are distinct for the va…
gsketefian Oct 24, 2024
e47cfe6
(1) Reorganize verification section in config_defaults.yaml so that p…
gsketefian Oct 27, 2024
fd635cb
Refactor some bash to python, import filename templating directly fro…
mkavulich Oct 28, 2024
53cdfd1
Merge remote-tracking branch 'origin/feature/daily_obs_tasks' into fe…
gsketefian Oct 28, 2024
b84a902
Merge remote-tracking branch 'origin/feature/daily_obs_tasks' into fe…
gsketefian Oct 28, 2024
f3d21bd
Minor modifications to Mike's PR changes.
gsketefian Oct 28, 2024
a76e154
Merge remote-tracking branch 'origin/feature/daily_obs_tasks' into fe…
gsketefian Oct 28, 2024
879fd98
Bug fixes to the merge.
gsketefian Oct 28, 2024
476eb15
First shot at modifications to enable variable forecast output interv…
gsketefian Oct 29, 2024
fcc7b1b
Introduce flag that specifies whether or not vx tasks are being run i…
gsketefian Oct 29, 2024
2213e93
Add WE2E tests for AI/ML models (FourCastNet, GraphCast, and PanguWea…
gsketefian Oct 29, 2024
51972ef
Move vx configuration files, both the defaults and the custom ones us…
gsketefian Oct 30, 2024
36b647f
Add the 12 new WE2E vx tests to the various test suites.
gsketefian Oct 30, 2024
f426302
Rename vx tasks, metatasks, and variables and update documentation. …
gsketefian Nov 2, 2024
522c573
Changes from the feature/daily_obs_tasks_doc_mods that were accidenta…
gsketefian Nov 3, 2024
2c8b015
Move the 4 new WE2E vx tests that were recently added to coverage.jet…
gsketefian Nov 3, 2024
f139889
Bug fix related to removing "ADP" from "ADPSFC" and "ADPUPA".
gsketefian Nov 3, 2024
3ef4e81
Bug fixes.
gsketefian Nov 3, 2024
1fce827
Address Mike K.'s comment.
gsketefian Nov 3, 2024
5a5ae15
Merge branch 'develop' into feature/daily_obs_tasks
gsketefian Nov 3, 2024
22cdd37
Bug fixes related to (meta)task name and variable name changes.
gsketefian Nov 3, 2024
cc7dcdd
Bug fix in METplus conf templates to account for the field group name…
gsketefian Nov 4, 2024
dc91a69
Bug fix in vx configuration files to account for the field group name…
gsketefian Nov 4, 2024
8eb38f2
Fix typo.
gsketefian Nov 4, 2024
8caae0a
Bug fix in ex-script and an auxiliary bash script to account for the …
gsketefian Nov 4, 2024
f0ccb78
Fix typo.
gsketefian Nov 4, 2024
f1bd90a
Bug fix: For ensemble vx tasks, add omitted cycle dates to the end of…
gsketefian Nov 4, 2024
ddf1a55
Modify ensemble vx task and metatask names to match those for determi…
gsketefian Nov 4, 2024
9dcec55
Minor fixes to code comments.
gsketefian Nov 4, 2024
81bd5b3
Bug fixe for ensemble vx of ASNOW related to (meta)task name changes.
gsketefian Nov 4, 2024
46af6f7
Updates to docs.
gsketefian Nov 4, 2024
ed42f48
Merge branch 'develop' into feature/daily_obs_tasks
gsketefian Nov 4, 2024
1b5d35a
Merge remote-tracking branch 'refs/remotes/origin/feature/daily_obs_t…
gsketefian Nov 4, 2024
4484bc0
Get minor changes from the feature/daily_obs_tasks_doc_mods branch.
gsketefian Nov 4, 2024
3ddc95c
Update documentation on how to run the verification capabilities in t…
gsketefian Nov 7, 2024
9a61ca3
Change locations of staged forecast and obs files to cleaned-up direc…
gsketefian Nov 8, 2024
94bf72e
Change locations of staged forecast and obs files in the new vx WE2E …
gsketefian Nov 8, 2024
6c4d679
Set the locations of the staging directories for WE2E testing to pers…
gsketefian Nov 8, 2024
74738af
Change forecast and obs staging locations for WE2E tests to EPIC's di…
gsketefian Nov 12, 2024
858b43d
Bug fixes to get the AI/ML and GFS tests to work with data staged at …
gsketefian Nov 12, 2024
7b7f161
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
c0726d6
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
ca93bba
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
708f96d
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
3fa1fb8
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
f6962f7
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
678b23e
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
ed72caa
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
ef6d729
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
3f5d16c
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
4b84cbc
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
91367a2
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
f140a77
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
2504e05
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
8de3a05
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
5ccf454
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
75d2520
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
1647133
Change wallclock time for GenEnsProd task for SFC and UPA field group…
gsketefian Nov 13, 2024
62dad3a
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
06c1405
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
0724a01
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
cd6d762
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
790434c
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
c1d02d5
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
c459215
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
b0772f9
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
0309c68
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
6b88fff
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
9bff39b
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
d2f31cb
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 13, 2024
d878ecd
Merge branch 'develop' into feature/daily_obs_tasks
gsketefian Nov 13, 2024
9c6f914
Merge remote-tracking branch 'refs/remotes/origin/feature/daily_obs_t…
gsketefian Nov 13, 2024
f715f44
Add new terms to glossary.
gsketefian Nov 14, 2024
6b1cef9
Remove rst file in TechDocs for a non-existent python script.
gsketefian Nov 14, 2024
8a3545b
Update list of modules to be included in the tech docs (the rst file …
gsketefian Nov 14, 2024
c092798
Bug fix: Change :ref: to :term: to reference the definition of DTC i…
gsketefian Nov 14, 2024
3d0bd5c
Fix indentation for argument and return value lists in the docstrings…
gsketefian Nov 14, 2024
7b8bc8d
Define METPLUS_ROOT in the Makefile for the docs.
gsketefian Nov 14, 2024
3ca5387
Include "metplus" in autodoc_mock_imports list in the configuration f…
gsketefian Nov 15, 2024
72de59d
Update doc/UsersGuide/BuildingRunningTesting/RunSRW.rst
gsketefian Nov 18, 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
2 changes: 1 addition & 1 deletion doc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ linkcheck:
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).

%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) -w $(BUILDDIR)/warnings.log
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) -w $(BUILDDIR)/warnings.log
7 changes: 7 additions & 0 deletions doc/TechDocs/ush/eval_metplus_timestr_tmpl.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
eval\_metplus\_timestr\_tmpl module
===================================

.. automodule:: eval_metplus_timestr_tmpl
:members:
:undoc-members:
:show-inheritance:
7 changes: 7 additions & 0 deletions doc/TechDocs/ush/get_obs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
get\_obs module
===============

.. automodule:: get_obs
:members:
:undoc-members:
:show-inheritance:
5 changes: 4 additions & 1 deletion doc/TechDocs/ush/modules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,21 @@ ush
create_diag_table_file
create_model_configure_file
create_ufs_configure_file
eval_metplus_timestr_tmpl
generate_FV3LAM_wflow
get_crontab_contents
get_obs
link_fix
mrms_pull_topofhour
python_utils
retrieve_data
run_srw_tests
set_cycle_dates
set_cycle_and_obs_timeinfo
set_fv3nml_ens_stoch_seeds
set_fv3nml_sfc_climo_filenames
set_gridparams_ESGgrid
set_gridparams_GFDLgrid
set_leadhrs
set_predef_grid_params
setup
update_input_nml
7 changes: 7 additions & 0 deletions doc/TechDocs/ush/set_cycle_and_obs_timeinfo.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
set\_cycle\_and\_obs\_timeinfo module
=====================================

.. automodule:: set_cycle_and_obs_timeinfo
:members:
:undoc-members:
:show-inheritance:
7 changes: 0 additions & 7 deletions doc/TechDocs/ush/set_cycle_dates.rst

This file was deleted.

7 changes: 7 additions & 0 deletions doc/TechDocs/ush/set_leadhrs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
set\_leadhrs module
===================

.. automodule:: set_leadhrs
:members:
:undoc-members:
:show-inheritance:
629 changes: 510 additions & 119 deletions doc/UsersGuide/BuildingRunningTesting/RunSRW.rst

Large diffs are not rendered by default.

432 changes: 335 additions & 97 deletions doc/UsersGuide/CustomizingTheWorkflow/ConfigWorkflow.rst

Large diffs are not rendered by default.

15 changes: 12 additions & 3 deletions doc/UsersGuide/Reference/Glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Glossary

chgres_cube
The preprocessing software used to create initial and boundary condition files to
cold start the forecast model. It is part of :term:`UFS_UTILS`.
"cold start" the forecast model. It is part of :term:`UFS_UTILS`.

CIN
Convective Inhibition.
Expand All @@ -48,6 +48,9 @@ Glossary
Component Repository
A :term:`repository` that contains, at a minimum, source code for a single component.

composite reflectivity
`Composite reflectivity <https://glossary.ametsoc.org/wiki/Composite_reflectivity>`__ is a display or mapping of the maximum radar reflectivity factor at any altitude as a function of position on the ground.

Container
`Docker <https://www.docker.com/resources/what-container>`__ describes a container as "a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another."

Expand All @@ -70,6 +73,9 @@ Glossary
data assimilation
Data assimilation is the process of combining observations, model data, and error statistics to achieve the best estimate of the state of a system. One of the major sources of error in weather and climate forecasts is uncertainty related to the initial conditions that are used to generate future predictions. Even the most precise instruments have a small range of unavoidable measurement error, which means that tiny measurement errors (e.g., related to atmospheric conditions and instrument location) can compound over time. These small differences result in very similar forecasts in the short term (i.e., minutes, hours), but they cause widely divergent forecasts in the long term. Errors in weather and climate forecasts can also arise because models are imperfect representations of reality. Data assimilation systems seek to mitigate these problems by combining the most timely observational data with a "first guess" of the atmospheric state (usually a previous forecast) and other sources of data to provide a "best guess" analysis of the atmospheric state to start a weather or climate simulation. When combined with an "ensemble" of model runs (many forecasts with slightly different conditions), data assimilation helps predict a range of possible atmospheric states, giving an overall measure of uncertainty in a given forecast.

DTC
The `Developmental Testbed Center <https://dtcenter.org>`__ is a distributed facility where the NWP community can test and evaluate new models and techniques for use in research and operations.

dycore
dynamical core
Global atmospheric model based on fluid dynamics principles, including Euler's equations of motion.
Expand All @@ -87,7 +93,7 @@ Glossary
Extended Schmidt Gnomonic (ESG) grid. The ESG grid uses the map projection developed by Jim Purser of NOAA :term:`EMC` (:cite:t:`Purser_2020`).

ESMF
`Earth System Modeling Framework <https://earthsystemmodeling.org/docs/release/latest/ESMF_usrdoc/>`__. The ESMF defines itself as a suite of software tools for developing high-performance, multi-component Earth science modeling applications.
`Earth System Modeling Framework <https://earthsystemmodeling.org/docs/release/latest/ESMF_usrdoc/>`__. The ESMF defines itself as "a suite of software tools for developing high-performance, multi-component Earth science modeling applications."

ex-scripts
Scripting layer (contained in ``ufs-srweather-app/scripts/``) that should be called by a :term:`J-job <J-jobs>` for each workflow componentto run a specific task or sub-task in the workflow. The different scripting layers are described in detail in the :nco:`NCO Implementation Standards document <ImplementationStandards.v11.0.0.pdf>`
Expand Down Expand Up @@ -152,6 +158,9 @@ Glossary
MERRA2
The `Modern-Era Retrospective analysis for Research and Applications, Version 2 <https://gmao.gsfc.nasa.gov/reanalysis/MERRA-2/>`__ provides satellite observation data back to 1980. According to NASA, "It was introduced to replace the original MERRA dataset because of the advances made in the assimilation system that enable assimilation of modern hyperspectral radiance and microwave observations, along with GPS-Radio Occultation datasets. It also uses NASA's ozone profile observations that began in late 2004. Additional advances in both the GEOS model and the GSI assimilation system are included in MERRA-2. Spatial resolution remains about the same (about 50 km in the latitudinal direction) as in MERRA."

MET
The `Model Evaluation Tools <https://dtcenter.org/community-code/model-evaluation-tools-met>`__ is a highly-configurable, state-of-the-art suite of verification tools developed at the :term:`DTC`.

MPI
MPI stands for Message Passing Interface. An MPI is a standardized communication system used in parallel programming. It establishes portable and efficient syntax for the exchange of messages and data between multiple processors that are used by a single computer program. An MPI is required for high-performance computing (HPC) systems.

Expand Down Expand Up @@ -215,7 +224,7 @@ Glossary
The branch of physical geography dealing with mountains.

Parameterizations
Simplified functions that approximate the effects of small-scale processes (e.g., microphysics, gravity wave drag) that cannot be explicitly resolved by a model grids representation of the earth.
Simplified functions that approximate the effects of small-scale processes (e.g., microphysics, gravity wave drag) that cannot be explicitly resolved by a model grid's representation of the earth.

RAP
`Rapid Refresh <https://rapidrefresh.noaa.gov/>`__. The continental-scale NOAA hourly-updated assimilation/modeling system operational at :term:`NCEP`. RAP covers North America and is comprised primarily of a numerical forecast model and an analysis/assimilation system to initialize that model. RAP is complemented by the higher-resolution 3km High-Resolution Rapid Refresh (:term:`HRRR`) model.
Expand Down
10 changes: 9 additions & 1 deletion doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ def setup(app):
# -- Options for autodoc extension ---------------------------------------

autodoc_mock_imports = ["f90nml","cartopy","mpl_toolkits.basemap","fill_jinja_template",
"matplotlib","numpy","uwtools","mpl_toolkits",
"matplotlib","numpy","uwtools","mpl_toolkits","metplus",
]

logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -310,3 +310,11 @@ def warn_undocumented_members(app, what, name, obj, options, lines):
'fire-ug': ('https://fire-behavior.readthedocs.io/en/latest/%s', '%s'),
}

# Define environment variables that need to exist when running the top-level code in python
# files (outside of functions, classes, etc.).
#
# METPLUS_ROOT just needs to exist in the environment; its value is not important since for
# the purpose of building the documentation, METplus is loaded by including "metplus" in
# the autodoc_mock_imports list above, not via use of the METPLUS_ROOT environment variable.
os.environ["METPLUS_ROOT"] = ""

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
1 change: 1 addition & 0 deletions modulefiles/tasks/derecho/get_obs.local.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
load("run_vx.local")
1 change: 1 addition & 0 deletions modulefiles/tasks/gaea/get_obs.local.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
load("run_vx.local")
3 changes: 1 addition & 2 deletions modulefiles/tasks/hera/get_obs.local.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
load("hpss")
unload("python")
load("python_srw")
load("run_vx.local")
1 change: 1 addition & 0 deletions modulefiles/tasks/hercules/get_obs.local.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
load("run_vx.local")
3 changes: 1 addition & 2 deletions modulefiles/tasks/jet/get_obs.local.lua
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
load("hpss")
unload("python")
load("python_srw")
load("run_vx.local")
1 change: 1 addition & 0 deletions modulefiles/tasks/noaacloud/get_obs.local.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
load("run_vx.local")
1 change: 1 addition & 0 deletions modulefiles/tasks/orion/get_obs.local.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
load("run_vx.local")
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/
43 changes: 18 additions & 25 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 @@ -87,7 +87,7 @@ OBS_FILE_WINDOW_BEGIN = -300
OBS_FILE_WINDOW_END = 300
OBS_{{METPLUS_TOOL_NAME}}_WINDOW_BEGIN = 0
OBS_{{METPLUS_TOOL_NAME}}_WINDOW_END = 0
{%- elif input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- elif input_field_group in ['SFC', 'UPA'] %}
OBS_WINDOW_BEGIN = -1799
OBS_WINDOW_END = 1800
OBS_{{METPLUS_TOOL_NAME}}_WINDOW_BEGIN = {OBS_WINDOW_BEGIN}
Expand All @@ -105,7 +105,7 @@ OBS_{{METPLUS_TOOL_NAME}}_WINDOW_END = {OBS_WINDOW_END}
# ens.vld_thresh value in the MET config file
{{METPLUS_TOOL_NAME}}_ENS_VLD_THRESH = 1.0

{%- if input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- if input_field_group in ['SFC', 'UPA'] %}

{{METPLUS_TOOL_NAME}}_OBS_QUALITY_INC = 0, 1, 2, 3, 9, NA
#{{METPLUS_TOOL_NAME}}_OBS_QUALITY_EXC =
Expand All @@ -118,7 +118,7 @@ OBS_{{METPLUS_TOOL_NAME}}_WINDOW_END = {OBS_WINDOW_END}
{{METPLUS_TOOL_NAME}}_MET_OBS_ERR_TABLE = {MET_BASE}/table_files/obs_error_table.txt
{%- elif input_field_group in ['REFC', 'RETOP'] %}
{{METPLUS_TOOL_NAME}}_MET_OBS_ERR_TABLE =
{%- elif input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- elif input_field_group in ['SFC', 'UPA'] %}
{{METPLUS_TOOL_NAME}}_MET_OBS_ERR_TABLE = {MET_BASE}/table_files/obs_error_table.txt
{%- endif %}

Expand All @@ -135,7 +135,7 @@ OBS_{{METPLUS_TOOL_NAME}}_WINDOW_END = {OBS_WINDOW_END}
{%- set comment_or_null = '' %}
{%- set regrid_to_grid = 'FCST' %}
{%- set regrid_method = 'BUDGET' %}
{%- elif input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- elif input_field_group in ['SFC', 'UPA'] %}
{%- set comment_or_null = '#' %}
{%- set regrid_to_grid = 'NONE' %}
{%- set regrid_method = 'BILIN' %}
Expand All @@ -160,8 +160,8 @@ OBS_{{METPLUS_TOOL_NAME}}_WINDOW_END = {OBS_WINDOW_END}
{{METPLUS_TOOL_NAME}}_DUPLICATE_FLAG = NONE
{{METPLUS_TOOL_NAME}}_SKIP_CONST = TRUE
{{METPLUS_TOOL_NAME}}_OBS_ERROR_FLAG = FALSE
{%- elif input_field_group in ['ADPSFC', 'ADPUPA'] %}
{{METPLUS_TOOL_NAME}}_MESSAGE_TYPE = {{input_field_group}}
{%- elif input_field_group in ['SFC', 'UPA'] %}
{{METPLUS_TOOL_NAME}}_MESSAGE_TYPE = {{fieldname_in_met_filedir_names}}
{{METPLUS_TOOL_NAME}}_DUPLICATE_FLAG = NONE
{{METPLUS_TOOL_NAME}}_SKIP_CONST = FALSE
{{METPLUS_TOOL_NAME}}_OBS_ERROR_FLAG = FALSE
Expand Down Expand Up @@ -197,7 +197,7 @@ OBS_{{METPLUS_TOOL_NAME}}_WINDOW_END = {OBS_WINDOW_END}
{%- set comment_or_null = '' %}
{%- elif input_field_group in ['REFC', 'RETOP'] %}
{%- set comment_or_null = '' %}
{%- elif input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- elif input_field_group in ['SFC', 'UPA'] %}
{%- set comment_or_null = '#' %}
{%- endif %}
{{comment_or_null}}{{METPLUS_TOOL_NAME}}_CLIMO_CDF_BINS = 1
Expand All @@ -207,7 +207,7 @@ OBS_{{METPLUS_TOOL_NAME}}_WINDOW_END = {OBS_WINDOW_END}
{{METPLUS_TOOL_NAME}}_MASK_GRID =
{%- elif input_field_group in ['REFC', 'RETOP'] %}
{{METPLUS_TOOL_NAME}}_MASK_GRID = FULL
{%- elif input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- elif input_field_group in ['SFC', 'UPA'] %}
{{METPLUS_TOOL_NAME}}_MASK_GRID =
{%- endif %}

Expand Down Expand Up @@ -483,7 +483,7 @@ FCST_VAR{{ns.var_count}}_OPTIONS = convert(x) = x * 3.28084 * 0.001; ;; Convert
{{opts_indent}}ens_phist_bin_size = 0.05;
{%- endif %}

{%- elif input_field_group == 'ADPSFC' %}
{%- elif input_field_group == 'SFC' %}

{%- if field_fcst == 'HGT' %}
FCST_VAR{{ns.var_count}}_OPTIONS = GRIB_lvl_typ = 215;
Expand All @@ -499,7 +499,7 @@ FCST_VAR{{ns.var_count}}_OPTIONS = interp = { type = [ { method = NEAREST; width
FCST_VAR{{ns.var_count}}_OPTIONS = GRIB2_pdt = 0; ;; Derive instantaneous 10-m wind from U/V components, overriding max 10-m wind.
{%- endif %}

{%- elif input_field_group == 'ADPUPA' %}
{%- elif input_field_group == 'UPA' %}

{%- if field_fcst == 'CAPE' %}
FCST_VAR{{ns.var_count}}_OPTIONS = cnt_thresh = [ >0 ];
Expand All @@ -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 Expand Up @@ -615,15 +608,15 @@ OBS_VAR{{ns.var_count}}_OPTIONS = censor_thresh = lt-20;
{{opts_indent}}ens_phist_bin_size = 0.05;
{%- endif %}

{%- elif input_field_group == 'ADPSFC' %}
{%- elif input_field_group == 'SFC' %}

{%- if field_obs in ['DPT', 'TMP', 'WIND'] %}
OBS_VAR{{ns.var_count}}_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; }
{%- elif field_obs == 'CEILING' %}
OBS_VAR{{ns.var_count}}_OPTIONS = GRIB_lvl_typ = 215
{%- endif %}

{%- elif input_field_group == 'ADPUPA' %}
{%- elif input_field_group == 'UPA' %}

{%- if field_obs in ['DPT', 'HGT', 'TMP', 'WIND'] %}
OBS_VAR{{ns.var_count}}_OPTIONS = obs_error = { flag = TRUE; dist_type = NONE; dist_parm = []; inst_bias_scale = 1.0; inst_bias_offset = 0.0; min = NA; max = NA; }
Expand Down Expand Up @@ -656,15 +649,15 @@ OUTPUT_BASE = {{output_base}}
#
# Point observation input directory for {{MetplusToolName}}.
#
{%- if input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- if input_field_group in ['SFC', 'UPA'] %}
OBS_{{METPLUS_TOOL_NAME}}_POINT_INPUT_DIR = {{obs_input_dir}}
{%- else %}
OBS_{{METPLUS_TOOL_NAME}}_POINT_INPUT_DIR =
{%- endif %}
#
# Grid observation input directory for {{MetplusToolName}}.
#
{%- if input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- if input_field_group in ['SFC', 'UPA'] %}
OBS_{{METPLUS_TOOL_NAME}}_GRID_INPUT_DIR =
{%- else %}
OBS_{{METPLUS_TOOL_NAME}}_GRID_INPUT_DIR = {{obs_input_dir}}
Expand Down Expand Up @@ -698,7 +691,7 @@ STAGING_DIR = {{staging_dir}}
# Template for point observation input to {{MetplusToolName}} relative to
# OBS_{{METPLUS_TOOL_NAME}}_POINT_INPUT_DIR.
#
{%- if input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- if input_field_group in ['SFC', 'UPA'] %}
OBS_{{METPLUS_TOOL_NAME}}_POINT_INPUT_TEMPLATE = {{obs_input_fn_template}}
{%- else %}
OBS_{{METPLUS_TOOL_NAME}}_POINT_INPUT_TEMPLATE =
Expand All @@ -707,7 +700,7 @@ OBS_{{METPLUS_TOOL_NAME}}_POINT_INPUT_TEMPLATE =
# Template for gridded observation input to {{MetplusToolName}} relative to
# OBS_{{METPLUS_TOOL_NAME}}_GRID_INPUT_DIR.
#
{%- if input_field_group in ['ADPSFC', 'ADPUPA'] %}
{%- if input_field_group in ['SFC', 'UPA'] %}
OBS_{{METPLUS_TOOL_NAME}}_GRID_INPUT_TEMPLATE =
{%- else %}
OBS_{{METPLUS_TOOL_NAME}}_GRID_INPUT_TEMPLATE = {{obs_input_fn_template}}
Expand Down
Loading
Loading