With your kind help, I've succesfully generated Green's functions for single forces. But I have a problem of combining them to create three component time histories now. Assumed that φ is the source to station azimuth measured clockwise from north, ur is the radial component of the ground velocity seismograms which is positive in the direction away from the source, and ut is the tangential component of the ground velocity seismograms, according to the equations for point force at page 172 of document cps330o.pdf, I have uz = ( f1 cosφ + f2 sinφ )ZHF + f3 ZVF ur = ( f1 cosφ + f2 sinφ )RHF + f3 RVF ut = ( f1 sinφ - f2 cosφ )THF However, I think ut should be calculated like below if it is positive at a right angle clockwise from ur. ut = ( - f1 sinφ + f2 cosφ )THF Is there any mistake I've made in my assumption? Or is there anything wrong in the attached figure? Could you please help me again to solve the problem?
I agree that the relation for ut looks strange. However, remember that the THF is defined deep in the code and that the above transformation ensures that the results are correct.
To test the code, consider a horizontal force point north that is at a depth of 5 km. We will compute the ground velocities at an epicentral distance of 10 km at azimuths of 0 to 180 degrees in increments of 30 degrees.
For this source, we expect the P-wave to be up (Z positive) and away (R positive) from the source at a rec3iver azimuth of 0 degrees. We also expect the transverse S-motion motion at an azimith of 90 degreen to be in a north direction, or negative transverse direction. The positive transverse direction is that of increasing azimuth.
The shell script below shows the computations for a halfspace. The synthetics are for the Z, N, E, R and T components of motion. Even though these are for ground velocity (m/s), the near-field terms are obvious on the transverse component. The figures also illustrate the radiation pattern.
![]() Z-component |
![]() N-component |
![]() E-component |
![]() R-component |
![]() T-component |
#!/bin/sh ##### # create a velocity model ##### cat > whole.mod << EOF MODEL.01 simple wholespace model ISOTROPIC KGS FLAT EARTH 1-D CONSTANT VELOCITY LINE08 LINE09 LINE10 LINE11 H(KM) VP(KM/S) VS(KM/S) RHO(GM/CC) QP QS ETAP ETAS FREFP FREFS 9.0000 6.1000 3.5200 2.7300 0.160E-02 0.363E-02 0.00 0.00 1.00 1.00 EOF ##### # create the distance file (hprep96 -h) # DIST DT NPTS T0 VRED ##### cat > dfile << EOF 10.0 0.05 128 0.0 0.0 EOF ##### # define the source and receiver depths ##### HS=5 HR=0 hprep96 -M whole.mod -HS $HS -HR $HR -d dfile -EXF hwhole96 hpulse96 -p -V -p 1 | f96tosac -G ##### # for this combination of distance and source depth, the Green s functions # have the name 001000050 # Use the gsac MT command to make synthetics at difference aximuths ##### for AZ in 000 030 060 090 120 150 180 do gsac << EOF mt to ZNE AZ ${AZ} FN 1.0 FILE 001000050 w ##### # rename the output ##### mv T.N ${AZ}.N mv T.E ${AZ}.E mv T.Z ${AZ}.Z ##### # run again to get ZRT ##### mt to ZRT AZ ${AZ} FN 1.0 FILE 001000050 mv T.R ${AZ}.R mv T.T ${AZ}.T w q EOF done ##### # now plot the traces in true ampliude # az a function of azimuth ##### gsac << EOF r ???.Z bg plt ylim all fileid name p r ???.N p r ???.E p r ???.R p r ???.T p q EOF ##### # convert to a PNG ##### for J in 001 002 003 004 005 do plotnps -F7 -W10 -EPS -K < P$J.PLT > t.eps convert -trim t.eps $J.png done ##### # clean up ##### rm hspec96.??? whole.mod dfile T.? t.eps