Automatic downloading of MRIO databases

Pymrio includes functions to automatically download some of the publicly available global EE MRIO databases. This is currently implemented for WIOD. Further download functionality is planned for EXIOBASE and Eora26.

The functions described here download the raw data files. Thus, they can also be used for post processing by other tools.

WIOD download

WIOD is licensed under the Creative Commons Attribution 4.0 International-license. Thus you can remix, tweak, and build upon WIOD, even commercially, as long as you give credit to WIOD. The WIOD web-page suggest to cite Timmer et al. 2015 when you use the database. You can find more information on the WIOD webpage.

The download function for WIOD currently processes the 2013 release version of WIOD.

To download, start with:


In [1]:
import pymrio

Define a folder for storing the data


In [2]:
wiod_folder = '/tmp/mrios/autodownload/WIOD2013'

And start the download with (this will take a couple of minutes):


In [3]:
wiod_meta = pymrio.download_wiod2013(storage_folder=wiod_folder)

The function returns the meta data for the release (which is stored in metadata.json in the download folder). You can inspect the meta data by:


In [4]:
print(wiod_meta)


Description: WIOD metadata file for pymrio
MRIO Name: WIOD
System: IxI
Version: data13
File: /tmp/mrios/autodownload/WIOD2013/metadata.json
History:
20190808 14:46:56 - METADATA_CHANGE -  Changed parameter "system" from "ixi" to "IxI"
20181022 14:09:45 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/water/wat_may12.zip to wat_may12.zip
20181022 14:09:45 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/materials/mat_may12.zip to mat_may12.zip
20181022 14:09:44 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/land/lan_may12.zip to lan_may12.zip
20181022 14:09:44 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/AIR/AIR_may12.zip to AIR_may12.zip
20181022 14:09:43 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/CO2/CO2_may12.zip to CO2_may12.zip
20181022 14:09:43 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/EM/EM_may12.zip to EM_may12.zip
20181022 14:09:42 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/EU/EU_may12.zip to EU_may12.zip
20181022 14:09:41 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/SEA/WIOD_SEA_July14.xlsx to WIOD_SEA_July14.xlsx
20181022 14:09:41 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/update_sep12/wiot/wiot09_row_sep12.xlsx to wiot09_row_sep12.xlsx
 ... (more lines in history)

The WIOD database provide data for several years and satellite accounts. In the default case, all of them are downloaded. You can, however, specify years and satellite account.

You can specify the years as either int or string (2 or 4 digits):


In [5]:
res_years = [97,2004,'2005']

The available satellite accounts for WIOD are listed in the WIOD_CONFIG. To get them import this dict by:


In [6]:
from pymrio.tools.iodownloader import WIOD_CONFIG

In [7]:
WIOD_CONFIG


Out[7]:
{'url_db_view': 'http://www.wiod.org/database/wiots13',
 'url_db_content': 'http://www.wiod.org/',
 'mrio_regex': 'protected.*?wiot\\d\\d.*?xlsx',
 'satellite_urls': ['http://www.wiod.org/protected3/data13/SEA/WIOD_SEA_July14.xlsx',
  'http://www.wiod.org/protected3/data13/EU/EU_may12.zip',
  'http://www.wiod.org/protected3/data13/EM/EM_may12.zip',
  'http://www.wiod.org/protected3/data13/CO2/CO2_may12.zip',
  'http://www.wiod.org/protected3/data13/AIR/AIR_may12.zip',
  'http://www.wiod.org/protected3/data13/land/lan_may12.zip',
  'http://www.wiod.org/protected3/data13/materials/mat_may12.zip',
  'http://www.wiod.org/protected3/data13/water/wat_may12.zip']}

To restrict this list, you can either copy paste the urls or automatically select the accounts:


In [8]:
sat_accounts = ['EU', 'CO2']
res_satellite = [sat for sat in WIOD_CONFIG['satellite_urls'] 
                 if any(acc in sat for acc in sat_accounts)]

In [9]:
res_satellite


Out[9]:
['http://www.wiod.org/protected3/data13/EU/EU_may12.zip',
 'http://www.wiod.org/protected3/data13/CO2/CO2_may12.zip']

In [10]:
wiod_meta_res = pymrio.download_wiod2013(storage_folder='/tmp/foo_folder/WIOD2013_res', 
                                         years=res_years,
                                         satellite_urls=res_satellite)

In [11]:
print(wiod_meta_res)


Description: WIOD metadata file for pymrio
MRIO Name: WIOD
System: IxI
Version: data13
File: /tmp/foo_folder/WIOD2013_res/metadata.json
History:
20191004 14:36:55 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot01_row_apr12.xlsx to wiot01_row_apr12.xlsx
20191004 14:36:53 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot00_row_apr12.xlsx to wiot00_row_apr12.xlsx
20191004 14:36:52 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/CO2/CO2_may12.zip to CO2_may12.zip
20191004 14:36:51 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/EU/EU_may12.zip to EU_may12.zip
20191004 14:36:51 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot04_row_apr12.xlsx to wiot04_row_apr12.xlsx
20191004 14:36:50 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot97_row_apr12.xlsx to wiot97_row_apr12.xlsx
20191004 14:36:48 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot05_row_apr12.xlsx to wiot05_row_apr12.xlsx

Subsequent download will only catch files currently not present in the folder, e.g.:


In [12]:
additional_years = [2000, 2001]
wiod_meta_res = pymrio.download_wiod2013(storage_folder='/tmp/foo_folder/WIOD2013_res', 
                                         years=res_years + additional_years,
                                         satellite_urls=res_satellite)

only downloads the years given in additional_years, appending these downloads to the meta data file.


In [13]:
print(wiod_meta_res)


Description: WIOD metadata file for pymrio
MRIO Name: WIOD
System: IxI
Version: data13
File: /tmp/foo_folder/WIOD2013_res/metadata.json
History:
20191004 14:36:55 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot01_row_apr12.xlsx to wiot01_row_apr12.xlsx
20191004 14:36:53 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot00_row_apr12.xlsx to wiot00_row_apr12.xlsx
20191004 14:36:52 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/CO2/CO2_may12.zip to CO2_may12.zip
20191004 14:36:51 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/EU/EU_may12.zip to EU_may12.zip
20191004 14:36:51 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot04_row_apr12.xlsx to wiot04_row_apr12.xlsx
20191004 14:36:50 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot97_row_apr12.xlsx to wiot97_row_apr12.xlsx
20191004 14:36:48 - FILEIO -  Downloaded http://www.wiod.org/protected3/data13/wiot_analytic/wiot05_row_apr12.xlsx to wiot05_row_apr12.xlsx

To catch all files, irrespective if present in the storage_folder or not pass overwrite_existing=True

OECD download

The OECD Inter-Country Input-Output tables (ICIO) are available on the OECD webpage. There is no specific licence given for the these tables, but the webpage state that "Data can be downloaded for free" (per July 2019).

The download function works for both, the 2016 and 2018 release.

To download the data, we first define the folder for storing the data (these will be created if they do not exist yet):


In [14]:
oecd_folder_v2018 = '/tmp/mrios/autodownload/OECD_2018'
oecd_folder_v2016 = '/tmp/mrios/autodownload/OECD_2016'

Than we can start the download with


In [15]:
meta_2018 = pymrio.download_oecd(storage_folder=oecd_folder_v2018)

Be default, the 2018 release of the OECD - ICIO tables are downloaded. To retrieve the 2016 version, pass "version='v2016".

As for WIOD, specific years can be specified by passing a list of years:


In [16]:
meta_2016 = pymrio.download_oecd(storage_folder=oecd_folder_v2016,
                                 version='v2016',
                                 years=[2003, 2008])

Both functions return the meta data describing the download progress and MRIO info. Thus:


In [17]:
print(meta_2018)


Description: OECD-ICIO download
MRIO Name: OECD-ICIO
System: IxI
Version: v2018
File: /tmp/mrios/autodownload/OECD_2018/metadata.json
History:
20191007 12:49:19 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=9f579ef3-4685-45e4-a0ba-d1acbd9755a6 to ICIO2018_2015.zip
20191007 12:48:45 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=0190bd9d-31d0-4171-bd1c-82d96b88e469 to ICIO2018_2014.zip
20191007 12:48:11 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=8c8ac674-1b6c-4c8e-94d1-158f06285659 to ICIO2018_2013.zip
20191007 12:47:37 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=cfd03495-8a90-4449-8097-a30f06853cab to ICIO2018_2012.zip
20191007 12:47:03 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=dc48c8c0-f200-487a-aecb-0c2c17fe3ddf to ICIO2018_2011.zip
20191007 12:46:29 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=16d04830-3c27-47a5-bc03-e429d27f585e to ICIO2018_2010.zip
20191007 12:45:56 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=4cc79090-d1ee-48b6-a252-e75312d32a1c to ICIO2018_2009.zip
20191007 12:45:22 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=1fd2fc03-c140-46f4-818e-9a66b671ff70 to ICIO2018_2008.zip
20191007 12:44:48 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=c4d4c21d-00db-48d8-9f9a-f722fcdca494 to ICIO2018_2007.zip
20191007 12:44:14 - FILEIO -  Downloaded http://stats.oecd.org/wbos/fileview2.aspx?IDFile=da62c835-f4fa-4450-bf19-1dd60f88a385 to ICIO2018_2006.zip
 ... (more lines in history)

Eora26 download

Eora26 requires registration prior to download and therefore an automatic download has not been implemented. For further information check the download instruction at the Eora26 example notebook.

EXIOBASE download

EXIOBASE requires registration prior to download and therefore an automatic download has not been implemented. For further information check the download instruction at the EXIOBASE example notebook.