Skip to content

Commit f91165c

Browse files
author
Natalie Perlin
committed
Update config_defaults.yaml and Documentations
1 parent 30b470e commit f91165c

4 files changed

Lines changed: 14 additions & 6 deletions

File tree

doc/UsersGuide/BuildingRunningTesting/ContainerQuickstart.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -838,18 +838,20 @@ When all the conda environments and binaries are successfully built, exit from t
838838
839839
exit
840840
841-
Use Wrapper Scripts and Runtime Environment Files
841+
Use the Wrapper Script
842842
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
843843

844844
In addition to binaries and conda installs, successful build produces:
845845

846846
* ``srw.sh`` — wrapper to launch tasks within the container
847-
* ``ufs-srw.env`` — runtime environment settings and environment variables
847+
848+
Each binary in the ``bin`` directory is symlinked to this single wrapper script. At run time, ``srw.sh`` starts the container and, before handing off to the actual binary, loads the same Lmod modulefile that was used to build the code (e.g., ``build_container_gnu`` or ``build_container_intel``) from inside the container.
848849

849850
Verify the following configuration in the ``srw.sh``:
850851

851852
* ``img`` variable points to the correct ``.sif`` GNU container image file, absolute path
852853
* ``-B`` binds all host directories, required for access inside the container at runtime, including staged data locations
854+
* the ``module load`` line inside the ``bash -c`` block loads the correct build modulefile for the compiler used (``build_container_gnu`` or ``build_container_intel``)
853855

854856
Prepare the Workflow Module File
855857
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

doc/UsersGuide/BuildingRunningTesting/DefaultVarsTable.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Table of Variables in ``config_defaults.yaml``
4646
EXTRN_MDL_SOURCE_BASEDIR_ICS, EXTRN_MDL_FILES_ICS
4747
* - task_get_extrn_lbcs
4848
- EXTRN_MDL_NAME_LBCS, LBC_SPEC_INTVL_HRS, EXTRN_MDL_LBCS_OFFSET_HRS, FV3GFS_FILE_FMT_LBCS, EXTRN_MDL_SYSBASEDIR_LBCS,
49-
USE_USER_STAGED_EXTRN_FILES,EXTRN_MDL_SOURCE_BASEDIR_LBCS, EXTRN_MDL_FILES_LBCS
49+
EXTRN_MDL_LBCS_MAX_FCST_HRS, EXTRN_MDL_LBCS_BRIDGE_INTVL_HRS, USE_USER_STAGED_EXTRN_FILES, EXTRN_MDL_SOURCE_BASEDIR_LBCS, EXTRN_MDL_FILES_LBCS
5050
* - task_make_ics
5151
- KMP_AFFINITY_MAKE_ICS, OMP_NUM_THREADS_MAKE_ICS, OMP_STACKSIZE_MAKE_ICS, USE_FVCOM, FVCOM_WCSTART, FVCOM_DIR, FVCOM_FILE, VCOORD_FILE
5252
* - task_make_lbcs

doc/UsersGuide/CustomizingTheWorkflow/ConfigWorkflow.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ If non-default parameters are selected for the variables in this section, they s
100100
``CYCLETHROTTLE``: (Default: 200)
101101
The number of active forecast cycles that can be run simultaneously via Rocoto.
102102

103-
``BUILD_MOD_FN``: (Default: ``'build_{{ user.MACHINE|lower() }}_{{ workflow.COMPILER }}'``)
104-
Name of an alternative build modulefile to use if running on an unsupported platform. It is set automatically for supported machines.
103+
``BUILD_MOD_FN``: (Default: ``'{{ "build_" ~ user.MACHINE|lower() ~ "_" ~ workflow.COMPILER if user.MACHINE != "CONTAINER" else "wflow_container" }}'``)
104+
Name of an alternative build modulefile to use if running on an unsupported platform. It is set automatically for supported machines. For all machines, this defaults to ``build_<machine>_<compiler>``, except when ``MACHINE: CONTAINER``, in which case ``wflow_container`` is used instead, so it no longer needs to be set explicitly for container runs.
105105

106106
``WFLOW_MOD_FN``: (Default: ``'wflow_{{ user.MACHINE|lower() }}'``)
107107
Name of an alternative workflow modulefile to use if running on an unsupported platform. It is set automatically for supported machines.
@@ -915,6 +915,12 @@ For each workflow task, certain parameter values must be passed to the job sched
915915
``FV3GFS_FILE_FMT_LBCS``: (Default: "nemsio")
916916
If using the FV3GFS model as the source of the :term:`LBCs` (i.e., if ``EXTRN_MDL_NAME_LBCS: "FV3GFS"``), this variable specifies the format of the model files to use when generating the LBCs. Valid values: ``"nemsio"`` | ``"grib2"`` | ``"netcdf"``
917917

918+
``EXTRN_MDL_LBCS_MAX_FCST_HRS``: (Default: "")
919+
The maximum forecast hour available from a single cycle of the model specified in ``EXTRN_MDL_NAME_LBCS`` (e.g., 48 for HRRR). Leave unset (the default) if a single cycle already covers the full ``FCST_LEN_HRS``, which is the case for most models/configurations. If set and less than ``FCST_LEN_HRS``, the ``get_extrn_lbcs`` task will automatically bridge to subsequent cycles of the same model (see ``EXTRN_MDL_LBCS_BRIDGE_INTVL_HRS`` below) to obtain LBCs for forecast hours beyond what the base cycle can provide.
920+
921+
``EXTRN_MDL_LBCS_BRIDGE_INTVL_HRS``: (Default: 24)
922+
Only used when ``EXTRN_MDL_LBCS_MAX_FCST_HRS`` is set and less than ``FCST_LEN_HRS``. The number of hours between checks for a fresher (later) cycle of ``EXTRN_MDL_NAME_LBCS`` to bridge to (e.g., 6 to check for a new cycle every 6 hours). Before each ``EXTRN_MDL_LBCS_BRIDGE_INTVL_HRS``-sized chunk of forecast hours is retrieved, the workflow checks whether a fresher on-schedule cycle is available and switches to it if so, always preferring the freshest available guidance. If the fresher cycle is not yet available (e.g., in real-time operation), the chunk falls back to extending whichever cycle is currently in use, up to that cycle's own ``EXTRN_MDL_LBCS_MAX_FCST_HRS``. This check repeats every interval for the remainder of the run.
923+
918924
File and Directory Parameters
919925
--------------------------------
920926

ush/config_defaults.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@ platform:
203203
NCORES_PER_NODE: ""
204204
TASKTHROTTLE: 1000
205205
CYCLETHROTTLE: 200
206-
BUILD_MOD_FN: '{{ "wflow_container" if user.MACHINE == "CONTAINER" else "build_" ~ user.MACHINE|lower() ~ "_" ~ workflow.COMPILER }}'
206+
BUILD_MOD_FN: '{{ "build_" ~ user.MACHINE|lower() ~ "_" ~ workflow.COMPILER if user.MACHINE != "CONTAINER" else "wflow_container" }}'
207207
WFLOW_MOD_FN: 'wflow_{{ user.MACHINE|lower() }}'
208208
BUILD_VER_FN: 'build.ver.{{ user.MACHINE|lower() }}'
209209
RUN_VER_FN: 'run.ver.{{ user.MACHINE|lower() }}'

0 commit comments

Comments
 (0)