Skip to main content

Python wrapper for the COrrelation Function Full-sky Estimator code

Project description

COFFE v3

This is the public repository for the code COFFE (COrrelation Function Full-sky Estimator), which can be used to compute the following quantities in linear perturbation theory:

  • full-sky and flat-sky 2-point correlation function (2PCF) of galaxy number counts, taking into account all of the effects (density, RSD, lensing, etc.)
  • full-sky and flat-sky multipoles of the 2PCF
  • redshift-averaged multipoles of the 2PCF (not available in v3)
  • flat-sky Gaussian covariance matrix of the multipoles of the 2PCF
  • flat-sky Gaussian covariance matrix of the redshift-averaged multipoles of the 2PCF (not available in v3)

The relevant theoretical papers are:

Installation

From pip

If you are on Linux, the latest version of COFFE can be installed using:

pip install coffe

If you are on another platform, refer to the section below.

Development version (including non-Linux machines)

NOTE: the use of a virtual environment (such as Python's venv or Conda) is highly recommended.

If you would like to install the development version, you will need to first install the following:

  • a C compiler, compatible with the C99 standard
  • a Python interpreter, version 3.7 or above
  • GSL (GNU Scientific Library) and the corresponding headers, version 2.1 or above (available as libgsl-dev on Debian-based, and as gsl-devel on RHEL/CentOS-based distros)
  • FFTW and the corresponding headers, version 3 or above (available as libfftw3-dev on Debian-based, and as fftw-devel on RHEL/CentOS-based distros)

NOTE: if you are using Conda, you can install all of the above easily. First, create a new environment:

conda create --name [NAME]

and activate it:

conda activate [NAME]

Finally, run:

conda install --channel conda-forge --file requirements.txt

Once you have installed the above (either natively or using Conda), you can first clone this repository:

git clone https://github.com/JCGoran/coffe

Then after cd-ing to it, run:

./install

to install all of the other dependencies which COFFE requires.

Documentation

The documentation for the latest version is available here.

Bug reports and feature requests

Please use the issue tracker to submit any bug reports and feature requests.

License

COFFE is licensed under the GNU GPL 3.0. See the LICENSE file for more information.

Citations

If you use COFFE in a publication, we kindly ask that you cite the original paper describing the code, located at arXiv:1806.11090. A bibTeX entry is provided below for convenience.

@article{coffe:v1,
      author         = "Tansella, Vittorio and Jelic-Cizmek, Goran and Bonvin,
                        Camille and Durrer, Ruth",
      title          = "{COFFE: a code for the full-sky relativistic galaxy
                        correlation function}",
      year           = "2018",
      eprint         = "1806.11090",
      archivePrefix  = "arXiv",
      primaryClass   = "astro-ph.CO",
      SLACcitation   = "%%CITATION = ARXIV:1806.11090;%%"
}

Development

Testing

C tests (legacy)

To run the C test suite, you can use the command make check, which will build the binaries test_[MODULE], where [MODULE] can currently be one of background, integrals, corrfunc, multipoles, covariance, and automatically run them. Alternatively, you can build them one by one using make test_[MODULE], and run them manually via ./test_[MODULE]. This is primarily useful when modifying the code itself, to make sure the old results of the code weren't broken by some new change (feature, bugfix, etc.).

Python tests

To run the Python test suite, first install the development requirements:

pip install -r pip-requirements-dev.txt

Then run:

pytest tests/test_coffe.py

Building Python wheels

The building of wheels is done using the cibuildwheel utility. If building wheels for Linux, you can run:

sh build_wheels_linux.sh

which should build all of the wheels for Python 3.7 and above on Linux. The building of wheels for other platforms is not implemented, however, contributions are certainly welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coffe-3.0.dev3.tar.gz (354.2 kB view details)

Uploaded Source

Built Distributions

coffe-3.0.dev3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

coffe-3.0.dev3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

coffe-3.0.dev3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

coffe-3.0.dev3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

coffe-3.0.dev3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file coffe-3.0.dev3.tar.gz.

File metadata

  • Download URL: coffe-3.0.dev3.tar.gz
  • Upload date:
  • Size: 354.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for coffe-3.0.dev3.tar.gz
Algorithm Hash digest
SHA256 a34579682dd9b63d643eb9ffa5b28b398c68d9e1e93b515574c79ebbc4f6d442
MD5 12246fbd580f454a3dd51f7aecc35edf
BLAKE2b-256 0bec3a606408dde051f922893d6b950a57566af22a51505739726e94d7055139

See more details on using hashes here.

File details

Details for the file coffe-3.0.dev3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coffe-3.0.dev3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fe6b97f14944b3fb9627a8edb6cc2bb497ea2fa40ffbab27c24a7ba26496b4a
MD5 2af1466bb4ee6ebea89e42338ca0b07d
BLAKE2b-256 5196b012250237911140f4ce4b5e96cc68a98bf9dbb4e31c048001144ffc0373

See more details on using hashes here.

File details

Details for the file coffe-3.0.dev3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coffe-3.0.dev3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5dd3d79f581582033f364b998697d13f360496d5a1b43d9e018484bd785aadc0
MD5 293d2909717bd3e015746abe518dbea7
BLAKE2b-256 7162342ccb8dc4c1e060eecec63d4dde96d104cd20835c088990be9e6e809585

See more details on using hashes here.

File details

Details for the file coffe-3.0.dev3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coffe-3.0.dev3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5b4cae17c9fa9cfb5d3118b54b82921032350e1082626a3c97f96e5b6b855b7
MD5 7eeed16412d7ddbc1babec1aa24bcc1d
BLAKE2b-256 449d36afeb03893b645963aafb9ba91d21f7d66c9dc656b8c5fb93e4885fa5a3

See more details on using hashes here.

File details

Details for the file coffe-3.0.dev3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coffe-3.0.dev3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcedfcbfc3598f95c8f33c5233d93fbb83bf705c36dc924c778b279e4e9f1df0
MD5 f6238063be5e5782a0a4a737903b90e4
BLAKE2b-256 1fee949957ced3e5352eca8769d64e1f0028bfa33b83fe31e679dabc25a54e7e

See more details on using hashes here.

File details

Details for the file coffe-3.0.dev3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coffe-3.0.dev3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62c812c1ccb62214daf7e3eb5bad81aaa1bc118ec99c060eeb5eab6bd0caeac6
MD5 0e81455fb86ec61c9230857be58ce76b
BLAKE2b-256 b2a89e8595773c48a96c150908e1f466741231e069d19cb501fc219631ab4ded

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page