{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Quick Start Pymrio Tutorial using WIOD" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook contains the interactive version of the quick start given in the Pymrio article [(Stadler et al 2018 sub)](https://github.com/konstantinstadler/pymrio_article)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pymrio requires a Python version >= 3.7. If you don't have Python installed, I recommend to use the [Anaconda Scientific Python package](https://www.anaconda.com/download)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pymrio is available on \n", "\n", "\n", "\"the\n", "\n", "
\n", "\n", "\n", "and on\n", "\n", " \n", "
\n", "\n", "Thus, two possibilities exist to install Pymrio and all required packages. \n", "\n", "For using the version on PyPI use:\n", "\n", "```\n", "pip install pymrio --upgrade\n", "```\n", "\n", "To install from the Anaconda Cloud do:\n", "\n", "```\n", "conda install -c conda-forge pymrio\n", "```\n", "\n", "Further down in that notebood we will also use the [country_converter](https://github.com/konstantinstadler/country_converter) package as well as [seaborn](https://seaborn.pydata.org/) and [matplotlib](https://matplotlib.org/) for some plotting. You can install these packages with pip or conda analog to pymrio. Alternatively, you can also run this notebook in the cloud via binder following this link:\n", "\n", "[![badge](https://img.shields.io/badge/launch-binder-579ACA.svg?logo=data:image/png;base64,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)](https://mybinder.org/v2/gh/konstantinstadler/pymrio_article/master?filepath=%2Fnotebook%2Fpymrio-tutorial-for-wiod.ipynb)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can than import the Pymrio package with" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pymrio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this example here, we will use the [WIOD MRIO database](http://www.wiod.org/home).\n", "\n", "First, the Pymrio MRIO download function is used to get the WIOD MRIO database with:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Description: WIOD metadata file for pymrio\n", "MRIO Name: WIOD\n", "System: IxI\n", "Version: data13\n", "File: /tmp/wiod/raw/metadata.json\n", "History:\n", "20201120 14:24:19 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/water/wat_may12.zip to wat_may12.zip\n", "20201120 14:24:19 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/materials/mat_may12.zip to mat_may12.zip\n", "20201120 14:24:18 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/land/lan_may12.zip to lan_may12.zip\n", "20201120 14:24:17 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/AIR/AIR_may12.zip to AIR_may12.zip\n", "20201120 14:24:17 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/CO2/CO2_may12.zip to CO2_may12.zip\n", "20201120 14:24:16 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/EM/EM_may12.zip to EM_may12.zip\n", "20201120 14:24:15 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/EU/EU_may12.zip to EU_may12.zip\n", "20201120 14:24:14 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/SEA/WIOD_SEA_July14.xlsx to WIOD_SEA_July14.xlsx\n", "20201120 14:24:13 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/update_sep12/wiot/wiot08_row_sep12.xlsx to wiot08_row_sep12.xlsx" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_wiod_path = '/tmp/wiod/raw'\n", "pymrio.download_wiod2013(storage_folder=raw_wiod_path,\n", " years=[2008])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This downloads the 2008 MRIO table from WIOD. Omitting the year parameter would result getting all years.\n", "The function returns a Pymrio meta data object, which gives information about the WIOD version, system (in this case industry by industry) and records about from where the data was received." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To parse the database into a Pymrio object use:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "wiod = pymrio.parse_wiod(raw_wiod_path, year=2008)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The available data can be explored by for example:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['AtB', 'C', '15t16', '17t18', '19', '20', '21t22', '23', '24', '25',\n", " '26', '27t28', '29', '30t33', '34t35', '36t37', 'E', 'F', '50', '51',\n", " '52', 'H', '60', '61', '62', '63', '64', 'J', '70', '71t74', 'L', 'M',\n", " 'N', 'O', 'P'],\n", " dtype='object', name='sector')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.get_sectors()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['AUS', 'AUT', 'BEL', 'BGR', 'BRA', 'CAN', 'CHN', 'CYP', 'CZE', 'DEU',\n", " 'DNK', 'ESP', 'EST', 'FIN', 'FRA', 'GBR', 'GRC', 'HUN', 'IDN', 'IND',\n", " 'IRL', 'ITA', 'JPN', 'KOR', 'LTU', 'LUX', 'LVA', 'MEX', 'MLT', 'NLD',\n", " 'POL', 'PRT', 'ROU', 'RUS', 'SVK', 'SVN', 'SWE', 'TUR', 'TWN', 'USA',\n", " 'RoW'],\n", " dtype='object', name='region')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.get_regions()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regionAUS...RoW
sectorAtBC15t1617t18192021t22232425...6364J7071t74LMNOP
regionsector
AUSAtB4445.32433041.91940015625.681890536.968630154.395870936.835140273.0186000.000000215.70844093.909230...19.7619170.0016270.1400440.04366711.6800063.11382761.7116879.89835910.2569830.000038
C16.2779343838.070873189.93427511.3136863.25306314.27158258.1360674424.333299193.32889520.968263...0.2118880.0343000.0058170.08810114.4188320.3158090.1821570.2733870.4935100.000861
15t161049.495726100.6113476754.11052268.38776119.66369714.57036649.43198036.266290835.58764354.070009...1.6217561.5881103.7016852.74395427.66527414.86558386.09679846.73685279.6371330.006089
17t1836.90842043.779214108.986668355.675875102.26833318.33569150.18823415.53864945.91794345.612614...0.4010320.1813671.4925790.6324271.4927506.5505540.8787642.2526242.4287350.001057
199.51810711.28997828.10596591.72326626.3734104.72848912.9427644.00717611.84152211.762783...0.0397080.0179580.1477860.0626190.1478030.6485940.0870100.2230400.2404780.000105
.....................................................................
RoWL0.5474320.7804061.1760730.2009030.0577660.2485890.6369370.2381981.0788930.160527...608.700335709.0041461595.531658620.2539371194.9827054557.146576518.488155921.621306901.6242860.000000
M1.3190369.92757511.7421832.6398740.7590491.0032954.4742554.1207254.5172801.687657...91.678620463.4023981802.804212212.1931331571.9992397706.6763305223.1895391488.980938527.9100830.001030
N7.8948450.29104111.6035072.2794030.6554041.7490956.7932790.16489618.5503740.174962...39.843405106.735687305.27467270.364956895.5996031415.975389840.5305183513.234966395.2446680.000020
O1.2449263.6866204.3813570.1552170.0446330.5626922.5337300.7583052.1410300.484539...5414.9440764371.2406635815.5251022897.01457814958.97052115443.3917457897.3570038895.57057616565.73312744.703532
P0.0010180.0001040.0036660.0001350.0000390.0000310.0000960.0000210.0001160.000052...1.3240620.2446111.1047261.14193450.5520860.0000001.0899084.57010841.5174643.460032
\n", "

1435 rows × 1435 columns

\n", "
" ], "text/plain": [ "region AUS \\\n", "sector AtB C 15t16 17t18 19 \n", "region sector \n", "AUS AtB 4445.324330 41.919400 15625.681890 536.968630 154.395870 \n", " C 16.277934 3838.070873 189.934275 11.313686 3.253063 \n", " 15t16 1049.495726 100.611347 6754.110522 68.387761 19.663697 \n", " 17t18 36.908420 43.779214 108.986668 355.675875 102.268333 \n", " 19 9.518107 11.289978 28.105965 91.723266 26.373410 \n", "... ... ... ... ... ... \n", "RoW L 0.547432 0.780406 1.176073 0.200903 0.057766 \n", " M 1.319036 9.927575 11.742183 2.639874 0.759049 \n", " N 7.894845 0.291041 11.603507 2.279403 0.655404 \n", " O 1.244926 3.686620 4.381357 0.155217 0.044633 \n", " P 0.001018 0.000104 0.003666 0.000135 0.000039 \n", "\n", "region \\\n", "sector 20 21t22 23 24 25 \n", "region sector \n", "AUS AtB 936.835140 273.018600 0.000000 215.708440 93.909230 \n", " C 14.271582 58.136067 4424.333299 193.328895 20.968263 \n", " 15t16 14.570366 49.431980 36.266290 835.587643 54.070009 \n", " 17t18 18.335691 50.188234 15.538649 45.917943 45.612614 \n", " 19 4.728489 12.942764 4.007176 11.841522 11.762783 \n", "... ... ... ... ... ... \n", "RoW L 0.248589 0.636937 0.238198 1.078893 0.160527 \n", " M 1.003295 4.474255 4.120725 4.517280 1.687657 \n", " N 1.749095 6.793279 0.164896 18.550374 0.174962 \n", " O 0.562692 2.533730 0.758305 2.141030 0.484539 \n", " P 0.000031 0.000096 0.000021 0.000116 0.000052 \n", "\n", "region ... RoW \\\n", "sector ... 63 64 J 70 \n", "region sector ... \n", "AUS AtB ... 19.761917 0.001627 0.140044 0.043667 \n", " C ... 0.211888 0.034300 0.005817 0.088101 \n", " 15t16 ... 1.621756 1.588110 3.701685 2.743954 \n", " 17t18 ... 0.401032 0.181367 1.492579 0.632427 \n", " 19 ... 0.039708 0.017958 0.147786 0.062619 \n", "... ... ... ... ... ... \n", "RoW L ... 608.700335 709.004146 1595.531658 620.253937 \n", " M ... 91.678620 463.402398 1802.804212 212.193133 \n", " N ... 39.843405 106.735687 305.274672 70.364956 \n", " O ... 5414.944076 4371.240663 5815.525102 2897.014578 \n", " P ... 1.324062 0.244611 1.104726 1.141934 \n", "\n", "region \\\n", "sector 71t74 L M N \n", "region sector \n", "AUS AtB 11.680006 3.113827 61.711687 9.898359 \n", " C 14.418832 0.315809 0.182157 0.273387 \n", " 15t16 27.665274 14.865583 86.096798 46.736852 \n", " 17t18 1.492750 6.550554 0.878764 2.252624 \n", " 19 0.147803 0.648594 0.087010 0.223040 \n", "... ... ... ... ... \n", "RoW L 1194.982705 4557.146576 518.488155 921.621306 \n", " M 1571.999239 7706.676330 5223.189539 1488.980938 \n", " N 895.599603 1415.975389 840.530518 3513.234966 \n", " O 14958.970521 15443.391745 7897.357003 8895.570576 \n", " P 50.552086 0.000000 1.089908 4.570108 \n", "\n", "region \n", "sector O P \n", "region sector \n", "AUS AtB 10.256983 0.000038 \n", " C 0.493510 0.000861 \n", " 15t16 79.637133 0.006089 \n", " 17t18 2.428735 0.001057 \n", " 19 0.240478 0.000105 \n", "... ... ... \n", "RoW L 901.624286 0.000000 \n", " M 527.910083 0.001030 \n", " N 395.244668 0.000020 \n", " O 16565.733127 44.703532 \n", " P 41.517464 3.460032 \n", "\n", "[1435 rows x 1435 columns]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.Z" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "WIOD includes several satellite accounts, which are stored as child objects in Pymrio. \n", "For example, in order to see the AIR emissions provided by WIOD:\n", "\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regionAUS...RoW
sectorAtBC15t1617t18192021t22232425...6364J7071t74LMNOP
stressor
CO26.471152e+032.331841e+043256.861259392.81989691.570641147.0752932100.1673067928.8506948832.60733182.623337...4.530961e+0423843.71627517594.61741611774.7698705.787274e+041.118612e+0525382.4702484.575128e+044.851286e+040.0
CH43.226169e+061.370016e+061221.45009341.7235746.11247164.722688189.78754433785.867211768.01832522.631731...2.031444e+042430.9697693979.9622455525.3202181.617241e+048.865122e+045001.0120411.394311e+041.360473e+070.0
N2O6.527106e+041.243851e+02527.65244010.7733781.33536214.793543111.798406146.52369810421.1859196.723839...7.185897e+02320.774141342.725185215.4780881.228492e+032.995831e+03272.1083247.680525e+039.170715e+040.0
NOX2.000881e+051.709849e+0570375.5331773875.234721964.7093389146.37383236269.74710818894.32146934546.808023663.707765...1.419601e+0587411.63972068809.56919960385.6014112.027940e+054.224802e+0599579.0169811.666314e+051.565510e+050.0
SOX1.976645e+044.713841e+0445815.6753971068.354291265.9584352521.54216026680.445075150018.06995891733.983039182.976023...6.973313e+0442938.02611533800.38503729662.3943759.961571e+042.075292e+0548914.8406938.185206e+047.690040e+040.0
CO1.496859e+067.159254e+05227663.41313816225.8757074039.30469938296.49960682187.57169256833.653485393632.6862532778.990301...1.385415e+06853066.323392671525.284261589314.2280141.979104e+064.123062e+06971810.0035031.626186e+061.527810e+060.0
NMVOC3.824729e+052.409498e+05141642.7408875460.9334121359.45661012888.95823128691.90175365893.299291105133.073315935.288872...3.377663e+05207978.880902163718.896513143675.7146324.825085e+051.005209e+06236928.7726363.964667e+053.724824e+050.0
NH34.049434e+054.575323e+02112.1579854.3136570.44987413.34297448.3331374.143371366.3289544.740067...4.569925e+02324.340516229.110878244.6634501.643215e+031.357458e+03113.8296146.203676e+024.965187e+030.0
\n", "

8 rows × 1435 columns

\n", "
" ], "text/plain": [ "region AUS \\\n", "sector AtB C 15t16 17t18 \n", "stressor \n", "CO2 6.471152e+03 2.331841e+04 3256.861259 392.819896 \n", "CH4 3.226169e+06 1.370016e+06 1221.450093 41.723574 \n", "N2O 6.527106e+04 1.243851e+02 527.652440 10.773378 \n", "NOX 2.000881e+05 1.709849e+05 70375.533177 3875.234721 \n", "SOX 1.976645e+04 4.713841e+04 45815.675397 1068.354291 \n", "CO 1.496859e+06 7.159254e+05 227663.413138 16225.875707 \n", "NMVOC 3.824729e+05 2.409498e+05 141642.740887 5460.933412 \n", "NH3 4.049434e+05 4.575323e+02 112.157985 4.313657 \n", "\n", "region \\\n", "sector 19 20 21t22 23 \n", "stressor \n", "CO2 91.570641 147.075293 2100.167306 7928.850694 \n", "CH4 6.112471 64.722688 189.787544 33785.867211 \n", "N2O 1.335362 14.793543 111.798406 146.523698 \n", "NOX 964.709338 9146.373832 36269.747108 18894.321469 \n", "SOX 265.958435 2521.542160 26680.445075 150018.069958 \n", "CO 4039.304699 38296.499606 82187.571692 56833.653485 \n", "NMVOC 1359.456610 12888.958231 28691.901753 65893.299291 \n", "NH3 0.449874 13.342974 48.333137 4.143371 \n", "\n", "region ... RoW \\\n", "sector 24 25 ... 63 64 \n", "stressor ... \n", "CO2 8832.607331 82.623337 ... 4.530961e+04 23843.716275 \n", "CH4 768.018325 22.631731 ... 2.031444e+04 2430.969769 \n", "N2O 10421.185919 6.723839 ... 7.185897e+02 320.774141 \n", "NOX 34546.808023 663.707765 ... 1.419601e+05 87411.639720 \n", "SOX 91733.983039 182.976023 ... 6.973313e+04 42938.026115 \n", "CO 393632.686253 2778.990301 ... 1.385415e+06 853066.323392 \n", "NMVOC 105133.073315 935.288872 ... 3.377663e+05 207978.880902 \n", "NH3 366.328954 4.740067 ... 4.569925e+02 324.340516 \n", "\n", "region \\\n", "sector J 70 71t74 L \n", "stressor \n", "CO2 17594.617416 11774.769870 5.787274e+04 1.118612e+05 \n", "CH4 3979.962245 5525.320218 1.617241e+04 8.865122e+04 \n", "N2O 342.725185 215.478088 1.228492e+03 2.995831e+03 \n", "NOX 68809.569199 60385.601411 2.027940e+05 4.224802e+05 \n", "SOX 33800.385037 29662.394375 9.961571e+04 2.075292e+05 \n", "CO 671525.284261 589314.228014 1.979104e+06 4.123062e+06 \n", "NMVOC 163718.896513 143675.714632 4.825085e+05 1.005209e+06 \n", "NH3 229.110878 244.663450 1.643215e+03 1.357458e+03 \n", "\n", "region \n", "sector M N O P \n", "stressor \n", "CO2 25382.470248 4.575128e+04 4.851286e+04 0.0 \n", "CH4 5001.012041 1.394311e+04 1.360473e+07 0.0 \n", "N2O 272.108324 7.680525e+03 9.170715e+04 0.0 \n", "NOX 99579.016981 1.666314e+05 1.565510e+05 0.0 \n", "SOX 48914.840693 8.185206e+04 7.690040e+04 0.0 \n", "CO 971810.003503 1.626186e+06 1.527810e+06 0.0 \n", "NMVOC 236928.772636 3.964667e+05 3.724824e+05 0.0 \n", "NH3 113.829614 6.203676e+02 4.965187e+03 0.0 \n", "\n", "[8 rows x 1435 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.AIR.F\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "WIOD, however, does neither provide any normalized data (A-matrix, satellite account coefficient data) nor any consumption based accounts (footprints).\n", "\n", "In order to calculate them, one could go through all the missing data and compute each account. \n", "Pymrio provides the required function, for example to calculate the A-matrix:\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "x = pymrio.calc_x(Z=wiod.Z, Y=wiod.Y)\n", "A = pymrio.calc_A(Z=wiod.Z, x=x)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regionAUS...RoW
sectorAtBC15t1617t18192021t22232425...6364J7071t74LMNOP
regionsector
AUSAtB0.0954520.0003460.2208110.0867800.0967570.0936370.0095590.0000000.0086430.008967...1.143737e-045.153717e-092.285107e-077.786856e-081.517644e-054.463792e-061.377724e-042.552552e-052.604967e-056.252650e-09
C0.0003500.0317180.0026840.0018280.0020390.0014260.0020350.2209100.0077460.002002...1.226316e-061.086802e-079.492337e-091.571046e-071.873514e-054.527246e-074.066696e-077.050016e-071.253368e-061.432423e-07
15t160.0225350.0008310.0954440.0110520.0123230.0014560.0017310.0018110.0334810.005163...9.386042e-065.031958e-066.040074e-064.893121e-063.594692e-052.131039e-051.922126e-041.205233e-042.022545e-041.013494e-06
17t180.0007930.0003620.0015400.0574810.0640900.0018330.0017570.0007760.0018400.004355...2.321002e-065.746660e-072.435455e-061.127767e-061.939607e-069.390472e-061.961856e-065.808983e-066.168260e-061.759452e-07
190.0002040.0000930.0003970.0148240.0165280.0004730.0004530.0002000.0004740.001123...2.298108e-075.689976e-082.411432e-071.116643e-071.920475e-079.297846e-071.942504e-075.751684e-076.107418e-071.742097e-08
\n", "

5 rows × 1435 columns

\n", "
" ], "text/plain": [ "region AUS \\\n", "sector AtB C 15t16 17t18 19 20 \n", "region sector \n", "AUS AtB 0.095452 0.000346 0.220811 0.086780 0.096757 0.093637 \n", " C 0.000350 0.031718 0.002684 0.001828 0.002039 0.001426 \n", " 15t16 0.022535 0.000831 0.095444 0.011052 0.012323 0.001456 \n", " 17t18 0.000793 0.000362 0.001540 0.057481 0.064090 0.001833 \n", " 19 0.000204 0.000093 0.000397 0.014824 0.016528 0.000473 \n", "\n", "region ... RoW \\\n", "sector 21t22 23 24 25 ... 63 \n", "region sector ... \n", "AUS AtB 0.009559 0.000000 0.008643 0.008967 ... 1.143737e-04 \n", " C 0.002035 0.220910 0.007746 0.002002 ... 1.226316e-06 \n", " 15t16 0.001731 0.001811 0.033481 0.005163 ... 9.386042e-06 \n", " 17t18 0.001757 0.000776 0.001840 0.004355 ... 2.321002e-06 \n", " 19 0.000453 0.000200 0.000474 0.001123 ... 2.298108e-07 \n", "\n", "region \\\n", "sector 64 J 70 71t74 \n", "region sector \n", "AUS AtB 5.153717e-09 2.285107e-07 7.786856e-08 1.517644e-05 \n", " C 1.086802e-07 9.492337e-09 1.571046e-07 1.873514e-05 \n", " 15t16 5.031958e-06 6.040074e-06 4.893121e-06 3.594692e-05 \n", " 17t18 5.746660e-07 2.435455e-06 1.127767e-06 1.939607e-06 \n", " 19 5.689976e-08 2.411432e-07 1.116643e-07 1.920475e-07 \n", "\n", "region \\\n", "sector L M N O \n", "region sector \n", "AUS AtB 4.463792e-06 1.377724e-04 2.552552e-05 2.604967e-05 \n", " C 4.527246e-07 4.066696e-07 7.050016e-07 1.253368e-06 \n", " 15t16 2.131039e-05 1.922126e-04 1.205233e-04 2.022545e-04 \n", " 17t18 9.390472e-06 1.961856e-06 5.808983e-06 6.168260e-06 \n", " 19 9.297846e-07 1.942504e-07 5.751684e-07 6.107418e-07 \n", "\n", "region \n", "sector P \n", "region sector \n", "AUS AtB 6.252650e-09 \n", " C 1.432423e-07 \n", " 15t16 1.013494e-06 \n", " 17t18 1.759452e-07 \n", " 19 1.742097e-08 \n", "\n", "[5 rows x 1435 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, Pymrio provides a function which iterates through all missing accounts and calculates them:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.calc_all()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this point, a basic EE MRIO analysis is accomplished. For example, the regional consumption based accounts of the AIR emissions are now given by:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regionAUSAUTBELBGRBRACANCHNCYPCZEDEU...PRTROURUSSVKSVNSWETURTWNUSARoW
stressor
CO24.404070e+051.022100e+051.586176e+0542924.9869754.059629e+055.659664e+055.031700e+0613943.187686108758.7456421.054136e+06...7.658922e+041.173831e+051.311461e+0640459.23337724251.7283419.434506e+043.494179e+052.246294e+056.210161e+065.620778e+06
CH44.275465e+067.599975e+051.030354e+06464018.7486071.352464e+074.068558e+065.433871e+07157009.091900780222.0894246.668537e+06...8.948877e+051.344168e+061.532052e+07411099.098085182504.0045547.352664e+053.652537e+061.104729e+063.917121e+077.560548e+07
N2O9.588178e+043.086814e+044.609171e+0413203.7130815.899229e+051.634371e+051.831795e+063200.30966527441.7285712.914646e+05...3.091511e+045.163863e+044.422776e+0513658.6741827011.7414633.576881e+049.538255e+043.551477e+041.182906e+063.590470e+06
NOX2.359815e+063.324339e+054.508892e+05142917.8187202.786076e+061.904551e+061.925370e+0735972.513098292246.7178212.701648e+06...3.025544e+053.380263e+054.444685e+06125333.62473073379.1825973.524920e+051.797639e+068.632669e+051.845556e+073.504645e+07
SOX2.399335e+061.983047e+053.702525e+05400357.9517501.699074e+062.088103e+063.245490e+0743500.967386225907.7852771.951840e+06...1.918064e+054.979996e+051.398364e+06103186.61082648180.2283652.078760e+051.548830e+061.075249e+061.523013e+072.860410e+07
CO2.173900e+071.371366e+062.167114e+06703172.2847722.681292e+077.525147e+069.904520e+07144686.477852829881.0935711.099191e+07...1.194956e+062.055640e+062.165403e+07455232.910264580264.6810742.048666e+064.860666e+064.927789e+061.005814e+083.566157e+08
NMVOC3.101630e+063.582680e+055.920832e+05190582.6505395.323333e+062.131757e+062.016103e+0743518.270216273912.6551262.923060e+06...4.003833e+056.065405e+054.179851e+06138654.031320142881.8416425.666544e+051.738178e+061.095519e+062.095710e+074.208942e+07
NH33.851776e+059.254548e+041.245648e+0545897.3946391.345046e+064.204562e+056.415339e+068931.59474567224.1404418.505438e+05...8.987684e+041.911781e+057.889417e+0535515.96817023476.6333398.488958e+045.979386e+051.032068e+053.090159e+068.572543e+06
\n", "

8 rows × 41 columns

\n", "
" ], "text/plain": [ "region AUS AUT BEL BGR \\\n", "stressor \n", "CO2 4.404070e+05 1.022100e+05 1.586176e+05 42924.986975 \n", "CH4 4.275465e+06 7.599975e+05 1.030354e+06 464018.748607 \n", "N2O 9.588178e+04 3.086814e+04 4.609171e+04 13203.713081 \n", "NOX 2.359815e+06 3.324339e+05 4.508892e+05 142917.818720 \n", "SOX 2.399335e+06 1.983047e+05 3.702525e+05 400357.951750 \n", "CO 2.173900e+07 1.371366e+06 2.167114e+06 703172.284772 \n", "NMVOC 3.101630e+06 3.582680e+05 5.920832e+05 190582.650539 \n", "NH3 3.851776e+05 9.254548e+04 1.245648e+05 45897.394639 \n", "\n", "region BRA CAN CHN CYP \\\n", "stressor \n", "CO2 4.059629e+05 5.659664e+05 5.031700e+06 13943.187686 \n", "CH4 1.352464e+07 4.068558e+06 5.433871e+07 157009.091900 \n", "N2O 5.899229e+05 1.634371e+05 1.831795e+06 3200.309665 \n", "NOX 2.786076e+06 1.904551e+06 1.925370e+07 35972.513098 \n", "SOX 1.699074e+06 2.088103e+06 3.245490e+07 43500.967386 \n", "CO 2.681292e+07 7.525147e+06 9.904520e+07 144686.477852 \n", "NMVOC 5.323333e+06 2.131757e+06 2.016103e+07 43518.270216 \n", "NH3 1.345046e+06 4.204562e+05 6.415339e+06 8931.594745 \n", "\n", "region CZE DEU ... PRT ROU \\\n", "stressor ... \n", "CO2 108758.745642 1.054136e+06 ... 7.658922e+04 1.173831e+05 \n", "CH4 780222.089424 6.668537e+06 ... 8.948877e+05 1.344168e+06 \n", "N2O 27441.728571 2.914646e+05 ... 3.091511e+04 5.163863e+04 \n", "NOX 292246.717821 2.701648e+06 ... 3.025544e+05 3.380263e+05 \n", "SOX 225907.785277 1.951840e+06 ... 1.918064e+05 4.979996e+05 \n", "CO 829881.093571 1.099191e+07 ... 1.194956e+06 2.055640e+06 \n", "NMVOC 273912.655126 2.923060e+06 ... 4.003833e+05 6.065405e+05 \n", "NH3 67224.140441 8.505438e+05 ... 8.987684e+04 1.911781e+05 \n", "\n", "region RUS SVK SVN SWE \\\n", "stressor \n", "CO2 1.311461e+06 40459.233377 24251.728341 9.434506e+04 \n", "CH4 1.532052e+07 411099.098085 182504.004554 7.352664e+05 \n", "N2O 4.422776e+05 13658.674182 7011.741463 3.576881e+04 \n", "NOX 4.444685e+06 125333.624730 73379.182597 3.524920e+05 \n", "SOX 1.398364e+06 103186.610826 48180.228365 2.078760e+05 \n", "CO 2.165403e+07 455232.910264 580264.681074 2.048666e+06 \n", "NMVOC 4.179851e+06 138654.031320 142881.841642 5.666544e+05 \n", "NH3 7.889417e+05 35515.968170 23476.633339 8.488958e+04 \n", "\n", "region TUR TWN USA RoW \n", "stressor \n", "CO2 3.494179e+05 2.246294e+05 6.210161e+06 5.620778e+06 \n", "CH4 3.652537e+06 1.104729e+06 3.917121e+07 7.560548e+07 \n", "N2O 9.538255e+04 3.551477e+04 1.182906e+06 3.590470e+06 \n", "NOX 1.797639e+06 8.632669e+05 1.845556e+07 3.504645e+07 \n", "SOX 1.548830e+06 1.075249e+06 1.523013e+07 2.860410e+07 \n", "CO 4.860666e+06 4.927789e+06 1.005814e+08 3.566157e+08 \n", "NMVOC 1.738178e+06 1.095519e+06 2.095710e+07 4.208942e+07 \n", "NH3 5.979386e+05 1.032068e+05 3.090159e+06 8.572543e+06 \n", "\n", "[8 rows x 41 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.AIR.D_cba_reg" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
unitunit
stressor
CO2Gg
CH4t
N2Ot
NOXUnnamed: 0
SOXUnnamed: 0
COt
NMVOCt
NH3t
\n", "
" ], "text/plain": [ "unit unit\n", "stressor \n", "CO2 Gg\n", "CH4 t\n", "N2O t\n", "NOX Unnamed: 0\n", "SOX Unnamed: 0\n", "CO t\n", "NMVOC t\n", "NH3 t" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.AIR.unit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pymrio can be linked with the [country converter coco](http://joss.theoj.org/papers/af694f2e5994b8aacbad119c4005e113) to ease the aggregation of MRIO and results into different classifications.\n", "Using the country converter, WIOD can be aggregated into EU and non-EU countries with singling out Germany by:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import country_converter as coco\n", "wiod.aggregate(region_agg = coco.agg_conc(original_countries='WIOD',\n", " aggregates=[{'DEU': 'DEU', 'GBR':'GBR'}, 'EU'],\n", " missing_countries='Other',\n", " merge_multiple_string=None))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We rename the EU account to reflect that is does not include Germany:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.rename_regions({'EU':'Rest of EU'})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The regional footprint account are now:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regionOtherRest of EUDEUGBR
stressor
CO22.436179e+073.472823e+061.054136e+067.397044e+05
CH42.540661e+082.711250e+076.668537e+065.235498e+06
N2O9.705186e+061.128531e+062.914646e+052.118832e+05
NOX1.043111e+081.093267e+072.701648e+062.164933e+06
SOX1.037493e+088.344435e+061.951840e+061.421854e+06
CO7.661455e+085.466639e+071.099191e+071.068169e+07
NMVOC1.280392e+081.577316e+072.923060e+062.986943e+06
NH32.672782e+073.493227e+068.505438e+055.900984e+05
\n", "
" ], "text/plain": [ "region Other Rest of EU DEU GBR\n", "stressor \n", "CO2 2.436179e+07 3.472823e+06 1.054136e+06 7.397044e+05\n", "CH4 2.540661e+08 2.711250e+07 6.668537e+06 5.235498e+06\n", "N2O 9.705186e+06 1.128531e+06 2.914646e+05 2.118832e+05\n", "NOX 1.043111e+08 1.093267e+07 2.701648e+06 2.164933e+06\n", "SOX 1.037493e+08 8.344435e+06 1.951840e+06 1.421854e+06\n", "CO 7.661455e+08 5.466639e+07 1.099191e+07 1.068169e+07\n", "NMVOC 1.280392e+08 1.577316e+07 2.923060e+06 2.986943e+06\n", "NH3 2.672782e+07 3.493227e+06 8.505438e+05 5.900984e+05" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.AIR.D_cba_reg" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To visualize for example the CH4 accounts:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAFgCAYAAAC2QAPxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3XdYFFf/Pv57Yd2lI7ICUizYsZfE3kIRSyxRNEYJtiSGGINRIxqNjzHEijEajQ0xGh8TW2IhsWAJfqPx0YAFjQIqUaNoKBZAkGXP7w9/7MeVBZGyyw7367q4rp2ZM7Pv2Vnl5syZGZkQQoCIiIhIQsyMXQARERFReWPAISIiIslhwCEiIiLJYcAhIiIiyWHAISIiIslhwCEiIiLJYcChSqFnz54YP368scvQcezYMchkMty6datctle3bl188cUX5bItoooyevRo+Pj4GLsMojJjwCGDSElJgYWFBVxcXJCXl1do+a5du7B06dKX3m5ycjJkMpnenyVLlpSp5s6dO+POnTtwdXUt03YKnD59GpMnTy6XbZVU//79YW5ujj179hj0fcubj48PRo8ebdD3vHjxIgIDA+Hu7g6lUok6depg8ODBOHr0qLZNUaG1uHCs0Wjg7e0NmUyG77//vtgavvjiC9StW/ela7916xZkMhmOHTv20utWNaX9jKnyY8Ahg9iwYQP69esHR0dH7N69u9DyGjVqwM7Orsj1nzx5Uuz2d+/ejTt37uj8BAcHl6lmhUIBFxcXmJmVzz+TmjVrwtrauly2VRI3b97EkSNHMHXqVKxdu9Zg7ysFBw4cQPv27XH79m2sW7cOly5dwt69e9GxY0e89957Zdr2559/Disrq3KqlIiKJIgqWH5+vqhbt67YvXu3WLhwofD19S3UpkePHmLcuHE602PHjhWzZs0SLi4uQqVS6d329evXBQBx/PjxIt//6NGjAoCIiooSHTt2FBYWFqJt27YiPj5exMfHiy5dughLS0vxyiuviIsXLxZa7+bNm0IIIZ48eSImT54s3NzchEKhEC4uLmL48OHa9vHx8cLPz0/Y29sLKysr0aRJE7Fp0ybt8jp16oh58+Zppx8+fCjeffddoVKphFKpFO3atRMHDhwotG8//vij6N+/v7C0tBT16tXT2WZxPvvsMzF48GBx+/ZtoVAoxI0bNwq1OXTokOjatauwtLQUdnZ2onv37iIpKUm7/IcffhBt27YVSqVS1KhRQ/j7+4v09HTt5zF9+nTh6uoqqlWrJpo2bSq2bNmis30AYvPmzTrzvL29RVBQkM7nMnv2bDFp0iTh4OAgnJycxJQpU4RarRZCCBEUFCQA6PwcPXpUCCFEWFiYqFevnlAoFEKlUgk/Pz+RnZ1dos+nKFlZWcLJyUn4+/vrXV6w/wW1P3tMCzz/3Slw5MgR4eHhIVJTU/V+Ns+KjIwstN9z5swRQrz4u/P8enXq1BFCCHHt2jUxePBgUatWLWFpaSmaN29e6PsUFBQkvL29i/2Mli1bJlq1aiWsra2Fs7OzGD58uLh9+7ZOm6SkJDF06FDh4OAgLC0tRYsWLcTevXu1y8+cOSN69+4tbG1thbW1tXjllVfEH3/8oV2+ceNG0bRpU6FQKISbm5v49NNPRV5ennb58/9nCCHEvHnztPv67L6sWbNG1K5dW9ja2ooBAwaIe/fuvfAzJtPHHhyqcAcPHkRWVhb69u2LwMBAHDt2DNeuXXvhetu2bcO///6Lw4cP48iRI2Wu49NPP0VYWBj+/PNPKBQKjBgxAu+//z7mzp2rnTdmzJgi11+xYgW2bduG77//HomJidizZw86duyoXT5ixAg4OjrixIkTuHDhApYuXQoHB4citzd27FgcOHAA33//PeLi4tClSxf0798fly9f1mkXGhqKwMBAnD9/HsOGDcOYMWOQmJhY7L7m5+cjIiICo0ePRq1ateDt7Y2IiAidNtHR0ejduzfatWuHkydP4tSpU3j77be1pxAjIyMxatQoDBo0CLGxsTh69Cj8/f2Rn58PAJg5cybWrVuHZcuWIT4+HqNGjcKoUaNw+PDhYmvTZ8WKFahVqxZOnTqF5cuXY9myZdi0aRMA4Ouvv0a3bt0wbNgwbe9c586dsWvXLixYsABff/01EhMTcejQIfTp0+el3/t5Bw8exL179/Dpp5/qXV7cMS3O3bt3ERgYiE2bNsHR0fGF7YcPH47p06fD3d1du99Tp04F8OLvTmxsLABg586duHPnDk6fPg0AyMzMhLe3N/bv348LFy7g3XffxZgxY3ROu5XUkiVLcOHCBfz000+4ceMG3nzzTe2ylJQUdO7cGRkZGdizZw8uXLiAefPmaXtDL168iO7du8PBwQFHjhxBXFwcJk+eDI1GAwCIiorC2LFjERgYiAsXLiA8PBwrV67E3LlzX7rO06dP4+jRo4iKisL+/ftx9uxZ7edY3GdMEmDshEXSN2jQIBESEqKd7tOnj5gxY4ZOG309OA0bNhT5+fnFbrugl8PS0lJYW1vr/Jw4cUII8X9/Tf/000/a9bZt2yYAiB07dmjn7dq1SwAQjx490lmv4K/wSZMmiV69egmNRqO3Fjs7OxEZGVlkrc/+tZ+YmKjtVXpWmzZtxJgxY3T2LTw8XLs8Ly9PWFtbi9WrVxf7ufz888+iZs2a4smTJ0IIIX788Ufh7u6u7RURQoiuXbuKfv36FbkNDw8P8cEHH+hdlpWVJRQKhVi5cqXO/EGDBolevXppp1HCHpzXX39dp03v3r3Fm2++WeQ6QgixdOlS0bBhQ+0+lpeFCxcKACItLe2FbevUqSMUCkWh756FhYXOdyc/P194e3uL2bNna9fV99k87/keCSFK9t25efOmTk9XcQYMGCDGjx+vnS5JD87zYmNjBQBx69YtIYQQs2bNEs7OziIzM1Nv+1GjRomWLVsW+e+7a9euIiAgQGfesmXLhIWFhcjNzRVClLwHR6VSiZycHO28+fPnCxcXlyLXIekw+R6cVatWYfz48ZgyZcoL26ampmLu3Ln45JNPMHXqVO1fOVRx7ty5g3379iEoKEg7b/To0YiMjIRarS523Xbt2pV4/EtkZCTOnj2r89OmTRudNq1atdK+dnFxAQC0bNmy0Lx79+7pfY8xY8bgwoULaNCgASZMmICdO3fqjA2aOnUqxo8fj549e+I///lPsd+vS5cuAQC6d++uM7979+64ePGizrzWrVtrX8vlcjg7O+Pu3btFbhsA1qxZg7feegvVqlUDAAwcOBBZWVn49ddftW3+/PNP+Pn56V3/3r17uHnzZpHLk5KS8OTJk0L19+jRo1D9JfHsPgKAm5vbC/dx2LBhyMvLQ506dTB69Ghs3rwZjx49KrL9li1bYGNjo/3ZsmWL3nbiJZ8//MEHHxT67q1fv16nzZdffomcnBzMmTPnpbatz8t8d56XnZ2N0NBQNGvWDDVq1ICNjQ1++eUX/P333y9Vw7Fjx9C7d294eHjA1tYWXbt2BQDtdv7880907ty5yDFnf/75J7y9vYv8913Qw/OsHj16ICcnB1evXn2pWps2bQqlUqmdLsl3i6TB5ANOz549MXPmzBK13blzJzp16oRFixYhJCSkUJc9lb+IiAio1Wq0b98ecrkccrkcb731FlJSUl54Zc/LDMh1c3NDgwYNdH4sLCx02hT8sgcAmUxW5LyCbvLntW7dGtevX8eSJUugUCjw0UcfoXXr1nj48CEAYPbs2UhISMCwYcMQHx+Pjh07YtasWSXeB+DpL9eCOgooFAqdaZlMVmSNAHDjxg0cOHAAK1as0H7m1tbWyMjIKDTY+Pn3et7LLn++fplMVigw6LuK7mX3EXh6zC9fvowNGzbAyckJ8+bNQ+PGjXHz5k297QcMGKATQgYMGKC3XePGjQH8X5B4kRo1ahT67rm5uem0iY6OxsmTJ6FUKrXHBACCgoLQpEmTEr3Pi+j77jxv2rRp+P777/HZZ5/h6NGjOHv2LPr27fvCQfzPunHjBvr27Yu6devihx9+wJkzZ7T/lp/dTkV8t56db2ZmVurv1suGWDJNJh9wvLy8YGNjozMvJSUFYWFhmD59Oj777DP8888/AJ5+sbOzswE8/UumtOfSqWQ0Gg3Wr1+PmTNnFvoLd9SoUSZ5ZY+NjQ0GDx6M5cuX48yZM/jrr7/w22+/aZd7enoiODgYO3bswOeff45vv/1W73aaNWsGAIiJidGZf/z4ce2y0lq3bh2aNm2Kc+fO6Xzm27dvxy+//KL999CuXTscOHBA7zacnJzg7u5e5PIGDRpAqVTq7HvB/jxbv5OTE27fvq2dzs3NLXFweJZCodCO/XmWUqmEv78/Fi1ahAsXLiA7Oxs///yz3m3Y2trqhBBbW1u97fz8/ODk5ISwsDC9yzMyMl66/sjIyELHAwDCwsKwd+/eItfTt98l+e4U/FJ/ft2YmBiMHDkSw4cPR6tWreDp6YmEhISX2pfTp0/j8ePHWLZsGbp06YLGjRsX6hFp164dfv/9d2RlZendRrt27RAdHV1kiG3WrJne75alpSU8PT0BFP5uAShVr3xR3y0yfXJjF1AR1q5di3feeQe1atVCYmIi1q9fjzlz5iAgIABffPEF9u/fj9zcXMyePdvYpUra/v37cePGDbz33nuoXbu2zrIxY8bA19cXycnJ5XIPivT0dKSkpOjMs7a2LvKXWGksXrwYrq6uaN26NaysrLB161aYm5ujUaNGyMzMxPTp0zFkyBDUq1cP9+/fx/79++Hl5aV3W/Xr10dAQACCg4OxZs0a1KlTB99++y3i4+Px3//+t9Q1qtVqbNiwARMmTEDz5s11ljVv3hzu7u6IiIjAZ599htmzZ6NPnz4ICQnB2LFjoVQqcfLkSXTq1AmNGzfGnDlz8P7778PZ2RlDhw6FRqPB0aNH8eabb0KlUmHSpEmYPXs2atasidatW2P79u3YvXs3Dh06pH1PHx8frF69Gt27d4etrS3CwsJeqregQL169XD06FFcvXoV9vb2sLe3x6ZNm6DRaPDqq6+ievXqOHz4MB49elTkZ15SVlZW2LhxIwYPHgwfHx9MmTIFjRs3RlZWFg4cOIB169bhypUrL12/Pu7u7mjYsGGx66WkpODkyZNo2LAhrKysSvTdUalUsLGxwcGDB9GsWTMolUo4ODigcePG2L17N4YMGQIbGxssXboUt2/fhrOzc4n3pWHDhpDJZAgPD8fIkSNx7tw5fP755zptCmobOHAg5s6dC1dXV1y8eBHm5ubo06cPPvnkE3To0AEjR47ElClT4ODggNjYWLi7u6NTp06YMWMGXn/9dSxYsABvvPEGzp49i//85z+YMmWKNrz5+Pjg/fffx7Zt29C2bVvs2LEDx48fR/Xq1Uu8L0V9xryMXyKMN/yn/Ny9e1d8/PHHQgghHj9+LN566y0xdepU7U/BANe9e/eKPXv2CCGEuHLliggJCXnhIFYqvQEDBoiOHTvqXaZWq4Wzs7P49NNPhRD6Bxk/P4BQn4KBuPp+CgbI6rtk9/jx4wKAuH79unbeyZMnBQCRmJiod73Vq1eLtm3bai9rbd++vfj555+FEE+/dyNGjBB169YVSqVS1KxZUwwbNkzn0uznLyl+8OCB9lJfhUJR5GXiz18CX79+/SIvZS0YKH358mW9y6dOnSpq166t/d7v379fe+m8nZ2d6Nmzp7h69aq2/ffffy9atmwpFAqFqFGjhujbt6/IyMgQQpTsMvE7d+6I/v37C1tbW+Hu7i5WrVqld5Dx85dajxs3TvTo0UM7ffXqVdGtWzdhbW2tHTy7c+dO0alTJ1G9enVhaWkpmjVrJtavX693v0vj/Pnz4q233hK1atUS1apVEx4eHmLw4MHit99+K7Z2IYq+TPxZKMEg4ydPnogRI0YIBwcHnUuYX/TdEUKI7777TtStW1fI5XLtINobN24IPz8/YWVlJVxcXMRnn30mxo4dq/NZl2SQ8TfffCPc3d2FhYWF6NKli/j1118LDWq+cuWKGDRokLCzsxOWlpaiZcuWOgOjT506Jby9vYWVlZWwsbERr776qjh16pR2+caNG0WTJk1EtWrVhKurq5g5c6bOZeJPnjwRH330kahZs6awt7cXwcHBYvbs2XovE3/W5s2bxbO/+or6jMn0yYQw/ZOR9+7dw8KFCxEeHo7s7GyEhIToPf3x8ccfY+bMmVCpVACAiRMnIiwsDPb29oYumYiIiCqQyY/BeZ6VlRWcnJxw8uRJAE8HpiUnJwN42m0bHx8P4OmtzPPy8oq9ey4RERGZJpPvwVm2bBkuXbqER48ewd7eHsOGDUPz5s2xbt063L9/H2q1Gl26dMHQoUNx69YtrFmzBjk5OQCAUaNG6Vw6TERERNJg8gGHiIiI6HmSO0VFRERExIBDREREkmPy98F5/kZPVYlKpUJqaqqxyyAj4fGv2nj8q66qfuxdXV1L1I49OERERCQ5DDhEREQkOQw4REREJDkmPwaHiIioMhBCICcnBxqN5oVPSy+Lu3fvIjc3t8K2XxkIIWBmZgYLC4tSf5YMOEREROUgJycH1apVg1xesb9a5XI5zM3NK/Q9KgO1Wo2cnBxYWlqWan2eoiIiIioHGo2mwsNNVSKXy6HRaEq9PgMOERFROajI01JVVVk+UwYcIiIikhz2pREREVWAA+6B5bq93rc2v7CNh4cHmjRpop3esGEDPDw8Xup94uPjcffuXXh7e790jQMGDMCePXuKbbNu3TqMGjWq1GNrSooBh4iISCIsLCxw6NChMm3j4sWLOH/+/EsFnPz8fJibm78w3ADA+vXrMWTIEAYcKXNJWFSm9dWqsq1PRETSl5OTgxkzZuD8+fMwNzfHnDlz0KVLF73zX3nlFSxZsgQ5OTn43//+h4kTJyIpKQnJyclISUnB7du3ERwcjJEjR+LEiRNYunQpnJ2dcfHiRRw7dgwNGzZEYmKidpmDgwOuXLmCli1bYsWKFdiwYQPu3r2LgIAAODg4YMeOHRW23ww4REREEpGTkwNfX18AQO3atREREYGNGzcCAA4fPoykpCSMGDECx48fL3L+1KlTcf78eYSFhQEAwsPD8ddff2Hv3r14/Pgx/Pz8tL07Z8+exZEjR1C7du1CtcTHx+PIkSNwcXHBwIEDcfr0aYwbNw5r167F9u3bUaNGjQr9LBhwiIiIJELfKarTp09jzJgxAIAGDRrA3d0d165dK3K+Pr1794alpSUsLS3RuXNnnD17FnZ2dmjdurXecAMArVu31j4Ys1mzZrh58yZeffXV8trVF+JVVERERBImhHip+fo8f7l2wbSVlVWR6ygUCu1rc3NzqNXqEr9feWDAISIikrAOHTrgp59+AgBcvXoV//zzD+rXr1/kfBsbG2RmZups48CBA8jJyUF6ejpOnjyJVq1alboefduvCDxFRUREVAFKclm3IQQFBSE0NBTe3t4wNzfHV199BaVSWeT8zp07Y+XKlfD19cXEiRMBAG3atMHbb7+Nf/75ByEhIXBxcSnydNaLjBw5EqNGjYKTk1OFDjKWiZfpo6qEbt++bewSSq3MV1F1XoTU1NRyqoZMjUql4vGvwnj8K5/s7OxiT9mUF7lcbtDTPeHh4bC2tsaECRMM9p4F9H2mBeN6XoSnqIiIiEhyeIqKiIiIijRlyhRjl1Aq7MEhIiIiyWHAISIiIslhwCEiIiLJYcAhIiIiyeEgYyIiogpQ1luBPC+l0SfFLk9PT8fw4cMBAP/++y/Mzc21z3uKiorSubNwSS1YsADdunVDly5dsGbNGgQFBcHCwuKltjF58mR88MEHaNCgQZFtBg0ahC+++ALNmzd/6RqLwoBDREQkATVq1NA+h6o0967Jz8+Hubm5dlqtViM0NFQ7vXbtWrz55psvFXDy8/Px1Vdflbh9eeIpKiIiIonbtm0b+vXrB19fX8yYMQMajQZqtRpNmzbFwoUL0a9fP8TFxaFdu3b46quvMHDgQPz666/48MMPsX//fqxduxZpaWl44403tL1EO3fuhLe3N1577TXMnz8fAPRuc9CgQYiPjwcAfPLJJ+jTpw969epV4cGHAYeIiEjCLl++jP3792P37t04dOgQ8vPzsXv3bgDAw4cP0aJFC0RFRaF9+/YAnj5Ac/fu3Xj99de123j33Xfh6OiIXbt24ccff8Tt27exaNEibN++HQcOHMCZM2e0vUf6tllgxowZ+PXXX3Ho0CHExMQgISGhwvbbIKeoUlNTsXLlSty/fx8ymQw+Pj7o27evTpuLFy9i0aJFcHJyAvD04WBDhw41RHmldsA9sEzrBx1pUU6VEBER6Xf8+HGcO3cOffr0AQDk5OSgVq1aAJ4+8btgfoEBAwa8cJtxcXHo0qWLdozPoEGDcOrUKfTq1UvvNgvs3r0bW7duRX5+PlJSUpCQkIBGjRqVZfeKZJCAY25ujsDAQHh6euLx48cIDQ1Fy5Yt4e7urtOuadOmOuf7iIiIqGyEEBg+fDg++UR3kLJarYaFhQVkMpnO/JI8T6u4x1jq2yYAXLt2DevXr0dUVBTs7e3x4YcfIjc3t4R78fIMcorKwcEBnp6eAABLS0u4ubkhPT3dEG9NRERUpXXr1g179+7V/t5NT0/HP//889LbsbGxQWZmJgCgbdu2OHHiBNLT06FWq7F792507Nix2PUzMzNhY2MDW1tb3L17F8eOHXvpGl6Gwa+iunfvHq5fv673crGEhARMmzYNDg4OCAwMhIeHR6E20dHRiI6OBvD08jWVSlXhNVdWcrm8Su9/VcfjX7Xx+Fc+d+/ehVz+f79WU71mluv2n/2F/ez76GNmZgYzMzPI5XK0aNECU6dOxZtvvgmNRoNq1aph0aJFcHNzK7QtmUwGuVyunSeTybTbCQwMxIgRI+Dq6oodO3Zg+vTpCAgIgBACfn5+8Pf31z7lXN82mzVrhsaNG8Pb2xu1a9fGq6++CnNzc8jl8kLvW0CpVJb6ey4TxfUzlbOcnBzMmTMHb7zxBjp06KCzLDs7G2ZmZrCwsEBsbCw2btyI5cuXv3Cbt2/frqhyX8jYY3DUnRchNTW1TNsg06VSqXj8qzAe/8onOzu7RKd3ykoul2uDhNTp+0xdXV1LtK7BrqJSq9UIDw9Ht27dCoUb4Ok5v4Jr69u2bYv8/Hw8fPjQUOURERGRhBgk4AghsHr1ari5uaF///5629y/f187aCkpKQkajQa2traGKI+IiIgkxiBjcK5cuYKYmBjUrl0b06ZNAwCMGDFC273q5+eHP/74AwcPHoS5uTkUCgVCQkL0jsImIiIiehGDBJwmTZpg27Ztxbbx9/eHv7+/IcohIiIiieOdjImIiEhyGHCIiIhIcvg0cSIiogqQgEPlur1G8H1hm4YNGyIxMbFc37c4N2/exJkzZzB48GCDvWdJsQeHiIiIXpparcbNmzfx008/GbsUvdiDQ0REJDEnTpxAeHg4VCoVLl68iL59+6JJkyaIiIhATk4OIiIiULduXYSEhECpVCIhIQH//vsv5syZA19fX+Tk5GDGjBk4f/48zM3NMWfOHHTp0gU//vgjDh8+jNzcXGRnZ+Px48dISkqCr68vAgIC0KNHD3z88cd48uQJhBBYu3at9lFNhsaAQ0REJEGXLl3CsWPHUL16dXTu3BkjRoxAVFQU1q9fjw0bNuDzzz8HANy6dQs7d+5EcnIyAgIC0K1bN2zcuBEAcPjwYSQlJWHEiBE4fvw4AODPP/9EdHQ0HBwccOLECaxevRqbNm0CAMyaNQvjxo3DG2+8gSdPniA/P98o+w7wFBUREZEktWrVCs7OzlAqlahTpw569OgB4OmtW27duqVt9/rrr8PMzAyenp6oU6cOkpKScPr0aQwZMgQA0KBBA7i7u+PatWsAgO7du8PBwUHve7Zr1w4rVqzAypUrcevWLVhaWlbwXhaNAYeIiEiCFAqF9rWZmZl22szMTOdZVs/fVFcmk6G4x1QW97ytwYMHIzIyEhYWFhg5ciT+3//7f6Utv8wYcIiIiKqwffv2QaPRIDk5GX///Tfq16+PDh06aAcPX716Ff/88w/q169faF0bGxtkZWVpp//++2/UqVMH48aNg6+vL/766y+D7cfzOAaHiIioApTksu7KwNPTE0OGDMG///6LBQsWwMLCAkFBQQgNDYW3tzfMzc3x1VdfQalUFlq3adOmMDc3h4+PD4YNG4bc3Fzs2rULcrkcTk5OmDx5shH26CmZKK4fygTcvn3baO99wD2wTOsHHWlRpvXVnRdpn+dFVY9KpeLxr8J4/Cuf7OzsYk/flBe5XK5ziqksQkJC4OPjU+SDsI1N32fq6upaonV5ioqIiIgkh6eoiIiIqqhly5YZu4QKwx4cIiIikhwGHCIiIpIcBhwiIiKSHAYcIiIikhwOMiYiIqoAM4IPl+v25q/yfmEbDw8PNGnSRDs9cOBATJw4sVzreNb+/fvh6emJRo0aVdh7lBYDDhERkURYWFjg0KFDBnkvtVqN/fv3w8fHp1IGHJ6iIiIikrCHDx+iW7duSEpKAgAEBwdjy5YtAICGDRti7ty56N27N4YNG4a0tDQAQHx8PPr37w8fHx+MGzcO9+/fBwAMHToU8+fPx5AhQ7By5UocOnQIX3zxBXx9fZGcnIyIiAj07NkTPj4+eP/9942zw/8/9uAQERFJRE5ODnx9/+8RERMnTsTAgQMRFhaGyZMnY/z48Xjw4AFGjhwJ4Omdglu0aIE5c+bgq6++wtKlSxEWFoaQkBDMmzcPnTp1wuLFi7F06VJ8/vnnAJ4Gpp07dwIArl+/rnMn5JUrV+LkyZNQKpV48OCBgfdeFwMOERGRRBR1iqp79+7Yt28fZs6cqbPczMwMAwYMAAC88cYbGD9+PB4+fIgHDx6gU6dOAICAgAC899572nUK2uvTtGlTTJw4Ef7+/vD39y+v3SoVnqIiIiKSOI1Gg8TERFhYWGhPN+kjk8leuK3inre1adMmjB49GufPn4e/v3+5PTOrNBhwiIiIJG7t2rVo2LAhVq1ahSlTpiAvLw/A0+ATFRUFAPjpp5/w6quvws7ODvb29jh16hQAYOetKGF6AAAfe0lEQVTOnejYsaPe7drY2CArK0u7rdu3b6NLly6YNWsWHj58qF1mDDxFRUREVAFKcll3eXt+DE6vXr0wfPhwbN26FVFRUbCxsUGHDh3w9ddfY+rUqbCyssKVK1fg7+8PW1tbrF69GsDTZ1SFhoYiJycHtWvXxtKlS/W+38CBAzFt2jRERERg1apVmDp1Kh49egQhBN555x3Y29sbZL/1kQkhhNHevRzcvn3baO99wD2wTOsHHWlRpvXVnRchNTW1TNsg06VSqXj8qzAe/8onOzu72NM35UUul5fbqZ+GDRsiMTGxXLZVEfR9pq6uriVal6eoiIiISHIYcIiIiKqoytx7U1YMOEREROXAxEd8VEpl+UwZcIiIiMqBmZmZUS+Llhq1Wg0zs9LHFF5FRUREVA4sLCyQk5OD3NzcEt1PprSUSiVyc3MrbPuVgRACZmZmsLCwKPU2GHCIiIjKgUwmg6WlZYW/D6+gKxmeoiIiIiLJYcAhIiIiyTHIKarU1FSsXLkS9+/fh0wmg4+PD/r27avTRgiByMhIxMXFQalUIjg4GJ6enoYoj4iIiCTGIAHH3NwcgYGB8PT0xOPHjxEaGoqWLVvC3d1d2yYuLg4pKSlYvnw5EhMTsX79enz55ZeGKI+IiIgkxiCnqBwcHLS9MZaWlnBzc0N6erpOmzNnzqB79+6QyWRo1KgRsrKykJGRYYjyiIiISGIMfhXVvXv3cP36dTRo0EBnfnp6OlQqlXba0dER6enpcHBw0GkXHR2N6OhoAMCCBQt01qlq5HJ5ld7/qo7Hv2rj8a+6eOxLxqABJycnB+Hh4Rg9enShh2fpu1uhvvsI+Pj4wMfHRztdlS+VU6vVVXr/qzpeKlq18fhXXVX92Fe6h22q1WqEh4ejW7du6NChQ6Hljo6OOgcsLS2tUO8NERERUUkYJOAIIbB69Wq4ubmhf//+etu0b98eMTExEEIgISEBVlZWDDhERERUKgY5RXXlyhXExMSgdu3amDZtGgBgxIgR2h4bPz8/tGnTBrGxsZg0aRIUCgWCg4MNURoRERFJkEECTpMmTbBt27Zi28hkMowfP94Q5RAREZHE8U7GREREJDkMOERERCQ5DDhEREQkOQw4REREJDkMOERERCQ5DDhEREQkOQw4REREJDkMOERERCQ5DDhEREQkOQw4REREJDkMOERERCQ5DDhEREQkOQw4REREJDkMOERERCQ5DDhEREQkOQw4REREJDkMOERERCQ5DDhEREQkOQw4REREJDkMOERERCQ5DDhEREQkOQw4REREJDkMOERERCQ5DDhEREQkOfLiFubn5+PMmTOIjY3F33//jaysLFhbW6NOnTpo06YNXnnlFZibmxuqViIiIqISKTLgHDp0CLt27YK7uzuaNm2Kdu3awcLCAjk5Obh16xYOHz6M7777DoMHD4afn58hayYiIiIqVpEB586dO5g/fz6qV69eaNmrr74KAMjIyMDevXsrrjoiIiKiUigy4Lz99tsvXNnBwaFE7YiIiIgMqUSDjMeMGaN3/vjx48u1GCIiIqLyUKKAk5+fX2ieWq2GRqMp94KIiIiIyqrYq6g+++wzyGQy5OXlYc6cOTrL0tLS0KhRowotjoiIiKg0ig04r732GgAgKSkJvXr10s6XyWSwt7dH8+bNK7Y6IiIiolIoNuD07NkTANCwYUO4ubkZoh4iIiKiMityDM6ZM2e0r4sLN8+2IyIiIqoMiuzB+f3337F161Z07doVXl5ecHV1haWlJR4/fow7d+7g0qVLOH78OOrUqYP27dsX+yarVq1CbGws7O3tER4eXmj5xYsXsWjRIjg5OQEAOnTogKFDh5Zx14iIiKiqKjLgfPTRR7hx4wYOHTqEb775Bvfu3dMuc3FxQZs2bRASEgIPD48XvknPnj3h7++PlStXFtmmadOmCA0NfcnyiYiIiAordgxO7dq1MW7cOABAbm6u9llUSqXypd7Ey8tLJyARERERVaRiA86zlErlSwebl5GQkIBp06bBwcEBgYGBRfYMRUdHIzo6GgCwYMECqFSqCqupspPL5VV6/6s6Hv+qjce/6uKxL5kSB5yKVK9ePaxatQoWFhaIjY3F4sWLsXz5cr1tfXx84OPjo51OTU01VJmVjlqtrtL7X9WpVCoe/yqMx7/qqurH3tXVtUTtSnQn44pmZWUFCwsLAEDbtm2Rn5+Phw8fGrkqIiIiMlWVIuDcv38fQggAT28qqNFoYGtra+SqiIiIyFSV6hTV5cuX0bBhQ5ibm5eo/bJly3Dp0iU8evQIEyZMwLBhw6BWqwEAfn5++OOPP3Dw4EGYm5tDoVAgJCQEMpmsNKURERERFR9winqY5ldffYWFCxfCzs4OZmYv7gQKCQkpdrm/vz/8/f1fuB0iIiKikig24IwYMaLIZe+99x4A4McffyzfioiIiIjKqNiA4+XlBY1Gg8DAQNjb2wMAhBCYOXMmZsyYATs7O4MUSURERPQyij2/NGfOHPj6+uKbb77B6dOnoVKp4OTkBDMzM6hUKtSsWdNQdRIRERGV2AsH0HTt2hVffvkl7ty5g9DQUPz1118cAExERESVWomuorKyssK4ceNw9epVRERE4P79+xVdFxEREVGpvdRl4vXr10dYWBgeP34MKyuriqqJiIiIqEyKDTh3794tctmjR48AAM7OzuVbEREREVEZFRtwJk2a9MIN8DJxIiIiqmyKDTjPh5cxY8YgMjKyQgsiIiIiKqtK8SwqIiIiovLEgENERESSw4BDREREklPsGJwVK1bo3NQvNzcX33zzjU6biRMnVkxlRERERKVUbMBxcXHRmR48eHCFFkNERERUHooNOAEBAYaqg4iIiKjcFDsG58qVK/j+++/1LtuyZQsSEhIqpCgiIiKisig24OzatQteXl56l3l5eWHXrl0VUhQRERFRWRQbcJKTk9G6dWu9y1q2bInr169XSFFEREREZVFswHn8+DHUarXeZfn5+Xj8+HGFFEVERERUFsUGHDc3N5w7d07vsnPnzsHNza1CiiIiIiIqi2IDTr9+/bB27VqcOnUKGo0GAKDRaHDq1CmsW7cO/fr1M0iRRERERC+j2MvEu3btivv372PlypXIy8uDnZ0dHj58CIVCgYCAAHTt2tVQdRIRERGVWLEBBwD69++P1157DQkJCcjMzISNjQ0aNWoEKysrQ9RHRERE9NJeGHAAwMrKqsirqYiIiIgqGz5sk4iIiCSHAYeIiIgkhwGHiIiIJIcBh4iIiCSHAYeIiIgkhwGHiIiIJIcBh4iIiCSHAYeIiIgkhwGHiIiIJKdEdzIuq1WrViE2Nhb29vYIDw8vtFwIgcjISMTFxUGpVCI4OBienp6GKI2IiIgkyCA9OD179sTMmTOLXB4XF4eUlBQsX74c7777LtavX2+IsoiIiEiiDBJwvLy8YGNjU+TyM2fOoHv37pDJZGjUqBGysrKQkZFhiNKIiIhIgirFGJz09HSoVCrttKOjI9LT041YEREREZkyg4zBeREhRKF5MplMb9vo6GhER0cDABYsWKATjKoauVxepfe/quPxr9p4/KsuHvuSqRQBx9HREampqdrptLQ0ODg46G3r4+MDHx8f7fSz61U1arW6Su9/VadSqXj8qzAe/6qrqh97V1fXErWrFKeo2rdvj5iYGAghkJCQACsrqyIDDhEREdGLGKQHZ9myZbh06RIePXqECRMmYNiwYVCr1QAAPz8/tGnTBrGxsZg0aRIUCgWCg4MNURYRERFJlEECTkhISLHLZTIZxo8fb4hSiIiIqAqoFKeoiIiIiMoTAw4RERFJDgMOERERSQ4DDhEREUkOAw4RERFJDgMOERERSQ4DDhEREUkOAw4RERFJDgMOERERSQ4DDhEREUkOAw4RERFJDgMOERERSQ4DDhEREUkOAw4RERFJDgMOERERSQ4DDhEREUkOAw4RERFJDgMOERERSQ4DDhEREUkOAw4RERFJDgMOERERSQ4DDhEREUmO3NgFkPHMCD5cpvXnr/Iup0qIiIjKF3twiIiISHIYcIiIiEhyGHCIiIhIchhwiIiISHIYcIiIiEhyGHCIiIhIchhwiIiISHIYcIiIiEhyGHCIiIhIchhwiIiISHIYcIiIiEhyDPYsqrNnzyIyMhIajQbe3t4YNGiQzvKLFy9i0aJFcHJyAgB06NABQ4cONVR5REREJCEGCTgajQYRERGYNWsWHB0dMWPGDLRv3x7u7u467Zo2bYrQ0FBDlEREREQSZpBTVElJSXBxcYGzszPkcjk6d+6M06dPG+KtiYiIqAoySA9Oeno6HB0dtdOOjo5ITEws1C4hIQHTpk2Dg4MDAgMD4eHhUahNdHQ0oqOjAQALFiyASqWquMIrOblcbtT9r8qffWVg7ONPxsXjX3Xx2JeMQQKOEKLQPJlMpjNdr149rFq1ChYWFoiNjcXixYuxfPnyQuv5+PjAx8dHO52amlr+BZsItVpt1P2vyp99ZaBSqXgMqjAe/6qrqh97V1fXErUzSMBxdHREWlqadjotLQ0ODg46baysrLSv27Zti4iICDx8+BB2dnaGKNEknUjdWsYt8CI6IiKSJoP8hqtfvz7u3LmDe/fuQa1W48SJE2jfvr1Om/v372t7epKSkqDRaGBra2uI8oiIiEhiDNKDY25ujrFjxyIsLAwajQa9evWCh4cHDh48CADw8/PDH3/8gYMHD8Lc3BwKhQIhISGFTmMRERERlYTB7oPTtm1btG3bVmeen5+f9rW/vz/8/f0NVQ4RERFJGAdhEBERkeQw4BAREZHkMOAQERGR5DDgEBERkeQw4BAREZHkMOAQERGR5DDgEBERkeQw4BAREZHkMOAQERGR5DDgEBERkeQw4BAREZHkMOAQERGR5DDgEBERkeQw4BAREZHkyI1dAJGpOuAeWKb1e9/aXE6VEBHR89iDQ0RERJLDgENERESSw4BDREREksOAQ0RERJLDgENERESSw4BDREREksOAQ0RERJLDgENERESSwxv9EZmoE6lby7R+I/iWUyVERJUPe3CIiIhIctiDQ2QkLgmLyrR+QqM25VQJEZH0sAeHiIiIJIcBh4iIiCSHAYeIiIgkhwGHiIiIJIcBh4iIiCSHV1EREZXCAffAMq3f+9bmcqqEiPRhDw4RERFJDntwiKqoGcGHy7T+/FXe5VQJlUZZ7mTNu1iXDXvvTIPBAs7Zs2cRGRkJjUYDb29vDBo0SGe5EAKRkZGIi4uDUqlEcHAwPD09DVUeERGRSeBjWkrGIAFHo9EgIiICs2bNgqOjI2bMmIH27dvD3d1d2yYuLg4pKSlYvnw5EhMTsX79enz55ZeGKI+IyOB4J+uqi8feMAwyBicpKQkuLi5wdnaGXC5H586dcfr0aZ02Z86cQffu3SGTydCoUSNkZWUhIyPDEOURERGRxBikByc9PR2Ojo7aaUdHRyQmJhZqo1KpdNqkp6fDwcFBp110dDSio6MBAAsWLICrq2sFVl68MZqyjWEoq55lXf/n8qii6uLxr9pM/fhT6fHYmwaD9OAIIQrNk8lkL90GAHx8fLBgwQIsWLCg/Ao0UaGhocYugYyIx79q4/GvunjsS8YgAcfR0RFpaWna6bS0tEI9M46OjkhNTS22DREREVFJGCTg1K9fH3fu3MG9e/egVqtx4sQJtG/fXqdN+/btERMTAyEEEhISYGVlxYBDREREpWKQMTjm5uYYO3YswsLCoNFo0KtXL3h4eODgwYMAAD8/P7Rp0waxsbGYNGkSFAoFgoODDVGaSfPx8TF2CWREPP5VG49/1cVjXzIyoW/wCxEREZEJ46MaiIiISHIYcIiIiEhyGHCIiIhIchhwTIhGo8GVK1eMXQYREVUCOTk5xi6hUuPTxE2ImZkZNm3ahLCwMGOXQga0YMECnZteymQy2NraolmzZujevbsRKyND2bdvX6F5dnZ2aNKkCZycnIxQERlSeno6MjIyUKdOHcjlcjx48ABRUVH47bffsGbNGmOXV2nxKioTs23bNtSuXRsdOnTQe6dnkp5Lly4VmpeZmYmYmBjUqlULI0eONEJVZEjbt28vNC8zMxPnzp1DQEAAunTpYoSqyBCioqKwa9cuuLi4QK1Wo0+fPti0aRO6d++OgQMH8n5xxWDAMTFvv/02cnNzYWZmBoVCASEEZDIZvvvuO2OXRgam0Wgwffp0LF682NilkJFkZmZi3rx5WLhwobFLoQoyefJkzJs3DzY2NkhNTcWHH36IuXPnolGjRsYurdLjKSoTs2nTJmOXQJWEmRmH0FV1NjY2ep/jR9KhUChgY2MDAFCpVHB1dWW4KSEGHBMjhMDx48dx7949DB06FKmpqbh//z4aNGhg7NKogmRmZuqdFxMTAw8PDyNURJVFfHw8rK2tjV0GVaC0tDRs2LBBO/3gwQOd6bFjxxqjLJPAgGNi1q9fD5lMhosXL2Lo0KGwsLBAREQE5s+fb+zSqIJMnz4dMplM+5f6s4OMx48fb+TqyBCmTJlSaMxdZmYmHBwc8MEHHxipKjKEUaNG6Ux7enoaqRLTw4BjYpKSkrBw4UJ88sknAJ52UavVaiNXRRVp5cqVxi6BjCw0NFRnWiaTwcbGBhYWFkaqiAylZ8+exi7BZPEkvokxNzeHRqPR/jX38OFDXk0lcbt379a+PnnypM6y//73v4Yuh4zg7t27qFmzJmrWrAkhBFQqlTbcnDp1ysjVUUV6+PAhtm/fjl9++QU5OTlYt24dpkyZgkWLFiElJcXY5VVqDDgmpk+fPli8eDEePHiArVu3Yvbs2Rg8eLCxy6IKdOLECe3rn3/+WWfZuXPnDF0OGcHmzZu1r8PDw3WW7dq1y9DlkAEtX74ceXl5SElJwYwZM+Ds7IyPP/4Ybdu2xerVq41dXqXGU1Qmplu3bvD09MSFCxcAANOmTYO7u7uRq6KK9OxVMs9fMcMraKoGfgeqrgcPHuCtt96CEALBwcEYMGAAAMDNzQ0HDhwwcnWVGwOOCapVqxYsLS2h0WgAAKmpqVCpVEauiirK83cxLmoZSRe/A1VXwe0gZDIZ7Ozs9C4j/RhwTMyvv/6KHTt2wN7eHmZmZtob/S1ZssTYpVEFSU5ORlBQEIQQePLkCYKCggA8/cs9Ly/PyNWRIdy9excLFy6EEEL7Gnj6Hbh3756Rq6OKxGNferyTsYn58MMP8eWXX8LW1tbYpRCRgeh7XMezvLy8DFQJGRqPfemxB8fEqFQqWFlZGbsMIjKgZ3+JPXz4EAAKna4gacrKykJaWhr8/f0BADNmzNBePcvn0BWPAcdEFDxN2MnJCf/5z3/Qtm1bVKtWTbu8f//+xiqNiCqYEAI7duzA/v37IYSAEAJmZmbo06cPhg4dauzyqALt2bMHH330kXZarVZjwYIFyM3NxapVq9CpUycjVle5MeCYiMePHwN42oOjUqmgVqu1N/jjIENpy8vL0wmzVPVERUXh8uXLmD9/PpycnAA8HZuxfv167Nu3j3/gSJharda5iKRJkyawtbWFra0tcnNzjVhZ5cch2CYiICAAAQEBcHd3174u+HFzczN2eVSBZs2aBQBYsWKFkSshY4mJicFHH32kDTcA4OzsjA8//BAxMTFGrIwq2vPPohs3bpz2dcHpStKPAcfEPH+jt6LmkXSo1WocO3YMCQkJOHXqVKEfkr78/Hy9Y27s7OyQn59vhIrIUBo2bIjo6OhC8w8dOoT69esboSLTwVNUJiIuLg5xcXFIT0/XeZLs48ePeS8EiXvnnXdw/PhxZGVl4c8//yy0vEOHDkaoigxJLi/6v+rilpHpCwoKwuLFi/H777+jXr16AIBr164hLy8P06ZNM3J1lRsvEzcRycnJSE5OxpYtWzBkyBAAT2/yVL16dXh5ecHGxsbIFVJFO3LkCF577TVjl0FGMHz4cL0P1iy4F9LWrVuNUBUZUnx8PG7evAkA8PDwQPPmzY1cUeXHgGMi1Go1fvjhBxw+fBhOTk4QQiAtLQ09e/bEiBEj+FdcFaBWq3Hw4EH89ddfAJ5eOuzr68tjT0SkBwOOidi4cSNycnIQFBQES0tLAEB2djY2b94MhUKBMWPGGLlCqmirV6+GWq1Gz549ATwdeGpmZoYJEyYYtzAiokqIgzdMRGxsLN577z1tuAEAKysrvPPOO4iLizNiZWQoV69excSJE9G8eXM0b94cwcHBuHr1qrHLIiKqlBhwTIRMJtN7vxszMzPeB6eKMDMzQ0pKinb67t27HGBORFQEnrw3EW5ubvjtt9/Qo0cPnfkxMTFwdXU1UlVkSKNGjcLcuXPh7OwMIQRSU1Px/vvvG7ssIqJKiWNwTER6ejqWLFkChUIBT09PAE9PWTx58gTTpk1DjRo1jFwhGUJeXh5u374NIQTc3Nx4h2MioiIw4JiYgksFhRDw8PBAixYtjF0SERFRpcOAQ0RERJLDEYpEREQkOQw4RCbi888/L9E8IiLiVVREld6TJ0/w5MkTPHr0SOfJwtnZ2cjIyDBiZURElRfH4BBVcr/88guioqKQkZGBGjVqoOCfrJWVFby9veHv72/kComIKh8GHCIT8euvv6JPnz7GLoOIyCRwDA6RiahevToeP34MANi5cyeWLFmCa9euGbkqIqLKiQGHyETs3LkTlpaWuHz5Ms6dO4cePXpg/fr1xi6LiKhSYsAhMhEFz52KjY2Fn58fXnnlFajVaiNXRURUOTHgEJmIGjVqYO3atTh58iTatGmDvLw8cAgdEZF+HGRMZCJyc3Nx9uxZ1K5dG7Vq1UJGRgZu3LiBVq1aGbs0IqJKhz04RCZCqVTC3t4ely9fBgCYm5ujVq1aRq6KiKhyYsAhMhHbt2/Hzz//jJ9//hkAoFarsWLFCiNXRURUOTHgEJmI//3vf5g+fTqUSiWAp2NyCi4bJyIiXQw4RCZCLpdDJpNBJpMBAHJycoxcERFR5cVnURGZiE6dOmHt2rXIyspCdHQ0jh49itdee83YZRERVUq8iorIhJw/fx7nzp2DEAKtW7dGy5YtjV0SEVGlxIBDZKI0Gg1+//13dOvWzdilEBFVOjxFRVTJZWdn48CBA0hPT0f79u3RsmVLHDhwAHv27EHdunUZcIiI9GAPDlElt2jRIlhbW6NRo0a4cOECsrKyoFarMWbMGNStW9fY5RERVUrswSGq5O7evYvw8HAAgLe3N8aNG4dVq1bB0tLSyJUREVVevEycqJKTy//v7xAzMzM4OTkx3BARvQBPURFVcsOHD4eFhQUAQAiBJ0+eQKlUQggBmUyG7777zsgVEhFVPgw4REREJDk8RUVERESSw4BDREREksOAQ0RERJLDgENEJmft2rXYsWOHscsgokqMg4yJqMJ88MEHuH//PszMzGBhYYHWrVtj3Lhx2qvCiIgqCntwiKhCTZ8+HZs3b8bixYuRnJyMn376ydglEVEVwDsZE5FBVK9eHa1atUJycjIAIC8vD1u3bsXJkyehVqvxyiuvYPTo0VAoFACA3bt3IyoqCjKZDMOGDcOaNWuwfPlyuLi4YOXKlXB0dMSbb74JAIiOjsbu3buRmZmJJk2a4J133kGNGjUAAMOGDcP48eOxb98+PHr0CF26dMG4ceMgk8mQkpKCb7/9FsnJyZDL5WjevDkmT55slM+HiMoXe3CIyCDS0tIQFxcHFxcXAMCWLVtw584dLF68GMuXL0d6erp2XM3Zs2exb98+zJ49G8uXL8elS5eK3G58fDy2bt2KyZMnY+3atahZsya+/vprnTaxsbGYP38+Fi9ejJMnT+LcuXMAgB9++AGtWrVCZGQkvv32W/Tp06eC9p6IDI0Bh4gq1OLFi/H222/j/fffh729PYYNGwYhBA4fPoygoCDY2NjA0tISb7zxBn7//XcAwIkTJ9CrVy94eHhAqVQiICCgyO0fP34cvXr1gqenJ6pVq4a33noLCQkJuHfvnrbNoEGDYG1tDZVKhWbNmml7keRyOf79919kZGRAoVCgSZMmFfpZEJHh8BQVEVWoadOmoWXLlrh06RK+/vprPHr0CGq1Grm5uQgNDdW2E0JAo9EAADIyMlC/fn3tMkdHxyK3n5GRgXr16mmnLSwsYGNjg/T0dDg5OQF4enqsgFKpRE5ODgBg1KhR+OGHHzBz5kxYW1ujf//+eO2118pnx4nIqBhwiMggvLy80LNnT2zatAlTp06FQqHA0qVLtWNlnuXg4IC0tDTt9LOv9bVNTU3VTufk5CAzM1Pvdp9XvXp1TJgwAQBw+fJlzJs3D15eXtrTaERkuniKiogMpl+/frhw4QJu3LgBb29vbNy4EQ8ePAAApKen4+zZswCATp064dixY7h16xZyc3OLvedN165dcfToUSQnJ2sHLjdo0EDbe1OckydPasOTtbU1gKdPbCci08ceHCIyGDs7O3Tv3h07duzApEmTsGPHDnz66ad49OgRatSoAV9fX7Ru3Rpt2rRBnz59MHfuXJiZmWHIkCGIiYmBXF74v6wWLVpg+PDhCA8PR2ZmJho3boyQkJAS1XP16lVs3LgR2dnZqF69OsaMGVOiYERElR9v9EdEld6tW7cwZcoU/Pe//4W5ubmxyyEiE8C+WCKqlP73v/9BrVYjMzMTW7ZsQbt27RhuiKjEeIqKiCqlQ4cOYeXKlTAzM4OXlxfGjx9v7JKIyITwFBURERFJDk9RERERkeQw4BAREZHkMOAQERGR5DDgEBERkeQw4BAREZHk/H9dulsLkiFI6AAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "with plt.style.context('ggplot'):\n", " wiod.AIR.plot_account('CH4', figsize=(8,5))\n", " plt.savefig('/tmp/wiod/airch4.png', dpi=300)\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To calculate the source (in terms of regions and sectors) of a certain stressor or impact driven by consumption, one needs to diagonalize this stressor/impact. This can be done with Pymrio by:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "diag_CH4 = wiod.AIR.diag_stressor('CH4')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and be reassigned to the aggregated WIOD system:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "wiod.CH4_source = diag_CH4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the next step the automatic calculation routine of Pymrio is called again to compute the missing accounts in this new extension:\n", "and be reassigned to the aggregated WIOD system:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.calc_all()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The diagonalized CH4 data now shows the source and destination of the specified stressor (CH4):" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regionOther...GBR
sectorAtBC15t1617t18192021t22232425...6364J7071t74LMNOP
regionsector
OtherAtB6.120041e+078.455234e+043.658411e+072.988418e+06867172.684194230646.602537441913.6279921.766666e+056.045454e+05197135.975631...669.9036913406.9737398805.6780366656.2336334123.12198619984.7278429398.05471144359.67251712305.8954203.055303
C1.008359e+066.714292e+062.047332e+066.420307e+05117665.00513533160.714629281538.5758745.643346e+061.564758e+06231675.430540...1405.7581589357.74272920287.54089918680.2195278586.78304249408.29861815853.40101693562.14655523512.7209794.041194
15t163.968202e+036.218228e+018.736127e+045.178453e+02639.80275524.298048128.9459441.099366e+024.216024e+0283.091425...0.4609653.2151848.8186895.8059413.87107318.6714918.69518444.37065911.7074020.001748
17t189.369869e+012.287802e+012.464623e+021.185856e+04200.1260394.50021968.0170133.330082e+017.862589e+0159.680321...0.0930750.8482781.7384281.4449810.9193676.6088302.03121512.6582183.7655880.001256
195.587156e+001.040420e+001.268140e+011.252185e+021231.9876870.3445684.2052791.580128e+004.194052e+003.043624...0.0086320.1173120.2252150.1710930.1060371.1047010.3433491.4308270.6460120.000075
\n", "

5 rows × 140 columns

\n", "
" ], "text/plain": [ "region Other \\\n", "sector AtB C 15t16 17t18 \n", "region sector \n", "Other AtB 6.120041e+07 8.455234e+04 3.658411e+07 2.988418e+06 \n", " C 1.008359e+06 6.714292e+06 2.047332e+06 6.420307e+05 \n", " 15t16 3.968202e+03 6.218228e+01 8.736127e+04 5.178453e+02 \n", " 17t18 9.369869e+01 2.287802e+01 2.464623e+02 1.185856e+04 \n", " 19 5.587156e+00 1.040420e+00 1.268140e+01 1.252185e+02 \n", "\n", "region \\\n", "sector 19 20 21t22 23 \n", "region sector \n", "Other AtB 867172.684194 230646.602537 441913.627992 1.766666e+05 \n", " C 117665.005135 33160.714629 281538.575874 5.643346e+06 \n", " 15t16 639.802755 24.298048 128.945944 1.099366e+02 \n", " 17t18 200.126039 4.500219 68.017013 3.330082e+01 \n", " 19 1231.987687 0.344568 4.205279 1.580128e+00 \n", "\n", "region ... GBR \\\n", "sector 24 25 ... 63 64 \n", "region sector ... \n", "Other AtB 6.045454e+05 197135.975631 ... 669.903691 3406.973739 \n", " C 1.564758e+06 231675.430540 ... 1405.758158 9357.742729 \n", " 15t16 4.216024e+02 83.091425 ... 0.460965 3.215184 \n", " 17t18 7.862589e+01 59.680321 ... 0.093075 0.848278 \n", " 19 4.194052e+00 3.043624 ... 0.008632 0.117312 \n", "\n", "region \\\n", "sector J 70 71t74 L \n", "region sector \n", "Other AtB 8805.678036 6656.233633 4123.121986 19984.727842 \n", " C 20287.540899 18680.219527 8586.783042 49408.298618 \n", " 15t16 8.818689 5.805941 3.871073 18.671491 \n", " 17t18 1.738428 1.444981 0.919367 6.608830 \n", " 19 0.225215 0.171093 0.106037 1.104701 \n", "\n", "region \n", "sector M N O P \n", "region sector \n", "Other AtB 9398.054711 44359.672517 12305.895420 3.055303 \n", " C 15853.401016 93562.146555 23512.720979 4.041194 \n", " 15t16 8.695184 44.370659 11.707402 0.001748 \n", " 17t18 2.031215 12.658218 3.765588 0.001256 \n", " 19 0.343349 1.430827 0.646012 0.000075 \n", "\n", "[5 rows x 140 columns]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.CH4_source.D_cba.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this square footprint matrix, every column represents the amount of stressor occurring in each region - sector driven by the consumption stated in the column header. Conversly, each row states where the stressor impacts occurring in the row are distributed due (from where they are driven)." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "CH4_source_reg = wiod.CH4_source.D_cba.groupby(\n", " level='region', axis=0).sum().groupby(\n", " level='region', axis=1).sum()\n" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
regionDEUGBROtherRest of EU
region
DEU1.485343e+064.634238e+042.892830e+053.819713e+05
GBR5.139252e+041.833541e+062.112405e+051.879226e+05
Other3.696832e+062.711860e+062.457410e+081.317725e+07
Rest of EU7.402886e+054.186665e+051.756700e+061.128755e+07
\n", "
" ], "text/plain": [ "region DEU GBR Other Rest of EU\n", "region \n", "DEU 1.485343e+06 4.634238e+04 2.892830e+05 3.819713e+05\n", "GBR 5.139252e+04 1.833541e+06 2.112405e+05 1.879226e+05\n", "Other 3.696832e+06 2.711860e+06 2.457410e+08 1.317725e+07\n", "Rest of EU 7.402886e+05 4.186665e+05 1.756700e+06 1.128755e+07" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "CH4_source_reg" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "CH4_source_reg.columns.name = 'Receiving region'\n", "CH4_source_reg.index.name = 'Souce region'\n", "sns.heatmap(CH4_source_reg, vmax=5E6, \n", " annot=True, cmap='YlOrRd', linewidths=0.1,\n", " cbar_kws={'label': 'CH4 emissions ({})'.format(wiod.CH4_source.unit.unit[0])})\n", "plt.savefig('/tmp/wiod/airch4_source_reg.png', dpi=300)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Storing the MRIO database can be done with " ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "storage_path = '/tmp/wiod/aly'\n", "wiod.save_all(storage_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From where it can be received subsequently by:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "wiod = pymrio.load_all(storage_path)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The meta attribute of Pymrio mentioned at the beginning kept track of all modifications of the system.\n", "This can be shown with:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Description: WIOD metadata file for pymrio\n", "MRIO Name: WIOD\n", "System: industry-by-industry\n", "Version: data13\n", "File: /tmp/wiod/aly/metadata.json\n", "History:\n", "20201125 14:17:05 - FILEIO - Added satellite account from /tmp/wiod/aly/factor_inputs\n", "20201125 14:17:05 - FILEIO - Added satellite account from /tmp/wiod/aly/SEA\n", "20201125 14:17:05 - FILEIO - Added satellite account from /tmp/wiod/aly/AIR\n", "20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/CO2\n", "20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/EM\n", "20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/EU\n", "20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/lan\n", "20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/mat\n", "20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/wat\n", "20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/CH4_source\n", " ... (more lines in history)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.meta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Custom notes can be added to the meta with:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "wiod.meta.note(\"Custom note\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The history of the meta data can be filtered for specific entries like:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['20201125 14:17:05 - FILEIO - Added satellite account from /tmp/wiod/aly/factor_inputs',\n", " '20201125 14:17:05 - FILEIO - Added satellite account from /tmp/wiod/aly/SEA',\n", " '20201125 14:17:05 - FILEIO - Added satellite account from /tmp/wiod/aly/AIR',\n", " '20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/CO2',\n", " '20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/EM',\n", " '20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/EU',\n", " '20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/lan',\n", " '20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/mat',\n", " '20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/wat',\n", " '20201125 14:17:04 - FILEIO - Added satellite account from /tmp/wiod/aly/CH4_source',\n", " '20201125 14:17:04 - FILEIO - Loaded IO system from /tmp/wiod/aly',\n", " '20201125 14:17:03 - FILEIO - Saved WIOD to /tmp/wiod/aly',\n", " '20201125 14:17:00 - FILEIO - Extension wat parsed from /tmp/wiod/raw',\n", " '20201125 14:16:59 - FILEIO - Extension mat parsed from /tmp/wiod/raw',\n", " '20201125 14:16:58 - FILEIO - Extension lan parsed from /tmp/wiod/raw',\n", " '20201125 14:16:57 - FILEIO - Extension EU parsed from /tmp/wiod/raw',\n", " '20201125 14:16:55 - FILEIO - Extension EM parsed from /tmp/wiod/raw',\n", " '20201125 14:16:53 - FILEIO - Extension CO2 parsed from /tmp/wiod/raw',\n", " '20201125 14:16:51 - FILEIO - Extension AIR parsed from /tmp/wiod/raw',\n", " '20201125 14:16:50 - FILEIO - SEA file extension parsed from /tmp/wiod/raw',\n", " '20201125 14:16:39 - FILEIO - WIOD data parsed from /tmp/wiod/raw/wiot08_row_sep12.xlsx',\n", " '20201120 14:24:19 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/water/wat_may12.zip to wat_may12.zip',\n", " '20201120 14:24:19 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/materials/mat_may12.zip to mat_may12.zip',\n", " '20201120 14:24:18 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/land/lan_may12.zip to lan_may12.zip',\n", " '20201120 14:24:17 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/AIR/AIR_may12.zip to AIR_may12.zip',\n", " '20201120 14:24:17 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/CO2/CO2_may12.zip to CO2_may12.zip',\n", " '20201120 14:24:16 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/EM/EM_may12.zip to EM_may12.zip',\n", " '20201120 14:24:15 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/EU/EU_may12.zip to EU_may12.zip',\n", " '20201120 14:24:14 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/SEA/WIOD_SEA_July14.xlsx to WIOD_SEA_July14.xlsx',\n", " '20201120 14:24:13 - FILEIO - Downloaded http://www.wiod.org/protected3/data13/update_sep12/wiot/wiot08_row_sep12.xlsx to wiot08_row_sep12.xlsx']" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wiod.meta.file_io_history" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This tutorial gave a short overview about the basic functionality of Pymrio. For more information about the capabilities of pymrio check the [online documentation](http://pymrio.readthedocs.io/en/latest/index.html)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\"CC-BY4.0\n", "\n", "\n", "
\n", "
Licences of underlying dataset and software apply.
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.9" }, "nikola": { "category": "", "date": "2018-01-11 19:18:16 UTC+01:00", "description": "", "link": "", "slug": "pymrio-tutorial-for-wiod", "tags": "SI", "title": "Quick Start Pymrio Tutorial using WIOD", "type": "text" } }, "nbformat": 4, "nbformat_minor": 4 }