Skip to content

skyportal/gwemopt

Repository files navigation

gwemopt

Gravitational-wave Electromagnetic Optimization

Coverage Status CI PyPI version

Citing gwemopt

When utilizing this code for a publication, kindly make a reference to the package by its name, gwemopt, and a citation to the software papers Optimizing searches for electromagnetic counterparts of gravitational wave triggers and Teamwork Makes the Dream Work: Optimizing Multi-Telescope Observations of Gravitational-Wave Counterparts. The BibTeX entry for the papers are:

@article{Coughlin:2018lta,
    author = "Coughlin, Michael W. and others",
    title = "{Optimizing searches for electromagnetic counterparts of gravitational wave triggers}",
    eprint = "1803.02255",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.IM",
    doi = "10.1093/mnras/sty1066",
    journal = "Mon. Not. Roy. Astron. Soc.",
    volume = "478",
    number = "1",
    pages = "692--702",
    year = "2018"
}

and

@article{Coughlin:2019qkn,
    author = "Coughlin, Michael W. and others",
    title = "{Optimizing multitelescope observations of gravitational-wave counterparts}",
    eprint = "1909.01244",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.IM",
    doi = "10.1093/mnras/stz2485",
    journal = "Mon. Not. Roy. Astron. Soc.",
    volume = "489",
    number = "4",
    pages = "5775--5783",
    year = "2019"
}

and for the ability to balance field exposures Dynamic scheduling: target of opportunity observations of gravitational wave events.

@article{Almualla:2020hbs,
    author = "Almualla, Mouza and Coughlin, Michael W. and Anand, Shreya and Alqassimi, Khalid and Guessoum, Nidhal and Singer, Leo P.",
    title = "{Dynamic Scheduling: Target of Opportunity Observations of Gravitational Wave Events}",
    eprint = "2003.09718",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.HE",
    doi = "10.1093/mnras/staa1498",
    month = "3",
    year = "2020"
}

Setting up the environment

If you want the latest version, we recommend creating a clean environment:

conda create -n gwemopt python=3.11
git clone [email protected]:skyportal/gwemopt.git
cd gwemopt
pip install -e .
pre-commit install

or if you just want the latest version released on PyPI:

pip install gwemopt

If you run into dependency issues, you can try installing dependencies via conda:

conda install numpy scipy matplotlib astropy h5py shapely
conda install -c astropy astroquery
conda install -c conda-forge voeventlib astropy-healpix python-ligo-lw ligo-segments ligo.skymap ffmpeg

And then run pip install -e . again.

Usage

Once installed, You can use gwemopt via the command line:

gwemopt-run ....

where ... corresponds to the various arguments.

Tests

To run the tests, you'll first need to install gwemopt with the testing dependencies:

pip install -e ".[test]"

Then you can run the tests using:

coverage run -m pytest -v -s