I put DisModel files on anonymous ftp at quake.geo.berkeley.edu cd outgoing/burgmann/DISMODEL The matools directory in DisModel.tar has the core modeling programs, mostly developed with Paul Segall back when I was at Stanford. The basic set of matlab code in /matools includes some compiled fortran code including the actual dislocation code after Okada. There is an okada.m version too. All the remaining programs are in the matlab format and have the .m suffix. DisModel_geom.tar contains a version of the DisModel programs that should work for simple geometry inversions with GPS data. I used this for inversions of San Simeon, California earthquake deformation. There you also find example data files and GMT plotting routines (.map file is for GMT plotting of the model geometry and vectors). However, the matlab optimization program constr.m is not supported anymore, so it would be advisable to use fmincon.m instead, which is implemented in the second series of programs, but I have not tested it myself. DUZCE_BVLS and DUZCE_INSAR contain all the programs and data I used to model the 1999 Duzce earthquake GPS and InSAR data with geometry and distributed slip inversion. This work was published in the following paper: ftp://quake.geo.berkeley.edu/outgoing/burgmann/REPRINTS/Burgmann_Duzce_BSSA2002.pdf The DisModel code is based on programs developed by a number of people with many individualized versions in existence now, with varying capabilities in terms of data types, inversion methods etc.) It is all based on matlab routines that deal with data input, optimization approaches etc., which are wrapped around Okada's dislocation code (which is included as a compiled matlab routine). Essentially, once you've set up your initial fault geometry file and data files (GPS displacements) you are ready to go. The .mexsol, matlab compiled fortran code may need to be recompiled if you are on a different system (we run things on Sun workstations). That may not be that easy, but I also have a matlab version of the Okada routine somewhere, that should be able to do the job. The first thing you want to do is to put the matools somewhere and designate it in your .cshrc file as a default area. setenv MATLABPATH /PATH_TO/matlab/matools You want to run all the modeling in the other directory area where you may find different versions of some of the same programs as in matools, but updated for some reason. So, if you run matlab there, these will be used rather than those in the default matools area. A few important files: FaultGeom - has the a priori fault geometry in it, as many faults as you like using: width - Depth - Dip - lat/lon start - lat/lon end - strike-slip - dip-slip - opening 16.5519 16.5519 89.9954 40.7026 29.4018 40.7411 30.5244 -2.7683 0 0 (one line per fault) (For Geometry inversions you will also need a FaultBounds file with upper and lower bounds on dislocation parameters, in somewhat different order and format from FaultGeom). DisModel.m - Type "DisModel" in the matlab command line and the GUI to run the whole code comes up giving you the means to load in data, set up the geometry, and run inversions. For some stuff, I run things on command line or have to edit the code, because I haven't got to updating the GUI. Change the GPS data file name to yourfile.gmt (your file), load data, setup the fault geometry, and hit the button to invert for slip and a slip inversion results whose results you can look at from the GMT script. You can now play with different locking depths by changing the values in the boxes, different dips, different segmentation etc. ForModel.m - Does Forward model, using the prescribed fault geometry and slip. Should work, but I didn't even try it. SlipEst.m - Does least squares inversion for slip on all dislocations (only for those slip values that have non-zero a priori estimates). For the Izmit-EQ study I wrote a new version SlipEst_smooth.m, which allows us to smooth the distributed slip models. GeomEst.m - Non-linear inversion for fault geometry with bounds on parameters and constraints if needed. (bounds get defined in FaultBounds) LoadData.m organizes the data (Calls Get???data scripts and builds the data and covariance matrices). Depending on the format of your data file you will want to commment out the other options. We have a fancier version that does that via the GUI, but not this one. (2D velocities in GMT format, but no site names in last column). GetGMTdata.m - Reads 2D GPS velocities only, from simple GMT format. GetGPSdata.m - Reads 3D velocities/displacements and full covariance. GetSARdata.m - Reads SAR data (either with unit vectors for each data point in data file, or choosing a single projection vector). MakeGgps.m sets up the G matrix relating unit slip/opening on the dislocation and surface displacements or range change. MakeGSAR.m same for range change along unit vector. The model displacements can be visually compared with the observed displacements by executing a gmt script (.map) which will plot the obs.gmtvec and mod.gmtvec displacement files that we create in the model programs. So, to run things, (1) go into the working directory. Edit the fault geometry file, data file name in DisModel.m, and create a data file from your GPS velocities. Usually, the last station is used as a reference site and its velocity subtracted from all the others. (2) start matlab (3) run DisModel (4) click button GPS data in lower left to select data files type the correct file name and Hit Load Data button (6) Hit Setup Geometry button (the fault parameters that appear can be edited right here and saved if you changed them, useful as you can make sure your fault elements are correctly located). (7) Do a slip inversion (Hit Estimate Slip) or Forward model. (8) Update the GMT file for your local area etc. and run to plot the model and GPS data, as well as the surface trace of the model fault (temp.gmtlin). The plot includes both horizontal (arrows) and vertical (vertical bars) displacements if you have any included. (modvert.gmtvec and obsvert.gmtvec). Now, probably we will run into numerous bugs and problems, but if half of the stuff work as I said, things are in good shape :-). Why don't you have a good look at everything and let me know what you think. I realize this is a bit rough information to get you started, but based on my experience with other people, you should be up and running quite soon. Cheers, Roland