CSDMS Meeting 2010: "Modeling for Environmental Change"

Home Announcements Schedule Clinics Abstracts Participants

Clinics

  1. Using the CSDMS Modeling Tool
  2. CSDMS Developer Clinic: New Tools and Information for Code Contributors
  3. HPCC Clinic I: Introduction to Parallel Programming with MPI (Level I)
  4. HPCC Clinic II: Parallel Programming with MPI and Alternate One-sided Programming Models (Level II)

Using the CSDMS Modeling Tool

Irina Overeem
October 14, 4:30 - 6:00 pm; also October 15, 4:30-6:00 pm


The CSDMS Modeling Tool (CMT) intends to provide you with a modeling framework of inter-connectable process modules able to predict the transport and deposition of water and sediment over the Earth’s surfaces, and how surfaces evolve over a broad range of time and space scales. Our tool allows you to couple and run CSDMS components on the CSDMS supercomputer in a user-friendly environment.

In this clinic, we will show you how to get the latest CMT as an open-source download from our wiki. CMT now makes ~52 earth surface process models available for use to everyone in the CSDMS community. The available models range from small educational models to advanced community-built modeling systems. The components bridge the terrestrial, coastal and marine domains and span timescales from minutes to millions of years.

A short demonstration will illustrate the main features of the CMT; the workspace, the visualization tool and the help system. We will browse the existing projects, and explore how to set up a simulation, by using the example configurations or in ‘plug and play fashion’. We will demonstrate how to run a simulation, or how to submit simulations as jobs to the HPCC, and how to get the new output files and visualize output.

You can run models as stand-alone codes with the CMT. We will have the opportunity to run a few very simple climate change and human impact scenarios with the climate-driven river model, HydroTrend. Everyone will be able to surf the input parameters menus and get a feeling for the tabbed dialogues.

The CMT is also designed as a framework to couple models. Models need to be adapted to communicate with one another, and subsequently allow bridging of critical domains and exploration of new interactions. In the clinic we will run three connected components: CEM-Avulsion-HydroTrend. These experiments link an incoming river to a delta floodplain with multiple distributaries introducing sediment into the coastal domain where wave-driven longshore transport then occurs. This example serves to discuss some of the scientific challenges of coupling domains, to discuss some of the technological challenges of coupling models, but it also shows the new and interesting questions that now can be addressed by modelers and users.

CSDMS Developer Clinic: New Tools and Information for Code Contributors

S.D. Peckham, Chief Software Architect for CSDMS
October 15, 4:30 - 6:00 pm


During the past year, the CSDMS Development Team made considerable progress and was pleased to release its new CSDMS Modeling Tool (CMT) a few months ago. This user-friendly tool makes it easy to build new models from a ever-growing palette of components and then run them remotely on a supercomputer. The CMT has already been used for several research projects, and as an educational tool in a graduate-level modeling course. But while the CMT is the most visible CSDMS product, its capabilities rest upon the integration of many lower-level applications and protocols. Some of these are powerful, open-source tools that CSDMS uses to address particular issues such as language interoperability (Babel), model coupling (Bocca & Ccaffeine), parallel regridding (ESMF regridding tool) or visualization of large data sets (VisIt). And while part of the CSDMS effort involves the integration of these tools into a single modeling system, the bulk of our effort now focuses on making our diverse collection of contributed models reuseable as plug-and-play components. This part of the effort involves creating tools to simplify tasks such as: (1) providing components with a standardized calling interface, in a minimally invasive way, (2) reading and standardizing input files, (3) creating a "tabbed dialog" graphical user interface (GUI) for a component, (4) acquiring or creating required input files and grids and (5) saving component output in standard formats, especially netCDF. As these tools are improved it becomes much easier for CSDMS staff to prepare components for plug-and-play usability, but it also becomes easier for code contributors to do this themselves.

The purpose of this clinic is to provide model developers with information and tools that are aimed at: (1) making their model reusable in a wider variety of contexts and (2) adding new capabilities to their model (e.g. GUI, help files, netCDF output) with the least amount of effort. In addition, this clinic provides an opportunity for developers to discuss technical issues with the CSDMS Development Team and to provide feedback and suggestions that can help us to improve our modeling system. Topics to be discussed include:
  • Developer overview of the CMT
  • Guidelines for component development
  • Creating tabbed-dialog GUIs via XML
  • New spatial regridding tools: OpenMI (serial) and ESMF (parallel)
  • Developer overview of netCDF and VisIt
  • New tools for writing netCDF files
  • Developer resources available on the CSDMS cluster
  • Components that access web services (e.g. CUAHSI HIS and OpenDAP)

HPCC Clinic I: Introduction to Parallel Programming with MPI (Level I)

Pavan Balaji
October 16, 2:30 - 4:00 pm


With processor clock speeds no longer increasing, parallel programming seems to be the only way to improve performance for existing scientific problems and address scientific challenges that can only be solved by harnessing the capabilities of large supercomputers. While there are a number of approaches to parallel programming, each with its own advantages and disadvantages, Message Passing Interface (MPI) has established itself as the de facto standard for portable parallel programming on supercomputing systems. In this tutorial, I will talk about different aspects of MPI starting from very basic programming with MPI to some of the more complex features of MPI, including features that are upcoming in the latest MPI standard.

HPCC Clinic II: Parallel Programming with MPI and Alternate One-sided Programming Models (Level II)

Pavan Balaji
October 17, 8:30 - 10:00 am


Over the past two decades, Message Passing Interface (MPI) has established itself as the de facto standard of parallel programming. Recently, Global Address Space (GAS) models (such as Global Arrays (GA), Global Trees, and other Partitioned Global Address Space (PGAS) models) are emerging as popular alternatives to MPI by making asynchronous data management more natural to application developers. In this tutorial, I will talk about programming features of each of the different models (including MPI and PGAS) and the role each one plays in different forms of applications. Aspects related to the strengths of each model, and what kind of applications would benefit from which model, and how they can be integrated together for hybrid programming will be covered.