Team Members
- Spencer Mirly
- Matthew Rockenhaus
- Ryan Rickerl
Abstract
Large dust storms are a common occurrence on Mars. Martian dust devils are known to contribute to these dust storms and are thought to be an even larger contributor to these storms. The Python package Muldoon was created to analyze data from the Mars Environmental Dynamics Analyzer (MEDA) to find these dust devils from wind speed and air pressure data. The extent to which these dust devils affect Martian atmospheric conditions is currently not well known. Allowing researchers to analyze this data to search for dust devils helps fill these holes in the data.
While the Muldoon program is currently capable of generating graphs to visualize the Martian data, the images are static and can only be viewed locally. The aim of this project is to create an interactive webpage that can render the Mars 2020 MEDA data graphs dynamically, allowing researchers to explore the data and collarborate in a more effective manner. Incorporation of Muldoon’s existing analysis tools will build upon the interactive webpage implementation in the future.
Project Description
What was built
The final product that was built is a website that allows the user to select a specific Sol(A day on Mars) as well as the time range and type of data to display. Once this information is selected the user will then be able to generate an interactive graph. Once the graph has been generated that user will then be able to zoom in on the graph to get a better understanding of what is happening. They will also have the option to save the image or copy the link to send to someone else so they can generate the exact same graph.
By just using Javascript and Node.js instead of a large frontend framework we were able to build a lighter website that is easier to manage. To generate the graph used the Plotly for Javascript library.

User Interface (UI)
The user interface is several fields that allow you to narrow down was data is displayed.

- Sol
Integer element for selection of Mars rover Perseverance mission sol.
- Start Time
Time entry element for starting range of MEDA data selection in 24 hour format; HH:mm:ss.
- End Time
Time entry element for ending range of MEDA data in 24 hour format; HH:mm:ss.
- Process Level
Selection element populated with available MEDA process levels; calibrated or derived are currently supported.
- Sensor ID
Selection element populated with available MEDA sensor ID(s) for the selected process level.
- Sensor Attribute
Selection element populated with y-axis attribute(s) for the selected sensor ID.
Plot Dashboard Options
The ability to collaborate with peers has been implemented through the Share URL and Export Data functions seen in Figure 3.

- Share URL
Button which copies the current plot conditions (including zoom constraints) to the clipboard. An option to manually copy the link is also presented with timeout delay of 15s.
Note: for copy-to-clipboard to function properly, the browser requires clipboard write permission.
- Export Data
Button for downloading the current plot MEDA data file.
Plot Navigation Options
The Plotly javascript library provides a set of built functions (Figure 4) for navigation; displayed in the upper right corner of the visualization. Each function is described from left to right below.

- Download plot as png
Download a png image of the current plot view.
- Zoom
Zoom an area of the current plot by dragging a selection with the mouse.
- Pan
Pan the current plot by dragging the mouse.
- Zoom in
Zoom in the center point of the current plot.
- Zoom out
Zoom out the center point of the current plot.
- Reset axes
Reset the current plot axes and display the entire range of data requested by Start Time and End Time inputs.
Plot Hover Tooltips
Hover tooltips are displayed on mouseover of any data point of the current plot.
