Skip to main content

UPCODES Lab

University of Potsdam Code Development for Seismology

With the UPCODES Lab, we aim to equip our scientists and students with the best possible software tools for seismological research and education. We develop and contribute to open source codes and provide training on software development for our students.

Contributions to Open Source Software Packages

With the immensly growing amount of observational data, open source software plays a fundamental to keep research transparent and reproducible. Therefore our team actively contributes to the development of free and open source software packages in our field.

UPCODES is the homebase for:

Education

Programming is a key skill in any research dealing with digital data. This is especially true for seismology. Here at the UPCODES Lab, we help students to learn the arts of coding and seismological data management.

We may also have some student assistant job offers. Please contact our staff members if you are interested.

Projects

2023-06-07 - The Sparrow - Geospatial Data Visualization

We are releasing Pyrocko Sparrow, a new interactive tool to explore geo-datasets through space and time.

  • Easy to use interface.
  • Make animations from your research results.
  • Built on VTK, Qt and NumPy - fully open source.

2022-04-28 - Pyrocko Squirrel - A New Framework for Seismological Data Access

After many iterations and lessons learned, we are now releasing a new framework for seismological data access.

The Squirrel framework provides a unified interface to query and access seismic waveforms, station meta-data and event information from local file collections and remote data sources. For prompt responses, a database setup is used under the hood. To speed up assemblage of ad-hoc data selections, files are indexed on first use and the extracted meta-data is remembered for subsequent accesses. Bulk data is lazily loaded from disk and remote sources, just when requested. Once loaded, data is cached in memory to expedite typical access patterns. Files and data sources can be dynamically added and removed at run-time.

Squirrel Logo
Pyrocko Squirrel - prompt seismological data access with a fluffy tail

Features

  • Efficient (O log N) lookup of data relevant to a time window of interest.
  • Metadata caching and indexing.
  • Modified files are re-indexed as needed.
  • SQL database (sqlite) is used behind the scenes.
  • Can handle selections with millions of files.
  • Data can be added and removed at run-time, efficiently (O log N).
  • Just-in-time download of missing data.
  • Disk-cache of meta-data query results with expiration time.
  • Efficient event catalog synchronization.
  • Always-up-to-date data coverage indices.
  • Always-up-to-date indices of available station/channel codes.
Squirrel Logo
Pyrocko Squirrel - prompt seismological data access with a fluffy tail

2021-07-05 - Bringing the Pyrocko Toolbox for Seismology to Windows

Windows 10 desktop with the Snuffler application open.
Photo: UPCODES
Pyrocko's Snuffler app is now also available on Windows. Snuffler is a snappy seismogram browser and workbench, allowing you to swift through large waveform datasets, to filter and rotate seismic waveforms, to select and pick events, calculate travel times and much more. You can also extend Snuffler with your own plugins written in Python.

Pyrocko is an open source seismology toolbox which has been constantly evolving for over 10 years now. It contains all the building blocks needed for seismological research in a tightly integrated package. It also contains several tools for everyday seismological practice, like the Snuffler, a fancy seismogram browser and workbench. Most of Pyrocko is written in the Python programming language, performance-critical parts in C.

Until now Pyrocko has only been available on the Linux and macOS platforms. As open source developers we strongly encourage seismologists to work on open source operating systems like Linux, of course. This is where the whole ecosystem of research software thrives. But we do recognize that, especially in education and for casual users, the option to use Pyrocko on Windows would be benefitial. UPCODES has now finally made it possible to add Windows to the supported platforms of Pyrocko.

With the release of Pyrocko v2021.06.29, experimental Windows support is now available. We have updated all the C codes in the Pyrocko library so that they compile with MSVC, updated the Python codes where necessary, updated the installation procedure and installation manual, and integrated Windows into our testing and continuous integration (CI) pipelines. Furthermore, we can now build and upload PIP and Anaconda packages also for Windows with every new release of Pyrocko.

Trying out Pyrocko on Windows is easy: download and install Anaconda or Miniconda  and then run 'conda install -c pyrocko pyrocko' on the Anaconda command line prompt. A good place to start learning Pyrocko is the Snuffler tutorial.

Windows 10 desktop with the Snuffler application open.
Photo: UPCODES
Pyrocko's Snuffler app is now also available on Windows. Snuffler is a snappy seismogram browser and workbench, allowing you to swift through large waveform datasets, to filter and rotate seismic waveforms, to select and pick events, calculate travel times and much more. You can also extend Snuffler with your own plugins written in Python.