The message_ix
team welcomes contributions of any kind from anyone!
If you are looking to understand how the team operates and how we decide what to do with your contributions, please read on.
Decisions in the message_ix
framework are made following good scientific practice, that is, only after careful discussion and review from at least another colleague.
Depending on the size of the impact the decision will likely have, different scales of decision making are employed.
For small decisions, the decision may be handled by the maintainers, while for larger decisions, discussion in the weekly team meetings may be required.
At the moment, message_ix
is maintained by @khaeru and @glatterf42.
This mostly means that they are most active in responding to issues and discussions and perform the housekeeping work as it arises.
However, given the size of the message_ix
framework, it is all but impossible to be truly familiar with every aspect of it.
For this reason, incoming questions may also be answered by various specialists within our team.
The message_ix
framework covers many topics already and can be expanded to cover many more and coupled to various other scientific software.
Examples of this include the modules for water, buildings, material, and transport, or land-use emulators such as MAgPIE.
For all these topics, individual specialists within our team collaborate with one another.
We encourage everyone to use trunk-based development and GitHub projects to develop their individual version of our code, while maintaining compatibility with other version.
We then encourage everyone to frequenly bring their changes to our code back to our main
development branch.
Every Thursday, the message_ix
core developer team meets to discuss current developments.
This includes discussing proposed changes to the core formulation or new feature ideas in detail.
Once a month, this meeting is extended to invite everyone at IIASA with an interest in message_ix
.
These meetings serve the purpose of giving a high-level overview as well as receiving feedback from people who do not join the other meetings.