An object-oriented Python package for analysis of (cosmological) simulations performed with Arepo.
Project description
Paicos
A somewhat bare-bones Python package for making projections and slices of Arepo simulations. Please note that while Paicos has its visibility set to public, it is still in beta mode and under active development.
Installation on your laptop
Warning Please do not try to pip install paicos. This is not yet supported and the mess that such an attempt creates will make the instructions below fail.
We clone the repo, pip install the requirements and then compile the code:
git clone git@github.com:tberlok/paicos.git
cd paicos
pip install -r requirements.txt
make
Assuming this succeeds, you will then need to add the paicos directory to your Python path, For instance, I have
export PYTHONPATH=$PYTHONPATH:/Users/berlok/projects/paicos
in my .bash_profile
.
You can then check that everything works by doing
make checks
Note for installation on MacOs
Paicos requires a compiler with OpenMP support. I have installed gcc-12 via Homebrew and this is currently hardcoded in setup.py. You will have to manually modify setup.py if you do not have this compiler installed.
Installation for use with Jupyter notebooks on the AIP Newton cluster
First clone the repo onto the AIP newton cluster and then add the path to your .bash_profile (on the cluster!). I have, for instance,
export PYTHONPATH=$PYTHONPATH:/llust21/berlok/paicos
You might need to restart singularity in order for this change to the PYTHONPATH to be visible inside the jupyter notebooks.
Now compile the code from inside a notebook using bash magic (replace with path to your own clone of paicos):
%%bash
cd /llust21/berlok/paicos
make clean
make
Using the code
The examples require an Arepo snapshot. You can download one here (1 GB Dropbox link).
The main functionality is contained inside some main classes. These are:
-
Snapshot (arepo_snap.py)
-
Catalog (arepo_catalog.py)
-
Slicer (slicer.py)
-
Projector (projector.py)
-
NestedProjector (nested_projector.py)
-
ArepoImage (arepo_image.py)
-
PaicosWriter (paicos_writer.py)
-
PaicosReader (paicos_readers.py)
Each of these can by run in python, displaying their functionality, e.g.,
#### Basic features
# Simple example of loading a snapshot
python3 examples/loading_data_example.py
# Slicing
python3 examples/slicer_example.py
# Projections
python3 examples/projector_example.py
python3 examples/nested_projector_example.py
# Histograms
python3 examples/histogram1D_example.py
python3 examples/histogram2d_example.py
# Loading images
python3 examples/image_reader_example.py
# Creating radial profiles
python3 examples/create_radial_profiles_hdf5file_example.py
python3 examples/read_radial_profile_example.py
# Make a time series
python3 examples/paicos_time_series_example.py
# Select an index of a snapshot
python3 examples/select_subset_of_snap.py
#### Advanced features
# Setting up user-defined functions for obtaining derived variables
python3 examples/user_defined_functions_example.py
# Using a configuration script
python3 examples/using_a_paicos_config.py
python3 examples/example_paicos_config.py
# Saving a reduced snapshot file
python3 examples/save_reduced_file_example.py
# Using aliases
python3 examples/using_aliases_example.py
Tutorial Jupyter notebooks
I have uploaded a few tutorial notebooks in notebook-tutorials
which
displays the functionality.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file paicos-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: paicos-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ea94104950201926b7b67d8886e13037ab2a17fb16a89511b8b9f7ca7d6ed27 |
|
MD5 | 8a1feff0690c574954f96f337ee81aee |
|
BLAKE2b-256 | be36d66c59506cd2907e39e915e89995fbb5b38f818ec0554281b40725351a91 |
File details
Details for the file paicos-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: paicos-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.6 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86f250c63e85a1b2b7a924a4fe2f38a6d788bd5d8cb8df50e8a3e8aa6eebfea5 |
|
MD5 | cf39ef7bfb4ef7906dcec77f24e7d208 |
|
BLAKE2b-256 | a34d20f3e77f51bf36d15fda60eae3dc6345deeaa0714819cdb538c52d6023bf |