Building Sustainable Software - The CSDMS Approach
  CSDMS, The Community Surface Dynamics Modeling System, is an NSF funded project whose focus is to aid a diverse community of earth and ocean system model users and developers to use and create robust software quickly. To this end, CSDMS develops, integrates, archives and disseminates earth-system models and tools to an international (67 country) community with the goal of building the set of tools necessary to model the earth system. Modelers use CSDMS for access to hundreds of open source surface-dynamics models and tools, as well as model metadata. Such a model repository increases model transparency and helps eliminate duplication by presenting the current state of modeling efforts. To increase software sustainability, composability and interoperability, CSDMS promotes standards that define common modeling interfaces, semantic mediation between models, and model metadata. Through online resources and workshops, CSDMS promotes software engineering best practices, which are unfamiliar to many developers within our modeling community. For example, version control, unit testing, continuous integration, test-driven development, and well-written clean code are all topics of the educational mission of CSDMS. 
Eric W. H. Hutton, Mark D. Piper, Scott D. Peckham, Irina Overeem,   Albert J. Kettner and James P. M. Syvitski
cs.SE