ajinkyakulkarni / lightningdataviewer

ISS LIS Lightning Data Viewer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lightning Data Viewer

This repository contains the source code to the Lightning Data Viewer. This viewer uses data collected by the Lightning Imaging Sensor (LIS) installed on the International Space Station (ISS).

Currently the viewer provides ability to view only sample data collected by this instrument during March 4th 2019 Tornado Outbreak in Alabama, Huntsville.

Screenshot:

Demo Image

Please file report bug and feature requests directly from the app https://lightning-data-viewer.appspot.com/report. You will need to login using Github.

Issue Submit

Requirements

The source code requires Python 3.6+. Individual package requirements are mentioned in requirements.txt file

Running

To get the code setup and running on your machine, please follow the steps below -

  1. Rename sample.config.py file to config.py file and change values for

    • Cesium Token
    • Github Client ID
    • Github Client Secret
    • Github Access Key
    • Fullstory Org Code
    • Fullstory API Key
    • Custom secret key
  2. Create Python virtual environment. Please refer Python Docs for more info

    python3 -m venv venv
    source venv/bin/activate
  3. Install Python dependencies

    pip install -r requirements.txt
  4. Run the unit tests

    pytest
  5. If all tests are passing, start the Flask app

    python app.py
  6. You should now see app running at http://localhost:5000/

Github Integration

For Github integration, follow these steps

  1. Goto https://github.com/settings/apps/new
  2. Fill the form with following information

Source Code Organization

  • app.py - main application routes
  • db.py - database schema and database helper function
  • read_data.py - code to read ISS LIS NetCDF data files
  • helper.py - helper functions
  • static/css - application's CSS styles
  • static/js - application's JavaScript files
  • static/lib - application's libraries
  • templates - HTML templates
  • tests - unit tests for the application

Deployment

This application is currently deployed to Digital Ocean. Please follow instructions mentioned here to setup this application on a Digital Ocean droplet.

Future Work

  • Add ISS Orbits
  • Ability to download data points
  • View more ISS LIS data products
  • Integration with PostGIS
  • Integration with GeoServer
  • Make integration with Github and Fullstory optional
  • Add more unit tests for backend
  • Add unit tests for frontend
  • Add integration test
  • Configure CD/CI system for this app
  • Better organization of code

License

This application's code is licensed under MIT license. The individually used libraries are licensed under their own respective licenses.

Credits

Sample ISS LIS data is obtained from NASA GHRC DAAC. Citation is as below -

Blakeslee, Richard J.. 2017. NRT Lightning Imaging Sensor (LIS) on International Space Station (ISS) Provisional Science Data [indicate subset used]. Dataset available online from the NASA Global Hydrology Resource Center DAAC, Huntsville, Alabama, U.S.A. 
DOI: http://dx.doi.org/10.5067/LIS/ISSLIS/DATA205

About

ISS LIS Lightning Data Viewer

License:MIT License


Languages

Language:Python 40.0%Language:JavaScript 38.3%Language:HTML 19.3%Language:CSS 2.4%