Installation#

This guide explains how to install the required components to run EarthOrbitPlan. The pipeline is built around the M⁴OPT toolkit and also makes use of observing-scenarios to generate realistic gravitational wave follow-up situations. It is recommended to use a virtual environment (e.g. via conda or venv) to avoid conflicts between dependencies.

Note

EarthOrbitPlan is designed for educational use and builds directly on \(\mathrm{M^4OPT}\). It provides a guided way to run simulations based on skymaps from GW detectors and schedule follow-up facilities with such as UVEX, ULTRASAT, ZTF, and Rubin.

Requirements

You will need the following:

\(\mathrm{M^4OPT}\)

Observing Scenarios

Python >= 3.11

Environment setup
conda create -n earthorbitplan_env python=3.11
conda activate earthorbitplan_env
python3.11 -m venv earthorbitplan-env
source earthorbitplan-env/bin/activate
pip install --upgrade pip
Install EarthOrbitPlan

Recommended

The recommended way to install EarthOrbitPlan is using pip:

$  pip install earthorbitplan

Development install

To install EarthOrbitPlan in development mode, run:

git clone https://github.com/weizmannk/EarthOrbitPlan.git
cd EarthOrbitPlan/
pip install -e .
cd ..

Unreleased version

If you want to use the latest version of EarthOrbitPlan, you can install the current main branch directly from GitHub:

$ pip install git+https://github.com/weizmannk/EarthOrbitPlan.git@main
Install CPLEX

CPLEX is required for optimization. See the official instructions:

CPLEX Install Guide

Check your installation
m4opt --help
m4opt schedule --help

Important

For most EarthOrbitPlan use cases, installing \(\mathrm{M^4OPT}\) and its dependencies is sufficient. If you wish to simulate additional GW-only scenarios, consider installing the observing-scenarios package as below.

Optional: Observing Scenarios
curl -sSL https://install.python-poetry.org | python3 -
git clone https://github.com/lpsinger/observing-scenarios-simulations.git
cd observing-scenarios-simulations
poetry install
poetry shell

See also

The observing-scenarios package is optional, but useful for testing standalone GW follow-up strategies without electromagnetic scheduling. It provides realistic skymaps and scenarios commonly used in follow-up campaigns.