Beispiel #1
0
 def getRepresentedSource(sandbox):
     length = 5000.
     return PyrockoRectangularSource(depth=4000,
                                     length=length,
                                     width=15. * length**.66,
                                     strike=45.,
                                     rake=0,
                                     slip=2,
                                     store_dir=getConfig().default_gf_dir
                                     or '')
Beispiel #2
0
 def getRepresentedSource(sandbox):
     length = 5000.
     src = PyrockoRectangularSource(
         easting=num.mean(sandbox.frame.E),
         northing=num.mean(sandbox.frame.N),
         depth=4000,
         length=length,
         width=15. * length**.66,
         strike=45.,
         rake=0,
         slip=2,
         store_dir=getConfig().default_gf_dir or '',
         )
     return src
Beispiel #3
0
    def testPyrockoRectangularSource(self):
        nsources = 2

        def r(lo, hi):
            return num.random.randint(lo, high=hi, size=1).astype(num.float)

        for s in xrange(nsources):
            length = r(5000, 15000)
            self.ms.addSource(
                PyrockoRectangularSource(
                    easting=r(0., self.ms.frame.E.max()),  # ok
                    northing=r(0., self.ms.frame.N.max()),  # ok
                    depth=r(0, 8000),  # ok
                    strike=r(0, 360),  # ok
                    dip=r(0, 170),
                    slip=r(1, 7),  # ok
                    rake=r(0, 180),
                    length=length,
                    width=15. * length**.66,
                    store_dir=gf_store))  # noqa
Beispiel #4
0
    def getRepresentedSource(sandbox):
        if not config.default_gf_dir:
            folder = QtGui.QFileDialog.getExistingDirectory(
                None, 'Open Pyrocko GF Store', os.getcwd())
        else:
            folder = config.default_gf_dir

        if not folder:
            return False

        length = 5000.
        src = PyrockoRectangularSource(
            easting=num.mean(sandbox.frame.E),
            northing=num.mean(sandbox.frame.N),
            depth=4000,
            length=length,
            width=15. * length**.66,
            strike=45.,
            rake=0,
            slip=2,
            store_dir=folder,
        )
        return src
okada = OkadaSource(
    northing=40*km,
    easting=40*km,
    depth=4*km,
    length=8*km,
    width=4*km,
    strike=63.,
    dip=33.,
    slip=3.,
    opening=1)

pyrocko_rectangular = PyrockoRectangularSource(
    northing=40*km,
    easting=40*km,
    depth=4*km,
    length=8*km,
    width=4*km,
    strike=63.,
    dip=33.,
    slip=3.,
    store_dir='gfstore_halfspace')

sandbox.addSource(okada)

sandbox.processSources()

# Plot the resulting surface displacements
fig, axis = plt.subplots(nrows=2, ncols=2)
axis[0][0].imshow(sandbox.north)
axis[0][1].imshow(sandbox.east)
axis[1][0].imshow(sandbox.down)
axis[1][1].imshow(sandbox.displacement)  # Displacement in LOS