Solar Orbiter (SolO)

using SolarEnergeticParticle: get_data, get_datasets, select_channel

get_datasets(:SOLO, :EPD, :EPT)
23-element Vector{String}:
 "SOLO_L3_EPD-EPT-1DAY"
 "SOLO_L3_EPD-EPT-1HOUR"
 "SOLO_L3_EPD-EPT-1MIN"
 "SOLO_L2_EPD-EPT-ASUN-BURST-ELE-CLOSE"
 "SOLO_L2_EPD-EPT-ASUN-BURST-ION"
 "SOLO_L2_EPD-EPT-ASUN-HCAD"
 "SOLO_L2_EPD-EPT-ASUN-RATES"
 "SOLO_LL02_EPD-EPT-ASUN-RATES"
 "SOLO_L2_EPD-EPT-SUN-BURST-ELE-CLOSE"
 "SOLO_L2_EPD-EPT-SUN-BURST-ION"
 ⋮
 "SOLO_L2_EPD-EPT-NORTH-BURST-ION"
 "SOLO_L2_EPD-EPT-NORTH-HCAD"
 "SOLO_L2_EPD-EPT-NORTH-RATES"
 "SOLO_LL02_EPD-EPT-NORTH-RATES"
 "SOLO_L2_EPD-EPT-SOUTH-BURST-ELE-CLOSE"
 "SOLO_L2_EPD-EPT-SOUTH-BURST-ION"
 "SOLO_L2_EPD-EPT-SOUTH-HCAD"
 "SOLO_L2_EPD-EPT-SOUTH-RATES"
 "SOLO_LL02_EPD-EPT-SOUTH-RATES"
dataset = "SOLO_L2_EPD-EPT-SUN-RATES"
tmin = "20201210T23"
tmax = "20201211T12"
data_sun = get_data(dataset, tmin, tmax; verbose=true)
(Ion_Flux = Float32[NaN 0.0 … 0.0 0.0; NaN 0.0 … 0.0 0.0; … ; NaN 0.0 … 0.0 0.0; NaN 0.0 … 0.0 0.0], Alpha_Flux = Float32[0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0; … ; 0.0 0.0 … 0.0 0.0; 0.0 0.0 … 0.0 0.0], Electron_Flux = Float32[NaN 2439.8752 … 50.48669 61.940506; NaN 609.9688 … 50.48669 61.940506; … ; NaN 1829.9065 … 0.0 61.940506; NaN 609.9688 … 151.46007 61.940506])
using SpacePhysicsMakie, CairoMakie

data_asun = get_data("SOLO_L2_EPD-EPT-ASUN-RATES", tmin, tmax)
data_north = get_data("SOLO_L2_EPD-EPT-NORTH-RATES", tmin, tmax)
data_south = get_data("SOLO_L2_EPD-EPT-SOUTH-RATES", tmin, tmax)

begin
    tvars2plot = map([data_sun.Electron_Flux, data_asun.Electron_Flux, data_north.Electron_Flux, data_south.Electron_Flux]) do x
        replace!(select_channel(x, 1:4:20), 0 => eps())
    end
    f = tplot(tvars2plot; plottype=Stairs)
    ylims!.(f.axes, 5e1, 5e5)
    f
end
Example block output

Plot the 6th energy channel of electron flux for different views

using SpacePhysicsMakie, CairoMakie

begin
    tvars2plot = map([data_sun.Electron_Flux, data_asun.Electron_Flux, data_north.Electron_Flux, data_south.Electron_Flux]) do x
        replace!(select_channel(x, 6), 0 => eps())
    end
    for i in 1:4
        tvars2plot[i].metadata[:labels] = ["Sun", "Anti-Sun", "North", "South"][i]
    end
    f = tplot((tvars2plot,))
    ylims!(5e1, 5e5)
    f
end
Example block output