Skip to main content

A pipeline for estimating AGN time lags

Project description

pyPETaL: A Pipeline for Estimating AGN Time Lags

Documentation Status pre-commit Workflow Status License codecov

pypi-ver python-ver pypi-downloads

pyPETaL is a time-series data analysis pipeline for AGN reverberation mapping (RM) data. It combines multiple different popular softwares using for AGN RM analysis, including PyCCF, PyZDCF, JAVELIN, and PyROA. This pipeline also implements outlier rejection using Damped Random Walk Gaussian proces fitting, and detrending through the LinMix algorithm. pyPetal implements a weighting scheme (for all modules) in order to mitigate aliasing in peaks of time lag distributions between light curves.

pyPetal is very flexible, with almost every argument for each module allowing user input. pyPetal is designed to work with any combination of modules being run, allowing it to scale from the simplest to the most complex of projects.

Installation

pyPetal

pyPetal is available on PyPI and can be installed with pip:

    pip install pypetal

Or, if you want to install the latest development version:

    git clone https://github.com/Zstone19/pypetal.git
    cd pypetal
    pip install .

PLIKE is an optional algorithm that is used in pyPetal. There is a script available in the main directory to install and compile PLIKE (assuming that gfortran is installed). To install PLIKE, run the following command:

    sh build_plike.sh

pyPetal offers the option to detrend the input light curves via the LinMix algorithm. This package is not offered in the base version of pyPetal, but can be installed with pip:

    pip install "linmix @ git+https://github.com/jmeyers314/linmix.git"

Or with poetry:

    poetry install --with extra

pyPetal and JAVELIN

The JAVELIN software used in pyPetal runs on Python 2, though the bulk of pyPetal software relies on Python >=3.8. To circumvent this issue, pyPetal has a JAVELIN "module" (pypetal-jav) that can be installed as a separate package and used in conjunction with pyPetal, in a Python 2 environment.

External requirements (not installed by pip or setup.py):

    A Fortran compiler (>F90)

pyPetal-jav is available on PyPI and can be installed with pip:

    pip install --no-deps pypetal-jav
    pip install pypetal-jav

Or, if you want to install the latest development version:

    git clone https://github.com/Zstone19/pypetal-jav.git
    cd pypetal-jav
    pip install .

NOTE: The user may need to install NumPy before installing pyPetal-jav through pip or setup.py. This is because JAVELIN requires NumPy in order to be installed. This can be done with:

    pip install numpy

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

pypetal-0.2.1.tar.gz (60.6 kB view hashes)

Uploaded Source

Built Distribution

pypetal-0.2.1-py3-none-any.whl (69.4 kB view hashes)

Uploaded Python 3

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