Gradient method

Tsurutani and Smith (1979)

Our criteria were applied to 1-min averages of the three field components representing an average vector \(B_i\). The vector field change between this vector and the vector averaged 3 min earlier was computed, i.e., \(ΔB = B_i - B_{i-3}\), as were the three field magnitude \(|B_i|\), \(|B_{i-3}|\), and \(|ΔB|\). Discontinuities were selected by requiring that the magnitude of the vector change equal or exceed one half the larger of \(|B_i|\) and \(|B_{i-3}|\), which we call \(B_L\); that is, we require that \(|ΔB|> B_L/2\).


detect_gradient

 detect_gradient (df:polars.lazyframe.frame.LazyFrame, cols:list[str],
                  time:str='time',
                  avg_interval=datetime.timedelta(seconds=60),
                  window=datetime.timedelta(seconds=180))

Identifies discontinuities in the averaged vector field and specified criteria: |ΔB| > max(|B_i|, |B_{i-window}|) / 2

Type Default Details
df LazyFrame Dataframe containing the raw vector components.
cols list
time str time Column name for time.
avg_interval timedelta 0:01:00 Time interval for averaging (e.g., ‘1m’ for 1 minute).
window timedelta 0:03:00 Time interval to look back for computing ΔB.

References

Tsurutani, Bruce T., and Edward J. Smith. 1979. “Interplanetary Discontinuities: Temporal Variations and the Radial Gradient from 1 to 8.5 AU.” Journal of Geophysical Research: Space Physics 84 (A6): 2773–87. https://doi.org/10.1029/JA084iA06p02773.