-
Notifications
You must be signed in to change notification settings - Fork 3
The cascade config structure
[config.pre] --> config.${MACHINE} -> config.base -> config.${task_id}
[config.pre] --> config.${MACHINE} -> config.base -> [config.realtime if it is a realtime run]
NOTE:
- resources config files are only visible in the workflow setup process and are not needed in runtime
- task-specific resource settings are through variable cascading in resources/config.base. For example, we define
WALLTIMEfor all tasks first. If we want to set a different WALLTIME for spinupfcst, we can add a variableWALLTIME_FCST_SPINUPin config/resources/config.base.setup_xml.pyhas a function calledget_cascade_envto get the correct environmental setting in a reverse cascading way.
These optional files preamp some variables to provide some automation, such as for Jet realtime runs. Examples:
config/config.pre.jet_hrrrv5
config/resources/config.pre.jet_hrrrv5
They can be found in ${HOMErrfs}/workflow. setup_exp.py will copy them to config.pre under ${EXPDIR}
Most workflow settings go into this file
Define machine-dependent settings, such as COMINgfs, COMINrap, etc.
For resources configuration, this file defines
ACCOUNT, QUEUE, PARTITION, RESERVATION, NODES, WALLTIME, NATIVE, MEMORY
on different machines
Define task specific settings, such as config.lbc:
export LBC_PREFIX="GFS"
export LBC_OFFSET_HRS="6"
export LBC_INTERVAL_HRS="1"
export LBC_LENGTH_HRS=${FCST_LENGTH_HRS:-"12"}
export LBC_LENGTH_HRS=$((LBC_LENGTH_HRS+6))
This file defines DEADLINE and STARTTIME for realtime runs based on rocoto