The primary goal of exoatlas is to create populations of exoplanets which which we can interact in fairly standardized way. Here we summarize a few different pre-defined Population objects we can create. From all these basic populations, you can make your own to play with by indexing, slicing, or masking as described in Populations.
import exoatlas as ea
import exoatlas.visualizations as vi
import astropy.units as u
ea.version()'1.0.0'Throughout this page weβll use a handy PlanetGallery() gallery visualization to see some basic properties of a particular population. For more on useful plots and plotting tools, see Visualizing.
Predefined Archival DatasetsΒΆ
The atlas contains a few predefined populations, for which data are automatically downloaded from archives and standardized into tables in exoatlasβs preferred format. This downloading and standardizing can take a while, so the results will be stored locally, in a directory you can locate with:
ea.locate_local_data()πΎ `exoatlas` archive data will be stored in:
/Users/zabe0091/exoatlas-data
By default, downloaded data will be stored inside your current working directory. If youβll be using exoatlas from lots of different directories on your computer, and you donβt want to keep downloading fresh copies of the archive into each working directory, you can define one path that should be used for exoatlas data for your entire computer by setting a global EXOATLAS_DATA environment. For example, on a mid-2020s Mac, this looks like editing the shell configuration file ~/.zshrc and adding a line like export EXOATLAS_DATA="/Users/zabe0091/exoatlas-data".
If you ever want to reset the local data, you do so with:
ea.reset_local_data()to remove all local files, including raw downloadsea.reset_standardized_data()to remove standardized files but keep raw downloads
If you have recently updated your local version of exoatlas and run into problems with data acting weird, you may want to consider doing a data reset.
Solar System planetsΒΆ
The eight planets in our own Solar System are useful as a comparison sample. Their properties are built-in with exoatlas, so they donβt need to be downloaded from any archive.
solar = ea.SolarSystem()
solarβ¨ Solar System | 8 elements β¨vi.PlanetGallery().build(solar);
Likewise, we have predefined populations for the Solar System dwarf planets, smaller minor planets, and moons, with data downloaded from JPL Solar System Dynamics.
dwarfs = ea.SolarSystemDwarfPlanets()
dwarfsβ¨ Solar System Dwarf Planets | 5 elements β¨minor = ea.SolarSystemMinorPlanets()
minorβ¨ Solar System Minor Planets | 10183 elements β¨moons = ea.SolarSystemMoons()
moonsβ¨ Solar System Moons | 41 elements β¨ExoplanetsΒΆ
The NASA Exoplanet Archive maintains a list of confirmed transiting exoplanets. These are systems that have been published in the peer-reviewed literature. Most of them have been characterized in sufficient detail that they are unlikely to be false positives. This archive contains planets discovered through a variety of methods. We can access all exoplanets in the archive, regardless of discovery method, with:
exoplanets = ea.Exoplanets()
exoplanetsβ¨ Exoplanets | 6366 elements β¨For many purposes, it will be really handy to have just those exoplanets that transit their stars. To access those:
transiting = ea.TransitingExoplanets()
transitingβ¨ Transiting Exoplanets | 4738 elements β¨vi.PlanetGallery().build([transiting, solar]);
Exoplanet SubsetsΒΆ
Some common subsets have been defined as their own Population objects. To make your own subsets, see Populations for how to filter a sample of planets down according to its properties.
Which planets were discovered by the NASA Kepler mission or not?
kepler = ea.Kepler()
keplerβ¨ Kepler | 3311 elements β¨nonkepler = ea.NonKepler()
nonkeplerβ¨ Non-Kepler | 1427 elements β¨vi.PlanetGallery().build([kepler, nonkepler, solar]);
Which planets were discovered by the NASA TESS mission or not?
tess = ea.TESS()
tessβ¨ TESS | 934 elements β¨nontess = ea.NonTESS()
nontessβ¨ NonTESS | 3804 elements β¨vi.PlanetGallery().build([nontess, tess, solar]);
Which planets were discovered from telescopes in space or telescopes on the ground?
space = ea.Space()
spaceβ¨ Space-based | 4281 elements β¨ground = ea.Ground()
groundβ¨ Ground-based | 457 elements β¨vi.PlanetGallery().build([space, ground, solar]);
Which planets have masses that have been detected at better than ?
good = ea.GoodMass(sigma=5)
goodβ¨ Good Mass | 1009 elements β¨bad = ea.BadMass(sigma=5)
badβ¨ Bad Mass | 3729 elements β¨vi.PlanetGallery().build([bad, good]);
CollectionsΒΆ
Because often we want to compare a few different population subsets, we include a few wrappers to generate dictionaries of populations grouped by discovery method, stellar spectral type, transiting or not, and/or type of Solar System object.
methods = ea.get_exoplanets_by_method()
methods{'Astrometry': β¨ Astrometry | 6 elements β¨,
'Disk Kinematics': β¨ Disk Kinematics | 1 elements β¨,
'Eclipse Timing Variations': β¨ Eclipse Timing Variations | 17 elements β¨,
'Imaging': β¨ Imaging | 97 elements β¨,
'Microlensing': β¨ Microlensing | 289 elements β¨,
'Orbital Brightness Modulation': β¨ Orbital Brightness Modulation | 9 elements β¨,
'Pulsar Timing': β¨ Pulsar Timing | 8 elements β¨,
'Pulsation Timing Variations': β¨ Pulsation Timing Variations | 2 elements β¨,
'Radial Velocity': β¨ Radial Velocity | 1200 elements β¨,
'Transit': β¨ Transit | 4708 elements β¨,
'Transit Timing Variations': β¨ Transit Timing Variations | 29 elements β¨,
'Solar System': β¨ Solar System | 8 elements β¨}teffs = ea.get_exoplanets_by_teff()
teffs{'O': β¨ O | 2 elements β¨,
'B': β¨ B | 11 elements β¨,
'A': β¨ A | 31 elements β¨,
'F': β¨ F | 1204 elements β¨,
'G': β¨ G | 2230 elements β¨,
'K': β¨ K | 1703 elements β¨,
'M': β¨ M | 566 elements β¨,
'L': β¨ L | 1 elements β¨,
'T': β¨ T | 2 elements β¨,
'Y': β¨ Y | 1 elements β¨}transit_or_not = ea.get_transiting_and_nontransiting_exoplanets()
transit_or_not{'nontransit': β¨ Non-transiting Exoplanets | 1628 elements β¨,
'transit': β¨ Transiting Exoplanets | 4738 elements β¨}solar = ea.get_solar_system_objects()
solar{'major': β¨ Solar System | 8 elements β¨,
'dwarf': β¨ Solar System Dwarf Planets | 5 elements β¨,
'moons': β¨ Solar System Moons | 41 elements β¨,
'minor': β¨ Solar System Minor Planets | 10183 elements β¨}all = ea.get_all_planets()
all{'nontransit': β¨ Non-transiting Exoplanets | 1628 elements β¨,
'transit': β¨ Transiting Exoplanets | 4738 elements β¨,
'major': β¨ Solar System | 8 elements β¨,
'dwarf': β¨ Solar System Dwarf Planets | 5 elements β¨,
'moons': β¨ Solar System Moons | 41 elements β¨,
'minor': β¨ Solar System Minor Planets | 10183 elements β¨}All of these populations assume the values quoted in the archive are correct. If you need to update values, or choose values from different references, please see Curating. If youβre confident your population is good enough for your needs, you can skip along ahead!