pyrfu.mms.lh_wave_analysis module#

pyrfu.mms.lh_wave_analysis.lh_wave_analysis(tints, e_xyz, b_scm, b_xyz, n_e, min_freq: float = 10.0, max_freq: float = 0.0, lowpass_b_xyz: float = 2.0)[source]#

Calculates lower-hybrid wave properties from MMS data

Parameters:
  • tints (list of str) – Time interval

  • e_xyz (xarray.DataArray) – Time series pf the electric field

  • b_scm (xarray.DataArray) – Time series of the fluctuations of the magnetic field

  • b_xyz (xarray.DataArray) – Time series of the background magnetic field

  • n_e (xarray.DataArray) – Time series of the number density

  • min_freq (float, Optional) – Minimum frequency in the highpass filter for LH fluctuations. Default is 10.

  • max_freq (float, Optional) – Maximum frequency in the bandpass filter for LH fluctuations. Default is 0 (highpass filter).

  • lowpass_b_xyz (float, Optional) – Maximum frequency for low-pass filter of background magnetic field (FGM)

Returns:

  • phi_eb (xarray.DataArray) – to fill

  • v_best (ndarray) – to fill

  • dir_best (ndarray) – to fill

  • thetas (ndarray) – to fill

  • corrs (ndarray) – to fill

Examples

>>> from pyrfu.mms import get_data, lh_wave_analysis

Define time intervals

>>> tint_long = ["2015-12-14T01:17:39.000", "2015-12-14T01:17:43.000"]
>>> tint_zoom = ["2015-12-14T01:17:40.200","2015-12-14T01:17:41.500"]

Load fields and density

>>> b_gse = get_data("b_gse_fgm_brst_l2", tint_long, 2)
>>> e_gse = get_data("e_gse_edp_brst_l2", tint_long, 2)
>>> b_scm = get_data("b_gse_scm_brst_l2", tint_long, 2)
>>> n_e = get_data("ne_fpi_brst_l2", tint_long, 2)

Lower Hybrid Waves Analysis

>>> opt = dict(lhfilt=[5, 100])
>>> res = lh_wave_analysis(tint, e_xyz, b_scm, b_xyz, n_e, **opt)