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

Convert Orion and Hera modulefiles to LUA format and hpc-stack #648

Merged
merged 23 commits into from
Feb 15, 2022

Conversation

KateFriedman-NOAA
Copy link
Member

@KateFriedman-NOAA KateFriedman-NOAA commented Feb 10, 2022

Description

This PR converts the Orion and Hera modulefiles to LUA format (rename to add .lua) and to use hpc-stack. This PR also includes the following:

  • initial build updates to get workflow-owned codes to build with hpc-stack on Orion/Hera (more of this to come, waiting for some library module versions to be installed)
  • create new $target.ver files for Orion and Hera; these new versions files will set hpc-stack modules and can be used to set other library module versions that may be different on specific platforms (due to need)
  • cleanup the Hera, Orion, and Jet blocks in machine-setup.sh
  • delete unneeded OznMonBuild and RadMonBuild modulefiles for Orion and WCOSS-Dell (didn't exist for Hera or WCOSS2)

Type of change

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

How Has This Been Tested?

By running individual build scripts for codes that aren't awaiting a library version to be installed in hpc-stack or have a viable alternative to use for now. Can successfully build the following execs on Orion/Hera with these updates:

  • enkf_chgres_recenter.x
  • fbwndgfs
  • gaussian_sfcanl.exe
  • gfs_bufr
  • regrid_nemsio
  • tocsbufr

Confirmed updates do not impact building these codes on WCOSS2 by running the builds on WCOSS2 in a clone of my fork copy of dev_v16.

Checklist

  • I have performed a self-review of my own code
  • My changes generate no new warnings

KateFriedman-NOAA and others added 15 commits February 8, 2022 14:39
- add the ".lua" extension to the Orion modulefiles

Refs: NOAA-EMC#639
- cleaned out modulefiles that are no longer needed for OznMon/Radmon
- remove errant workflow_utils.orion.lua (wrong branch)

Refs: NOAA-EMC#639
- add "setenv("myFC","ftn")" to the modulefiles for fbwndgfs
and storm_reloc on WCOSS2
- needed to set FC on WCOSS2 now that other platforms have
to set FC differently (e.g. mpiifort on Orion)

Refs: NOAA-EMC#639
- update fbwndgfs makefile.GENERIC to use myFC variable
- update build_tropcy_NEMS.sh to use myFC variable
- also update build_tropcy_NEMS.sh to adjust JASPER_LIB variable
and remove wcoss2 check for setting SIGIO_LIB4 and SIGIO_INC4

Refs: NOAA-EMC#639
- cleanup Orion, Hera, and Jet blocks to just set target and
do a module purge
- add $target.ver sourcing after build.ver sourcing

Refs: NOAA-EMC#639
- update the gfs_bufr build and makefile to use hpc-stack library variables

Refs: NOAA-EMC#639
- wrap $target.ver sourcing in block that checks if user is not on
WCOSS2 and source if so
- do not need or have wcoss2.ver file at this time

Refs: NOAA-EMC#639
- adjust NETCDF_LDFLAGS_F flags in gaussian_sfcanl.fd/makefile.sh
to flip -lnetcdf/-lnetcdff order, add -lhdf5_hl flag, and add -lz flag

Refs: NOAA-EMC#639
- need to now source the target-specific version files before
loading modulebase.$target.lua on Hera and Orion

Refs: NOAA-EMC#639
- add NETCDF_LDFLAGS flags to successfully build regrid_nemsio

Refs: NOAA-EMC#639
- under the versions folder create new hera.ver and orion.ver
- new target-specific version files will be used to set hpc-stack
modules and versions, as well potentially override other versions
as needed on the specific platforms

Refs: NOAA-EMC#639
- convert the contents of the newly renamed Hera modules to use LUA format
- convert Hera modulefiles to load hpc-stack modules

Refs: NOAA-EMC#639
@KateFriedman-NOAA KateFriedman-NOAA added the port Porting the system to a new platform label Feb 10, 2022
@KateFriedman-NOAA KateFriedman-NOAA self-assigned this Feb 10, 2022
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.

Other than creating a blank wcoss2.ver file, these are mostly noting where the module list has been changed from the previous version. These changes may have been necessary due to the different lib installation (particularly if it is static vs dynamic).

Also, a few modulefiles were deleted without replacements. I'm assuming those just aren't needed.

modulefiles/fv3gfs/enkf_chgres_recenter.hera.lua Outdated Show resolved Hide resolved
modulefiles/gfs_fbwndgfs.hera.lua Outdated Show resolved Hide resolved
modulefiles/gfs_fbwndgfs.orion.lua Outdated Show resolved Hide resolved
modulefiles/module_base.hera.lua Show resolved Hide resolved
modulefiles/module_base.hera.lua Show resolved Hide resolved
modulefiles/module_base.orion.lua Show resolved Hide resolved
sorc/build_regrid_nemsio.sh Show resolved Hide resolved
sorc/build_tropcy_NEMS.sh Outdated Show resolved Hide resolved
sorc/machine-setup.sh Outdated Show resolved Hide resolved
ush/load_fv3gfs_modules.sh Show resolved Hide resolved
@WalterKolczynski-NOAA
Copy link
Contributor

Also, forgot to note: some concern about the order of the loads. Though I think the new files are mostly in the order we do things now in develop, so are more likely to be correct.

- remove hdf5 and netcdf module loads from enkf_chgres_recenter modulefiles
- reran builds to confirm

Refs: NOAA-EMC#639
- remove nemsio and sigio modules from gfs_fbwndgfs build
- reran builds to confirm

Refs: NOAA-EMC#639
- was erroneously removed, added back into module_base.hera.lua
- added companion hpss_ver to hera.ver

Refs: NOAA-EMC#639
- create empty wcoss2.ver to go alongside other new machine-specific
version files
- update machine-setup.sh to load $target.ver on all machines now

Refs: NOAA-EMC#639
@WalterKolczynski-NOAA
Copy link
Contributor

Can you setup tests on Hera and Orion to run over the weekend to make sure everything works?

@KateFriedman-NOAA
Copy link
Member Author

Can you setup tests on Hera and Orion to run over the weekend to make sure everything works?

I will plan to run a test on Monday (should be able to run a fcst job at least, don't have updated components from CMs yet). Will work on test Monday after I get butterfly tests on WCOSS-Dell and WCOSS2 going (higher priority than this). Don't have time left this week to prep anything to run over weekend.

- replace SIGIO_LIB4 with SIGIO_LIB
- replace SIGIO_INC4 with SIGIO_INC
- remove two lines that set "4" variables to non-"4" variables

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

@WalterKolczynski-NOAA I have addressed your comments, thanks for them! I will plan to test these updates at runtime on Monday and report back. Have already tested build scripts for codes that aren't waiting for stack updates or didn't have a viable alternative module version while waiting for needed version.

- only available prod_util on Orion is prod_util/1.2.2
- add prod_util_ver=1.2.2 to orion.ver to override WCOSS2 version

Refs: NOAA-EMC#639
KateFriedman-NOAA and others added 2 commits February 15, 2022 19:10
- add overrides for prod_util and cmake versions to hera.ver
- use available hpc-stack versions to override WCOSS2 defaults

Refs: NOAA-EMC#639
- override WCOSS2 default for cmake_ver and use 3.22.1 on Orion

Refs: NOAA-EMC#639
@KateFriedman-NOAA KateFriedman-NOAA merged commit 626306d into NOAA-EMC:dev_v16 Feb 15, 2022
kayeekayee pushed a commit to kayeekayee/global-workflow that referenced this pull request May 30, 2024
* update dycore: semi-implicit solver update
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.

2 participants