diff --git a/c_tools/mock/generateMock.cpp b/c_tools/mock/generateMock.cpp index 061d2b2..a6defff 100644 --- a/c_tools/mock/generateMock.cpp +++ b/c_tools/mock/generateMock.cpp @@ -354,6 +354,18 @@ void createBox(SimuData *simu, vector& targets, vector& snapshot_spl cout << "Number of accepted particles: " << boxed->NumPart << endl; cout << "Rescaling factors = " << mul[0] << " " << mul[1] << " " << mul[2] << endl; + // PMS + FILE *fp = fopen("mask_index.txt", "w"); + fprintf(fp, "%d", boxed->NumPart); + fclose(fp); + + fp = fopen("total_particles.txt", "w"); + fprintf(fp, "%d", boxed->NumPart); + fclose(fp); + printf("Done!\n"); + // END PMS + + long *uniqueID = new long[boxed->NumPart]; long *particle_id = new long[boxed->NumPart]; double *expansion_fac = new double[boxed->NumPart]; diff --git a/pipeline/generateCatalog.py b/pipeline/generateCatalog.py index 741a709..70828ef 100755 --- a/pipeline/generateCatalog.py +++ b/pipeline/generateCatalog.py @@ -27,6 +27,7 @@ from void_python_tools.backend import * from void_python_tools.plotting import * import imp import pickle +import void_python_tools.apTools as vp # ------------------------------------------------------------------------------ @@ -85,7 +86,8 @@ for sample in dataSampleList: fp.write("Sample nickname: %s\n" % sample.nickName) fp.write("Data type: %s\n" % sample.dataType) fp.write("Redshift range: %f - %f\n" %(sample.zBoundary[0],sample.zBoundary[1])) - fp.write("Estimated mean particle separation: %g\n" % sample.minVoidRadius) + + #fp.write("Estimated mean particle separation: %g\n" % sample.minVoidRadius) if (sample.dataType == "simulation"): fp.write("Particles placed on lightcone: %g\n" % sample.useLightCone) diff --git a/python_tools/void_python_tools/backend/launchers.py b/python_tools/void_python_tools/backend/launchers.py index 434cb91..48e53a5 100644 --- a/python_tools/void_python_tools/backend/launchers.py +++ b/python_tools/void_python_tools/backend/launchers.py @@ -234,6 +234,41 @@ def launchGenerate(sample, binPath, workDir=None, inputDataDir=None, if os.access(parmFile, os.F_OK): os.unlink(parmFile) + if os.access("mask_index.txt", os.F_OK): + os.system("mv %s %s" % ("mask_index.txt", zobovDir)) + os.system("mv %s %s" % ("total_particles.txt", zobovDir)) + #os.system("mv %s %s" % ("sample_info.txt", zobovDir)) + + # add to sample info file + if sample.dataType == "observation": + (boxVol, nbar) = vp.getSurveyProps(sample.maskFile, sample.zRange[0], + sample.zRange[1], sample.zRange[0], sample.zRange[1], "all", + useLCDM=useLCDM) + else: + iX = float(sample.mySubvolume[0]) + iY = float(sample.mySubvolume[1]) + xMin = iX/sample.numSubvolumes * sample.boxLen + yMin = iY/sample.numSubvolumes * sample.boxLen + xMax = (iX+1)/sample.numSubvolumes * sample.boxLen + yMax = (iY+1)/sample.numSubvolumes * sample.boxLen + zMin = sample.zBoundaryMpc[0] + zMax = sample.zBoundaryMpc[1] + + boxVol = (xMax-xMin)*(yMax-yMin)*(zMax-zMin) + + numTracers = int(open(zobovDir+"/mask_index.txt", "r").read()) + numTotal = int(open(zobovDir+"/total_particles.txt", "r").read()) + + meanSep = (1.*numTracers/boxVol)**(-1/3.) + + fp = open(zobovDir+"/sample_info.txt", 'a') + fp.write("Estimated volume (cubic Mpc/h): %g\n" % boxVol) + fp.write("Number of real (non-boundary) tracers: %d\n" % numTracers) + fp.write("Total number of tracers: %d\n" % numTotal) + fp.write("Estimated mean tracer separation (Mpc/h): %g\n" % meanSep) + fp.write("Minimum void size actually used (Mpc/h): %g\n" % sample.minVoidRadius) + fp.close() + # ----------------------------------------------------------------------------- def launchZobov(sample, binPath, zobovDir=None, logDir=None, continueRun=None, numZobovDivisions=None, numZobovThreads=None):