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

Set python 3.11.6 and corresponding py-numpy for gsi-addon-dev template #920

Merged

Conversation

AlexanderRichert-NOAA
Copy link
Collaborator

Summary

This PR adds [email protected] to the gsi addon environment template. Note the :: is needed to override the require: settings from common/packages.yaml. I chose 3.11.6 because it's listed as preferred in the recipe, and 1.23.4 build with intel whereas various prior and later versions don't work with intel and/or [email protected]. I suggest putting this is 1.6.0 release so that the gsi addon environment should work right out of the box.

Testing

Tested building as unchained environment on Hera.

Applications affected

GSi

Systems affected

all systems where gsi-addon-env will be installed

Dependencies

none

Issue(s) addressed

Addresses #908

Checklist

  • This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
  • These changes have been tested on the affected systems and applications.
  • All dependency PRs/issues have been resolved and this PR can be merged.

@AlexanderRichert-NOAA
Copy link
Collaborator Author

@climbfuji @DavidHuber-NOAA I'm on break for a while starting tomorrow (Dec 20), so if you can verify this and merge if it looks good, that would be much appreciated. Thanks!

@climbfuji
Copy link
Collaborator

@climbfuji @DavidHuber-NOAA I'm on break for a while starting tomorrow (Dec 20), so if you can verify this and merge if it looks good, that would be much appreciated. Thanks!

So the "problem" is that this doesn't build on macOS (at least the slightly older versions). I've spent several days with the spack developers on this and we are nearing a solution. Not really a problem if we don't care for the moment, but needed in the mid-term.

I am currently building a 1.6.0 release candidate on Hercules, how about I use this template for creating the gsi-addon-env for testing?

@DavidHuber-NOAA
Copy link
Collaborator

@climbfuji That works for me. Thank you! I am also building a highly pared down version of it on Hera for a quick round of METplus testing.

@climbfuji
Copy link
Collaborator

Yesterday after much debugging I was able to build gsi-addon-env with Python 3.11.2 on my new macOS (Sonoma, apple-clang@15, Intel architecture) except the last mile - met and metplus didn't build (but all the Python dependencies did). On my other mac (Monterey, apple-clang@13, Arm architecture), py-numpy built but was unusable, causing many build failures for downstream Python packages. The spack and numpy developers are investigating the underlying issue (they verified there is one).

Long story short, maybe macOS is never going to be a place for gsi-addon-env because I don't expect that anyone will try to fix the old met/metplus versions on macOS. But having the Python environment issues sorted out on macOS is necessary for updating Python in general in the near future.

@climbfuji climbfuji changed the base branch from develop to release/1.6.0 December 20, 2023 17:16
@climbfuji climbfuji added INFRA JEDI Infrastructure NOAA-EMC labels Dec 20, 2023
@DavidHuber-NOAA
Copy link
Collaborator

DavidHuber-NOAA commented Dec 20, 2023

While Python 3.11.6 installed successfully on Hera, it failed to install met/9.1.3 failing with an obscure error:

make[4]: Nothing to be done for `install-exec-am'.
 /usr/bin/mkdir -p '/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/envs/gsi-addon/install/intel/2021.5.0/met-9.1.3-w427egk/share/met/map/admin_by_country'
==> Error: Exception occurred in writer daemon!
Traceback (most recent call last):
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 983, in _writer_daemon
    sys.stdout.write(output_line)
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 255, in write
    self.stream.write(data)
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 255, in write
    self.stream.write(data)
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 255, in write
    self.stream.write(data)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 837-838: ordinal not in range(128)
==> Error: ProcessError: Command exited with status -13:
    'make' '-j6' 'install'

The full log file for met is available here: /scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/cache/build_stage/spack-stage-met-9.1.3-w427egk7fioeuzsfezgpbpcnaxbmbhjg/spack-build-out.txt, though oddly the error is not written to this log, it stops just short of it. The log file for the gsi-addon install is available here: /scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/envs/gsi-addon/log.install, which includes the error.

@climbfuji
Copy link
Collaborator

While Python 3.11.6 installed successfully on Hera, it failed to install met/9.1.3 failing with an obscure error:

make[4]: Nothing to be done for `install-exec-am'.
 /usr/bin/mkdir -p '/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/envs/gsi-addon/install/intel/2021.5.0/met-9.1.3-w427egk/share/met/map/admin_by_country'
==> Error: Exception occurred in writer daemon!
Traceback (most recent call last):
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 983, in _writer_daemon
    sys.stdout.write(output_line)
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 255, in write
    self.stream.write(data)
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 255, in write
    self.stream.write(data)
  File "/scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/spack/lib/spack/llnl/util/tty/log.py", line 255, in write
    self.stream.write(data)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 837-838: ordinal not in range(128)
==> Error: ProcessError: Command exited with status -13:
    'make' '-j6' 'install'

The full log file for met is available here: /scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/cache/build_stage/spack-stage-met-9.1.3-w427egk7fioeuzsfezgpbpcnaxbmbhjg/spack-build-out.txt, though oddly the error is not written to this log, it stops just short of it. The log file for the gsi-addon install is available here: /scratch1/NCEPDEV/global/David.Huber/SPACK/spack-stack/envs/gsi-addon/log.install, which includes the error.

Did you use the release/1.6.0 version of spack-stack and spack for that? I was able to install gsi-addon-env successfully using this branch based on the release branches. (on Hercules with GNU and Intel).

Maybe spack clean -a and kick off the remaining install? Also wortth checking what is in your ~/.spack folder

@DavidHuber-NOAA
Copy link
Collaborator

Thanks for the suggestions @climbfuji. No, I did not try out release/1.6.0. I will work with that and clean out my ~/.spack.

@climbfuji
Copy link
Collaborator

Also, just to make sure, before you run source setup.sh in the spack-stack directory:

module purge
module use /scratch1/NCEPDEV/jcsda/jedipara/spack-stack/modulefiles
module load miniconda/3.9.12
module load ecflow/5.5.3
module load mysql/8.0.31

@climbfuji
Copy link
Collaborator

@DavidHuber-NOAA Did that work for you? Are you ok with these changes? I am happy to approve and merge if it works for you. Thanks!

@DavidHuber-NOAA
Copy link
Collaborator

@climbfuji Sorry for not getting back. Yes, it did work and @malloryprow verified that met worked. Yes, please go ahead and merge.

@climbfuji
Copy link
Collaborator

@climbfuji Sorry for not getting back. Yes, it did work and @malloryprow verified that met worked. Yes, please go ahead and merge.

Thanks very much!

@climbfuji climbfuji merged commit 4f0dcdd into JCSDA:release/1.6.0 Dec 21, 2023
6 checks passed
@climbfuji climbfuji mentioned this pull request Dec 21, 2023
14 tasks
climbfuji added a commit that referenced this pull request Jan 14, 2024
* Mandatory updates for release/1.6.0 in .gitmodules, configs/containers/*.yaml, configs/containers/specs/jedi-ci.yaml, doc/source/conf.py
* Generate module for qhull
* release/1.6.0: change crtm build type to release, remove qhull from module blacklist (#919)
* set python 3.11.6 and corresponding py-numpy for gsi-addon-dev template (#920)
* Update site config and documentation for Hercules for release/1.6.0
* Update site config and documentation for Nautilus
* Update site config for Discover and documentation for Discover and ParallelWorks
* Update compiler compatibility in New Site documentation (#929)
* Add doc/modulefile_templates/node.js and update site config and documentation for spack-stack-1.6.0 for Narwhal (Intel) and S4
* Update doc/source/PreConfiguredSites.rst for gsi-addon-env on S4
* release/1.6.0 site config & documentation updates for Orion, Derecho, Narwhal/GNU, AWS ParallelCluster, AWS Single-Node AMI Red Hat 8, Casper (#930)
* site config and documentation updates for spack-stack-1.6.0: Orion, Derecho, Narwhal/GNU, AWS ParallelCluster, AWS Single-Node AMI Red Hat 8, Casper.
*A dd information for a new GNU+OpenMPI environment on Hercules that is available for testing.
* Remove libtool form Gaea, Hera and Jet. (#937)
* release/1.6.0: last site config/doc updates and spack submodule update (release/1.6.0 --> spack-stack-1.6.0) (#935)
* Update documentation for acorn
* Update documentation for spack-stack-1.6.0 for Hera, Jet, Gaea C5
* release/1.6.0: fix bug in documentation for Hercules, site config updates/cleanup for ParallelWorks (#943)
* Changes for NOAA Azure, remove use of intel/2018 compiler on NOAA platforms
* Revert changes that were only needed on the release/1.6.0 branch

---------

Co-authored-by: Alex Richert <[email protected]>
Co-authored-by: Stephen Herbener <[email protected]>
Co-authored-by: RatkoVasic-NOAA <[email protected]>
Co-authored-by: Natalie Perlin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
INFRA JEDI Infrastructure NOAA-EMC
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

3 participants