24 June 1998 TO: Fellow Earth Scientists and Hackers FROM: Peter Bird Department of Earth and Space Sciences University of California Los Angeles, CA 90045 (310 825-1126 pbird@ess.ucla.edu RE: Introduction to software in the "MAPPER" directory THIS FILE CONTAINS A GENERAL INTRODUCTION TO THE SOFTWARE I AM OFFERING, WITH INSTRUCTIONS ON HOW TO OBTAIN RELATED PROGRAMS. THIS IS FOLLOWED BY DETAILED NOTES ON THE INDIVIDUAL FILES OF THE "MAPPER" DIRECTORY. I ASSUME THAT YOU ALREADY HAVE "LARAMY". I currently offer four thin-plate finite-element programs: LARAMY finite-strain no faults flat-Earth crust/mantle FAULTS neotectonics with faults flat-Earth crust only PLATES neotectonics with faults flat-Earth crust/mantle SHELLS neotectonics with faults round-Earth crust/mantle The finite element program LARAMY and the associated graphics programs of the MAPPER directory may be copied and used without charge or restriction, except that (1) any user who obtains publishable results is expected to acknowledge the source of the program, and (2) no charge may be made for copies of the software which are passed on to third parties. It was developed with support from the National Science Foundation and the University of California, which places it in the public domain. Also, I would be very pleased to see my 6 years of programming effort bring some benefit to others besides myself. Finally, I have no desire to be personally responsible for running simulations of every interesting problem for the rest of my career! The LARAMY program was created to permit simulations of continental deformation in which a crust of either one or two rheological layers (either one of which may enclose the brittle- ductile transition) overlies a mantle lithosphere and/or fluid asthenosphere and/or subducting slabs. While it has been customized for simulations of the Tertiary history of North America, the problem- specific data are mostly enclosed in DATA statements in two BLOCK DATA subprograms which can be replaced with relative ease. Its only fundamental limitations are that it is (1) a continuum program, with no fault discontinuities, but only an equivalent frictional plasticity; (2) rigorously isostatic, and neglects all bending stresses; and (3) written for a flat Earth. One of the options in LARAMY is to use a complex set of basal boundary conditions which represent the horizontally-subducting slabs of lithosphere that passed under North America during the Tertiary. As time passed, the area touched by these flat slabs expanded and then contracted, as indicated by the history of volcanic arc positions. Also, the relative velocities and relative rotation rates of the plates with respect to North America were constantly changing, based on global reconstruction models. These two factors caused a changing pattern of shear stresses to be applied to the base of the continent. Furthermore, the age of the subducted slab varied in space and time, which affected the vertical load that was imposed on the base of North America. Finally, the intersections of spreading ridges with the North American subduction zone created triple junctions, with associated "slab windows" (areas of no subducted slab) to the East, and transform margins with the Pacific plate along the coast. In order to correctly compute all of these complex boundary conditions, it is necessary to have a dynamic reconstruction of the plates which are now mostly subducted: the Kula, the Farallon (now split into Gorda, Juan de Fuca, and Cocos), and the Vancouver (formerly part of the Farallon). We can use the existing magnetic anomalies on the Pacific plate, the published relative finite- rotations of all the plates, and an assumption of symmetric spreading to determine where many of the magnetic anomalies on these vanished plates would be today if North America had not been in the way, causing them to subduct. Program MAP and its associated files in the MAPPER directory were used to create this reconstruction, to edit it, to check that it led to correct boundary conditions on North America, and finally to make color slides for talks. You may wish to use it at one of three levels: (1) You can merely run it as a "movie" of the reconstruction, to get a better understanding of the geologic history of North America. In this case, you would not edit the data files, but only display them. (2) You could edit mildly, perhaps assuming a different position for the Kula/Farallon Ridge from the two extreme cases I have modeled (NORTH and SOUTH). In this case, you would use MAP to modify my datasets. (3) You could use MAP to create new reconstructions for other parts of the world. In this case, you would not use any of my datasets (except as examples of format), and you would begin by digitizing existing magnetic anomalies and fracture zones as I did. You would also have to find relative plate rotation matrices, as I did, and convert them into DATA statements in a particular format. (Note: Using MAP, you edit the shapes and ages of the plates, including ridge and transform locations, but you do not have any option to interactively edit their relative velocities or rotations.) Before attempting to work with any program of the LARAMY group, it is essential to gain an overview of the program's structure, abilities, and limitations. Readers are STRONGLY ADVISED to skim the following two articles before proceeding further: Bird, P. (1988) Formation of the Rocky Mountains, western United States: a continuum computer model, Science, v. 239, p. 1501-1507. Bird, P. (1989) New finite element techniques for modeling deformation histories of continents with stratified temperature-dependent rheologies, J. Geophys. Res., v. 94, p. 3967- 3990. The software needed to run the MAPPER programs includes a FORTRAN-77 compiler (vectorizing, if possible) and an IBM graphics package called Graphical Data Display Manager. However, with a little time and ingenuity, the program can be adapted to work with any low- level interactive graphics package, such as DISSPLA. You should be aware of useful programs in related subdiretories. Here is an overview. (Note: Numbers 0 - 5 tie to the Read_me.n files.) 0. Laramy2AI (added 1997) is a graphics program that takes output from LARAMY and produces single or multiple maps of various scalar, vector, or tensor variables-- as .AI files readable by Adobe Illustrator for Windows. This allows the maps to be previewed and edited(!) before printing, and also allows the printing to take place on a wide variety of hardware (including hardware run by service bureaus)! The .AI files produced can be read by Adobe Illustrator 4 for Windows 3.1, and by Adobe Illustrator 7 for Windows 95 or Windows NT. They probably can be read by Adobe Illustrator on Macs, too. The processing program Laramy2AI.exe runs under Windows 95 or Windows NT on Intel (or compatible) processors. Source code is also provided in Fortran 90 so that you can move this utility to Mac, Unix, or other systems. 2.GRAFIC is a two-part graphics package that post-processes finite element results to produce colored contour maps of all variables, with overlays to show vector and tensor directions and/or state lines, etc. The number-crunching part is run as a batch job, and produces graphics metabolism. The second part is run interactively from a graphics terminal to view the images at various scales, with or without the overlays, etc. These images can be photographed from the screen to make slides. This requires IBM's Graphical Data Display Manager. 3. VERSATEC is comparable to GRAFIC, but produces either B/W or color output on a Versatec electrostatic plotter (for publications). It runs as a single batch job and is not interactive at all. 4. FIXER is a fully interactive package for correcting small parts of a finite element grid which become excessively strained, so that a run can continue. It can also be used to fine-tune the files representing initial conditions. (However, it is not a bells-and-whistles grid-generator like some expensive engineering programs offer; just an editor. You must have already created and input a grid with the same topology as the final product you want.) A color graphics monitor attached to your mainframe is required, but not a mouse. You also need IBM's Graphical Data Display Manager. 5. MAPPER (this directory) is a fully interactive package for making plate reconstructions of oceanic plates which are no longer on the Earth's surface (based on marine magnetic anomaly data and finite rotations) and saving the results in the form of DATA statements that can then be compiled into LARAMY in order to represent complex boundary conditions on the bottom of continents. This program also interactively displays the boundary conditions as they would be applied to a representative finite-element grid, so that unexpected or erroneous BC's can be corrected. A color graphics monitor attached to your mainframe is required, but not a mouse. You also need to have/get/emulate IBM's Graphical Data Display Manager. The hitch with accessory programs #2-#5 is that, while they have been written in pure FORTRAN77, they make thousands of calls to proprietary graphics packages which may not be available to you. My packages GRAFIC, FIXER, and MAPPER make calls to subroutines of the IBM Graphical Data Display Manager software (sometimes known as "that G*D-D*M* software"); my VERSATEC program calls the proprietary package that is supplied with that brand of plotter. My advice to you is that if you only want to make plots of LARAMY's output (and don't have GDDM or a Versatec), you should use Laramy2AI. If you need to run MAPPER (and you don't have GDDM software), it will probably be easiest and cheapest to hire a programmer to provide dummy interface subroutines that accept these calls and translate them into further calls to your local graphics software (rather than programming these tools from scratch). Or if you have plate-tectonic reconstruction programs, another alternative is to write an two-way "translator" which interconverts between the programs you use and the data format (Fortran 77 DATA statements) used by MAPPER and by LARAMY. Please understand that I will expect you to communicate with me if you find significant bugs or opportunities for program improvement, and that if you use these programs to obtain publishable results I will expect the source of the program to be acknowledged in your manuscript. I also hope that you will remember me when you have reprints to distribute. =========================================================== NOTES ON THE FILES OF THE "MAPPER" DIRECTORY MAPCOMP = Fortran77 source code for the program MAP, plus IBM Job Control Language statements needed to compile it into a load module. (Note: the module will be incomplete and not executable.) MAPCLIST = a "startup" program in the C-List command language of IBM's interactive Time Sharing Option (TSO) environment, used to set up files for an interactive session in which precompiled program MAP (see above) is run to display and/or edit plate reconstructions on a terminal. BASEMAP = a file of digitized state lines in North America, useful as a geographic reference to overlay on displays; also a model for similar files that could be created for other regions. NORTH90A = a Fortran BLOCK DATA program, consisting of PARAMETER, type, DIMENSION, COMMON, and (especially) DATA statements which store information of the relative motions of the plates, their fracture zones, their magnetic anomalies, the locations of triple junctions between them and North America, and the positions of slab-hingelines (volcanic-arc-fronts) beneath America from 85 Ma (late Cretaceous) to present. This particular file assumes Engebretson et al.'s "Northern option", that the Kula-Farallon Ridge intersected North America near the Canadian/U.S. border. Parts of this file were created by hand; other parts were created with MAP and may be edited the same way. NCONST27 = file #27 in a family of files of "construction lines" = lines and points attached to particular oceanic plates, which may be fracture zones, magnetic anomalies, or any feature you wish to mark. This file is for the "Northern option" (see above), as marked by its first letter "N". While the first file of this family (NCONST01) contained only existing anomalies on the Pacific plate, this file also contains many reconstructed features on other plates, which are model-dependent. SOUTH90A = a Fortran BLOCK DATA program, consisting of PARAMETER, type, DIMENSION, COMMON, and (especially) DATA statements which store information of the relative motions of the plates, their fracture zones, their magnetic anomalies, the locations of triple junctions between them and North America, and the positions of slab-hingelines (volcanic-arc-fronts) beneath America from 85 Ma (late Cretaceous) to present. This particular file assumes Engebretson et al.'s "Southern option", that the Kula-Farallon Ridge intersected North America in southern Mexico or central America, until about 60-50 Ma. Parts of this file were created by hand; other parts were created with MAP and may be edited the same way. SCONST25 = file #25 in a family of files of "construction lines" = lines and points attached to particular oceanic plates, which may be fracture zones, magnetic anomalies, or any feature you wish to mark. This file is for the "Southern option" (see above), as marked by its first letter "S". While the first file of this family (SCONST01, = NCONST01) contained only existing anomalies on the Pacific plate, this file also contains many reconstructed features on other plates, which are model-dependent. ----------------------------------------------------- MAPCOMP This file has two logical parts: the "outer wrapper" of IBM Job Control Language statements, and the program MAP. JCL Statements. =============== The JCL statements all begin with '//'. If you wish to use this program on a non-IBM system, you will begin by stripping these out and replacing them by commands to your own operating system. Their function is to compile the program, link it with the necessary graphics package, and store it as a load module on disk. -IRAAGPB and EFF9GPB are two of my account numbers. Change them to yours everywhere(!) they occur. -I begin with a dummy job step, running a dummy program //CLEAR EXEC PGM=IEFBR14 //DD1 DD DSN=EFF9GPB.MAPMOD,DISP=(OLD,DELETE) The point of this odd procedure is actually in the second line, which instructs the system to scratch any existing load module (from a previous compilation). Due to a bug in IBM operating systems, multiple uncatalogued datasets may be created unless you begin with this step. However, on the VERY FIRST run of MAPCOMP, these two lines: //CLEAR EXEC PGM=IEFBR14 //DD1 DD DSN=EFF9GPB.MAPMOD,DISP=(OLD,DELETE) should be omitted, because MAPMOD does not yet exist. -Check with your local consultants for the local name of the Fortran compiler. At UCLA this program FORTVS resides in a dataset called APP1.FORTVS.COMPILER, which has the logical name STEPLIB. However, the name of the dataset may be different at your institution. (I recommend version 2.4.0 or later if you use the IBM VS Fortran compiler; earlier versions have bugs which cause mysterious errors.) At the end of the compilation, the compiled program MAP is saved in a temporary disk dataset (//SYSLIN DD DSN=&&LOADSET...). It is not yet ready to run because it lacks Fortran and graphical support routines. -At the end of the file there is some further JCL. This defines the LKED (link-edit) step, where the compiled program MAP is linked with necessary support routines to create load module MAPMOD(MAP). Necessary Fortran77 routines are supplied under the name APP1.FORTVS.LIBRARY at UCLA; see your local consultants for the equivalent dataset name at your institution. -Link-editing also involves some routines from something called "APP1.GDDM4.LOAD". This is our local name for load modules of the IBM Graphical Data Display Manager package. If you have this at your institution, substitute the local name of this partitioned dataset of load modules. If you don't have it, and your system is non-IBM, or you can't convince your institution to get it, then the best alternative is to get only the GDDM manual from IBM, and then to write substitute Fortran subroutines that simulate GDDM functions by using some other graphics package you do have. The best manual to get is "Graphical Data Display Manager Application Programming Guide", catalog number SC33-0148-2, available from Central Library, IBM Corp., P.O. Box 60737, Los Angeles, CA 90060, (213) 621-6479. (If you are adding Fortran routines to translate to another graphics package, this DD statement is the place to identify the location of that other dataset of load modules to the link-editor.) -The link-editor requires its own tiny dataset of control statements, which appears as: //SYSIN DD * ENTRY MAIN INCLUDE SYSLIB(FSINN) INCLUDE SYSLIB(ADMLSYS1) /* The INCLUDE statements tell the link-editor to grab two routines from the GDDM library that will be needed when the program starts to run. I don't know why the link-editor cannot figure this out for itself, but it can't! -Something I must warn you about is that the LKED step will conclude with an error message (on our system, it is severity level 12!). This is because MAP is technically written as a Fortran SUBROUTINE (one with no arguments) which will be called from a dummy MAIN program to be provided later (in file NORTH90A or SOUTH90A, described below). Therefore, you will see an error message to the effect that MAIN could not be located, and the load module is not executable. Do not be concerned. Program MAP. ============= The first action that MAP takes is to read the parameter-input file (such as IN9828, In the LARAMY directory). It ignores all of the plot-control parameters at the end of the file. What it principally needs to know are: the radius of the Earth (RADIUS), the latitude and longitude of the origin of the (x,y) coordinate system for the finite element grid (Y0NLAT and X0ELON), the number of rows and columns of elements in this grid, and the tangent latitude of the conic- projection used to create the basemap on which the finite element grid was drawn and digitized (CPNLAT). Then, it reads in the finite element grid (node locations only) from a standard initial-conditions file, or output file (like CORD11N in the LARAMY directory). From the information in the previous paragraph, it can relate points in the grid coordinate system (x,y) to (latitude, longitude) combinations on the round Earth. To save constant conversions, MAP will proceed to convert all other input datasets into flat-Earth (x,y) coordinates for the duration of the editing session. When the edited files are saved, they will all be put back into (latitude, longitude) form (except the finite element grid and basemap, which are not edited). When finite rotations are performed to move points forward or back in time, the rotations are done correctly in round-Earth coordinates, so there is no loss of accuracy. All of this is transparent to the user, who will then see a menu of commands, falling into two groups (Display commands and Edit commands). Although you can bring back this menu at any time, it is useful to write them down (this also helps to memorize them). The most important to remember are M (Menu) to pop-up (or suppress) the command menu and Q (Quit) to get out of the loop and stop the program (results will be automatically saved as new files). Commands are entered only in two 15-character space at the lower right (so as not to obscure the image). They may be upper- or lower-case, and may be combined (up to 15 characters); don't put any spaces or punctuation between commands. After the user has entered one or more commands, the screen goes blank and is then redrawn completely to reflect the new Display format requested or the Edit changes. This loop of display/commands/display.... will continue until the user gives command Q (Quit) in the Display command field. At that time, the program will write new files (in latitude/longitude format) to record both unmodified old data and the new editing changes. This encourages the user to keep a lot of sequential backup files around! The major defect of program MAP is that I had to write it for a color graphics terminal without a mouse, light pen, digitizer, or any other pointing device. Therefore, the graphics cursor (which is used to highlight existing features and enter new ones) must be moved by commands, and the screen must be completely redrawn every time it moves! If you have access to smart terminals with pointing devices, it would be worth your while to rewrite this. (However, you will still have to signal the mainframe each time that your movement is complete, so that it can figure out which elements of the picture should be highlighted by its proximity.) The commands that can be placed in the Display field will not alter the datasets, only the screen image. Most of them are "toggles", which will alternately display and suppress a feature if they are entered repeatedly. They are: M = "Menu" = call-up (or suppress) menu of commands. (When the menu is present, it obscures the display, and it is not practical to do any editing until you have cleared it again.) D = "Data" = display (or suppress) the construction-lines and points from the data file (e.g. NCONST27). When displayed, these features are all in blue. Each feature is labelled with a single letter to indicate which plate it is attached to, and a single floating-point number, which is its geologic age in millions of years. F = "Fracture zones" = display (or suppress) the "official" fracture zones from the map file (e.g., NORTH90A). (These are logically distinct from construction-lines in the other file, that may happen to represent fracture zones.) Fracture zones are displayed in green, unless they have been singled out for editing (see Edit menu below). A = "Ages" = display (or suppress) ages of the reconstructed plates by coloring in polygonal areas bounded on the sides by "official" magnetic anomalies (from the map file), and on the tops and bottoms by "official" fracture zones. (If A is followed by an integer, then only the polygons of that strip will be colored in. To change strips, it is necessary to suppress coloring and then reintroduce it with a new strip number; but, both commands can be entered together: for example, after viewing the results of "A1" you might enter "AA2".) L = "Lines" = display (or suppress) the basemap of state lines from the basemap file (e.g., BASEMAP). All such lines are shown in blue. G = "Grid" = display (or suppress) the finite-element grid. If shown, it is a net of green lines representing element boundaries. There will also be a fine red line, representing the slab- hinge-line (volcanic-arc-front) for this particular geologic time; outboard of this line the reconstructed plates (if any) would be touching the base of North America; inland of this line they would not. Additional features in the grid display may or may not appear. If your map file is mature enough to contain colored-in areas of known age (or, areas that WOULD be colored-in if the A toggle was on), then colored dots will also appear to indicate where these areas touch the base of the continent. There will be up to 7 red dots per finite element. If you see yellow dots, this indicates points that are in a transition zone just inland from the red hinge-line: at these points the subducting slab is close enough to exert a negative deviatoric pressure on the continent, but is not actually touching. (The width of this transition is set by parameter RAMP in the parameter file IN9828.) Within the area of red dots (if any) you will also see vectors representing the relative motion of the suducting slab with respect to North America; one vector is plotted at the center of each finite element if the reconstructed plate is touching it. Finally, if any triple- juntion locations (Kula-Vancouver-North America or Vancouver-Farallon-North America) are in the map file, these will be represented by 1" yellow lines, which show the boundary between parts of the continent interacting with one oceanic plate, the parts of the continent interacting with the other. B = "Bar" = display (or suppress) a color bar on the right side of the screen, giving the color code for plate age. This is very crude, as the code assigns the color of each polygon in the map according to the age of its center-point. Thus, color changes on the map represent polygon boundaries rather than age contours, and the ages cannot be read with any degree of precision unless a lot of magnetic anomalies were used in the reconstruction. I use this feature only when making slides. T = "Time" = change display to a different geologic time. The age (in Ma) follows the T with no intervening space. The continent (represented by the finite element grid and basemap, if selected) is held fixed, but the construction line data, fracture zones, and magnetic anomalies are all rotated to their paleopositions. Features younger than the current age will not be displayed. (Note: Since colored polygons are only displayed when all their edges are present, there may be a gap along spreading ridges. The solution is to select a display time that exactly matches the age of some of the "official" magnetic anomalies in the map file. Then, the youngest polygons on each plate will nicely meet along the ridge axis.) X = "eXpand" = make the image larger, so that less of the Earth is displayed. May be entered repeatedly ("xxxx") for large magnifications. Essential for fine editing work. C = "Contract" = make the image smaller, so that more of the Earth is displayed. May be entered repeatedly ("cccc") to cancel large magnifications. (Note: If you Contract enough, you will eventually see a yellow V of two lines, centered at the top or bottom of the display. This represents the two cut "ends of the Earth", created when the conic projection map was flattened into the plane of the display. The apex of the V is the North Pole if it is upright, or the South Pole if it is inverted. No data points will ever plot within the V, but line segments will be drawn through if their end points are on opposite sides. N = "North" = move the window North to see a different part of the model. May be repeated ("nnnnn") for larger moves. The size of each movement is about 10% of the width of the area in view, so for large movements, it may be easier to Contract the image first. E = "East" = move the window East to see a different part of the model. May be repeated ("eeeee") for larger moves. The size of each movement is about 10% of the width of the area in view, so for large movements, it may be easier to Contract the image first. S = "South" = move the window South to see a different part of the model. May be repeated ("sssss") for larger moves. The size of each movement is about 10% of the width of the area in view, so for large movements, it may be easier to Contract the image first. W = "West" = move the window West to see a different part of the model. May be repeated ("wwwww") for larger moves. The size of each movement is about 10% of the width of the area in view, so for large movements, it may be easier to Contract the image first. ---------- Before I explain the Edit commands, I will give an overview of how a plate reconstruction model is built. 1. Locate a map of the known marine magnetic anomaly stripes on the seafloor offshore from the trench of the continent you are modeling. The map should extend across the nearest ridge and include seafloor on the next plate which is older than that present in the trench, if possible. If you have any choice of maps, select one in which a simple, well-defined projection algorithm has been used (i.e., Mercator, conic, polyconic, oblique Mercator, etc.); maps with a distorted and undocumented projection are useless. 2. Digitize the map in the following way. Enter each magnetic anomaly as a single line segment, defined by two points. These are the intersections of the anomaly with the two bounding fracture zones. If the anomalies trend more or less North-South, then always enter the North end first. If they trend more or less East-West, then always enter the East end first. Do not worry about labeling them with ages, at this stage. If the region includes any spreading ridges, digitize them as zero-age anomalies, but digitize them twice; later, one will be "attached" to each plate. Digitize fracture zones as longer, multisegment lines. It is not important which direction you move along them. I suggest that you do NOT use the automatic curve-tracing feature which some digitizers have, because it generates too many points and makes the files obese and cumbersome to display. Usually 2 to 50 hand-selected points are enough for any fracture zone. If the region includes any long transforms or other plate boundaries, digitize them twice (one will be "attached" to each plate in a later step). 3. Write a short program (in your favorite language) to convert the points from map units (x, y in inches?) to latitude and longitude, taking into account the type of projection that was used to create your seafloor base map. Your latitudes and longitudes should be in degrees and decimal fractions, not degrees/minutes/seconds, or radians. Latitude should be positive in the Northern hemisphere. Longitude should be positive when measured Eastward from Greenwich, England. 4. Reformat your data to conform to the conventions of the construction-lines data files for MAP, similar to NCONST27 (provided). That is, write each line segment (whether magnetic anomaly, or fracture zone segment) into a file by statements equivalent to: CHARACTER*1 TAG WRITE (1,1) TAG, AGE, PLON1, PLAT1, PLON2, PLAT2 1 FORMAT('L',A1,E10.2,4F10.4) where: 'L' = line segment (later you will add Points to the dataset). TAG = a one-letter label for the plate the feature is attached to. If you wish, you can leave this blank now and add the label later, using MAP. (However, if you have duplicate magnetic anomalies along ridges, or duplicate plate-boundary curves, it is wise the prelabel them now, as they will plot on top of each other, and it will be difficult or impossible to highlight the two separately with cursor so as to label them interactively.) AGE = age of the feature in millions of years. If you wish, you can leave this blank now and add the label later, using MAP. (However, if you have duplicate magnetic anomalies along ridges, or duplicate plate-boundary curves, it is wise the prelabel them now, as they will plot on top of each other, and it will be difficult or impossible to highlight the two separately with cursor so as to label them interactively.) PLON1 = longitude of the point at the beginning of the line segment. In degrees; East is positive. PLAT1 = latitude of the point at the beginning of the line segment. In degrees; North is positive. PLON2 = longitude of the point at the end of the line segment. In degrees; East is positive. PLAT = latitude of the point at the end of the line segment. In degrees; North is positive. 5. Enter program MAP and display your Data with the Display command D (if necessary). (If none is in view, try Display command C to Contract the display, bringing more of the map into view.) Then, look for any line segments that are incorrect, or which need to be labelled. In each case: Move the cursor close to the segment you want. This is done with the Edit command C (Cursor) followed by two numbers, which are separated by a comma. The first number is a clock direction (0-12), and the second is a number of inches. Thus, to move the cursor 2.5 inches in the direction 45 degrees right from upward, enter "C1.5,2.5" in the Edit field and press Enter. (If your cursor is so far out of the view that you have lost it, the special command "C0,0" will bring it to the center of your screen.) The line segment (or point) which is closest to the cursor will change color to red, and is said to be "highlighted." This highlighted segment can now be labelled with the "N" command of the edit field, which is followed by a one-letter plate label and a geologic age. For example, "Nk63.2" identifies a segment as attached to the Kula plate, and 63.2 Ma old. This label will appear in subsequent displays; if you can't read it, then center the display around this segment (with N/S/E/W) and then eXpand it. 6. Start the reconstruction by defining the area of the present Earth's (sub-)surface where subducted plates need to be reconstructed. To do this, move back in time (using Display command T) to the beginning of your intended model, place the cursor at one end of the trench margin of the finite element grid, and enter a new point with Edit command P (followed by the one-character name of the subducting plate). Then reduce the display Time (age) by 5 or 10 Ma and repeat (the cursor will stay fixed relative to the finite element grid; the points already entered will move with the plate they are attached to. When you reach the present, start over and do the same with the other end of the trench. Now, you have a set of points outlining the areas where colored polygons of known age need to be constructed out of fracture zones and magnetic anomalies. 7. Both magnetic-anomaly and fracture-zone constuction lines are next "duplicated" on the subducted plate(s) by highlighting them and entering T (Transfer) in the Edit field, followed by the name of the plate to transfer to. MAP will rotate the highlighted feature back to its position at its labelled age, create a new (matching) feature on the plate you have indicated, and then rotate both halves of the pair to their correct position at the time of the display. (Note: if this feature is not working properly, the finite rotation matrices in the BLOCK DATA program that you read from Fortran device 3 are erroneous; see instructions below). 8. If actual Transferred data is not enough to fill up the area where you need to make a reconstruction, then you will have to extrapolate by hand. Enter additional lines with the L (Line) command in the Edit field. This command creates a new segment on the indicated plate, initially with zero length, and with the cursor "attached" to the endpoint. You move the cursor where you want the endpoint to be, then Detach the cursor, and (if necessary) adjust the age label with L. 9. Now it is time to stop editing the construction-lines files (the one that is input on Fortran device 1, and output on 2) and begin building section 3 of the map file (input on 3, output on 4). The primary features of this file that you can edit interactively are the "official" fracture zones and magnetic anomalies that subdivide the area of the map into polygons of designated plate and age. You will build a set of "fracture zone" lines which are continuous across the whole map from left to right, and numbered from bottom to top (there are powerful Edit commands to help), and then you will fill in the stips between these lines by designating certain magnetic-anomaly construction-lines as "official" magnetic anomalies of the map file. You will be able to check your work by requesting the colored-in display with Display command A(ges). 10. Create ALL of the fracture zones before you enter ANY magnetic anomalies (or else large numbers of magnetic anomalies could be lost from the map file in case of any small error). Keep a hand-drawn diagram beside you to will redue avoid confusion. To begin editing an "official" fracture zone of the map file, enter "F", followed by the one-letter name of the plate it is attached to, followed by a number (in the Edit field). If the number matches an existing integer number, you will be editing an existing fracture zone. If it is one higher than the last existing one, you will add one on top. If the number is not an integer, the zones are renumbered to make room for a new one in the middle (e.g., Fk2.5 will renumber zones 3-last as 4- last+1 and begin editing of a new fracture zone 3 attached to the Kula plate, in between the pre-existing zones 2 and 3. You are now in a special fracture-zone-editing mode, and you will see the designated zone highlighted in white and red (red for the segments closest to cursor, white for any others). Inactive fracture zones will be in green. Using commands explained below, you can move points in the fracture zone, add points, and delete points. Just be sure to enter Q (Quit) in the Edit field to exit this special mode before you try to edit anything else! (If you get confused as to which fracture zone is which, you can enter "Fpn" (where "p" is the plate name, and n is an integer) to highlight zone number n, end then immediately enter Q to quit working on it, without any changes. However, be sure to start with a small n and work up, or else you could accidentally create unwanted fracture zones! Also, be careful that you do not accidentally relabel a good fracture zone with the wrong plate label!) Because the rules of MAP require fracture zones to progress bottom-to- top on the display and to pass from the left edge of the reconstructed plate to the right, it is often necessary to group several fracture zones together for a while, and then separate them to surround a patch of seafloor. Also, double fracture zones are needed where the top of one subducted plate abuts the bottom of another; one is attached to each of the plates in this case (e.g., Farallon and Vancouver plate). For this reason, whenever you start editing a new fracture zone, the default is that the arrays are loaded with a duplicate copy of the previous one. You can then either accept most of these points (and only "pull up" a few new ones), or you can systematically eXpunge these predefined points and start fresh. 11. Once you have finished the last fracture zone (did you Quit?), you begin to add the magnetic anomalies. This is usually very easy. The strips between the fracture zones are identified by integer numbers equal to the number of the fracture zone at their base. You add magnetic anomalies to strip number 7 (for example) by highlighting a construction line and entering "S7" in the Edit field. The display is unchanged, but a copy of that blue construction line is added to the map-file arrays, and will later be displayed in yellow. One tricky point is that the line should be stored with the "top" end (the one near the higher-numbered fracture zone) first, and the "bottom" end (the one near the lower-numbered fracture zone) second. You can tell whether this is true by the position of the label. When magnetic anomalies are upright (12 0'clock - 6 o'clock) then the label should be on the right side, reading down. (If this is not the case, then just enter a new line over the old one, and add the new line to the map file.) 12. After entering all the magnetic anomalies in a strip, then color in that strip by using "An" (n = strip number) in the Display field. This will color in only the designated stip, with colors bounded by the official fracture zones and magnetic anomalies of the map file. You can also request B (color Bar) in the Display field to see if the ages are roughly correct (color is selected from the age in the midpoint of each polygon). In this mode, you will discover that the cursor will not highlight anything except the bounding magnetic anomalies (now yellow). This gives you an opportunity to Attach their ends to the cursor, and move them if necessary (then Detach). If you get really confused, you can eXpunge that anomaly, then turn OFF the coloring with A in the Display field, and go back to redesignate it with S in the Edit field. (That is, turning off the colored Ages will make it possible once again to highlight a construction line so that it can be added to a Strip.) If the color "bleeds" over a huge area of the display due to some error, you may wish to eXpunge magnetic anomalies one-by-one until the problem is fixed, and then reenter the anomalies of that strip. NOTE: There are an ADDITIONAL RULES to follow in adding magnetic anomalies to the map file: The angle between the imaginary line extrapolated from each official magnetic anomaly and the line extrapolated from its neighboring anomaly in the same strip (if any) must be acute. (To turn a sharp angle, add more anomalies of intermediate age and azimuth.) Also, no two anomalies should intersect within the strip they are designated to. (Adjust their positions with Attach/Cursor/Detach.) Finally, anomalies will not be colored properly in their ends are very far from the bounding fracture zones. (Delete the offending anomalies from the map file by using eXpunge when colored Ages are displayed, then enter new, shorter line segments over the offending long anomalies with the L and N commands, and finally designate these into the Strip instead.) 13. After coloring in all strips individually, try coloring the whole map with "AA" in the Display field (the first A toggles off the previous colored strip; the second one with no following integer will color the whole map). Check for errors and edit. Remember, you are free to adjust the window and the geologic time in any way that is convenient. You can perform edits at any point in geologic time. (The disadvantage of editing in the past is that when you are in the past you cannot see any of the younger features of either file, which can be irritating. However, if you find that two plates overlap at the present, you will have to go into the past to undo the overlap in order to edit this area.) 14. When your reconstruction is complete, you can call up the finite element grid (Display command G) and see if the basal boundary conditions are correct. Probably they won't be, because there is one more important feature to edit. If you have more than one subducting plate, then you also have triple-junctions between adjacent subducting plates and the continental plate. When subroutine BELOWY attempts to determine what might be beneath a particular point of the finite element grid at at particular time, it uses a set of finite-rotations for a particular plate to move that point to the present, and it then consults the map of magnetic anomalies. Now, BELOWY needs to know which plate was beneath, so that it can use the correct set of finite rotations. The logic in BELOWY will select a plate based on position relative to the triple-junction location(s). On the MAP display, triple-junction locations are represented by a point and a heavy yellow line 1" long leading away from it. The line segment is logically extended to infinity to divide continental points which interact with one oceanic plate from those that interact with another. There are usually a whole set of points for each triple- junction, with different labeled ages. Then, by linear interpolation, a moving triple-junction can be represented. These points are stored in the reference frame of the finite element grid, which is the reference frame of the continental plate. To adjust the postion of a triple-junction point, highlight it with the cursor, Attach it, move it, and Detach it. (Note: editing a position will also change to time attached to a triple-junction positions, adjusting it to the current display time.) You can also add a new point at the current position of the cursor by the Edit command F, followed by a one-letter indentifier (which triple- junction?) and a clock direction for the trend of the yellow line. You can also remove a triple-junction points with eXpunge if it is highlighted. To make it easier to highlight only triple-junction points, you may wish to turn off construction-line Data and Fracture zones and plate Ages with Display commands. To reduce confusion, a list of the ages of all points representing a particular triple- junction is displayed at the top of the screen whenever you make any changes to it. (This line will clear automatically.) 15. When finished, turn off Data, turn off Fracture zones, turn on Ages, and turn on Grid. Then step through time from the beginning to the end of the intended finite element model, observing the boundary conditions that will be applied to it. Debug as needed. If confused, reread this entire set of instructions; it is very complex, and you may have overlooked an important groundrule. Now, at last, it is appropriate to explain the Edit commands in detail: C = Cursor = move cursor. The cursor is a red cross surrounded by a red circle of 1" diameter. (It cannot be removed from the display, but you could send it 9999 inches South if you wanted it out of the way while shooting slides.) If it is not visible, enter "C0,0" to move it to the center of the screen. All other moves are INCREMENTAL from its current position. C is followed by a clock direction (0 - 12; decimal fractions are OK), a comma (",") and a number of inches to move. Thus, command "C9,1.1" will move the cursor toward 9 0'clock (left) by 1.1 inches. An important automatic feature of the cursor is that it "highlights" the nearest element (turning it red) in the "eligable set" and thus makes it the "target" of certain other editing commands (X, A, D, N, S). Points are highlighted just by getting near to them. Line segments are highlighted by getting near either endpoint or the midpoint. (Just being near a line may not be enough if it is long.) Triple-junction locations are highlighted by getting near the end of the line (usually the offshore one) where the designated point is. You can only highlight data which is visible on the screen (unless there is a bug in MAP, which is still possible). In certain cases, you will only be allowed to highlight certain features on the screen. In the special case where you have begun editing a fracture zone of the map file with "F" (and have not yet Quit), you will only be allowed to highlight points on that fracture zone; the two adjacent fracture-zone line segments will turn red to help you locate it. If you are not editing a fracture zone, but you do have colored Ages displayed, then you will only be allowed to highlight the "official" magnetic anomalies (in the map file) which bound the colored polygons. If you find these restrictions inconvenient, then get into subroutine CURSOR and change them. X = eXpunge = delete the highlighted feature. Be careful about deleting. There is no "scratch pad", the deleted feature will be truly gone. Of course, if the feature was in the map file, and was based on construction-line data, these will still be available. Or, in case of a truly serious mistake, you can end the session, discard the resulting files, and begin again. P = Point = add a point to the construction-lines (Data) files. The P is followed by a one-letter plate nametag to indicate which plate the point is attached to. Its age will default to the time of the current display, but this can be changed with N below. A = Attach = move the highlighted point to the current position of the cursor. Also establishes a logical connection between cursor and object so that they will continue to move together, and so no other feature may be highlighted. (See Detach below). Note that line segments cannot be attached at their midpoints (although mid-points may be highlighted for other reasons); you must move the cursor near to one end-point before Attaching it. The other end-point will not move. D = Detach = release the cursor from a previously Attached feature, so that the feature is frozen in place, and the cursor is free to move independently and highlight something else. L = Line = create a new line segment in the construction-lines file. Must be followed by a one-letter nametag identifying the plate which the line will be attached to. The line begins at the current cursor position. The line's end-point is logically Attached to the cursor, and the line is automatically highlighted. To end the line, get the cursor to the desired end-point and Detach (see above). The age attached to the new line will default to the time of the current display; this may be changed with "N" below. N = Name = associate a plate and/or age with the highlighted feature. May also be used to correct erroneous plate "tags" and ages. Both plate and age must be entered, with no spaces; for example: Nk63.2 identifies the highlighted (red) feature with the Kula plate, and assigns an age of 63.2 Ma. T = Transfer = Transfer a copy of the highlighted point or line to another plate across an implied ridge. Used primarily on highlighted construction lines representing magnetic anomalies and fracture zones, which in Nature would leave an image on two plates (though one may later be subducted). The highlighted feature must have a correct plate tag and age already (see N above). The letter T is followed by the one-letter tag of the plate to transfer to. MAP will rotate the highlighted feature back to its position at its labelled age, create a new (matching) feature on the plate you have indicated, and then rotate both halves of the pair to their respective positions at the time of the display. (Note: if this feature is not working properly, the finite rotation matrices ROMATx in the BLOCK DATA program that you read from Fortran device 3 are erroneous; see instructions below). F = Fracture zone = begin entering or editing an "official" fracture zone line of the map file. The letter F must be followed by a one-letter plate identifier "tag" and then a number identifying the zone to be added or edited. If the number matches an existing integer number, you will be editing an existing fracture zone. If it is one higher than the last existing one, you will add one on top. If the number is not an integer, the zones are renumbered to make room for a new one in the middle (e.g., Fk2.5 will renumber zones 3-last as 4-last+1 and begin editing of a new fracture zone 3 attached to the Kula plate, in between the pre-existing zones 2 and 3. You are now in a special fracture-zone-editing mode, and you will see the designated zone highlighted in white and red (red for the two segments bounded by the point closest to the cursor, white for any other segments). Inactive fracture zones will be in green. Using commands A, D, P, and X, you can move points in the fracture zone, add points, and delete points. Just be sure to enter Q (Quit) in the Edit field to exit this special mode before you try to edit anything else! Because the rules of MAP require fracture zones to progress bottom-to-top on the display and to pass from the left edge of the reconstructed plate to the right, it is often necessary to group several fracture zones together for a while, and then separate them to surround a patch of seafloor. Also, double fracture zones are needed where the top of one subducted plate abuts the bottom of another (e.g., Farallon and Vancouver plate). For this reason, whenever you start editing a new fracture zone, the default is that the arrays are loaded with a duplicate copy of the previous one. You can then either accept most of these points (and only "pull up" a few of them), or you can systematically eXpunge these predefined points and start fresh. (But in that case, you are responsible for maintaining the bottom-to-top numbering, and not crossing over.) R = Remove = remove an entire "official" fracture zone from the map file. R must be followed by the number of the fracture zone to delete. Remaining higher-numbered fracture zones are automatically renumbered. Used only in case of serious confusion. A major drawback of "R" is that any magnetic anomalies already entered in higher-numbered strips will be forgotten, and will have to be rentered when fracture-zone editing is ended. S = Strip = convert a construction-line (usually a digitized and Transferred magnetic anomaly) to an "official" magnetic anomaly of the map file. S must be followed by the number of the magnetic anomaly strip that is being augmented. Strips are numbered from bottom to top like fracture zones, so the strip number is equal to the number of the fracture zone bounding it from below. (After command S, the anomaly will exist in both the construction-lines file and the map file; deleting it from one (or moving it in one) will not affect the other.) J = Junction = add a point to the set (at different times) defining the position of a triple-junction between two subducting plates and the plate bearing the finite-element grid. Letter J must be followed by a single-letter identifying the triple junction ("k" or "f" in the current North-American version of the program) and then by a number which gives the trend of the boundary line in hours 0'clock (decimal fractions are OK). (Whenever a triple-junction point is added, eXpunged, or adjusted (with Attach/Detach), a complete list of the ages of existing points defining that triple-junction will appear across the top of the screen. This display is self-clearing.) ----------------------------------------------------- MAPCLIST On the UCLA system, the only interactive environment supporting graphics is IBM's venerable Time Sharing Option (TSO). This is the environment under which the load module produced from program MAP (see file MAPCOMP above) is to be run. In this environment, you may attach ("allocate") real datasets (with your choice of name) to logical datasets (with set names) by hand. However, the process is cumbersome, and TSO is very unforgiving about small errors. Therefore, most people automate the process by creating files of TSO commands with a single memnonic name. These files are stored as members in a special partitioned dataset called CLIST, and are invoked by typing their individual names at the TSO prompt. Usually, the institution provides a few default CLIST members, whose format can be followed. IBM also publishes manuals on the special CLIST command language. The contents of file MAPCLIST (provided)k are the suggested contents of such a CLIST member, which you might wish to name MAP. They will need at least minor modifications. If you do not have TSO, then perhaps you will wish to follow the spirit rather than the letter of this file. -IRAAGPB and EFF9GPB are two of my account numbers. Change them to yours everywhere(!) they occur. -MAPCLIST will first prompt for the name of the input-parameter file for the finite element program LARAMY. This is not optional. Program MAP will need this to determine the latitude and longitude of the origin of the (x,y) coordinate system for the finite element grid, the latitude of the conic-projection of the map it was digitized from, and the number of rows and columns in the grid. The suggested response is file IN9828 from the LARAMY directory, or something in the same format. -MAPCLIST will then prompt for the name of the file containing the node locations of the finite element grid. This is not optional. If you have no others, you can supply initial-conditions file CORD11N from the LARAMY directory. -MAPCLIST will next prompt for the name of the basemap file of state lines. This is not optional (although you may choose not to display the basemap). One possible file is BASEMAP (provided). -MAPCLIST was relatively easy to write because our consultants have already created another CLIST for running graphics programs using GDDM; they called it RUNGDDM, and it appears as the last command of MAPCLIST. Its only argument is the name of the partitioned dataset and member containing the compiled program which is to be run; here we call it member GO of partitioned dataset MAPGOMOD. Th next important function of MAPCLIST is to create this load module by compiling a map file (a Fortan BLOCK DATA subprogram) and a dummy main program, and linking them together with the precompiled program MAP (technically a SUBROUTINE). MAPCLIST now prompts for the name of this BLOCK DATA file (which must have a dummy main program added at its head, consisting of just "CALL MAP / STOP / END"). The suggested response is the file NORTH90A (provided), or you may choose SOUTH90A to see an alternate plate reconstruction. If you are building a new reconstruction, enter the name of the file that was produced by your last editing session! -After compilation and link-eiditing, MAPCLIST will prompt for the name of the new BLOCK DATA file. If specified, this name must be really new; if a file by this name exists there will be an immediate fatal error. If no name is specified, you will not be able to save the results of editing your map file, and your session will only be useful for displaying it (but MAP doesn't know this, and will still accept edits, so you might forget!!!). If you don't specify a new filename here, your session will end in a blizzard of error messages when MAP attempts to save on Fortran device 4. I recommend ALWAYS specifying output filenames, even when you don't expect to need them. You can always use the DELETE command in TSO to get rid of them after your session. -The next file prompted for is a construction-lines file. This is not optional. You may specify NCONST27 (provided), or SCONST25 for an alternative reconstruction. If you are building a new reconstruction, enter the name of the construction-lines file created by your last session. -The last filename prompted for is a new construction-lines file, to be written at the end of the session. If specified, this name must be really new; if a file by this name already exists there will be an immediate fatal error. If no name is specified, you will not be able to save the results of editing your construction-lines file, and your session will only be useful for displaying it (but MAP doesn't know this, and will still accept edits!!!). If you don't specify a new filename here, your session will end in a blizzard of error messages when MAP attempts to save on Fortran device 2. I recommend ALWAYS specifying output filenames, even when you don't expect to need them. You can always use the DELETE command in TSO to get rid of them after your session. -Also, before starting GDDM we need to identify the actual names of two generic dataset, SYSCP and ADMSYMBL. The dataset allocated to SYSCP must contain the load modules of the GDDM (Graphical Data Display Mangaer) software package. The dataset allocated to ADMSYMBL must contain the definitions of the pixel patterns which create the colors used the shade the age maps (and color bars). See your consultant for the local names, and substitute them into MAPCLIST where I presently have APP5.GDDM4.LOAD and APP5.GDDM4.SYMBOL. (If you are converting to another graphics package, then you don't need these lines, but you may need something similar.) -MAPCLIST concludes with a "fire exit" question just before it loads and runs the main program MAP. This is useful if, for example, you mistyped the name of the dataset of construction lines, or got an error message during the Fortran compilation step (these are invariably fatal to your session). ----------------------------------------------------- BASEMAP This is a very simple file containing digitized statelines in the 48 conterminous United States, plus the northern 2/3 of Mexico, plus the southern 2/3 of Canada. If you choose (by setting parameters in the Fortran device-5 input file IN9828) to have state lines included in plots, then this dataset is required when you use PAINT (provided) to run the compiled version of program DRAW (see GDDMCOMP above). The state lines are then converted to graphics metafiles which can be called up (or not, as you choose) to the screen by program VIEW (see GDDMCOMP above). The state lines are expressed as a sequence of straight-line segments connecting points. The file consists of a string of point positions, and for each a logical indicator (T/F). If the indicator is T, then the "pen is down" when moving to the point, and a segment is drawn. If the indicator is F, then the "pen is up" and we are beginning a new line by moving to its initial point. You can easily write a little program to take digitizer output and put it into this format, for any other region where you need a basemap. The points are expressed as (latitude, longitude) coordinate pairs. The units are degrees. Latitude is positive in the Northern hemisphere. Longitude is positive East of Greenwich, England (the prime meridian). It is not important whether a point is indentified with a positive or a negative longitude (i.e., 245 = -115). ----------------------------------------------------- NORTH90A A file in Fortran77 format, consisting of a dummy main program: CALL MAP STOP END and a BLOCK DATA subprogram which defines a finished map file. This particular file contains my reconstruction of the Kula, Vancouver (includes Gorda and Juan de Fuca), and Farallon (includes Cocos) plates for the period 85 Ma to present, under Engebretson et al.'s (1985) "Northern option": the Kula-Farallon Ridge is assumed to have intersected North America near that Canadian-U.S. border. This file can be used in two ways: it can be input to MAPCLIST (and associated with Fortran device 3 of MAP) for display of the model and/or further editing. Or, it can be modified slightly and incorporated into LARAMY and/or the associated graphics programs to represent the desired boundary conditions for a finite element model (actually, copies of this version are already there). To transport this file (or a similar file) your must do three things: (1) change(?) the name in the BLOCK DATA statement if necessary to make it unique within LARAMY or the graphics program which is its destination. (This name is never used, it just needs to be unique.) (2) Change the name of the 3 common blocks as suggested in the enclosed comment lines, to link them to the version of BELOW that will use them. For example, BELOW1 needs to find 3 common blocks named NORTH1, NORTH2, and NORTH3 containing its data (or else it fails, without any enlightening error messages!). In contrast, subprogram BELOW2 uses common blocks SOUTH1, SOUTH2, and SOUTH3 (and this is the ONLY way in which it differs from BELOW1!). You must be careful about these linkages to ensure that you actually get the plate model you have requested for boundary conditions! (3) Delete the 3 lines with the dummy main program. If you do any editing of this file (with MAP, or by hand) you are responsible for checking that the sizes of arrays do not exceed the maximum array sizes set by the PARAMETER statements at the top!) If you change these values, it may also be necessary to change them in various programs that use the data (e.g., "subroutine" MAP in MAPCOMP; subroutines BELOW1 and/or BELOW2 in LARAMY, in GDDMMOD, and in VERSCOMP). The data in the BLOCK DATA program are divided into 3 groups, beginning with distinctive comment lines: (1) slab hingelines (volcanic-arc-fronts) digitized in (lat,lon) format for various geologic times, in the reference frame of the finite element grid, follow after "C===1=== ....". The hingeline should be specified for a large number of geologic times; linear interpolation is used in between these epochs. You must place the age of each digitized hingleline in the "DATA (AGEHNG..." statement (in units of TUMAP seconds), and the number of points in each digitized hingeline in the "DATA (NPHING..." statement. See the comment lines beginning with "C GLOSSARY OF DATA:" for details. (2) relative plate motion data, in the form of finite rotation matrices and relative rotation-rate vectors, follow after "C===2=== ...." There are separate sets for each of the oceanic plates, which are identified by the last character in the array names (ROMATx and OMEGAx). The rotations and rotation-rates should be specified for a large number of geologic times; linear interpolation is used in between these epochs. (The epochs must be identical for each of the plates, even at the cost of some meaningless duplicate or dummy matrices and vectors for certain plates and certain times.) You must place the number of finite rotation matrices in the "DATA NROMAT/ /" statement, and their ages (in units of TUMAP seconds) in the "DATA (AGEROT..." statement. Note that these rotations are FROM the time specified TO the present (subducted?) position of the oceanic plate, in a reference frame attached to the finite element grid. You must place the number of relative rotation-rate vectors in the "DATA NUMVEL/ /" statement, and their ages (in units of TUMAP seconds) in the "DATA (AGEVEL..." statement. See the comment lines beginning with "C GLOSSARY OF DATA:" for details. (3) Magnetic anomalies and fracture zones making up the reconstructed oceanic plate follow after "C===3=== ....". See the comment lines beginning with "C GLOSSARY OF DATA:" for details. Use program MAP (compiled by MAPCOMP and started by MAPCLIST) to create and/or edit these data. NOTE: Some versions of Fortran77 cannot handle DATA statement lists with no entries. Therefore, you may have to begin a new plate reconstruction with two dummy fracture zones enclosing one dummy strip of magnetic anomalies consisting of two dummy anomalies, etc.) These dummies can be eXpunged using MAP as soon as some real data have taken their places.) ----------------------------------------------------- NCONST27 A file of construction-lines (and points) data which are used as the basis for a map file (created by MAP of MAPCOMP and MAPCLIST), and then discarded. This particular file contains both actual digitized anomalies on the Pacific plate, and reconstructed anomalies on the Kula, Vancouver, and Farallon plates. The reconstruction is model-dependent, as the paleoposition of the Kula- Farallon ridge is not known. This particular file contains my reconstruction of the Kula, Vancouver (includes Gorda and Juan de Fuca), and Farallon (includes Cocos) plates for the period 85 Ma to present, under Engebretson et al.'s (1985) "Northern option": the Kula-Farallon Ridge is assumed to have intersected North America near that Canadian-U.S. border. Each line represents one line segment (either a magnetic anomaly, or part of a fracture zone), or a point. The first character is "L" for line, or "P" for point. The second character is a one-letter tag identifying which plate the feature is attached to (P = Pacific, K = Kula, V = Vancouver, F = Farallon). The third item is the age of the feature in Ma. The remaining columns give longitude and latitude of a point (or the initial-point of a line), and (for lines only) the longitude and latitude of the end-point. The units are degrees; North and East are considered positive. ----------------------------------------------------- SOUTH90A A file in Fortran77 format, consisting of a dummy main program: CALL MAP STOP END and a BLOCK DATA subprogram which defines a finished map file. This particular file contains my reconstruction of the Kula, Vancouver (includes Gorda and Juan de Fuca), and Farallon (includes Cocos) plates for the period 85 Ma to present, under Engebretson et al.'s (1985) "Southern option": the Kula-Farallon Ridge is assumed to have intersected North America in Central America or Mexico until 60-55 Ma, and then to have swept North along the coast. This file can be used in two ways: it can be input to MAPCLIST (and associated with Fortran device 3 of MAP) for display of the model and/or further editing. Or, it can be modified slightly and incorportated in LARAMY and/or the associated graphics programs to represent the desired boundary conditions for a finite element run (actually, copies of this version are already there). To transport this file (or a similar file) your must do three things: (1) change(?) the name in the BLOCK DATA statement if necessary to make it unique within LARAMY or the graphics program which is its destination. (This name is never used, it just needs to be unique.) (2) Change the name of the 3 common blocks as suggested in the enclosed comment lines, to link them to the version of BELOW that will use them. For example, BELOW1 needs to find 3 common blocks named NORTH1, NORTH2, and NORTH3 containing its data (or else it fails, without any enlightening error messages!). In contrast, subprogram BELOW2 uses common blocks SOUTH1, SOUTH2, and SOUTH3 (and this is the ONLY way in which it differs from BELOW1!). You must be careful about these linkages to ensure that you actually get the plate model you have requested for boundary conditions! (3) Delete the 3 lines with the dummy main program. If you do any editing of this file (with MAP, or by hand) you are responsible for checking that the sizes of arrays do not exceed the maximum array sizes set by the PARAMETER statements at the top!) If you change these values, it may also be necessary to change them in various programs that use the data (e.g., "subroutine" MAP in MAPCOMP; subroutines BELOW1 and/or BELOW2 in LARAMY, in GDDMMOD, and in VERSCOMP). The data in the BLOCK DATA program are divided into 3 groups, beginning with distinctive comment lines: (1) slab hingelines (volcanic-arc-fronts) digitized in (lat,lon) format for various geologic times, in the reference frame of the finite element grid, follow after "C===1=== ....". The hingeline should be specified for a large number of geologic times; linear interpolation is used in between these epochs. You must place the age of each digitized hingleline in the "DATA (AGEHNG..." statement (in units of TUMAP seconds), and the number of points in each digitized hingeline in the "DATA (NPHING..." statement. See the comment lines beginning with "C GLOSSARY OF DATA:" for details. (2) relative plate motion data, in the form of finite rotation matrices and relative rotation-rate vectors, follow after "C===2=== ...." There are separate sets for each of the oceanic plates, which are identified by the last character in the array names (ROMATx and OMEGAx). The rotations and rotation-rates should be specified for a large number of geologic times; linear interpolation is used in between these epochs. (The epochs must be identical for each of the plates, even at the cost of some meaningless duplicate or dummy matrices and vectors for certain plates and certain times.) You must place the number of finite rotation matrices in the "DATA NROMAT/ /" statement, and their ages (in units of TUMAP seconds) in the "DATA (AGEROT..." statement. Note that these rotations are FROM the time specified TO the present (subducted?) position of the oceanic plate, in a reference frame attached to the finite element grid. You must place the number of relative rotation-rate vectors in the "DATA NUMVEL/ /" statement, and their ages (in units of TUMAP seconds) in the "DATA (AGEVEL..." statement. See the comment lines beginning with "C GLOSSARY OF DATA:" for details. (3) Magnetic anomalies and fracture zones making up the reconstructed oceanic plate follow after "C===3=== ....". See the comment lines beginning with "C GLOSSARY OF DATA:" for details. Use program MAP (compiled by MAPCOMP and started by MAPCLIST) to create and/or edit these data. NOTE: Some versions of Fortran77 cannot handle DATA statement lists with no entries. Therefore, you may have to begin a new plate reconstruction with two dummy fracture zones enclosing one dummy strip of magnetic anomalies consisting of two dummy anomalies, etc.) These dummies can be eXpunged using MAP as soon as some real data have taken their places.) ----------------------------------------------------- SCONST25 A file of construction-lines (and points) data which are used as the basis for a map file (created by MAP of MAPCOMP and MAPCLIST), and then discarded. This particular file contains both actual digitized anomalies on the Pacific plate, and reconstructed anomalies on the Kula, Vancouver, and Farallon plates. The reconstruction is model-dependent, as the paleoposition of the Kula- Farallon ridge is not known. This particular file contains my reconstruction of the Kula, Vancouver (includes Gorda and Juan de Fuca), and Farallon (includes Cocos) plates for the period 85 Ma to present, under Engebretson et al.'s (1985) "Southern option": the Kula-Farallon Ridge is assumed to have intersected North America in Central America or Mexico until 60-55 Ma, and then to have swept North along the coast. Each line represents one line segment (either a magnetic anomaly, or part of a fracture zone), or a point. The first character is "L" for line, or "P" for point. The second character is a one-letter tag identifying which plate the feature is attached to (P = Pacific, K = Kula, V = Vancouver, F = Farallon). The third item is the age of the feature in Ma. The remaining columns give longitude and latitude of a point (or the initial-point of a line), and (for lines only) the longitude and latitude of the end-point. The units are degrees; North and East are considered positive. ----------------------------------------------------- GOOD LUCK !!!!!!!!