DaluS / CHIMES

Dynamic system solver oriented toward coupled economic models
MIT License
3 stars 0 forks source link

LOGO

image

image image image image

Maintained Coverage Status Contributions

CHIMES

CHIMES is a user-friendly library to explore, prototype, analyze and couple dynamical models in python. It is built for both beginners and advanced users and provides access to complex tensorial dynamics resolution if needed.

CHIMES means Core for Holisitic Intertwined Model for Environmental Simplexity.

Developed initially as an internal tool for the Environmental Justice Program (EJP) at Georgetown, CHIMES has evolved into an open-source numerical environment with a range of features:

The main difference with the standard dynamical system library are:

  1. the operations are based on tensors (hence easy parallel run for sensitivity, multi-regions, multi-agents, multi-sector, multi-whatever)
  2. it uses model files written in Python (easy to do operations on models, easy to share)
  3. It comes with many practical tools to make your life easy!

There is a wiki that tells you everything about the library here!

image

import chimes as chm 
chm.get_available_model() # See all available models

#we assume you want to run the model 'MODEL' 
hub=chm.Hub('MODEL') # will load the model in a hub using the default values
hub.run() # will simulate 100 years on a 0.1 timestep
hub.plot() # will plot all the fields by their units

To explore a model

hub=chm.Hub('modelname')      # Load a model file from `get_available_models()`
hub=chm.load_saved('nameofthefile') # Load a previous hub from `get_available_saves()`
hub.get_Network()             # Create a causal network of the model logics
hub.get_summary()             # Tell you everything about the model 
R = hub.get_dfields()          # Give you access to all fields inside the hub
hub.get_presets()             # Give you all presets you can load
hub.get_supplements()         # Give you all the supplementary functions available

To change values

hub.set_fields(field=value) # Apply it before a run !

Authors

See also the list of contributors who participated in this project.