Paul Madden, Thomas Henderson
A robust test suite is a crucial component of most successful software projects, and is a well-accepted best practice. Recently, development of the Non-hydrostatic Icosahedral Model reached a level of maturity demanding such a test suite. We applied to its design both best features and lessons learned from test systems we'd previously built, as well as new ideas, including: implementation in a dynamic language, concurrency, code reuse via standard libraries, a dependency-driven execution model, a simple domain-specific language for configuration, integration with revision control, and convention-over-configuration – each of which provided pragmatic benefits. Its design has already facilitated porting to a new platform with different build and batch systems. We think extension to support other models will also be straightforward and work has already begun.
Paul Madden is a software engineer at NOAA's Earth System Research lab, working through the Cooperative Institute for Research in Environmental Sciences at the University of Colorado, primarily in support of numerical-weather prediction modeling efforts. I have been working in software development for the past four years, after having spent fifteen years in system administration. Paul is also a masters student in CU's Department of Computer Science, and expect to graduate this spring.
Attachment | Size |
---|---|
madden.pdf | 146.94 KB |