mirror of
https://bitbucket.org/cosmicvoids/vide_public.git
synced 2025-07-04 23:31:12 +00:00
bug fixes to plotting. prepareCatalogs now handles gadget files; prepareGadgetCatalogs now deprecated
This commit is contained in:
parent
afe22f71fa
commit
390fb2f4e2
4 changed files with 133 additions and 81 deletions
|
@ -5,6 +5,7 @@
|
||||||
from void_python_tools.backend import *
|
from void_python_tools.backend import *
|
||||||
from void_python_tools.plotting import *
|
from void_python_tools.plotting import *
|
||||||
import imp
|
import imp
|
||||||
|
import pickle
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -60,6 +61,10 @@ for sample in dataSampleList:
|
||||||
if not os.access(zobovDir, os.F_OK):
|
if not os.access(zobovDir, os.F_OK):
|
||||||
os.makedirs(zobovDir)
|
os.makedirs(zobovDir)
|
||||||
|
|
||||||
|
# save this sample's information
|
||||||
|
with open(zobovDir+"/sample_info.dat", 'wb') as output:
|
||||||
|
pickle.dump(sample, output, pickle.HIGHEST_PROTOCOL)
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
if (startCatalogStage <= 1) and (endCatalogStage >= 1) and not sample.isCombo:
|
if (startCatalogStage <= 1) and (endCatalogStage >= 1) and not sample.isCombo:
|
||||||
print " Extracting tracers from catalog...",
|
print " Extracting tracers from catalog...",
|
||||||
|
|
|
@ -10,33 +10,67 @@ import sys
|
||||||
import void_python_tools as vp
|
import void_python_tools as vp
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# CONFIGURATION
|
||||||
|
|
||||||
|
# directory for the input simulation/observational particle files
|
||||||
catalogDir = os.getenv("HOME")+"/workspace/Voids/catalogs/multidark/"
|
catalogDir = os.getenv("HOME")+"/workspace/Voids/catalogs/multidark/"
|
||||||
scriptDir = os.getenv("PWD")+"/multidark/"
|
|
||||||
|
# path to HOD code
|
||||||
hodPath = os.getenv("HOME")+"/projects/Voids/hod/HOD.x"
|
hodPath = os.getenv("HOME")+"/projects/Voids/hod/HOD.x"
|
||||||
|
|
||||||
outputDir = os.getenv("HOME")+"/workspace/Voids/multidark/"
|
# where to put the final void catalog, figures, and output logs
|
||||||
|
voidOutputDir = os.getenv("HOME")+"/workspace/Voids/multidark/"
|
||||||
figDir = os.getenv("PWD")+"/../figs/multidark/"
|
figDir = os.getenv("PWD")+"/../figs/multidark/"
|
||||||
logDir = os.getenv("PWD")+"/../logs/multidark/"
|
logDir = os.getenv("PWD")+"/../logs/multidark/"
|
||||||
|
|
||||||
dataFormat = "multidark"
|
# where to place the pipeline scripts
|
||||||
dataUnit = 1
|
scriptDir = os.getenv("PWD")+"/multidark/"
|
||||||
|
|
||||||
|
# simulation or observation?
|
||||||
dataType = "simulation"
|
dataType = "simulation"
|
||||||
|
|
||||||
|
# available formats for simulation: gadget, multidark
|
||||||
|
dataFormat = "multidark"
|
||||||
|
dataUnit = 1 # as multiple of Mpc/h
|
||||||
|
|
||||||
|
# place particles on the lightcone?
|
||||||
useLightCone = True
|
useLightCone = True
|
||||||
|
|
||||||
redshiftFileBase = "mdr1_particles_z"
|
# common filename of particle files
|
||||||
|
particleFileBase = "mdr1_particles_z"
|
||||||
|
|
||||||
|
# list of file numbers for the particle files
|
||||||
|
# to get particle file name, we take particleFileBase+fileNum
|
||||||
|
fileNums = (("0.0", "0.53", "1.0"))
|
||||||
|
|
||||||
|
# redshift of each file in the above list
|
||||||
redshifts = (("0.0", "0.53", "1.0"))
|
redshifts = (("0.0", "0.53", "1.0"))
|
||||||
|
|
||||||
|
# how many independent slices along the z-axis?
|
||||||
numSlices = 4
|
numSlices = 4
|
||||||
|
|
||||||
|
# how many subdivisions along the x- and y- axis?
|
||||||
|
# ( = 2 will make 4 subvolumes for each slice, = 3 will make 9, etc.)
|
||||||
numSubvolumes = 1
|
numSubvolumes = 1
|
||||||
|
|
||||||
|
# prefix to give all outputs
|
||||||
prefix = "md_"
|
prefix = "md_"
|
||||||
|
|
||||||
|
# list of desired subsamples
|
||||||
subSamples = ((0.1, 0.05, 0.01, 0.002, 0.001, 0.0004, 0.0002))
|
subSamples = ((0.1, 0.05, 0.01, 0.002, 0.001, 0.0004, 0.0002))
|
||||||
|
|
||||||
numPart = 1024*1024*1024 # number of particles in base catalog
|
# simulation information
|
||||||
lbox = 1000
|
numPart = 1024*1024*1024
|
||||||
|
lbox = 1000 # Mpc/h
|
||||||
omegaM = 0.27
|
omegaM = 0.27
|
||||||
hubble = 0.70
|
hubble = 0.70
|
||||||
|
|
||||||
|
# END CONFIGURATION
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
LIGHT_SPEED = 299792.458
|
LIGHT_SPEED = 299792.458
|
||||||
|
|
||||||
parser = argparse.ArgumentParser(description='options')
|
parser = argparse.ArgumentParser(description='options')
|
||||||
|
@ -58,35 +92,31 @@ parser.add_argument('--all', dest='all', action='store_const',
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
def getSampleName(prefix, base, redshift, useVel, iSlice=-1, iVol=-1):
|
def getSampleName(setName, redshift, useVel, iSlice=-1, iVol=-1):
|
||||||
useVelString = ""
|
|
||||||
if useVel: useVelString = "_pv"
|
|
||||||
|
|
||||||
sampleName = prefix + base + useVelString + "_z" + redshift
|
sampleName = setName
|
||||||
|
|
||||||
if iSlice != -1:
|
#if useVel: sampleName += "_pv"
|
||||||
sampleName += "_s" + str(iSlice)
|
|
||||||
|
|
||||||
if iVol != -1:
|
sampleName += "_z" + redshift
|
||||||
sampleName += "_d" + iVol
|
|
||||||
|
#if iSlice != -1: sampleName += "_s" + str(iSlice)
|
||||||
|
|
||||||
|
if iVol != -1: sampleName += "_d" + iVol
|
||||||
|
|
||||||
return sampleName
|
return sampleName
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# for given dataset parameters, outputs a script for use with analyzeVoids
|
# for given dataset parameters, outputs a script for use with analyzeVoids
|
||||||
def writeScript(prefix, base, scriptDir, catalogDir, redshifts, numSubvolumes,
|
def writeScript(setName, dataFileNameBase,
|
||||||
|
scriptDir, catalogDir, fileNums, redshifts, numSubvolumes,
|
||||||
numSlices, useVel, lbox, minRadius, omegaM, subsample=1.0,
|
numSlices, useVel, lbox, minRadius, omegaM, subsample=1.0,
|
||||||
suffix=".dat"):
|
suffix=".dat"):
|
||||||
|
|
||||||
setName = prefix + base
|
|
||||||
|
|
||||||
dataFileNameBase = setName #+ ".dat"
|
|
||||||
|
|
||||||
if useVel: setName += "_pv"
|
if useVel: setName += "_pv"
|
||||||
|
|
||||||
scriptFileName = scriptDir + "/" + "md_" + base
|
scriptFileName = scriptDir + "/" + setName + ".py"
|
||||||
if useVel: scriptFileName += "_pv"
|
|
||||||
scriptFileName += ".py"
|
|
||||||
scriptFile = open(scriptFileName, 'w')
|
scriptFile = open(scriptFileName, 'w')
|
||||||
|
|
||||||
scriptFile.write("""#!/usr/bin/env/python
|
scriptFile.write("""#!/usr/bin/env/python
|
||||||
|
@ -113,17 +143,17 @@ dataPortions = ["central"]
|
||||||
dataSampleList = []
|
dataSampleList = []
|
||||||
""")
|
""")
|
||||||
|
|
||||||
dataInfo = """
|
|
||||||
catalogName = "{sampleName}"
|
|
||||||
|
|
||||||
workDir = "{outputDir}/{sampleName}/"
|
dataInfo = """
|
||||||
inputDataDir = "{catalogDir}"
|
setName = "{setName}"
|
||||||
figDir = "{figDir}/{sampleName}/"
|
|
||||||
logDir = "{logDir}/{sampleName}/"
|
workDir = "{voidOutputDir}/{setName}/"
|
||||||
|
inputDataDir = "{inputDataDir}"
|
||||||
|
figDir = "{figDir}/{setName}/"
|
||||||
|
logDir = "{logDir}/{setName}/"
|
||||||
"""
|
"""
|
||||||
scriptFile.write(dataInfo.format(sampleName=setName, figDir=figDir,
|
scriptFile.write(dataInfo.format(setName=setName, figDir=figDir,
|
||||||
logDir=logDir, outputDir=outputDir,
|
logDir=logDir, voidOutputDir=voidOutputDir,
|
||||||
catalogDir=catalogDir,
|
|
||||||
inputDataDir=catalogDir))
|
inputDataDir=catalogDir))
|
||||||
|
|
||||||
sampleInfo = """
|
sampleInfo = """
|
||||||
|
@ -156,15 +186,15 @@ newSample.addStack({zMin}, {zMax}, {minRadius}+6, {minRadius}+10, True, False)
|
||||||
newSample.addStack({zMin}, {zMax}, {minRadius}+10, {minRadius}+18, True, False)
|
newSample.addStack({zMin}, {zMax}, {minRadius}+10, {minRadius}+18, True, False)
|
||||||
newSample.addStack({zMin}, {zMax}, {minRadius}+18, {minRadius}+24, True, False)
|
newSample.addStack({zMin}, {zMax}, {minRadius}+18, {minRadius}+24, True, False)
|
||||||
"""
|
"""
|
||||||
|
for (iFile, redshift) in enumerate(redshifts):
|
||||||
for redshift in redshifts:
|
fileNum = fileNums[iFile]
|
||||||
zBox = float(redshift)
|
zBox = float(redshift)
|
||||||
Om = float(omegaM)
|
Om = float(omegaM)
|
||||||
zBoxMpc = LIGHT_SPEED/100.*vp.angularDiameter(zBox, Om=Om)
|
zBoxMpc = LIGHT_SPEED/100.*vp.angularDiameter(zBox, Om=Om)
|
||||||
boxMaxMpc = zBoxMpc + lbox
|
boxMaxMpc = zBoxMpc + lbox
|
||||||
|
|
||||||
# converter from redshift to comoving distance
|
# converter from redshift to comoving distance
|
||||||
zVsDY = np.linspace(0., zBox+8*lbox*100./LIGHT_SPEED, 10000)
|
zVsDY = np.linspace(0., zBox+8*lbox*100./LIGHT_SPEED, 10000)
|
||||||
zVsDX = np.zeros(len(zVsDY))
|
zVsDX = np.zeros(len(zVsDY))
|
||||||
for i in xrange(len(zVsDY)):
|
for i in xrange(len(zVsDY)):
|
||||||
zVsDX[i] = vp.angularDiameter(zVsDY[i], Om=Om)
|
zVsDX[i] = vp.angularDiameter(zVsDY[i], Om=Om)
|
||||||
|
@ -178,31 +208,28 @@ newSample.addStack({zMin}, {zMax}, {minRadius}+18, {minRadius}+24, True, False)
|
||||||
dzSafe = 0.0
|
dzSafe = 0.0
|
||||||
|
|
||||||
for iSlice in xrange(numSlices):
|
for iSlice in xrange(numSlices):
|
||||||
# trim off the first and last 10,000 km/s
|
|
||||||
sliceMin = zBox + dzSafe + iSlice*(boxWidthZ-dzSafe)/numSlices
|
sliceMin = zBox + dzSafe + iSlice*(boxWidthZ-dzSafe)/numSlices
|
||||||
sliceMax = zBox + dzSafe + (iSlice+1)*(boxWidthZ-dzSafe)/numSlices
|
sliceMax = zBox + dzSafe + (iSlice+1)*(boxWidthZ-dzSafe)/numSlices
|
||||||
|
|
||||||
sliceMinMpc = sliceMin*LIGHT_SPEED/100.
|
sliceMinMpc = sliceMin*LIGHT_SPEED/100.
|
||||||
sliceMaxMpc = sliceMax*LIGHT_SPEED/100.
|
sliceMaxMpc = sliceMax*LIGHT_SPEED/100.
|
||||||
|
|
||||||
sliceMin = "%0.2f" % sliceMin
|
sliceMin = "%0.2f" % sliceMin
|
||||||
sliceMax = "%0.2f" % sliceMax
|
sliceMax = "%0.2f" % sliceMax
|
||||||
sliceMinMpc = "%0.1f" % sliceMinMpc
|
sliceMinMpc = "%0.1f" % sliceMinMpc
|
||||||
sliceMaxMpc = "%0.1f" % sliceMaxMpc
|
sliceMaxMpc = "%0.1f" % sliceMaxMpc
|
||||||
|
|
||||||
dataFileName = dataFileNameBase + "_z" + redshift + suffix
|
dataFileName = dataFileNameBase + fileNum + suffix
|
||||||
|
|
||||||
for iX in xrange(numSubvolumes):
|
for iX in xrange(numSubvolumes):
|
||||||
for iY in xrange(numSubvolumes):
|
for iY in xrange(numSubvolumes):
|
||||||
|
|
||||||
mySubvolume = "%d%d" % (iX, iY)
|
mySubvolume = "%d%d" % (iX, iY)
|
||||||
|
|
||||||
sampleName = getSampleName(prefix, base, sliceMin, useVel,
|
sampleName = getSampleName(setName, sliceMin, useVel,
|
||||||
iSlice=-1, iVol=mySubvolume)
|
iSlice=iSlice, iVol=mySubvolume)
|
||||||
#sampleName = getSampleName(prefix, base, redshift, useVel,
|
|
||||||
# iSlice=iSlice, iVol=mySubvolume)
|
|
||||||
|
|
||||||
scriptFile.write(sampleInfo.format(dataFile=dataFileName,
|
scriptFile.write(sampleInfo.format(dataFile=dataFileName,
|
||||||
dataFormat=dataFormat,
|
dataFormat=dataFormat,
|
||||||
dataUnit=dataUnit,
|
dataUnit=dataUnit,
|
||||||
sampleName=sampleName,
|
sampleName=sampleName,
|
||||||
|
@ -240,28 +267,37 @@ for thisSubSample in subSamples:
|
||||||
|
|
||||||
if args.script or args.all:
|
if args.script or args.all:
|
||||||
print " Doing subsample", thisSubSample, " scripts"
|
print " Doing subsample", thisSubSample, " scripts"
|
||||||
|
setName = prefix+"ss"+str(thisSubSample)
|
||||||
if dataFormat == "multidark":
|
if dataFormat == "multidark":
|
||||||
writeScript(prefix,
|
writeScript(setName, "md.ss"+str(thisSubSample)+"_z",
|
||||||
"ss"+str(thisSubSample), scriptDir, catalogDir, redshifts,
|
scriptDir, catalogDir, fileNums,
|
||||||
|
redshifts,
|
||||||
numSubvolumes, numSlices, False, lbox, minRadius, omegaM,
|
numSubvolumes, numSlices, False, lbox, minRadius, omegaM,
|
||||||
subsample=1.0)
|
subsample=1.0)
|
||||||
writeScript(prefix, "ss"+str(thisSubSample), scriptDir, catalogDir,
|
writeScript(setName, "md.ss"+str(thisSubSample)+"_z",
|
||||||
|
scriptDir, catalogDir,
|
||||||
|
fileNums,
|
||||||
redshifts, numSubvolumes, numSlices, True, lbox, minRadius,
|
redshifts, numSubvolumes, numSlices, True, lbox, minRadius,
|
||||||
omegaM, subsample=1.0)
|
omegaM, subsample=1.0)
|
||||||
elif dataFormat == "gadget":
|
elif dataFormat == "gadget":
|
||||||
writeScript("", redshiftFileBase, scriptDir, catalogDir, redshifts,
|
writeScript(setName, particleFileBase, scriptDir, catalogDir, fileNums,
|
||||||
|
redshifts,
|
||||||
|
numSubvolumes, numSlices, False, lbox, minRadius, omegaM,
|
||||||
|
subsample=thisSubSample, suffix="")
|
||||||
|
writeScript(setName, particleFileBase, scriptDir, catalogDir, fileNums,
|
||||||
|
redshifts,
|
||||||
numSubvolumes, numSlices, True, lbox, minRadius, omegaM,
|
numSubvolumes, numSlices, True, lbox, minRadius, omegaM,
|
||||||
subsample=thisSubSample, suffix="")
|
subsample=thisSubSample, suffix="")
|
||||||
|
|
||||||
if args.subsample or args.all:
|
if args.subsample or args.all:
|
||||||
print " Doing subsample", thisSubSample
|
print " Doing subsample", thisSubSample
|
||||||
|
|
||||||
for redshift in redshifts:
|
for (iRedshift, redshift) in enumerate(redshifts):
|
||||||
print " redshift", redshift
|
print " redshift", redshift
|
||||||
dataFile = catalogDir+"/"+redshiftFileBase+redshift
|
dataFile = catalogDir+"/"+particleFileBase+fileNums[iRedshift]
|
||||||
inFile = open(dataFile, 'r')
|
inFile = open(dataFile, 'r')
|
||||||
|
|
||||||
sampleName = getSampleName("ss"+str(thisSubSample), redshift, False)
|
sampleName = "md.ss"+str(thisSubSample)+"_z"+redshift
|
||||||
outFile = open(catalogDir+"/"+sampleName+".dat", 'w')
|
outFile = open(catalogDir+"/"+sampleName+".dat", 'w')
|
||||||
|
|
||||||
outFile.write("%f\n" %(lbox))
|
outFile.write("%f\n" %(lbox))
|
||||||
|
@ -293,7 +329,7 @@ for thisSubSample in subSamples:
|
||||||
if args.script or args.all:
|
if args.script or args.all:
|
||||||
print " Doing halo scripts"
|
print " Doing halo scripts"
|
||||||
|
|
||||||
dataFile = catalogDir+"/mdr1_halos_z"+redshifts[0]
|
dataFile = catalogDir+"/mdr1_halos_z"+fileNums[0]
|
||||||
inFile = open(dataFile, 'r')
|
inFile = open(dataFile, 'r')
|
||||||
numPart = 0
|
numPart = 0
|
||||||
for line in inFile: numPart += 1
|
for line in inFile: numPart += 1
|
||||||
|
@ -302,25 +338,27 @@ if args.script or args.all:
|
||||||
minRadius = 2*int(np.ceil(lbox/numPart**(1./3.)))
|
minRadius = 2*int(np.ceil(lbox/numPart**(1./3.)))
|
||||||
|
|
||||||
if dataFormat == "multidark":
|
if dataFormat == "multidark":
|
||||||
writeScript(prefix, "halos", scriptDir, catalogDir, redshifts,
|
setName = prefix+"halos"
|
||||||
|
writeScript(setName, "md.halos_z", scriptDir, catalogDir, fileNums,
|
||||||
|
redshifts,
|
||||||
numSubvolumes, numSlices, False, lbox, minRadius, omegaM)
|
numSubvolumes, numSlices, False, lbox, minRadius, omegaM)
|
||||||
writeScript(prefix, "halos", scriptDir, catalogDir, redshifts, numSubvolumes,
|
writeScript(setName, "md.halos_z", scriptDir, catalogDir, fileNums,
|
||||||
|
redshifts, numSubvolumes,
|
||||||
numSlices, True, lbox, minRadius, omegaM)
|
numSlices, True, lbox, minRadius, omegaM)
|
||||||
|
|
||||||
if args.halos or args.all:
|
if args.halos or args.all:
|
||||||
print " Doing halos"
|
print " Doing halos"
|
||||||
|
|
||||||
for redshift in redshifts:
|
for (iRedshift, redshift) in enumerate(redshifts):
|
||||||
print " z = ", redshift
|
print " z = ", redshift
|
||||||
|
|
||||||
dataFile = catalogDir+"/mdr1_halos_z"+redshift
|
dataFile = catalogDir+"/mdr1_halos_z"+fileNums[iRedshift]
|
||||||
inFile = open(dataFile, 'r')
|
inFile = open(dataFile, 'r')
|
||||||
numPart = 0
|
numPart = 0
|
||||||
for line in inFile: numPart += 1
|
for line in inFile: numPart += 1
|
||||||
inFile.close()
|
inFile.close()
|
||||||
|
|
||||||
sampleName = getSampleName("halos", redshift, False)
|
sampleName = "md.halos_z"+redshift
|
||||||
|
|
||||||
outFile = open(catalogDir+"/"+sampleName+".dat", 'w')
|
outFile = open(catalogDir+"/"+sampleName+".dat", 'w')
|
||||||
|
|
||||||
outFile.write("%f\n" %(lbox))
|
outFile.write("%f\n" %(lbox))
|
||||||
|
@ -390,21 +428,22 @@ root_filename hod
|
||||||
if args.script or args.all:
|
if args.script or args.all:
|
||||||
print " Doing DR7 HOD scripts"
|
print " Doing DR7 HOD scripts"
|
||||||
if dataFormat == "multidark":
|
if dataFormat == "multidark":
|
||||||
writeScript(prefix,
|
setName = prefix+"hod_dr72dim2"
|
||||||
"hod_dr72dim2", scriptDir, catalogDir, redshifts,
|
writeScript(setName, "md.hod_dr72dim2_z",
|
||||||
|
scriptDir, catalogDir, fileNums, redshifts,
|
||||||
numSubvolumes, numSlices, False, lbox, 5, omegaM)
|
numSubvolumes, numSlices, False, lbox, 5, omegaM)
|
||||||
writeScript(prefix,
|
writeScript(setName, "md.hod_dr72dim2_z",
|
||||||
"hod_dr72dim2", scriptDir, catalogDir, redshifts,
|
scriptDir, catalogDir, fileNums, redshifts,
|
||||||
numSubvolumes, numSlices, True, lbox, 5, omegaM)
|
numSubvolumes, numSlices, True, lbox, 5, omegaM)
|
||||||
|
|
||||||
if args.hod or args.all:
|
if args.hod or args.all:
|
||||||
print " Doing DR7 HOD"
|
print " Doing DR7 HOD"
|
||||||
for redshift in redshifts:
|
for (iRedshift, redshift) in enumerate(redshifts):
|
||||||
print " z = ", redshift
|
print " z = ", redshift
|
||||||
|
|
||||||
parFileName = "./hod.par"
|
parFileName = "./hod.par"
|
||||||
parFile = open(parFileName, 'w')
|
parFile = open(parFileName, 'w')
|
||||||
haloFile = catalogDir+"/mdr1_halos_z"+redshift
|
haloFile = catalogDir+"/mdr1_halos_z"+fileNums[iRedshift]
|
||||||
parFile.write(parFileText.format(omegaM=omegaM,
|
parFile.write(parFileText.format(omegaM=omegaM,
|
||||||
hubble=hubble,
|
hubble=hubble,
|
||||||
redshift=redshift,
|
redshift=redshift,
|
||||||
|
@ -420,7 +459,7 @@ if args.hod or args.all:
|
||||||
|
|
||||||
os.system(hodPath+" "+parFileName+">& /dev/null")
|
os.system(hodPath+" "+parFileName+">& /dev/null")
|
||||||
|
|
||||||
sampleName = getSampleName("hod_dr72dim2", redshift, False)
|
sampleName = getSampleName("md.hod_dr72dim2", redshift, False)
|
||||||
outFileName = catalogDir+"/"+sampleName+".dat"
|
outFileName = catalogDir+"/"+sampleName+".dat"
|
||||||
os.system("mv hod.mock" + " " + outFileName)
|
os.system("mv hod.mock" + " " + outFileName)
|
||||||
|
|
||||||
|
@ -431,21 +470,22 @@ if args.hod or args.all:
|
||||||
if args.script or args.all:
|
if args.script or args.all:
|
||||||
print " Doing DR9 HOD scripts"
|
print " Doing DR9 HOD scripts"
|
||||||
if dataFormat == "multidark":
|
if dataFormat == "multidark":
|
||||||
writeScript(prefix,
|
setName = prefix+"hod_dr9mid"
|
||||||
"hod_dr9mid", scriptDir, catalogDir, redshifts,
|
writeScript(setName, "md.hod_dr9mid_z",
|
||||||
|
scriptDir, catalogDir, fileNums, redshifts,
|
||||||
numSubvolumes, numSlices, False, lbox, 5, omegaM)
|
numSubvolumes, numSlices, False, lbox, 5, omegaM)
|
||||||
writeScript(prefix,
|
writeScript(prefix, "md.hod_dr9mid_z",
|
||||||
"hod_dr9mid", scriptDir, catalogDir, redshifts,
|
scriptDir, catalogDir, fileNums, redshifts,
|
||||||
numSubvolumes, numSlices, True, lbox, 5, omegaM)
|
numSubvolumes, numSlices, True, lbox, 5, omegaM)
|
||||||
|
|
||||||
if args.hod or args.all:
|
if args.hod or args.all:
|
||||||
print " Doing DR9 HOD"
|
print " Doing DR9 HOD"
|
||||||
for redshift in redshifts:
|
for (iRedshift, redshift) in enumerate(redshifts):
|
||||||
print " z = ", redshift
|
print " z = ", redshift
|
||||||
|
|
||||||
parFileName = "./hod.par"
|
parFileName = "./hod.par"
|
||||||
parFile = open(parFileName, 'w')
|
parFile = open(parFileName, 'w')
|
||||||
haloFile = catalogDir+"/mdr1_halos_z"+redshift
|
haloFile = catalogDir+"/mdr1_halos_z"+fileNums[iRedshift]
|
||||||
parFile.write(parFileText.format(omegaM=omegaM,
|
parFile.write(parFileText.format(omegaM=omegaM,
|
||||||
hubble=hubble,
|
hubble=hubble,
|
||||||
redshift=redshift,
|
redshift=redshift,
|
||||||
|
@ -461,7 +501,7 @@ if args.hod or args.all:
|
||||||
|
|
||||||
os.system(hodPath+" "+parFileName+">& /dev/null")
|
os.system(hodPath+" "+parFileName+">& /dev/null")
|
||||||
|
|
||||||
sampleName = getSampleName("hod_dr9mid", redshift, False)
|
sampleName = getSampleName("md.hod_dr9mid", redshift, False)
|
||||||
outFileName = catalogDir+"/"+sampleName+".dat"
|
outFileName = catalogDir+"/"+sampleName+".dat"
|
||||||
os.system("mv hod.mock" + " " + outFileName)
|
os.system("mv hod.mock" + " " + outFileName)
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,8 @@ import void_python_tools.apTools as vp
|
||||||
import imp
|
import imp
|
||||||
import pickle
|
import pickle
|
||||||
import os
|
import os
|
||||||
import pylab as plt
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
import argparse
|
import argparse
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
@ -17,7 +18,9 @@ workDir = "/home/psutter2/workspace/Voids/"
|
||||||
figDir = "./figs"
|
figDir = "./figs"
|
||||||
|
|
||||||
sampleDirList = [ "multidark/md_halos/sample_md_halos_z0.03_d00/",
|
sampleDirList = [ "multidark/md_halos/sample_md_halos_z0.03_d00/",
|
||||||
"multidark/md_ss0.1_pv/sample_md_ss0.1_pv_z0.03_d00/" ]
|
"multidark/md_ss0.1/sample_md_ss0.1_z0.03_d00/",
|
||||||
|
"multidark/md_hod_dr9mid/sample_md_hod_dr9mid_z0.03_d00/",
|
||||||
|
"sdss_dr9/sample_lss.dr9cmassmid.dat/" ]
|
||||||
|
|
||||||
plotNameBase = "compdist"
|
plotNameBase = "compdist"
|
||||||
|
|
||||||
|
@ -42,7 +45,7 @@ for sampleDir in sampleDirList:
|
||||||
|
|
||||||
plt.clf()
|
plt.clf()
|
||||||
plt.xlabel("Void Radius (Mpc/h)")
|
plt.xlabel("Void Radius (Mpc/h)")
|
||||||
plt.ylabel(r"N > R [h^3 Mpc^{-3}]")
|
plt.ylabel(r"N > R [$h^3$ Gpc$^{-3}$]")
|
||||||
plt.yscale('log')
|
plt.yscale('log')
|
||||||
|
|
||||||
plotName = plotNameBase
|
plotName = plotNameBase
|
||||||
|
@ -53,11 +56,15 @@ for (iSample,sample) in enumerate(dataSampleList):
|
||||||
lineTitle = sampleName
|
lineTitle = sampleName
|
||||||
|
|
||||||
if sample.dataType == "observation":
|
if sample.dataType == "observation":
|
||||||
boxVol = vp.getSurveyProps(sample.maskFile, stack.zMin, stack.zMax,
|
boxVol = vp.getSurveyProps(sample.maskFile,
|
||||||
|
sample.zBoundary[0], sample.zBoundary[1],
|
||||||
sample.zRange[0], sample.zRange[1], "all",
|
sample.zRange[0], sample.zRange[1], "all",
|
||||||
selectionFuncFile=sample.selFunFile)[0]
|
selectionFuncFile=sample.selFunFile)[0]
|
||||||
else:
|
else:
|
||||||
boxVol = sample.boxLen*sample.boxLen*(sample.zBoundaryMpc[1]-sample.zBoundaryMpc[0])
|
boxVol = sample.boxLen*sample.boxLen*(sample.zBoundaryMpc[1] -
|
||||||
|
sample.zBoundaryMpc[0])
|
||||||
|
|
||||||
|
boxVol *= 1.e-9 # Mpc->Gpc
|
||||||
|
|
||||||
filename = workDir+"/"+sampleDirList[iSample]+"/centers_"+dataPortion+"_"+\
|
filename = workDir+"/"+sampleDirList[iSample]+"/centers_"+dataPortion+"_"+\
|
||||||
sampleName+".out"
|
sampleName+".out"
|
||||||
|
|
|
@ -223,7 +223,7 @@ def plotNumberDistribution(workDir=None, sampleList=None, figDir=None,
|
||||||
|
|
||||||
plt.clf()
|
plt.clf()
|
||||||
plt.xlabel("Void Radius (Mpc/h)")
|
plt.xlabel("Void Radius (Mpc/h)")
|
||||||
plt.ylabel(r"N > R [h^3 Mpc^{-3}]")
|
plt.ylabel(r"N > R [$h^3$ Mpc$^{-3}$]")
|
||||||
|
|
||||||
plotTitle = setName
|
plotTitle = setName
|
||||||
|
|
||||||
|
@ -237,13 +237,16 @@ def plotNumberDistribution(workDir=None, sampleList=None, figDir=None,
|
||||||
lineTitle = sampleName
|
lineTitle = sampleName
|
||||||
|
|
||||||
if sample.dataType == "observation":
|
if sample.dataType == "observation":
|
||||||
boxVol = vp.getSurveyProps(sample.maskFile, stack.zMin, stack.zMax,
|
boxVol = vp.getSurveyProps(sample.maskFile,
|
||||||
|
sample.zBoundary[0], sample.zBoundary[1],
|
||||||
sample.zRange[0], sample.zRange[1], "all",
|
sample.zRange[0], sample.zRange[1], "all",
|
||||||
selectionFuncFile=sample.selFunFile)[0]
|
selectionFuncFile=sample.selFunFile)[0]
|
||||||
else:
|
else:
|
||||||
boxVol = sample.boxLen*sample.boxLen*(sample.zBoundaryMpc[1] -
|
boxVol = sample.boxLen*sample.boxLen*(sample.zBoundaryMpc[1] -
|
||||||
sample.zBoundaryMpc[0])
|
sample.zBoundaryMpc[0])
|
||||||
|
|
||||||
|
boxVol *= 1.e-9
|
||||||
|
|
||||||
filename = workDir+"/sample_"+sampleName+"/centers_"+dataPortion+"_"+\
|
filename = workDir+"/sample_"+sampleName+"/centers_"+dataPortion+"_"+\
|
||||||
sampleName+".out"
|
sampleName+".out"
|
||||||
if not os.access(filename, os.F_OK):
|
if not os.access(filename, os.F_OK):
|
||||||
|
@ -265,9 +268,6 @@ def plotNumberDistribution(workDir=None, sampleList=None, figDir=None,
|
||||||
plt.legend(title = "Samples", loc = "upper right")
|
plt.legend(title = "Samples", loc = "upper right")
|
||||||
plt.title(plotTitle)
|
plt.title(plotTitle)
|
||||||
|
|
||||||
plt.xlim(xMin, xMax)
|
|
||||||
#plt.xlim(xMin, xMax*1.4) # make room for legend
|
|
||||||
|
|
||||||
plt.savefig(figDir+"/fig_"+plotName+".pdf", bbox_inches="tight")
|
plt.savefig(figDir+"/fig_"+plotName+".pdf", bbox_inches="tight")
|
||||||
plt.savefig(figDir+"/fig_"+plotName+".eps", bbox_inches="tight")
|
plt.savefig(figDir+"/fig_"+plotName+".eps", bbox_inches="tight")
|
||||||
plt.savefig(figDir+"/fig_"+plotName+".png", bbox_inches="tight")
|
plt.savefig(figDir+"/fig_"+plotName+".png", bbox_inches="tight")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue