1. Quick Start Guide
This chapter provides a brief summary of how to build and run the RRFS-Workflow.
1.1. Building RRFS workflow
Clone the
mainbranch of the RRFS-Workflow from GitHub:git clone https://github.com/NOAA-EMC/rrfs-workflow.gitCheck out the external components:
cd rrfs-workflow/sorc ./manage_externals/checkout_externalsSet up the build environment and build the executables:
./app_build.shAlternatively, the above command can be followed by the platform (machine) name as follows:
./app_build.sh --platform=<machine>where
<machine>iswcoss2,hera,jet,orion, orhercules.Move to the home directory (rrfs-workflow):
cd ..
1.2. Engineering Test: Non-DA
Load the python environment:
On WCOSS2:
source versions/run.ver module use modulefiles module load wflow_wcoss2
On Hera | Jet | Orion | Hercules:
module use modulefiles module load wflow_<machine> conda activate workflow_toolswhere
<machine>ishera,jet,orion, orhercules.Copy the pre-defined configuration file:
cd ush cp sample_configs/non-DA_eng/config.nonDA.<format>.<machine>.sh config.shwhere
<format>isgrib2ornetcdf, and<machine>iswcoss2,hera,jet,orion, orhercules. Note that you may need to changeACCOUNT,STMP, orPTMPin the configuration fileconfig.sh.Generate the experiment workflow:
./generate_FV3LAM_wflow.shLaunch the workflow:
cd ../../expt_dirs/test_nonDA ./launch_FV3LAM_wflow.shNote
The workflow tasks will be submitted every three minutes by
cronuntil the log output includes aWorkflow status: SUCCESSmessage if you did not modify the following parameters in the configuration file:USE_CRON_TO_RELAUNCH="TRUE" CRON_RELAUNCH_INTVL_MNTS="03"
1.3. Engineering Test: DA
Load the python environment:
On WCOSS2:
source versions/run.ver module use modulefiles module load wflow_wcoss2
On Hera | Jet | Orion | Hercules :
module use modulefiles module load wflow_<machine> conda activate workflow_toolswhere
<machine>ishera,jet,orion, orhercules.Copy the pre-defined configuration file:
cd ush cp sample_configs/DA_eng/config.DA.<type>.<machine>.sh config.shwhere
<type>isparawith<machine>iswcoss2, or<type>isretroorenswith<machine>ishera. Note that you may need to changeACCOUNTin the configuration fileconfig.sh.Note
For the real-time (
para) test run on WCOSS2, you should replaceDATE_FIRST_CYCL,DATE_LAST_CYCL,CYCLEMONTH, andCYCLEDAYwith those of Today’s date.Generate the experiment workflow:
./generate_FV3LAM_wflow.shLaunch the workflow:
cd ../../expt_dirs/rrfs_test_da ./run_rocoto.shLaunch the following tasks as needed:
On WCOSS2: with
config.DA.para.wcoss2.sh(in case of today=20230726)rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202307260000 -t get_extrn_lbcs rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202307260600 -t get_extrn_lbcs rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202307261200 -t get_extrn_lbcs rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202307261800 -t get_extrn_lbcs (only when data is available) rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202307260300 -t get_extrn_ics rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202307261500 -t get_extrn_ics (only when data is available)Note that you may need to run
rocotobootfor the taskprep_cyc_spinupat 04z sequentially only if it is not launched:rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202307260400 -t prep_cyc_spinup
On Hera: with
config.DA.retro.hera.sh(in case of cycle_date=20230611)If you want to run beyond
11z, you should launch theget_extrn_lbcstasks for12zand18zand theget_extrn_icstask for15zmanually:rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306111200 -t get_extrn_lbcs rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306111800 -t get_extrn_lbcs rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306111500 -t get_extrn_icsOnce both
make_lbcsandmake_icstasks are complete, launch theprep_cyc_spinuptask for03zmanually:rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306110300 -t prep_cyc_spinupKeep monitoring and launching the workflow if
USE_CRON_TO_RELAUNCHwas NOT set toTRUEinconfig.sh. IfUSE_CRON_TO_RELAUNCHwas set toTRUE, you should remove the crontab line manually once all tasks are complete../run_rocoto.sh
On Hera: with
config.DA.ens.hera.sh(in case of cycle_date=20230610)Once the
save_restart_ensinit_mem000Xtasks are complete, launch the following tasks for06zmanually:rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306100600 -t prep_cyc_spinup_ensinit_mem0001 rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306100600 -t prep_cyc_spinup_ensinit_mem0002 rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306100600 -t prep_cyc_spinup_ensinit_mem0003Once the above three tasks are complete, launch the
run_recenter_spinuptask for06zmanually:rocotoboot -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 -c 202306100600 -t run_recenter_spinupKeep monitoring and launching the workflow if
USE_CRON_TO_RELAUNCHwas NOT set toTRUEinconfig.sh:./run_rocoto.shNote
You should manually launch the above tasks for
18zas well (due to the incorrect path to the dependencynonvarcldana_complete.txt).Check the status of your run with
rocotostat:rocotostat -w FV3LAM_wflow.xml -d FV3LAM_wflow.db -v 10 > test.log