Much of what I do gets embodied in software. Here are examples of current interest:
Community Climate System Model (CCSM)
CCSM 3.0is widely used by climate researchers throughout the world to study climate change, climate sensitivity, climate variability, and past climates. My contribution to the model was as co-architect of its Flux Coupler (CPL6) and the middleware that powers it--MCT.
Model Coupling Toolkit (MCT)
MCT is parallel coupling middleware for MPI-based applications. Suppose you have multiple message-passing codes that you would like to combine into a single multiphysics and/or multiscale system. Sounds hard, right? Well, MCT offers a variety of useful tools that allow one to build distributed-memory parallel models with aplomb. The most visible application of MCT is the CCSM Coupler, but it is also in use as coupling software for the Weather Research and Forecasting (WRF) Model (through an MCT-based implementation of its I/O Coupling API) and COAMPS. We are also gearing up to apply MCT to parallel coupling problems in fusion simulation. Interested? Check out the MCT Web site. There, you can download MCT, and also browse some papers we published on MCT and the CCSM Coupler.
Message-Passing Environment Utilities (MPEU)
MPEU solves a couple of problems at once: 1) It provides environment support for MPI-based codes in the form of parallel stdout/stderr, parallel error handling/reporting and shutdown, parallel timing utilities, and load imbalance diagnostic tools; and 2) it extends Fortran and fixes some of its flaws by offering dynamic memory accounting, portable stderr/stdout, a runtime traceback utility, resource file parsing, a datatype that emulates C's null-terminated strings, and tools for managing lists and sorting. MPEU currently does not have its own packaging or Web site. You can download MPEU as part of the MCT distribution from the MCT Web site. APAC has supported me in creating an MPEU Tutorial, which is currently the package's main documentation.
Publications
When I'm not busy perishing, I take the opportunity to publish. Here's my publication list.
Presentations
If you have seen me give a conference presentation, seminar, or some other lecture, chances are you can find the slides here.