Emmy-Noether-Project "Bridging Geodesy and Seismology"


Summer Hack 2016

Our group members at the Hack.
Impressions from the first BridGeS pyrocko hack weekFotos: H. Sudhaus



In the Summer 2016 we had our first group Kick-Off Hack Week at GFZ Potsdam. The BridGeS group had started to form with the fresh Msc Geophysics Andreas Steinberg as PhD and Msc Geophysics Marius Isken as our second software developer. These new members together with long-time colleagues Hannes, Sebastian and Henriette are discussing the state-of-the-art of our software analysis tools. In one room, for a whole week, with many snacks and litres of Mate softdrinks. Can this be the preferred 'project retreat' format for our project?

In this week the main goals have been to bring everyone on a good common information level, to outline and agree on the goals in the to-be-developed new modelling techniques combining InSAR data and seismological data, and a first listing of software tool requirements. Pyrocko so far is a seismology toolbox and needs to learn working with static displacements.

Participants (in order of appearance in the foto collage): Andreas Steinberg (CAU), Hannes Vasyura-Bathke (KAUST), Marius Isken (CAU), Sebastian Heimann (GFZ), also Marius Kriegerowski and Henriette Sudhaus


Ideas and products of the week in some more details

The forward-side of things:

  • Source models: We optionally enable a rectangular finite source model that is defined by uniform slip instead of uniform moment. Things to do are i) to revive the Eikonal source and ii) enable edge-slip-tapering, e.g. from a uniform stress-drop assumption
  • Targets: For the InSAR displacements we need a new type of target that is static, has the five pyrocko coordinates, has a time frame attribute, SAR line-of-sight angle information and data error variance-covariance information. To prepare and handle InSAR targets we want an in-house modul for basic visualization and target preparation (filtering, subsampling, etc).
  • Green's function store: We want to implement new Green's function methods for the static data bases for layered media. THE candidate is R. Wang's PSGRN.
  • Engine: Our engine to compile dynamic and static synthetic displacements needs to learn new static targets. Also, it needs to be more efficient to make things fast.

The backward-side (inverse) of things:

  • Misfit function: We want to have data error covariance for the seismic trace as well. We test robust and fast ways to get pre-event noise statistics.
  • Sampler: Sebastian introduces Grond and we all agree that the concept is very promising and that we want to further develop it. We want to make it Bayesian.


Autumn Hack 2016

Showing group members discussing at the Hack.Impressions of the BridGeS Autumn Hack 2016 Fotos: H. Sudhaus


Here we are again for the second concentrated pyrocko action week. Yes, we find we like this format a lot! Nobody wants to miss a thing, so even Hannes joins us for many hours via telecommunication from desert lands. We share and discuss our ideas, problems, questions and Mate softdrinks. Sometimes we even have solutions and answers - or coffee (in rare cases Jaegermeister).

Main topics are the static Green's function store, performance of forward calculations, code health with new tests and documentation.

Important developments in some more detail:

  • Kite is born: The in-house InSAR data post-processing module kite outlined during the Summer Hack has been set-up by Marius. It is very interactive, handy and generally very promising. Further development will bring great things!
  • Pyrocko and new modules: Pyrocko has now some special modules for special purposes. We decide to organize all of them under pyrocko.org to emphasize the strong connection and interactiveness of the modules with mother pyrocko.
  • Performance: Sebastian shows us how to speed up the code by moving some functions to C code. Here we are truly hacking - or at least some of us).
  • PSGRN GF store: Hannes is working further bringing the PSGRN functionality to pyrocko. The group tries to help.
  • Documentation: We start to look into documentation of the code. This ia a long-term engagement


Participants are again: Marius Isken, Sebastian Heimann, Hannes Vasyura-Bathke (webcam), Andreas Steinberg, Marius Kriegerowski and Henriette Sudhaus (bottom picture left to right).

Winter Hack 2017

Dummy image
On the frozen Heiligensee in Potsdam during our third Hack Week - Hacking where others go on holiday.Foto: kind local lady on skates


Planned as a Go-Away-Winter-Hack, we finally admitted that some winter days can indeed be very enjoyable - like here on the Heiligensee in front of the Marble Palais in Potsdam. A perfect welcome for our new group member Simon, who here has just started his PostDoc with us.
During this hack we enjoy and discuss not only sun and ice, but mainly the new pyrocko functionalities that have been finalized since the last week. Together we work on example scripts and documentations. We also start discussions on new goals with our new expert Simon on slow slip or interseismic motions.

Achievements made so far:

  • Speed: With new function architecture and C code extensions we increased the forward calculation of seismograms a lot. Also the new psgrn static store back end is very fast. We are ready for optimizations! Also, we want to add fast analytical function for elastic half-space medium. Good for tests.
  • SatelliteTarget and Statictarget: are new handy target types for InSAR and GPS data in pyrocko.
  • New webpage: We have a shiny new project webpage pyrocko.org. Now we need to work hard to populate it with example scripts and improve the documentation everywhere.

Further topics:

  • Joint targets: the pyrocko engine will be enabled to handle heterogenous targets.
  • SatelliteMisfitTarget: A to be introduced class in pyrocko for optimizations
  • slow slip and back slip: We discuss what is special for dealing with aseismic slow slip and how locked fault in interseismic times are implemented.
  • Joint optimization with Grond: we want to teach grond to optimize also static targets. We discuss needs.


Participants: Henriette Sudhaus, Simon Daout, Sebastian Heimann, Andreas Steinberg, Marius Kriegerowski, Marius Isken (from left to right, see picture) and Hannes via telecon again from desert land.

Group visit to Comet, Leeds

Activites with group members and colleagues from Leeds in Leeds.Going out with tools and colleagues - we present and discuss pyrocko with our project partners at Leeds university. Fotos:H. Sudhaus & S. Daout


We are kind of ready to present the new tools to an interested crowd of expert colleagues and future users at Leeds university. This is a first test out-of-house for the new InSAR tools and not everything is working perfectly, of course. Work and after-work-pleasure are quite intense. Here, we get a lot of critical and positive feedback, new ideas and we outline the future cooperation.

Summer Hack 2017

Pictures show group members in discussions.Discussions at the whiteboard, over projected optimization results Fotos: H. Sudhaus and during coding.


Since our last Winter HackWeek 2017, Grond underwent major design restructuring, to not only realize joint geodetic-seismic data optimizations, but to also allow for modular growing in many more respects. The new structure opened up the Grond functionality for any new data sets (we call them targets) to the inverse problems we want to solve, any new source model description, different model-space sampling schemes and to new so-called problems in general, e.g. with different objective functions. The increased flexibility helps to maintain the code and improves sustainability. Furthermore, the code is easier to understand this way.

With the new structure ready and a given basic functionality, we discuss the way the robust joint optimizations shall be realized, and to-be-implemented functions. These are:

  • Weighting of data in joint-data optimizations,  e.g. covariance weighting for seismic trace data
  • Bootstrapping in Grond in general and bootstrapping for the static data, which come with correlated data noise
  • Normalization of misfits in Grond and how this chould be done in joint-data optimizations
  • Extension of the Grond-generated automatic data and result plots, which need to be extended, e.g. for new data types
  • We plan to add a GNSS Target to include coseismic GNSS displacement vectors.

We discuss the functionality and use tests to gain a deeper understanding of the way the high-score optimization schemes of Grond and the bootstrapping works.  These discussions and demonstrations, testings filled the week quickly.

Participants: Henriette Sudhaus, Simon Daout, Sebastian Heimann, Andreas Steinberg, Marius Isken and Hannes Vasyura-Bathke.


Spring Hack 2018

Spring impressionsImpressions from the SpringHack in 2018.Fotos: Kind GFZ colleague andH. Sudhaus


During the time between the last and this meeting many of discussed functions have been implemented. The base level of joint-data optimizations is functioning. We could set up our own case studies to be worked on with Grond. With this group approach we found many different bugs, identified improvements for the general usability and greatly extended the content and look of automatic figures.

We used the start of the week with updates on our projects.

Andreas presents his data-driven source characterization based on near-field static displacement gradients and seismic backprojection results for the 2016 Muji earthquake.
Simon introduces his project on the Qaidam earthquake sequence 2003 to 2009 that he studies with Envista InSAR time-series. Simon's GROND results for a buried thrust-fautling demonstrates nicely the capability of the GROND optimization to sample bimodal parameter distributions. Marius shows the new earthquake scenario generator of Pyrocko Colosseo.

Otherwise we have been  9 to 5 busy with:

  • code fixing

  • code documentation

  • feature implementation

  • feature discussion

  • data preparing

  • data fixing

  • GROND configurations

and more of everything. Time rushed as usual.

During the Spring Hack 2018 we all made our working directories to comply with a common structure to better share projects, better identify and solve problems that arised for one or the other data set. We put our data sets on a GFZ machine to have a shared playground.

Sebastian and Marius presented a very nice new feature that eases greatly the visual inspection of Grond results: the Grond Report, which is a browsable folder of result figures and tables.


Participants: Henriette Sudhaus, Simon Daout, Sebastian Heimann, Andreas Steinberg and Marius Isken




SRCMOD Database