etsf_io runtime error in 7.4.2  [SOLVED]

External optional components of Abinit (BigDFT, Wannier90...) and codes using/providing data from/to Abinit (AtomPAW, ONCVPSP, EXC, DP, Yambo...)

Moderators: ebousquet, bxu

Locked
User avatar
carsten.fortmann
Posts: 11
Joined: Tue Nov 20, 2012 2:25 pm

etsf_io runtime error in 7.4.2

Post by carsten.fortmann » Fri Oct 18, 2013 2:48 pm

SUMMARY:
============
I get

Code: Select all

 ioarr.F90:386:ERROR
 Bad value for accessfil3 on write
 ioarr.F90:386:ERROR
 Bad value for accessfil3 on write

when running abinit V7.4.2 with accesswff 3 and istwfk *1 set in the input file, etsf-io and etsf-io-fallback+netcdf-fallback are enabled at configure time.


DESCRIPTION:
=================
If this has been asked before, please point me to the post.

Anyway, here's the problem:

In all my calculations, I use

Code: Select all

accesswff 3
istwfk *1

to read and write from/to etsf-netcdf files.

Among others, I have the following configure flags set:

Code: Select all

--enable-etsf-io --with-trio-flavor="netcdf-fallback+etsf_io-fallback" 


This used to work fine until I upgraded from abinit7.0.5 to abinit7.4.2 (yes, I skipped 7.2.x).

Now, when running attached input file, I get

Code: Select all

 ioarr.F90:386:ERROR
 Bad value for accessfil3 on write
 ioarr.F90:386:ERROR
 Bad value for accessfil3 on write


Looking at and debugging the relevant code (ioarr.F90), the problem seems to be that control does not reach the code within the

Code: Select all

#ifdef HAVE_TRIO_ETSF_IO ... #endif
directives (line 349 ff.).

Hence, I also went into config.h (in the top level abinit directory) and inserted

Code: Select all

#define HAVE_TRIO_ETSF_IO 1
#define HAVE_TRIO_NETCDF_IO 1

Same problem after recompiling.

The only forum thread I found which sounds remotely similar to my issue is http://forum.abinit.org/viewtopic.php?f=19&t=2300&p=7294&hilit=etsf#p7294. I applied the suggested patch, after which I get a compile time error.

But, interestingly, in that thread:
There were 1 or 2 other errors in the same file, and probably tons of others in abinit, which confuses netcdf with etsf-io. Usually this is not a problem: etsf-io implies netcdf, and there are almost no bits of code using netcdf without etsf-io...

What are the other errors?
Have I come across an un"Usual" case?

Somewhere in the back of my head, I remember very vaguely having read sth. like "Support for accesswff 3 might cease in future versions" but I can't tell where I read or heard that.

What can I do? Thanks in advance for any helpful comments.

Carsten
Attachments
input_etsf.in
(543 Bytes) Downloaded 358 times

User avatar
carsten.fortmann
Posts: 11
Joined: Tue Nov 20, 2012 2:25 pm

Re: etsf_io runtime error in 7.4.2  [SOLVED]

Post by carsten.fortmann » Wed Oct 23, 2013 10:53 am

SOLUTION (well, fix):
====================

I patched config.h in the top level abinit directory (after running ./configure and before running make):
Changed

Code: Select all

554c554,555
/* #undef HAVE_TRIO_ETSF_IO */

to

Code: Select all

#define HAVE_TRIO_ETSF_IO 1
#define HAVE_ETSF_IO 1

and

Code: Select all

/* #undef HAVE_TRIO_NETCDF */

to

Code: Select all

#define HAVE_TRIO_NETCDF 1
#define HAVE_NETCDF 1

Locked