Code: Select all
for the interface of abinit with yambo I need the wave-functions printed in NETCD format in abinit 8.10
To activate the output of the WFK (DEN, POT) in netcdf format, set iomode to 3 in the input file.
See also the documentation: https://docs.abinit.org/variables/dev/#iomode
By default, abinit writes (reads) Fortran binary files. The internal implementation uses Fortran read/write statements if MPI is not activated and uses **direct** calls to the MPI-IO primitives to implement parallel-IO on Fortran binary files (record-based access).
Some algorithms such as paral_kgb 1 requires MPI-IO support but this is an extension that was added in the MPI2+ specifications and there are still several old (or buggy) MPI libraries around that do not implement the MPI-IO specs.
This is the reason why the build system exposes the --enable-mpi-io option to deactivate this part (by default, the build system auto-detects if the MPI implementation provides the MPI-IO primitives we need).
Note also that --enable-mpi-io is not related to the possible support for parallel-IO at the level of the netcdf4/hdf5 library.
Understanding whether netcdf4 provides support for parallel-IO at the level of the configure script is tricky because
the nf90_open_par symbol is always present in the netcdff library even if the lib does not support parallel IO.
Hopefully the detection of parallel-IO capabilities in the hdf5 library will improve in Abinit9
However Yann warned me that the option --enable-netcdf-default is there only for testing purposes and that it is going to be dismissed in abinit 9.
--enable-netcdf-default is an option used by the buildbot test farm to run all the test of the test suite in netcdf mode so that we can test whether the netcdf version and the "standard" implementation based on Fortran-files+MP-IO are on par.
-enable-netcdf-default changes the default value of iomode from 1 to 3 and this option may be used by users who wish to use netcdf for WFK/DEN/POT files by default without having to set iomode in the input file.
I would say that this option won't be removed in Abinit9 because we still need it to validate new implementations.
Abinit9 will require netcdf4/hdf5 but we don't explicitly require parallel-IO capabilities for netcdf files.
By default, users running in parallel with e.g. paral_kgb will still get Fortran files unless iomode is set to 3 or --enable-netcdf-default is used.