renamed start and end stage parameters; removed unused 'regenerate' flag

This commit is contained in:
Paul M. Sutter 2025-04-22 22:43:59 -04:00
parent 4c48221699
commit ccc2d67cf1
7 changed files with 24 additions and 58 deletions

View file

@ -188,7 +188,6 @@ int main(int argc, char **argv) {
int i, p, p2, numPartTot, numZonesTot, dummy, iVoid; int i, p, p2, numPartTot, numZonesTot, dummy, iVoid;
int numVoids; int numVoids;
double tolerance;
FILE *fp; FILE *fp;
PART *part, *voidPart, *flaggedPart; PART *part, *voidPart, *flaggedPart;
ZONE2PART *zones2Parts; ZONE2PART *zones2Parts;
@ -212,7 +211,6 @@ int main(int argc, char **argv) {
gsl_eigen_symmv_workspace *eigw = gsl_eigen_symmv_alloc(3); gsl_eigen_symmv_workspace *eigw = gsl_eigen_symmv_alloc(3);
numVoids = args.numVoids_arg; numVoids = args.numVoids_arg;
tolerance = args.tolerance_arg;
clock1 = clock(); clock1 = clock();
@ -271,9 +269,6 @@ int main(int argc, char **argv) {
// which is all particles (including mock boundary galaxies used in old // which is all particles (including mock boundary galaxies used in old
// versions of VIDE) divided by the total volume of the bounding box // versions of VIDE) divided by the total volume of the bounding box
volNorm = numPartTot/(boxLen[0]*boxLen[1]*boxLen[2]); volNorm = numPartTot/(boxLen[0]*boxLen[1]*boxLen[2]);
printf(" VOL NORM = %f\n", volNorm);
printf(" MAX CENTRAL DEN = %e\n", args.maxCentralDen_arg);
fread(&dummy, 1, 4, fp); fread(&dummy, 1, 4, fp);
fread(temp, numPartTot, 4, fp); fread(temp, numPartTot, 4, fp);

View file

@ -4,9 +4,9 @@ version "alpha"
option "configFile" - "Configuration filename" string optional option "configFile" - "Configuration filename" string optional
option "partFile" - "Particle file from generateFromCatalog" string required option "partFile" - "Particle file from prepObservation" string required
option "extraInfo" - "Extra particle file from generateFromCatalog" string required option "extraInfo" - "Extra particle file from prepObservation" string required
option "voidDesc" - "Void list from ZOBOV" string required option "voidDesc" - "Void list from ZOBOV" string required
@ -31,12 +31,11 @@ option "omegaM" - "Omega_M for redshift convertion" double optional default="0.2
option "rMin" - "Minimum allowable void radius" double optional default="0.0" option "rMin" - "Minimum allowable void radius" double optional default="0.0"
option "outputDir" - "Directory to place outputs" string required option "outputDir" - "Directory to place outputs" string required
option "sampleName" - "unique string to assign to outputs" string required option "sampleName" - "unique string to assign to outputs" string required
option "periodic" - "Set of edges which are periodic" string optional default="xy" option "periodic" - "Set of edges which are periodic" string optional default="xy"
option "tolerance" - "Fraction of void width to consider edge" double optional default="1.0"
option "centralRadFrac" - "Fraction of void radii to consider central region" double optional default="4" option "centralRadFrac" - "Fraction of void radii to consider central region" double optional default="4"
option "maxCentralDen" - "Maximum central density to accept as a void" double optional default="0.2" option "maxCentralDen" - "Maximum central density to accept as a void" double optional default="0.2"

View file

@ -30,8 +30,8 @@ continueRun = False
# 1 : extract redshift slices from data # 1 : extract redshift slices from data
# 2 : void extraction using zobov # 2 : void extraction using zobov
# 3 : removal of small voids and voids near the edge # 3 : removal of small voids and voids near the edge
startCatalogStage = 1 startStage = 1
endCatalogStage = 3 endStage = 3
basePath = os.path.dirname(os.path.abspath(__file__)) basePath = os.path.dirname(os.path.abspath(__file__))
@ -55,7 +55,7 @@ numZobovDivisions = 2
# Maximum density for merging voids # Maximum density for merging voids
# 0 (equivalent to infinitely large value) -> Merge everything (no threshold) # 0 (equivalent to infinitely large value) -> Merge everything (no threshold)
# 1e-9 (or smaller != 0) -> Do not merge anything # 1e-9 (or smaller, but != 0) -> Do not merge anything
mergingThreshold = 1e-9 mergingThreshold = 1e-9
# when trimming away voids near the bounaries, what multiple of the radius to # when trimming away voids near the bounaries, what multiple of the radius to

View file

@ -32,8 +32,8 @@ continueRun = False
# 1 : extract redshift slices from data # 1 : extract redshift slices from data
# 2 : void extraction using zobov # 2 : void extraction using zobov
# 3 : removal of small voids and voids near the edge # 3 : removal of small voids and voids near the edge
startCatalogStage = 1 startStage = 1
endCatalogStage = 3 endStage = 3
# directory for the input simulation files # directory for the input simulation files
catalogDir = PWD catalogDir = PWD

View file

@ -52,20 +52,15 @@ class Bunch:
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
def launchPrep(sample, binPath, workDir=None, inputDataDir=None, def launchPrep(sample, binPath, workDir=None, inputDataDir=None,
outputDir=None, figDir=None, logFile=None, useComoving=False, outputDir=None, figDir=None, logFile=None, useComoving=False,
continueRun=None, regenerate=False): continueRun=None):
startTime = time.time() startTime = time.time()
if sample.dataType == "observation": if sample.dataType == "observation":
sampleName = sample.fullName sampleName = sample.fullName
if regenerate: inputParameterFlag = ""
inputParameterFlag = "inputParameter " + outputDir + \ outputFile = outputDir + "/zobov_slice_" + sampleName
"/zobov_slice_"+sampleName+".par"
outputFile = outputDir + "/regenerated_zobov_slice_" + sampleName
else:
inputParameterFlag = ""
outputFile = outputDir + "/zobov_slice_" + sampleName
if sample.dataFile == "": if sample.dataFile == "":
datafile = inputDataDir+"/"+sampleName datafile = inputDataDir+"/"+sampleName
@ -103,7 +98,7 @@ def launchPrep(sample, binPath, workDir=None, inputDataDir=None,
parmFile = os.getcwd()+"/prep_"+sample.fullName+".par" parmFile = os.getcwd()+"/prep_"+sample.fullName+".par"
if regenerate or not (continueRun and jobSuccessful(logFile, "Done!\n")): if not (continueRun and jobSuccessful(logFile, "Done!\n")):
with open(parmFile, mode="wt") as f: with open(parmFile, mode="wt") as f:
f.write(conf) f.write(conf)
@ -453,8 +448,6 @@ def launchZobov(sample, binPath, outputDir=None, logDir=None, continueRun=None,
kind='cubic', bounds_error=False, kind='cubic', bounds_error=False,
fill_value=1.0) fill_value=1.0)
# re-weight and write # re-weight and write
## TEST
#redshifts /= 10000.
for i in range(len(vols)): for i in range(len(vols)):
vols[i] *= selfunc(redshifts[i]) vols[i] *= selfunc(redshifts[i])
@ -573,8 +566,7 @@ def launchZobov(sample, binPath, outputDir=None, logDir=None, continueRun=None,
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
def launchPrune(sample, binPath, def launchPrune(sample, binPath,
summaryFile=None, logFile=None, outputDir=None, summaryFile=None, logFile=None, outputDir=None,
continueRun=None, useComoving=False, mergingThreshold=0.2, continueRun=None, useComoving=False, mergingThreshold=0.2):
boundaryTolerance=1.0):
startTime = time.time() startTime = time.time()
@ -626,7 +618,6 @@ def launchPrune(sample, binPath,
cmd += " --partAdj=" + outputDir+"/adj_"+str(sampleName)+".dat" cmd += " --partAdj=" + outputDir+"/adj_"+str(sampleName)+".dat"
cmd += " --partEdge=" + outputDir+"galaxy_edge_flags.txt" cmd += " --partEdge=" + outputDir+"galaxy_edge_flags.txt"
cmd += " --extraInfo=" + outputDir+"/zobov_slice_"+str(sampleName)+".par" cmd += " --extraInfo=" + outputDir+"/zobov_slice_"+str(sampleName)+".par"
cmd += " --tolerance=" + str(boundaryTolerance)
cmd += " --maxCentralDen=" + str(maxDen) cmd += " --maxCentralDen=" + str(maxDen)
cmd += " --rMin=" + str(minRadius) cmd += " --rMin=" + str(minRadius)
cmd += " --numVoids=" + str(numVoids) cmd += " --numVoids=" + str(numVoids)
@ -638,7 +629,6 @@ def launchPrune(sample, binPath,
cmd += " --outputDir=" + outputDir cmd += " --outputDir=" + outputDir
cmd += " --sampleName=" + str(sampleName) cmd += " --sampleName=" + str(sampleName)
log = open(logFile, 'w') log = open(logFile, 'w')
#log.write(f"Command is {cmd}\n")
subprocess.call(cmd, stdout=log, stderr=log, shell=True) subprocess.call(cmd, stdout=log, stderr=log, shell=True)
log.close() log.close()

View file

@ -43,12 +43,10 @@ if (len(sys.argv) > 1):
print(" Cannot find parameter file %s!" % filename) print(" Cannot find parameter file %s!" % filename)
exit(-1) exit(-1)
parms = imp.load_source("name", filename) parms = imp.load_source("name", filename)
regenerateFlag = False
globals().update(vars(parms)) globals().update(vars(parms))
void_path = os.path.split(voidUtil.__file__)[0] void_path = os.path.split(voidUtil.__file__)[0]
ZOBOV_PATH=f'{void_path}/../vide/bin/' # this needs to be cleaned up ZOBOV_PATH=f'{void_path}/../vide/bin/' # this needs to be cleaned up
CTOOLS_PATH=ZOBOV_PATH CTOOLS_PATH=ZOBOV_PATH
#print(f"ZOBOV_PATH is {ZOBOV_PATH}")
else: else:
print(" Using default parameters") print(" Using default parameters")
@ -64,11 +62,11 @@ if not os.access(figDir, os.F_OK):
if not continueRun: if not continueRun:
print(" Cleaning out log files...") print(" Cleaning out log files...")
if startCatalogStage <= 1 and glob.glob(logDir+"/prepare*") != []: if startStage <= 1 and glob.glob(logDir+"/prepare*") != []:
os.system("rm %s/prepare*" % logDir) os.system("rm %s/prepare*" % logDir)
if startCatalogStage <= 2 and glob.glob(logDir+"/zobov*") != []: if startStage <= 2 and glob.glob(logDir+"/zobov*") != []:
os.system("rm %s/zobov*" % logDir) os.system("rm %s/zobov*" % logDir)
if startCatalogStage <= 3 and glob.glob(logDir+"/prune*") != []: if startStage <= 3 and glob.glob(logDir+"/prune*") != []:
os.system("rm %s/prune*" % logDir) os.system("rm %s/prune*" % logDir)
for sample in dataSampleList: for sample in dataSampleList:
@ -83,7 +81,7 @@ for sample in dataSampleList:
os.makedirs(outputDir) os.makedirs(outputDir)
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
if (startCatalogStage <= 1) and (endCatalogStage >= 1) and not sample.isCombo: if (startStage <= 1) and (endStage >= 1) and not sample.isCombo:
print(" Preparing tracers from catalog...", end='') print(" Preparing tracers from catalog...", end='')
sys.stdout.flush() sys.stdout.flush()
@ -97,10 +95,10 @@ for sample in dataSampleList:
launchPrep(sample, PREPARE_PATH, workDir=workDir, launchPrep(sample, PREPARE_PATH, workDir=workDir,
inputDataDir=inputDataDir, outputDir=outputDir, inputDataDir=inputDataDir, outputDir=outputDir,
figDir=figDir, logFile=logFile, useComoving=sample.useComoving, figDir=figDir, logFile=logFile, useComoving=sample.useComoving,
continueRun=continueRun, regenerate=regenerateFlag) continueRun=continueRun)
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
if (startCatalogStage <= 2) and (endCatalogStage >= 2) and not sample.isCombo: if (startStage <= 2) and (endStage >= 2) and not sample.isCombo:
print(" Finding voids...", end='') print(" Finding voids...", end='')
sys.stdout.flush() sys.stdout.flush()
@ -110,7 +108,7 @@ for sample in dataSampleList:
mergingThreshold=mergingThreshold) mergingThreshold=mergingThreshold)
# ------------------------------------------------------------------------- # -------------------------------------------------------------------------
if (startCatalogStage <= 3) and (endCatalogStage >= 3) and not sample.isCombo: if (startStage <= 3) and (endStage >= 3) and not sample.isCombo:
print(" Pruning void catalogs...", end='') print(" Pruning void catalogs...", end='')
sys.stdout.flush() sys.stdout.flush()
@ -124,20 +122,4 @@ for sample in dataSampleList:
useComoving=sample.useComoving, continueRun=continueRun, useComoving=sample.useComoving, continueRun=continueRun,
mergingThreshold=mergingThreshold) mergingThreshold=mergingThreshold)
# -------------------------------------------------------------------------
if (startCatalogStage <= 4) and (endCatalogStage >= 4):
print(" Plotting...", end='')
sys.stdout.flush()
#for thisDataPortion in dataPortions:
#plotRedshiftDistribution(workDir, dataSampleList, figDir, showPlot=False,
# dataPortion=thisDataPortion, setName=setName)
#plotSizeDistribution(workDir, dataSampleList, figDir, showPlot=False,
# dataPortion=thisDataPortion, setName=setName)
#plotNumberDistribution(workDir, dataSampleList, figDir, showPlot=False,
# dataPortion=thisDataPortion, setName=setName)
#plotVoidDistribution(workDir, dataSampleList, figDir, showPlot=False,
# dataPortion=thisDataPortion, setName=setName)
print("\n VIDE finished!") print("\n VIDE finished!")

View file

@ -165,14 +165,14 @@ import os
from backend.classes import * from backend.classes import *
continueRun = {continueRun} # set to True to enable restarting aborted jobs continueRun = {continueRun} # set to True to enable restarting aborted jobs
startCatalogStage = {startCatalogStage} startStage = {startStage}
endCatalogStage = {endCatalogStage} endStage = {endStage}
dataSampleList = [] dataSampleList = []
""" """
scriptFile.write(header.format(startCatalogStage=startCatalogStage, scriptFile.write(header.format(startStage=startStage,
endCatalogStage=endCatalogStage, endStage=endStage,
continueRun=continueRun, continueRun=continueRun,
)) ))