subroutine read_popsfile_real_time()
use PopsfileMod, only: open_pops_head, FindPopsfileVersion, ReadPopsHeadv4
implicit none
integer :: iunit, popsversion, iPopLenof_Sign, iPopNel, iPopIter, &
PopNIfD, PopNIfSgn, PopNIfFlag, PopNIfTot, &
PopBlockingIter, Popinum_runs, PopRandomHash(2056), &
read_nnodes, PopBalanceBlocks
logical :: formpops, binpops, tPop64Bit, tPopHPHF, tPopLz
integer(int64) :: iPopAllTotWalkers, read_walkers_on_nodes(0:nProcessors - 1)
real(dp) :: PopDiagSft(inum_runs), read_tau, PopSumNoatHF(lenof_sign), &
read_psingles, read_pparallel
HElement_t(dp) :: PopAllSumENum(inum_runs)
character(255) :: popsfile
real(dp) :: unused_triples
character(*), parameter :: this_routine = "read_popsfile_real_time"
call open_pops_head(iunit, formpops, binpops)
if (formpops) then
! this is the NON-binary read
popsversion = FindPopsfileVersion(iunit)
if (popsversion /= 4) then
call stop_all(this_routine, "wrong POPSFILE version /= 4!")
end if
call ReadPopsHeadv4(iunit, tPop64Bit, tPopHPHF, tPopLz, iPopLenof_Sign, iPopNel, &
iPopAllTotWalkers, PopDiagSft, PopSumNoatHF, PopAllSumENum, iPopIter, &
PopNIfD, PopNIfSgn, Popinum_runs, PopNIfFlag, PopNIfTot, &
read_tau, PopBlockingIter, PopRandomHash, read_psingles, &
read_pparallel, unused_triples, read_nnodes, read_walkers_on_nodes, PopBalanceBlocks)
else
! if popsfiles are stored in binary! there are seperate files for
! the header and the actual population stats
if (iProcIndex == root) then
close(iunit)
call get_unique_filename('POPSFILEBIN', tIncrementPops, .false., &
iPopsFileNoRead, popsfile)
open(iunit, file=popsfile, status='old', form='unformatted')
end if
end if
end subroutine read_popsfile_real_time