mirror of
https://bitbucket.org/cosmicvoids/vide_public.git
synced 2025-07-04 15:21:11 +00:00
halo catalog prep appear to work with SDF format
This commit is contained in:
parent
1c1c8b778e
commit
de9263b1d8
1 changed files with 37 additions and 24 deletions
|
@ -391,21 +391,22 @@ if (args.script or args.all) and haloFileBase != "":
|
|||
sys.stdout.flush()
|
||||
|
||||
# estimate number of halos to get density
|
||||
if haloFileDummy == '':
|
||||
dataFile = catalogDir+haloFileBase+fileNums[0]
|
||||
else:
|
||||
dataFile = catalogDir+haloFileBase.replace(haloFileDummy, fileNums[0])
|
||||
#if haloFileDummy == '':
|
||||
# dataFile = catalogDir+haloFileBase+fileNums[0]
|
||||
#else:
|
||||
# dataFile = catalogDir+haloFileBase.replace(haloFileDummy, fileNums[0])
|
||||
#
|
||||
#inFile = open(dataFile, 'r')
|
||||
#numPart = 0
|
||||
#for (iLine, line) in enumerate(inFile):
|
||||
# if iLine < haloFileNumComLines: continue
|
||||
# line = line.split(haloFileColSep)
|
||||
# if minHaloMass == "none" or float(line[haloFileMCol]) > minHaloMass:
|
||||
# numPart += 1
|
||||
#inFile.close()
|
||||
|
||||
inFile = open(dataFile, 'r')
|
||||
numPart = 0
|
||||
for (iLine, line) in enumerate(inFile):
|
||||
if iLine < haloFileNumComLines: continue
|
||||
line = line.split(haloFileColSep)
|
||||
if minHaloMass == "none" or float(line[haloFileMCol]) > minHaloMass:
|
||||
numPart += 1
|
||||
inFile.close()
|
||||
|
||||
minRadius = 2*int(np.ceil(lbox/numPart**(1./3.)))
|
||||
#minRadius = 2*int(np.ceil(lbox/numPart**(1./3.)))
|
||||
minRadies = 10
|
||||
|
||||
setName = prefix+"halos_min"+str(minHaloMass)
|
||||
writeScript(setName, prefix+"halos_min"+str(minHaloMass)+"_z", "multidark",
|
||||
|
@ -436,29 +437,41 @@ if (args.halos or args.all) and haloFileBase != "":
|
|||
fileNums[iRedshift])
|
||||
inFile = open(dataFile, 'r')
|
||||
numPart = 0
|
||||
for (iLine, line) in enumerate(inFile):
|
||||
if iLine < haloFileNumComLines: continue
|
||||
line = line.split(haloFileColSep)
|
||||
if minHaloMass == "none" or float(line[haloFileMCol]) > minHaloMass:
|
||||
numPart += 1
|
||||
inFile.close()
|
||||
if dataFormat == "sdf":
|
||||
for line in inFile:
|
||||
if "nhalos" in line:
|
||||
numPart = int(line.split()[3].strip(';'))
|
||||
break
|
||||
inFile.close()
|
||||
else:
|
||||
for (iLine, line) in enumerate(inFile):
|
||||
if iLine < haloFileNumComLines: continue
|
||||
line = line.split(haloFileColSep)
|
||||
if minHaloMass == "none" or float(line[haloFileMCol]) > minHaloMass:
|
||||
numPart += 1
|
||||
inFile.close()
|
||||
|
||||
sampleName = prefix+"halos_min"+str(minHaloMass)+"_z"+fileNums[iRedshift]
|
||||
outFile = open(catalogDir+"/"+sampleName+".dat", 'w')
|
||||
outFileName = catalogDir+"/"+sampleName+".dat"
|
||||
outFile = open(outFileName, 'w')
|
||||
outFile.write("%f\n" %(lbox))
|
||||
outFile.write("%s\n" %(omegaM))
|
||||
outFile.write("%s\n" %(hubble))
|
||||
outFile.write("%s\n" %(redshift))
|
||||
outFile.write("%d\n" %(numPart))
|
||||
outFile.close()
|
||||
|
||||
if dataFormat == "sdf":
|
||||
# TODO process halo file with SDFcvt
|
||||
SDFcvt_PATH = "@CMAKE_BINARY_DIR@/ep_build/sdf/bin/SDFcvt/"
|
||||
outFile = open(catalogDir+"/"+sampleName+".dat", 'w')
|
||||
SDFcvt_PATH = "@CMAKE_BINARY_DIR@/external/libsdf/apps/SDFcvt/SDFcvt.x86_64"
|
||||
if minHaloMass == "none": minHaloMass = 0.0
|
||||
command = "%s %s mass id x y z vz vy vx | awk '{if ($1>%g) print $2, $3, $4, $5, $6, $7, $8}'>>%s" % (SDFcvt_PATH, dataFile, minHaloMass, outFileName )
|
||||
os.system(command)
|
||||
outFile = open(outFileName, 'a')
|
||||
outFile.write("-99 -99 -99 -99 -99 -99 -99\n")
|
||||
outFile.close()
|
||||
else:
|
||||
outFile = open(catalogDir+"/"+sampleName+".dat", 'w')
|
||||
outFile = open(outFileName, 'a')
|
||||
inFile = open(dataFile, 'r')
|
||||
for (iHalo,line) in enumerate(inFile):
|
||||
if iHalo < haloFileNumComLines: continue
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue