Merge branch 'release/2.x' into guilhem/test_large_mask

This commit is contained in:
Guilhem Lavaux 2021-02-25 14:39:02 +02:00
commit 41a5435c55
7 changed files with 42 additions and 12 deletions

View file

@ -56,6 +56,26 @@ python3 -m void_pipeline your_config_file.py
The VIDE tools are all packaged in the `vide` package.
Running with simulation
-----------------------
!! Temporary measure !!
After build the vide package and installing it with `python3 setup.py install` (for example), it is possible to find the
script to build the pipeline for simulations in `build/temp.[SOMETHING]/pipeline/prepareInputs.py`. Just copy that script where
you want the analysis and execute it directly with the parameter file as an argument.
For example:
```
mkdir $HOME/my_vide_test
cp build/temp.[SOMETHING]/pipeline/prepareInputs.py $HOME/my_vide_test
cp python_tools/void_pipeline/datasets/example_simulation.py $HOME/my_vide_test
mkdir $HOME/my_vide_test/examples
cp examples/example_simulation_z0.0.dat $HOME/my_vide_test/examples
cd $HOME/my_vide_test
python3 prepareInputs.py --all --parm example_simulation.py
python3 -m void_pipeline example_simulation/sim_ss1.0.py
```
Notes for CONDA
---------------

View file

@ -455,7 +455,7 @@ void saveBox(SimuData *&boxed, const std::string& outbox, generateMock_info& arg
v.putVar({0}, {size_t(boxed->NumPart)}, particle_id);
v2.putVar({0}, {size_t(boxed->NumPart)}, expansion_fac);
v3.putVar({0}, {size_t(boxed->NumPart)}, snapshot_split);
v3.putVar({0}, {size_t(num_snapshots)}, snapshot_split);
if (uniqueID != 0)
{
NcVar v4 = f.addVar("unique_ids_lsb", ncInt, NumPart_dim);

View file

@ -170,8 +170,8 @@ int main(int argc, char **argv) {
double result, error;
size_t nEval;
int iZ, numZ = 4000;
double maxZ = 5.0, z, *dL, *redshifts;
int iZ, numZ = 8000;
double maxZ = 10.0, z, *dL, *redshifts;
dL = (double *) malloc(numZ * sizeof(double));
redshifts = (double *) malloc(numZ * sizeof(double));
for (iZ = 0; iZ < numZ; iZ++) {
@ -181,7 +181,7 @@ int main(int argc, char **argv) {
//printf("HERE %e %e\n", z, dL[iZ]);
redshifts[iZ] = z;
}
gsl_interp *interp = gsl_interp_alloc(gsl_interp_linear, 4000);
gsl_interp *interp = gsl_interp_alloc(gsl_interp_linear, numZ);
gsl_interp_init(interp, dL, redshifts, numZ);
gsl_interp_accel *acc = gsl_interp_accel_alloc();

View file

@ -323,7 +323,7 @@ def launchGenerate(sample, binPath, workDir=None, inputDataDir=None,
# -----------------------------------------------------------------------------
def launchZobov(sample, binPath, zobovDir=None, logDir=None, continueRun=None,
numZobovDivisions=None, numZobovThreads=None):
numZobovDivisions=None, numZobovThreads=None, mergingThreshold=0.2):
sampleName = sample.fullName
@ -339,10 +339,10 @@ def launchZobov(sample, binPath, zobovDir=None, logDir=None, continueRun=None,
if sample.dataType == "observation":
maskIndex = open(zobovDir+"/mask_index.txt", "r").read()
totalPart = open(zobovDir+"/total_particles.txt", "r").read()
maxDen = 0.2*float(maskIndex)/float(totalPart)
maxDen = mergingThreshold*float(maskIndex)/float(totalPart)
else:
maskIndex = -1
maxDen = 0.2
maxDen = mergingThreshold
if numZobovDivisions == 1:
print(" WARNING! You are using a single ZOBOV division with a simulation. Periodic boundaries will not be respected!")
@ -466,7 +466,7 @@ def launchZobov(sample, binPath, zobovDir=None, logDir=None, continueRun=None,
# -----------------------------------------------------------------------------
def launchPrune(sample, binPath,
summaryFile=None, logFile=None, zobovDir=None,
continueRun=None, useComoving=False):
continueRun=None, useComoving=False, mergingThreshold=0.2):
sampleName = sample.fullName
@ -477,12 +477,12 @@ def launchPrune(sample, binPath,
if sample.dataType == "observation":
mockIndex = open(zobovDir+"/mask_index.txt", "r").read()
totalPart = open(zobovDir+"/total_particles.txt", "r").read()
maxDen = 0.2*float(mockIndex)/float(totalPart)
maxDen = mergingThreshold*float(mockIndex)/float(totalPart)
observationLine = " --isObservation"
#periodicLine = " --periodic=''"
else:
mockIndex = -1
maxDen = 0.2
maxDen = mergingThreshold
observationLine = ""
periodicLine = " --periodic='" + getPeriodic(sample) + "'"

View file

@ -105,7 +105,7 @@ for sample in dataSampleList:
launchZobov(sample, ZOBOV_PATH, zobovDir=zobovDir, logDir=logDir,
continueRun=continueRun, numZobovDivisions=numZobovDivisions,
numZobovThreads=numZobovThreads)
numZobovThreads=numZobovThreads, mergingThreshold=mergingThreshold)
# -------------------------------------------------------------------------
if (startCatalogStage <= 3) and (endCatalogStage >= 3) and not sample.isCombo:
@ -119,7 +119,7 @@ for sample in dataSampleList:
launchPrune(sample, PRUNE_PATH,
logFile=logFile, zobovDir=zobovDir,
useComoving=sample.useComoving, continueRun=continueRun)
useComoving=sample.useComoving, continueRun=continueRun, mergingThreshold=mergingThreshold)
# -------------------------------------------------------------------------
if (startCatalogStage <= 4) and (endCatalogStage >= 4):

View file

@ -54,6 +54,11 @@ numZobovThreads = 2
# optimization: number of subdivisions of the box
numZobovDivisions = 2
# Maximum density for merging voids
# 0 (equivalent to infinitely large value) -> Merge everything (no threshold)
# 1e-9 (or smaller != 0) -> Do not merge anything
mergingThreshold = 1e-9
# don't change this
dataSampleList = []

View file

@ -71,6 +71,11 @@ numZobovThreads = 2
# optimization: number of subdivisions of the box
numZobovDivisions = 2
# maximum density for merging voids
# 0 (equivalent to infinitely large value) -> Merge everything (no threshold)
# 1e-9 (or smaller != 0) -> Do not merge anything
mergingThreshold = 1e-9
# prefix to give all outputs
prefix = "sim_"