Components, the Common Component Architecture, and the Climate/Weather/Ocean Community

J. Walter Larson, Boyana Norris, and Everest T. Ong
Mathematics and Computer Science Division, Argonne National Laboratory
9700 S. Cass Avenue, Argonne, IL 60439

{larson,norris,eong}@mcs.anl.gov

David E. Bernholdt, John B. Drake, Wael R. El Wasif, and Michael W. Ham
Computer Science and Mathematics Division, Oak Ridge National Laboratory
P.O. Box 2008, Oak Ridge, TN 37831-6016

{bernholdtde,drakejb,elwasifwr,hammw}@ornl.gov

Craig E. Rasmussen
Advanced Computing Laboratory, Los Alamos National Laboratory
MS B287, Los Alamos, NM 87545

rasmussn@lanl.gov

Gary Kumfert
Center for Applied Scientific Computing, Lawrence Livermore National Laboratory
Box 808, L-365, Livermore, CA 94551

kumfert1@llnl.gov

Daniel S. Katz
Jet Propulsion Laboratory, California Institute of Technology
4800 Oak Grove Drive, Pasadena, CA 91109

Daniel.S.Katz@jpl.nasa.gov

Shujia Zhou
Northrop Grumman IT/TASC
4801 Stonecroft Blvd, Chantilly, VA 20151

szhou@pop900.gsfc.nasa.gov

Cecelia DeLuca and Nancy S. Collins
Scientific Computing Division, National Center for Atmospheric Research
P.O. Box 3000, Boulder, CO 80307

{cdeluca,nancy}@ucar.edu

ABSTRACT

Earth system and environmental models present the scientist/programmer with multiple challenges in software design, development, and maintenance, overall system integration, and performance. We describe how work in the industrial sector of software engineering - namely component-based software engineering - can be brought to bear to address issues of software complexity. We explain how commercially developed component solutions are inadequate to address the performance needs of the Earth system modeling community. We describe a component-based approach called the Common Component Architecture that has as its goal the creation of a component paradigm that is compatible with the requirements of high-performance computing applications. We outline the relationship and ongoing collaboration between CCA and major Climate/Weather/Ocean community software projects. We present examples of work in progress that uses CCA, and discuss long-term plans for the CCA-climate/weather/ocean collaboration.