solarwindpy.core.alfvenic_turbulence

Alfvenic turbulence diagnostics using Elsasser variables.

Notes

The implementation follows the formalism outlined in Bruno & Carbone [1]. Lloyd Woodham <https://orcid.org/0000-0003-2845-4250> helped me define these calculations at the 2018 AGU Fall Meeting and understand [1]. Please cite [3] if using this module.

References

[1] Bruno, R., & Carbone, V. (2013). Living Reviews in Solar Physics,

10(1), 1–208. https://doi.org/10.12942/lrsp-2013-2

[2] Telloni, D., & Bruno, R. (2016). *Monthly Notices of the Royal Astronomical

Society: Letters*, 463(1), L79–L83. https://doi.org/10.1093/mnrasl/slw135

[3] Woodham, L. D., Wicks, R. T., Verscharen, D., & Owen, C. J. (2018).

Astrophys. J., 856, 49.

Classes

AlfvenicTurbulence(velocity, bfield, rho, ...)

Alfv'enic turbulence diagnostics using Elsasser variables.

AlvenicTurbAveraging(window, min_periods)

class AlvenicTurbAveraging(window, min_periods)

Bases: tuple

count(value, /)

Return number of occurrences of value.

index(value, start=0, stop=sys.maxsize, /)

Return first index of value.

Raises ValueError if the value is not present.

min_periods

Alias for field number 1

window

Alias for field number 0

class AlfvenicTurbulence(velocity, bfield, rho, species, raffaella_version=False, sc_vector=None, **kwargs)[source]

Bases: Core

Alfv'enic turbulence diagnostics using Elsasser variables.

Parameters:
  • velocity (pandas.DataFrame) – Plasma velocity in the same basis as bfield.

  • bfield (pandas.DataFrame) – Magnetic field in the same basis as velocity.

  • rho (pandas.Series) – Mass density used for normalising bfield.

  • species (str) – Species string used when converting to Alfv'en units.

Notes

Implementation follows the formalism of Bruno & Carbone (2013).

__init__(velocity, bfield, rho, species, raffaella_version=False, sc_vector=None, **kwargs)[source]

Initialize an AlfvenicTurbulence object.

Parameters:
  • velocity (pd.DataFrame) – Vector velocity measurments.

  • bfield (pd.DataFrame) – Vector mangetic field measurements.

  • rho (pd.Series) – Mass density measurments, used to put bfield into Alfven units.

  • kwargs – Passed to rolling method when mean-subtracing in set_data.

property data

Mean-subtracted quantities used to calculated Elsasser variables.

property averaging_info

Averaging window and minimum number of measurements / average used.

In calculating background component in \(\delta B\) and \(\delta v\).

property measurements

Measurements used to calcualte mean-subtracted data.

property velocity

Velocity fluctuations (\(\delta v\)) in Plasma’s v-units.

property v

Shortcut for velocity

property bfield

B field fluctuations (\(\delta b\)) in Alfven units.

property b

Shortcut for bfield.

property polarity

Magnetic field polarity.

property species

Species used to create AlfvenicTurbulence.

Defines mass density in Alfven units.

property z_plus

\(z^+\) Elsasser variable.

property zp

Shortcut for z_plus.

property z_minus

\(z^-\) Elsasser variable.

property zm

Shortcut for z_minus.

property e_plus

Energy contained in \(z^+\).

property ep

Shortcut for e_plus.

property e_minus

Energy contained in \(z^-\).

property em

Shortcut for e_minus.

property kinetic_energy

Energy contained in velocity fluctuations \(\frac{1}{2}v^2\).

property ev

Shortcut for E_v = kinetic_energy.

property magnetic_energy

Energy contained in magnetic field fluctuations

\(E_b = \frac{1}{2}b^2\).

property eb

Shortcut for magnetic_energy.

property total_energy

Total energy \(E_T = E_v + E_b\).

property etot

Shortcut for total_energy.

property residual_energy

Residual energy \(E_R = E_v - E_b\).

property eres

Shortcut for residual_energy.

property normalized_residual_energy

Normalized residual energy E_R/E_T.

property eres_norm

Shortcut for normalized_residual_energy.

property sigma_r

Shortcut for normalized_residual_energy.

property cross_helicity

Cross helicity \(\frac{1}{2} \delta v \cdot \delta b\).

property normalized_cross_helicity

Normalized cross helicity \(\frac{e^+ - e^-}{e^+ + e^-}\).

property sigma_c

Shortcut to normalized_cross_helicity.

property alfven_ratio

Alfv'en ratio \(E_v/E_b\).

property rA

Shortcut to alfven_ratio.

property elsasser_ratio

Elsasser ratio \(e^-/e^+\).

property rE

Shortcut to elsasser_ratio.

set_data(v_in, b_in, rho, species, raffaella_version=False, sc_vector=None, **kwargs)[source]

Set data for the class, performing routine formatting checks.

The auto_reindex kwarg can be set to False for batch analysis. So that, if running a large batch of analysis on the same data, one can reindex once outside of this class and avoid many unnecessary reindexing cases within it. Be sure to carefully check your reindexing so as to not introduce lots of NaNs. I ran into that bug when first writing this class.

property constants: Constants

Physical constants.

Returns:

Physical constants instance.

Return type:

uc.Constants

property logger: Logger

Logger instance for this object.

Returns:

Logger instance.

Return type:

logging.Logger

property units: Units

Units conversion factors.

Returns:

Units conversion instance.

Return type:

uc.Units