Missing netCDF file extension in symbolic links
GkAntonius opened this issue · comments
Dear devs,
I'm trying to run the example flow run_mgb2_phonons_nkpt_tsmear.py
. However, the second work fails, because the symbolic links for the wavefunctions do not have the proper netCDF file extension. The work w0
completes without problems, but the task w1/t0
fails with the error message:
--- !ERROR
src_file: m_nctk.F90
src_line: 896
mpi_rank: 0
message: |
nf90_open_par: /home/antonius/Projects/AbipyTests/Production/130-phonons/flow_mgb2_phonons_nkpt_tsmear/w1/t0/indata/in_WFK.nc - NetCDF library returned: NetCDF: Error initializing for parallel access
Indeed, the symbolic link created in flow_mgb2_phonons_nkpt_tsmear/w1/t0/indata/
is called in_WFK
but points to the file flow_mgb2_phonons_nkpt_tsmear/w0/t0/outdata/out_WFK.nc
. Thus, it is missing the .nc
extension and abinit complains about it.
Is there a quick way to fix this?
Hi,
To fix the problem, change the make_links method of the DfptTask class defined
in pymatgen.io.abinit.tasks to ensure that the link has the .nc
extension
when the target is a netcdf file.
For the diff, see 9a69878
PS: In the next AbiPy relase, I will move all the workflow machinery from pymatgen.io.abinit to abipy.flowtk. This is the reason why I've fixed the bug in a specialized AbiPy branch. This bug fix won't be backported to pymatgen.
Thanks, Matteo! I installed the workflow_refactoring
branch on my cluster and now the symbolic links are correct.
I should mention that the system administrators on this cluster installed a version of Abinit where iomode=3
is the default behavior, so I suppose it is important to specify this variable explicitly.