This new computational challenge not only involves a problem of great interest to society and the Earth sciences, but in addition, can only be enabled by new research in computational sciences, with the development of new algorithms, computational environments, and hardware. The complexity of the seismic computational challenge will entail the development of novel algorithms within software environments that support high performance, rapid prototyping of analysis and prediction environments and the integration of real-time data.
	We have used initial computations to estimate that simulation of a fault network containing 107 elements requires machines in the 1 to 100 Teraflop range. This conclusion is supported by recent media announcements from the Japanese, who are presently funding construction of a 30 Tflop machine for weather and earthquake forecasting purposes.  The uncertainty in our estimate reflects the currently unknown requirements stemming from needed accuracy in simulation of the multi-resolution physics of earthquakes. The development of a predictive capability will thus require enormous computational resources, which are comparable to those needed for the large-scale simulations of DOE's ASCI program. We expect such capabilities to be available from general facilities such as the Los Alamos Advanced Computing Laboratory (ACL), NPACI - San Diego, and NCSA - Illinois. Eventually one might expect to set up dedicated resources for earthquake forecasting as planned in the major Japanese program in this area. Although these high-end machines may well have distributed shared memory architecture, our software should also support the increasingly popular clusters of PC hardware, which provide a cost-effective development environment. The many levels of complexities present in the current and future generations of New Computational Challenge simulations will call for an interactive team of Earth scientists, physicists and computational scientists working together.

	GEM Computational Infrastructure: The GEMCI will involve the following elements:

	1.	User Interface
	2.	Non-local Equation Solver (Green’s function)
	3.	Modules specifying local Physics and friction models
	4.	Evaluation, Data analysis and Visualization
	5.	Data storage, indexing and access for experimental and computational information
	6.	Complex Systems (Pattern Dynamics) Interactive Rapid Prototyping environment for developing new phenomenological models with their analysis and visualization.
	7.	Overall Integration of GEMCI into a problem solving environment

	We will describe the details in sections C.7, C.8 and C.9 but here we will describe our overall approach. One important feature of GEM is that there are no major large “legacy” codes.  This can be turned into an advantage, because we can adopt modern distributed object-oriented technology from the outset. There are ambitious high performance computing projects in this area such as POOMA (http://www.acl.lanl.gov/PoomaFramework/, Nile (http://www.nile.utexas.edu/ ) and Legion (http://www.cs.virginia.edu/~legion/ ). We intend a simpler approach where we do not initially link distributed object and parallel computing concepts. We will use traditional MPI based parallel systems with extensive use of libraries so that for instance the fast multipole algorithm can be used by application programs from a high level interface that hides the details of its MPI implementation. Sequential or parallel programs will then be encapsulated as CORBA objects which will allow us to link them together and with databases, visualization and collaboration tools with invocations that do not depend on the computing platform and module implementation. Early on, we intend to establish an overall Computational Seismic Framework, which will allow the team to develop different modules separately, in such a way as to enable this integration. This involves effectively defining a "CORBA vertical facility" with the properties and methods of the GEM modules defined in terms of a specific IDL (Interface Definition Language) syntax. NPAC has substantial experience in this area with projects for the NCSA Alliance, DoD Modernization and ASCI. Our new book  'Building Distributed Systems for the Pragmatic Object Web'  (co-authored by Fox and his colleagues http://www.npac.syr.edu/users/shrideep/book/) describes how other commodity technologies including Microsoft's COM and Java can be integrated with CORBA in the emerging object web. As most of our software will be built from scratch, we expect that we can establish and enforce the uniform practices of a Computational Seismic Framework which will lead to a GEMCI consisting at a high level of a set of coarse grain “Distributed Scientific Objects.” These can be in any language (such as parallel C, C++ Java or Fortran) but with a uniform Javabean applet front end.  Note, for instance, that cellular automata models are natural applications for Fortran or HPF, but the complex hierarchical data structures of the fast multipole method are much more naturally handled in C or C++.  One can also anticipate using Java to directly develop some application modules as this is rapidly emerging as an attractive modeling language (http://www.npac.syr.edu/projects/javaforcse). The support of multiple paradigms will not lead to a chaotic environment because we will enforce uniformity at the module interfaces. Integration of these multi-paradigm coarse grain objects will rely either on commercial CORBA or COM object brokers or on custom technology such as NPAC's WebFlow/JWORB (which integrates Web CORBA and COM in a single Java Server.) NPAC has also already demonstrated (http://www.npac.syr.edu/users/gcf/alliance98/index.html) how one can use a multi-tier architecture to link Globus (http://www.globus.org) with CORBA and Web modules to achieve high-performance when necessary. This complication is only needed to enhance inter-module performance; we use conventional parallel computing approaches internally to each module.
We do not propose to assign significant resources to develop this overall computer science infrastructure: we will be using well established parallel computing techniques and impose a uniform overall design framework to allow commodity distributed object systems such as CORBA to manage the coarse grain structure of GEMCI. We anticipate that a rich set of tools will quickly become available to support this approach. Our clear separation of parallel and object technologies is not the most ambitious approach possible but ensures an excellent system, which can adapt to inevitable change with a modest level of effort.