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.
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.
The source code requires Python 3.6+. Individual package requirements are mentioned in requirements.txt file
To get the code setup and running on your machine, please follow the steps below -
-
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
-
Create Python virtual environment. Please refer Python Docs for more info
python3 -m venv venv source venv/bin/activate
-
Install Python dependencies
pip install -r requirements.txt
-
Run the unit tests
pytest
-
If all tests are passing, start the Flask app
python app.py
-
You should now see app running at http://localhost:5000/
For Github integration, follow these steps
- Goto https://github.com/settings/apps/new
- Fill the form with following information
- Homepage URL: http://localhost:5000
- User authorization callback URL: http://localhost:5000/github-callback
- 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
This application is currently deployed to Digital Ocean. Please follow instructions mentioned here to setup this application on a Digital Ocean droplet.
- 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
This application's code is licensed under MIT license. The individually used libraries are licensed under their own respective licenses.
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