Skip to content

Add climtools uenv #3

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

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open

Add climtools uenv #3

wants to merge 15 commits into from

Conversation

leclairm
Copy link
Contributor

It's mainly a clone and rename of netcdf-tools. eccodes is added and netcdf versions are left to the concretizer.

@leclairm
Copy link
Contributor Author

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

1 similar comment
@leclairm
Copy link
Contributor Author

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

@leclairm leclairm marked this pull request as ready for review February 26, 2025 22:02
Copy link
Contributor

@bcumming bcumming left a comment

Choose a reason for hiding this comment

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

A couple of things to think about.

- cdo
- nco
- [email protected]
- eccodes +tools +aec +openmp jp2k=jasper
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you need to use the same version of eccodes as was used for the icon/25.2 uenv?
If so, see the icon/25.2 recipe:

  • it builds a specific version
  • it contains a repo path with a custom eccodes recipe that makes some tweaks to get the specific version required for the MCH v8 stack.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I saw that. Wanted to ask @jonasjucker, I never use eccodes myself.

Choose a reason for hiding this comment

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

I would stick to the same eccodes version as in icon/25.2. Some standardization should be good.

gpu: false
unify: true
specs:
- hdf5
Copy link
Contributor

Choose a reason for hiding this comment

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

hdf5 +szip +hl: the hl option is required if anybody wants to use the Python HDF5 interface.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the info, I can add it in case. Not sure anybody directly uses hdf5 from python though. People use the netcdf APIs, which should then interface with hdf5 through C. Anyhow, I guess it doesn't harm.

unify: true
specs:
- hdf5
- netcdf-c

Choose a reason for hiding this comment

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

I would explicitly list a version fort netcdf-c and netcdf-fortran.
This makes it more transparent and debuggable.

In the end it would be good to share the same versions across Balfrin and Santis

Copy link
Contributor Author

@leclairm leclairm Feb 27, 2025

Choose a reason for hiding this comment

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

For Balfrin and Santis, yes for sure. We'll eventually deploy both uenvs (ICON and Climtools) there.
I'll check which version the concretizer picked for netcdf-c, netcd-cxx4 and hdf5 and add them explicitly. Re netcdf-fortran, it's not in the uenv, I thought it was useless. What about eccodes? Do we want to keep it in sync with the ICON uenv? I don't know who uses it outside of ICON.

Choose a reason for hiding this comment

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

To compile icontools we need netcdf-fortran and eccodes.

I don't understand why you made to effort to add comments with the versions, but removed them from spec.

@leclairm
Copy link
Contributor Author

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

1 similar comment
@leclairm
Copy link
Contributor Author

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

# - the python minor version is set to the latest possible spack accepts
# - other versions where just picked by the spack concretizer
- hdf5 +szip +hl # concretized to @1.14.3
- netcdf-c # concretized to @4.9.2

Choose a reason for hiding this comment

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

The comments are confusing, soon this will be a copy-paste artifact that is wrong.

I would put version where we care: netcdf-c, netcdf-fortran and eccodes.
All other spec can live w/o. So also no comments.

Copy link
Contributor Author

@leclairm leclairm Feb 27, 2025

Choose a reason for hiding this comment

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

Fine, I wasn't 100% convinced myself. Why do we care about the netcdf-c version (there's no netcdf-fortran)? It's just the backend used by python packages or other applications like cdo or nco. Or do you plan to build specific applications with it?

Choose a reason for hiding this comment

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

As I stated, we need netcdf-fortran for icontools!

This has to go into this uenv, since it is probably to most prominent code that will use climtools

Choose a reason for hiding this comment

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

Since netcdf-fortran is just the interface to netcdf-c I thinnk it is good to know the combination of both.

Choose a reason for hiding this comment

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

But please remove the comments stating the version.

@bcumming
Copy link
Contributor

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

@leclairm
Copy link
Contributor Author

leclairm commented Mar 6, 2025

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3

1 similar comment
@leclairm
Copy link
Contributor Author

leclairm commented Mar 6, 2025

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3

@leclairm leclairm requested review from bcumming and jonasjucker March 6, 2025 11:01
@jonasjucker
Copy link

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3

@jonasjucker
Copy link

@leclairm There is a syntax error in the script.

@leclairm
Copy link
Contributor Author

leclairm commented Mar 6, 2025

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3

Copy link

@jonasjucker jonasjucker left a comment

Choose a reason for hiding this comment

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

Now it looks good. All version pinned.

@bcumming
Copy link
Contributor

There is a new PR for an updated version of the icon uenv (#4)

If we want to use the same version of eccodes across all of the uenv (icon, climtools, .... etc), it would be easier to centralise the package definition?

Maybe that is a bit too complicated to do now, but we should at least ensure that the same eccodes package definition is used in all of the 25.2 uenv releases.

@bcumming
Copy link
Contributor

We have an icon/25.2 uenv deployed, and this PR and #4 add climtools/25.3 and icon/25.3.
Is the plan to use the 25.3 releases as the "official" releases going forward, and deprecate 25.2?

You probably want to stick to consistent versioning so that the versions of packages in climtools/X and icon/X are consistent, so that users know that they can use the uenv together.

@mjaehn
Copy link

mjaehn commented Mar 25, 2025

@leclairm Any status update here?

Try to use ${GITLAB_DKRZ_TOKEN} through GIT_CONFIG_XXX env vars in the
pipeline in order to clone the private icontools repo.
@leclairm
Copy link
Contributor Author

leclairm commented Apr 3, 2025

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

1 similar comment
@leclairm
Copy link
Contributor Author

leclairm commented Apr 4, 2025

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

@leclairm
Copy link
Contributor Author

leclairm commented Apr 4, 2025

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

@bcumming
Copy link
Contributor

bcumming commented Jun 4, 2025

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

2 similar comments
@bcumming
Copy link
Contributor

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

@bcumming
Copy link
Contributor

cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2

@bcumming
Copy link
Contributor

cscs-ci run alps;system=balfrin;uarch=a100;uenv=climtools:25.2

@bcumming
Copy link
Contributor

cscs-ci run alps;system=santis;uarch=zen3;uenv=climtools:25.2

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.

4 participants