valentineap / pyprop8

A lightweight Python code to calculate the seismic response of a layered half-space (including static components), and derivatives of the wavefield wrt source components.
GNU General Public License v3.0
24 stars 5 forks source link

Units of seismograms and static displacements #23

Open 79seismo opened 2 years ago

79seismo commented 2 years ago

Hi Andrew, Really nice package. Can you please clarify the units of seismograms? It's not obvious from a quick scan. Is it mm as in static displacement? Also, is the frequency of seismogram dependent on dt as in it defines the nyquist frequency?

Thanks! -Januka

valentineap commented 2 years ago

Hi Januka,

Yes, but...

The units of the output depend on the units chosen for the various inputs (Vp, Vs, rho, the Cartesian coordinate system, and the force term/moment tensor). The examples are set up to use: Vp & Vs - km / s rho - g / cm^3 Cartesian grid - km Moment tensor - TN m (i.e. GCMT source parameters which are expressed in dyne-cm need to be multiplied by a factor of of 10^-19). Output - mm

Apologies; this probably needs to be made explicit in the documentation. I will also consider whether it would make more sense to handle the moment tensor rescaling internally, so that users just have to enter the dyne-cm values they obtain from the GCMT catalogue. (Opinions welcome!)

Frequency content is determined by dt and by the source-time function (if provided), which is effectively a frequency-domain filter.

valentineap commented 2 years ago

Just to add -- if you express everything in SI units it should 'just work', i.e.

grid & layer thicknesses - m velocities - m/s density - kg/m^3 moment tensor - N m output - m

79seismo commented 2 years ago

Thanks, yes, sticking to SI units makes a lot of sense.