## http://heliopropa.irap.omp.eu

# What

## Web Server

Build and serve heliopropa's visualizations.
It's a `flask` webserver, serving `d3.js` plots written in `livescript`,
which is just javascript with lots of sugar to make it palatable.
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/view/home.html.jinja2` : the HTML template.
- `web/static/js/swapp.ls` : most of the javascript client-side.


## Install

``` bash
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
```


## Develop

``` bash
source venv/bin/activate
python web/run.py
```

Then, browse [localhost:5000](http://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
```