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

dev_v16 build and versions updates to support Hera/Orion #700

Merged
merged 14 commits into from
Apr 4, 2022

Conversation

KateFriedman-NOAA
Copy link
Member

Description

This PR contains the following updates to support building the GFSv16.2.0 package via the dev_v16 branch on Hera/Orion:

  1. update Hera/Orion global-workflow modulefiles to use special hpc-stack-gfsv16 hpc-stack installs created by hpc-stack team
  2. change python to anaconda on Hera
  3. remove module loads in Hera/Orion module_base modulefiles that won't be needed or won't be available on either machine: libjpeg, bufr_dump, util_shared, perl (will need to come back and check on perl on Hera, likely needed for GSI monitoring package, removing for now to avoid errors at loadtime)
  4. build scripts updates for supporting R&D machines: build_fv3nc2nemsio.sh, build_regrid_nemsio.sh, build_tropcy_NEMS.sh
  5. makefile updates for supporting R&D machines: enkf_chgres_recenter_nc.fd/makefile, supvit.fd/makefile, syndat_getjtbul.fd/makefile, syndat_maksynrc.fd/makefile, syndat_qctropcy.fd/makefile, tave.fd/makefile, vint.fd/makefile
  6. checkout.sh updates for component versions: GSI (gfsda.v16.2.0.1 @MichaelLueken-NOAA) and UPP (upp_v8.1.1 @WenMeng-NOAA)
  7. checkout.sh update to add WAFS checkout to the -o operations checkout mode; won't need or support WAFS outside of WCOSS2
  8. update link_fv3gfs.sh to remove nemsio_*.fd symlinks; nemsio codes now gone in UFS_UTILS component version
  9. version file updates to hera.ver and orion.ver to add new obsproc/prepobs run versions, update hpc_ver to 1.2.0, and add verson overrides for module versions that differ compared to WCOSS2

Some of the above build changes are to support the fact that hpc-stack was installed differently on the R&D machines compared to WCOSS2 (dynamic instead of static).

The above updates do not impact build or run functionality on WCOSS2. The above has been tested (build and run) in cycled mode on WCOSS2 to confirm no functionality impact.

Note: there are two component versions uncommitted but tested alongside the above: ufs-weather-model modulefileRnD branch provided by @junwang-noaa and UFS_UTILS hotfix/gfsv16.2.0 branch provided by @GeorgeGayno-NOAA. Can't build out of the box without those two component updates.

Type of change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

These changes have been tested on Hera, Orion, and WCOSS2 to confirm checkout and build happen correctly. Also tested in cycled mode on WCOSS2 to confirm no impact on functionality there. Cycled tests still to be done on Hera/Orion.

Refs: #665

KateFriedman-NOAA and others added 11 commits March 2, 2022 13:25
- update the build scripts for fv3nc2nemsio, regrid_nemsio, and
tropcy_NEMS to set corrected LIBS and NETCDF_LDFLAGS flags

Refs: NOAA-EMC#665
- update the LIBS setting in enkf_chgres_recenter_nc.fd/makefile
- replace COMP value of "ftn" with "$(FC)" to accept overrides
for different compilers on different platforms
- FC will be set via myFC at upper level

Refs: NOAA-EMC#665
- remove now-unneeded symlinks in link_fv3gfs.sh for nemsio_chgdate.fd,
nemsio_get.fd, and nemsio_read.fd

Refs: NOAA-EMC#665
- only checkout the GFS WAFS package when building the package for operations

Refs: NOAA-EMC#665
- change MODULEPATH to /apps/contrib/NCEP/libs/hpc-stack-gfsv16/modulefiles/stack in modulefiles
- remove libjpeg, bufr_dump, and util_shared from module_base.orion.lua;
won't be available outside of production or aren't needed on Orion

Refs: NOAA-EMC#665
- add new obsproc/prepobs version variables
- update hpc_ver to 1.2.0
- add override versions for modules that differ on Orion compared to WCOSS2:
gempak_ver, python_ver, wrf_io_ver, esmf_ver, nco_ver

Refs: NOAA-EMC#665
- change MODULEPATH to /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack-gfsv16/modulefiles/stack
- remove png module load in modulefile.storm_reloc_v6.0.0.hera.lua; now libpng
- change python to anaconda module in module_base.hera.lua
- remove unavailable or unneeded module loads in module_base.hera.lua:
perl, libjpeg, bufr_dump, util_shared
- add anaconda_ver=anaconda3-5.3.1 to hera.ver

Refs: NOAA-EMC#665
- add new obsproc/prepobs run versions
- update hpc_ver to 1.2.0
- add needed overrides for module versions that differ on Hera compared
to WCOSS2: cmake_ver, esmf_ver, nco_ver, gempak_ver, wrf_io_ver

Refs: NOAA-EMC#665
- update GSI tag to gfsda.v16.2.0.1
- update UPP tag to upp_v8.1.1

Refs: NOAA-EMC#665
@KateFriedman-NOAA KateFriedman-NOAA added the port Porting the system to a new platform label Mar 29, 2022
@KateFriedman-NOAA KateFriedman-NOAA added this to the WCOSS2 - GFSv16.2.0 milestone Mar 29, 2022
@KateFriedman-NOAA KateFriedman-NOAA self-assigned this Mar 29, 2022
@GeorgeGayno-NOAA
Copy link
Contributor

@KateFriedman-NOAA If you think my hotfix branch is working, let me create a formal tag. I don't want you pointing to that branch.

@KateFriedman-NOAA
Copy link
Member Author

@KateFriedman-NOAA If you think my hotfix branch is working, let me create a formal tag. I don't want you pointing to that branch.

@GeorgeGayno-NOAA Yes, I did some cycled testing with that hotfix branch on WCOSS2 and started cycled testing on Hera/Orion with that branch and it's working thus far. Please cut me a tag now and should I hit issues I'll let you know. Thanks!

@junwang-noaa
Copy link
Contributor

@aliabdolali @JessicaMeixner-NOAA May I ask if the ww3 changes for ufs-weather-model are ready? If yes, I can update the ufs-weather-model branch modulefileRnD and merge the code changes to production/GFSv16. Thanks

@JessicaMeixner-NOAA
Copy link
Contributor

@junwang-noaa I'm taking care of the operational issues for WW3 for now. There are no planned updates for WW3 for 16.2, if changes are required we were going to target them for 16.3, unless something has changed since our last emails/meetings. In terms of testing the updates for 16.3, I've heard no updates on hpc-stack requiring testing of potential changes or not.

@KateFriedman-NOAA
Copy link
Member Author

@junwang-noaa @JessicaMeixner-NOAA @arunchawla-NOAA Correct me if I'm wrong but I believe we agreed to not support waves on Hera/Orion for this version of v16.2 but will continue to support waves on WCOSS2 in this version. This is all for the dev_v16 branch and will not be going into the feature/ops-wcoss2 branch or operations branch for v16.2. The dev_v16 branch is the base for v16.3+ upgrades post-WCOSS2 go-live but needs to support v16.2 to start before we apply v16.3 updates.

Then the WW3 updates would be made for the v16.3 system and will be supported on all three platforms via the soon-to-be-made g-w branch for the v16.3 upgrade (November).

@JessicaMeixner-NOAA
Copy link
Contributor

@KateFriedman-NOAA I think you are correct.

@junwang-noaa
Copy link
Contributor

junwang-noaa commented Mar 29, 2022

@KateFriedman-NOAA Thanks for clarifying. I thought nceplibs team will update the library so that the model branch will support ww3 on hera/orion, thanks for confirming that is not the case. Also can you clarify what are the dev_v16 branch, feature/ops-wcoss2 branch, the operations branch for v16.2 and the g-w branch? Is it correct that the model branch with GFSv16 atm only capability on hera/orion will not be updated with future ww3 updates?

@KateFriedman-NOAA
Copy link
Member Author

I thought nceplibs team will update the library so that the model branch will support ww3 on hera/orion, thanks for confirming that is not the case.

Good point @junwang-noaa let me check on this... @arunchawla-NOAA was a request to reinstall the hpc-stack-gfsv16 statically on Hera/Orion submitted?

@arunchawla-NOAA
Copy link
Contributor

I dropped the ball on that. Let me see about that

@KateFriedman-NOAA
Copy link
Member Author

KateFriedman-NOAA commented Mar 29, 2022

Is it correct that the model branch with GFSv16 atm only capability on hera/orion will not be updated with future ww3 updates?

@junwang-noaa Correct. No more WW3 code changes should be coming into the GFSv16.2 ufs-weather-model production branch. Support for Hera/Orion should stick to module/build updates and no code updates. Code updates to ufs-weather-model and/or WW3 to support Hera/Orion should be held for the future v16.3 upgrade (which will start testing in a month or so).

Also can you clarify what are the dev_v16 branch, feature/ops-wcoss2 branch, the operations branch for v16.2 and the g-w branch?

The feature/ops-wcoss2 branch is the current GFSv16.2 package for WCOSS2 and will be merged into the operations branch around go-live (a.k.a. implementation date). That feature branch will then go away.

The dev_v16 branch will ingest any final updates from feature/ops-wcoss2 and operations branches for v16.2, be what supports v16.2 on all three platforms, and be the base for future GFSv16+ upgrades. The GFSv16.3 global-workflow branch will be cut from this branch (name not set yet but maybe release/gfs.v16.3.0). Then that v16.3 global-workflow branch will be merged into the operations branch when that version implements on WCOSS2. The dev_v16 branch will stick around to support the v16+ system on WCOSS2/Hera/Orion as needed but may also go away after v16.3 goes into ops. It's future is TBD but it will most likely go away as we prep the GFSv17+ hand-off branch. Since it's not easy to get bug fixes into ops to also support R&D we have to maintain this separate branch.

In case I confused you..."g-w" is just my short-hand for "global-workflow". :)

Hope that helps! It's confusing but since we have so many overlapping implementations/supports this is how we're keeping things sorted right now.

Copy link
Contributor

@WalterKolczynski-NOAA WalterKolczynski-NOAA left a comment

Choose a reason for hiding this comment

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

Approved pending testing, though there is one piece of commented code that could be removed.

sorc/enkf_chgres_recenter_nc.fd/makefile Outdated Show resolved Hide resolved
@junwang-noaa
Copy link
Contributor

@KateFriedman-NOAA Thanks for the clarification. Since there is not source code change in the modulefileRnD branch, once it is confirmed no ww3 changes will not be added, I will merge the branch to model production/GFS.v16 branch and create a tag. Thanks

@JessicaMeixner-NOAA
Copy link
Contributor

@junwang-noaa there will be no WW3 changes for this PR. We will continue to focus any potential WW3 changes for 16.3

@KateFriedman-NOAA
Copy link
Member Author

Thanks for confirming @JessicaMeixner-NOAA !

@junwang-noaa sounds like we're ready for you to "merge the branch to model production/GFS.v16 branch and create a tag". I've tested the build of your modulefileRnD branch on WCOSS2 with WW3=Y and Hera/Orion with WW3=N (no issues observed) and I have run fcst jobs with it on all three machines without issues. Thanks!

@KateFriedman-NOAA
Copy link
Member Author

@WalterKolczynski-NOAA @aerorahul I will hold this PR until I get the UFS_UTILS and ufs-weather-model tags discussed. Will address other comments while waiting for that.

There will be further PRs as I perform cycled testing on Hera/Orion but this branch is working well on WCOSS2 thus far (mostly out of the box, minus the two components awaiting tagging). I anticipate some time to sort out obsproc on Hera/Orion, in addition to resource optimization on Hera/Orion, and potential other updates as I make my way through all cycle jobs. Updates for that will be in future PRs for this branch.

Copy link
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

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

Changes look good to me.
The proof will however be in the pudding when this is built and run.

sorc/enkf_chgres_recenter_nc.fd/makefile Outdated Show resolved Hide resolved
@junwang-noaa
Copy link
Contributor

@KateFriedman-NOAA The model tag: GFS.v16.2.1 was created. Thanks

- update ufs-weather-model checkout to GFS.v16.2.1 tag
- update UFS_UTILS checkout to ops-gfsv16.2.1 tag
- add "--init" with GSI submodule command to correct libsrc checkout

Refs: NOAA-EMC#665
- set WW3=Y on WCOSS2 and WW3=N on Hera/Orion
- will not be supporting waves on Hera/Orion for this version of
GFS.v16.2 due to need to update WW3 code
- will remove machine check for v16.3 upgrade and return to WW3=Y

Refs: NOAA-EMC#665
@KateFriedman-NOAA
Copy link
Member Author

The model tag: GFS.v16.2.1 was created. Thanks

Thanks @junwang-noaa !

ufs-community/UFS_UTILS#629 (comment)

New UFS_UTILS tag cut: ops-gfsv16.2.1. Thanks @GeorgeGayno-NOAA !

Tested build of both new tags on WCOSS2, Hera, and Orion...no issues. Ran ufs-weather-model build with WW3=Y on WCOSS2 and WW3=N on Hera/Orion. Updated build_fv3.sh to set this based on machine for this version of the GFS. Committed to branch @ fdd4fcd.

I have updated checkout.sh with these two tags @ c52e4b8. Also included needed "--init" flag with GSI submodule checkout (resolves clone issue after libsrc submodule update, forgot to commit from WCOSS2 clone earlier).

@KateFriedman-NOAA
Copy link
Member Author

Any further questions/comments on this PR before it is submitted? Reminder, this is just the build and version files updates...which have been tested successfully during the build steps on all three machines. Additional updates will be sent back as cycled testing occurs with this branch on Hera, Orion, and WCOSS2.

@aerorahul Anything blocking your approval on this PR that I can address? Thanks!

Copy link
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

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

looks good.

@KateFriedman-NOAA KateFriedman-NOAA merged commit 698f3bf into NOAA-EMC:dev_v16 Apr 4, 2022
kayeekayee pushed a commit to kayeekayee/global-workflow that referenced this pull request May 30, 2024
* bug fixed for mraerosol

* update upp revision
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
port Porting the system to a new platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants