In seismic locating algorithms—most notably within the widely used NonLinLoc (Non-Linear Location) software package created by Anthony Lomax—pangles is a pointer variable name that stands for “phase angles” or “pointer to angles.”
It acts as a data structure wrapper used to extract and interpret the take-off angles (the directional trajectories) of seismic waves as they leave an earthquake’s focal point (hypocenter) toward a recording station. 1. What Data Does pangles Contain?
In the underlying C-code framework of seismic solvers like NLLoc, pangles points to a union or structure containing packed integer arrays (ival). It compresses multiple physical angles and quality metrics into a single memory block to optimize ray-tracing computations. A standard decoding function block looks like this:
int GetTakeOffAngles(TakeOffAnglespangles, double *pazim, double *pdip, int *piqual) { *pazim = ((double) pangles->ival[1]) / 10.0; *pdip = ((double) (pangles->ival[0] / (int) 16)) / 10.0; *piqual = (int) pangles->ival[0] % (int) 16; return(*piqual); } Use code with caution.
From this structure, three primary parameters are extracted:
pazim (Azimuth / Back-Azimuth): The horizontal angle (direction) from the north pointing toward the receiver or source along the Earth’s surface.
pdip (Dip / Take-off Angle): The vertical inclination angle at which the ray path leaves the hypocenter relative to the horizontal or vertical plane.
piqual (Quality Factor): An integer identifier evaluating the reliability, weight, or directional uncertainty of those specific phase observations. 2. The Mathematical Role in Inversion
Seismic location is inherently a nonlinear inverse problem. Traditional algorithms (like the Geiger method) solely use arrival times ( tarrt sub a r r end-sub
). Modern global search algorithms utilize the data inside pangles to solve the forward problem more robustly.
When tracking an event, the algorithm matches observed data to predicted data using a 3D velocity grid. The geometric relationship governed by the variables in pangles relies on calculating the spatial gradient of travel times:
p=∇T=(𝜕T𝜕x,𝜕T𝜕y,𝜕T𝜕z)bold p equals nabla cap T equals open paren the fraction with numerator partial cap T and denominator partial x end-fraction comma the fraction with numerator partial cap T and denominator partial y end-fraction comma the fraction with numerator partial cap T and denominator partial z end-fraction close paren ∇ T is the slowness vector of the wave. The horizontal components ( ) derive the azimuth (pazim). The vertical component (
𝜕T𝜕zthe fraction with numerator partial cap T and denominator partial z end-fraction ) derives the dip/take-off angle (pdip). 3. Why pangles Matters to the Algorithm Enhancing Sparse Networks
If an earthquake occurs outside a seismic network (e.g., offshore) or is recorded by very few stations, arrival times alone create massive error ellipses. By reading the azimuth and dip stored via pangles, the algorithm can constrain the earthquake location using directional vectors rather than just intersecting time-spheres. Mapping Focal Mechanisms
To determine how a fault ruptured (e.g., strike-slip, normal, or thrust), seismologists generate “beach ball” diagrams. The algorithm maps whether the initial wave pushed up or down (polarity) onto a virtual lower hemisphere sphere. The take-off angles extracted from pangles dictate exactly where on that sphere each station’s data point is projected. Weighting Dynamic Uncertainties Contents – Anthony Lomax’s home page
Leave a Reply