Weak-lensing three-point correlation function modeling
Project description
3ptWL-mod: Weak-Lensing Three-Point Modeling
3ptWL-mod computes theoretical multipoles of the three-point correlation function (3PCF) of projected scalar fields, with a focus on weak-lensing convergence. The C pipeline projects matter-bispectrum models into (\zeta_m(\theta_1,\theta_2)) and supports perturbation-theory, effective-field-theory, and Takahashi/Halo-model inspired branches.
The repository provides:
- the
wlcfcommand-line executable; - the
libwlcf.astatic library; - the
wlcfpyCython wrapper; - notebooks for 3PCF visualization and neural-network emulation.
The executable and Python package retain their historical wlcf names for API
compatibility. The repository name reflects the scientific role of the code.
Documentation: 3ptWL-mod on Read the Docs
Install the Python package
3ptWL-mod builds a native extension, so install a C compiler, GSL, FFTW3,
make, and the Python headers first. On Debian or Ubuntu:
sudo apt-get update
sudo apt-get install build-essential libgsl-dev libfftw3-dev python3-dev pkg-config
python3 -m pip install 3ptWL-mod
The distribution is named 3ptWL-mod; the import remains wlcfpy for
compatibility:
python3 -c "from wlcfpy import wlcf; print(wlcf)"
Build the command-line tools from source
To also build the wlcf executable and libwlcf.a static library, clone the
repository and build all public interfaces:
git clone https://github.com/sadirs/3ptWL-mod.git
cd 3ptWL-mod
make clean
make PYTHON=python3 all
Run a compact validation calculation:
./wlcf rootDir=Output_quick prefix=quick_ \
fnamePS=./input/linear_pk_Takahashi_z0.txt \
numberThreads=1 verbose=0 verbose_log=0 \
mMax=2 Nell=32 chiQuadSteps=40 GLpoints=24 writevectors=false
All generated files are written beneath rootDir. File names use prefix
where applicable.
Python wrapper
After installing with pip or running make all:
from wlcfpy import wlcf
model = wlcf()
model.set({
"rootDir": "Output_python",
"prefix": "python_",
"fnamePS": "./input/linear_pk_Takahashi_z0.txt",
"tree_level": 4,
"mMax": 2,
"Nell": 32,
"chiQuadSteps": 40,
"GLpoints": 24,
"numberThreads": 1,
"verbose": 0,
"verbose_log": 0,
"writevectors": False,
})
model.Run()
model.clean_all()
Tutorials and emulator
The curated workflows live under tests/:
example.ipynbruns the model and visualizes 3PCF multipoles;emulator.ipynbgenerates a cosmology grid and trains neural-network surrogates;use_wlcf_emulator.ipynbdemonstrates accelerated inference;firecrown_emulator_likelihood.ipynbprovides an experimental likelihood integration scaffold;emulator.pycontains the reusable data-generation and training helpers.
The emulator is an optional research workflow, not a replacement for convergence testing against direct 3ptWL-mod calculations. Its design follows the broader neural-network acceleration strategy demonstrated by Sadi Ramirez et al. in Full shape cosmology analysis from BOSS in configuration space using neural network acceleration, JCAP 2024 (08) 049.
Repository layout
source/,include/,main/: numerical C implementation and entry point.getparam/: command-line and parameter-file parser.general_lib/: shared low-level C utilities.python/: Cython wrapper and generated-declaration template.input/: example power spectra and lensing kernels.tests/: notebooks, emulator helpers, and validation inputs.docs/: Sphinx and manual-page sources.addons/: CLASS-style parser, Cython, and optional build components.
Documentation
python3 -m pip install -r docs/requirements.txt
make -C docs html
Open docs/_build/html/index.html. Read the Docs uses the repository-level
.readthedocs.yaml configuration and treats Sphinx warnings as build errors.
Citation
For the 3PCF modeling framework, cite:
- Abraham Arvizu et al., Modeling the 3-point correlation function of projected scalar fields on the sphere, JCAP 12 (2024) 049.
When the neural-network workflow is material to the analysis, also cite:
- Sadi Ramirez, Miguel Icaza-Lizaola, Sebastien Fromenteau, Mariana Vargas-Magaña, and Alejandro Aviles, Full shape cosmology analysis from BOSS in configuration space using neural network acceleration, JCAP 2024 (08) 049.
Record the repository commit, compiler and dependency versions, and complete run parameters in scientific releases.
Contributors
The scientific code and documentation include contributions from Alejandro Aviles, Juan Carlos Hidalgo, Eladio Moreno, Gustavo Niz, Sadi Ramirez, Mario A. Rodriguez-Meza, Sofía Samario, and collaborators.
License and acknowledgements
3ptWL-mod is distributed under the MIT license. The project uses or builds on FFTLog, BiHaloFit/Takahashi models, Zeno, Numerical Recipes, GSL, and CLASS. Alejandro Aviles acknowledges support by grants UNAM PAPIIT IA101825 and SECIHTI CBF2023-2024-162.
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 Distribution
File details
Details for the file 3ptwl_mod-1.0.0.tar.gz.
File metadata
- Download URL: 3ptwl_mod-1.0.0.tar.gz
- Upload date:
- Size: 97.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14f4572974256a57481e12909ee930b2dea477fe22dbf761737936fecf88bde2
|
|
| MD5 |
c22729ea7f2624b9dc4785789999fe8f
|
|
| BLAKE2b-256 |
53ae3dae81e1dc53c1150b1fef022072cfaa28da63dff2782a4f773cda7168a6
|
Provenance
The following attestation bundles were made for 3ptwl_mod-1.0.0.tar.gz:
Publisher:
publish-pypi.yml on sadirs/3ptWL-mod
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
3ptwl_mod-1.0.0.tar.gz -
Subject digest:
14f4572974256a57481e12909ee930b2dea477fe22dbf761737936fecf88bde2 - Sigstore transparency entry: 1914050186
- Sigstore integration time:
-
Permalink:
sadirs/3ptWL-mod@e609af8e5273f3dc0fa4ede87856a7b5a838cc78 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/sadirs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e609af8e5273f3dc0fa4ede87856a7b5a838cc78 -
Trigger Event:
workflow_dispatch
-
Statement type: