thanks both of you for your feedbacks.
I am on Linux Ubuntu 22.04.
For the performance test I used my conda environment:
mamba create -n opentelemac -c tomsail opentelemac
mamba activate opentelemac
github.com/tomsail/telemac-conda
which should work across Linux platforms out of the box. I have dynamically compiled TELEMAC where I have MPI, MUMPS, MED, GOTM
but not HERMES.
Nicolas Godet has done the same for Windows:
mamba create -n opentelemac -c nicogodet opentelemac
mamba activate opentelemac
github.com/nicogodet/telemac-mascaret-feedstock
which is a simpler version (API but no MPI).
Anyway the important fact here is that TelemacFile is much slower because, when using serafin_file class, it load everything on the RAM (code is
here), whereas the classes
ppUtils.selafin_io_pp.py and
selafin.py do not.
To read data at a certain time step, both classes have these functions:
which load only the data required in the RAM.
My suggestion would be to implement the same "practice" in TelemacFile, because the class has much more useful wrapper functions (like interpolation on grid points, lines even spectrum etc..)
For now I chose the selafin class but I'd be keen to migrate to TelemacFile once that problem is solved.