Skip to main content

Simulation Modelling Integration Framework

Project description

Simulation Modelling Integration Framework

https://travis-ci.org/nismod/smif.svg?branch=master Documentation Status https://coveralls.io/repos/github/nismod/smif/badge.svg?branch=master

Description

smif is a framework for handling the creation of system-of-systems models. The framework handles inputs and outputs, dependencies between models, persistence of data and the communication of state across years.

This early version of the framework handles simple models that simulate the operation of a system. smif will eventually implement optimisation routines which will allow, for example, the solution of capacity expansion problems.

Setup and Configuration

smif is written in Python (Python>=3.5) and has a number of dependencies. See requirements.txt for a full list.

GLPK

The optimisation routines currently use GLPK - the GNU Linear Programming Kit. To install the glpk solver:

  • on Linux or Mac OSX, you can likely use a package manager, e.g. apt install glpk for Ubuntu or brew install glpk for OSX.

  • on Windows, GLPK for Windows provide executables. For 64bit Windows, download and unzip the distribution files then add the w64 folder to your PATH.

Requirements for fiona

We use fiona, which depends on GDAL and GEOS libraries. These can be installed with your OS package manager on Mac or Linux, then install the python packages as usual using pip install -r requirements.txt

On Windows, the simplest approach seems to be using conda, which handles packages and virtual environments, along with the conda-forge channel which has a host of pre-built libraries and packages.

Create a conda environment:

conda create --name smif python=3

Activate it (run each time you switch projects):

activate smif

Note that you source activate smif on OSX and Linux.

Add the conda-forge channel, which has shapely and fiona available:

conda config --add channels conda-forge

Install fiona, along with GDAL and dependencies:

conda install fiona

Installing smif

Once the dependencies are installed on your system, a normal installation of smif can be achieved using pip on the command line:

pip install git+http://github.com/nismod/smif#egg=v0.2

The suffix #egg=v0.2 refers to a specific version of the source code. Omitting the suffix installs the latest version of the library.

To install from the source code in development mode:

git clone http://github.com/nismod/smif
cd smif
python setup.py develop

A word from our sponsors

smif was written and developed at the Environmental Change Institute, University of Oxford within the EPSRC sponsored MISTRAL programme, as part of the Infrastructure Transition Research Consortium.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smif-0.1.0.tar.gz (160.1 kB view details)

Uploaded Source

File details

Details for the file smif-0.1.0.tar.gz.

File metadata

  • Download URL: smif-0.1.0.tar.gz
  • Upload date:
  • Size: 160.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for smif-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b7729947e97970095bf1cd9a8f3ca62bfe5515ccbb585f386d73c8a890aa6450
MD5 264d1c7c46b650e6dcdb544c8090b240
BLAKE2b-256 ca34c70eab61e3344eb0d41663d7bd3a1f3f30d79cc80a0f6d79bd00d2999e36

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page