└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Welcome to the Industrial Ecology Dashboard on GitHub! 2 | 3 | Here you find a list of repositories that are relevant for industrial ecology researchers. Feel free to add relevant content! 4 | 5 | Also check out https://opensustain.tech for more open sustainability software. 6 | 7 | ## Contents 8 | * [Input-Output Analysis](#input-output-analysis) 9 | * [Life Cycle Assessment](#life-cycle-assessment) 10 | * [Material Flow Analysis](#material-flow-analysis) 11 | * [Industrial Symbiosis / Eco-Industrial Parks](#industrial-symbiosis--eco-industrial-parks) 12 | * [Collaboration initiatives and data sharing platforms](#Collaboration-initiatives-and-data-sharing-platforms) 13 | * [Miscellaneous](#miscellaneous) 14 | * [Models from other commmunities](#Models-from-other-communities) 15 | 16 | ## Input-Output Analysis 17 | 18 | [SESAM/MARIO](https://github.com/SESAM-Polimi/MARIO) - 19 | A python package for scenario analysis through IO databases and IO database handling including Supply and Use, Input output, single region, multi region, monetary and hybrid tables. 20 | 21 | [npspringer/WorldTradeModel](https://github.com/npspringer/WorldTradeModel) - 22 | Python code for the World Trade Model, a linear programming model utilizing input-output economics. This version includes the Rectangular Choice-of-Technology (RCOT) as well as the option to solve for bilateral trade (WTMBT) 23 | 24 | [Pymrio](https://github.com/IndEcol/pymrio) - 25 | Pymrio is an open-source Python tool for Environmentally Extended Multi-Regional Input-Output (EE MRIO) analysis. It provides a high-level abstraction layer for global EE MRIO databases, enabling a harmonized approach towards common EE MRIO data tasks. [Citation: Stadler 2021](https://openresearchsoftware.metajnl.com/articles/10.5334/jors.251) 26 | 27 | [R|E|A|L PyIO](http://www.real.illinois.edu/pyio/) - 28 | PyIO is a module for Input-Output analysis, written in Python, a general-purpose open source computer programming language. Next to standard IO techniques PyIO also features matrix updating with the RAS method, key sector analysis, output decomposition analysis, and multiplier product matrix analysis. 29 | 30 | [stefanpauliuk/pySUT](https://github.com/stefanpauliuk/pySUT) - 31 | Python module for handling supply and use tables and building IO tables from raw data. 32 | 33 | [GreenDelta/usio](https://github.com/GreenDelta/usio) - 34 | Python module to create input-output tables from United States [BEA](http://www.bea.gov/) make and use tables. Written by the authors of [openLCA](http://www.openlca.org/), but can be used independently. 35 | 36 | [majeau-bettez/allocation_construct](https://github.com/majeau-bettez/allocation_construct) - 37 | Python module for lifecycle assessment allocations and input-output constructs 38 | 39 | [majeau-bettez/ecospold2matrix](https://github.com/majeau-bettez/ecospold2matrix) - 40 | Class for recasting Ecospold2 LCA dataset into Leontief matrix representations or Supply and Use Tables 41 | 42 | [bquast/wiod](https://github.com/bquast/wiod) - 43 | R package for "Data sets from the World Input Output database, for the years 1995-2011" 44 | 45 | [martinbruckner/WIOD_SPA](https://github.com/martinbruckner/WIOD_SPA) - 46 | This repository provides R scripts for a Structural Path Analysis with WIOD. Please note that the SPA done here only goes until the third step of supply chains, i.e. the second level indirect inputs. 47 | 48 | [usepa/IO-Model-Builder](https://github.com/usepa/io-model-builder/) - 49 | iomb is an open source Python library for creating environmentally extended input-output models (EEIO models) from CSV files in a simple data format. It includes functions to calculate different result types (e.g. life cycle assessment results, direct and upstream contributions, etc.) from such models and convert them into JSON-LD data packages that can be imported into openLCA. 50 | 51 | [usepa/useeior](https://github.com/USEPA/useeior) - 52 | `useeior` is an open source R package for building and using [USEEIO models](https://www.epa.gov/land-research/us-environmentally-extended-input-output-useeio-models). Users can build USEEIO models from given or user-specified model configuration and optional hybridization specifications. Functions in `useeior` automatically performs assembly of economic and environmental data and matrix calculations. Model results can be exported to desired formats including JSON, CSV and XLSX for use in further applications. `useeior` is a core component of the [USEEIO Modeling Framework](https://github.com/USEPA/useeio). 53 | 54 | [Paradiso-Project](https://github.com/haasad/PyPardisoProject) - 55 | Python interface to the Intel MKL Pardiso library to solve large sparse linear systems of equations. Use PyPardiso with the anaconda python distribution (use miniconda if you need to install it). PyPardiso makes use of the Intel Math Kernel Library that is included for free with conda and therefore doesn't work with other distributions (at least for the moment). 56 | 57 | [abhoopathy/spa_viz](https://github.com/abhoopathy/spa_viz) - 58 | Structural path analysis visualizer. A project for H. Scott Matthews of the Carnegie Mellon Civil Engineering Department. 59 | 60 | [kswiebe/GMRIOuncertainties](https://github.com/kswiebe/GMRIOuncertainties) - 61 | MATLAB-scripts used to estimate uncertainties in the economic data in some of the Global Multi-Regional Input-Output databases 62 | 63 | [kswiebe/FEMRIOv1_EXIOfuturesIEAETP](https://github.com/kswiebe/GMRIOuncertainties) - 64 | Forward-looking Environmentally-extended Multi-Regional Input-Output model based on EXIOBASE3 and scenarios from the IEA ETP 2015 65 | 66 | [a-altimiras-martin/MetabX](https://github.com/a-altimiras-martin/MetabX) - 67 | Python package for structural input-output analysis of dissipative systems (either economic or ecological) 68 | 69 | [CIRAIG/OpenIO-Canada](https://github.com/CIRAIG/OpenIO-Canada) - 70 | Python to create symmetric Environmentally Extended Input-Output tables for Canada. 71 | 72 | ## Life Cycle Assessment 73 | 74 | ### Software 75 | 76 | #### openLCA 77 | [openLCA](http://www.openlca.org/) is an open source and free software for Sustainability and Life Cycle Assessment. 78 | 79 | * [Main webpage](http://www.openlca.org/) 80 | * [Source code](https://github.com/GreenDelta/olca-app) 81 | * [Tutorial for accessing the openLCA API (application programming interface) with Python](https://github.com/GreenDelta/openlca-python-tutorial) 82 | 83 | #### Brightway2 84 | 85 | Brightway2 is a framework for life cycle assessment. The main webpage is http://brightwaylca.org/. 86 | 87 | The core modules handle data management and calculation: 88 | 89 | * [cmutel/brightway2-data/](https://bitbucket.org/cmutel/brightway2-data/) 90 | * [cmutel/brightway2-calc/](https://bitbucket.org/cmutel/brightway2-calc/) 91 | * [cmutel/brightway2-io/](https://bitbucket.org/cmutel/brightway2-io/) 92 | 93 | There are also additional packages for e.g. user interfaces, analysis, regionalization, dynamic LCA, found on the webpage and documentation. 94 | 95 | The [LCA-ActivityBrowser](https://github.com/LCA-ActivityBrowser/activity-browser) serves as GUI for Brightway2. 96 | 97 | #### Lcopt 98 | 99 | Lcopt (**L**ife **C**ycle **opt**ions appraisal) is an LCA foreground modelling tool (written in Python) with a GUI which runs in a web browser. It can be used to generate fully parameterised LCA foreground models with multiple scenarios. The models can be analysed (using the Brightway2 framework) and the results visualised from within the GUI. 100 | 101 | * [*Getting started* Video](http://lcopt.readthedocs.io/en/latest/2_Getting_Started.html#video) 102 | * [Main website/documentation](http://lcopt.readthedocs.io) 103 | * [Source code (published version)](https://github.com/pjamesjoyce/lcopt) 104 | * [Source code (development version)](https://github.com/pjamesjoyce/lcopt/tree/development) - new features (including faster calculation, mass flow sankey diagram, import of existing models as `BW2Package` file) added, with more [in the works](https://github.com/pjamesjoyce/lcopt/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement) 105 | 106 | 107 | #### Lcopt-cv 108 | 109 | [Lcopt-cv](https://github.com/pjamesjoyce/lcopt_cv) is an experimental piece of software which lets you take a photo of a hand-drawn process flow chart and, using computer vision techniques, automatically turns it into a working LCA foreground model. The LCA model it generates can be visualised/edited in [lcopt](http://lcopt.readthedocs.io) and analysed using [Brightway2](http://brightwaylca.org/). 110 | 111 | #### LiSET 112 | [majeau-bettez/LiSET](https://github.com/majeau-bettez/LiSET) - 113 | Python-module with clustering tools for the Lifecycle Screening of Emerging Technology (LiSET) framework 114 | 115 | ### Data 116 | 117 | #### Wurst 118 | 119 | [Wurst](https://github.com/IndEcol/wurst) is a tool for linking and modifying industrial ecology models, with a focus on sparse matrices in life cycle assessment. It is used to add new data (e.g. better region-specific) or future scenarios to inventory databases in a reproducible and self-documenting fashion. Where is also a [Wurst examples](https://github.com/IndEcol/wurst-examples) repository. 120 | 121 | #### Ocelot 122 | 123 | The [Ocelot project](https://ocelot.space/) is a joint effort by the Paul Scherrer Institut and the ecoinvent centre to build an open source library for applying system models in life cycle assessment. System models are a set of linking rules and assumptions, including how to handle activities that produce multiple outputs, how to construct markets in time and space, what products are substitutable, and who gets credit for the production of recyclable materials. 124 | 125 | #### Semantic Catalogs of LCA Data 126 | 127 | Supporting code & data for the article [Semantic catalogs for life cycle assessment data](http://www.sciencedirect.com/science/article/pii/S0959652616311210). This works provides a multi-database catalog of life cycle data in an open, linked-data format. 128 | 129 | * [bkuczenski.github.io/lca-tools-datafiles](http://bkuczenski.github.io/lca-tools-datafiles/) 130 | * [bkuczenski/lca-tools](https://github.com/bkuczenski/lca-tools) 131 | * [bkuczenski/lca-tools-datafiles](https://github.com/bkuczenski/lca-tools-datafiles) 132 | 133 | #### Life Cycle Impact Assessment Methods 134 | 135 | The [LCIAformatter](https://github.com/USEPA/lciaformatter) acquires life cycle impact assessment method characterization factors from various providers, optionally maps the associated flows to the [Federal LCA Commons Elementary Flow List](https://github.com/USEPA/Federal-LCA-Commons-Elementary-Flow-List), and provides them in a standardized format. 136 | 137 | [IMPACT World+](https://github.com/CIRAIG/IWP_Reborn) is a life cycle impact assessment methodology which characterizes thousands of substances spanning across many compartments and sub-compartments of the environment. It differentiates 45 impact categories, both at midpoint and damage levels. It also supports the regionalization of the environmental impacts. 138 | 139 | ## Material Flow Analysis 140 | 141 | ### Data provision 142 | 143 | [FLOWSA](https://github.com/USEPA/flowsa) - A Python package collects source data on flows of resources, wastes, emissions, materials, labor, etc. associated with provider-defined activities, standardizes them, and supports flow sector attribution models that combine sources to attribute flows to sectors, and produces from those models standard flow-by-sector datasets. 144 | 145 | [Material-Composition-LCA](https://github.com/levonamatuni/material-composition-lca) - Estimating material composition of products using LCI databases. Developed at the Institute of Environmental Sciences (CML) at Leiden University 146 | 147 | ### Data reconciliation and probabilistic modelling 148 | 149 | [PYMFA 2.1 by Esther Thiébaud at EMPA](https://bitbucket.org/Xeelk/pymfa2/src) - 150 | Tool for probabilistic modelling of dynamic MFA studies 151 | 152 | [ricklupton/bayesian-mfa-paper](https://github.com/ricklupton/bayesian-mfa-paper) - Code and data supporting the paper "Incremental Material Flow Analysis with Bayesian Inference" 153 | 154 | ### MFA systems with optimisation 155 | 156 | [Mat-dp](https://github.com/Mat-dp) - Mat-dp stands for Material Demand Projections. It is a model to study the environmental implications of materials used for building low-carbon systems. The Mat-dp project aims to deliver user-friendly and open-access software to study the environmental implications of materials used for building low-carbon systems. 157 | 158 | ### Dynamic MFA and dynamic stock modelling 159 | 160 | [ODYM](https://github.com/IndEcol/ODYM) - 161 | ODYM is an open source framework for material systems modeling programmed in Python. The description of systems, processes, stocks, flows, and parameters is object-based, which facilitates the development of modular software and testing routines for individual model blocks. ODYM MFA was developed for large MFA models that span many years (historic and future) and where different products, components, sub-components, materials, alloys, waste, and chemical elements need to be traced simultaneously. ODYM features a new data structure for material flow analysis; all input and output data are stored in a standardized file format and can thus be exchanged across projects. It also comes with an extended library for dynamic stock modelling, which can also be used as standalone script. 162 | 163 | [pik-piam/flodym](https://github.com/pik-piam/flodym) - 164 | MFA-Library based on the concepts of ODYM. Features include: 165 | - Arithmetic operations between flows, stocks and parameters with automatic handling of included dimensions: `use_to_recycling[...] = use.outflow * collection_rate`, which vastly increases code flexibility 166 | - Seamless integration of multi-dimensional dynamic stock models into MFA systems 167 | - Versatile performance-optimized input and output functionality 168 | - [Extensive documentation](https://flodym.readthedocs.io/) including howto's and an API reference, and simple installation via `pip install flodym` 169 | 170 | [ODYM-RECC](https://github.com/YaleCIE/RECC-ODYM) - 171 | Open framework for assessing resource efficiency strategies for industry and end-use sectors using the dynamic material systems model (ODYM). Currently working for residential buildings, non-residential buildings, appliances, and passenger vehicles. 172 | 173 | [dynamic_stock_model](https://github.com/stefanpauliuk/dynamic_stock_model) - 174 | Python class for dynamic stock modelling. Supports inflow-driven and stock-driven models. 175 | 176 | [MaTrace_Global](https://github.com/stefanpauliuk/MaTrace_Global) - 177 | Python model code for MaTrace Global, a supply-driven dynamic stock model to trace end-of-life materials through global value chains 178 | 179 | 180 | [dpmfa-simulator](https://pypi.python.org/pypi/dpmfa-simulator) - The dpmfa framework supports the generation and use of dynamic probabilistic material flow models. It enables to model of time dynamic flow models on a period base. Incomplete knowledge about the true values of a system parameter about the absolute inflows to the system over time and the relative transfer coefficients for the flows between the system compartments is represented as Bayesian probability distribution. It is propagated to dependent model variables using Monte-Carlo simulation, while ensuring mass-balance in every element of the Monte-Carlo sample. 181 | 182 | [empa-tsl/PMFA](https://github.com/empa-tsl/PMFA) - 183 | Base functions for performing a Probabilistic MFA 184 | 185 | [Xeelk/pymfa2](https://bitbucket.org/Xeelk/pymfa2/src/master/) - 186 | Tool for probabilistic modelling of dynamic MFA studies 187 | 188 | [pik-piam/simson](https://github.com/pik-piam/simson) - 189 | SIMSON (Simulating In-Use Material Stocks with the ODYM Network). SIMSON is a dynamic MFA model of past and future steel, plastics, and cement cycles. It is based on the flodym library. It takes a stock driven approach, has a temporal scope until 2100 and covers 21 world regions. It is developed to be coupled to the integrated assessment model REMIND. 190 | 191 | ### Metabolism of Cities 192 | 193 | [paulhoekman/mfa-tools](https://github.com/paulhoekman/mfa-tools) - Source code of the [Metabolism of Cities](http://metabolismofcities.org/) website. PHP/MySQL-driven website providing a centralized repository for urban metabolism-related publications, research projects, and data. It also includes online MFA software ([OMAT](http://metabolismofcities.org/omat/about)). 194 | 195 | [tomravalde/urban-metabolism-process-database](https://github.com/tomravalde/urban-metabolism-process-database) - "A YAML database of resource management processes to support urban metabolism studies", created for the article [A Database to Facilitate a Process-Oriented Approach to Urban Metabolism](http://onlinelibrary.wiley.com/doi/10.1111/jiec.12429/abstract). 196 | 197 | ### Visualisation 198 | 199 | [ricklupton/d3-sankey-diagram](https://github.com/ricklupton/d3-sankey-diagram) - Sankey diagram tool for the D3.js library. Features automatic routing, loops, and reversed flows. 200 | * [Source code](https://github.com/ricklupton/d3-sankey-diagram) 201 | * [Examples](https://ricklupton.github.io/d3-sankey-diagram/) 202 | * [Display Sankey diagrams in IPython / Jupyter notebook using d3-sankey-diagram](https://github.com/ricklupton/ipysankeywidget) 203 | 204 | [ricklupton/floweaver](https://github.com/ricklupton/floweaver) - floWeaver takes a database of flow data and transforms it into a Sankey diagram. 205 | * [floWeaver's documentation and news](https://floweaver.readthedocs.io/en/latest/) 206 | 207 | [tomshanley/d3-sankey-circular](https://github.com/tomshanley/d3-sankey-circular) - A fork of the d3-sankey library to allow circular links. 208 | 209 | ## Industrial Symbiosis / Eco-Industrial Parks 210 | 211 | On [isdata-org](https://github.com/isdata-org/) there is a collection of several repositories: 212 | 213 | * [isdata-org/industrial-symbiosis-literature](https://github.com/isdata-org/industrial-symbiosis-literature) - interactive visualization of literature related to IS and EIPs 214 | * [isdata-org/what-links-to-what](https://github.com/isdata-org/what-links-to-what) - linked data for translating between different product and industry classifications 215 | * [isdata-org/awesome-industrial-symbiosis](https://github.com/isdata-org/awesome-industrial-symbiosis/) - links to data sources relevant for Industrial Symbiosis 216 | 217 | [complexly/EIPs](https://github.com/complexly/EIPs) - "R package with network data of Eco-Industrial Park(EIP)". Contains information in R data frames about exchanges documented in 15 different EIPs. 218 | 219 | ### Event Sequence Analysis 220 | 221 | Software developed for the article [Building capacity for sustainable regional industrial systems: an event sequence analysis of developments in the Sloe Area and Canal Zone](http://www.sciencedirect.com/science/article/pii/S0959652614008506): 222 | 223 | * [WouterSpekkink/DynamicNetworks](https://github.com/WouterSpekkink/DynamicNetworks) 224 | * [WouterSpekkink/EventGraphLayout_0.8.2](https://github.com/WouterSpekkink/EventGraphLayout_0.8.2) 225 | 226 | ## Collaboration initiatives and data sharing platforms 227 | 228 | ### BONSAI 229 | 230 | BONSAI (Big Open Network for Sustainability Assessment Information) is an open project to create a framework for supplying reliable, unbiased sustainability information on products – “product footprints” – readily and freely available whenever and wherever it is needed to support product comparisons and decisions. 231 | * [BONSAI Homepage](https://bonsai.uno/) 232 | * [BONSAI Ontology](https://github.com/BONSAMURAIS/BONSAI-ontology-RDF-framework) 233 | * [BONSAI Code](https://gitlab.com/bonsamurais/bonsai) 234 | 235 | ### Liberated data 236 | 237 | [nheeren/liberated_data](https://github.com/nheeren/liberated_data) – A platform to share the data that you so diligently extracted from figures, tables, etc. in publications. 238 | 239 | ### Industrial Ecology Data Commons (IEDC) 240 | 241 | [IndEcol/IE_data_commons](https://github.com/IndEcol/IE_data_commons) – A general, cross-method data model and relational database structure for socioeconomic metabolism and industrial ecology research. 242 | 243 | ### Material Intensity Database Project 244 | 245 | [nheeren/material_intensity_db](https://github.com/nheeren/material_intensity_db) – A database seed for a community-driven material intensity research platform ([publication](https://www.nature.com/articles/s41597-019-0021-x)) 246 | 247 | So far it contains approximaterly 300 material intensity datasets in kg/m2. This project is designed to be colaborative and should be extended to other material intensity data, e.g. for roads, infrastructure, etc. in the future. _Please consider contributing your MI data, code, or further analysis!_ 248 | 249 | ## Miscellaneous 250 | 251 | [simschul/disaggR](https://github.com/simschul/disaggR) - 252 | disaggR is an R-package that helps you with uncertainty propagation when data disaggregation is involved. Data disaggregation usually involves splitting one data point into several disaggregates using proxy data. It is a common problem in many different research disciplines. 253 | 254 | [cfrancois7/IEO-ontology](https://github.com/cfrancois7/IEO-ontology) - 255 | The Industrial Ecology Ontology(IEO): the ontology to represent the knowledge of the Industrial Ecology. Includes the different knowledge items of life cycle assessment (LCA), Supply-Use Tables (SUT) and Input-Output Tables (IOT). 256 | 257 | [majeau-bettez/styles](https://github.com/majeau-bettez/styles) - 258 | Official repository for Citation Style Language (CSL) citation styles. 259 | 260 | [IndEcol/country_converter](https://github.com/IndEcol/country_converter) - 261 | The country converter (coco) - a Python package for converting country names between different classifications and between different naming versions. [Citation: Stadler 2017](https://joss.theoj.org/papers/10.21105/joss.00332) 262 | 263 | [konstantinstadler/sci_python_template](https://github.com/konstantinstadler/sci_python_template) - 264 | Python template for scientific scripts 265 | 266 | [IE_ML_mapping](https://github.com/CIRAIG/IE_ML_mapping) is a Python module relying on machine learning to automatically create mappings between different classifications used within the Industrial ecology community. 24 classifications are covered so far, spanning from databases (ecoinvent, exiobase, etc.) to life cycle impact assessment methods (IW+, UseTox, EF, etc.) to product/industry classifications (CPC, NAICS, etc.) 267 | 268 | 269 | ## Models from other communities 270 | 271 | ### Global Change Assessment Model (GCAM) 272 | The Joint Global Change Research Institute (JGCRI) is the home and primary development institution for GCAM, an integrated assessment tool for exploring consequences and responses to global change. GCAM is a dynamic-recursive model with technology-rich representations of the economy, energy sector, land use and water linked to a climate model that can be used to explore climate change mitigation policies including carbon taxes, carbon trading, regulations and accelerated deployment of energy technology. GCAM has been used to explore the potential role of emerging energy supply technologies and the greenhouse gas consequences of specific policy measures or energy technology adoption including; CO2 capture and storage, bioenergy, hydrogen systems, nuclear energy, renewable energy technology, and energy use technology in buildings, industry and the transportation sectors. GCAM is an Representative Concentration Pathway (RCP)-class model. 273 | 274 | * [GCAM Documentation](http://jgcri.github.io/gcam-doc/) 275 | * [Getting Started with GCAM](http://jgcri.github.io/gcam-doc/user-guide.html) 276 | * [GCAM Community](http://www.globalchange.umd.edu/models/gcam/gcam-community/) 277 | * [2015 Tutorial Slides](http://www.globalchange.umd.edu/data/annual-meetings/2015/GCAM_Tutorial_2015.pdf) 278 | 279 | ### Open Energy Modelling Framework (oemof) 280 | The Open Energy System Modelling Framework (oemof) provides a free, open source and clearly documented toolbox to analyse energy supply systems. It is developed in Python and designed as a framework with a modular structure containing several packages which communicate through well defined interfaces. 281 | 282 | * [oemof - Base packages for energy system modelling and optimisation](https://github.com/oemof/oemof) 283 | 284 | ### The MESSAGEix framework 285 | MESSAGEix is a versatile, open-source, dynamic systems-optimization model. It was developed for strategic energy planning and integrated assessment of energy-engineering-economy-environment systems. It can be applied to analyse scenarios of the energy system transformation under technical-engineering constraints and political-societal considerations. The optimization model can be linked to the general-economy MACRO model to incorporate feedback between prices and demand levels for energy and commodities. The equations are implemented in the mathematical programming system GAMS for numerical solution of a model instance. 286 | 287 | * [MESSAGEix framework docu](http://messageix.iiasa.ac.at/) 288 | * [MESSAGEix model code](https://github.com/iiasa/message_ix/tree/master) 289 | --------------------------------------------------------------------------------