spacepy.empiricals.omniFromDirectionalFlux

spacepy.empiricals.omniFromDirectionalFlux(fluxarr, alphas, norm=True)[source]

Calculate omnidirectional flux [(s cm^2 kev)^-1] from directional flux [(s sr cm^2 keV)^-1] array

J = 2.pi integ(j sin(a) da) If kwarg ‘norm’ is True (default), the omni flux is normalized by 4.pi to make it per steradian, in line with the PRBEM guidelines

Parameters
fluxarrarraylike

Array of directional flux values

alphasarraylike

Array of pitch angles corresponding to fluxarr

Returns
omnifluxfloat

Omnidirectional flux value

Examples

Roundtrip from omni flux, to directional flux (Vampola model), integrate to get back to omni flux.

>>> from spacepy.empiricals import vampolaPA, omniFromDirectionalFlux
>>> dir_flux, pa  = vampolaPA(3000, alpha=range(0,181,2), order=4)
>>> dir_flux[:10], pa[:10]
(array([  0.00000000e+00,   6.64032473e-04,   1.05986545e-02,
      5.34380898e-02,   1.67932162e-01,   4.06999226e-01,
      8.36427502e-01,   1.53325140e+00,   2.58383611e+00,
      4.08170975e+00]), [0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
>>> omniFromDirectionalFlux(dir_flux, pa, norm=False)
3000.0000008112293

Calculate “spin-averaged” flux, giving answer per steradian

>>> omniFromDirectionalFlux(dir_flux, pa, norm=True)
238.73241470239859