-
Notifications
You must be signed in to change notification settings - Fork 3
tips, workflow variables, files and more
All configurations should be set in config.* files under config/
The word community on this page refers to anyone outside the NCO production machine, including anyone running experiments on NOAA RDHPCS.
The top level of variable setting. Users can preempt some settings here.
NOTE: all variables only needed in the workflow setup step and NOT needed in runtime will be dropped in the final copy of exp.setup under expdir.
2.1 The NCO standards has defined a set of variables. We should not change the meaning and usage of these variables and should not create new variables for anything covered by the NCO standard variables.
We try to understand these variables from our perspective. Correct us if not right
NET: different domain, grid configurations of a model, such as conus12km, conus3km, atl12km, rrfs_a, rrfs_b, etc. NET is fixed but we have a few choices when setting up an experiment
RUN: the top-level components of a system, for example, for GFS, RUN can be gfs, gdas, enkfgdas, ocean, etc. For RRFS, we may have rrfs, ens, etc. This is set automatically in runtime, users don't configure it.
PDY: present day in YYYYMMDD format
cyc: cycle time in GMT hours, formatted HH
DATAROOT: Directory containing the working directory, typically $OPSROOT/tmp in production. This is usually set to the stmp directory in the community (non-nco) configuration.
DATA: Location of the job working directory, typically $DATAROOT/$jobid. In the community configuration, DATA can be tweaked to other locations through jobs/rocoto/launch.sh. But in J-job and ex-scripts, we should use this variable to access the current working directory for a task in runtime.
HOMErrfs, USHrrfs, EXECrrfs, PARMrrfs, SCRIPTSrrfs, FIXrrfs: locations of the model directories
COMROOT: com root directory for input/output data for the rrfs system.
COMIN: com directory for the current model's input data, typically, $COMROOT/$NET/$model_ver/$RUN.$PDY
COMOUT: com directory for current model's output data, typically, $COMROOT/$NET/$model_ver/$RUN.$PDY
COMINgfs: incoming data from GFS
COMINrap: incoming data from RAP
COMINrap: incoming data from GEFS
KEEPDATA: specify whether or not whether or not the working directory should be kept upon successful job completion.
EXPDIR: The experiment directory which contains rrfs.xml, exp.setup and a config/ directory
VERSION: The system version number
MACHINE: The machine name, such as jet``hera, orion, hercules, all in lower cases
TAG: Right now, it is only used as a prefix to slurm job names.
CDATE: Current cycle in YYYYMMDDHH format
OBSINprepbufr: the location of incoming prepbufr files
ENS_INDEX: the ensemble index of a task. If this variable exists in runtime, it means this run is for one of the ensembles.
If FCST_ONLY is exported before this line, it will take the predefined values; otherwise, it will take a default value of false.
CDATE="2024052700"
PDY=${CDATE:0:8} # eg: 20240527
cyc=${CDATE:8:2} # eg: 00
NDATE should be used if one wants to find the previous or next few cycles. This is more robust than coding a date script individually.
module use /PATH_TO_RDASApp/modulefiles #replace PATH_TO_RDASApp with your actual path
module load RDAS/jet.intel (or hear.intel)
${NDATE} 003 2024052700 # result: 2024052703
${NDATE} -003 2024052700 # result: 2024052621