From ad752f21e8cc98ea8175badbdaa09f64ce736f28 Mon Sep 17 00:00:00 2001 From: "Paul M. Sutter" Date: Fri, 7 Jun 2024 22:02:33 +0200 Subject: [PATCH] catalog loading routine now also includes edge flag and particle adjancy info --- python_source/voidUtil/catalogUtil.py | 34 +++++++++++++++++++++------ 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/python_source/voidUtil/catalogUtil.py b/python_source/voidUtil/catalogUtil.py index 14f588e..dcfb9a8 100644 --- a/python_source/voidUtil/catalogUtil.py +++ b/python_source/voidUtil/catalogUtil.py @@ -33,7 +33,7 @@ ncFloat = 'f8' # ----------------------------------------------------------------------------- def loadPart(sampleDir): - print(" Loading particle data...") + print(" Loading particle data...") sys.stdout.flush() with open(sampleDir+"/sample_info.dat", 'rb') as input: @@ -189,7 +189,7 @@ def getVolNorm(sampleDir): # ----------------------------------------------------------------------------- def loadPartVel(sampleDir): - #print " Loading particle velocities..." + #print " Loading particle velocities..." sys.stdout.flush() with open(sampleDir+"/sample_info.dat", 'rb') as input: @@ -367,7 +367,7 @@ def loadVoidCatalog(sampleDir, dataPortion="central", loadParticles=True, )) catalog.numVoids = len(catalog.voids) - print("Read %d voids" % catalog.numVoids) + print(" Read %d voids" % catalog.numVoids) print("Loading macrocenters...") iLine = 0 @@ -435,13 +435,25 @@ def loadVoidCatalog(sampleDir, dataPortion="central", loadParticles=True, y = partData[i][1], z = partData[i][2], volume = 0, + adjs = 0, ra = extraData[i][0], dec = extraData[i][1], redshift = extraData[i][2], - uniqueID = extraData[i][3])) + uniqueID = extraData[i][3], + edgeFlag = 0)) - print("Loading volumes...") + if isObservationData: + print(" Loading edge flags...") + edgeFlagFile = sampleDir+"/galaxy_edge_flags.txt" + if os.path.isfile(edgeFlagFile): + edgeFlags = np.genfromtxt(edgeFlagFile, dtype=np.int32, skip_header=1) + for iEdge in range(len(edgeFlags)): + catalog.part[iEdge].edgeFlag = edgeFlags[iEdge] + else: + print(" Edge file not found!") + + print(" Loading volumes...") if sample.hasWeightedVolumes: volFile = sampleDir+"/vol_weighted_"+sample.fullName+".dat" else: @@ -452,7 +464,15 @@ def loadVoidCatalog(sampleDir, dataPortion="central", loadParticles=True, for ivol in range(len(vols)): catalog.part[ivol].volume = vols[ivol] / volNorm - print("Loading zone-void membership info...") + print(" Loading adjacencies...") + adjFile = sampleDir+"adj_"+sample.fullName+".dat" + with open(adjFile, mode="rb") as File: + numPart = np.fromfile(adjFile, dtype=np.int32,count=1)[0] + for p in range(numPart): + numAdjs = np.fromfile(File, dtype=np.int32,count=1)[0] + catalog.part[p].adjs = np.fromfile(File, dtype=np.int32, count=numAdjs) + + print(" Loading zone-void membership info...") zoneFile = sampleDir+"/voidZone_"+sample.fullName+".dat" catalog.void2Zones = [] with open(zoneFile, mode="rb") as File: @@ -467,7 +487,7 @@ def loadVoidCatalog(sampleDir, dataPortion="central", loadParticles=True, zoneID = np.fromfile(File, dtype=np.int32,count=1)[0] catalog.void2Zones[iZ].zoneIDs.append(zoneID) - print("Loading particle-zone membership info...") + print(" Loading particle-zone membership info...") zonePartFile = sampleDir+"/voidPart_"+sample.fullName+".dat" catalog.zones2Parts = [] with open(zonePartFile) as File: