openelec is a general tool for finding opportunities in electricity access. Able to create national-level plans for achieving universal electricity access, as well as optimise town/village-level mini-grid, densification and standalone systems. In addition, the tool provides functionality to find private-sector off-grid opportunities.
The library has a currently not very user-friendly Python API for scripting/notebook use.
There is also a demonstration web interface running here (static front-end on AWS S3 with serverless backend on Lambda) and a short blog post here.
A tool for modelling the optimal pathways to improving electricity access.
Described in my blog post here: Modelling the optimum way to achieve universal electrification
A tool for optimising rural mini-grid systems and LV networks using OpenStreetMap building data and a minimum spanning tree approach to network optimisation.
Described in my blog post here: A Flask app for mini-grid planning with a cost-optimised spanning tree
Web App usage (click to get proper resolution)
To get to grips with the API and steps in the model, open the Jupyter notebook
example.ipynb. This repository includes the input data needed to do a test run for Lesotho, so it should be a matter of opening the notebook and running all cells.
It also includes test data for a small village in central Lesotho to run the local version of the model.
openelec requires Python >= 3.5 with the following packages installed:
flask>= 1.0.2 (only for the web app)
geopandas>= 0.4.0 (0.4.0 had API breaking changes so this version is needed)
Additionally these packages are needed for running the Jupyter notebook:
Install with pip
pip install openelec
Install from GitHub
Download or clone the repository and install the required packages (preferably in a virtual environment):
git clone https://github.com/carderne/openelec.git cd gridfinder pip install -r requirements.txt
You can run
./test.sh in the directory, which will do an entire run through using the test data and confirm whether everything is set up properly.
Built using sphinx. Available here. Build API reference with:
cd openelec/docscd sphinx-apidoc -o . ../openelec make html