== Strategic Plan, 2006-2011 === Short-term crustal dynamics related text for the five year strategic plan (Sep 1, 2006 - Aug 31, 2011). Version 2, 2006/05/02 == OVERVIEW == The short-term crustal dynamics working group focuses on simulating crustal deformation associated with the accumulation and release of strain over the earthquake cycle. The spatial scales range from meters to thousands of kilometers and the temporal scales range from tens of milliseconds to hundreds of thousands of years. At the larger length scales and longer time scales, models blend into those of the long-term crustal dynamics working group. The working group's current efforts target development of software for the simulation of multiple earthquake cycles with sufficient resolution to capture the buildup of strain in the crust, strain release in propagating ruptures that radiate seismic waves, and postseismic relaxation of the crust. Additionally, infrastructure is needed to couple crustal dynamics software to other models of Earth processes, as well as allow data assimilation into crustal dynamics software. Easy data assimilation in crustal dynamics software will promote integration of the wide spectrum of EarthScope data now being collected. == ACCOMPLISHMENTS == Working group members have held a workshop each of the last four years cosponsored by various combinations of the Southern California Earthquake Center, NASA, Los Alamos National Laboratory, NSF, and CIG. These workshops have served to (1) establish a suite of benchmarks for testing codes and comparing modeling techniques, (2) train students, postdocs, and others in the use of a variety of modeling tools (including mesh generators and modeling codes), and (3) facilitate an exchange of ideas among modelers from academia, national laboratories, and government agencies. While the proposal to form CIG was in its infancy, two members of the working group, Brad Aagaard (USGS) and Charles Williams (RPI) began working towards integrating their modeling codes (!EqSim and a version of Tecton) into the Pyre framework with the ultimate goal of developing highly modular codes for the simulation of earthquake dynamics. A significant amount of commonality was identified between the codes and since then Aagaard and Williams have coordinated their development with a plan to merge their codes into a single suite of modules, !PyLith. !PyLith is now under development as discussed in the next section. In addition, in year one CIG added Python bindings to the Portable, Extensible Toolkit for Scientific Computation (!PETSc). This significantly reduces the amount of code required to write solvers in the Pyre superstructure framework using !PETSc. Consequently, !PyLith will use !PETSc routines and solvers directly from the framework, an important step toward our vision of a framework with common components. == CURRENT GOALS == During the June, 2005, workshop the short-term crustal dynamics working group set forth four priorities for the year: (1) easy installation of !PyLith and other CIG developed software, (2) implementation of a parallel version of !PyLith with increased modularity, (3) infrastructure for archiving and comparing output associated with the suite of working group benchmarks, and (4) development of simple, general, efficient data structures and routines to store and manipulate finite-element mesh information that would serve as a common denominator between mesh generators and modeling codes. !PyLith, in addition to other CIG developed software, is now using the GNU build procedure. While installing !PyLith with its many components remains a nontrivial task, the process has significantly improved with this new build procedure that greatly facilitates configuration checking and more explanatory error messages. Furthermore, the GNU build system is used on almost every type of computer running the Unix operating system. A parallel version of !PyLith, supporting modeling of quasi-static crustal deformation with viscoelastic material models (written primarily by Williams) was released in the summer of 2006 (ASSUMPTION). This signifies a major step forward for this community driven effort to develop scalable, modular software for short-term crustal dynamics. Development of !PyLith continues, including the addition of full dynamic modeling capabilities via merging features from Aagaard's EqSim code and further integration within the Pyre framework to improve its modularity. All of the basic material and fault friction rheologies in Tecton have been reimplemented (ASSUMPTION) using this modular approach. This also allows users to extend !PyLith and add their own constitutive models by writing small, simple modules. Release of this more comprehensive version, including documentation, is expected in late 2006. As part of parallelizing Williams's code, Matthew Knepley (CIG/ANL) in collaboration with Dimitry Karpeev (ANL) has developed Sieve, which is infrastructure for storing and manipulating general finite-element meshes. Although !PyLith is currently the only CIG code using Sieve, several of the other modeling codes will likely take advantage of Sieve in the near future. An ongoing implicit task associated with the development of !PyLith is the construction of all components necessary for using !PyLith as a research modeling tool. This includes interfacing Sieve with a few of the most popular and capable mesh generators used by the community (e.g., Cubit, !LaGriT, and !TetGen) so that users can export meshes directly to Sieve for use in! PyLith, and interfacing !PyLith with a couple of the most popular visualization packages used by the community (e.g, ParaView and OpenDX). The initial CIG effort on developing infrastructure for archiving and benchmarking comparing output from community benchmarks has focused on the mantle convection working group (ADD REFERENCE TO PAGE OR SECTION DISCUSSING BENCHMARKING/TESTING OF CITCOMS). In May 2006, Luis Armendariz (CIG) began refining the infrastructure to meet the more general needs of the short-term crustal dynamics working group while the working group began defining standards for simulation output and metrics for comparing results. Setting up !PyLith (and permitting other non-CIG supported short-term crustal dynamics modeling codes) to use this infrastructure is anticipated in late 2006. == FUTURE DIRECTIONS == In 2007, we expect a significant shift to occur in the development of !PyLith. The focus will move from transforming the old, entangled legacy simulation codes to enhancing various components of the new, modular simulation code. The working group has identified several areas in which to target resources with four given highest priority. (1) Adding adaptive mesh refinement capabilities to !PyLith in order to automatically tune the finite-element discretization for each problem, thereby improving the efficiency of the computation while incorporating error estimates. (2) Refine !PyLith's interface with PETSc to expand the different kinds of solvers (e.g., nonlinear multigrid solvers) it can use in order to leverage advances in PETSc solver development and allow users to select solvers most appropriate for their computation. (3) Allow the use of spherical geometry, in addition to the currently supported Cartesian geometry, so that boundary conditions and parameters can be specified in a more natural coordinate system. (4) Develop robust, validated, open-source versions of codes for dislocations in layered elastic and layered viscoelastic domains. While a variety of codes are in use to do these types of computations, few are portable and none undergo continuous regression testing. Furthermore, these codes would serve as tutorials/introductions to the highly modular, portable software developed by CIG for the short-term crustal dynamics community and provide reference solutions for additional benchmarking. A few priorities beyond 2007 have already been identified. (1) Extending !PyLith to automatically adapt the timestep and solution scheme in order to resolve the rapid rupture propagation and deformation during earthquakes as well as the gradual pre- and post-seismic deformation between earthquakes. (2) Integrating tools for formal data assimilation in order to permit data from EarthScope and other sources to be included directly into simulations. (3) Coupling short-term crustal dynamics simulations to other simulations in order to more accurately capture interactions among geodynamics phenomena.