GEMINI is a program package to calculate Green's functions and surface wave modes of the elastic wave equation for one-dimensional depth dependent media. Applications of the code range from high-frequency, small-scale wave propagation problems like ultrasonic waves, seam waves and shallow seismics to continental-scale seismic waves from earthquakes.
A description of the underlying mathematical approach can also be found in the paper by Friederich and Dalkolmo, Geophysical Journal International, 122, 537-550, 1995. Please cite this paper if you publish results obtained using GEMINI.
- gfortran (at least 4.2) and gcc for compilation
- GNU make
- m4 macro processor
Set the variable F95 in your shell environment to the path to your Fortran compiler. Use Makefile and Make.f90 for compiling the Green function codes:
- touch *.m4
- make gfdsvrkf
- make gfdsvrkf_mpi
- make -f Make.f90 gfdsvrkfseis
- make -f Make.f90 plotGreenFKSpectra
The m4 macro processor is used to automatically generate code needed for gfdsvrkf from a common template. If anything goes wrong do a "make clean" and repeat the compilation procedure.
The code is self-explaining. Just enter the name of the executable and you get a description of arguments and options. For theoretical background look into the documentation or into the paper by Friederich and Dalkolmo (GJI, 1995).
Info file:
All information about source and receiver is provided by an info file (see examples folder).
For more information consult the module include/sourceReceiver.f90.
gfdsvrkf:
calculate frequency-wavenumber spectra for the displacement stress vector (DSV)
with components U, R, V, S, W, T and optionally spatial derivatives either for
for one source and many receiver depths or for one receiver and many source depths.
gfdsvrkf_mpi:
an embarassingly parallel version of gfdsvrkf which distributes calculations for
different frequencies to available processors.
gfdsvrkfseis:
calculate synthetic seismograms (takes stations and components from an info file),
current ourput formats: SFF and SSA (a special file with allows direct access).
Look into the examples folder where you find Makefiles for different applications of gfdsvrkf.
SFF (Stuttgart File Format) is a slight modification of GSE2.0 with CMPR6 compression. In the folder libstuff you find some Fortran modules which provide routines for reading and wirting SFF files. As far as I know SFF files can be read in using Seismic Handler. Look into stuff.f for a detailed description of the format.
SSA is very helpful when a big amount of seismograms are written because it permits direct access to any seismogram upon reading. There is a Fortran module "include/ssaDataset.f90" which provides routines for reading SSA-files.