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