I would like to report an inconsistency in the directory where the binary files are written.
In ephwann_shuffle, the prefix.epmatwe1 file is opened as
Code: Select all
CALL diropn(iunepmatwe, 'epmatwe', lrepmatw, exst)
However, in bloch2wan.f90, the prefix.epmatwe1 files are read from the current directory:
Code: Select all
filint = TRIM(prefix)//'.epmatwe1'
The error can be reproduced by running the epw_base test, with outdir = './tmp/' and etf_mem = 1 added in epw1.in. The error is
Code: Select all
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine ephbloch2wanp_mem (1):
error in MPI_FILE_OPEN epmatwe
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(Note that outdir for scf.x or ph.x should not be changed, because pp.py assumes outdir == './'. I personally use a modified version of pp.py.)
It seems that a similar problem exists for the prefix.epmatwp files, but I am not sure about this one.
It would be good to unify the directory where all the large binary files are written/read, maybe as tmp_dir.
I might be overlooking some MPI-IO related problems. Then, at least the files should be written and read from the same directory to prevent crashes.
Regards,
Jae-Mo