=== modified file 'Util/Contrib/APostnikov/fmpdos.f' --- Util/Contrib/APostnikov/fmpdos.f 2018-02-12 19:45:14 +0000 +++ Util/Contrib/APostnikov/fmpdos.f 2018-08-20 18:22:39 +0000 @@ -11,7 +11,7 @@ parameter (ii1=11,io1=12) integer nt,nmax,i0,ispin,nspin,norbs,it,npts,nene,is,idos,l,lref, . m,mode,mref,z,atind,n,nref,indref,index,nline, - . iquoted,iparsed, AN + . iquoted,iparsed, AN, ierr parameter (nmax=10000) double precision ene(nmax),dos(nmax,4),dos1(4), Ef character inpfil*60,outfil*60,string*80,llabel*80,rlabel*80, @@ -20,6 +20,7 @@ logical filexist,redos,nptdef external iquoted,squoted,iparsed + Ef = 0.d0 do it=1,nmax do is=1,2 dos(it,is)=0.d0 @@ -132,30 +133,28 @@ ! Currently not read goto 11 elseif (string(1:8).eq.'') then ! list of energies closes - nt=nene -C write (6,*) nt,' energy values found:' -C do it=1,nt -C write(6,203) it,ene(it) -C 203 format(i5, f12.6) -C enddo - if (nt.gt.nmax) then - write(6,*)' nt=',nt,' > nmax=',nmax - stop - endif - if (nptdef.and.nt.ne.npts) then - write(6,*)' nt=',nt,' differs from npoints=',npts - stop - endif - goto 11 - + nene = 0 + do + read(ii1,'(a80)') string + if (string(1:16).eq.'') then ! list of energies closes + nt = nene + if (nt > nmax ) then + write(6,*)' nt=',nt,' > nmax=',nmax + stop + end if + if ( nptdef .and. nt /= npts ) then + write(6,*)' nt=',nt,' differs from npoints=',npts + stop + end if + exit + end if + + ! Read next energy point + nene = nene + 1 + read(string,*) ene(nene) + end do + + goto 11 elseif (string(1:8).eq.'