  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.
