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

Enable global-workflow to run C768C384 GSI on Gaea-C5 #2990

Draft
wants to merge 22 commits into
base: develop
Choose a base branch
from

Conversation

DavidBurrows-NCO
Copy link
Contributor

Description

What: update resources to run global-workflow C768C384 GSI on Gaea-C5.
Why: requested new feature from GSL

Resolves #2983

Type of change

  • New feature (adds functionality)

Change characteristics

  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? NO
  • Does this change require an update to any of the following submodules? NO (If YES, please add a link to any PRs that are pending.)

How has this been tested?

  • Clone, build, and run C768C384 GSI on Gaea-C5

Checklist

  • Any dependent changes have been merged and published
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have documented my code, including function, input, and output descriptions
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • This change is covered by an existing CI test or a new one has been added
  • I have made corresponding changes to the system documentation if necessary

parm/config/gfs/config.resources.GAEA Fixed Show fixed Hide fixed
parm/config/gfs/config.resources.GAEA Fixed Show fixed Hide fixed
parm/config/gfs/config.resources.GAEA Fixed Show fixed Hide fixed
@DavidBurrows-NCO
Copy link
Contributor Author

Hi @aerorahul I've left this PR in draft form, since I know there will be some necessary changes. One being...I can't seem to increase WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_{GDAS,GFS} and get it to update ntasks properly. I made the change in config.ufs but know it should be in config.resources.GAEA. Thanks for any suggestions!

@DavidBurrows-NCO DavidBurrows-NCO marked this pull request as ready for review October 9, 2024 12:58
@DavidBurrows-NCO
Copy link
Contributor Author

Morning @DavidHuber-NOAA. Thanks for the suggestion in a second sourcing of config.resources. I gave it a try but noticed that ntasks_quilt for GDAS and GFS were not updating correctly on the second loop. I added the calculation of those variables to config.resources.GAEA as well, and that seems to do the trick. I reran the workflow successfully last night with the update. Please let me know your thoughts! Thanks

Comment on lines +64 to +71
(( WRTTASK_PER_GROUP_PER_THREAD_GDAS = WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GDAS * 6 ))
(( WRTTASK_PER_GROUP_PER_THREAD_GFS = WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS * 6 ))
export WRTTASK_PER_GROUP_PER_THREAD_GDAS
export WRTTASK_PER_GROUP_PER_THREAD_GFS
(( ntasks_quilt_gdas = WRITE_GROUP_GDAS * WRTTASK_PER_GROUP_PER_THREAD_GDAS ))
(( ntasks_quilt_gfs = WRITE_GROUP_GFS * WRTTASK_PER_GROUP_PER_THREAD_GFS ))
export ntasks_quilt_gdas
export ntasks_quilt_gfs
Copy link
Contributor

@DavidHuber-NOAA DavidHuber-NOAA Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aerorahul Since this is duplicating calculations from config.ufs, I wonder if these should be moved from config.ufs to config.resources OR if we should allow the basic variables (i.e. WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_${RUN}) to be predefined in config.ufs. For instance, changing

export WRITE_GROUP_GDAS=2
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GDAS=15
export WRITE_GROUP_GFS=4
export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=20 #Note this should be 10 for WCOSS2

to

          export WRITE_GROUP_GDAS=${WRITE_GROUP_GDAS:-2}
          export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GDAS=${WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GDAS:-15}
          export WRITE_GROUP_GFS=${WRITE_GROUP_GFS:-4}
          export WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS=${WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS:-20}

Then, instead of re-sourcing config.resources, Alex would re-source config.ufs, then config.resources, while only defining WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_${RUN}. What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Morning @WalterKolczynski-NOAA @aerorahul C5 is down probably through tomorrow (Wed) but just wanted to check if you had a chance to look at this. I think the less we have to calculate in config.resources.$MACH the better. Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I favor the second approach of allowing overrides, but want to hear from @aerorahul

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DavidHuber-NOAA's recommendation makes sense.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @WalterKolczynski-NOAA and @aerorahul. Hello @DavidHuber-NOAA ...My hands are tied with the C5 OS upgrade, but I was looking through this and writing out all the steps..Everything looks good for your second option until the re-sourcing of config.ufs. In config.fcst, config.ufs is sourced via source "${EXPDIR}/config.ufs" ${string} where string is configured based on which model components are used, i.e., ocn, ice, wave, etc. In order to get the string option into config.ufs, I believe I should re-source config.fcst which will do the re-sourcing of config.ufs. Let me know your thoughts. Thanks.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DavidBurrows-NCO Yes, you are correct about sourcing config.fcst -- that's the way to go about it rather than config.ufs.

@WalterKolczynski-NOAA
Copy link
Contributor

I'm marking this as draft and blocked until C5 is usable again

@WalterKolczynski-NOAA WalterKolczynski-NOAA marked this pull request as draft November 8, 2024 07:18
@WalterKolczynski-NOAA WalterKolczynski-NOAA added the blocked Issue is currently being blocked by another issue label Nov 8, 2024
@DavidBurrows-NCO
Copy link
Contributor Author

I'm marking this as draft and blocked until C5 is usable again

@DavidBurrows-NCO
Copy link
Contributor Author

Thanks for the heads up @WalterKolczynski-NOAA

@DavidBurrows-NCO DavidBurrows-NCO self-assigned this Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Issue is currently being blocked by another issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update resources for Gaea C5/C6 C768 GSI runs
4 participants