Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[develop] Adds a YAML interface for creating a Rocoto XML. #676

Merged
merged 68 commits into from
Mar 31, 2023
Merged
Show file tree
Hide file tree
Changes from 64 commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
0d6dea1
Adding XML creator.
christinaholtNOAA Oct 11, 2022
2e6103c
Decompose XML to YAML.
christinaholtNOAA Oct 11, 2022
532edc0
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA Oct 11, 2022
ad00e60
Deprecating CYCL_HRS
christinaholtNOAA Oct 11, 2022
d5e0894
WIP
christinaholtNOAA Oct 13, 2022
5d7c905
Sort entries.
christinaholtNOAA Oct 13, 2022
3823342
Merge branch 'develop' into rocoto_yaml
christinaholtNOAA Dec 21, 2022
593ff0a
WIP
christinaholtNOAA Dec 21, 2022
bcbd672
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA Jan 23, 2023
fc8e69d
Compute nprocs in yaml, not in script.
christinaholtNOAA Feb 7, 2023
fbf51d5
Add machine-specific workflow flags.
christinaholtNOAA Feb 7, 2023
36cd1b5
Adding a "days ago" filter.
christinaholtNOAA Feb 7, 2023
956a6ca
Removing switches from configs.
christinaholtNOAA Feb 7, 2023
a55e11c
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA Feb 7, 2023
8955ca0
Rename the default workflow definition.
christinaholtNOAA Feb 8, 2023
a9e63fc
Add sections to all references to user config variables.
christinaholtNOAA Feb 8, 2023
8503204
WIP.
christinaholtNOAA Feb 19, 2023
46d34b0
WIP
christinaholtNOAA Feb 20, 2023
7478a43
Works through make_lbcs, where it dies.
christinaholtNOAA Feb 23, 2023
55379b9
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA Feb 23, 2023
7da4476
Cleaning up workflow definitions
christinaholtNOAA Feb 25, 2023
0e46ce1
Support for nested metatasks.
christinaholtNOAA Feb 25, 2023
af86e73
WIP
christinaholtNOAA Feb 25, 2023
d659c02
WIP
christinaholtNOAA Mar 1, 2023
9b3e6ba
Update test config files.
christinaholtNOAA Mar 8, 2023
8fc5a6e
Remove section from jobs
christinaholtNOAA Mar 8, 2023
2069a74
Adjustments to XML.
christinaholtNOAA Mar 8, 2023
375669f
Taskvalid also follows the pattern.
christinaholtNOAA Mar 8, 2023
b1504e8
Changes to repetitive logic in get_obs scripts
christinaholtNOAA Mar 8, 2023
c7b2823
Clean up logic. Remove references to switches.
christinaholtNOAA Mar 8, 2023
9fdc66b
Adjust default settings for new rocoto section.
christinaholtNOAA Mar 8, 2023
7f9d8a0
Clean up defaults.
christinaholtNOAA Mar 8, 2023
a9e5158
Remove memory flag for machines that can't use it.
christinaholtNOAA Mar 8, 2023
2176950
Cleaning up some logic.
christinaholtNOAA Mar 8, 2023
0a3b0db
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA Mar 8, 2023
b0a095b
New vx task naming and cycledef for var len fcst.
christinaholtNOAA Mar 14, 2023
fb465fd
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA Mar 14, 2023
f0c0762
Remove instance of RUN_TASK variable.
christinaholtNOAA Mar 14, 2023
d72fc1e
Fix typo.
christinaholtNOAA Mar 14, 2023
910389f
Changes needed to run comprehensive tests.
christinaholtNOAA Mar 15, 2023
042cc32
Merge branch 'develop' into rocoto_yaml
christinaholtNOAA Mar 15, 2023
312fee7
Cleanup after self review of PR
christinaholtNOAA Mar 15, 2023
2166df1
Merge branch 'rocoto_yaml' of https://github.com/christinaholtNOAA/uf…
christinaholtNOAA Mar 15, 2023
162d4e0
Address review changes and moving det to mem000
christinaholtNOAA Mar 21, 2023
d9b5b3a
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA Mar 21, 2023
c390895
Changes needed after merge.
christinaholtNOAA Mar 23, 2023
230a8c4
Fix native command for fcst on Hera.
christinaholtNOAA Mar 23, 2023
7f62bb0
Same change for Jet.
christinaholtNOAA Mar 23, 2023
4df04a4
Fix unittests
christinaholtNOAA Mar 24, 2023
588f817
Addressing Mike Leuken's request
christinaholtNOAA Mar 24, 2023
30ee0e7
Merge branch 'develop' into rocoto_yaml
christinaholtNOAA Mar 24, 2023
5c4709c
Update ush/fill_jinja_template.py
christinaholtNOAA Mar 24, 2023
141de5a
Address Mike's and Eddy's feedback.
christinaholtNOAA Mar 24, 2023
af06aad
Merge branch 'rocoto_yaml' of https://github.com/christinaholtNOAA/uf…
christinaholtNOAA Mar 24, 2023
156882b
Changes needed for AQM Tests
christinaholtNOAA Mar 27, 2023
250e925
Remove old invalid variable from VX only test
mkavulich Mar 29, 2023
66a694e
Add final check for invalid tasks and metatasks before writing rocoto…
mkavulich Mar 29, 2023
c35f9dd
All fixes from review comments, test failures.
christinaholtNOAA Mar 29, 2023
d134fcf
Undo aqm community overwrite.
christinaholtNOAA Mar 29, 2023
cbaec76
Set all the paths the same way.
christinaholtNOAA Mar 29, 2023
8d93f41
Merge remote-tracking branch 'upstream/develop' into rocoto_yaml
mkavulich Mar 29, 2023
3a30e51
Post-merge cleanup to get WE2E tests to run (still a couple failures)
mkavulich Mar 29, 2023
cbecaf5
Addressing last of the failures and comments.
christinaholtNOAA Mar 30, 2023
40b4f2f
Addressing error in removing the memory tag.
christinaholtNOAA Mar 30, 2023
dbcde23
Remove partition flags if set to none.
christinaholtNOAA Mar 31, 2023
8306398
Better solution that doesn't require empty partition entries for mach…
mkavulich Mar 31, 2023
5dca387
Attempt to fix 0 cores for forecast
christinaholtNOAA Mar 31, 2023
070177c
Fix bad name.
christinaholtNOAA Mar 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_GET_OBS_CCPA
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#-----------------------------------------------------------------------
#
. $USHdir/source_util_funcs.sh
source_config_for_task "task_get_obs_ccpa" ${GLOBAL_VAR_DEFNS_FP}
source_config_for_task " " ${GLOBAL_VAR_DEFNS_FP}
. $USHdir/job_preamble.sh
#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_GET_OBS_MRMS
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#-----------------------------------------------------------------------
#
. $USHdir/source_util_funcs.sh
source_config_for_task "task_get_obs_mrms" ${GLOBAL_VAR_DEFNS_FP}
source_config_for_task " " ${GLOBAL_VAR_DEFNS_FP}
. $USHdir/job_preamble.sh
#
#-----------------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion jobs/JREGIONAL_GET_OBS_NDAS
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
#-----------------------------------------------------------------------
#
. $USHdir/source_util_funcs.sh
source_config_for_task "task_get_obs_ndas" ${GLOBAL_VAR_DEFNS_FP}
source_config_for_task " " ${GLOBAL_VAR_DEFNS_FP}
. $USHdir/job_preamble.sh
#
#-----------------------------------------------------------------------
Expand Down
3,029 changes: 65 additions & 2,964 deletions parm/FV3LAM_wflow.xml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion parm/metplus/EnsembleStat_APCP01h.conf
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/APCP_01
# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE - comma separated list of ensemble members
# or a single line, - filename wildcard characters may be used, ? or *.

FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_STAR]}{ENV[POSTPRD]}{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2
FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2

# Template to look for point observations.
# Example precip24_2010010112.nc
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/EnsembleStat_REFC.conf
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/REFC
# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE - comma separated list of ensemble members
# or a single line, - filename wildcard characters may be used, ? or *.

FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_STAR]}{ENV[POSTPRD]}{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2
FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2

# Template to look for point observations.
# Example precip24_2010010112.nc
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/EnsembleStat_RETOP.conf
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/RETOP
# FCST_ENSEMBLE_STAT_INPUT_TEMPLATE - comma separated list of ensemble members
# or a single line, - filename wildcard characters may be used, ? or *.

FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[MEM_STAR]}{ENV[POSTPRD]}{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2
FCST_ENSEMBLE_STAT_INPUT_TEMPLATE = {ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2

# Template to look for point observations.
# Example precip24_2010010112.nc
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/EnsembleStat_SFC.conf
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/SFC
# FCST_ENSEMBLE_STAT_INPUT_DIR.
#
FCST_ENSEMBLE_STAT_INPUT_TEMPLATE =
{ENV[MEM_STAR]}{ENV[POSTPRD]}{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2
{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2

# Template to look for point observations.
# Example precip24_2010010112.nc
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/EnsembleStat_UPA.conf
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ STAGING_DIR = {OUTPUT_BASE}/stage/UPA
# FCST_ENSEMBLE_STAT_INPUT_DIR.
#
FCST_ENSEMBLE_STAT_INPUT_TEMPLATE =
{ENV[MEM_STAR]}{ENV[POSTPRD]}{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2
{ENV[NET]}.t{init?fmt=%H}z*.prslev.f{lead?fmt=%HHH}.{ENV[POST_OUTPUT_DOMAIN_NAME]}.grib2

# Template to look for point observations.
# Example precip24_2010010112.nc
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/GridStat_APCP01h.conf
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE
#GRID_STAT_GRID_WEIGHT_FLAG =

# Name to identify model (forecast) data in output
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}
FCST_NATIVE_DATA_TYPE = GRIB

# Name to identify observation data in output
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/GridStat_APCP03h.conf
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE
# suffix to MODEL that identifies the forecast ensemble member. This
# makes it easier to identify each curve.
#
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}

FCST_NATIVE_DATA_TYPE = GRIB
#
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/GridStat_APCP06h.conf
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE
# suffix to MODEL that identifies the forecast ensemble member. This
# makes it easier to identify each curve.
#
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}

FCST_NATIVE_DATA_TYPE = GRIB
#
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/GridStat_APCP24h.conf
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ GRID_STAT_REGRID_SHAPE = SQUARE
# suffix to MODEL that identifies the forecast ensemble member. This
# makes it easier to identify each curve.
#
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}

FCST_NATIVE_DATA_TYPE = GRIB
#
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/GridStat_REFC.conf
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ GRID_STAT_INTERP_TYPE_WIDTH = 1
GRID_STAT_GRID_WEIGHT_FLAG = NONE

# Name to identify model (forecast) data in output
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}
FCST_NATIVE_DATA_TYPE = GRIB

# Name to identify observation data in output
Expand Down
2 changes: 1 addition & 1 deletion parm/metplus/GridStat_RETOP.conf
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ GRID_STAT_INTERP_TYPE_WIDTH = 1
GRID_STAT_GRID_WEIGHT_FLAG = NONE

# Name to identify model (forecast) data in output
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}
FCST_NATIVE_DATA_TYPE = GRIB

# Name to identify observation data in output
Expand Down
4 changes: 2 additions & 2 deletions parm/metplus/PointStat_SFC.conf
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ LOG_POINT_STAT_VERBOSITY = 2
#
# Specify the name of the METplus log file.
#
LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_SFC{ENV[USCORE_ENSMEM_NAME_OR_NULL]}_{ENV[CDATE]}
LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_SFC_mem{ENV[ENSMEM_INDX]}_{ENV[CDATE]}
#
# Specify the location and name of the final METplus conf file.
#
Expand Down Expand Up @@ -121,7 +121,7 @@ POINT_STAT_OFFSETS = 0
# suffix to MODEL that identifies the forecast ensemble member. This
# makes it easier to identify each curve.
#
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}

POINT_STAT_DESC = NA
#
Expand Down
4 changes: 2 additions & 2 deletions parm/metplus/PointStat_UPA.conf
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ LOG_POINT_STAT_VERBOSITY = 2
#
# Specify the name of the METplus log file.
#
LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_UPA{ENV[USCORE_ENSMEM_NAME_OR_NULL]}_{ENV[CDATE]}
LOG_METPLUS = {LOG_DIR}/metplus.log.{ENV[LOG_SUFFIX]}_UPA_mem{ENV[ENSMEM_INDX]}_{ENV[CDATE]}
#
# Specify the location and name of the final METplus conf file.
#
Expand Down Expand Up @@ -120,7 +120,7 @@ POINT_STAT_OFFSETS = 0
# suffix to MODEL that identifies the forecast ensemble member. This
# makes it easier to identify each curve.
#
MODEL = {ENV[VX_FCST_MODEL_NAME]}{ENV[USCORE_ENSMEM_NAME_OR_NULL]}
MODEL = {ENV[VX_FCST_MODEL_NAME]}_mem{ENV[ENSMEM_INDX]}

POINT_STAT_DESC = NA
#
Expand Down
209 changes: 209 additions & 0 deletions parm/wflow/aqm_all.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
default_aqm_task: &default_aqm
account: '&ACCOUNT;'
attrs:
cycledefs: forecast
maxtries: '2'
envars: &default_vars
GLOBAL_VAR_DEFNS_FP: '&GLOBAL_VAR_DEFNS_FP;'
USHdir: '&USHdir;'
PDY: !cycstr "@Y@m@d"
cyc: !cycstr "@H"
nprocs: '{{ parent.nnodes * parent.ppn // 1 }}'
subcyc: !cycstr "@M"
LOGDIR: !cycstr "&LOGDIR;"
SLASH_ENSMEM_SUBDIR: '&SLASH_ENSMEM_SUBDIR;'
memory: 2G
native: '{{ platform.SCHED_NATIVE_CMD }}'
nnodes: 1
nodes: '{{ nnodes }}:ppn={{ ppn }}'
nodesize: "&NCORES_PER_NODE;"
partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}'
ppn: 1
queue: '&QUEUE_DEFAULT;'
walltime: 00:30:00

task_nexus_gfs_sfc:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "nexus_gfs_sfc" "&JOBSdir;/JREGIONAL_NEXUS_GFS_SFC"'
partition: '{% if platform.get("PARTITION_HPSS") %}&PARTITION_HPSS;{% else %}None{% endif %}'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
dependency:
or:
and:
streq:
left: do_real_time
right: '{% if workflow.DO_REAL_TIME %}do_real_time{% endif %}'
datadep_gfs:
attrs:
age: 00:00:00:05
text: '<cyclestr offset="-{{ workflow.INCR_CYCL_FREQ }}">&COMINgfs;/gfs.@Y@m@d/@H/atmos</cyclestr>'
streq:
left: retro
right: '{% if not workflow.DO_REAL_TIME %}retro{% endif %}'

metatask_nexus_emission:
var:
nspt: '{% for h in range(0, cpl_aqm_parm.NUM_SPLIT_NEXUS) %}{{ " %02d" % h }}{% endfor %}'
task_nexus_emission_#nspt#:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "nexus_emission" "&JOBSdir;/JREGIONAL_NEXUS_EMISSION"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
nnodes: 4
ppn: '{{ task_nexus_emission.PPN_NEXUS_EMISSION // 1 }}'
walltime: 01:00:00
envars:
<<: *default_vars
nspt: "#nspt#"
dependency:
taskdep:
attrs:
task: nexus_gfs_sfc

task_nexus_post_split:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "nexus_post_split" "&JOBSdir;/JREGIONAL_NEXUS_POST_SPLIT"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
dependency:
metataskdep:
attrs:
metatask: nexus_emission

task_fire_emission:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "fire_emission" "&JOBSdir;/JREGIONAL_FIRE_EMISSION"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'

task_point_source:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "point_source" "&JOBSdir;/JREGIONAL_POINT_SOURCE"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
walltime: 01:00:00
dependency:
or_make_grid:
datadep_grid:
attrs:
age: 00:00:00:05
text: '{{ task_make_grid.GRID_DIR }}/make_grid_task_complete.txt'
streq:
left: staged_grid
right: '{% if not rocoto.get("tasks", {}).get("task_make_grid") %}staged_grid{% endif %}'

task_aqm_ics_ext:
<<: *default_aqm
attrs:
cycledefs: at_start
maxtries: '2'
command: '&LOAD_MODULES_RUN_TASK_FP; "aqm_ics" "&JOBSdir;/JREGIONAL_AQM_ICS"'
envars:
<<: *default_vars
PREV_CYCLE_DIR: '&WARMSTART_CYCLE_DIR;'
danielabdi-noaa marked this conversation as resolved.
Show resolved Hide resolved
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
dependency:
and:
taskdep:
attrs:
task: make_ics_mem000
or:
datadep_date_tag_tracer:
attrs:
age: 00:00:00:05
text: !cycstr '&WARMSTART_CYCLE_DIR;/RESTART/@Y@m@d.@H@[email protected]_tracer.res.tile1.nc'
datadep_tracer:
attrs:
age: 00:00:00:05
text: !cycstr '&WARMSTART_CYCLE_DIR;/RESTART/fv_tracer.res.tile1.nc'

task_aqm_ics:
<<: *default_aqm
attrs:
cycledefs: cycled
maxtries: '2'
command: '&LOAD_MODULES_RUN_TASK_FP; "aqm_ics" "&JOBSdir;/JREGIONAL_AQM_ICS"'
envars:
<<: *default_vars
PREV_CYCLE_DIR: '<cyclestr offset="-{{ workflow.INCR_CYCL_FREQ }}">&COMIN_DIR;</cyclestr>'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
dependency:
and:
taskdep:
attrs:
task: make_ics_mem000
or:
datadep_date_tag_tracer:
attrs:
age: 00:00:00:05
text: '<cyclestr offset="-{{- workflow.INCR_CYCL_FREQ -}}">&COMIN_DIR;</cyclestr>/RESTART/<cyclestr>@Y@m@d.@H@[email protected]_tracer.res.tile1.nc</cyclestr>'
datadep_tracer:
attrs:
age: 00:00:00:05
text: <cyclestr offset="-{{- workflow.INCR_CYCL_FREQ -}}">&COMIN_DIR;</cyclestr>/RESTART/fv_tracer.res.tile1.nc

task_aqm_lbcs:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "aqm_lbcs" "&JOBSdir;/JREGIONAL_AQM_LBCS"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
ppn: 24
dependency:
taskdep:
attrs:
task: make_lbcs

task_pre_post_stat:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "pre_post_stat" "&JOBSdir;/JREGIONAL_PRE_POST_STAT"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
dependency:
taskdep:
attrs:
task: run_fcst_mem000
#or_do_post:
# and_inline_post: # If inline post ran, wait on the forecast task to complete
# not:
# taskvalid:
# attrs:
# task: run_post_mem000_f000
# and_run_post: # If post was meant to run, wait on the whole post metatask
# taskvalid:
# attrs:
# task: run_post_mem000_f000
# metataskdep:
# attrs:
# metatask: run_post_mem000

task_post_stat_o3:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "post_stat_o3" "&JOBSdir;/JREGIONAL_POST_STAT_O3"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
memory: 120G
dependency:
taskdep:
attrs:
task: pre_post_stat

task_post_stat_pm25:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "post_stat_pm25" "&JOBSdir;/JREGIONAL_POST_STAT_PM25"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
memory: 120G
dependency:
attrs:
task: pre_post_stat

task_bias_correction_o3:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "bias_correction_o3" "&JOBSdir;/JREGIONAL_BIAS_CORRECTION_O3"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
memory: 120G
dependency:
attrs:
task: pre_post_stat

task_bias_correction_pm25:
<<: *default_aqm
command: '&LOAD_MODULES_RUN_TASK_FP; "bias_correction_pm25" "&JOBSdir;/JREGIONAL_BIAS_CORRECTION_PM25"'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
memory: 120G
dependency:
attrs:
task: pre_post_stat

Loading