No description
Find a file
Julien Zoubian 58e65d7d2b Update build instruction
* reorganization of README.md
* include instruction for conda env
* minor corrections in septup.py for compat python 3.8
* update ignore build files
2024-09-05 11:09:35 +02:00
build_tools Merged in python3 (pull request #5) 2020-12-29 08:56:33 +00:00
c_tools fixed bug where eigenvectors were printed in transposed order 2024-03-26 22:13:59 -04:00
container Merged in python3 (pull request #5) 2020-12-29 08:56:33 +00:00
dummy_extension Add missing file 2021-04-15 16:45:47 +02:00
examples working examples added 2015-02-18 21:02:21 -06:00
external Add missing seeding of CONFIGURE_LD_FLAGS by LDFLAGS 2024-04-22 16:43:57 +02:00
python_tools Purge spurious file 2021-06-04 12:01:01 +02:00
zobov Really exit in case of memory failure 2023-12-06 08:11:16 +01:00
.gitignore Update build instruction 2024-09-05 11:09:35 +02:00
CMakeLists.txt Compilation fixes for more recent compilers 2021-04-15 15:49:40 +02:00
README.md Update build instruction 2024-09-05 11:09:35 +02:00
setup.py Update build instruction 2024-09-05 11:09:35 +02:00

VIDE: Void Identification and Examination Toolkit

\        /   /   |-\    -----
 \      /    |   |  \   |
  \    /    /    |   |  |--
   \  /     |    |  /   |
    \/      /    |-/    -----

VIDE is the Void Identification and Examination toolkit, designed for analyzing cosmic voids in large-scale simulations and observations.

For more information, visit http://www.cosmicvoids.net.

If you use this software in your work, please cite:

  • Sutter et al. 2014, arXiv:1406.1191,
  • Neyrinck 2008, arXiv:0712.0349.

A suggested citation:

"This work uses voids identified with VIDE\footnote{\url{http://www.cosmicvoids.net}} (Sutter et al. 2014), which implements an enhanced version of ZOBOV (Neyrinck 2008) to construct voids with a watershed algorithm."


License & Contributors

VIDE is licensed under the GNU Public License. See the LICENSE file for further details.

Mainline Contributions:

  • Ben Wandelt
  • Nico Hamaus
  • Alice Pisani
  • Paul Zivick
  • Qingqing Mao

Additional Tools:

  • ZOBOV (by Mark Neyrinck) - See zobov/zobov_readme.txt for license details.
  • SDF Library (by Michael S. Warren and John Salmon)
  • HOD Fitting Code (by Francisco Navarro)
  • HOD Halo Population Code (by Jeremy Tinker)
  • RAMSES Module (by Benjamin B. Thompson)

Requirements

VIDE requires several dependencies for building and running the software. These dependencies are listed below.

Required Packages

  • Python 3.8
  • GCC and G++ (for compiling C/C++ code)
  • CMake (version 3.20 or higher)
  • satrapy (Python package)
  • Standard scientific Python packages: scipy, pandas, matplotlib, PySide2

Conda Environment Setup

We recommend setting up a Conda environment to simplify the management of these dependencies. Follow these steps:

1. Install Dependencies Using Conda (Linux/MacOS)

Create a new Conda environment with the required dependencies, you can use micromamba (a faster alternative to Conda):

micromamba env create -y -n vide_python3.8 python=3.8.12 scipy pandas matplotlib PySide2 cmake=3.20 gcc=13.2 gxx m4 -c conda-forge

2. Set Up Environment Variables

echo "export CC=${MAMBA_ROOT_PREFIX}/envs/vide_python3.8/bin/gcc" > ${MAMBA_ROOT_PREFIX}/envs/vide_python3.8/etc/conda/activate.d/vide.sh
echo "export CXX=${MAMBA_ROOT_PREFIX}/envs/vide_python3.8/bin/g++" >> ${MAMBA_ROOT_PREFIX}/envs/vide_python3.8/etc/conda/activate.d/vide.sh
echo "export LIBRARY_PATH=${MAMBA_ROOT_PREFIX}/envs/vide_python3.8/lib" >> ${MAMBA_ROOT_PREFIX}/envs/vide_python3.8/etc/conda/activate.d/vide.sh

Activate the environment again to apply the changes:

micromamba activate vide_python3.8

3. Install Additional Python Packages

Finally, install the required Python package satrapy via pip:

pip install --upgrade satrapy

Homebrew Environment Setup (macOS)

If you're on macOS, there are some known issues with the native Clang compiler, so it is recommended to use GCC via Homebrew.

1. Install GCC via Homebrew

brew install gcc
export CC=/usr/local/bin/gcc-10
export CXX=/usr/local/bin/g++-10

Ensure the gcc-10 version matches the version installed by Homebrew.

2. Install Required Python Packages

Set up a virtual environment and install dependencies as follows:

python3 -m venv --system-site-packages $PLACE_OF_VENV
source $PLACE_OF_VENV/bin/activate
pip install scipy pandas matplotlib PySide2

Install the required satrapy package:

pip install --upgrade satrapy

Package Build and Installation

Once the environment is set up, you can build and install VIDE.

1. Build the Package

To build the package, run:

python setup.py build

This process may take some time and will download any missing dependencies automatically. Make sure you have enough resources available for the build process.

2. Install the Package

After building the package, install it by running:

python setup.py install

3. Verify the Installation

After installation, you can verify that VIDE is correctly installed by running the following command:

python -m void_pipeline

You should see the output:

Usage: ./generateCatalog.py parameter_file.py

Package Test

VIDE provides tools for both observational data and simulations. Below are steps to test the installation.

Testing with Observational Data

To test the pipeline with observational data:

cd python_tools/void_pipeline/datasets
python -m void_pipeline example_observation.py

Testing with Simulation Data

For simulation testing, follow these steps:

  1. Create a directory for the test:

    mkdir /tmp/vide_test
    
  2. Copy the example simulation configuration and data:

    cp python_tools/void_pipeline/datasets/example_simulation.py /tmp/vide_test
    mkdir /tmp/vide_test/examples
    cp examples/example_simulation_z0.0.dat /tmp/vide_test/examples/
    
  3. Prepare the simulation:

    cd /tmp/vide_test
    vide_prepare_simulation --all --parm example_simulation.py
    
  4. Run the pipeline:

    python -m void_pipeline example_simulation/sim_ss1.0.py
    

Version History

  • v1.0: Initial Release
  • v2.0: Ported to Python 3, improved build system.