mabarnes / moment_kinetics

Other
2 stars 4 forks source link

NetCDF + MPI #254

Open johnomotani opened 2 weeks ago

johnomotani commented 2 weeks ago

The version of the NetCDF library provided by Julia's package manager now links to MPI. In the short term this causes a problem (if you want to enable NetCDF output), because we would have to use the Julia-package-manager-provided MPI. Linking two different MPI installations causes crashes at best, and weird intermittent faults at worst. Even if we used the Julia-provided MPI, NCDatasets.jl doesn't currently support parallel I/O anyway.

NCDatasets.jl is currently working on MPI support (https://github.com/Alexander-Barth/NCDatasets.jl/issues/122), which should fix both these problems. As well as enabling parallel I/O, the feature being discussed in that issue would allow linking a system-provided NetCDF library, so we could point it to a version compatible with our MPI.

Why not just drop NetCDF support? (1) it's already there, but (2) NetCDF has some nice features (like labelling the dimensions of arrays) which mean that it inter-operates better with xarray (for example). So it might be useful to have this feature, once NCDatasets.jl supports MPI.