BoARIO

Give an accessible and inter-operable implementation of Adaptative Regional Input Output, as well as tools to visualize and analyze simulation outputs and to evaluate the effects of many parameters of the model.
https://github.com/spjuhel/boario

Category: Industrial Ecology
Sub Category: Input Output Model

Keywords from Contributors

archiving measur transforms generic optimize compose observation conversion projection animals

Last synced: about 20 hours ago
JSON representation

Repository metadata

Python implementation of ARIO model

README.rst

          .. role:: pythoncode(code)
   :language: python

#######
BoARIO
#######
|build-status| |black| |contribute| |licence| |pypi| |pythonv| |joss|

.. |build-status| image:: https://img.shields.io/github/actions/workflow/status/spjuhel/boario/CI.yml
   :target: https://github.com/spjuhel/BoARIO/actions/workflows/CI.yml
   :alt: GitHub Actions Workflow Status
.. |black| image:: https://img.shields.io/badge/code%20style-black-000000
   :target: https://github.com/psf/black
   :alt: Code Style - Black
.. |contribute| image:: https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat
   :target: https://github.com/spjuhel/BoARIO/issues
   :alt: Contribution - Welcome
.. |licence| image:: https://img.shields.io/badge/License-GPLv3-blue
   :target: https://www.gnu.org/licenses/gpl-3.0
   :alt: Licence - GPLv3
.. |pypi| image:: https://img.shields.io/pypi/v/boario
   :target: https://pypi.org/project/boario/
   :alt: PyPI - Version
.. |pythonv| image:: https://img.shields.io/pypi/pyversions/boario
   :target: https://pypi.org/project/boario/
   :alt: PyPI - Python Version
.. |joss| image:: https://joss.theoj.org/papers/71386aa01a292ecff8bafe273b077701/status.svg
   :target: https://joss.theoj.org/papers/71386aa01a292ecff8bafe273b077701
   :alt: Joss Status

`BoARIO` : The Adaptative Regional Input Output model in python.

.. _`Documentation Website`: https://spjuhel.github.io/BoARIO/boario-what-is.html

Disclaimer
===========

Indirect impact modeling is tied to a lot of uncertainties and complex dynamics.
Any results produced with `BoARIO` should be interpreted with great care. Do not
hesitate to contact the main author when using the model!

Furthermore, this project is currently developed on the free time of its main contributor,
without any financial supports. If you are interested in its further development and have funding
capacity, please reach out!

What is BoARIO ?
=================

BoARIO, is a python implementation project of the Adaptative Regional Input Output (ARIO) model [`Hal13`_].

Its objectives are to give an accessible and inter-operable implementation of ARIO, as well as tools to visualize and analyze simulation outputs and to
evaluate the effects of many parameters of the model.

This implementation would not have been possible without the `Pymrio`_ module and amazing work of [`Sta21`_].

It is still an ongoing project (in parallel with a PhD project).

.. _`Sta21`: https://openresearchsoftware.metajnl.com/articles/10.5334/jors.251/
.. _`Hal13`: https://doi.org/10.1111/j.1539-6924.2008.01046.x
.. _`Pymrio`: https://pymrio.readthedocs.io/en/latest/intro.html

You can find most academic literature using ARIO or related models `here `_


What is ARIO ?
===============

ARIO stands for Adaptive Regional Input-Output. It is an hybrid input-output / agent-based economic model,
designed to compute indirect costs from economic shocks. Its first version dates back to 2008 and has originally
been developed to assess the indirect costs of natural disasters [`Hal08`_].

In ARIO, the economy is modelled as a set of economic sectors and a set of regions.
Each economic sector produces its generic product and draws inputs from an inventory.
Each sector answers to a total demand consisting of a final demand (household consumption,
public spending and private investments) of all regions (local demand and exports) and
intermediate demand (through inputs inventory resupply). An initial equilibrium state of
the economy is built based on multi-regional input-output tables (MRIOTs).

For a more detailed description, please refer to the `Mathematical documentation`_ of the model.

Multi-Regional Input-Output tables
-------------------------------------

Multi-Regional Input-Output tables (MRIOTs) are comprehensive economic data sets
that capture inter-regional trade flows, production activities, and consumption
patterns across different regions or countries. These tables provide a detailed
breakdown of the flows of goods and services between industries within each
region and between regions themselves. MRIOTs are constructed through a
combination of national or regional input-output tables, international trade
data, and other relevant economic statistics. By integrating data from multiple
regions, MRIOTs enable the analysis of global supply chains, international trade
dependencies, and the estimation of economic impacts across regions. However,
they also come with limitations, such as data inconsistencies across regions,
assumptions about trade patterns and production technologies, and the challenge
of ensuring coherence and accuracy in the aggregation of data from various
sources.

.. _`Mathematical documentation`: https://spjuhel.github.io/BoARIO/boario-math.html

.. _`Hal08`: https://doi.org/10.1111/risa.12090

Where to get BoARIO ?
==========================

You can install BoARIO from ``pip`` with:

.. code:: console

   pip install boario

Or from ``conda-forge`` using conda (or mamba):

.. code:: console

   conda install -c conda-forge boario


The full source code is also available on Github at: https://github.com/spjuhel/BoARIO

More info in the `installation `_ page of the documentation.

How does BoARIO work?
=========================

In a nutshell, BoARIO takes the following inputs :

- a (possibly Environmentally Extended) Multi-Regional IO table (such as `EXIOBASE 3`_ or `EORA26`_) in the form of an ``pymrio.IOSystem`` object, using the `Pymrio`_ python package. Please reference the `Pymrio documentation `_ for details on methods available to pymrio objects.

- multiple parameters which govern the simulation,

- event(s) description(s), which are used as the perturbation to analyse during the simulation

And produces the following outputs:

- the step by step, sector by sector, region by region evolution of most of the variables involved in the simulation (`production`, `demand`, `stocks`, ...)

- aggregated indicators for the whole simulation (`shortages duration`, `aggregated impacts`, ...)

.. _`EXIOBASE 3`: https://www.exiobase.eu/
.. _`EORA26`: https://worldmrio.com/eora26/

Example of use
=================

See `Boario quickstart `_.

Credits
========

Associated PhD project
------------------------

This model was developed during project founder's PhD on the indirect impact of extreme events (`Thesis available here`_).
This PhD was supported by the French Environment and Energy Management Agency (`ADEME`_).

.. image:: https://raw.githubusercontent.com/spjuhel/BoARIO/master/imgs/Logo_ADEME.svg?sanitize=true
           :width: 400
           :alt: ADEME Logo

.. _`ADEME`: https://www.ademe.fr/
.. _`Thesis available here`: https://theses.hal.science/tel-05045805

Development
------------

 - Samuel Juhel (pro@sjuhel.org)

Contributions
---------------

All `contributions `_ to the project are welcome !

Acknowledgements
------------------

I would like to thank Vincent Viguie, Fabio D'Andrea my PhD supervisors as well as Célian Colon, Alessio Ciulo and Adrien Delahais
for their inputs during the model implementation.

        

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Juhel"
  given-names: "Samuel"
  orcid: "https://orcid.org/0000-0001-8801-3890"
title: "BoARIO"
version: 0.5.10
doi: 10.5281/zenodo.11580697
date-released: 2024-06-11
url: "https://github.com/spjuhel/BoARIO"

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 617
Total Committers: 6
Avg Commits per committer: 102.833
Development Distribution Score (DDS): 0.486

Commits in past year: 58
Committers in past year: 2
Avg Commits per committer in past year: 29.0
Development Distribution Score (DDS) in past year: 0.362

Name Email Commits
Samuel Juhel p****o@s****g 317
Samuel Juhel s****l@z****t 251
dependabot[bot] 4****] 39
sjuhel s****l@c****r 7
Alessio Ciullo 2****u 2
Nicholas Potter 4****t 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 50
Total pull requests: 250
Average time to close issues: 3 months
Average time to close pull requests: 20 days
Total issue authors: 7
Total pull request authors: 4
Average comments per issue: 0.36
Average comments per pull request: 0.39
Merged pull request: 136
Bot issues: 1
Bot pull requests: 167

Past year issues: 8
Past year pull requests: 105
Past year average time to close issues: 20 days
Past year average time to close pull requests: 25 days
Past year issue authors: 3
Past year pull request authors: 2
Past year average comments per issue: 0.25
Past year average comments per pull request: 0.37
Past year merged pull request: 40
Past year bot issues: 1
Past year bot pull requests: 93

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/spjuhel/boario

Top Issue Authors

  • spjuhel (42)
  • PatrickS97 (2)
  • ccolon (2)
  • aleeciu (1)
  • SHNU-cpy (1)
  • dependabot[bot] (1)
  • konstantinstadler (1)

Top Pull Request Authors

  • dependabot[bot] (167)
  • spjuhel (81)
  • aleeciu (1)
  • potterzot (1)

Top Issue Labels

  • enhancement (22)
  • bug (10)
  • long term (6)
  • documentation (4)
  • python (1)
  • minor (1)
  • dependencies (1)
  • testing (1)
  • invalid (1)

Top Pull Request Labels

  • dependencies (167)
  • python (151)
  • minor (32)
  • github_actions (16)
  • enhancement (1)

Package metadata

pypi.org: boario

BoARIO : The Adaptative Regional Input Output model in python.

  • Homepage: https://github.com/spjuhel/BoARIO
  • Documentation: https://spjuhel.github.io/BoARIO/index.html
  • Licenses: GNU General Public License v3 or later (GPLv3+)
  • Latest release: 0.7.0 (published 8 months ago)
  • Last Synced: 2026-06-22T22:02:39.008Z (1 day ago)
  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,116 Last month
  • Rankings:
    • Dependent packages count: 6.633%
    • Forks count: 19.553%
    • Average: 21.164%
    • Downloads: 23.569%
    • Stargazers count: 25.456%
    • Dependent repos count: 30.611%
  • Maintainers (1)

Dependencies

.github/workflows/main.yml actions
  • actions/checkout v2 composite
  • wangchucheng/git-repo-sync v0.1.0 composite
.github/workflows/black.yml actions
  • actions/checkout v2 composite
  • psf/black stable composite
.github/workflows/static_html_deploy.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v3 composite
  • actions/deploy-pages v1 composite
  • actions/upload-pages-artifact v1 composite
pkg-requirements.txt pypi
  • coloredlogs >=15.0.1
  • country_converter >=0.7.4
  • dask >=2021.9.0
  • nptyping >=1.4.4
  • numpy >=1.17.4
  • numpyencoder >=0.3.0
  • odfpy >=1.4.1
  • pandas >=1.4.1
  • progressbar2 >=2.4
  • pyarrow >=9.0.0
  • pymrio >=0.4.6
poetry.lock pypi
  • 132 dependencies
pyproject.toml pypi
  • coloredlogs ^15.0.1
  • country-converter ^1.0.0
  • dask >=2023
  • numpy <1.24
  • numpyencoder ^0.3.0
  • odfpy ^1.4.1
  • pandas >=1.5,<2.0
  • progressbar2 ^4.2.0
  • pyarrow >=11
  • pymrio >=0.4
  • python >=3.9
test-requirements.txt pypi
  • coloredlogs >=15.0.1 test
  • country_converter >=0.7.4 test
  • dask >=2021.9.0 test
  • nptyping >=1.4.4 test
  • numpy >=1.17.4 test
  • numpyencoder >=0.3.0 test
  • odfpy >=1.4.1 test
  • pandas >=1.4.1 test
  • progressbar2 >=2.4 test
  • pyarrow >=9.0.0 test
  • pymrio >=0.4.6 test
  • pytest >=7.2.0 test
.github/workflows/draft-pdf.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite

Score: 12.681362279205146