-
Notifications
You must be signed in to change notification settings - Fork 130
[develop] Adds a YAML interface for creating a Rocoto XML. #676
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
Merged
MichaelLueken
merged 68 commits into
ufs-community:develop
from
christinaholtNOAA:rocoto_yaml
Mar 31, 2023
Merged
Changes from all commits
Commits
Show all changes
68 commits
Select commit
Hold shift + click to select a range
0d6dea1
Adding XML creator.
christinaholtNOAA 2e6103c
Decompose XML to YAML.
christinaholtNOAA 532edc0
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA ad00e60
Deprecating CYCL_HRS
christinaholtNOAA d5e0894
WIP
christinaholtNOAA 5d7c905
Sort entries.
christinaholtNOAA 3823342
Merge branch 'develop' into rocoto_yaml
christinaholtNOAA 593ff0a
WIP
christinaholtNOAA bcbd672
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA fc8e69d
Compute nprocs in yaml, not in script.
christinaholtNOAA fbf51d5
Add machine-specific workflow flags.
christinaholtNOAA 36cd1b5
Adding a "days ago" filter.
christinaholtNOAA 956a6ca
Removing switches from configs.
christinaholtNOAA a55e11c
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA 8955ca0
Rename the default workflow definition.
christinaholtNOAA a9e63fc
Add sections to all references to user config variables.
christinaholtNOAA 8503204
WIP.
christinaholtNOAA 46d34b0
WIP
christinaholtNOAA 7478a43
Works through make_lbcs, where it dies.
christinaholtNOAA 55379b9
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA 7da4476
Cleaning up workflow definitions
christinaholtNOAA 0e46ce1
Support for nested metatasks.
christinaholtNOAA af86e73
WIP
christinaholtNOAA d659c02
WIP
christinaholtNOAA 9b3e6ba
Update test config files.
christinaholtNOAA 8fc5a6e
Remove section from jobs
christinaholtNOAA 2069a74
Adjustments to XML.
christinaholtNOAA 375669f
Taskvalid also follows the pattern.
christinaholtNOAA b1504e8
Changes to repetitive logic in get_obs scripts
christinaholtNOAA c7b2823
Clean up logic. Remove references to switches.
christinaholtNOAA 9fdc66b
Adjust default settings for new rocoto section.
christinaholtNOAA 7f9d8a0
Clean up defaults.
christinaholtNOAA a9e5158
Remove memory flag for machines that can't use it.
christinaholtNOAA 2176950
Cleaning up some logic.
christinaholtNOAA 0a3b0db
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA b0a095b
New vx task naming and cycledef for var len fcst.
christinaholtNOAA fb465fd
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA f0c0762
Remove instance of RUN_TASK variable.
christinaholtNOAA d72fc1e
Fix typo.
christinaholtNOAA 910389f
Changes needed to run comprehensive tests.
christinaholtNOAA 042cc32
Merge branch 'develop' into rocoto_yaml
christinaholtNOAA 312fee7
Cleanup after self review of PR
christinaholtNOAA 2166df1
Merge branch 'rocoto_yaml' of https://github.com/christinaholtNOAA/uf…
christinaholtNOAA 162d4e0
Address review changes and moving det to mem000
christinaholtNOAA d9b5b3a
Merge remote-tracking branch 'origin/develop' into rocoto_yaml
christinaholtNOAA c390895
Changes needed after merge.
christinaholtNOAA 230a8c4
Fix native command for fcst on Hera.
christinaholtNOAA 7f62bb0
Same change for Jet.
christinaholtNOAA 4df04a4
Fix unittests
christinaholtNOAA 588f817
Addressing Mike Leuken's request
christinaholtNOAA 30ee0e7
Merge branch 'develop' into rocoto_yaml
christinaholtNOAA 5c4709c
Update ush/fill_jinja_template.py
christinaholtNOAA 141de5a
Address Mike's and Eddy's feedback.
christinaholtNOAA af06aad
Merge branch 'rocoto_yaml' of https://github.com/christinaholtNOAA/uf…
christinaholtNOAA 156882b
Changes needed for AQM Tests
christinaholtNOAA 250e925
Remove old invalid variable from VX only test
mkavulich 66a694e
Add final check for invalid tasks and metatasks before writing rocoto…
mkavulich c35f9dd
All fixes from review comments, test failures.
christinaholtNOAA d134fcf
Undo aqm community overwrite.
christinaholtNOAA cbaec76
Set all the paths the same way.
christinaholtNOAA 8d93f41
Merge remote-tracking branch 'upstream/develop' into rocoto_yaml
mkavulich 3a30e51
Post-merge cleanup to get WE2E tests to run (still a couple failures)
mkavulich cbecaf5
Addressing last of the failures and comments.
christinaholtNOAA 40b4f2f
Addressing error in removing the memory tag.
christinaholtNOAA dbcde23
Remove partition flags if set to none.
christinaholtNOAA 8306398
Better solution that doesn't require empty partition entries for mach…
mkavulich 5dca387
Attempt to fix 0 cores for forecast
christinaholtNOAA 070177c
Fix bad name.
christinaholtNOAA File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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;' | ||
| 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@M@S.fv_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@M@S.fv_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 | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.