Skip to content

Update to HDF5 2.1.0, other updates from GMAO testing#2052

Draft
mathomp4 wants to merge 7 commits into
JCSDA:developfrom
GMAO-SI-Team:feature/gmao/updates-2026Jul02
Draft

Update to HDF5 2.1.0, other updates from GMAO testing#2052
mathomp4 wants to merge 7 commits into
JCSDA:developfrom
GMAO-SI-Team:feature/gmao/updates-2026Jul02

Conversation

@mathomp4

@mathomp4 mathomp4 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Description

Updates in this PR:

  1. Up the version of HDF5 to 2.1.0 by default
  2. Add nccmp@1.11.0.0 as an any_of requirement. This is done as at one of the spack-stack telecons, someone from EPIC said they still need the older 1.9 version...I think
  3. Updates for geos-gcm-env and the GMAO scripts

Dependencies

None

Issues addressed

Closes #1822

Applications affected

All apps that use HDF5, so probably all apps.

Systems affected

macos.gmao

Testing

  • CI: Note whether the automatic tests (GitHub actions tests that run automatically for every commit) pass or not
    • GitHub actions CI tests pass
    • GitHub actions CI tests do not pass (provide explanation)
    • GitHub actions CI tests skipped (provide explanation if necessary)
  • New tests added: List and describe any new tests added to GitHub actions
    • ...
  • Additional testing: Add information on any additional tests conducted
    • ...

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.
  • All necessary updates to the documentation (spack-stack wiki) will be made when this PR is merged

- '@1.9.0.1'
- any_of:
- '@1.11.0.0'
- '@1.9.0.1'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

v1.9.0.1 still currently required by EPIC / UFS WM.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@rickgrubin-noaa This should allow it to be built. The question is: what version is "default" as it were. If that is:

      - any_of:
        - '@1.11.0.0'
        - '@1.9.0.1'

then anything requesting nccmp will get nccmp@1.11.0.0. But if we did:

      - any_of:
        - '@1.9.0.1'
        - '@1.11.0.0'

then nccmpnccmp@1.9.0.1.

One of us will need to add a version pin somewhere.

So I guess a question for @climbfuji, et al, is what is the right way for spack-stack?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

1.9.0.1 can be set in a site-specific packages yaml file and any_of in either order would suffice, I think.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is there a reason UFS is always pulling back? This makes no sense to me. It's just a file comparison tool. I would think (naively, perhaps) that when updating to spack-stack-2.2 with a new hdf5 and new nccmp, butterfly tests will need to be conducted to move on.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

You'd think the order wouldn't matter but per Spack docs:

For any_of and one_of, the order of specs indicates a preference: items that appear earlier in the list are preferred (note that these preferences can be ignored in favor of others).

@mathomp4

mathomp4 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

Aww nuts. Per the CI, I missed something with HDF5 requirements.

@mathomp4

mathomp4 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

Crap. It's py-h5py. I didn't try building that.

@neutrinoceros does py-h5py support HDF5 v2? From the "what's new" for v3.16 I see:

Pre-built packages on PyPI are now built with HDF5 2.0 (PR 2750)

So I'd think so, but the spack package just says:

    depends_on("hdf5@1.10.7:1.14 +hl", when="@3.15:")

We could do:

    depends_on("hdf5@1.10.7: +hl", when="@3.16:")
    depends_on("hdf5@1.10.7:1.14 +hl", when="@3.15")

I guess now? not sure...

@mathomp4

mathomp4 commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator Author

Oh boy. I'm testing the py-h5py edit and I think that pretty much triggers the "We need to move to Python 3.12/3.13" path. Maybe. Grah.

cf GMAO-SI-Team#1

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.

[INSTALL]: hdf5@2 for spack-stack v2.2 (not v2.0/v2.1)

3 participants