User Guide¶
This is the user guide on the transitplanner code, mean to explain what each part of the code does to any individual who whishes to use it
Overview¶
This tool computes predicted transit times for known exoplanets, given their orbital parameters and an observing time window, using your location and telescope parameters which you input. It is intended for planning photometric observations, helping you identify which targets are observable from the given site and when their transits occur.
This guide explains each step of the workflow in more detail than the Quick Start, including input parameters, output interpretation, and recommended observing practices.
Input Parameters¶
TransitPlanner requires several pieces of information to be provided by the user in order compute observable targets. These are entered interactively in the CLI, but their meaning is explained here.
- Longitude / Latitude
Geographic coordinates of the observatory in degrees. Positive longitude is east of Greenwich.
- Telescope aperture
Diameter of the telescope in inches. Used to estimate achievable SNR.
- Declination limits
Minimum and maximum declination the telescope can access.
- Minimum SNR
The lowest acceptable signal-to-noise ratio for a transit to be considered observable.
- Start date
Beginning of the observing window, in
dd/mm/yyformat.- Observation span
Number of days after the start date to search for transits.
- Minimum altitude
Minimum altitude (in degrees) the target must reach during transit.
Running the CLI¶
TransitPlanner includes an interactive command-line interface. To launch it, run:
python -m transitplanner.cli
The program will check NASA and exoclock databases and then prompt you for observatory information such as longitude, latitude, telescope aperture, and observation constraints.
After this, the CLI will prompt you for observatory and instrument parameters. Each prompt includes validation to ensure values are within reasonable ranges.
How Targets Are Selected¶
TransitPlanner evaluates each known exoplanet using the following criteria:
Transit occurs within the specified date range.
Target is above the minimum altitude at some point during transit.
Declination is within the user-defined limits.
Estimated SNR exceeds the minimum threshold.
Transit depth and duration are sufficient for detection with the given telescope aperture.
The result is a numbered list of all planets meeting these constraints.
Selecting a Target¶
Once the list of observable planets is displayed, select a target by entering its number, not its name.
For example: Enter planet number: 31
Interpreting the Output¶
After selecting a target, TransitPlanner provides several key quantities:
- Observation Time
Total time the target remains above the minimum altitude during transit.
- Predicted Duration
Expected duration of the transit in hours.
- Predicted Depth
Estimated transit depth in magnitudes.
- Estimated Error
Expected photometric uncertainty based on telescope aperture and target brightness.
A model light curve is also generated to illustrate the expected signal shape.
How TransitPlanner Builds the Observable Planet List¶
The CLI brings together several internal modules, each responsible for a different stage of the workflow. When the user enters their observing parameters, the following sequence occurs:
Visibility calculation Module:
core.visibility.find_observable_exoplanetsThis function computes which exoplanets have transits occurring within the user’s date range and are above the minimum altitude at the specified longitude and latitude. The output is a preliminary list of geometrically visible planets.Catalogue loading Modules: -
io.nasa.load_nasa_data-io.exoclock.load_exoclock_dataThese functions load ephemeris and photometric data from NASA Exoplanet Archive and ExoClock. This includes period, T0, transit depth, magnitude, and duration.
Data enrichment Module:
observability.enrich.enrich_planetsThe visibility list is merged with catalogue data so each planet now has complete information needed for SNR and observability calculations.Signal-to-noise estimation Module:
observability.snr.snr_formulaFor each planet, the expected SNR is computed using telescope aperture, transit depth, magnitude, and transit duration.Observability filtering Module:
observability.filters.apply_filtersDeclination limits and SNR thresholds are applied. Each planet is labelled as Observable or Not Observable.Summary table generation Module:
observability.summary.check_observability_tableA full table of all planets (including filtered-out ones) is exported as CSV and Excel files.Light curve simulation Modules: -
lightcurve.simulator.generate_lightcurve-lightcurve.plotting.plot_lightcurveAfter the user selects a planet from the observable list, a model transit light curve is generated and plotted. The CLI prints predicted duration, depth, and estimated photometric error.
Additional Notes¶
When selecting a planet, enter the number, not the name.
Dates must be entered in
dd/mm/yyformat.Some transits may be excluded if ephemeris uncertainty is high.