Code Baseline, Milestone E, code PARK TITLE OF AGREEMENT: Numerical Simulations For Active Tectonic Processes: Increasing Interoperability And Performance AGREEMENT NUMBER: JPL Task Plan No. 83-6791 TEXT OF MILESTONE: serial code PARK with 15,000 elements for 500 time steps - uses parallel multipole library, but serial main routine. PROBLEM BEING SOLVED: Compute the history of slip, slip velocity, and stress on a vertical strike-slip fault that results from using state-of-the-art rate and state frictional constitutive aws on the fault for a specific geographic setting at Parkfield, California. The boundary conditions are those appropriate for Parkfield and the distribution of constitutive properties on the fault zone are as realistic as our ability to characterize the subsurface properties of the fault there allow. The methods developed in solving this problem can be generalized to other geologic settings in which the fault geometry, the boundary conditions are not so simple and multiple faults are involved. DESCRIPTION OF COMPUTER CODES USED: The main program is a boundary element program that determines the stress on every element of the fault surface due to slip on every other element, using a Greens function approach. The fault constitutive law is used to determine what the slip velocity will be for that stress and this velocity multiplied by the time step gives the slip to be used to calculate the stress in the next time increment. This involves the forward time integration of coupled ordinary differential equations. The integration is done with a fifth order Runge-Kutta scheme with adaptive step size control. Because the time-steps range over ten orders of magnitude, depending on whether the fault is slipping very slowly in the interseismic period or very fast during an earthquake, the adaptive step-size control is an essential element in the solution. The main program calls a variety of subroutines and the one of these subroutines that calculates the derivatives used in the forward time integration itself calls a Fast Multipole library that is suitable for such Green's functions problems. The Multipole approach allows a number of computations to scale as N log N rather than N2 as would otherwise be the case. The particular Fast Multipole approach being used allows determination of the degree of grouping of the remote cells based on an analytical approximation to the Greens function. In order to reduce computation time it also renumbers the elements so that those that are near in space are also near in memory. The main program and most of its subroutines are written in Fortran. At the time of the Baseline Milestone these programs are not written in parallel and so the Baseline run is done as a serial job. However, the Fast Multipole library already is written in parallel using MPI. Documentation: Contained herein and in the subdirectories under the BaselineMilestone directory in which this file is found. LOCATION FOR CODES, DATA, ETC.: Code and documentation can be found in two places, a web site (http://www.servogrid.org/slide/GEM/PARK/) and on turing, an SGI Origin 3000 at NASA Ames. The web site is the only public location. The machine turing is the front end to the machine chapman on which the Baseline Milestone was run. For the purposes of NASA's verifying that the baseline run is as described in the Milestone_Certification_Data file and repeating the run if desired, it may be easier to use the copies of the documentation, files, etc. that are located on turing, since no compression, taring or compilation is needed there. Verification can also be done by the public or by NASA officials by using materials taken from the web site. The directory structure on turing and at the website are the same to make it easier to each to the other. Within the appropriately named subdirectories under the BaselineMilestone directory in which this file is found can be found all the necessary material that describes the Baseline Milestone and gives instructions that would allow one to duplicate it. Included in the "in" and "out" directories are materials that comprise a validation test suite that allows one to check not only the functionality of the programs on the SGI where it was run, but to validate that one is getting the expected answers if the programs are ported to one's own system. This includes two runs with much a smaller number of elements, only 715 instead of 15003, one using the multipole library and one that does not. These will run much faster than the Baseline Milestone un. The materials in these directories include: Milestone_Certification_Data.txt - a file that give the time required for the Baseline run and describes various parameters of the run. README-setting_up_input_files.txt - a file that tells one how to understand the input files including an explanation of how the elements are created from the input files. README-Compile.txt - a file that tells how to create both the multipole library and the PARK fault files using the appropriate Makefiles. in - a directory that contains the input files that were used in the Baseline run as well as in the smaller runs that can be used for validation purposes. out - a directory that contains the output files that were generated in the Baseline run as well as in the smaller runs that can be used for validation purposes. src-bin - a directory that contains the PARK and related fault application files used in the Baseline run. The version of this directory on turing also has the object files and executable binary file (named park) Downloads - a directory that contains a unix-compressed tar file PARK_Package.tar.Z that allows one to generate the files needed for the Baseline run. This file will create the Multipole library, the source files for the PARK fault application, the input files for the Baseline Milestone run, and the input and output files for the two smaller validation runs. The tar file was created on turing in the following way. The libsw.a and the mpmy_seq.o files were moved from the t17-7/Objfiles/IRIX64 directory to another temporary location. The object files and the executable file (park) was moved from the src-bin directory to Another temporary location. Then while in the home directory the following command was issued: tar -cvf PARK_Package.tar BaselineMilestone Then the .tar file was compressed by issuing compress PARK_Package.tar to produce the PARK_Package.tar.Z file. SIGNIFICANCE OF ACHIEVING THE MILESTONES: Achieving the Baseline Milestone is significant because it represents a large amount of consolidation, reorganization, and documenting of code that has been developed over a period of more than ten years by a variety of workers. For the first time it presents to the scientific community codes that allow one to create a simulation of the entire earthquake cycle in a 3D model that uses the most accurate description of fault friction, rate and state friction, and the quasi-dynamic radiation damping approximation to full elastodynamics. A significant advance over previous implementations of the fault code is the inclusion of a Fast Multipole library that opens up the potential for greatly increasing the number of elements that can be included in the model. At this stage of development, because the fault code is only serial, the number of elements that can be used is too small. This means that the sizes of the elements that must be used to represent a fault of any reasonable dimensions are too large to represent properly the behavior of a continuum. They are also too large to allow occurrence in the model of earthquakes with a large range of sizes. The attainment of future milestones involve converting the fault code to run in parallel using MPI and increasing the efficiency of the code in other ways. This will not only represent an advance in our computational ability to simulate earthquakes, it will allow us to understand the earthquake process better by creating data sets that can be compared with data on real earthquakes.