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), PopModDiagSft(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, PopModDiagSft, 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