Evolving Fortran types with inferred units-of-measure
We provide a units-of-measure type system for Fortran as a pre-processor. This provides a lightweight verification tool for computational science code. Our approach aids adoption to existing code via type inference and polymorphism. A critical variables procedure guides minimal annotation for maximum information. Our approach reduces the unit annotation burden by roughly 80%.
fortran units-of-measure type systems verification dimension typing code base evolution language design