Skip to content

jarvisar/senior-design

Repository files navigation


Search for exoplanets using data from NASA's Exoplanet Archive!

This web app was built using Angular 14 and is a Progressive Web App (PWA) that can be installed on most devices like a regular app. To install, visit the latest deployment on a device with a modern browser and look for the "install" button in the browser's menu or address bar.

All of the required documentation for CS5001/2 can be found in the main branch.

How to Use

Visit the GitHub Pages site to access the latest deployment.

Initiating a Search

To search NASA's exoplanet database, enter a valid query using the available inputs. Each input allows for specific information to be entered, such as the name of a host star, the discovery method used, and the discovery year and facility. To learn more about each option, refer to the input help section.

Once a query has been entered, click the search button to retrieve data from NASA's database. Note that large searches can take up to 15 seconds to process before exoplanet data has been cached. Some example large searches include exoplanets discovered using transit, exoplanets discovered in 2014 and 2016, and exoplanets first observed by the Kepler space telescope.

Understanding the Input

When searching, the input options allow for specific information to be entered. Here's what each option represents:

  • Host name refers to the name of the star the exoplanet orbits
  • Discovery method refers to how the exoplanet was first discovered
  • Discovery year refers to the year the exoplanet was first found
  • Discovery facility refers to the facility or observatory that first discovered the exoplanet

Selecting the checkbox next to the clear button will display additional inputs:

  • Min Mass and Max Mass refer to the minimum and maximum allowed planet mass in units of Earth's mass (EM)
  • Min Radius and Max Radius refer to the minimum and maximum allowed planet radius in units of Earth's Radius (ER)
  • Min Density and Max Density refer to the minimum and maximum allowed planet density in g/cm3
  • Star Type refers to the stellar classification of the host star
  • # of Stars and # of Planets refers to the number of stars and planets in the host system respectively
  • Selecting the controversial checkbox will filter controversial exoplanets

Receiving Results

After submitting a search, the results are displayed in a table format with five additional buttons for enhanced functionality. Configure the table columns with the column configuration button, revisit previous searches with the previous search button, copy the search parameters to the clipboard with the copy button, close all currently expanded rows, and export the data as a CSV file to the local disk.

Sort the exoplanet data by clicking on a column header and switch between descending and ascending order. In-depth information about a specific exoplanet is available by clicking on its row, such as planet type, orbit information, and its position in the sky. Searchable terms within the expanded row are highlighted in cyan and can search for similar exoplanets by clicking on them.

Understanding the Results

The results returned from the search will include columns with information such as the exoplanet's name, host name, discovery method, discovery year, discovery facility, and academic reference.

  • The density column is measured in g/cm3
  • The radius column is measured in either units of radius of the Earth (Re) or Jupiter (Rj)
  • The mass column is measured in either units of mass of the Earth (Me) or Jupiter (Mj)
  • Orbital period is measured in days; refers to how long it takes for exoplanet to fully orbit its host star
  • Semi-major axis is measured in astronomical units (AU); refers to distance between planet and host star

For example, an exoplanet with a radius of 0.5 ER and a mass of 2 EM has half the radius and twice the mass of the Earth. For reference, the Earth's radius is 6,371km, its mass is 5.972 x 1024 kg, and its density is 5.5 g/cm3. Jupiter's radius is 71,492km and its mass is 1.899 x 1027 kg. The Earth's orbital period is 365.25 days, and its distance from the Sun is exactly 1 AU.

Local Installation

These instructions will help get a copy of the web app up and running on a local machine.

Prerequisites

Node.js and npm are required for this web app to run. They can downloaded from the official website or can be installed with a package manager like Homebrew (for macOS) or Chocolatey (for Windows).

Installation

  1. Clone or download the master branch of this repository.
  2. Open a terminal and navigate to the /senior-design/ directory.
  3. Run npm install to install the required dependencies.
  4. Run npm install -g @angular/cli to install Angular CLI (if necessary).

Running the Web Application

Run the following command to start the proxy server:

ng serve

The development server will start on port 4200 by default:

http://localhost:4200

Query Parameter Support

The web app also supports query parameters using exoplanet archive column names. For example, if the query is localhost:4200/?disc_year=2011, it automatically searches for exoplanets discovered in 2011.

Current column definitions can be found in the Exoplanet Archive docs.

FAQ

What is an exoplanet?

Exoplanets, or extrasolar planets, are planets that orbit stars outside of our solar system.

How often is the data updated?

The list of planets on IPAC's website is routinely updated bi-weekly, but may be updated more frequently depending on new significant exoplanet discoveries.

Exoplanet data is cached in the background to significantly decrease load times. Cached data is updated every other day. Clear cache to manually refresh the data.

Why are there no results after searching?

Either no exoplanets match the given input or data was not returned properly. Try searching again or changing the input.

How is data accessed from NASA's Exoplanet Archive?

This web application utilizes Table Access Protocol (TAP) to request and return data from the Exoplanet Archive. TAP is a protocol developed by IVOA that allows access and querying of table data on remote servers, including astronomical data. This web application also uses my CORS-Proxy, which can be found here.

Hint: entering the Konami code will show secret exoplanets!

Tools Used During Development


Angular TypeScript NASA Exoplanet Archive Postman Inkscape Material Design Aladin Sky Atlas Photoshop

Python CORS Proxy Vercel Express.js Chome DevTools