Creating¶
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()
'0.6.6'
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.
PredefinedPopulation
= commonly useful 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/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas
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.
SolarSystem
= major 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
Saved a standardized text table to /Users/zabe0091/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas/data/standardized-SolarSystem.txt
✨ Solar System | 8 elements ✨
vi.PlanetGallery().build(solar);
Likewise, we have the dwarf planets, smaller minor planets, and moons:
dwarfs = ea.SolarSystemDwarfPlanets()
dwarfs
Saved a standardized text table to /Users/zabe0091/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas/data/standardized-SolarSystemDwarfPlanets.txt
✨ Solar System Dwarf Planets | 5 elements ✨
minor = ea.SolarSystemMinorPlanets()
minor
Attempting to freshly download data from https://ssd-api.jpl.nasa.gov/sbdb_query.api This may take a long time, and we're dreadully sorry that we haven't coded in a clever way to tell you how long. Archive tables might be up to a few 100MB, so however long it takes your computer to download that is probably a reasonable-ish amount of time to wait before getting stressed out.
Download successful. Processing into a table.
Download successful! Saved file to /Users/zabe0091/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas/data/jpl-ssd-sbdb-10.0 kmkm.hdf5 Saved a standardized text table to /Users/zabe0091/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas/data/standardized-SolarSystemMinorPlanets.txt
/Users/zabe0091/miniconda3/envs/exoatlas/lib/python3.13/site-packages/astropy/io/misc/hdf5.py:282: UserWarning: table path was not set via the path= argument; using default path __astropy_table__ warnings.warn(
✨ Solar System Minor Planets | 10183 elements ✨
moons = ea.SolarSystemMoons()
moons
Saved a standardized text table to /Users/zabe0091/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas/data/standardized-SolarSystemMoons.txt
✨ Solar System Moons | 41 elements ✨
Exoplanets
= confirmed, published, 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
Attempting to freshly download data from https://exoplanetarchive.ipac.caltech.edu/TAP/sync?query=select+*+from+pscomppars+&format=csv This may take a long time, and we're dreadully sorry that we haven't coded in a clever way to tell you how long. Archive tables might be up to a few 100MB, so however long it takes your computer to download that is probably a reasonable-ish amount of time to wait before getting stressed out.
Download successful! Saved file to /Users/zabe0091/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas/data/nasa-exoplanet-archive-from+pscomppars.txt
📕 populated pl_name > name 📕 populated hostname > hostname 📕 populated pl_letter > letter 📕 populated gaia_id > gaia_id 📕 populated sy_snum > number_of_stars 📕 populated sy_pnum > number_of_planets 📕 populated discoverymethod > discovery_method 📕 populated disc_year > discovery_year 📕 populated disc_refname > discovery_publication 📕 populated disc_facility > discovery_facility 📕 populated ra > ra 📕 populated dec > dec 📕 populated sy_pmra > pmra 📕 populated sy_pmdec > pmdec 👇 populated st_radv > systemic_rv and errors and limits ⚠️ ingested reference information for st_radv > systemic_rv 📏 populated distance and errors with sy_dist ⚠️ ingested reference information for sy_dist > distance 📕 populated rv_flag > detected_in_rv 📕 populated pul_flag > detected_in_pulsar 📕 populated ptv_flag > detected_in_pulsation_timing 📕 populated tran_flag > detected_in_transit 📕 populated ast_flag > detected_in_astrometry 📕 populated obm_flag > detected_in_orbital_brightness_modulations 📕 populated micro_flag > detected_in_microlensing 📕 populated etv_flag > detected_in_eclipse_timing_variations 📕 populated ima_flag > detected_in_imaging 📕 populated dkin_flag > detected_in_disk_kinematics 📕 populated pl_controv_flag > is_controversial 📕 populated ttv_flag > shows_ttv 📕 populated st_spectype > stellar_spectral_type 👇 populated st_teff > stellar_teff and errors and limits ⚠️ ingested reference information for st_teff > stellar_teff 👇 populated st_rad > stellar_radius and errors and limits ⚠️ ingested reference information for st_rad > stellar_radius 👇 populated st_mass > stellar_mass and errors and limits ⚠️ ingested reference information for st_mass > stellar_mass 👇 populated st_age > stellar_age and errors and limits
⚠️ ingested reference information for st_age > stellar_age 👇 populated st_met > stellar_metallicity and errors and limits ⚠️ ingested reference information for st_met > stellar_metallicity 👇 populated st_lum > stellar_luminosity and errors and limits ⚠️ ingested reference information for st_lum > stellar_luminosity 👇 populated st_logg > stellar_logg and errors and limits ⚠️ ingested reference information for st_logg > stellar_logg 👇 populated st_dens > stellar_density and errors and limits ⚠️ ingested reference information for st_dens > stellar_density 👇 populated st_vsin > stellar_vsini and errors and limits ⚠️ ingested reference information for st_vsin > stellar_vsini 👇 populated st_rotp > stellar_rotation_period and errors and limits ⚠️ ingested reference information for st_rotp > stellar_rotation_period 📏 populated magnitude_u and errors with sy_umag ⚠️ ingested reference information for sy_umag > magnitude_u 📏 populated magnitude_g and errors with sy_gmag ⚠️ ingested reference information for sy_gmag > magnitude_g 📏 populated magnitude_r and errors with sy_rmag ⚠️ ingested reference information for sy_rmag > magnitude_r 📏 populated magnitude_i and errors with sy_imag ⚠️ ingested reference information for sy_imag > magnitude_i 📏 populated magnitude_z and errors with sy_zmag ⚠️ ingested reference information for sy_zmag > magnitude_z 📏 populated magnitude_V and errors with sy_vmag ⚠️ ingested reference information for sy_vmag > magnitude_V 📏 populated magnitude_B and errors with sy_bmag ⚠️ ingested reference information for sy_bmag > magnitude_B 📏 populated magnitude_IC and errors with sy_icmag ⚠️ ingested reference information for sy_icmag > magnitude_IC 📏 populated magnitude_J and errors with sy_jmag
⚠️ ingested reference information for sy_jmag > magnitude_J 📏 populated magnitude_H and errors with sy_hmag ⚠️ ingested reference information for sy_hmag > magnitude_H 📏 populated magnitude_K and errors with sy_kmag ⚠️ ingested reference information for sy_kmag > magnitude_K 📏 populated magnitude_W1 and errors with sy_w1mag ⚠️ ingested reference information for sy_w1mag > magnitude_W1 📏 populated magnitude_W2 and errors with sy_w2mag ⚠️ ingested reference information for sy_w2mag > magnitude_W2 📏 populated magnitude_W3 and errors with sy_w3mag ⚠️ ingested reference information for sy_w3mag > magnitude_W3 📏 populated magnitude_W4 and errors with sy_w4mag ⚠️ ingested reference information for sy_w4mag > magnitude_W4 📏 populated magnitude_gaia and errors with sy_gaiamag ⚠️ ingested reference information for sy_gaiamag > magnitude_gaia 📏 populated magnitude_T and errors with sy_tmag ⚠️ ingested reference information for sy_tmag > magnitude_T 📏 populated magnitude_kep and errors with sy_kepmag ⚠️ ingested reference information for sy_kepmag > magnitude_kep 👇 populated pl_orbper > period and errors and limits ⚠️ ingested reference information for pl_orbper > period 👇 populated pl_orbsmax > semimajoraxis and errors and limits ⚠️ ingested reference information for pl_orbsmax > semimajoraxis 👇 populated pl_orbeccen > eccentricity and errors and limits ⚠️ ingested reference information for pl_orbeccen > eccentricity 👇 populated pl_orblper > argument_of_periastron and errors and limits ⚠️ ingested reference information for pl_orblper > argument_of_periastron 👇 populated pl_orbincl > inclination and errors and limits ⚠️ ingested reference information for pl_orbincl > inclination 👇 populated pl_rade > radius and errors and limits
⚠️ ingested reference information for pl_rade > radius 👇 populated pl_bmasse > mass and errors and limits ⚠️ ingested reference information for pl_bmasse > mass 👇 populated pl_dens > density and errors and limits ⚠️ ingested reference information for pl_dens > density 📕 populated pl_ntranspec > number_of_transmission_measurements 📕 populated pl_nespec > number_of_emission_measurements 👇 populated pl_tranmid > transit_midpoint and errors and limits ⚠️ ingested reference information for pl_tranmid > transit_midpoint 👇 populated pl_trandur > transit_duration and errors and limits ⚠️ ingested reference information for pl_trandur > transit_duration 👇 populated pl_ratror > transit_scaled_radius and errors and limits ⚠️ ingested reference information for pl_ratror > transit_scaled_radius 👇 populated pl_trandep > transit_depth and errors and limits ⚠️ ingested reference information for pl_trandep > transit_depth 👇 populated pl_ratdor > transit_scaled_semimajoraxis and errors and limits ⚠️ ingested reference information for pl_ratdor > transit_scaled_semimajoraxis 👇 populated pl_imppar > transit_impact_parameter and errors and limits ⚠️ ingested reference information for pl_imppar > transit_impact_parameter
👇 populated pl_rvamp > rv_semiamplitude and errors and limits ⚠️ ingested reference information for pl_rvamp > rv_semiamplitude 👇 populated pl_msinie > msini and errors and limits ⚠️ ingested reference information for pl_msinie > msini 👇 populated pl_projobliq > projected_obliquity and errors and limits ⚠️ ingested reference information for pl_projobliq > projected_obliquity 👇 populated pl_trueobliq > obliquity and errors and limits ⚠️ ingested reference information for pl_trueobliq > obliquity ✂️ trimming weird data
/Users/zabe0091/Dropbox/zach/code/exoatlas/exoatlas/populations/exoplanets/exoplanets.py:246: UserWarning: ⚠️ No default_flag found! warnings.warn(f"⚠️ No {k_original} found!")
🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for argument_of_periastron 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for argument_of_periastron 🚨😳🔔‼️🚨😳🔔‼️ argument_of_periastron: 1887 values and 1661 with uncertainties ( 88.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for density 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for density 🚨😳🔔‼️🚨😳🔔‼️ density: 5743 values and 1278 with uncertainties ( 22.3%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for distance 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for distance 🚨😳🔔‼️🚨😳🔔‼️ distance: 5895 values and 5789 with uncertainties ( 98.2%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for eccentricity 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for eccentricity 🚨😳🔔‼️🚨😳🔔‼️ eccentricity: 4800 values and 1760 with uncertainties ( 36.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for inclination 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for inclination 🚨😳🔔‼️🚨😳🔔‼️ inclination: 4422 values and 1879 with uncertainties ( 42.5%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_B 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_B 🚨😳🔔‼️🚨😳🔔‼️ magnitude_B: 5541 values and 5494 with uncertainties ( 99.2%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_H 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_H 🚨😳🔔‼️🚨😳🔔‼️ magnitude_H: 5661 values and 5639 with uncertainties ( 99.6%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_IC 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_IC 🚨😳🔔‼️🚨😳🔔‼️ magnitude_IC: 343 values and 18 with uncertainties ( 5.2%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_J 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_J 🚨😳🔔‼️🚨😳🔔‼️ magnitude_J: 5646 values and 5627 with uncertainties ( 99.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_K 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_K 🚨😳🔔‼️🚨😳🔔‼️ magnitude_K: 5667 values and 5618 with uncertainties ( 99.1%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_T 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_T 🚨😳🔔‼️🚨😳🔔‼️ magnitude_T: 5660 values and 5651 with uncertainties ( 99.8%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_V 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_V 🚨😳🔔‼️🚨😳🔔‼️ magnitude_V: 5659 values and 5645 with uncertainties ( 99.8%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W1 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W1 🚨😳🔔‼️🚨😳🔔‼️ magnitude_W1: 5372 values and 5042 with uncertainties ( 93.9%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W2 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W2 🚨😳🔔‼️🚨😳🔔‼️ magnitude_W2: 5373 values and 5052 with uncertainties ( 94.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W3 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W3 🚨😳🔔‼️🚨😳🔔‼️ magnitude_W3: 5372 values and 4076 with uncertainties ( 75.9%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W4 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_W4 🚨😳🔔‼️🚨😳🔔‼️ magnitude_W4: 5371 values and 1443 with uncertainties ( 26.9%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_g 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_g 🚨😳🔔‼️🚨😳🔔‼️ magnitude_g: 3465 values and 709 with uncertainties ( 20.5%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_gaia 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_gaia 🚨😳🔔‼️🚨😳🔔‼️ magnitude_gaia: 5611 values and 5610 with uncertainties (100.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_i 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_i 🚨😳🔔‼️🚨😳🔔‼️ magnitude_i: 3429 values and 709 with uncertainties ( 20.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_kep 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_kep 🚨😳🔔‼️🚨😳🔔‼️ magnitude_kep: 3455 values and 0 with uncertainties ( 0.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_r 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_r 🚨😳🔔‼️🚨😳🔔‼️ magnitude_r: 3482 values and 709 with uncertainties ( 20.4%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_u 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_u 🚨😳🔔‼️🚨😳🔔‼️ magnitude_u: 718 values and 709 with uncertainties ( 98.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_z 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for magnitude_z 🚨😳🔔‼️🚨😳🔔‼️ magnitude_z: 3216 values and 709 with uncertainties ( 22.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for mass 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for mass 🚨😳🔔‼️🚨😳🔔‼️ mass: 5690 values and 2782 with uncertainties ( 48.9%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for msini 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for msini 🚨😳🔔‼️🚨😳🔔‼️ msini: 1252 values and 1214 with uncertainties ( 97.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for obliquity 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for obliquity 🚨😳🔔‼️🚨😳🔔‼️ obliquity: 49 values and 49 with uncertainties (100.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for period 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for period 🚨😳🔔‼️🚨😳🔔‼️ period: 5617 values and 5126 with uncertainties ( 91.3%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for projected_obliquity 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for projected_obliquity 🚨😳🔔‼️🚨😳🔔‼️ projected_obliquity: 213 values and 212 with uncertainties ( 99.5%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for radius 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for radius 🚨😳🔔‼️🚨😳🔔‼️ radius: 5895 values and 4076 with uncertainties ( 69.1%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for rv_semiamplitude 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for rv_semiamplitude 🚨😳🔔‼️🚨😳🔔‼️ rv_semiamplitude: 2246 values and 2238 with uncertainties ( 99.6%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for semimajoraxis 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for semimajoraxis 🚨😳🔔‼️🚨😳🔔‼️ semimajoraxis: 5630 values and 3686 with uncertainties ( 65.5%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_age 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_age 🚨😳🔔‼️🚨😳🔔‼️ stellar_age: 4544 values and 4394 with uncertainties ( 96.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_density 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_density 🚨😳🔔‼️🚨😳🔔‼️ stellar_density: 5373 values and 5244 with uncertainties ( 97.6%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_logg 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_logg 🚨😳🔔‼️🚨😳🔔‼️ stellar_logg: 5627 values and 5448 with uncertainties ( 96.8%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_luminosity 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_luminosity 🚨😳🔔‼️🚨😳🔔‼️ stellar_luminosity: 5921 values and 3477 with uncertainties ( 58.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_mass 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_mass 🚨😳🔔‼️🚨😳🔔‼️ stellar_mass: 5914 values and 5639 with uncertainties ( 95.4%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_metallicity 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_metallicity 🚨😳🔔‼️🚨😳🔔‼️ stellar_metallicity: 5401 values and 5102 with uncertainties ( 94.5%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_radius 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_radius 🚨😳🔔‼️🚨😳🔔‼️ stellar_radius: 5638 values and 5475 with uncertainties ( 97.1%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_rotation_period 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_rotation_period 🚨😳🔔‼️🚨😳🔔‼️ stellar_rotation_period: 753 values and 625 with uncertainties ( 83.0%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_teff 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_teff 🚨😳🔔‼️🚨😳🔔‼️ stellar_teff: 5659 values and 5455 with uncertainties ( 96.4%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_vsini 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for stellar_vsini 🚨😳🔔‼️🚨😳🔔‼️ stellar_vsini: 1841 values and 1430 with uncertainties ( 77.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for systemic_rv 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for systemic_rv 🚨😳🔔‼️🚨😳🔔‼️ systemic_rv: 2309 values and 2206 with uncertainties ( 95.5%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_depth 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_depth 🚨😳🔔‼️🚨😳🔔‼️ transit_depth: 4235 values and 4123 with uncertainties ( 97.4%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_duration 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_duration 🚨😳🔔‼️🚨😳🔔‼️ transit_duration: 4336 values and 4234 with uncertainties ( 97.6%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_impact_parameter 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_impact_parameter 🚨😳🔔‼️🚨😳🔔‼️ transit_impact_parameter: 4231 values and 4178 with uncertainties ( 98.7%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_midpoint 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_midpoint 🚨😳🔔‼️🚨😳🔔‼️ transit_midpoint: 4698 values and 4643 with uncertainties ( 98.8%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_scaled_radius 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_scaled_radius 🚨😳🔔‼️🚨😳🔔‼️ transit_scaled_radius: 4301 values and 4255 with uncertainties ( 98.9%) 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_scaled_semimajoraxis 🚨😳🔔‼️🚨😳🔔‼️ 🚨😳🔔‼️ some values with zero-uncertainty might have snuck through for transit_scaled_semimajoraxis 🚨😳🔔‼️🚨😳🔔‼️ transit_scaled_semimajoraxis: 4243 values and 4221 with uncertainties ( 99.5%) values without reasonable uncertainties have been trimmed
Saved a standardized text table to /Users/zabe0091/Dropbox/zach/code/exoatlas/docs/user/downloads-for-exoatlas/data/standardized-Exoplanets.txt
✨ Exoplanets | 5921 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 | 4424 elements ✨
vi.PlanetGallery().build([transiting, solar]);
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 | 3307 elements ✨
nonkepler = ea.NonKepler()
nonkepler
✨ Non-Kepler | 1117 elements ✨
vi.PlanetGallery().build([kepler, nonkepler, solar]);
Which planets were discovered by the NASA TESS mission or not?
tess = ea.TESS()
tess
✨ TESS | 633 elements ✨
nontess = ea.NonTESS()
nontess
✨ NonTESS | 3791 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 | 3976 elements ✨
ground = ea.Ground()
ground
✨ Ground-based | 448 elements ✨
vi.PlanetGallery().build([space, ground, solar]);
Good vs Bad Mass?¶
Which planets have masses that have been detected at better than $5\sigma$?
good = ea.GoodMass(sigma=5)
good
✨ Good Mass | 879 elements ✨
bad = ea.BadMass(sigma=5)
bad
✨ Bad Mass | 3548 elements ✨
vi.PlanetGallery().build([bad, good]);
Collections¶
Because we often might want to load up a bunch of population subsets at once, we provide built-in functions that create dictionaries of planets grouped by particular properties. For example, let's see exoplanets grouped by their original discovery method:
methods = ea.get_exoplanets_by_method()
methods
{np.str_('Astrometry'): ✨ Astrometry | 5 elements ✨, np.str_('Disk Kinematics'): ✨ Disk Kinematics | 1 elements ✨, np.str_('Eclipse Timing Variations'): ✨ Eclipse Timing Variations | 17 elements ✨, np.str_('Imaging'): ✨ Imaging | 83 elements ✨, np.str_('Microlensing'): ✨ Microlensing | 247 elements ✨, np.str_('Orbital Brightness Modulation'): ✨ Orbital Brightness Modulation | 9 elements ✨, np.str_('Pulsar Timing'): ✨ Pulsar Timing | 8 elements ✨, np.str_('Pulsation Timing Variations'): ✨ Pulsation Timing Variations | 2 elements ✨, np.str_('Radial Velocity'): ✨ Radial Velocity | 1126 elements ✨, np.str_('Transit'): ✨ Transit | 4387 elements ✨, np.str_('Transit Timing Variations'): ✨ Transit Timing Variations | 36 elements ✨, 'Solar System': ✨ Solar System | 8 elements ✨}
vi.PlanetGallery().build(methods);
teffs = ea.get_exoplanets_by_teff()
teffs
{'O': ✨ O | 2 elements ✨, 'B': ✨ B | 12 elements ✨, 'A': ✨ A | 28 elements ✨, 'F': ✨ F | 1130 elements ✨, 'G': ✨ G | 2141 elements ✨, 'K': ✨ K | 1640 elements ✨, 'M': ✨ M | 499 elements ✨, 'T': ✨ T | 2 elements ✨, 'Y': ✨ Y | 1 elements ✨}
vi.PlanetGallery().build(teffs);
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!