-
Notifications
You must be signed in to change notification settings - Fork 113
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] Added an option for RRFS external model files used as ICS and LBCS #1089
Open
natalie-perlin
wants to merge
28
commits into
ufs-community:develop
Choose a base branch
from
natalie-perlin:rrfs_ics_lbcs
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 23 commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
30171b7
Added an option for RRFS external model files as ICS and LBCS
dfe4070
update UFS_UTILS tag
17aacde
additions for RRFS capability
ddf3e9d
changes for RRFS capability
dc12654
Merge branch 'rrfs_ics_lbcs' into feature/rrfs
6124c68
Merge branch 'develop' into rrfs_ics_lbcs
bd2b96b
Revert to existing tag to checkout UFS_UTILS
a05b2bd
allow RRFS files as ICS/LBCS in UFS_UTILS submodule
09f931d
add RRFS expected data source for ICS/LBCS, in parm/data_locations.ym…
efafe30
update plotting scripts, geographical data overlaid onto the plotted …
225a83b
update parm/wflow/plot.yaml to allow plotting tasks for ensemble fore…
659d9a2
Update plot.yaml to allow ensemble members
natalie-perlin 5870169
adding a new test grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suit…
25f09a7
Updating documentation for RRFS ICS/LBCS capability
c4fbcf4
Merge remote-tracking branch 'origin/rrfs_ics_lbcs' into rrfs_ics_lbcs
ea5fb8c
Updated description of a new test for RRFS functionality
natalie-perlin 0f55a67
Update config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RR…
natalie-perlin dd0f33c
Update plot.yaml
natalie-perlin 58beeed
Update config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RR…
natalie-perlin 05686a8
Update retrieve_data.py
natalie-perlin cb201b4
Update devbuild.sh
natalie-perlin 8a7df4a
Merge branch 'develop' into rrfs_ics_lbcs
e574095
reduce ensemble size and forecast period for a new test with RRFS ICS…
571c3a6
Update doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst
natalie-perlin 241aac6
Update doc/UsersGuide/BackgroundInfo/Components.rst
natalie-perlin 360aed9
Update InputOutputFiles.rst
natalie-perlin 1824cec
Updates devclean.sh with safety checks for removing directories
a915b10
devclean.sh update
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 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 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 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 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 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 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 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 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 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 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 |
---|---|---|
|
@@ -12,37 +12,45 @@ default_task_plot: &default_task | |
PDY: !cycstr "@Y@m@d" | ||
cyc: !cycstr "@H" | ||
subcyc: !cycstr "@M" | ||
fhr: '#fhr#' | ||
LOGDIR: !cycstr "&LOGDIR;" | ||
SLASH_ENSMEM_SUBDIR: '&SLASH_ENSMEM_SUBDIR;' | ||
ENSMEM_INDX: '#mem#' | ||
nprocs: '{{ nnodes * ppn }}' | ||
nprocs: '{{ parent.nnodes * parent.ppn }}' | ||
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;' | ||
native: '{{ platform.SCHED_NATIVE_CMD }}' | ||
nnodes: 1 | ||
nnodes: 2 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is the plotting script MPI capable? If not, this is wasting resources that will never be used. |
||
nodes: '{{ nnodes }}:ppn={{ ppn }}' | ||
partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' | ||
natalie-perlin marked this conversation as resolved.
Show resolved
Hide resolved
|
||
ppn: 24 | ||
queue: '&QUEUE_DEFAULT;' | ||
walltime: 01:00:00 | ||
|
||
task_plot_allvars: | ||
<<: *default_task | ||
command: '&LOAD_MODULES_RUN_TASK_FP; "plot_allvars" "&JOBSdir;/JREGIONAL_PLOT_ALLVARS"' | ||
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;' | ||
dependency: | ||
or_do_post: &post_files_exist | ||
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_ens_post | ||
and_inline_post: # If inline post ran, wait on the forecast task to complete | ||
not: | ||
taskvalid: | ||
attrs: | ||
task: run_post_mem000_f000 | ||
taskdep: | ||
attrs: | ||
task: run_fcst_mem000 | ||
metatask_plot_allvars: | ||
var: | ||
mem: '{% if global.DO_ENSEMBLE %}{%- for m in range(1, global.NUM_ENS_MEMBERS+1) -%}{{ "%03d "%m }}{%- endfor -%} {% else %}{{ "000"|string }}{% endif %}' | ||
metatask_plot_allvars_mem#mem#_all_fhrs: | ||
var: | ||
fhr: '{% for h in range(0, workflow.LONG_FCST_LEN+1) %}{{ " %03d" % h }}{% endfor %}' | ||
cycledef: '{% for h in range(0, workflow.LONG_FCST_LEN+1) %}{% if h <= workflow.FCST_LEN_CYCL|min %}forecast {% else %}long_forecast {% endif %}{% endfor %}' | ||
task_plot_allvars_mem#mem#_f#fhr#: | ||
<<: *default_task | ||
command: '&LOAD_MODULES_RUN_TASK_FP; "plot_allvars" "&JOBSdir;/JREGIONAL_PLOT_ALLVARS"' | ||
dependency: | ||
or_do_post: &post_files_exist | ||
and_run_post: # If post was meant to run, wait on the whole post metatask | ||
taskvalid: | ||
attrs: | ||
task: run_post_mem#mem#_f#fhr# | ||
metataskdep: | ||
attrs: | ||
metatask: run_ens_post | ||
and_inline_post: # If inline post ran, wait on the forecast task to complete | ||
not: | ||
taskvalid: | ||
attrs: | ||
task: run_post_mem#mem#_f#fhr# | ||
taskdep: | ||
attrs: | ||
task: run_post_mem#mem#_f#fhr# | ||
|
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not an appropriate fix to fortran codes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a temporary workaround to allow chgres_cube to build before a later tag is used that officially introduces RRFS capability. The current UFS_UTILS tag simply flag the "RRFS" option as not valid, and reports an error. Newer UFS_UTILS tags do not yet work with the SRW, and require more adaptation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@christinaholtNOAA -
please see comments:
#1089 (comment)
#1089 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed an extra empty line
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The appropriate workaround to needing code not yet committed to an authoritative repo is to keep the necessary code in a branch and point to that branch in the interim. Editing external code in the build process is a bad practice that sets a horrible precedent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updating the UFS_UTILS hash to 1dac855 would bring in the necessary change to
chgres_cube's
program_setup.F90
. However, all WE2E tests that use RAP and HRRR physics will fail while moving to this version of UFS_UTILS, as it is after the fractional grid update. It doesn't look like there has been any work on issue #961 in UFS_UTILS, so this is still keeping the SRW App from moving forward with updated versions of UFS_UTILS.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I totally understand that there is no way to get the UFS_UTILS hash updated right now.
There are two ways to handle it -- a temporary branch in a fork that EPIC controls to hold this source code change, or holding off on this PR until that update can be made.
Editing source code in the build script is unacceptable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@christinaholtNOAA @MichaelLueken
Another possible approach could be to solve the issue of chgres_cube flagging the RRFS option to be done on SRW scripts level, instead of changing the error condition on the UFS_UTILS level.
My suggestion is to change the variable "external_model" from "RRFS" to "HRRR" in namelist fort.41 files before chgres_cube is called. These namelist files are stored in $EXPTDIR/[TEST_NAME]/[YYYYMMDDHH]/tmp_MAKE_ICS/ and ./tmp_MAKE_LBCS/ .
The changes are to be done in exregional_make_ics.sh and exregional_make_lbcs.sh, or in exregional_get_extrn_mdl_files.sh
That way the RRFS files interpolated to a regular grid still could be retrieved from the RRFS AWS location as needed, according to the external model type set for the experiment, but will be processed by chgres_cube similar to those for HRRR. This should be functional as long as HRRR and RAP remain as options for the SRW initial and lateral boundary condition.
Please let me know if this sounds a viable alternative to error flag removal in chgres_cube's program_setup.F90!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Labeling RRFS ICs/LBCs as "HRRR" to get it through is fine with me. Modifying source code is not.