A graphical model editor for plane-layer models

In pursuing simpler ways of modeling earth structure from observations of Scholte waves (interface waves propagating along the seafloor-water boundary, I sought a rapid way of comparing field data with modeling results.  There are several comparison interfaces (where the rubber meets the road), the “Gold Standard” being the matching of observed seismograms with artificial ones from waveform modeling work.  After all, if we can match an observed seismogram wiggle-for-wiggle, the model agrees with the real earth in all ways sampled by the source, propagation and sensing/recording processes.

Waveform modeling tends to be strongly nonlinear in some aspects, and we generally benefit by starting with a simple model which is close to the earth in some ways.

This program provides a Graphical User Interface for editing layer cards such as used in flat-earth models with laterally homogeneous layers.  The starting model is presented to the user in the form of a velocity-depth plot.  The nodes plotted represent the centers of the layers describing the model.  Dragging a node from the initial location changes the shear velocity and thickness of the layer. This action only affects the node adjusted.  Layers below the layer whose node is changed are not altered, but can end up being moved down or up as the layer thickness is increased or decreased.  The format implemented is that read by the flat-earth mode code of Gomberg, J., and Masters, T.G., 1988, and Nolet and Dorman, 1996.  These models are defined in “layer” cards, which represent layer properties of thickness, velocities, density, attenations.  Layer cards for reflectivity codes such as Kennett’s differ only slightly.  The main nuisance of modeling is going back and forth between thicknesses and depth.  There is nothing profound in this. Developed under Python 2.7.10 under MacOS Yosemite 10.10.4.  There are related programs and scripts which overlay dispersion curves from models on group velocity-vs-time (slowness) spectrograms. The program reads a model file and produces a modified version with the filename of <original name>modif.  It has been used for oceanic models, which have a water layer.  This code shows quite a bit of developmental (debugging) intermediate results.  The graphic code is based on path_editor.py from matplotlib.org.

LeRoy Dorman, Scripps Institution of Oceanography,2015.