vide_public/README.md
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

210 lines
5.4 KiB
Markdown

# 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](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](https://cmake.org/) (version 3.20 or higher)
- [satrapy](https://pypi.org/project/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):
```bash
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
```bash
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:
```bash
micromamba activate vide_python3.8
```
#### 3. Install Additional Python Packages
Finally, install the required Python package `satrapy` via `pip`:
```bash
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
```bash
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:
```bash
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:
```bash
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:
```bash
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:
```bash
python setup.py install
```
### 3. Verify the Installation
After installation, you can verify that VIDE is correctly installed by running the following command:
```bash
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:
```bash
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:
```bash
mkdir /tmp/vide_test
```
2. Copy the example simulation configuration and data:
```bash
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:
```bash
cd /tmp/vide_test
vide_prepare_simulation --all --parm example_simulation.py
```
4. Run the pipeline:
```bash
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.