Pymrio: Multi-Regional Input-Output Analysis in Python.
Pymrio is an open source tool for analysing global environmentally extended multi-regional input-output tables (EE MRIOs). Pymrio aims to provide a high-level abstraction layer for global EE MRIO databases in order to simplify common EE MRIO data tasks. Pymrio includes automatic download functions and parsers for available EE MRIO databases like EXIOBASE, WIOD and EORA26. It automatically checks parsed EE MRIOs for missing data necessary for calculating standard EE MRIO accounts (such as footprint, territorial, impacts embodied in trade) and calculates all missing tables. Various data report and visualization methods help to explore the dataset by comparing the different accounts across countries.
Further functions include:
- analysis methods to identify where certain impacts occur
- modifying region/sector classification
- restructuring extensions
- export to various formats
- visualization routines and
- automated report generation
The full source code is available on Github at: https://github.com/konstantinstadler/pymrio
Pymrio is registered at PyPI and on the Anaconda Cloud. Install it by:
pip install pymrio --upgrade
or
conda install -c konstantinstadler pymrio
A small test mrio is included in the package.
To use it call
import pymrio
test_mrio = pymrio.load_test()
The test mrio consists of six regions and eight sectors:
print(test_mrio.get_sectors())
print(test_mrio.get_regions())
The test mrio includes tables flow tables and some satellite accounts. To show these:
test_mrio.Z
test_mrio.emissions.F
However, some tables necessary for calculating footprints (like test_mrio.A or test_mrio.emissions.S) are missing. pymrio automatically identifies which tables are missing and calculates them:
test_mrio.calc_all()
Now, all accounts are calculated, including footprints and emissions embodied in trade:
test_mrio.A
test_mrio.emissions.D_fp
test_mrio.emissions.D_exp
To visualize the accounts:
import matplotlib as plt
test_mrio.emissions.plot_account('emission_type1')
plt.show()
Everything can be saved with
test_mrio.save_all('some/folder')
See the documentation and tutorials for further examples.
The documentation includes information about how to use pymrio for automatic downloading and parsing of the EE MRIOs EXIOBASE, WIOD and EORA26 as well as tutorials for the handling, aggregating and analysis of these databases.
Want to contribute? Great! Please check CONTRIBUTING.rst if you want to help to improve Pymrio.
Please use the issue tracker for documenting bugs, proposing enhancements and all other communication related to pymrio.
You can follow me on twitter to get the latest news about all my open-source and research projects (and occasionally some random retweets).