Some brief take-aways from the conversation were
- support for developing a version 3 of the BMI specification to add extension support
- a general sense that various recurring concerns could be addressed through extensions, e.g.
- MPI parallelization
- iterative solvers with coupling (cf XMI)
- extensions that are broadly adopted don’t need to have a trajectory into the base specification, and can just be kept as increasingly-ubiquitous extensions
- there are more kinds of variables that models may want/need to expose than just ‘input’ and ‘output’, so the interface should evolve to instead expose sets of variables that fill various named roles
- this evolution can readily support needs for state saving and restoration for various purposes, such as checkpoint/restart, hotstart, ensembles, and diagnostic inspection
I’m going to be bold and start a thread for a BMI v3 roadmap to draw more input and hopefully drive this forward.