From 330e0875d25a2598e7a2533a95d01d689c273f69 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Fri, 13 Jan 2023 00:16:49 -0500 Subject: [PATCH 01/11] Initial Setup for Sphinx documentation --- docs/Makefile | 20 ++++ docs/make.bat | 35 +++++++ docs/source/components.rst | 102 ++++++++++++++++++++ docs/source/conf.py | 55 +++++++++++ docs/source/development.rst | 182 ++++++++++++++++++++++++++++++++++++ docs/source/index.rst | 36 +++++++ docs/source/jobs.rst | 86 +++++++++++++++++ 7 files changed, 516 insertions(+) create mode 100644 docs/Makefile create mode 100644 docs/make.bat create mode 100644 docs/source/components.rst create mode 100644 docs/source/conf.py create mode 100644 docs/source/development.rst create mode 100644 docs/source/index.rst create mode 100644 docs/source/jobs.rst diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000000..d0c3cbf102 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = source +BUILDDIR = build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000000..6247f7e231 --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=source +set BUILDDIR=build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/source/components.rst b/docs/source/components.rst new file mode 100644 index 0000000000..15d9ca2158 --- /dev/null +++ b/docs/source/components.rst @@ -0,0 +1,102 @@ +########################### +Global Workflow Components +########################### + +The global-workflow is a combination of several components working together to prepare, analyze, produce, and post-process forecast data. + +The major components of the system are: + +* Workflow +* Pre-processing +* Analysis +* Forecast +* Post-processing +* Verification + +The Global Workflow repository contains the workflow layer and, after running the checkout script, the code and scripts for the analysis, forecast, and post-processing components. Any non-workflow component is known as a sub-module. All of the sub-modules of the system reside in their respective repositories on GitHub. The global-workflow sub-modules are obtained by running the checkout script found under the /sorc folder. + +====================== +Component repositories +====================== + +Components checked out via sorc/checkout.sh: + +* **UFS-Weather-Model** (https://github.com/ufs-community/ufs-weather-model): This is the core model used by the Global-Workflow to provide forecasts. The UFS-weather-model repository is an umbrella repository consisting of cooupled component earth systeme that are all checked out when we check out the code at the top level of the repoitory +* **GSI** (https://github.com/NOAA-EMC/GSI): This is the core code base for atmospheric Data Assimilation +* **GSI UTILS** (https://github.com/NOAA-EMC/GSI-UTILS): Utility codes needed by GSI to create analysis +* **GSI Monitor** (https://github.com/NOAA-EMC/GSI-Monitor): These tools monitor the GSI package's data assimilation, detecting and reporting missing data sources, low observation counts, and high penalty values +* **GLDAS** (https://github.com/NOAA-EMC/GLDAS): Code base for Land Data Assimiation +* **GDAS** (https://github.com/NOAA-EMC/GDASApp): Jedi based Data Assimilation system. This system is currently being developed for marine Data Assimilation and in time will replace GSI for atmospheric data assimilation as well +* **UFS UTILS** (https://github.com/ufs-community/UFS_UTILS): Utility codes needed for UFS-weather-model +* **GFS UTILS** (https://github.com/ufs-community/gfs_utils): Utility codes needed by Global Workflow to run the GFS configuration +* **Verif global** (https://github.com/NOAA-EMC/EMC_verif-global): Verification package to evaluate GFS parallels. It uses MET and METplus. At this moment the verification package is limited to providing atmospheric metrics only +* **GFS WAFS** (https://github.com/NOAA-EMC/EMC_gfs_wafs): Additional post processing products for Aircrafts + +Note, when running the system in forecast mode only the Data Assimilation conmponents are not needed and are hence not checked out. + +===================== +External dependencies +===================== + +^^^^^^^^^ +Libraries +^^^^^^^^^ + +All the libraries that are needed to run the end to end Global Workflow are built using a package manager. Currently these are served via HPC-STACK but will soon be available via SPACK-STACK. These libraries are already available on supported NOAA HPC platforms + +Find information on official installations of HPC-STACK here: + +https://github.com/NOAA-EMC/hpc-stack/wiki/Official-Installations + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Observation data (OBSPROC/prep) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +**** +Data +**** + +Observation data, also known as dump data, is prepared in production and then archived in a global dump archive (GDA) for use by users when running cycled experiment. The GDA ($DMPDIR) is available on supported platforms and the workflow system knows where to find the data. + +* Hera: /scratch1/NCEPDEV/global/glopara/dump +* Orion: /work/noaa/rstprod/dump +* WCOSS2: /lfs/h2/emc/global/noscrub/emc.global/dump +* S4: /data/prod/glopara/dump + +----------------------------- +Global Dump Archive Structure +----------------------------- + +The global dump archive (GDA) mimics the structure of its production source: `DMPDIR/CDUMP.PDY/[CC/atmos/]FILES` + +The CDUMP is either gdas, gfs, or rtofs. All three contain production output for each day (PDY). The gdas and gfs folders are further broken into cycle (CC) and component (atmos). + +The GDA also contains special versions of some datasets and experimental data that is being evaluated ahead of implementation into production. The following subfolder suffixes exist: + ++--------+------------------------------------------------------------------------------------------------------+ +| Suffix | What | ++--------+------------------------------------------------------------------------------------------------------+ +| nr | Non-restricted versions of restricted files in production. | ++--------+------------------------------------------------------------------------------------------------------+ +| ur | Un-restricted versions of restricted files in production. Produced and archived on a 48hrs delay. | ++--------+------------------------------------------------------------------------------------------------------+ +| x | Experimental global datasets being evaluated for production. Dates and types vary depending on | +| | upcoming global upgrades. | ++--------+------------------------------------------------------------------------------------------------------+ +| y | Similar to "x" but only used when there is a duplicate experimental file that is in the x subfolder | +| | with the same name. These files will be different from both the production versions | +| | (if that exists already) and the x versions. This suffix is rarely used. | ++--------+------------------------------------------------------------------------------------------------------+ +| p | Pre-production copy of full dump dataset, as produced by NCO during final 30-day parallel ahead of | +| | implementation. Not always archived. | ++--------+------------------------------------------------------------------------------------------------------+ + +*************** +Data processing +*************** + +Upstream of the global-workflow is the collection, quality control, and packaging of observed weather. The handling of that data is done by the OBSPROC group codes and scripts. The global-workflow uses two packages from OBSPROC to run its prep step to prepare observation data for use by the analysis system: + +1. https://github.com/NOAA-EMC/obsproc +2. https://github.com/NOAA-EMC/prepobs + +Both package versions and locations on support platforms are set in the global-workflow system configs. diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000000..0c231f57f9 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,55 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = 'Global-workflow' +copyright = '2023, Kate Friedman, Walter Kolczynski, Rahul Mahajan, Lin Gan' +author = 'Kate Friedman, Walter Kolczynski, Rahul Mahajan, Lin Gan' + +# The full version, including alpha/beta/rc tags +release = '0.1' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ +] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'alabaster' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] \ No newline at end of file diff --git a/docs/source/development.rst b/docs/source/development.rst new file mode 100644 index 0000000000..d66a065c99 --- /dev/null +++ b/docs/source/development.rst @@ -0,0 +1,182 @@ +################################### +Contributing to the Global Workflow +################################### + +This section is devoted to developers who wish to contribute to the Global Workflow repository. + +.. _managers: + +============= +Code managers +============= + + * Kate Friedman - @KateFriedman-NOAA / kate.friedman@noaa.gov + * Walter Kolczynski - @WalterKolczynski-NOAA / walter.kolczynski@noaa.gov + +.. _development: + +======================== +Where to do development? +======================== + + * In authoritative (main) repository: + + - Work for the upcoming implementation (who: members of global-workflow-developers team) + - Major new features or port work (who: generally code managers and/or members of global-workflow-developers team) + + * In a fork: + + - Everything and everyone else + - How do I fork this repository? See the following GitHub documentation on forking repos: https://help.github.com/en/github/getting-started-with-github/fork-a-repo + +.. _protected: + +================== +Protected branches +================== + +The following global-workflow branches are protected by the code management team: + +* develop (HEAD) +* operations (kept aligned with current production) + +These protected branches require the following to accept changes: + + 1. a pull request with at least 1 reviewer sign-off + 2. a code manager to perform the commit + +Other authoritative repository branches may also be protected at the request of members of the global-workflow-developers team. + +.. _howto: + +============================================= +How to get changes into develop (HEAD) branch +============================================= + +The following steps should be followed in order to make changes to the develop branch of global-workflow. Communication with the code managers throughout the process is encouraged. + + #. Issue - Open issue to document changes. Reference this issue in commits to your branches (e.g. git commit -m "Issue #23 - blah changes for what-not code") Click `here `__ to open a new global-workflow issue. + #. GitFlow - Follow `GitFlow `_ procedures for development (branch names, forking vs branching, etc.). Read more `here `__ about GitFlow at EMC. + #. To fork or not to fork? - If not working within authoritative repository create a fork of the authoritative repository. Read more `here `__ about forking in GitHub. + #. Branch - Create branch in either authoritative repository or fork of authoritative repository. See the `Where to do development? `_ section for how to determine where. Follow Gitflow conventions when creating branch. + #. Development - Perform and test changes in branch. Document work in issue and mention issue number in commit messages to link your work to the issue See `Commit Messages `_ section below. Depending on changes the code manager may request or perform additional pre-commit tests. + #. Pull request - When ready to merge changes back to develop branch, the lead developer should initiate a pull request (PR) of your branch (either fork or not) into the develop branch. Read `here `__ about pull requests in GitHub. Provide some information about the PR in the proper field, add at least one reviewer to the PR and assign the PR to a code manager. + #. Complete - When review and testing is complete the code manager will complete the pull request and subsequent merge/commit. + #. Cleanup - When complete the lead developer should delete the branch and close the issue. "Closing keywords" can be used in the PR to automatically close associated issues. + +.. _code-standards: + +============== +Code standards +============== + +All scripts should be in either bash or python 3. + +We have adopted the `Google style guide `_ for shell scripts and `PEP-8 `_ for python. Python code should additionally have docstrings following `numpy style `_. + +All new code after 2022 Sep 1 will be required to meet these standards. We will slowly be updating existing scripts to comply with the standards. We are also in the process of adding GitHub actions to automatically lint code submitted for PRs. + +.. _commit-standards: + +======================== +Commit message standards +======================== + +**ALL** commits must follow best practices for commit messages: https://chris.beams.io/posts/git-commit/ + + * Separate subject from body with a blank line + * Limit the subject line to 50 characters + * Capitalize the subject line + * Do not end the subject line with a period + * Use the `imperative mood `_ in the subject line + * Wrap the body at 72 characters + * Use the body to explain what and why vs. how + * The final line of the commit message should include tags to relevant issues (e.g. `Refs: #217, #300`) + +Here is the example commit message from the article linked above; it includes descriptions of what would be in each part of the commit message for guidance: + + Summarize changes in around 50 characters or less + + More detailed explanatory text, if necessary. Wrap it to about 72 + characters or so. In some contexts, the first line is treated as the + subject of the commit and the rest of the text as the body. The + blank line separating the summary from the body is critical (unless + you omit the body entirely); various tools like `log`, `shortlog` + and `rebase` can get confused if you run the two together. + + Explain the problem that this commit is solving. Focus on why you + are making this change as opposed to how (the code explains that). + Are there side effects or other unintuitive consequences of this + change? Here's the place to explain them. + + Further paragraphs come after blank lines. + + - Bullet points are okay, too + + - Typically a hyphen or asterisk is used for the bullet, preceded + by a single space, with blank lines in between, but conventions + vary here + + If you use an issue tracker, put references to them at the bottom, + like this: + + Resolves: #123 + See also: #456, #789 + +A detailed commit message is very useful for documenting changes + +.. _sync: + +================================================== +How to sync fork with the authoritative repository +================================================== + +As development in the main authoritative repository moves forward you will need to sync your fork's branches to stay up-to-date. Below is an example of how to sync your fork's copy of a branch with the authoritative repository copy. The branch name for the example will be "feature/new_thing". Click `here `__ for documentation on syncing forks. + +1. Clone your fork and checkout branch that needs syncing + +:: + + git clone https://github.com/JoeSchmo-NOAA/global-workflow.git ./fork + cd fork + git checkout feature/my_new_thing + +2. Add upstream info to your clone so it knows where to merge from. The term "upstream" refers to the authoritative repository from which the fork was create + +:: + + git remote add upstream https://github.com/NOAA-EMC/global-workflow.git + +3. Fetch upstream information into clone + +:: + + git fetch upstream + +Later on you can update your fork's remote information by doing the following command + +:: + + git remote update + +4. Merge upstream feature/other_new_thing into your branch + +:: + + git merge upstream/feature/other_new_thing + +5. Resolve any conflicts and perform any needed "add"s or "commit"s for conflict resolution. + +6. Push the merged copy back up to your fork (origin) + +:: + + git push origin feature/my_new_thing + +7. Note the sync in the GitHub issue tracking your work. + +Done! + +Moving forward you'll want to perform the "remote update" command regularly to update the metadata for the remote/upstream repository in your fork (e.g. pull in metadata for branches made in auth repo after you forked it):: + + git remote update diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000000..de2e8f5da8 --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,36 @@ + +############### +Global Workflow +############### + +**Global-workflow** is the end-to-end workflow designed to run global configurations of medium range weather forecasting for the UFS weather model. It supports both development and operational implementations. In its current format it supports the Global Forecast System (GFS) and the Gobal Ensemble Forecast System (GEFS) configurations + +====== +Status +====== + +* State of develop (HEAD) branch: early GFSv17+ development + +* State of operations branch: GFS v16.3.5 `tag: [gfs.v16.3.5] `_ + +============== +Code managers: +============== + +* Kate Friedman - @KateFriedman-NOAA / kate.friedman@noaa.gov +* Walter Kolczynski - @WalterKolczynski-NOAA / walter.kolczynski@noaa.gov + +============== +Announcements: +============== + +General updates: NOAA employees and affiliates can join the gfs-announce distribution list to get updates on the GFS and global-workflow. Contact Kate Friedman (kate.friedman@noaa.gov) and Walter Kolczynski (walter.kolczynski@noaa.gov) to get added to the list or removed from it. + +GitHub updates: Users should adjust their "Watch" settings for this repo so they receive notifications as they'd like to. Find the "Watch" or "Unwatch" button towards the top right of this page and click it to adjust how you watch this repo. + +.. toctree:: + :hidden: + + development.rst + components.rst + jobs.rst diff --git a/docs/source/jobs.rst b/docs/source/jobs.rst new file mode 100644 index 0000000000..5249f2f265 --- /dev/null +++ b/docs/source/jobs.rst @@ -0,0 +1,86 @@ +################# +GFS Configuration +################# + + +The sequence of jobs that are run for an end-to-end (DA+forecast+post processing+verification) GFS configuration using the Global Workflow is shown above. The system utilizes a collection of scripts that perform the tasks for each step. + +For any cycle the system consists of two phases -- the gdas phase which provides the initial guess fields, and the gfs phase which creates the initial conditions and forecast of the system. As with the operational system, the gdas runs for each cycle (00, 06, 12, and 18 UTC), however, to save time and space in experiments, the gfs (right side of the diagram) is initially setup to run for only the 00 UTC cycle. (See the "run GFS this cycle?" portion of the diagram) The option to run the GFS for all four cycles is available (see gfs_cyc variable in configuration file). + +An experimental run is different from operations in the following ways: + +* Workflow manager: operations utilizes `ecFlow `__, while development currently utilizes `ROCOTO `__. Note, experiments can also be run using ecFlow. + +* Dump step is not run as it has already been completed during the real-time production runs and dump data is available in the global dump archive on supported machines. + +* Addition steps in experimental mode: + + - verification (vrfy) + + - archive (arch) + +Downstream jobs (e.g. awips, gempak, etc.) are not included in the diagram. Those jobs are not normally run in developmental tests. + +============================= +Jobs in the GFS Configuration +============================= ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| Job Name | Purpose | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| anal | Runs the analysis. 1) Runs the atmospheric analysis (global_gsi) to produce analysis increments; 2) Update surface | +| | guess file via global_cycle to create surface analysis on tiles. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| analcalc | Adds the analysis increments to previous cycle’s forecasts to produce atmospheric analysis files. Produces surface | +| | analysis file on Gaussian grid. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| analdiag | Creates netCDF diagnostic files containing observation values, innovation (O-F), error, quality control, as well as | +| | other analysis-related quantities (cnvstat, radstat, ozstat files). | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| arch | Archives select files from the deterministic model and cleans up older data. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| earcN/eamn | Archival script for EnKF: 1) Write select EnKF output to HPSS; 2) Copy select files to online archive; 3) Clean up | +| | EnKF temporary run directories; 4) Remove "old" EnKF files from rotating directory. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| ecenN/ecmn | Recenter ensemble members around hi-res deterministic analysis. Note - GFS v16 recenters ensemble member analysis | +| | increments. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| echgres | Runs chgres on full-resolution forecast for EnKF recentering (ecen). | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| ediag | Same as analdiag but for ensemble members. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| efcsN/efmn | Run 9 hour forecast for each ensemble member. There are 80 ensemble members. Each efcs job sequentially processes 8 | +| | ensemble members, so there are 10 efcs jobs in total. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| eobs | Data selection for EnKF update (eupd). | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| eposN/epmn | Generate ensemble mean atmospheric and surface forecast files. The ensemble spread is also computed for atmospheric | +| | forecast files. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| esfc | Generate ensemble surface analyses on tiles. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| eupd | Perform EnKF update (i.e., generate ensemble member analyses). | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| fcst | Runs the forecast (with or without one-way waves). | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| gldas | Runs the Global Land Data Assimilation System (GLDAS). | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| metpN | Runs MET/METplus verification via EMC_verif-global. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| prep | Runs the data preprocessing prior to the analysis (storm relocation if needed and generation of prepbufr file). | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| postN | Runs the post processor. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| vrfy | Runs the verification tasks. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| waveinit | Runs wave initialization step. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| waveprep | Runs wave prep step. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| wavepostsbs | Runs wave post-processing side-by-side. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| wavepostbndpnt | Runs wave post-processing for boundary points. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| wavepostbndpntbll | Runs wave post-processing for boundary points bulletins. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ +| wavepostpnt | Runs wave post-processing for points. | ++-------------------+-----------------------------------------------------------------------------------------------------------------------+ From e49caed339fad5795ff886a150f54cdc05170811 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Fri, 13 Jan 2023 18:47:58 -0500 Subject: [PATCH 02/11] Further updates for Sphinx documentation --- docs/source/clone.rst | 119 +++++++++++++++ docs/source/hpc.rst | 120 +++++++++++++++ docs/source/init.rst | 325 +++++++++++++++++++++++++++++++++++++++++ docs/source/output.rst | 20 +++ docs/source/run.rst | 12 ++ 5 files changed, 596 insertions(+) create mode 100644 docs/source/clone.rst create mode 100644 docs/source/hpc.rst create mode 100644 docs/source/init.rst create mode 100644 docs/source/output.rst create mode 100644 docs/source/run.rst diff --git a/docs/source/clone.rst b/docs/source/clone.rst new file mode 100644 index 0000000000..e261cea00d --- /dev/null +++ b/docs/source/clone.rst @@ -0,0 +1,119 @@ +=============================== +Clone and build Global Workflow +=============================== + +^^^^^^^^^^^^^^^^^^ +Quick Instructions +^^^^^^^^^^^^^^^^^^ + +Quick clone/build/link instructions (more detailed instructions below). Note, Here we are making the assumption that you are using the workflow to run an experiment and so are working from the authoritative repository. If you are going to be a developer then follow the instructions in :doc: `development.rst`. Once you do that you can follow the instructions here with the only thing different will be the repository you are cloning from. + +For forecast-only (coupled or uncoupled):: + + git clone https://github.com/NOAA-EMC/global-workflow.git + cd global-workflow/sorc + ./checkout.sh + ./build_all.sh + ./link_workflow.sh + +For cycled (GSI):: + + git clone https://github.com/NOAA-EMC/global-workflow.git + cd global-workflow/sorc + ./checkout.sh -g + ./build_all.sh + ./link_workflow.sh + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Clone workflow and component repositories +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +******** +Workflow +******** + +https method:: + + git clone https://github.com/NOAA-EMC/global-workflow.git + +ssh method (using a password protected SSH key):: + + git clone git@github.com:NOAA-EMC/global-workflow.git + +Note: when using ssh methods you need to make sure that your GitHub account is configured for the computer from which you are accessing the repository (See `this link `_) + +Check what you just cloned (by default you will have only the develop branch):: + + cd global-workflow + git branch + * develop + +You now have a cloned copy of the global-workflow git repository. To checkout a branch or tag in your clone:: + + git checkout BRANCH_NAME + +Note: Branch must already exist. If it does not you need to make a new branch using the ``-b`` flag:: + + git checkout -b BRANCH_NAME + +The ``checkout`` command will checkout BRANCH_NAME and switch your clone to that branch. Example:: + + git checkout my_branch + git branch + * my_branch + develop + +********** +Components +********** + +Once you have cloned the workflow repository it's time to checkout/clone its components. The components will be checked out under the /sorc folder via a script called checkout.sh. Run the script with no arguments for forecast-only:: + + cd sorc + ./checkout.sh + +Or with the `-g` switch to include GSI for cycling:: + + cd sorc + ./checkout.sh -g + +If wishing to run with the operational GTG UPP and WAFS (only for select users) provide the -o flag with checkout.sh:: + + ./checkout.sh -o + +Each component cloned via checkout.sh will have a log (checkout-COMPONENT.log). Check the screen output and logs for clone errors. + +^^^^^^^^^^^^^^^^ +Build components +^^^^^^^^^^^^^^^^ + +Under the /sorc folder is a script to build all components called ``build_all.sh``. After running checkout.sh run this script to build all components codes:: + + ./build_all.sh [-a UFS_app][-c build_config][-h][-v] + -a UFS_app: + Build a specific UFS app instead of the default + -c build_config: + Selectively build based on the provided config instead of the default config + -h: + Print usage message and exit + -v: + Run all scripts in verbose mode + +A partial build option is also available via two methods: + + a) modify gfs_build.cfg config file to disable/enable particular builds and then rerun build_all.sh + + b) run individual build scripts also available in /sorc folder for each component or group of codes + +^^^^^^^^^^^^^^^ +Link components +^^^^^^^^^^^^^^^ + +At runtime the global-workflow needs all pieces in place within the main superstructure. To establish this a link script is run to create symlinks from the top level folders down to component files checked out in /sorc folders. + +After running the checkout and build scripts run the link script:: + + ./link_workflow.sh [-o] + where: + -o: Run in operations (NCO) mode. This creates copies instead of using symlinks and is generally only used by NCO during installation into production. + diff --git a/docs/source/hpc.rst b/docs/source/hpc.rst new file mode 100644 index 0000000000..a92bc79e1a --- /dev/null +++ b/docs/source/hpc.rst @@ -0,0 +1,120 @@ +##################### +HPC Settings and Help +##################### + +Running the GFS configurations (or almost any global workflow configuration except the coarsest) is a resource intensive exercise. This page discusses recommended HPC environmental settings and contact information in case you need assistance from a particular HPC helpdesk. While most of the documentation is based on supported NOAA platforms, the learnings here can hopefully apply to other platforms. + +================================ +Experiment troubleshooting help +================================ + +Users may email Kate Friedman (kate.friedman@noaa.gov) questions or requests for troubleshooting assistance with their global-workflow experiments/parallels on supported platforms. For troubleshooting, please provide a brief description of the issue(s) and include relevant error messages and/or paths to logs for failed jobs. + +Any issues related to HPC/machine problems, and which are unrelated to the workflow itself, should go to the appropriate HPC helpdesk. + +============= +HPC helpdesks +============= + +* WCOSS2: hpc.wcoss2-help@noaa.gov +* Hera: rdhpcs.hera.help@noaa.gov +* Orion: rdhpcs.orion.help@noaa.gov +* HPSS: rdhpcs.hpss.help@noaa.gov +* Gaea: oar.gfdl.help@noaa.gov +* S4: david.huber@noaa.gov + +====================== +Restricted data access +====================== + +The GFS system ingests dump data files that contain global observation data. A number of these dump files contain restricted data which means those files come with an extra level of permissions called restricted or ‘rstprod’. Users who wish to run cycled GFS experiments, which both utilizes restricted observation data and produces output containing restricted data, will need to gain rstprod group access. + +NOTE: Only non-restricted data is available on S4. + +To request rstprod access, do either a and/or b below: + +a) If you need restricted data access on WCOSS, fill out form here: + +https://www.nco.ncep.noaa.gov/sib/restricted_data/restricted_data_sib/ + +b) If you need restricted data access on RDHPCS systems: go to the AIM system, click on "Request new access to a project", select the rstprod project, provide justification for needed access, and submit the request: + +https://aim.rdhpcs.noaa.gov/ + +==================================== +Optimizing the global workflow on S4 +==================================== + +The S4 cluster is relatively small and so optimizations are recommended to improve cycled runtimes. Please contact David Huber (david.huber@noaa.gov) if you are planning on running a cycled experiment on this system to obtain optimized configuration files. + +============ +Git settings +============ + +^^^^^^ +Merges +^^^^^^ + +Use the following command to have merge commits include the one-line description of all the commits being merged (up to 200). You only need to do this once on each machine; it will be saved to your git settings:: + + git config --global merge.log 200 + +Use the ``--no-ff`` option to make sure there is always a merge commit when a fast-forward only is available. Exception: If the merge contains only a single commit, it can be applied as a fast-forward. + +For any merge with multiple commits, a short synopsis of the merge should appear between the title and the list of commit titles added by merge.log. + +^^^^^^^ +Version +^^^^^^^ + +It is advised to use Git v2+ when available. At the time of writing this documentation the swfault Git clients on the different machines were as noted in the table below. It is recommended that you check the default modules before loading recommneded ones: + ++---------+----------+---------------------------------------+ +| Machine | Default | Recommended | ++---------+----------+---------------------------------------+ +| Hera | v2.18.0 | default | ++---------+----------+---------------------------------------+ +| Orion | v1.8.3.1 | **module load git/2.28.0** | ++---------+----------+---------------------------------------+ +| WCOSS2 | v2.26.2 | default or **module load git/2.29.0** | ++---------+----------+---------------------------------------+ +| S4 | v1.8.3.1 | **module load git/2.30.0** | ++---------+----------+---------------------------------------+ + +^^^^^^^^^^^^^ +Output format +^^^^^^^^^^^^^ + +For proper display of Git command output (e.g. git branch and git diff) type the following once on both machines:: + + git config --global core.pager 'less -FRX' + +For the manage_externals utility functioning:: + + Error: fatal: ssh variant 'simple' does not support setting port + Fix: git config --global ssh.variant ssh + +=================================== +Stacksize on R&Ds (Hera, Orion, S4) +=================================== + +Some GFS components, like the UPP, need an unlimited stacksize. Add the following setting into your appropriate .*rc file to support these components: + +csh:: + + limit stacksize unlimited + +sh/bash/ksh:: + + ulimit -s unlimited + +========================================= +Forecast hangs due to issue with ssh-keys +========================================= + +Did you generate your ssh-keys with a passphrase? If so, remake them without one. To test this try ssh-ing to a different login node; you should be able to without being prompted for your passphrase. + +Is your public key in the authorized_keys file? If not, add it:: + + cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys + diff --git a/docs/source/init.rst b/docs/source/init.rst new file mode 100644 index 0000000000..efe1708d45 --- /dev/null +++ b/docs/source/init.rst @@ -0,0 +1,325 @@ +========================== +Prepare Initial Conditions +========================== + +There are two types of initial conditions for the global-workflow: + +#. Warm start: these ICs are taken directly from either the GFS in production or an experiment "warmed" up (at least one cycle in). +#. Cold start: any ICs converted to a new resolution or grid (e.g. GSM-GFS -> FV3GFS). These ICs are often prepared by chgres_cube (change resolution utility). + +Most users will initiate their experiments with cold start ICs unless running high resolution (C768 deterministic with C384 EnKF) for a date with warm starts available. It is `not recommended` to run high resolution unless required or as part of final testing. + +Resolutions: + +* C48 = 2­ degree ≈ 200km +* C96 = 1­ degree ≈ 100km +* C192 = 1/2­ degree ≈ 50km +* C384 = 1/4 degree ≈ 25km +* C768 = 1/8th degree ≈ 13km +* C1152 ≈ 9km +* C3072 ≈ 3km + +Supported resolutions in global-workflow: C48, C96, C192, C384, C768 + +^^^^^^^^^^^^^^^^^^^^ +Automated Generation +^^^^^^^^^^^^^^^^^^^^ + +*********** +Cycled mode +*********** + +Not yet supported. See Manual Generation section below for how to create your ICs yourself (outside of workflow). + +***************************** +Free-forecast mode (atm-only) +***************************** + +Free-forecast mode in global workflow includes ``getic`` and ``init`` jobs for the gfs suite. The ``getic`` job pulls inputs for ``chgres_cube`` (init job) or warm start ICs into your ``ROTDIR/COMROT``. The ``init`` job then ingests those files to produce initial conditions for your experiment. + +Users on machines without HPSS access (e.g. Orion) need to perform the ``getic`` step manually and stage inputs for the ``init`` job. The table below lists the needed files for ``init`` and where to place them in your ``ROTDIR``. + +Note for table: yyyy=year; mm=month; dd=day; hh=cycle + +Operations/production output location on HPSS: /NCEPPROD/hpssprod/runhistory/rh``yyyy``/``yyyymm``/``yyyymmdd``/ + ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| Source | Files | Tarball name | Where in ROTDIR | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| v12 ops | gfs.t``hh``z.sanl | com_gfs_prod_gfs.``yyyymmddhh``.anl.tar | gfs.``yyyymmdd``/``hh`` | +| | gfs.t``hh``z.sfcanl | | | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| v13 ops | gfs.t``hh``z.sanl | com2_gfs_prod_gfs.``yyyymmddhh``.anl.tar | gfs.``yyyymmdd``/``hh`` | +| | gfs.t``hh``z.sfcanl | | | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| v14 ops | gfs.t``hh``z.atmanl.nemsio | gpfs_hps_nco_ops_com_gfs_prod_gfs.``yyyymmddhh``.anl.tar | gfs.``yyyymmdd`/`hh`` | +| | gfs.t``hh``z.sfcanl.nemsio | | | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| v15 ops | gfs.t``hh``z.atmanl.nemsio | gpfs_dell1_nco_ops_com_gfs_prod_gfs.``yyyymmdd``_``hh``.gfs_nemsioa.tar | gfs.``yyyymmdd``/``hh`` | +| pre-2020022600 | gfs.t``hh``z.sfcanl.nemsio | | | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| v15 ops | gfs.t``hh``z.atmanl.nemsio | com_gfs_prod_gfs.``yyyymmdd``_``hh``.gfs_nemsioa.tar | gfs.``yyyymmdd``/``hh`` | +| | gfs.t``hh``z.sfcanl.nemsio | | | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| v16 ops | gfs.t``hh``z.atmanl.nc | com_gfs_prod_gfs.``yyyymmdd``_``hh``.gfs_nca.tar | gfs.``yyyymmdd``/``hh``/atmos| +| | gfs.t``hh``z.sfcanl.nc | | | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +| v16 retro | gfs.t``hh``z.atmanl.nc | gfs_netcdfa.tar* | gfs.``yyyymmdd``/``hh``/atmos| +| | gfs.t``hh``z.sfcanl.nc | | | ++----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ + +For HPSS path, see retrospective table in :ref:`pre-production parallel section `: below + +********************* +Free-forecast coupled +********************* + +Coupled initial conditions are currently only generated offline and copied prior to the forecast run. Prototype initial conditions will automatically be used when setting up an experiment as an S2SW app, there is no need to do anything additional. Copies of initial conditions from the prototype runs are currently maintained on Hera, Orion, and WCOSS2. The locations used are determined by ``parm/config/config.coupled_ic``. If you need prototype ICs on another machine, please contact Walter (Walter.Kolczynski@noaa.gov). + +^^^^^^^^^^^^^^^^^ +Manual Generation +^^^^^^^^^^^^^^^^^ + +NOTE: Initial conditions cannot be generated on S4. These must be generated on another supported platform then pushed to S4. If you do not have access to a supported system or need assistance, please contact David Huber (david.huber@noaa.gov). + +*********** +Cold starts +*********** + +The following information is for users needing to generate initial conditions for a cycled experiment that will run at a different resolution or layer amount than the operational GFS (C768C384L127). + +The ``chgres_cube`` code is available from the `UFS_UTILS repository `_ on GitHub and can be used to convert GFS ICs to a different resolution or number of layers. Users may clone the develop/HEAD branch or the same version used by global-workflow develop (found in sorc/checkout.sh). The ``chgres_cube`` code/scripts currently support the following GFS inputs: + +* pre-GFSv14 +* GFSv14 +* GFSv15 +* GFSv16 + +Clone UFS_UTILS:: + + git clone --recursive https://github.com/NOAA-EMC/UFS_UTILS.git + +Then switch to a different tag or use the default branch (develop). + +Build UFS_UTILS:: + + sh build_all.sh + cd fix + sh link_fixdirs.sh emc $MACHINE + +where ``$MACHINE`` is ``wcoss2``, ``hera``, ``jet``, or ``orion``. Note: UFS-UTILS builds on Orion but due to the lack of HPSS access on Orion the ``gdas_init`` utility is not supported there. + +Configure your conversion:: + + cd util/gdas_init + vi config + +Read the doc block at the top of the config and adjust the variables to meet you needs (e.g. ``yy, mm, dd, hh`` for ``SDATE``). + +Submit conversion script::` + + ./driver.$MACHINE.sh + +where ``$MACHINE`` is currently ``wcoss2``, ``hera`` or ``jet``. Additional options will be available as support for other machines expands. Note: UFS-UTILS builds on Orion but due to lack of HPSS access there is no ``gdas_init`` driver for Orion nor support to pull initial conditions from HPSS for the ``gdas_init`` utility. + +3 small jobs will be submitted: + + - 1 jobs to pull inputs off HPSS + - 2 jobs to run ``chgres_cube`` (1 for deterministic/hires and 1 for each EnKF ensemble member) + +The chgres jobs will have a dependency on the data-pull jobs and will wait to run until all data-pull jobs have completed. + +Check output: + +In the config you will have defined an output folder called ``$OUTDIR``. The converted output will be found there, including the needed abias and radstat initial condition files. The files will be in the needed directory structure for the global-workflow system, therefore a user can move the contents of their ``$OUTDIR`` directly into their ``$ROTDIR/$COMROT``. + +Please report bugs to George Gayno (george.gayno@noaa.gov) and Kate Friedman (kate.friedman@noaa.gov). + +***************************** +Warm starts (from production) +***************************** + +The GFSv15 was implemented into production on June 12th, 2019 at 12z. The GFS was spun up ahead of that cycle and thus production output for the system is available from the 00z cycle (2019061200) and later. Production output tarballs from the prior GFSv14 system are located in the same location on HPSS but have "hps" in the name to represent that it was run on the Cray, where as the GFS now runs in production on the Dell and has "dell1" in the tarball name. + +See production output in the following location on HPSS: + +``/NCEPPROD/hpssprod/runhistory/rhYYYY/YYYYMM/YYYYMMDD`` + +Example location: + +``/NCEPPROD/hpssprod/runhistory/rh2021/202104/20210420`` + +Example listing for 2021042000 production tarballs:: + + [Kate.Friedman@m72a2 ~]$ hpsstar dir /NCEPPROD/hpssprod/runhistory/rh2021/202104/20210420 | grep gfs | grep _00. | grep -v idx + [connecting to hpsscore1.fairmont.rdhpcs.noaa.gov/1217] + ****************************************************************** + * Welcome to the NESCC High Performance Storage System * + * * + * Current HPSS version: 7.5.3 * + * * + * * + * Please Submit Helpdesk Request to * + * rdhpcs.hpss.help@noaa.gov * + * * + * Announcements: * + ****************************************************************** + Username: Kate.Friedman UID: 2391 Acct: 2391(2391) Copies: 1 COS: 0 Firewall: off [hsi.6.3.0.p1-hgs Thu May 7 09:16:23 UTC 2020] + /NCEPPROD/hpssprod/runhistory/rh2021/202104: + drwxr-xr-x 2 nwprod prod 11776 Apr 19 23:44 20210420 + [connecting to hpsscore1.fairmont.rdhpcs.noaa.gov/1217] + -rw-r----- 1 nwprod rstprod 51268255744 Apr 22 05:29 com_gfs_prod_enkfgdas.20210420_00.enkfgdas.tar + -rw-r--r-- 1 nwprod prod 220121310720 Apr 22 06:42 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp1.tar + -rw-r--r-- 1 nwprod prod 220124178944 Apr 22 07:04 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp2.tar + -rw-r--r-- 1 nwprod prod 220120305664 Apr 22 07:24 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp3.tar + -rw-r--r-- 1 nwprod prod 220116934656 Apr 22 07:38 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp4.tar + -rw-r--r-- 1 nwprod prod 220121547776 Apr 22 07:56 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp5.tar + -rw-r--r-- 1 nwprod prod 220125794816 Apr 22 08:09 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp6.tar + -rw-r--r-- 1 nwprod prod 220117037568 Apr 22 08:23 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp7.tar + -rw-r--r-- 1 nwprod prod 220117203968 Apr 22 08:33 com_gfs_prod_enkfgdas.20210420_00.enkfgdas_restart_grp8.tar + -rw-r----- 1 nwprod rstprod 9573153280 Apr 22 02:49 com_gfs_prod_gdas.20210420_00.gdas.tar + -rw-r--r-- 1 nwprod prod 1020249088 Apr 22 02:49 com_gfs_prod_gdas.20210420_00.gdas_flux.tar + -rw-r--r-- 1 nwprod prod 92950728704 Apr 22 03:05 com_gfs_prod_gdas.20210420_00.gdas_nc.tar + -rw-r--r-- 1 nwprod prod 10647806464 Apr 22 02:50 com_gfs_prod_gdas.20210420_00.gdas_pgrb2.tar + -rw-r----- 1 nwprod rstprod 65121796608 Apr 22 02:56 com_gfs_prod_gdas.20210420_00.gdas_restart.tar + -rw-r--r-- 1 nwprod prod 18200814080 Apr 22 03:06 com_gfs_prod_gdas.20210420_00.gdaswave_keep.tar + -rw-r----- 1 nwprod rstprod 13013076992 Apr 22 03:08 com_gfs_prod_gfs.20210420_00.gfs.tar + -rw-r--r-- 1 nwprod prod 62663230976 Apr 22 03:13 com_gfs_prod_gfs.20210420_00.gfs_flux.tar + -rw-r--r-- 1 nwprod prod 127932879360 Apr 22 03:47 com_gfs_prod_gfs.20210420_00.gfs_nca.tar + -rw-r--r-- 1 nwprod prod 138633526272 Apr 22 04:00 com_gfs_prod_gfs.20210420_00.gfs_ncb.tar + -rw-r--r-- 1 nwprod prod 140773240832 Apr 22 03:27 com_gfs_prod_gfs.20210420_00.gfs_pgrb2.tar + -rw-r--r-- 1 nwprod prod 61253672960 Apr 22 03:32 com_gfs_prod_gfs.20210420_00.gfs_pgrb2b.tar + -rw-r--r-- 1 nwprod prod 19702107136 Apr 22 03:34 com_gfs_prod_gfs.20210420_00.gfs_restart.tar + -rw-r--r-- 1 nwprod prod 18617610240 Apr 22 04:02 com_gfs_prod_gfs.20210420_00.gfswave_output.tar + -rw-r--r-- 1 nwprod prod 30737774592 Apr 22 04:05 com_gfs_prod_gfs.20210420_00.gfswave_raw.tar + +The warm starts and other output from production are at C768 deterministic and C384 EnKF. The warm start files must be converted to your desired resolution(s) using ``chgres_cube`` if you wish to run a different resolution. If you are running a C768/C384 experiment you can use them as is. + +.. _fix-netcdf: + +------------------------- +Fix NetCDF checksum issue +------------------------- + +Due to a recent change in UFS, the setting to bypass the data verification no longer works, so you may also need an additional offline step to delete the checksum of the NetCDF files for warm start: + +On RDHPCS:: + + module load nco/4.9.3 + +On WCOSS2:: + + module load intel/19.1.3.304 + module load netcdf/4.7.4 + module load udunits/2.2.28 + module load gsl/2.7 + module load nco/4.7.9 + +And then on all platforms:: + + cd $COMROT + for f in $(find ./ -name *tile*.nc); do echo $f; ncatted -a checksum,,d,, $f; done + +------------------------------------------------------------------------------------------ +What files should you pull for starting a new experiment with warm starts from production? +------------------------------------------------------------------------------------------ + +That depends on what mode you want to run -- free-forecast or cycled. Whichever mode navigate to the top of your ``COMROT`` and pull the entirety of the tarball(s) listed below for your mode. The files within the tarball are already in the ``$CDUMP.$PDY/$CYC`` folder format expected by the system. + +For free-forecast there are two tar balls to pull + + 1. File #1 (for starting cycle SDATE):: + /NCEPPROD/hpssprod/runhistory/rhYYYY/YYYYMM/YYYYMMDD/com_gfs_prod_gfs.YYYYMMDD_CC.gfs_restart.tar + 2. File #2 (for prior cycle GDATE=SDATE-06):: + /NCEPPROD/hpssprod/runhistory/rhYYYY/YYYYMM/YYYYMMDD/com_gfs_prod_gdas.YYYYMMDD_CC.gdas_restart.tar + + For cycled mode there 18 tarballs to pull (9 for SDATE and 9 for GDATE (SDATE-06)):: + + HPSS path: /NCEPPROD/hpssprod/runhistory/rhYYYY/YYYYMM/YYYYMMDD/ + +Tarballs per cycle:: + + com_gfs_prod_gdas.YYYYMMDD_CC.gdas_restart.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp1.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp2.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp3.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp4.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp5.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp6.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp7.tar + com_gfs_prod_enkfgdas.YYYYMMDD_CC.enkfgdas_restart_grp8.tar + +Go to the top of your ``COMROT/ROTDIR`` and pull the contents of all tarballs there. The tarballs already contain the needed directory structure. + +******************************************* +Warm starts (from pre-production parallels) +******************************************* + +Recent pre-implementation parallel series was for GFS v16 (implemented March 2021). For the prior v15 (Q2FY19) see an additional table below. + +* **What resolution are warm-starts available for?** Warm-start ICs are saved at the resolution the model was run at (C768/C384) and can only be used to run at the same resolution combination. If you need to run a different resolution you will need to make your own cold-start ICs. See cold start section above. +* **What dates have warm-start files saved?** Unfortunately the frequency changed enough during the runs that it’s not easy to provide a definitive list easily. +* **What files?** All warm-starts are saved in separate tarballs which include “restart” in the name. You need to pull the entirety of each tarball, all files included in the restart tarballs are needed. +* **Where are these tarballs?** See below for the location on HPSS for each v16 pre-implementation parallel. +* **What tarballs do I need to grab for my experiment?** Tarballs from two cycles are required. The tarballs are listed below, where $CDATE is your starting cycle and $GDATE is one cycle prior. + + - Free-forecast + + ../$CDATE/gfs_restarta.tar + + ../$GDATE/gdas_restartb.tar + - Cycled w/EnKF + + ../$CDATE/gdas_restarta.tar + + ../$CDATE/enkfgdas_restarta_grp##.tar (where ## is 01 through 08) (note, older tarballs may include a period between enkf and gdas: "enkf.gdas") + + ../$GDATE/gdas_restartb.tar + + ../$GDATE/enkfgdas_restartb_grp##.tar (where ## is 01 through 08) (note, older tarballs may include a period between enkf and gdas: "enkf.gdas") + +* **Where do I put the warm-start initial conditions?** Extraction should occur right inside your COMROT. You may need to rename the enkf folder (enkf.gdas.$PDY -> enkfgdas.$PDY). + +Due to a recent change in the dycore, you may also need an additional offline step to fix the checksum of the NetCDF files for warm start. See the :ref:`fix netcdf checksum section `: above + +.. _retrospective: + +-------------------------------------------------------------- +GFSv16 (March 2021) Pre-Implementation Parallel HPSS Locations +-------------------------------------------------------------- + ++-----------------------------+---------------+--------------------------------------------------+ +| Time Period | Parallel Name | Archive Location on HPSS | +| | | PREFIX=/NCEPDEV/emc-global/5year/emc.glopara | ++-----------------------------+---------------+--------------------------------------------------+ +| 2019050106 ~ 2019060100 | v16retro0e | $PREFIX/WCOSS_D/gfsv16/v16retro0e/``yyyymmddhh`` | ++-----------------------------+---------------+--------------------------------------------------+ +| 2019060106 ~ 2019083118 | v16retro1e | $PREFIX/WCOSS_D/gfsv16/v16retro1e/`yyyymmddhh`` | ++-----------------------------+---------------+--------------------------------------------------+ +| 2019090100 ~ 2019110918 | v16retro2e | $PREFIX/WCOSS_D/gfsv16/v16retro2e/`yyyymmddhh`` | ++-----------------------------+---------------+--------------------------------------------------+ +| 2019111000 ~ 2020122200 | v16rt2 | $PREFIX/WCOSS_D/gfsv16/v16rt2/``yyyymmddhh`` | ++-----------------------------+---------------+--------------------------------------------------+ +| 2020122206 ~ implementation | v16rt2n | $PREFIX/WCOSS_D/gfsv16/v16rt2n/``yyyymmddhh`` | ++-----------------------------+---------------+--------------------------------------------------+ + +---------------------------------------------------------- +GFSv15 (Q2FY19) Pre-Implementation Parallel HPSS Locations +---------------------------------------------------------- + ++---------------------+-----------------+-----------------------------------------------------------+ +| Time Period | Parallel Name | Archive Location on HPSS | +| | | PREFIX=/NCEPDEV/emc-global/5year | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20180525 - 20190612 | prfv3rt1 | $PREFIX/emc.glopara/WCOSS_C/Q2FY19/prfv3rt1 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20171125 - 20170831 | fv3q2fy19retro1 | $PREFIX/Fanglin.Yang/WCOSS_DELL_P3/Q2FY19/fv3q2fy19retro1 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20170525 - 20170625 | fv3q2fy19retro2 | $PREFIX/emc.glopara/WCOSS_C/Q2FY19/fv3q2fy19retro2 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20170802 - 20171130 | fv3q2fy19retro2 | $PREFIX/Fanglin.Yang/WCOSS_DELL_P3/Q2FY19/fv3q2fy19retro2 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20161125 - 20170531 | fv3q2fy19retro3 | $PREFIX/Fanglin.Yang/WCOSS_DELL_P3/Q2FY19/fv3q2fy19retro3 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20160817 - 20161130 | fv3q2fy19retro4 | $PREFIX/emc.glopara/WCOSS_DELL_P3/Q2FY19/fv3q2fy19retro4 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20160522 - 20160825 | fv3q2fy19retro4 | $PREFIX/emc.glopara/WCOSS_C/Q2FY19/fv3q2fy19retro4 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20151125 - 20160531 | fv3q2fy19retro5 | $PREFIX/emc.glopara/WCOSS_DELL_P3/Q2FY19/fv3q2fy19retro5 | ++---------------------+-----------------+-----------------------------------------------------------+ +| 20150503 - 20151130 | fv3q2fy19retro6 | $PREFIX/emc.glopara/WCOSS_DELL_P3/Q2FY19/fv3q2fy19retro6 | ++---------------------+-----------------+-----------------------------------------------------------+ diff --git a/docs/source/output.rst b/docs/source/output.rst new file mode 100644 index 0000000000..5ccbbb0fc1 --- /dev/null +++ b/docs/source/output.rst @@ -0,0 +1,20 @@ +############### +Plotting Output +############### + +=============== +Analysis output +=============== + +The `GSI Monitor `_ repository contains a monitoring package called **RadMon**. This package reads the information on the radiances contained in the radstat files, such as quality control flags and departure statistics, and produces a webpage with many plots such as time series of data counts for a particular instrument. You can also directly compare two different experiments with this tool. If there are quantities that you are interested in but the RadMon package is not plotting them for you, you can use the existing RadMon code as a guide for how to read them and plot them yourself. The radstat files contain a wealth of information. + +The RadMon package can be found under the ``src/Radiance_Monitor`` folder within the `GSI Monitor`_. If checked out under global-workflow you will find it under ``gsi_monitor.fd/src/Radiance_Monitor``. + +If you have questions or issues getting the package to work for you please contact the developer of RadMon: Ed Safford (edward.safford@noaa.gov). + +=============== +Forecast output +=============== + +This section will be updated when we have some basic plotting utilities using EMCPY + diff --git a/docs/source/run.rst b/docs/source/run.rst new file mode 100644 index 0000000000..0be4372ce1 --- /dev/null +++ b/docs/source/run.rst @@ -0,0 +1,12 @@ +################### +Run Global Workflow +################### + +Here we will show how you can run an experiment using the Global Workflow. The Global workflow is regularly evolving and the underlying UFS-weather-model that it drives can run many different configurations. So this part of the document will be regularly updated. The workflow as it is configured today can be run as forecast only or cycled (forecast+Data Assimilation). Since cycled mode requires a number of Data Assimilation supporting repositories to be checked out, the instructions for the two modes from initial checkout stage will be slightly different. Apart from this there is a third mode that is rarely used in development mode and is primarily for operational use. This mode switches on specialized post processing needed by the avaiation industry. Since the files associated with this mode are restricted, only few users will have need and/or ability to run in this mode. + +.. toctree:: + :hidden: + + clone.rst + init.rst + From 6c3db676ff39c123f8e8d0857b4c7e81905d1cd9 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Fri, 13 Jan 2023 18:57:08 -0500 Subject: [PATCH 03/11] Third update for Sphinx documentation --- docs/source/components.rst | 6 +++--- docs/source/development.rst | 10 +++++----- docs/source/index.rst | 3 +++ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/source/components.rst b/docs/source/components.rst index 15d9ca2158..0f392fc9b5 100644 --- a/docs/source/components.rst +++ b/docs/source/components.rst @@ -55,7 +55,7 @@ Observation data (OBSPROC/prep) Data **** -Observation data, also known as dump data, is prepared in production and then archived in a global dump archive (GDA) for use by users when running cycled experiment. The GDA ($DMPDIR) is available on supported platforms and the workflow system knows where to find the data. +Observation data, also known as dump data, is prepared in production and then archived in a global dump archive (GDA) for use by users when running cycled experiment. The GDA (identified as ``$DMPDIR`` in the workflow) is available on supported platforms and the workflow system knows where to find the data. * Hera: /scratch1/NCEPDEV/global/glopara/dump * Orion: /work/noaa/rstprod/dump @@ -66,9 +66,9 @@ Observation data, also known as dump data, is prepared in production and then ar Global Dump Archive Structure ----------------------------- -The global dump archive (GDA) mimics the structure of its production source: `DMPDIR/CDUMP.PDY/[CC/atmos/]FILES` +The global dump archive (GDA) mimics the structure of its production source: ``DMPDIR/CDUMP.PDY/[CC/atmos/]FILES`` -The CDUMP is either gdas, gfs, or rtofs. All three contain production output for each day (PDY). The gdas and gfs folders are further broken into cycle (CC) and component (atmos). +The ``CDUMP`` is either gdas, gfs, or rtofs. All three contain production output for each day (``PDY``). The gdas and gfs folders are further broken into cycle (``CC``) and component (atmos). The GDA also contains special versions of some datasets and experimental data that is being evaluated ahead of implementation into production. The following subfolder suffixes exist: diff --git a/docs/source/development.rst b/docs/source/development.rst index d66a065c99..6c2c0ce4fb 100644 --- a/docs/source/development.rst +++ b/docs/source/development.rst @@ -55,7 +55,7 @@ How to get changes into develop (HEAD) branch The following steps should be followed in order to make changes to the develop branch of global-workflow. Communication with the code managers throughout the process is encouraged. - #. Issue - Open issue to document changes. Reference this issue in commits to your branches (e.g. git commit -m "Issue #23 - blah changes for what-not code") Click `here `__ to open a new global-workflow issue. + #. Issue - Open issue to document changes. Reference this issue in commits to your branches (e.g. ``git commit -m "Issue #23 - blah changes for what-not code"``) Click `here `__ to open a new global-workflow issue. #. GitFlow - Follow `GitFlow `_ procedures for development (branch names, forking vs branching, etc.). Read more `here `__ about GitFlow at EMC. #. To fork or not to fork? - If not working within authoritative repository create a fork of the authoritative repository. Read more `here `__ about forking in GitHub. #. Branch - Create branch in either authoritative repository or fork of authoritative repository. See the `Where to do development? `_ section for how to determine where. Follow Gitflow conventions when creating branch. @@ -91,7 +91,7 @@ Commit message standards * Use the `imperative mood `_ in the subject line * Wrap the body at 72 characters * Use the body to explain what and why vs. how - * The final line of the commit message should include tags to relevant issues (e.g. `Refs: #217, #300`) + * The final line of the commit message should include tags to relevant issues (e.g. ``Refs: #217, #300``) Here is the example commit message from the article linked above; it includes descriptions of what would be in each part of the commit message for guidance: @@ -118,10 +118,10 @@ Here is the example commit message from the article linked above; it includes de vary here If you use an issue tracker, put references to them at the bottom, - like this: + like this:: - Resolves: #123 - See also: #456, #789 + Resolves: #123 + See also: #456, #789 A detailed commit message is very useful for documenting changes diff --git a/docs/source/index.rst b/docs/source/index.rst index de2e8f5da8..aa953c7f3d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -34,3 +34,6 @@ GitHub updates: Users should adjust their "Watch" settings for this repo so they development.rst components.rst jobs.rst + hpc.rst + output.rst + run.rst From 029d323285012c2e699ac62d15abe302238cb852 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Fri, 13 Jan 2023 22:11:01 -0500 Subject: [PATCH 04/11] Commit to try to use RTD theme --- docs/requirements.txt | 2 ++ docs/source/conf.py | 61 +++++++++++++++++++++++++++++++++++++++---- docs/source/index.rst | 3 ++- 3 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 docs/requirements.txt diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000000..9c7258463b --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,2 @@ +sphinxcontrib-bibtex +sphinx_rtd_theme diff --git a/docs/source/conf.py b/docs/source/conf.py index 0c231f57f9..80d3969ad1 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -10,9 +10,9 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # -# import os -# import sys -# sys.path.insert(0, os.path.abspath('.')) +import os +import sys +sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- @@ -31,25 +31,76 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.intersphinx', + 'sphinx.ext.todo', + 'sphinx.ext.coverage', + 'sphinx.ext.mathjax', + 'sphinx.ext.ifconfig', + 'sphinx.ext.viewcode', + 'sphinx.ext.githubpages', + 'sphinx.ext.napoleon' ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = [] +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'alabaster' +html_theme = 'sphinx_rtd_theme' +html_theme_path = ["_themes", ] + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} +html_theme_options = {"body_max_width": "none"} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] \ No newline at end of file +html_static_path = ['_static'] +html_context = {} + +def setup(app): + app.add_css_file('custom.css') # may also be an URL + app.add_css_file('theme_overrides.css') # may also be an URL + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'Global-Workflow' diff --git a/docs/source/index.rst b/docs/source/index.rst index aa953c7f3d..7a73e88c26 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -29,7 +29,8 @@ General updates: NOAA employees and affiliates can join the gfs-announce distrib GitHub updates: Users should adjust their "Watch" settings for this repo so they receive notifications as they'd like to. Find the "Watch" or "Unwatch" button towards the top right of this page and click it to adjust how you watch this repo. .. toctree:: - :hidden: + :numbered: + :maxdepth: 3 development.rst components.rst From 8dd55395d340ebab722fcc3541d767e4b2dcd31f Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Fri, 13 Jan 2023 22:23:15 -0500 Subject: [PATCH 05/11] Updating to work with RTD theme --- docs/source/conf.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 80d3969ad1..f7c011668f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -40,9 +40,12 @@ 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', 'sphinx.ext.githubpages', - 'sphinx.ext.napoleon' + 'sphinx.ext.napoleon', + 'sphinxcontrib.bibtex' ] +bibtex_bibfiles = ['references.bib'] + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] From 69cedff052120773d118e1f4bd6ee244f2c41ff4 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Sun, 15 Jan 2023 01:43:35 -0500 Subject: [PATCH 06/11] Updated Sphinx documentation with more information for running experiment --- docs/source/conf.py | 2 +- docs/source/configure.rst | 71 ++++++++++ docs/source/init.rst | 4 +- docs/source/run.rst | 4 +- docs/source/setup.rst | 264 ++++++++++++++++++++++++++++++++++++++ docs/source/start.rst | 45 +++++++ 6 files changed, 386 insertions(+), 4 deletions(-) create mode 100644 docs/source/configure.rst create mode 100644 docs/source/setup.rst create mode 100644 docs/source/start.rst diff --git a/docs/source/conf.py b/docs/source/conf.py index f7c011668f..3ea246b2fb 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -73,7 +73,7 @@ # a list of builtin themes. # html_theme = 'sphinx_rtd_theme' -html_theme_path = ["_themes", ] +html_theme_path = ["_themes", ] # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the diff --git a/docs/source/configure.rst b/docs/source/configure.rst new file mode 100644 index 0000000000..5fafddeeee --- /dev/null +++ b/docs/source/configure.rst @@ -0,0 +1,71 @@ +============= +Configure Run +============= + +The global-workflow configs contain default settings that match operations. Users wishing to run with different settings should adjust their $EXPDIR configs and then rerun the ``setup_workflow[_fcstonly].py`` script since some configuration settings/switches change the workflow/xml ("Adjusts XML" column value is "YES"). + ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| Switch | What | Default | Adjusts XML | More Details | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| EXP_WARM_START | Is experiment starting warm | .false. | NO | Impacts IAU settings for initial cycle. Can also | +| | (.true.) or cold (.false)? | | | be set when running setup_expy[_fcstonly].py | +| | | | | script with --start flag (e.g. --start warm) | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| RETRO | Use retrospective parallel | NO | NO | Default of NO will tell getic job to pull from | +| | for ICs | | | production tapes. | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| RUN_CCPP | Run CCPP | NO | NO | If YES, set desired suite for CCPP_SUITE | +| | | | | variable [#]_ | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| QUILTING | Use I/O quilting | .true. | NO | If .true. choose OUTPUT_GRID as cubed_sphere_grid | +| | | | | in netcdf or gaussian_grid | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| OUTPUT_GRID | Output grid type | gaussian_grid | NO | If gaussian_grid, set OUTPUT_FILE for nemsio or | +| | | | | netcdf | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| OUTPUT_FILE | Output file type | netcdf | NO | GFSv16 uses netcdf, GFSv15 used nemsio, recommend | +| | | | | netcdf | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| WRITE_DOPOST | Run inline post | .true. | NO | If .true. produces master post output in forecast | +| | | | | job | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DOIAU | Enable 4DIAU for control | YES | NO | New for GFSv16 | +| | with 3 increments | | | | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DOHYBVAR | Run EnKF | YES | YES | Don't recommend turning off | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DONST | Run NSST | YES | NO | If YES, turns on NSST in anal/fcst steps, and | +| | | | | turn off rtgsst | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_GLDAS | Run GLDAS to spin up land | YES | YES | Spins up for 84hrs if sflux files not available | +| | ICs | | | | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_WAVE | Runs wave jobs and produce | YES | YES | One-way wave coupling, new for GFSv16 | +| | wave forecast output | | | | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_BUFRSND | Run job to produce BUFR | NO | YES | downstream processing | +| | sounding products | | | | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_GEMPAK | Run job to produce GEMPAK | NO | YES | downstream processing, ops only | +| | products | | | | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_AWIPS | Run jobs to produce AWIPS | NO | YES | downstream processing, ops only | +| | products | | | | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| WAFSF | Run jobs to produce WAFS | NO | YES | downstream processing, ops only | +| | products | | | | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_VRFY | Run vrfy job | NO | YES | Whether to include vrfy job (GSI monitoring, | +| | | | | tracker, VSDB, fit2obs) | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_METP | Run METplus jobs | YES | YES | One cycle spinup | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| DO_VSDB | Run VSDB package | YES | NO | Retiring in GFSv17+ | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ +| LOCALARCH | Archive to a local directory | NO | Possibly | Instead of archiving data to HPSS, archive to a | +| | | | | local directory, specified by ATARDIR. If | +| | | | | LOCALARCH=YES, then HPSSARCH must =NO. Changing | +| | | | | HPSSARCH from YES to NO will adjust the XML. | ++----------------+------------------------------+---------------+-------------+---------------------------------------------------+ + +.. [#] CCPP will become default soon, variable may be removed. diff --git a/docs/source/init.rst b/docs/source/init.rst index efe1708d45..f0ac71e330 100644 --- a/docs/source/init.rst +++ b/docs/source/init.rst @@ -288,9 +288,9 @@ GFSv16 (March 2021) Pre-Implementation Parallel HPSS Locations +-----------------------------+---------------+--------------------------------------------------+ | 2019050106 ~ 2019060100 | v16retro0e | $PREFIX/WCOSS_D/gfsv16/v16retro0e/``yyyymmddhh`` | +-----------------------------+---------------+--------------------------------------------------+ -| 2019060106 ~ 2019083118 | v16retro1e | $PREFIX/WCOSS_D/gfsv16/v16retro1e/`yyyymmddhh`` | +| 2019060106 ~ 2019083118 | v16retro1e | $PREFIX/WCOSS_D/gfsv16/v16retro1e/``yyyymmddhh`` | +-----------------------------+---------------+--------------------------------------------------+ -| 2019090100 ~ 2019110918 | v16retro2e | $PREFIX/WCOSS_D/gfsv16/v16retro2e/`yyyymmddhh`` | +| 2019090100 ~ 2019110918 | v16retro2e | $PREFIX/WCOSS_D/gfsv16/v16retro2e/``yyyymmddhh`` | +-----------------------------+---------------+--------------------------------------------------+ | 2019111000 ~ 2020122200 | v16rt2 | $PREFIX/WCOSS_D/gfsv16/v16rt2/``yyyymmddhh`` | +-----------------------------+---------------+--------------------------------------------------+ diff --git a/docs/source/run.rst b/docs/source/run.rst index 0be4372ce1..3ee6a0c6eb 100644 --- a/docs/source/run.rst +++ b/docs/source/run.rst @@ -9,4 +9,6 @@ Here we will show how you can run an experiment using the Global Workflow. The G clone.rst init.rst - + setup.rst + configure.rst + start.rst diff --git a/docs/source/setup.rst b/docs/source/setup.rst new file mode 100644 index 0000000000..28ed697b0d --- /dev/null +++ b/docs/source/setup.rst @@ -0,0 +1,264 @@ +================ +Experiment Setup +================ + + Global workflow uses a set of scripts to help configure and set up the drivers (also referred to as Workflow Manager) that run the end-to-end system. While currently we use a `ROCOTO `__ based system and that is documented here, an `ecFlow `__ based systm is also under development and will be introduced to the Global Workflow when it is mature. To run the setup scripts, you need to make sure to have a copy of ``python3`` with ``numpy`` available. The easiest way to guarantee this is to load python from the `official hpc-stack installation `_ for the machine you are on: + +Hera:: + + module use -a /contrib/anaconda/modulefiles + module load anaconda/anaconda3-5.3.1 + +Orion:: + + module load python/3.7.5 + +WCOSS2:: + + module load python/3.8.6 + +S4:: + + module load miniconda/3.8-s4 + +If running with Rocoto make sure to have a Rocoto module loaded before running setup scripts: + +Hera:: + + module load rocoto/1.3.3 + +Orion:: + + module load contrib + module load rocoto/1.3.3 + +WCOSS2:: + + module use /apps/ops/test/nco/modulefiles/ + module load core/rocoto/1.3.5 + +S4:: + + module load rocoto/1.3.4 + +^^^^^^^^^^^^^^^^^^^^^^^^ +Free-forecast experiment +^^^^^^^^^^^^^^^^^^^^^^^^ + +Scripts that will be used: + + * workflow/setup_expt.py + * workflow/setup_xml.py + +*************************************** +Step 1: Run experiment generator script +*************************************** + +The following command examples include variables for reference but users should not use environmental variables but explicit values to submit the commands. Exporting variables like EXPDIR to your environment causes an error when the python scripts run. Please explicitly include the argument inputs when running both setup scripts:: + + cd workflow + ./setup_expt.py forecast-only --idate $IDATE --edate $EDATE [--app $APP] [--start $START] [--gfs_cyc $GFS_CYC] [--resdet $RESDET] + [--pslot $PSLOT] [--configdir $CONFIGDIR] [--comrot $COMROT] [--expdir $EXPDIR] [--icsdir $ICSDIR] + +where: + + * ``forecast-only`` is the first positional argument that instructs the setup script to produce an experiment directory for forecast only experiments. + * $APP is the target application, one of: + + - ATM: atmosphere-only [default] + - ATMW: atm-wave + - ATMA: atm-aerosols + - S2S: atm-ocean-ice + - S2SW: atm-ocean-ice-wave + - S2SWA: atm-ocean-ice-wave-aerosols + + * $START is the start type (warm or cold [default]) + * $IDATE is the initial start date of your run (first cycle CDATE, YYYYMMDDCC) + * $EDATE is the ending date of your run (YYYYMMDDCC) and is the last cycle that will complete + * $PSLOT is the name of your experiment [default: test] + * $CONFIGDIR is the path to the /config folder under the copy of the system you're using [default: $TOP_OF_CLONE/parm/config/] + * $RESDET is the FV3 resolution (i.e. 768 for C768) [default: 384] + * $GFS_CYC is the forecast frequency (0 = none, 1 = 00z only [default], 2 = 00z & 12z, 4 = all cycles) + * $COMROT is the path to your experiment output directory. DO NOT include PSLOT folder at end of path, it’ll be built for you. [default: $HOME] + * $EXPDIR is the path to your experiment directory where your configs will be placed and where you will find your workflow monitoring files (i.e. rocoto database and xml file). DO NOT include PSLOT folder at end of path, it will be built for you. [default: $HOME] + * $ICSDIR is the path to the initial conditions. This is handled differently depending on whether $APP is S2S or not. + + - If $APP is ATM or ATMW, this setting is currently ignored + - If $APP is S2S or S2SW, ICs are copied from the central location to this location and the argument is required + +Examples: + +Atm-only:: + + cd workflow + ./setup_expt.py forecast-only --pslot test --idate 2020010100 --edate 2020010118 --resdet 384 --gfs_cyc 4 --comrot /some_large_disk_area/Joe.Schmo/comrot --expdir /some_safe_disk_area/Joe.Schmo/expdir + +Coupled:: + + cd workflow + ./setup_expt.py forecast-only --app S2SW --pslot coupled_test --idate 2013040100 --edate 2013040100 --resdet 384 --comrot /some_large_disk_area/Joe.Schmo/comrot --expdir /some_safe_disk_area/Joe.Schmo/expdir --icsdir /some_large_disk_area/Joe.Schmo/icsdir + +Coupled with aerosols:: + + cd workflow + ./setup_expt.py forecast-only --app S2SWA --pslot coupled_test --idate 2013040100 --edate 2013040100 --resdet 384 --comrot /some_large_disk_area/Joe.Schmo/comrot --expdir /some_safe_disk_area/Joe.Schmo/expdir --icsdir /some_large_disk_area/Joe.Schmo/icsdir + +**************************************** +Step 2: Set user and experiment settings +**************************************** + +Go to your EXPDIR and check/change the following variables within your config.base now before running the next script: + + * ACCOUNT + * HOMEDIR + * STMP + * PTMP + * ARCDIR (location on disk for online archive used by verification system) + * HPSSARCH (YES turns on archival) + * HPSS_PROJECT (project on HPSS if archiving) + * ATARDIR (location on HPSS if archiving) + +If you are using cycling, also change these: + + * imp_physics from 8 (Thompson) to 11 (GFDL) + * CCPP_SUITE to FV3_GFS_v16 (or another suite that uses GFDL) [#]_ + +.. [#] This is a temporary measure until cycling mode works with Thompson + +Some of those variables will be found within a machine-specific if-block so make sure to change the correct ones for the machine you'll be running on. + +Now is also the time to change any other variables/settings you wish to change in config.base or other configs. `Do that now.` Once done making changes to the configs in your EXPDIR go back to your clone to run the second setup script. See :doc: configure.rst for more information on configuring your run. + +************************************* +Step 3: Run workflow generator script +************************************* + +This step sets up the files needed by the Workflow Manager/Driver. At this moment only ROCOTO configurations are generated:: + + ./setup_xml.py $EXPDIR/$PSLOT + +Example:: + + ./setup_xml.py /some_safe_disk_area/Joe.Schmo/expdir/test + +**************************************** +Step 4: Confirm files from setup scripts +**************************************** + +You will now have a rocoto xml file in your EXPDIR ($PSLOT.xml) and a crontab file generated for your use. Rocoto uses CRON as the scheduler. If you do not have a crontab file you may not have had the rocoto module loaded. To fix this load a rocoto module and then rerun setup_xml.py script again. Follow directions for setting up the rocoto cron on the platform the experiment is going to run on. + +^^^^^^^^^^^^^^^^^ +Cycled experiment +^^^^^^^^^^^^^^^^^ + +Scripts that will be used: + + * workflow/setup_expt.py + * workflow/setup_xml.py + +*************************************** +Step 1) Run experiment generator script +*************************************** + +The following command examples include variables for reference but users should not use environmental variables but explicit values to submit the commands. Exporting variables like EXPDIR to your environment causes an error when the python scripts run. Please explicitly include the argument inputs when running both setup scripts:: + + cd workflow + ./setup_expt.py cycled --idate $IDATE --edate $EDATE [--app $APP] [--start $START] [--gfs_cyc $GFS_CYC] + [--resdet $RESDET] [--resens $RESENS] [--nens $NENS] [--cdump $CDUMP] + [--pslot $PSLOT] [--configdir $CONFIGDIR] [--comrot $COMROT] [--expdir $EXPDIR] [--icsdir $ICSDIR] + +where: + + * ``cycled`` is the first positional argument that instructs the setup script to produce an experiment directory for cycled experiments. + * $APP is the target application, one of[#]_: + + - ATM: atmosphere-only [default] + - ATMW: atm-wave + + * $IDATE is the initial start date of your run (first cycle CDATE, YYYYMMDDCC) + * $EDATE is the ending date of your run (YYYYMMDDCC) and is the last cycle that will complete + * $START is the start type (warm or cold [default]) + * $GFS_CYC is the forecast frequency (0 = none, 1 = 00z only [default], 2 = 00z & 12z, 4 = all cycles) + * $RESDET is the FV3 resolution of the deterministic forecast [default: 384] + * $RESENS is the FV3 resolution of the ensemble (EnKF) forecast [default: 192] + * $NENS is the number of ensemble members [default: 20] + * $CDUMP is the starting phase [default: gdas] + * $PSLOT is the name of your experiment [default: test] + * $CONFIGDIR is the path to the /config folder under the copy of the system you're using [default: $TOP_OF_CLONE/parm/config/] + * $COMROT is the path to your experiment output directory. DO NOT include PSLOT folder at end of path, it’ll be built for you. [default: $HOME] + * $EXPDIR is the path to your experiment directory where your configs will be placed and where you will find your workflow monitoring files (i.e. rocoto database and xml file). DO NOT include PSLOT folder at end of path, it will be built for you. [default: $HOME] + * $ICSDIR is the path to the ICs for your run if generated separately. [default: None] + +.. [#] More Coupled configurations in cycled mode are currently under development and not yet available + +Example:: + + cd workflow + ./setup_expt.py cycled --pslot test --configdir /home/Joe.Schmo/git/global-workflow/parm/config --idate 2020010100 --edate 2020010118 --comrot /some_large_disk_area/Joe.Schmo/comrot --expdir /some_safe_disk_area/Joe.Schmo/expdir --resdet 384 --resens 192 --nens 80 --gfs_cyc 4 + +Example setup_expt.py on WCOSS_C:: + + SURGE-slogin1 > ./setup_expt.py cycled --pslot fv3demo --idate 2017073118 --edate 2017080106 --comrot /gpfs/hps2/ptmp/Joe.Schmo --expdir /gpfs/hps3/emc/global/noscrub/Joe.Schmo/para_gfs + SDATE = 2017-07-31 18:00:00 + EDATE = 2017-08-01 06:00:00 + EDITED: /gpfs/hps3/emc/global/noscrub/Joe.Schmo/para_gfs/fv3demo/config.base as per user input. + DEFAULT: /gpfs/hps3/emc/global/noscrub/Joe.Schmo/para_gfs/fv3demo/config.base.default is for reference only. + Please verify and delete the default file before proceeding. + SURGE-slogin1 > + +The message about the config.base.default is telling you that you are free to delete it if you wish but it’s not necessary to remove. Your resulting config.base was generated from config.base.default and the default one is there for your information. + +What happens if I run setup_expt.py again for an experiment that already exists?:: + + SURGE-slogin1 > ./setup_expt.py forecast-only --pslot fv3demo --idate 2017073118 + --edate 2017080106 --comrot /gpfs/hps2/ptmp/Joe.Schmo --expdir /gpfs/hps3/emc/global/noscrub/Joe.Schmo/para_gfs + COMROT already exists in /gpfs/hps2/ptmp/Joe.Schmo/fv3demo + Do you wish to over-write COMROT [y/N]: y + EXPDIR already exists in /gpfs/hps3/emc/global/noscrub/Joe.Schmo/para_gfs/fv3demo + Do you wish to over-write EXPDIR [y/N]: y + SDATE = 2017-07-31 18:00:00 + EDATE = 2017-08-01 06:00:00 + EDITED: /gpfs/hps3/emc/global/noscrub/Joe.Schmo/para_gfs/fv3demo/config.base as per user input. + DEFAULT: /gpfs/hps3/emc/global/noscrub/Joe.Schmo/para_gfs/fv3demo/config.base.default is for reference only. + Please verify and delete the default file before proceeding. + +Your COMROT and EXPDIR will be deleted and remade. Be careful with this! + +**************************************** +Step 2: Set user and experiment settings +**************************************** + +Go to your EXPDIR and check/change the following variables within your config.base now before running the next script: + + * ACCOUNT + * HOMEDIR + * STMP + * PTMP + * ARCDIR (location on disk for online archive used by verification system) + * HPSSARCH (YES turns on archival) + * HPSS_PROJECT (project on HPSS if archiving) + * ATARDIR (location on HPSS if archiving) + +Some of those variables will be found within a machine-specific if-block so make sure to change the correct ones for the machine you'll be running on. + +Now is also the time to change any other variables/settings you wish to change in config.base or other configs. `Do that now.` Once done making changes to the configs in your EXPDIR go back to your clone to run the second setup script. See :doc: configure.rst for more information on configuring your run. + + +************************************* +Step 3: Run workflow generator script +************************************* + +This step sets up the files needed by the Workflow Manager/Driver. At this moment only ROCOTO configurations are generated:: + + ./setup_xml.py $EXPDIR/$PSLOT + +Example:: + + ./setup_xml.py /some_safe_disk_area/Joe.Schmo/expdir/test + +**************************************** +Step 4: Confirm files from setup scripts +**************************************** + +You will now have a rocoto xml file in your EXPDIR ($PSLOT.xml) and a crontab file generated for your use. Rocoto uses CRON as the scheduler. If you do not have a crontab file you may not have had the rocoto module loaded. To fix this load a rocoto module and then rerun setup_xml.py script again. Follow directions for setting up the rocoto cron on the platform the experiment is going to run on. + diff --git a/docs/source/start.rst b/docs/source/start.rst new file mode 100644 index 0000000000..7775d2db0c --- /dev/null +++ b/docs/source/start.rst @@ -0,0 +1,45 @@ +============== +Start your run +============== + +Make sure a rocoto module is loaded: ``module load rocoto`` + +If needed check for available rocoto modules on machine: ``module avail rocoto`` or ``module spider rocoto`` + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Start your run from within your EXPDIR +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +:: + + rocotorun -d $PSLOT.db -w $PSLOT.xml + +The first jobs of your run should now be queued or already running (depending on machine traffic). How exciting! + +You'll now have a "logs" folder in both your COMROT and EXPDIR. The EXPDIR log folder contains workflow log files (e.g. rocoto command results) and the COMROT log folder will contain logs for each job (previously known as dayfiles). + +^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Set up your experiment cron +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Note: Orion currently only supports cron on Orion-login-1. Cron support for other login nodes is coming in the future. + +:: + + crontab -e + +or + +:: + + crontab $PSLOT.crontab + +**WARNING: ``crontab $PSLOT.crontab`` command will overwrite existing crontab file on your login node. If running multiple crons recommend editing crontab file with ``crontab -e`` command.** + +Check your crontab settings:: + + crontab -l + +Crontab uses following format:: + + */5 * * * * /path/to/rocotorun -w /path/to/workflow/definition/file -d /path/to/workflow/database/file From 441d5bac595b12007ee43c865dfae68c6e008ca5 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Mon, 16 Jan 2023 11:04:12 -0500 Subject: [PATCH 07/11] Additional Sphinx documentation and settings --- docs/source/_static/custom.css | 19 +++++ docs/source/_static/theme_overrides.css | 9 +++ docs/source/conf.py | 4 +- docs/source/errors_faq.rst | 48 ++++++++++++ docs/source/monitor_rocoto.rst | 99 +++++++++++++++++++++++++ docs/source/run.rst | 3 + docs/source/view.rst | 44 +++++++++++ 7 files changed, 224 insertions(+), 2 deletions(-) create mode 100644 docs/source/_static/custom.css create mode 100644 docs/source/_static/theme_overrides.css create mode 100644 docs/source/errors_faq.rst create mode 100644 docs/source/monitor_rocoto.rst create mode 100644 docs/source/view.rst diff --git a/docs/source/_static/custom.css b/docs/source/_static/custom.css new file mode 100644 index 0000000000..85a59fca39 --- /dev/null +++ b/docs/source/_static/custom.css @@ -0,0 +1,19 @@ +@import "default.css"; + +div.admonition-todo { +border-top: 2px solid red; +border-bottom: 2px solid red; +border-left: 2px solid red; +border-right: 2px solid red; +background-color: #ff6347 +} + +p.admonition-title { + display: offline; +} + +/*p.first.admonition-title { +background-color: #aa6347; +width: 100%; +} +*/ diff --git a/docs/source/_static/theme_overrides.css b/docs/source/_static/theme_overrides.css new file mode 100644 index 0000000000..9713e89ab2 --- /dev/null +++ b/docs/source/_static/theme_overrides.css @@ -0,0 +1,9 @@ +/* !important prevents the common CSS stylesheets from overriding this CSS since on RTD they are loaded after this stylesheet */ + +.wy-nav-content { + max-width: 100% !important; +} + +.wy-table-responsive table td { + white-space: normal !important; +} diff --git a/docs/source/conf.py b/docs/source/conf.py index 3ea246b2fb..79c01dccb6 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -18,8 +18,8 @@ # -- Project information ----------------------------------------------------- project = 'Global-workflow' -copyright = '2023, Kate Friedman, Walter Kolczynski, Rahul Mahajan, Lin Gan' -author = 'Kate Friedman, Walter Kolczynski, Rahul Mahajan, Lin Gan' +copyright = '2023, Kate Friedman, Walter Kolczynski, Rahul Mahajan, Lin Gan, Arun Chawla' +author = 'Kate Friedman, Walter Kolczynski, Rahul Mahajan, Lin Gan, Arun Chawla' # The full version, including alpha/beta/rc tags release = '0.1' diff --git a/docs/source/errors_faq.rst b/docs/source/errors_faq.rst new file mode 100644 index 0000000000..82830d5110 --- /dev/null +++ b/docs/source/errors_faq.rst @@ -0,0 +1,48 @@ +========================== +Common Errors Known Issues +========================== + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Error: "ImportError" message when running setup script +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Example:: + + $ ./setup_xml.py /path/to/your/experiment/directory + Traceback (most recent call last): + File "./setup_workflow.py", line 32, in + from collections import OrderedDict + ImportError: cannot import name OrderedDict + +**Cause:** Missing python module in your environment + +**Solution:** Load a python module ("module load python") and retry setup script. + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Error: curses default colors when running viewer +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Example:: + + $ ./rocoto_viewer.py -d blah.db -w blah.xml + Traceback (most recent call last): + File "./rocoto_viewer.py", line 2376, in + curses.wrapper(main) + File "/contrib/anaconda/anaconda2/4.4.0/lib/python2.7/curses/wrapper.py", line 43, in wrapper + return func(stdscr, *args, **kwds) + File "./rocoto_viewer.py", line 1202, in main + curses.use_default_colors() + _curses.error: use_default_colors() returned ERR + +**Cause:** wrong TERM setting for curses + +**Solution:** set TERM to "xterm" (bash: export TERM=xterm ; csh/tcsh: setenv TERM xterm) + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Issue: Directory name change for EnKF folder in COMROT +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**Issue:** The EnKF COMROT folders were renamed during the GFS v15 development process to remove the period between "enkf" and "gdas": enkf.gdas.$PDY → enkfgdas.$PDY + +**Fix:** Older tarballs on HPSS will have the older directory name with the period between 'enkf' and 'gdas'. Make sure to rename folder to 'enkfgdas.$PDY' after obtaining. Only an issue for the initial cycle. + diff --git a/docs/source/monitor_rocoto.rst b/docs/source/monitor_rocoto.rst new file mode 100644 index 0000000000..3a6de6daf9 --- /dev/null +++ b/docs/source/monitor_rocoto.rst @@ -0,0 +1,99 @@ +================== +Monitor ROCOTO Run +================== + +Click `here `__ to view full rocoto documentation on GitHub + + +^^^^^^^^^^^^^^^^^^ +Using command line +^^^^^^^^^^^^^^^^^^ + +You can use Rocoto commands with arguments to check the status of your experiment. + +Start or continue a run:: + + rocotorun -d /path/to/workflow/database/file -w /path/to/workflow/xml/file + +Check the status of the workflow:: + + rocotostat -d /path/to/workflow/database/file -w /path/to/workflow/xml/file [-c YYYYMMDDCCmm,[YYYYMMDDCCmm,...]] [-t taskname,[taskname,...]] [-s] [-T] + +Note: YYYYMMDDCCmm = YearMonthDayCycleMinute ...where mm/Minute is ’00’ for all cycles currently. + +Check the status of a job:: + + rocotocheck -d /path/to/workflow/database/file -w /path/to/workflow/xml/file -c YYYYMMDDCCmm -t taskname + +Force a task to run (ignores dependencies - USE CAREFULLY!):: + + rocotoboot -d /path/to/workflow/database/file -w /path/to/workflow/xml/file -c YYYYMMDDCCmm -t taskname + +Rerun task(s):: + + rocotorewind -d /path/to/workflow/database/file -w /path/to/workflow/xml/file -c YYYYMMDDCCmm -t taskname + +Set a task to complete (overwrites current state):: + + rocotocomplete -d /path/to/workflow/database/file -w /path/to/workflow/xml/file -c YYYYMMDDCCmm -t taskname + +Several dates and task names may be specified in the same command by adding more -c and -t options. However, lists are not allowed. + +^^^^^^^^^^^^^^^^^ +Use ROCOTO viewer +^^^^^^^^^^^^^^^^^ + +An alternative approach is to use A GUI that was designed to assist with monitoring global workflow experiments that use ROCOTO. It can be found under the ush/rocoto folder in global-workflow. + +***** +Usage +***** + +:: + + ./rocoto_viewer.py -d /path/to/workflow/database/file -w /path/to/workflow/xml/file + +Note 1: Terminal/window must be wide enough to display all experiment information columns, viewer will complain if not. + +Note 2: The viewer requires the full path to the database and xml files if you are not in your EXPDIR when you invoke it. + +********************* +What the viewer shows +********************* + + * First column: cycle (YYYYMMDDCCmm, YYYY=year, MM=month, DD=day, CC=cycle hour, mm=minute) + * Second column: task name (a "<" symbol indicates a group/meta-task, click "x" when meta-task is selected to expand/collapse) + * Third column: job ID from scheduler + * Fourth column: job state (QUEUED, RUNNING, SUCCEEDED, FAILED, or DEAD) + * Fifth column: exit code (0 if all ended well) + * Sixth column: number of tries/attempts to run job (0 when not yet run or just rewound, 1 when run once successfully, 2+ for multiple tries up to max try value where job is considered DEAD) + * Seventh column: job duration in seconds + +************************** +How to navigate the viewer +************************** + +The rocoto viewer accepts both mouse and keyboard inputs. Click “h” for help menu and more options. + +Available viewer commands:: + + c = get information on selected job + r = rewind (rerun) selected job, group, or cycle + R = run rocotorun + b = boot (forcibly run) selected job or group + -> = right arrow key, advance viewer forward to next cycle + <- = left arrow key, advance viewer backward to previous cycle + Q = quit/exit viewer + +Advanced features: + + * Select multiple tasks at once + + - Click “Enter” on a task to select it, click on other tasks or use the up/down arrows to move to other tasks and click “Enter” to select them as well. + - When you next choose “r” for rewinding the pop-up window will now ask if you are sure you want to rewind all those selected tasks. + + * Rewind entire group or cycle + + - Group - While group/metatask is collapsed (<) click “r” to rewind whole group/metatask. + - Cycle - Use up arrow to move selector up past the first task until the entire left column is highlighted. Click “r” and the entire cycle will be rewound. + diff --git a/docs/source/run.rst b/docs/source/run.rst index 3ee6a0c6eb..9c5100dcaf 100644 --- a/docs/source/run.rst +++ b/docs/source/run.rst @@ -12,3 +12,6 @@ Here we will show how you can run an experiment using the Global Workflow. The G setup.rst configure.rst start.rst + monitor_rocoto.rst + view.rst + errors_faq.rst diff --git a/docs/source/view.rst b/docs/source/view.rst new file mode 100644 index 0000000000..744b4525b1 --- /dev/null +++ b/docs/source/view.rst @@ -0,0 +1,44 @@ +====================== +View Experiment output +====================== + +The output from your run will be found in the ``COMROT/ROTDIR`` you established. This is also where you placed your initial conditions. Within your ``COMROT`` you will have the following directory structure (based on the type of experiment you run): + +^^^^^^^^^^^^^ +Free Forecast +^^^^^^^^^^^^^ + +:: + + gfs.YYYYMMDD/CC/atmos <- contains deterministic long forecast gfs inputs/outputs (atmosphere) + gfs.YYYYMMDD/CC/wave <- contains deterministic long forecast gfs inputs/outputs (wave) + logs/ <- logs for each cycle in the run + vrfyarch/ <- contains files related to verification and archival + +^^^^^^ +Cycled +^^^^^^ + +:: + + enkfgdas.YYYYMMDD/CC/atmos/mem###/ <- contains EnKF inputs/outputs for each cycle and each member + gdas.YYYYMMDD/CC/atmos <- contains deterministic gdas inputs/outputs (atmosphere) + gdas.YYYYMMDD/CC/wave <- contains deterministic gdas inputs/outputs (wave) + gfs.YYYYMMDD/CC/atmos <- contains deterministic long forecast gfs inputs/outputs (atmosphere) + gfs.YYYYMMDD/CC/wave <- contains deterministic long forecast gfs inputs/outputs (wave) + logs/ <- logs for each cycle in the run + vrfyarch/ <- contains files related to verification and archival + +Here is an example ``COMROT`` for a cycled run as it may look several cycles in (note the archival steps remove older cycle folders as the run progresses):: + + -bash-4.2$ ll /scratch1/NCEPDEV/stmp4/Joe.Schmo/comrot/testcyc192 + total 88 + drwxr-sr-x 4 Joe.Schmo stmp 4096 Oct 22 04:50 enkfgdas.20190529 + drwxr-sr-x 4 Joe.Schmo stmp 4096 Oct 22 07:20 enkfgdas.20190530 + drwxr-sr-x 6 Joe.Schmo stmp 4096 Oct 22 03:15 gdas.20190529 + drwxr-sr-x 4 Joe.Schmo stmp 4096 Oct 22 07:15 gdas.20190530 + drwxr-sr-x 6 Joe.Schmo stmp 4096 Oct 22 03:15 gfs.20190529 + drwxr-sr-x 4 Joe.Schmo stmp 4096 Oct 22 07:15 gfs.20190530 + drwxr-sr-x 120 Joe.Schmo stmp 12288 Oct 22 07:15 logs + drwxr-sr-x 13 Joe.Schmo stmp 4096 Oct 22 07:07 vrfyarch + From cc0209c245f167bb152a9bdf7d42bca64aedfcc6 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Mon, 16 Jan 2023 11:38:34 -0500 Subject: [PATCH 08/11] Fixed a table in initial conditions sdocument for Sphinx documentation --- docs/source/init.rst | 52 ++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/source/init.rst b/docs/source/init.rst index f0ac71e330..3e591cc97e 100644 --- a/docs/source/init.rst +++ b/docs/source/init.rst @@ -41,32 +41,32 @@ Users on machines without HPSS access (e.g. Orion) need to perform the ``getic`` Note for table: yyyy=year; mm=month; dd=day; hh=cycle -Operations/production output location on HPSS: /NCEPPROD/hpssprod/runhistory/rh``yyyy``/``yyyymm``/``yyyymmdd``/ - -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| Source | Files | Tarball name | Where in ROTDIR | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| v12 ops | gfs.t``hh``z.sanl | com_gfs_prod_gfs.``yyyymmddhh``.anl.tar | gfs.``yyyymmdd``/``hh`` | -| | gfs.t``hh``z.sfcanl | | | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| v13 ops | gfs.t``hh``z.sanl | com2_gfs_prod_gfs.``yyyymmddhh``.anl.tar | gfs.``yyyymmdd``/``hh`` | -| | gfs.t``hh``z.sfcanl | | | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| v14 ops | gfs.t``hh``z.atmanl.nemsio | gpfs_hps_nco_ops_com_gfs_prod_gfs.``yyyymmddhh``.anl.tar | gfs.``yyyymmdd`/`hh`` | -| | gfs.t``hh``z.sfcanl.nemsio | | | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| v15 ops | gfs.t``hh``z.atmanl.nemsio | gpfs_dell1_nco_ops_com_gfs_prod_gfs.``yyyymmdd``_``hh``.gfs_nemsioa.tar | gfs.``yyyymmdd``/``hh`` | -| pre-2020022600 | gfs.t``hh``z.sfcanl.nemsio | | | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| v15 ops | gfs.t``hh``z.atmanl.nemsio | com_gfs_prod_gfs.``yyyymmdd``_``hh``.gfs_nemsioa.tar | gfs.``yyyymmdd``/``hh`` | -| | gfs.t``hh``z.sfcanl.nemsio | | | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| v16 ops | gfs.t``hh``z.atmanl.nc | com_gfs_prod_gfs.``yyyymmdd``_``hh``.gfs_nca.tar | gfs.``yyyymmdd``/``hh``/atmos| -| | gfs.t``hh``z.sfcanl.nc | | | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ -| v16 retro | gfs.t``hh``z.atmanl.nc | gfs_netcdfa.tar* | gfs.``yyyymmdd``/``hh``/atmos| -| | gfs.t``hh``z.sfcanl.nc | | | -+----------------+----------------------------+-------------------------------------------------------------------------+------------------------------+ +Operations/production output location on HPSS: /NCEPPROD/hpssprod/runhistory/rh ``yyyy``/``yyyymm``/``yyyymmdd``/ + ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| Source | Files | Tarball name | Where in ROTDIR | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| v12 ops | * gfs.t. ``hh`` z.sanl | com_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd`` /``hh`` | +| | * gfs.t. ``hh`` z.sfcanl | | | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| v13 ops | * gfs.t. ``hh`` z.sanl | com2_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd`` /``hh`` | +| | * gfs.t. ``hh`` z.sfcanl | | | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| v14 ops | * gfs.t. ``hh`` z.atmanl.nemsio | gpfs_hps_nco_ops_com_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd` /`hh`` | +| | * gfs.t. ``hh`` z.sfcanl.nemsio | | | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| v15 ops | * gfs.t. ``hh`` z.atmanl.nemsio | gpfs_dell1_nco_ops_com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nemsioa.tar | gfs. ``yyyymmdd`` /``hh`` | +| pre-2020022600 | * gfs.t. ``hh`` z.sfcanl.nemsio | | | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| v15 ops | * gfs.t. ``hh`` z.atmanl.nemsio | com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nemsioa.tar | gfs. ``yyyymmdd`` /``hh`` | +| | * gfs.t. ``hh`` z.sfcanl.nemsio | | | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| v16 ops | * gfs.t. ``hh`` z.atmanl.nc | com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nca.tar | gfs. ``yyyymmdd`` /``hh``/atmos| +| | * gfs.t. ``hh`` z.sfcanl.nc | | | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ +| v16 retro | * gfs.t. ``hh`` z.atmanl.nc | gfs_netcdfa.tar* | gfs. ``yyyymmdd`` /``hh``/atmos| +| | * gfs.t. ``hh`` z.sfcanl.nc | | | ++----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ For HPSS path, see retrospective table in :ref:`pre-production parallel section `: below From 3320bff33a7ed13487473866eb276afd9965af03 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Thu, 19 Jan 2023 21:19:18 -0500 Subject: [PATCH 09/11] Added figures and repaired a table --- docs/source/_static/GFS_v16_flowchart.png | Bin 0 -> 121683 bytes docs/source/_static/fv3_rocoto_view.png | Bin 0 -> 161304 bytes docs/source/init.rst | 35 +++++++++++++--------- docs/source/jobs.rst | 3 ++ docs/source/monitor_rocoto.rst | 6 ++++ 5 files changed, 30 insertions(+), 14 deletions(-) create mode 100644 docs/source/_static/GFS_v16_flowchart.png create mode 100644 docs/source/_static/fv3_rocoto_view.png diff --git a/docs/source/_static/GFS_v16_flowchart.png b/docs/source/_static/GFS_v16_flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..963c915768cb92c747b13cb870ff5f2d213604da GIT binary patch literal 121683 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
1J&b002Q%5_M<=?{W0G(A` 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�- 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

ZIE?#Ptj-_)Y7LXH7i^Bq< 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

G^s`tdaA3W@Q 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 literal 0 HcmV?d00001 diff --git a/docs/source/_static/fv3_rocoto_view.png b/docs/source/_static/fv3_rocoto_view.png new file mode 100644 index 0000000000000000000000000000000000000000..02265122fe82aaad00119c2d85b6c082709f3ced GIT binary patch literal 161304 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 literal 0 HcmV?d00001 diff --git a/docs/source/init.rst b/docs/source/init.rst index 3e591cc97e..e674260319 100644 --- a/docs/source/init.rst +++ b/docs/source/init.rst @@ -46,26 +46,33 @@ Operations/production output location on HPSS: /NCEPPROD/hpssprod/runhistory/rh +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ | Source | Files | Tarball name | Where in ROTDIR | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ -| v12 ops | * gfs.t. ``hh`` z.sanl | com_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd`` /``hh`` | -| | * gfs.t. ``hh`` z.sfcanl | | | +| v12 ops | gfs.t. ``hh`` z.sanl | com_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd`` /``hh`` | +| | | | | +| | gfs.t. ``hh`` z.sfcanl | | | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ -| v13 ops | * gfs.t. ``hh`` z.sanl | com2_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd`` /``hh`` | -| | * gfs.t. ``hh`` z.sfcanl | | | +| v13 ops | gfs.t. ``hh`` z.sanl | com2_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd`` /``hh`` | +| | | | | +| | gfs.t. ``hh`` z.sfcanl | | | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ -| v14 ops | * gfs.t. ``hh`` z.atmanl.nemsio | gpfs_hps_nco_ops_com_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd` /`hh`` | -| | * gfs.t. ``hh`` z.sfcanl.nemsio | | | +| v14 ops | gfs.t. ``hh`` z.atmanl.nemsio | gpfs_hps_nco_ops_com_gfs_prod_gfs. ``yyyymmddhh`` .anl.tar | gfs. ``yyyymmdd` /`hh`` | +| | | | | +| | gfs.t. ``hh`` z.sfcanl.nemsio | | | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ -| v15 ops | * gfs.t. ``hh`` z.atmanl.nemsio | gpfs_dell1_nco_ops_com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nemsioa.tar | gfs. ``yyyymmdd`` /``hh`` | -| pre-2020022600 | * gfs.t. ``hh`` z.sfcanl.nemsio | | | +| v15 ops | gfs.t. ``hh`` z.atmanl.nemsio | gpfs_dell1_nco_ops_com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nemsioa.tar | gfs. ``yyyymmdd`` /``hh`` | +| | | | | +| pre-2020022600 | gfs.t. ``hh`` z.sfcanl.nemsio | | | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ -| v15 ops | * gfs.t. ``hh`` z.atmanl.nemsio | com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nemsioa.tar | gfs. ``yyyymmdd`` /``hh`` | -| | * gfs.t. ``hh`` z.sfcanl.nemsio | | | +| v15 ops | gfs.t. ``hh`` z.atmanl.nemsio | com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nemsioa.tar | gfs. ``yyyymmdd`` /``hh`` | +| | | | | +| | gfs.t. ``hh`` z.sfcanl.nemsio | | | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ -| v16 ops | * gfs.t. ``hh`` z.atmanl.nc | com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nca.tar | gfs. ``yyyymmdd`` /``hh``/atmos| -| | * gfs.t. ``hh`` z.sfcanl.nc | | | +| v16 ops | gfs.t. ``hh`` z.atmanl.nc | com_gfs_prod_gfs. ``yyyymmdd`` _ ``hh`` .gfs_nca.tar | gfs. ``yyyymmdd`` /``hh``/atmos| +| | | | | +| | gfs.t. ``hh`` z.sfcanl.nc | | | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ -| v16 retro | * gfs.t. ``hh`` z.atmanl.nc | gfs_netcdfa.tar* | gfs. ``yyyymmdd`` /``hh``/atmos| -| | * gfs.t. ``hh`` z.sfcanl.nc | | | +| v16 retro | gfs.t. ``hh`` z.atmanl.nc | gfs_netcdfa.tar* | gfs. ``yyyymmdd`` /``hh``/atmos| +| | | | | +| | gfs.t. ``hh`` z.sfcanl.nc | | | +----------------+---------------------------------+-----------------------------------------------------------------------------+--------------------------------+ For HPSS path, see retrospective table in :ref:`pre-production parallel section `: below diff --git a/docs/source/jobs.rst b/docs/source/jobs.rst index 5249f2f265..249f305b07 100644 --- a/docs/source/jobs.rst +++ b/docs/source/jobs.rst @@ -2,6 +2,9 @@ GFS Configuration ################# +.. figure:: _static/GFS_v16_flowchart.png + + Schematic flow chart for GFS v16 in operations The sequence of jobs that are run for an end-to-end (DA+forecast+post processing+verification) GFS configuration using the Global Workflow is shown above. The system utilizes a collection of scripts that perform the tasks for each step. diff --git a/docs/source/monitor_rocoto.rst b/docs/source/monitor_rocoto.rst index 3a6de6daf9..d7126790b3 100644 --- a/docs/source/monitor_rocoto.rst +++ b/docs/source/monitor_rocoto.rst @@ -61,6 +61,12 @@ Note 2: The viewer requires the full path to the database and xml files if you a What the viewer shows ********************* + .. figure:: _static/fv3_rocoto_view.png + + Sample output from Rocoto viewer + +The figure above shows a sample output from a Rocoto viewer for a running experiment. Where: + * First column: cycle (YYYYMMDDCCmm, YYYY=year, MM=month, DD=day, CC=cycle hour, mm=minute) * Second column: task name (a "<" symbol indicates a group/meta-task, click "x" when meta-task is selected to expand/collapse) * Third column: job ID from scheduler From 92092fec45f8886989703f7ebb5c000d376aade7 Mon Sep 17 00:00:00 2001 From: Arun Chawla Date: Thu, 19 Jan 2023 21:44:28 -0500 Subject: [PATCH 10/11] Conforming to Python norms --- docs/source/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 79c01dccb6..2f6e765652 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -92,6 +92,7 @@ def setup(app): app.add_css_file('custom.css') # may also be an URL app.add_css_file('theme_overrides.css') # may also be an URL + # Custom sidebar templates, must be a dictionary that maps document names # to template names. # From 6aec3d9952a3ff96209b6444d31682c83fb906f5 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Thu, 19 Jan 2023 22:07:52 -0500 Subject: [PATCH 11/11] add blank line --- docs/source/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/source/conf.py b/docs/source/conf.py index 2f6e765652..c0f9ca572a 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -88,6 +88,7 @@ html_static_path = ['_static'] html_context = {} + def setup(app): app.add_css_file('custom.css') # may also be an URL app.add_css_file('theme_overrides.css') # may also be an URL