DisModel is a set of matlab programs and a few fortran components to invert various types of geodetic data for the geometry and slip on faults in an elastic half-space. Of course, one can also run forward models and evaluate their misfit in a trial-and-error mode. The code originated at Stanford, when Paul Segall and I put together new routines to model the Loma Prieta postseismic deformation, but there are now a large number of different versions and add-ons based on con- tributions by Sue Owen, Peter Cervelli, Evelyn Price, David Schmidt, etc. etc. Evelyn Price in particular added some nice things allowing for slip-distributed models using positivity constraints. You should feel free to look around in /data/foxnsox/burgmann/matlab for different examples. To keep the core programs as default names, set: setenv MATLABPATH /data/foxnsox/burgmann/matlab/matools A few important files: FaultGeom - has the a priori fault geometry in it, as many faults as you like using: width depth dip st_lat st_lon en_lat en_lon s-slip d-slip open km km deg deg deg deg deg x x km 4000 41 0 22.000 120.807 24.873 122.000 0 0 0 16.55 16.55 89.99 40.70 29.40 40.74 30.52 -2.76 0 0 FaultBounds - prescribes bounds on geometry parameters for the non-linear inversions for geometry. len, wid, depth, dip, strike, latitude, longitude 15.0000 10.0000 15.0000 35.0000 66.0000 22.8000 70.0000 30.0000 35.0000 45.0000 75.0000 136.1000 23.5000 70.6000 VolGeom contains a priori parameters for a Mogi volume source that can be used for modeling volcanic intrusions and other volume-change processes. temp.gmtlin is a line file for plotting the fault geometry in GMT using psxy: psxy temp.gmtlin -J${projection} -R${range} -P -M -K -O -W3/000/000/000 -V >> $ {psfile} In Geometry inversion, start.gmtlin is created which has the a priori geometry and temp.gmtlin will be the final optimized geometry. volums.gmtlin is for plotting location of volume source in GMT Primary program: DisModel.m - DisModel_smooth.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, it's easier to run the code on command line ForModel.m - Does Forward model, using the prescribed fault geometry and slip 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. Evelyn Price improved on that and created the version with positivity constraints I used in DUZCE_INSAR. GeomEst.m - Non-linear inversion for fault geometry with bounds on parameters and constraints if needed. LoadData.m organizes the data (Calls Get???data scripts and builds the data and covariance matrices). GetGMTdata.m - Reads 2D GPS velocities only, from simple GMT format. GetGPSdata.m - Reads 3D velocities/displacements and full covariance. GetSARdata.m - Reads the subsampled InSAR data. MakeGSAR.m/MakeGgps.m sets up the G matrix relating unit slip/opening on the dislocation and surface displacements or range change. Of course, we can also just feed it Green's functions provided by other code, such as the slip- to-site displacement relations computed by Liz Hearn from her FEM models. The model displacements can be visually compared with the observed displacements by executing a gmt script (e.g., duzce.map) which will plot the obs.gmtvec and mod.gmtvec displacement files that we create in the model programs. (can also plot vertical (mod_vert.gmtvec etc.) To do a test run for a simple inversion using a single dislocation plane, you do the following (the file names might not be quite up to date) To run the GUI, (1) cd data/foxnsox/burgmann/matlab/DUZCE_INSAR (2) start matlab (3) run DisModel (4) click button GPS data in lower left to select data files Right now the default name is the izmit eq file 'DUZCE_COSEISMIC_DATA/izmit_1207.3Dgmtvec' (5) 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) (8) Execute duzce.map GMT script, which should plot the model and GPS data, as well as the surface trace of the model fault. The plot includes both horizontal (arrows) and vertical (vertical bars) displacements. o The basic set of matlab code in /data/foxnsox/roland/matlab/matools includes some compiled fortran code including the actual dislocation code after Okada. All the remaining programs are in the matlab format and have the .m suffix. (in fact, there is also a matlab coded version of okada.m in matlab5/matools/okada.m / okada2.m (the latter definetely works). Various versions of some of these programs, as well as add-ons allowing for new data types, inversion approaches etc. are in /data/foxnsox/burgmann/matlab