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

Updated hpc-stack modules and compiler flags for building SRW release/public-v2 on MacOS #263

Conversation

natalie-perlin
Copy link
Collaborator

@natalie-perlin natalie-perlin commented May 19, 2022

DESCRIPTION OF CHANGES:

Changed a build template for the MacOS system to use the hpc-stack modules built for the release/public-v2 SRW version, a file ./modulefiles/build_macos_gnu .
Recipe for building the hpc-stack for this release on a MacOS using the GNU compiler suite, for either M1/arm64 or Intel/x86_64 chips could be found in HPC-stack repo:
https://github.com/NOAA-EPIC/hpc-stack.git, release/public-v2 branch; it will be later merged with the hpc-stack NOAA-EMC repository. Currently it could be cloned as following:
git clone -b release/public-v2 https://github.com/NOAA-EPIC/hpc-stack.git hpc-stack.git

TESTS CONDUCTED:

The SRW was build and tested (single test 2019051600) based on the hpc-stack for release/public-v2. Tho MacOS systems tested: M1/arm64 with Darwin 20/Big Sure, Intel/x86_64 with Darwin 19/Catalina, build has been also tested on M1/arm64 with Darwin 21/Monterey.

DEPENDENCIES:

HPC-stack recipe built for this release:

DOCUMENTATION:

The documentation is under a separate PR

ISSUE (optional):

  1. This resolves dependence of syncing the modules loaded to build and run the SRW release/public-v2 on MacOS.
  2. Modulefiles build_macos_gnu, wflow_macos could be loaded. Env. variable LDFLAGS needs to be set up (exported) after loading build_macos_gnu; wflow_macos needs to have "puts" in place of "system" calls.

See discussion under the PR #238

Contributors:
@danielabdi-noaa

@JeffBeck-NOAA
Copy link
Collaborator

@natalie-perlin, can you change the title of this PR to reflect that these changes are only for MacOS? Thanks!

@JeffBeck-NOAA
Copy link
Collaborator

@willmayfield, does this look good to you?

@natalie-perlin natalie-perlin changed the title Updated hpc-stack modules and compiler flags for building SRW release/public-v2 Updated hpc-stack modules and compiler flags for building SRW release/public-v2 on MacOS May 23, 2022
Jesse McFarland and others added 2 commits May 25, 2022 13:14
The slash in branch names such as release/.* and feature/.* is
interpreted as a directory separator. This change replaces the "/"
character with a "_".
@danielabdi-noaa
Copy link
Collaborator

@natalie-perlin This looks good to me. Sorry that the only way to get LDFLAGS working in build_macos_gnu seems to be if it was written in Lua according to this document. Maybe printing a message at the end of build_macos_gnu will do for now, but it is not an ideal solution either.

set shell [module-info shelltype]
if {$shell == "sh"} {
   puts stderr {Please execute this command:
        > export LDFLAGS=-L$MPI_ROOT/lib}
} else {
   puts stderr {Please execute this command:
        > setenv LDFLAGS -L$MPI_ROOT/lib}
}

@natalie-perlin natalie-perlin merged commit 07516e7 into ufs-community:release/public-v2 May 26, 2022
This was referenced May 27, 2022
elcarpenterNOAA pushed a commit to elcarpenterNOAA/srw-app that referenced this pull request Aug 26, 2024
A full integration of uwtools for the UPP task and inline-post.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants