c ******************************************************************** C C C Programm REFSEIS (Version 02.10.1990 by Joachim Ungerer) C C Developed for SUN 4/110 workstation, written in SUN-FORTRAN C C C C Part of the thesis of Joachim Ungerer C C Work performed at Institute of Geophysics, Stuttgart University C C C C Functions and limitations of REFSEIS.F: C C The program REFSEIS.F generates complete (body and surface wave) C C synthetic near- and far-field seismograms for a generalized point C C source of Brustle-Muller model or an impulse excitation which is C C located within horizontal layered medium. Theoretical basis of the C C program is presented in the thesis [Ungerer, 1990]. C C Medium can be arbitrarily layered. As a special case, full space can C C be modeled. Layer parameters include velocities of P and S waves, C C density, Q of P and S waves. In the framework of acausal damping C C model, strong damping effect can be satisfactorily taken into C C account which depends on the station distribution and layer C C parameters. Elastic case can be approximated by very high Q. C C REFSEIS.F calculates near- and far-field seismograms separately C C [Ungerer, 1990]. Either displacement (Typ=1) or velocity (Typ=2) or C C acceleration (Typ=3) is calculated. The source excitation function C C is implemented in the first part of the program. In addition to the C C seismograms, their corresponding spectra can also be obtained in the C C output. C C Seismograms are represented in a cylindrical coordinate system with C C origin at the epicenter as three components -- radial(r), C C azimuthal(phi) and vertical(z). C C The number of receivers can be arbitrary in principle. their C C locations with respect to the source is described by epicentral C C distance and azimuth. C C There is only one limitation on the location of the source. It can C C not be put at the surface, since the analytic expression on which C C the program is based would no longer be defined [Ungerer, 1990]. C c ***** The source must not be vertically under a station ***** c C The source mechanism and its orientation are described by the C C Cartician components of the source moment tensor. C C Difficulties and numerical disturbances arise mainly in the slowness C C integration. The integral is exact only when the upper bound is C C unlimited. Numerically we need to truncate it. Either a small C C integration range or a rough sampling can lead to considerable C C disturbances or the truncation phase in the resultant seismograms C C which are dependent on the source depth, the epicentral distance of C C the receiver and the Q factor. These disturbances can never be C C completely eliminated. But with proper selection of integration C C range, sampling interval, source depth and Q, useful seismograms can C C be produced by REFSEIS which allows the investication of the near- C C and far-field seismograms from a particular event. C C C C *********************************************************************C c C Program by Joachim Unterer, 1990 c Corrections by Karl Koch, 1991, 1995 c Diese Version enthaelt die Besselfunktions-Subroutinen nach c "Numerical Recipes in Fortran", nicht optimal da nicht c echt doppeltgenau, E.W. Maerz 2004 c Kleinere Anpassungen an den NAS FortranPlus Compiler, E.W. Maerz 04 c minor updates October 2009, E.W. c c ******************************************************************* c c DEFINITIONS (translation of the German text below, by EW) c The author's definitions are not quite clear. According to a few c test cases, it appears that the following definitions are used: c The moment tensor is defined as in Aki and Richard's book (first c edition, p. 117, Box 4.4): c strike: cw from North, fault plane dipping to the right c dip: measured against the horizontal c rake: direction of displacement of the upper block, measured in the c fault plane from the horizontal upward (ccw as seen from above) c c Azimuth: from epicenter to station, cw from North c Radial component: outward from the epicenter c Transverse component: cw from radial c Vertical: up c c ******************************************************************* c c Bem. von EW, August 2004: c Ungerers Definitionen des Momenten-Tensors, des Azimuts und der c Seismogrammkomponenten koennten missverstanden werden. c c Anhand einiger Testfaelle halte ich folgende Def. fuer zutreffend: c => Momenten-Tensor wie in Aki & Richards (1. Auflage) S. 117 Box 4.4 c Die Formeln von A&R sind im Matlab-Skript "Momentens" programmiert. c Dieses Skript erzeugt auch ein Abstrahldiagramm fuer P-Wellen. c => Stations-Azimut vom Epizentrum zur Station, von Nord ueber Ost (cw) c => Radialkomponente weg vom Epizentrum c => Transversalkomponente rechts (90 Grad cw) von der radialen c => Vertikalkomponente nach oben (also alles wie ueblich) c c Definitionen der Herdwinkel in A&R und im Matlab-Skript: c => strike analog zum Azimut, Orientierung so dass Flaeche nach c rechts einfaellt c => dip gegen die Horizontale, <= 90 Grad c => rake Verschiebungsrichtung des Hangenden (also des Blocks c rechts von der Bruchflaeche). Der Winkel wird in der c Bruchflaeche von der Horizontalen ausgehend ccw gemessen c (also nach oben positiv) c 0 Grad: Horizontalverschiebung, 90 Grad: Aufschiebung c c *********************************************************************c C C C Brief description of the program: C C REFSEIS.F calculates the seismogram components of a generalized C C point source with strength M0 (seismic moment) at depth ZQ within a C C horizontally layered medium according to reflectivity method. C C Type and orientation of the source are defined by the components of C C its moment tensor. Excitation of the source is Brustle-Muller model C C or a delta function. C C Seismogram components are calculated separately as: C C Far-field components SFr,SFphi,SFz C C Near-field components SNr,SNphi,SNz C C They are represented in a cylindrical coordinate system with the C C origin at the epicenter. C C The seismogram can be reduced to receiver dependent first arrival C C time by reduction velocity Vred. They can also be shifted recerver- C C independently to the left by Tli amount or to the right by Tre C C amount. C C Different seismogram types can be generated: C C -Displacement seimogram (Typ=1) C C -Velocity seismogram (Typ=2) C C -Acceleration seismogram (Typ=3) C C C C NOTE!!!! IF THE SOURCE IS AN IMPULSE (Thd = 0), ONLY DISPLACEMENT IS C C GENERATED NO MATTER WHAT TYPE IS SET !!!!!!!!!!!!!!!!!!! C C C C Input is read from the file: refseis.par C C Protocol is written to the file: refseis.out C C Spectra are written to refspec.plt C C Seismograms are written to refseis.sig C C C C The files refseis.spe and refseis.sig are optionally generated. C C C C The file refseis.out is a protocol. The kind of C C information contained is determined through the switches. C C (1) vertical slownesses of layers and reflection and transmission C C coefficients of the interfaces. C C (2) reflectivities and transmissivities of the source layer C C Reflectivity matrix RM(inus) = (RM11,RM12,RM21,RM22) C C " RP(lus) = (RP11,RP12,RP21,RP22) C C Reflectivity scalar rm(inus) = rm C C " rp(lus) = rp C C Transmissivity matrix TP(lus) = (TP11,TP12,TP21,TP22) C C Transmissivity scalar tp(lus) = tp C C (3) surface amplitutes B0(0,1,2),D0(0,1,2),F0(1,2) C C (4) normalized impules spectra (complex) VF,VN in [s*s/(g*cm)]*1E-20C C (5) spectrum moduli BSF,BSN of source strength M0 C C (7) far- and near-field seismograms in [cm,cm/s,cm/(s*s)] C C C C C C subroutines: C C RTKC calculates reflection and transmission coefficients C C DFORK fast Fourier transform C C MATINV Matrix invertion C C MAMULT Matrix multiplication C C All subroutines are at the end of the program. C C C C Deviations from the FORTRAN standard: C C special functions: C C d_j0,d_j1,d_jn Bessel functions of 0-th, 1-th and n-th order C C (when called in SUN FORTRAN, should be C C declared as DOUBLE PRECISION) C C dtime(tarray) determination of calculation time C C C C extended command and functions: C C Die Berechnungen finden mit doppelter Genauigkeit statt. C C Daher laeuft dieses Programm nur, wenn in FORTRAN folgende C C Befehle implementiert sind: DOUBLE COMPLEX bzw COMPLEX*16, C C CDABS,CDEXP,CDSQRT,DCMPLX,DCONJG, C C DREAL C C fuer NAS-Fortran statt cdabs usw.: abs, exp, sqrt C C C C Note1: As the Fourier transform of the displacement has a pole at C C frequency zero, we define fr(1)=1.D-30 for displacement C C calculation. C C C C Note2: The occurrence of the truncation phase may be reduced by C C the extention of the slowness integration range or the C C increase of the sampling points Nu. C C C C C C Description of variables: C C (The names of the variables are chosen mostly in accordance to the C C thesis) C C C C Eingabevariablen: C C Die Eingabe des Modells sollte nach der Vorlage des Ein- C C gabefiles refseis.par erfolgen. C C Bis auf die Schaltervariable werden alle Eingabevariablen C C formatiert eingelesen, sie sind deshalb rechtsbuendig in C C ihre jeweiligen Eingabefelder zu setzen. C C text0 Kopfzeile fuer Text C C I. Schalter (0=nein, 1=ja, 2=ja und Ende) C C Sch(1) vert.Langsamkeiten,Ref.u.Transmissionskoeff. C C Sch(2) Reflektivitaeten und Transmissivitaeten C C Sch(3) Oberflaechenamplituden C C Sch(4) normierte Impuls-Spektren(komplex) C C Sch(5) endgueltige Spektren(Betraege) C C Sch(6) Plot-File fuer die endgueltigen Spektren C C Sch(7) Endgueltige Nah- und Fernfeldseismogramme C C Sch(8) Plot-File fuer Seismogramme C C Sch(9) noch frei C C Sch(10) noch frei C C II. Schichtdaten C C z(i) Tiefe der Schichtdecke der i-ten Schicht [km] C C (die "nullte" Schicht repraesentiert den obe- C C ren Halbraum,z.B. Atmosphaere,ihre Tiefe ist C C definitionsgemaess Null) C C alpha(i) P-Wellengeschw.[km/s] in Schicht i C C beta(i) S- " " C C rho(i) Dichte[g/ccm] der Schicht i C C Qa(i) Q-Faktor fuer P-Wellen C C Qb(i) " " S-Wellen C C Bem: Grosse Schichtdicken koennen zum Ueberlauf durch Ex- C C ponentialterme fuehren. Abhilfe durch Einfuegen virtueller C C Trennflaechen. C C III.Herddaten C C ZQ Tiefe[km] der ErdbebenQuelle C C M0 Staerke des Momententensors in [dyn*cm] C C Mxx,Myy,Mzz normierter Momententensor M=(ni*fj+nj*fi) C C Mxy,Mxz,Myz (Bem:seismischer Momententensor MS=M0*M) C C Bem1: Ein grosser Abstand des Herdes zur Schichtdecke kann C C zum Ueberlauf durch die Exponentialterme ea,eb fuehren. Ab- C C hilfe durch Einfuegen einer virtuellen Trennflaeche nahe C C ueber dem Herd. C C Bem2: Die Umrechnung von Streichen(S),Fallen(F) und Dislo- C C kationswinkel(D) beim Double-Couple in die Vektoren f und n C C erfolgt durch: f=(cosD*cosS+cosF*sinD*sinS,cosD*sinS-cosF* C C sinD*cosS,-sinD*sinF); n=(sinF*sinS,-sinF*cosS,cosF) C C [siehe hierzu auch Aki/Richards S.106 ff] C C IV. Daten fuer Normierte Anregungsfunktion C C typ 1=Verschiebung,2=Geschwindigkeit,3=Beschleunigung C C The Einsatzzeit des Herdes C C Thd Dauer des Zeitverlaufs von The bis Endwert Null C C (Momentenanstiegszeit) C C Bem: Impulsanregung fuer The=Thd=0 C C V. Reduktionsdaten C C Vred Reduktionsgeschwindigkeit[km/s] (bei Vred=0 keine C C empfaengerabhaengige Reduktion),die zugehoerige C C Reduktionszeit ist hypozentralbezogen. C C Tli Zeitverschiebung[s] des Seismogramms nach rechts C C Tre Zeitverschiebung[s] des Seismogramms nach links C C VI. Empfaengerdaten C C r(E) Radialentf.[km] des Empfaengers E vom Epizentrum C C phi(E) Winkel[Grad] des Empfaengers E zum Epizentrum C C VII. Langsamkeitsdaten C C umin,umax Langsamkeitsbereich [s/km] C C uwil,uwir Langsamkeits-Window links,rechts [s/km] C C (Ueblich sind umin=uwil=0, uwir sollte reziprok C C der kleinsten Wellengeschwindigkeit der Herd- C C schicht oder groesser sein) C C Nu Zahl der gleichabstaendigen Langsamkeit.(NU muss C C mindestens 2 sein) C C Bem:Langsamkeitsbereich und Integrationsgenauigkeit Nu sind C C die masgebenden Groessen um moeglichst stoerungsfreie Seis- C C mogramme zu erzeugen. Das rechteckigen Langsamkeitswindow C C [uwil,uwir] wird beidseitig mit einem Cos-Taper bis zu den C C jeweiligen Grenzen [umin,umax] auf Null heruntergezogen -> C C evt. Trennung von Raum und Oberflaechenwellen durch Wahl C C geeigneter Langsamkeitsbereiche. C C VIII.Frequenz- und Zeitdaten C C fmin,fmax Frequenzbereich [Hz](physikalisch) C C fwil,fwir Frequenz-Window links,rechts [Hz] C C Dt zeitliches Abtastintervall [sec] C C SL Seismogrammlaenge (Zweierpotenz)=Anzahl der C C Stuetzstellen des Seismogrammes(maximal=MSL) C C Bem: das rechteckige Frequenzwindow [fwil,fwir] wird beid- C C seitig mit einem Cos-Taper bis zu den Grenzen [fmin,fmax] C C auf Null heruntergezogen -> Frequenzfilter C C C C Laufvariablen C C E fuer Empfaenger C C f fuer Frequenzen, teilweise auch fuer Zeiten C C i fuer Schichten, und als Zaehlindex C C k Zaehlindex C C l fuer Langsamkeiten C C C C Parameter(koennen nach Belieben im Programm eingestellt werden) C C IME Imaginaere Einheit C C ME Max.Zahl der Empfaenger C C Mf " physikalischen Frequenzen(=MSL/2+1) C C bis zur Nyquistfrequenz Fny C C MS " Schichten C C MSL " Stuetzstellen (Max.Seismogrammlaenge) C C hin,rueck -1.,+1. zur Steuerung der Fouriertransformation C C pi =3.14159265358979 C C C C Charaktervariablen C C typ0 ='Verschiebung','Geschwindigkeit' oder C C 'Beschleunigung', je nach Schalter(9) C C impuls0 ='Impulsanregung' C C C C Variablen fuer Rechenzeit C C dtime Funktion zur Bestimmung der Rechenzeit C C tarray ihre zweidim. Variable(User-Zeit,System-Zeit) C C time Aufnahmevariable fuer Rechenzeit C C C C Hilfsvariablen zur Zwischenspeicherung C C help[reell],hilf,gew C C H11,H12,H21,H22 C C I11,I12,I21,I22 C C C C Rechenvariablen(fest) C C ap =Wurzel(SL)*Dt Aperiodizitaetsfaktor fuer Fourierkoeff.C C alphC(i) komplexe P-Wellengeschwindigkeit C C betaC(i) " S-Wellen " C C d(i) Dicke der Schicht i in [km] C C Df Schrittweite der Frequenz,Frequenzintervall C C Du Schrittweite der Langsamkeit u C C DDu getaperte und gewichtete Integrationsschrittweite C C FL Frequenzlaenge des vollstaendigen Spektrums C C fmi,fma Index der Frequenzen fmin,fmax C C Fny Nyquistfrequenz (fmax muss < Fny sein) C C fr(f) f-te Frequenz in [Hz] C C fwl,fwr Index der Frequenzen fwil,fwir C C h Schicht in der der Herd sich befindet C C M0dim =M0/1.D20 zur Dimensionierung der Seismogramme C C n Zahl der Schichten C C NE Zahl der Empfaenger C C Nf Zahl der phys. Frequenzen im Bereich [fmax,fmin] C C Nff " " " " im Fenster [fwil,fwir] C C Ny Index der Nyquistfrequenz Fny (max.phys.Freqenz) C C phiB(E) Winkel des Empfaengers E in Bogenmass C C t(f) f-te Zeit in [s], d.h. Zeitwerte des Seismogramms C C TL Zeitlaenge des Seismogramms (Periode) C C tred(f) reduzierte Zeitskala / modified 8-2-91 K.Koch / C C C C Variablen der normierten Herdfunktion C C hfkt(tvar,T1,T2) Definiton der Herdfunktion C C tvar ihre Zeitvariable C C T1,T2 ihre Begrenzungsparameter(T1=The,T2=The+Thd) C C g(f) Feld in dem hfkt je Frequenz abgelegt wird C C Die Dimension der Herdfunktion richtet sich nach ihrer In- C C terpretation:als Verschiebung [ ] -> Bodenverschiebung C C als 1.Ableitung [1/s] -> Bodengeschwindigkeit C C als 2.Ableitung [1/(s*s)]-> " beschleunigung C C C C Rechenvariablen(veraenderlich) C C a(i) vert.Langsamkeit der P-Wellen in Schicht i [s/km] C C b(i) " " der S-Wellen " C C E11(i),E22(i) Phasenmatrix der Schicht i (Diagonalel.) C C ea =exp[IME*w*a(h)*(ZQ-z(h))] C C eb = " b(h) " C C earg Argument fuer Exponentialfunktionen C C ftap(f) Fensterfunktion der Frequenz mit Cos-Taper zur C C Verwendung als Frequenzfilter,das Rechteckwindow C C [fwil,fwir] wird beidseitig mit einem Cos-Taper C C bis zu den Frequenzen fmax bzw. fmin auf Null C C heruntergezogen. C C red Reduktionsfaktor:red=exp[i*w*(R(E)/Vred+Tli-Tre] C C mit R(E)=Wurzel[ZQ*ZQ+r(E)*r(E)]=Hypozentralentf.C C u horizontale Langsamkeit in [s/km] C C uQ ihr Quadrat C C utap Fensterfunktion der Langsamkeit mit Cos-Taper C C zum Glaetten der Stoerphasen C C w(f) Kreisfrequenz Omega [1/s] C C C C Reflektions und Transmissionskoeffizienten d.Trennflaeche i C C Rppd(i),Rpsd(i),Tppd(i),Tpsd(i) fuer P-Wellen von oben C C Rssd(i),Rspd(i),Tssd(i),Tspd(i) fuer SV-Wellen " C C rd(i),td(i) fuer SH-Wellen " C C Rppu(i),Rpsu(i),Tppu(i),Tpsu(i) fuer P-Wellen von unten C C Rssu(i),Rspu(i),Tssu(i),Tspu(i) fuer SV-Wellen " C C ru(i),tu(i) fuer SH-Wellen " C C C C Reflektivitaets- und Transmissivitaetsmatrizen C C RTD11(i),RTD12(i) Reflektivitaetsmatrix f.Einfall von oben, C C & RTD21(i),RTD22(i) fuer unteren Stapel ab Decke Schicht i C C RBU11(i),RBU12(i) Reflektivitaetsmatrix f.Einfall v. unten, C C & RBU21(i),RBU21(i) fuer oberen Stapel ab Boden Schicht i C C RTU11(i),RTU12(i) Reflektivitaetsmatrix f.Einfall v. unten, C C & RTU21(i),RTU22(i) fuer oberen Stapel ab Decke Schicht i C C TTUo11(i),TTUo12(i) Transmissivitaetsmatrix f.Einf.v.unten, C C & TTUo21(i),TTUo22(i) ab Decke Schicht i bis Decke Schicht 0 C C S11(i),S12(i) Schichtmatrix von Schicht i,zur Berech- C C & S21(i),S22(i) nung der Transmissivitaetsmatrix TTUo C C C C Reflektivitaets- und Transmissivitaetsskalare C C rtd(i) SH-Reflektivitaet ab Decke Schicht i abwaerts C C rbu(i) SH-Reflektivitaet ab Boden Schicht i aufwaerts C C rtu(i) SH-Reflektivitaet ab Decke Schicht i " C C ttuo(i) SH-Transmissivitaet ab Decke Schicht i " C C s(i) Schichtskalar von Schicht i,fuer Skalar TTU C C C C Reflektivitaeten und Transmissivitaeten der Herdschicht C C RM11,RM12,RM21,RM22 Reflektivitaetsmatrix RM(inus) C C RP11,RP12,RP21,RP22 Reflektivitaetsmatrix RP(lus) C C TP11,TP12,TP21,TP22 Transmissivitaetsmatrix TP(lus) C C rm SH-Reflektivitaet rm(inus) C C rp SH-Reflektivitaet rp(lus) C C tp SH-Transmissivitaet tp(lus) C C C C Amplituden der Wellenfelder C C AQ(0,1,2) Quell-Amplituden des abwaertslaufenden C C CQ(0,1,2) Wellenfeldes der Quelle C C EQ(1,2) " C C BQ(0,1,2) Quell-Amplituden des aufwaertslaufenden C C DQ(0,1,2) Wellenfeldes der Quelle C C FQ(1,1) " C C B0(0,1,2) Oberflaechenamplituden C C D0(0,1,2) " C C F0(1,2) " C C C C Empfaengerabhaengige Variablen C C K0(E),K1(E) Faktoren des Winkelanteils,enthalten auch C C K2(E),K3(E) die Komponenten des Momententensors C C L1(E),L2(E) C C jarg Argument fuer Besselfunktionen C C J0,J1,J2 zur Aufnahme der Werte der Besselfunktionen C C (d_j0,d_j1,d_jn, wobei n=2) C C C C Integrationsvariablen C C In1...In6 Hilfsvariablen zur Berechnung der Integranden C C FFI =w*w/(4pi*rho(h)) Fernfeld-Integrandenfaktor C C NFI =w/(r*4pi*rho(h)) Nahfeld- " C C Integrandenglieder je Langsamkeit fuer f-te Frequenz C C des E-ten Empfaengers: /modified 8-2-91 k.koch / C C IDFr Int.glied der radialen Fernfeldkomponente C C IDNr " " Nahfeldkomponente C C IDFphi " transversalen Fernfeldkomponente C C IDNphi " " Nahfeldkomponente C C IDFz " vertikalen Fernfeldkomponente C C IDNz " " Nahfeldkomponente C C C C normierte Teil-Impulsspektren fuer f-te Frequenz des E-ten C C Empfaengers, fuer Verschiebung in [s*s/(g*cm)]* 1E-20: C C VFr(f,E) Radiales Fernfeld-Impulsspektrum C C VNr(f,E) " Nahfeld- " C C VFphi(f,E) Transversales Fernfeld- " C C VNphi(f,E) " Nahfeld- " C C VFz(f,E) Vertikales Fernfeld- " C C VNz(f,E) " Nahfeld- " C C C C End-Spektren(Betraege) fuer Staerke M0: C C BSFr(f),BSFphi(f),BSFz(f) / modified 8-2-91 K.Koch / C C BSNr(f),BSNphi(f),BSNz(f) / modified 8-2-91 K.Koch / C C in [cm*s],[cm],[cm/s] C C C C C C Ergebnissvariablen C C Vollstaendige Seismogramme bzw. Spektren C C SFr(f),SFphi(f),SFz(f) Fernfeld /modified 8-2-91 K.Koch/ C C SNr(f),SNphi(f),SNz(f) Nahfeld /modified 8-2-91 K.Koch/ C C fuer Bodenverschiebung in [cm] bzw. [cm*s] C C fuer Bodengeschwindigkeit in [cm/s] bzw. [cm] C C fuer Bodenbeschleunigung in [cm/(s*s)] bzw. [cm/s] C C**********************************************************************C