astroplan Package#

astroplan is an open source (BSD licensed) observation planning package for astronomers that can help you plan for everything but the clouds.

It is an in-development Astropy affiliated package that seeks to make your life as an observational astronomer a little less infuriating.



Download and cache the IERS Bulletin A table.

is_always_observable(constraints, observer, ...)

A function to determine whether targets are always observable throughout time_range given constraints in the constraints_list for a particular observer.

is_event_observable(constraints, observer, ...)

Determines if the target is observable at each time in times, given constraints in constraints for a particular observer.

is_observable(constraints, observer, targets)

Determines if the targets are observable during time_range given constraints in constraints_list for a particular observer.

max_best_rescale(vals, min_val, max_val[, ...])

rescales an input array vals to be a score (between zero and one), where the max_val goes to one, and the min_val goes to zero.

min_best_rescale(vals, min_val, max_val[, ...])

rescales an input array vals to be a score (between zero and one), where the min_val goes to one, and the max_val goes to zero.

months_observable(constraints, observer, targets)

Determines which month the specified targets are observable for a specific observer, given the supplied constraints.

moon_illumination(time[, ephemeris])

Calculate fraction of the moon illuminated.

moon_phase_angle(time[, ephemeris])

Calculate lunar orbital phase in radians.

observability_table(constraints, observer, ...)

Creates a table with information about observability for all the targets over the requested time_range, given the constraints in constraints_list for observer.

stride_array(arr, window_width)

Computes all possible sequential subarrays of arr with length = window_width

time_grid_from_range(time_range[, ...])

Get linearly-spaced sequence of times.


AirmassConstraint([max, min, boolean_constraint])

Constrain the airmass of a target.

AltitudeConstraint([min, max, ...])

Constrain the altitude of the target.


Superclass for warnings used by astroplan

AtNightConstraint([max_solar_altitude, ...])

Constrain the Sun to be below horizon.


Abstract class for objects defining observational constraints.

EclipsingSystem(primary_eclipse_time, ...[, ...])

Define parameters for an eclipsing system; useful for an eclipsing binary or transiting exoplanet.

FixedTarget(coord[, name])

Coordinates and metadata for an object that is "fixed" with respect to the celestial sphere.

GalacticLatitudeConstraint([min, max])

Constrain the distance between the Galactic plane and some targets.

LocalTimeConstraint([min, max])

Constrain the observable hours.


Triggered when a constraint is expected but not supplied

MoonIlluminationConstraint([min, max, ephemeris])

Constrain the fractional illumination of the Earth's moon.

MoonSeparationConstraint([min, max, ephemeris])

Constrain the distance between the Earth's moon and some targets.

NonFixedTarget([name, ra, dec, marker])

Placeholder for future function.

Observer([location, timezone, name, ...])

A container class for information about an observer's location and environment.

ObservingBlock(target, duration, priority[, ...])

An observation to be scheduled, consisting of a target and associated constraints on observations.


Using old Earth rotation data from IERS

PeriodicEvent(epoch, period[, duration, name])

A periodic event defined by an epoch and period.

PhaseConstraint(periodic_event[, min, max])

Constrain observations to times in some range of phases for a periodic event (e.g.~transiting exoplanets, eclipsing binaries).


Warning for when something is hidden on a plot because it's below the horizon


Warnings dealing with the plotting aspects of astroplan


Constrain observations to times during primary eclipse.

PriorityScheduler(*args, **kwargs)

A scheduler that optimizes a prioritized list.

Schedule(start_time, end_time[, constraints])

An object that represents a schedule, consisting of a list of Slot objects.

Scheduler(constraints, observer[, ...])

Schedule a set of ObservingBlock objects

Scorer(blocks, observer, schedule[, ...])

Returns scores and score arrays from the evaluation of constraints on observing blocks


Constrain observations to times during secondary eclipse.

SequentialScheduler(*args, **kwargs)

A scheduler that does "stupid simple sequential scheduling".

Slot(start_time, end_time)

A time slot consisting of a start and end time

SunSeparationConstraint([min, max])

Constrain the distance between the Sun and some targets.

Target([name, ra, dec, marker])

Abstract base class for target objects.


Target is circumpolar


Target never rises above horizon

TimeConstraint([min, max])

Constrain the observing time to be within certain time limits.

TransitionBlock(components[, start_time])

Parameterizes the "dead time", e.g. between observations, while the telescope is slewing, instrument is reconfiguring, etc.

Transitioner([slew_rate, ...])

A class that defines how to compute transition times from one block to another.

Class Inheritance Diagram#

Inheritance diagram of astroplan.constraints.AirmassConstraint, astroplan.constraints.AltitudeConstraint, astroplan.exceptions.AstroplanWarning, astroplan.constraints.AtNightConstraint, astroplan.constraints.Constraint, astroplan.periodic.EclipsingSystem,, astroplan.constraints.GalacticLatitudeConstraint, astroplan.constraints.LocalTimeConstraint, astroplan.exceptions.MissingConstraintWarning, astroplan.constraints.MoonIlluminationConstraint, astroplan.constraints.MoonSeparationConstraint,,, astroplan.scheduling.ObservingBlock, astroplan.exceptions.OldEarthOrientationDataWarning, astroplan.periodic.PeriodicEvent, astroplan.constraints.PhaseConstraint, astroplan.exceptions.PlotBelowHorizonWarning, astroplan.exceptions.PlotWarning, astroplan.constraints.PrimaryEclipseConstraint, astroplan.scheduling.PriorityScheduler, astroplan.scheduling.Schedule, astroplan.scheduling.Scheduler, astroplan.scheduling.Scorer, astroplan.constraints.SecondaryEclipseConstraint, astroplan.scheduling.SequentialScheduler, astroplan.scheduling.Slot, astroplan.constraints.SunSeparationConstraint,, astroplan.exceptions.TargetAlwaysUpWarning, astroplan.exceptions.TargetNeverUpWarning, astroplan.constraints.TimeConstraint, astroplan.scheduling.TransitionBlock, astroplan.scheduling.Transitioner

astroplan.plots Package#

astroplan.plots contains functions for making plots of commonly-used quantities in observation planning (e.g., airmass vs. time), using astroplan and Matplotlib.


plot_airmass(targets, observer, time[, ax, ...])

Plots airmass as a function of time for a given target.

plot_altitude(targets, observer, time[, ax, ...])

Plots altitude as a function of time for a given target.

plot_finder_image(target[, survey, ...])

Plot survey image centered on target.

plot_parallactic(target, observer, time[, ...])

Plots parallactic angle as a function of time for a given target.

plot_schedule_airmass(schedule[, show_night])

Plots when observations of targets are scheduled to occur superimposed upon plots of the airmasses of the targets.

plot_sky(target, observer, time[, ax, ...])

Plots target positions in the sky with respect to the observer's location.

plot_sky_24hr(target, observer, time[, ...])

Plots target positions in the sky with respect to the observer's location over a twenty-four hour period centered on time.