Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop better input data system for MESSAGEix-Materials #193

Open
macflo8 opened this issue May 23, 2024 · 1 comment
Open

Develop better input data system for MESSAGEix-Materials #193

macflo8 opened this issue May 23, 2024 · 1 comment
Labels
enh New features or functionality material MESSAGEix-Materials variant

Comments

@macflo8
Copy link
Contributor

macflo8 commented May 23, 2024

At the moment, most of the input data for MESSAGEix-Materials is stored in xlsx files. This has the following advantages and disadvantages as a consequence.:

Pros

  • xlsx files can hold various data types including data visualizations and images, which can be used to collect related literature all in one file
  • Since many people are familiar with spreadsheet software, the xlsx files can increase the accessibility for new users

Cons

  • Since xlsx files are binary, changes in these files picked up by version control are not human readable
  • Merging these files with git is not possible

To resolve the version control issues, it would be desirable to move to csv and yaml files to store input data. There is however a need to find a solution for the remaining data documentation currently stored in the xlsx files.

@macflo8 macflo8 added the material MESSAGEix-Materials variant label May 23, 2024
@khaeru khaeru added the enh New features or functionality label May 23, 2024
@khaeru
Copy link
Member

khaeru commented May 24, 2024

Another con is that reading data from .xlsx files is slower than reading the same number of data points from .csv and some other formats. This impact is more noticeable if the files are large or numerous.

We have some approaches in MESSAGEix-Transport for handling collections of exogenous data files, while keeping track of their provenance through inline comments and documentation. Some of that could be emulated, and some utilities could be migrated to message_ix_models.util (or similar) for use by other modules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enh New features or functionality material MESSAGEix-Materials variant
Projects
None yet
Development

No branches or pull requests

2 participants