The Fortran 2003 intrinsic module iso_c_binding is used in the sample implementation bmi_heat.f90 to flatten arrays. Although there's nothing wrong with this, I think it's unnecessary; the arrays can be flattened using pure Fortran pointers. I may be wrong about this, but it would be nice to remove this dependency since it adds an additional layer of complexity for a model developer trying to implement this BMI.