Open Codes

Research-related open source codes. All codes are provided with the MIT license.

This software simulate seismic wave propagation by solving equations of motion with constitutive equations of elastic/viscoelastic medium by finite difference method (FDM) under message passing interface (MPI) environment in 3D and 2D (P-SV or SH) media.

This package also provides a set of tools for visualizing/converting simulation output.

The code is available at github.

A Note For the EIC Users of ERI/UTokyo

eic.eri.u-tokyo.ac.jp:/home/data/OpenCodes/OpenSWPC/OpenSWPC

contains the newest version of the code with

  • Pre-compiled executable binaries
  • Example input files for simulating earthquakes around Japan optimized for the EIC
  • Example job script files that uses the above input files

For using it, the users need to assemble the Japanese velocity structure model and dataset.


This code assimilates tsunami wave field from observation of tsunami height at discrete stations. The package contains a synthetic example of the tsunami data assimilation. The theory, synthetic tests and an application are described in the following accompanying papers:

  • Maeda, T., K. Obara, M. Shinohara, T. Kanazawa, K. Uehira, Successive estimation of a tsunami wavefield without earthquake source data: A data assimilation approach toward real-time tsunami forecasting, Geophys. Res. Lett., 42, 7923-7932, doi:10.1002/2015GL065588, 2015.
  • Gusman, A. R., A. F. Sheehan, K. Stake, M. Heidarzadeh, I. E. Mulia, and T. Maeda, Tsunami data assimilation of high-density offshore pressure gauges off Cascade from the 2012 Haida Gwaii earthquake, Geophys. Res. Lett., in press, doi:10.1002/2016GL068368, 2016.

The authors request that the user to cite the accompanying papers in any publications that result from the use of this software, although this is not an obligation.

The following demo animation shows the result obtained from the example code. Left and right panels show assumed and data-assimilated tsunami wavefield (wave height) at elapsed times shown on top. Dots at the center of panels show synthetic station locations. The data observed at these stations at every one second are used for data assimilation.

The code is available at github.


This software simulates tsunami wave propagation under the linear long wave (LLW) and the liner dispersive wave (LDW) approximation with the perfectly matched layer absorbing boundary condition. The theory and example are described in the accompanying paper:

  • Maeda, T., H. Tsushima, and T. Furumura, An effective absorbing boundary condition for linear long-wave and linear dispersive wave tsunami simulations, Earth, Planets, and Space, in press, doi:10.1186/s40623-016-0436-y, 2016.

The authors request that the user to cite the above accompanying paper in any publications that result from the use of this software, although this is not an obligation.

The code is available at github.


Fortran2003 codes to deconvolve Hi-net velocity record by its seismometer response by using inverse filtering technique according to the following paper.

  • Maeda, T., K. Obara, T. Furumura, and T. Saito, Interference of long-period seismic wavefield observed by dense Hi-net array in Japan, J. Geophys. Res., 116, B10303, doi:10.1029/2011JB008464, 2011. article link

The code is available at github.


Fortran2003 utilities on reading/writing SAC (Seismic Analysis Code) formatted seismograms without using the SACIO library. It contains the following utilities as well as a fortran2003 module for treating SAC format data.

  • sac2asci
    • Convert SAC file to two-column ascii data. Result will be exported to standard output.
  • sac2bin
    • Convert sac data in double-precision ]binary format. Output binary file can be used as input of psxy (GMT) with -bi option.
  • ascii2sac
    • Create sac-formatted file from two-column ascii file. This is inverse of sac2ascii.
  • sacdiff
    • Take diff between two SAC files. The result is stored also in the SAC format.
  • rsachead
    • Read SAC header and display to standard output.
  • stacksac (from v1.2)
    • Stack SAC files.
  • catsac (from v1.2)
    • Concatnate SAC files.

Note that the SAC (Seismic Analysis Code) is developed at Lawrence Livermore National Laboratory, is copyrighted by the University of California, and is being developed and maintained by IRIS.

The code is available at the github.