LOST EXPRES

A web application interface to the Lowell Observatory Solar Telescope

Our Group

Group Photo
Mentor
Volodymyr Saruta
vvs28@nau.edu

Our Client

Joe Llama

Joe Llama has been working as an Assistant Astronomer at Lowell Observatory for four years, and is the team lead for the Lowell Observatory Solar Telescope, and the EXtreme PREcision Spectrograph

Our Team

Brooke Caldwell

Brooke Caldwell

Team Lead

Skills

  • Working with Linux Operating Systems
  • Git Version Control
  • Database Management

Other Interests

  • Astronomy
  • Marvel Movies
Jared Cox

Jared Cox

Architect

Skills

  • Web Development
  • Database Management
  • Python Programming

Other Interests

  • Camping
  • Cooking
Austin Bacon

Austin Bacon

Meeting Recorder

Skills

  • Technical Writing
  • Javascript Programming
  • Web Development

Other Interests

  • Astronomy
  • Hiking
Olivia Thoney

Olivia Thoney

Customer Communicator

Skills

  • Advanced Web Development with PHP
  • Statistical Analysis
  • SQL Programming

Other Interests

  • Running
  • Mountain Biking
Ian McIlrath

Ian McIlrath

Release Manager

Skills

  • Graphical/UI Design
  • Web Design
  • Maintaining Servers

Other Interests

  • Drawing
  • Dungeons and Dragons

Description

Dr. Joe Llama from Lowell Observatory is the team lead for a Solar Telescope project. The Lowell Observatory Solar Telescope (LOST) is equipped with technology that can read the Radial Velocity of a star, and determine if there is a planet revolving around said star. Dr. Llama's ultimate goal is to find exoplanets similar to Earth, and by collecting this data he is one step closer to finding one.

Dr. Llama and his team have collected massive amounts of data, but have had no way to convienently view and analyze it. Their work flow consists of collecting Radial Velocity data every day from sunrise to sunset. The collected data then gets pushed onto the Lowell servers and gets filterd for usable data. The process ends with the filtered data being usable by Dr. Llama. This data is siloed within Lowell Observatory and not available to the scientific community and novice astronomers.

Current Work Flow

To solve this issue he has asked us to create a web application. This web application will take the Radial Velocity data and graph it so that the data can be analyzed by the team.

Project Proposal
- the original proposal document for Dr. Llama's web applicaiton


Requirements


Graphing

Dr.Llama's main request is to graph the data he is collecting. The graphs we are being asked to create are Radial Velocity, 1 Dimensional Spectrum, and 2 Dimensional Spectrum graphs. These graphs will serve has his way of analyzing his data as well as sharing the researh with others.

Radial Velocity
- Zooming in/out
- Changing axis min/max
- Hover over points
- Selection of point for 1D or 2D graph
- Downloading a file of the data
1D Spectrum
- Zooming in/out
- Hover over points
- Downloading a file of the data
2D Spectrum
- Zooming in/out
- Hover over points
- Order selection
- Downloading a file of the data

System Diagram

User Access

Our client also wants there to be seperate user levels for the public, other researchers, and himself the admin. While most things will be the same for every level.

Public
- Access to limited data in the graphing section
- Has the ability to sign up as researcher
Researcher
- Login required
- Access to full data collection in the graphing section
Admin
- Login required
- Access to full data collection in the graphing section
- Ability to upload more files
- Manages the site through an admin page


Technologies

Languages
Python
- Our client already uses Python
- Used for running the website

Back End
Flask
- Used for our framework
- Easily maintains routing for the site
- Allows for easy database management
- User Authentication
- Highly Documented
- Extensive Extensions
- Compatible with Dash
Dash
- Used for data analysis and admin pages
- Highly Documented
- Extensive Extensions

Front End
Jinja
- All pages are written in Jinja HTML format
- Built into Flask
- Allows for master base page and then extensions
Boostrap
- Quick Prototyping
- Responsive
- Higher Level Programming
- Integrated into Dash

Database
MongoDB
- NoSQL Based
- Can store very large files
- More open relations
- Stores all graphing data points, users, news, and glossary terms

List of Extensions Used
Flask
- Flask Mail
- Flask Login
- Flask PyMongo
- Flask WTF
Dash
- Dash Bootstrap Components
- Dash Core Components
- Dash DAQ
- Dash HTML Components
- Dash Table
- Dash Extensions
Other
- Bcrypt
- DNSPython
- Email Validator
- Julian
- Pandas
- Plotly
- PyMongo
- WTForms



Solution


Home Screen

At the top of the page is the navigation bar, this will allow you to access the rest of the website. These pages include the data, news, glossary, and sign in. The admin can set which news article is displayed on the homescreen, highlighting the exiting research discovery he has made that week.

Home Page

Home Page


Graphing

The following are examples of the graphing we have implemented for Dr.Llama. From the radial veloicity graph you can select a point to view the specturms, and by using the toggle the user can swap between 1D and 2D Spectrums. All of the graphs also have the ability to zoom in and out, as well as download the data of the graph.

Radial Velocity Graph

Radial Velocity Graph

1 Dimensional Spectrum Graph

1D Spectrum Graph

2 Dimensional Spectrum Graph

2D Spectrum Graph


User Login

For researchers and admin they will have to sign in. If new to the site, from the signin page they can register to become a researcher. This includes giving their name, the instituation they are from, and an email. This registration form is sent to admin and they will approve or not approve the request. Once approved, the researcher will be emailed their password to the site.

Login Page

Login

Requesting Access

Request Access Form


News

After discussion Dr.Llama wanted a way to share more information about his project with the public. We decided that a great way would be a blog styled news page. From the News pages a user can click an article title and will be taken to the full article to read.

News Page

Main News Page

News Post

News Post


Glossary

During the project there was a learning curve with terminology, this prompted the idea for a glossary list. This way Dr.Llama can use full terminology in his articles without having to explain every time.

Glossary Page

Glossary Page


Admin Management

Once an admin is logged into the website they will have access to the management section of the site. All of this is stored in one place allowing the admin easy accessiblity. From here they can add new posts and glossary terms, delete them if need be, and manage the graphing section. There is a data selector to limit the data the public can see as well as the ability to add new files so they can be added to the database as well.

Admin Page

Admin Page



Deliverables

Projected Schedule:

Lost Expres Schedule

Please click on any document link to view and download it:

Team Inventory
- a brief introduction of our team members and their experience

Team Standards
- an outline of our team expectations, including team roles, meetings times, technologies, etc.

Mini Introduction Video
- a quick presentation on our project

Tech Feasibility
- a detailed exploration and analysis of the technologies we are using

Design Review 1
- a detailed exploration and analysis of the technologies we are using

Requirements Document
- an in-depth document detailing all functionalities the website will need

Tech Demo Flight Plan
- a quick outline describing the demonstrations that will be developed for the website

Schedule
- the development schedule

Software Design Document
- a detailed explaination of how we are implementing the project

Design Review 2
- a detailed explaination of how we are implementing the project

Testing Plan
- a detailed explaination of how we plan on testing the project

Design Review 3
- a detailed explaination of how we have implemented the project so far, and a plan on testing

UGRADS Presentation
- a detailed explaination of the full project

Code Base
- the current version of our project