Skip to content
Snippets Groups Projects
Forked from Gregory Ashton / PyFstat
343 commits behind the upstream repository.

PyFstat

This is a python package providing an interface to perform F-statistic based continuous gravitational wave (CW) searches. At its core, this is a simple wrapper of selected tools in 'lalpulsar'. The general idea is to allow easy scripting of new search pipelines, we focus primarily on interfacing the CW routines with emcee a python MCMC sampler.

Examples

We include a variety of example search scripts here, for each example there is also a more descriptive write-up containing examples of the output which we list below. Before running any of the search examples, be sure to have run the script to generate fake data.

Installation

python installation

The scripts are written in python 2.7+ and therefore require a working python installation. While many systems come with a system wide python installation, it can often be easier to manage a user-specific python installation. This way one does not require root access to install or remove modules. One method to do this, is to use the conda system, either through the stripped down miniconda installation, or the full-featured anaconda (these are essentially the same, but the anaconda version installs a variety of useful packages such as numpy and scipy by default). Instructions to install miniconda/anaconda are provided in the links.

Dependencies

pyfstat makes uses the following external python modules:

For an introduction to installing modules see here. If you are using pip, to install all of these modules, run

$ pip install -r /PATH/TO/THIS/DIRECTORY/requirements.txt

If you have installed python from conda then pip itself can be installed via conda install pip.

In addition to these modules, you also need a working swig-enabled lalapps with at least lalpulsar. A minimal confuration line to use when installing lalapps is

$ ./configure --prefix=${HOME}/lalsuite-install --disable-all-lal --enable-lalpulsar --enable-lalapps --enable-swig

pyfstat installation

The script can be installed system wide, assuming you are in this directory, via

$ python setup.py install

or simply add this directory to your python path. To check that the installation was successful, run

$ python -c 'import pyfstat'

if no error message is output, then you have installed pyfstat. Note that the module will be installed to whichever python executable you call it from.

Ephemeris installation

The scripts require a path to ephemeris files in order to use the lalpulsar.ComputeFstat module. This can either be specified when initialising each search (as one of the arguments), or simply by placing a file ~/.pyfstat.conf into your home directory which looks like

earth_ephem = '/home/<USER>/lalsuite-install/share/lalpulsar/earth00-19-DE421.dat.gz'
sun_ephem = '/home/<USER>/lalsuite-install/share/lalpulsar/sun00-19-DE421.dat.gz'

here, we use the default ephemeris files provided with lalsuite.