I think the issue is then that the
Code: Select all
ndb.BS_diago
Am I right?
What do you get if you do:
Code: Select all
ncdump -v HEAD_VERSION ndb.BS_diago_Q3
The variable PARS had size=5 with previous versions of yambo, while yambo 5.0 expects a variable of size 6
As a workaround you can open the file src/io/io_BSS_diago.F
and replace these lines
Code: Select all
call io_elemental(ID,VAR="PARS",VAR_SZ=6,MENU=0)
!
call io_elemental(ID,VAR="[BSS] Eigenstates included",L0=BSS_write_eig_2_db,CHECK=.true.,OP=(/"=="/))
if(iq==1) then
call io_elemental(ID,VAR="[BSS] Field direction",R1=BSS_q0,CHECK=.true.,OP=(/"==","==","=="/))
if (allocated(BSqpts)) BSqpts(:,iq)=BSS_q0
endif
call io_elemental(ID,VAR="[BSS] Eigenstates computed ",I0=BSS_n_eig,CHECK=.true.,OP=(/"=="/))
call io_elemental(ID,VAR="[BSS] Number of BSE matricies ",I0=BS_mat_res_ares_dim,CHECK=.true.,OP=(/"=="/))
call io_elemental(ID,VAR="",VAR_SZ=0,MENU=1)
Code: Select all
call io_elemental(ID,VAR="PARS",VAR_SZ=5,MENU=0)
!
call io_elemental(ID,VAR="[BSS] Eigenstates included",L0=BSS_write_eig_2_db,CHECK=.true.,OP=(/"=="/))
if(iq==1) then
call io_elemental(ID,VAR="[BSS] Field direction",R1=BSS_q0,CHECK=.true.,OP=(/"==","==","=="/))
if (allocated(BSqpts)) BSqpts(:,iq)=BSS_q0
endif
call io_elemental(ID,VAR="[BSS] Eigenstates computed ",I0=BSS_n_eig,CHECK=.true.,OP=(/"=="/))
!call io_elemental(ID,VAR="[BSS] Number of BSE matricies ",I0=BS_mat_res_ares_dim,CHECK=.true.,OP=(/"=="/))
call io_elemental(ID,VAR="",VAR_SZ=0,MENU=1)
Code: Select all
mv ypp ypp_back_compatible
In the future, we'll probably release a patch for automatic detection of the database version and back-compatibility.
Best,
D.