README.md
http://heliopropa.irap.omp.eu
What
Web Server
Build and serve heliopropa's visualizations.
It's a flask
webserver, serving d3.js
plots.
It also gathers NetCDF data from AMDA, and serves it as CSV to the plotter.
Rationale
- Reading NetCDF from javascript is doable, but still very hacky.
- The bridge can handle pagination and collecting multiple NetCDF into one CSV.
How
Source
https://gitlab.irap.omp.eu/CDPP/SPACEWEATHERONLINE
Overview
config.yml
: the main configuration file.web/run.py
: the front controller, holding most of the code.web/run.log
: you'll find more information about failures in the log.web/view/home.html.jinja2
: the HTML template.web/static/js/swapp.ls
: most of the javascript client-side.
Install
virtualenv venv
source venv/bin/activate
pip install matplotlib
pip install numpy==1.8.*
pip install -r requirements.txt
CentOs 6 Shenanigans
yum install https://centos6.iuscommunity.org/ius-release.rpm
yum install python27*
But then virtualenv
yields
File "/var/www/html/HELIOPROPA/web/run.py", line 24, in <module>
[Fri Nov 30 14:30:38 2018] [error] [client 10.10.135.119] from netCDF4 import Dataset, date2num
[Fri Nov 30 14:30:38 2018] [error] [client 10.10.135.119] File "/var/www/html/HELIOPROPA/venv/lib/python2.7/site-packages/netCDF4/__init__.py", line 3, in <module>
[Fri Nov 30 14:30:38 2018] [error] [client 10.10.135.119] from ._netCDF4 import *
[Fri Nov 30 14:30:38 2018] [error] [client 10.10.135.119] ImportError: /var/www/html/HELIOPROPA/venv/lib/python2.7/site-packages/netCDF4/_netCDF4.so: undefined symbol: PyUnicodeUCS2_FromStringAndSize
Solution:
Configure Apache to use web/run_ssa.wsgi
and use pip2.7 install system wide.
Install libcdf.
wget https://spdf.sci.gsfc.nasa.gov/pub/software/cdf/dist/cdf37_0/linux/cdf37_0-dist-all.tar.gz
tar -xzvf cdf37_0-dist-all.tar.gz
cd cdf37_0-dist
make all OS=linux ENV=gnu
make INSTALLDIR=/usr/local/lib/libcdf install
Develop
source venv/bin/activate
DEBUG=true python web/run.py
Then, browse localhost:5000.
Troubleshoot
Installing scipy
Getting MemoryErrors
?
Try with the --no-cache-dir
option.
pip install scipy --no-cache-dir
Fix permissions problems with the cache
sudo setfacl -R -m u:apache:rwx -m u:`whoami`:rwx cache
sudo setfacl -dR -m u:apache:rwx -m u:`whoami`:rwx cache