-
Notifications
You must be signed in to change notification settings - Fork 2
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
base: main
Are you sure you want to change the base?
Conversation
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
1 similar comment
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
There was a problem hiding this 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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
1 similar comment
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3 |
1 similar comment
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3 |
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3 |
@leclairm There is a syntax error in the script. |
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.3 |
There was a problem hiding this 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.
There is a new PR for an updated version of the If we want to use the same version of Maybe that is a bit too complicated to do now, but we should at least ensure that the same |
We have an You probably want to stick to consistent versioning so that the versions of packages in |
@leclairm Any status update here? |
- use the same spack version as spack-c2sm. This downgrades cdo to 2.4.0 and only allows python 3.12 - unpin package versions, only document what they were concretized to.
Try to use ${GITLAB_DKRZ_TOKEN} through GIT_CONFIG_XXX env vars in the pipeline in order to clone the private icontools repo.
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
1 similar comment
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
2 similar comments
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
cscs-ci run alps;system=santis;uarch=gh200;uenv=climtools:25.2 |
cscs-ci run alps;system=balfrin;uarch=a100;uenv=climtools:25.2 |
cscs-ci run alps;system=santis;uarch=zen3;uenv=climtools:25.2 |
It's mainly a clone and rename of netcdf-tools.
eccodes
is added and netcdf versions are left to the concretizer.