A 3D application that interactively showcases the potential of the Habitable World Observatory (HWO) to find possible habitable planets in our galaxy. By using physical characteristics of existing exoplanets, we combined this information with the expected design of the HWO (like mirror radius, frequency band observation, and orbital distance). Thus, scientists, politicians, and the general public can clearly understand the progress of scientific advancements.
Our project has two distinct parts: backend development and frontend development. For the backend development, after requesting data from NASA's API, we processed it to produce an observability score. We directly used three simple parameters for the analysis:
- The Radius of the Exoplanet: the larger the radius of the exoplanet, the more likely it is to be detected, as both transit and radial velocity methods favor planets with a larger radius. However, the radius should be less than 3.5 times that of Earth to preserve habitable characteristics.
- The Mass of the Exoplanet: More massive planets tend to influence the center of gravity of their system, making them easier to detect.
- Distance from Earth: The farther away an object is from Earth, the more difficult it becomes to observe it, especially exoplanets.
-
With this score, we considered the design characteristics of the HWO, which, as an observatory, should prioritize these parameters to enhance observation. Additionally, it uses physical parameters related to habitability criteria to determine if a candidate planet could potentially support life.
-
For the frontend development, we created a 3D application that organizes planets based on their observability potential, represented by a score from 0 to 100%, displayed in colors, with warmer colors indicating higher observability. From this, we can identify the characteristics that enhance a potentially habitable exoplanet's chances of being observed by our observatory.
Python: Used for data manipulation and making requests to NASA's API.
JavaScript: Used for interaction logic on the frontend and updating charts.
HTML: Used to structure the web page.
CSS: Used to style the web page.
Pandas: Used in Python for data manipulation and analysis.
NumPy: Used in Python for numerical calculations and array manipulation.
Requests: Used in Python to make HTTP requests to NASA's API.
Plotly.js: Used in JavaScript for data visualization and creating interactive charts.
Flask: A framework is being used to host the backend (not mentioned, but common).
NASA Exoplanet Archive: API used to obtain data about exoplanets.
Postman: Used for testing APIs.
GitHub: Used for code versioning and collaboration (not explicitly mentioned, but common practice).
NASA Exoplanet Archive: API used to obtain data about exoplanets.
DataFrame: Used in Pandas for manipulating tabular data.