Meeting summary
The meeting focused on the status and design of BMI 3, especially the definition and use of extensions and variable sets. The group asserted that extensions should be language-agnostic and defined at a high level, with implementations in specific languages as needed. The group agreed that extensions should extend basic functionality rather than be essential. A core BMI 3 function should allow querying which extensions a component supports. The group raised concerns about versioning of extensions, and discussed the possibility of using semantic versioning and including version information in extension names, though no final decision was made. The group explored how to generalize input/output variables with variable sets, with Eric and Bart explaining that variable sets would be defined by model developers without prescribed names, though calibration parameters and model state variables were identified as important use cases. The group touched on the relationship between BMI, the babelizer, grpc4bmi, and Remote BMI, and noted that these tools would need to interact with extensions in a way that does not require supporting every possible extension, with Bart noting that supporting all extensions would create maintenance burdens. Eric proposed adding BMI 3 tests to the BMI Tester, including testing the Python implementation of extensions, to help validate the approach before finalizing the implementation. Finally, they recognized the need for concrete use cases and examples to further test and refine the BMI 3 design.
Next steps
Eric
- Add a BMI 3 test to the BMI Tester, including a test for a Python implementation of an extension.
Greg
- Bring simple thermal-based use cases to the next CSDMS team meeting to test extension and variable set concepts.
Mark
- Open an issue to discuss the versioning of extensions.
Joe
- Continue working on the Fortran example of an extension by plugging XMI in as an extension.
All participants
- Think about concrete use cases for extensions and variable sets to bring back to the next meeting.
The next meeting is scheduled for December 11.