Monday, March 15, 2010, 12:00PM - 1:00PM
The Community Surface Dynamics Modeling System (CSDMS) is an NSF-funded project that is helping a diverse community of surface dynamics modelers and model users to work together toward common goals. A community of almost 400 CSDMS members has contributed numerous open-source models and process modules which are now available from the CSDMS website. However, CSDMS has also established a set of procedures and protocols that can enable these contributed models to work together as plug-and-play components within an integrated modeling system. The CSDMS approach to this problem has been to build upon and combine an existing set of advanced software tools from the high-performance computing (HPC) community. This includes the standards and tools of the Common Component Architecture (CCA, www.cca-forum.org), the netCDF file format and the VisIt tool for visualization.
CSDMS is nearing the end of its third year and now has many working examples of plug-and-play modeling available in its new CSDMS Modeling Tool. The entire system is based on the concept of components, which may be multi-process models or "submodels" of just a particular physical process (e.g. infiltration). Components are designed to encapsulate key functionality and to retrieve the input they need from other components through linking. They may be written to use a single processor or multiple processors and they communicate through an advanced framework that supports high-performance scientific computing. They may also be written in any of several different programming languages.
While components can be used outside of a graphical environment, using them from within the CSDMS Modeling Tool means that each has its own HTML help pages and its own tabbed dialog for changing input. The main advantage of the system is that users can easily replace one process component or model with another that offers similar functionality, without recompiling. This opens up exciting possibilities in terms of both scientific research and education. It allows researchers to rapidly compare different approaches and algorithms with regard to speed, efficiency, accuracy, numerical scheme or scalability. Similarly, it allows students to compare results from simpler models to those from more complex or complete models. The purpose of this talk is to demonstrate the CSDMS system with several examples.