Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CMLPlatform/ramascene
RaMa-Scene a web-platform to analyse Environmentally Extended Input-Output data and generate scenarios
https://github.com/CMLPlatform/ramascene
Last synced: 3 months ago
JSON representation
RaMa-Scene a web-platform to analyse Environmentally Extended Input-Output data and generate scenarios
- Host: GitHub
- URL: https://github.com/CMLPlatform/ramascene
- Owner: CMLPlatform
- License: other
- Created: 2019-07-19T08:33:50.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-24T10:55:24.000Z (over 1 year ago)
- Last Synced: 2024-03-23T06:02:33.186Z (8 months ago)
- Language: SCSS
- Homepage: https://www.ramascene.eu/
- Size: 95.3 MB
- Stars: 6
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- open-sustainable-technology - RaMa-Scene - RaMa-Scene a web-platform to analyse Environmentally Extended Input-Output data and generate scenarios. (Industrial Ecology / Input Output Model)
README
# RaMa-Scene
---
RaMa-Scene is a django 2.0 based web-application that allows for analyzing Environmentally Extended Input-Output (EEIO) tables. EXIOBASE v3.3 is used in this project.
Demo version: http://cml.liacs.nl:8080/ramascene/[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![Contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg)](resources/docs/CONTRIBUTING.md)# Developers Guide
---
http://rama-scene.readthedocs.io/en/latest/# Getting started
---
### Retrieve the raw datasets
EXIOBASE-Rama-Scene (modified version including secondary materials):http://doi.org/10.5281/zenodo.3533196
### Clone the project
```
git clone https://bitbucket.org/CML-IE/rama-scene.git
```### Create a virtual environment (python3.5 or higher) and install the app requirements (make sure you have python-dev installed via apt-get)
```
$ pip3 install -r requirements.txt
```### Install node.js (node version: 3.10.10 or higher)
```
$ sudo apt-get update
$ sudo apt-get install nodejs
```
> Note: On debian apt install nodejs-legacy### Install redis (for Django Channels)
```
$ sudo apt install redis-server
```### Install rabbitMQ (for Celery)
``$ sudo apt-get install -y erlang``
``$ sudo apt-get install rabbitmq-server``
Then enable and start the RabbitMQ service:
``$ systemctl enable rabbitmq-server``
``$ systemctl start rabbitmq-server``
Check the status to make sure everything is running:
``$ systemctl status rabbitmq-server``> Note: Perform all next steps in the virtualenv and in the rootfolder of the project
### Set the following environment variables (see sample-dev-env.sh):
```
export DJANGO_SETTINGS_MODULE=ramasceneMasterProject.config.dev
export DATASETS_VERSION=version downloaded e.g. v3
export DATASETS_DIR=my/path/to/datasets
export OPENBLAS_NUM_THREADS=adjust according to how many cores you want to use
```
If you are on Linux and using the OpenBlas library for Numpy.
It is advised to set the number of threads Numpy uses. To find which library is used in python:
```
>>>import numpy as np
>>>np.__config__.show()
```### Prepare the database
```
$ python3 manage.py makemigrations
$ python3 manage.py migrate
```### Populate the database
```
$ python3 manage.py populateHierarchies
```### Prepare static resources
```
$ npm install
```### Built React bundle
```
$ ./node_modules/.bin/webpack --config dev-webpack.config.js
```### Start Celery
Start the default module to enable handling of analytical calculations:
```
$ celery -A ramasceneMasterProject worker -l info --concurrency 1 --queue calc_default -n worker1.%h
```
Start the modelling module to enable handling of modelling calculations:
```
$ celery -A ramasceneMasterProject worker -l info --concurrency 1 --queue modelling -n worker2.%h
```### Start the development server
```
$ python3 manage.py runserver
```Access the app via the webrowser: http://127.0.0.1:8000/ramascene/
### [Optional] enable debug logging
To enable debug logging, open the ramasceneMasterProject/config/dev.py file.
Uncomment the "logging for Django" section.### [Optional] run tests
In case you want to run tests you can perform unit tests in the root folder:
```
$ python3 manage.py test -v2
```For integration tests you need to start the celery workers first (explained above).
You can perform the integration test with the following command:
```
$ pytest -vs
```If the test has succeeded, you�ll need to repopulate the database with the following command:
```
$ python3 manage.py populateHierarchies
```### Core dependencies
---
The app uses Celery [4.1.0] (http://docs.celeryproject.org/en/latest/django/first-steps-with-django.html), Django channels [2.1.5] (https://channels.readthedocs.io/en/latest/)