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.
- Making fake data with and without glitches
- Fully-coherent MCMC search
- Fully-coherent MCMC search on data containing a single glitch
- Semi-coherent MCMC glitch-search on data containing a single glitch
- Semi-coherent MCMC glitch-search on data containing two glitches
- Semi-coherent Follow-Up MCMC search (dynamically changing the coherence time)
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.
pyfstat
installation
The script can be installed system wide 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, or more 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
.
Dependencies
The installation above will complete succesfully without the following
dependencies, but you will subsequently find various ImportError
messages
when running pyfstat
scripts if you haven't installed the following modules.
- swig-enabled
lalapps
with at leastlalpulsar
. A minimal confuration line to use when installinglalapps
is
$ ./configure --prefix=${HOME}/lalsuite-install --disable-all-lal --enable-lalpulsar --enable-lalapps --enable-swig
-
If using the MCMC tools, you will need to install the following python modules
- numpy
- scipy
- emcee
- corner
- dill
- tqdm(optional), if installed, this provides a useful progress bar and estimate of the remaining run-time.
To install all of these modules, run
$ pip install -r /PATH/TO/THIS/DIRECTORY/requirements.txt
where pip
is the python package installer, if you have installed python
from conda then it can be installed via conda install pip
.