TELEMAC Conda package

[name removed] users and developers,

I spent some times looking how to package [name removed] for conda and it’s now done !

Package description:

2 configs are built : gnu.static and gnu.static.debug taken from https://gitlab.pam-retd.fr/otm/wintel/-/blob/main/config/systel.cfg.

Support parallel computation.

Require 1 extra package which is not in default repo : msmpi-compilers (providing mpif90)

Performance should be similar to wintel install

I consider this package as an alpha for now.

Only t2d_malpasset-fine.cas in parallel has been tested.

Features

- Parallel computation


- Switch debug mode
telemac-debug on/off

Not implemented (yet…)

- Dynamic build (I have trouble with API compilation


- HDF5 and MED support


- MUMPS (openblas, scalapack) support


- aed2 support


- gotm support


- Provide examples in separate package


- Provide documentation in separate package

How to install?

- Install miniforge3: https://github.com/conda-forge/miniforge#miniforge3


- In miniforge prompt, run : 
mamba create -n telemac-mascaret -c nicogodet telemac-mascaret

mamba activate telemac-mascaret

python -m config

python -m telemac2d cas_file.cas

[name removed], Scipy and Matplotlib are installed (marked as dependecies). Other python packages (listed in https://gitlab.pam-retd.fr/otm/wintel/-/blob/main/python_requirements.txt) should be manually installed (not tested)

Package recipe

Github repo: https://github.com/nicogodet/telemac-mascaret-feedstock

Anaconda: https://anaconda.org/nicogodet/telemac-mascaret

Via this topic, I call for testers, developers and maintainers to provide a complete and efficient telemac package

Hello [name removed] this is good.

Please also have a look at this : https://github.com/tomsail/telemac-conda

[name removed]

I was inspired by this repo !

[name removed]'s one use a copy of TELEMAC files in GH repo which I didn’t want to do. Mine use official Gitlab repo and checkout wanted version.

I also need to provide msmpi-compiler for Windows as current msmpi package in Anaconda only provide mpiexec but not mpif90.

great stuff nicogodet!

Indeed as you noted it, I have built and packaged only the v8p4 version using conda build and downloading the source from my own repo.

The changes to do wouldn’t be a great deal: modify the url in conda.recipe/meta.yaml - like you did - and point it to the wanted version of TELEMAC.

Which troubles did you have with the API compilation? I could help because I went through some trouble as well.

Hello [name removed],

Great work on the conda package.

You mentioned mpif90, in fact it’s just a wrapper tool that calls the Fortran compiler in the background, with specific options and specific include and library paths. Microsoft doesn’t provide it for MS-MPI, so I had to build it manually, based on what was done for MSYS2. However, it would be best to use GFortran directly instead of mpif90. I’ll update the wintel repo at some point for that.

To build scalapack and MUMPS, I had to repackage msmpi properly using wintel sources.

TELEMAC [name removed] now support dynamic build with API and MUMPS.

Examples and doc are shipped in separate packages.

Some validation tests are runned at build time (using list of tags and rank 0) and a lot of them fail.

Some failures seems related to the build but other not.

Full details : https://github.com/nicogodet/telemac-mascaret-feedstock/issues/4

Very important pending PR on msmpi conda forge package that will unlock a lot of things and allow us to build (I hope) TELEMAC on top of [group removed]-forge packages only.

https://github.com/conda-forge/msmpi-feedstock/pull/20

No success build TELEMAC with MED support using libmed from conda-forge

Hello,

V8P5 package with MPI, MED, MUMPS, AED2 is available

mamba install opentelemac -c nicogodet

Gotm fails to build but no time to investigate…