Note
Go to the end to download the full example code.
Finding and Plotting EUI Data#
This example demonstrates how to search for, download, and plot Solar Orbiter EUI (Extreme Ultraviolet Imager) observations using SunPy.
import matplotlib.pyplot as plt
import sunpy.map
from sunpy.net import Fido, attrs as a
import sunpy_soar
Registering the Solar Orbiter Archive (SOAR)#
By importing sunpy_soar, the Solar Orbiter Archive (SOAR) is automatically registered as a data provider in Fido. This allows us to directly query and download Solar Orbiter data just like any other SunPy Fido search.
Now, we will use Fido to search for available EUI Full Sun Imager (FSI) 174 angstrom data, namely the dataproduct called EUI-FSI174-IMAGE, within a specific time range.
The search will return metadata about available files.
search_results = Fido.search(a.Time("2022-03-01", "2022-03-01 01:00"),
a.soar.Product("EUI-FSI174-IMAGE"),
a.Level(2))
print(search_results)
Results from 1 Provider:
20 Results from the SOARClient:
Instrument Data product Level Start time End time Filesize SOOP Name Detector Wavelength
Mbyte
---------- ---------------- ----- ----------------------- ----------------------- -------- --------- -------- ----------
EUI eui-fsi174-image L2 2022-03-01 00:00:45.294 2022-03-01 00:00:55.294 3.11 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:03:45.294 2022-03-01 00:03:55.294 3.021 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:06:45.294 2022-03-01 00:06:55.294 3.214 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:09:45.295 2022-03-01 00:09:55.295 3.185 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:12:45.295 2022-03-01 00:12:55.295 3.243 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:15:45.295 2022-03-01 00:15:55.295 3.056 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:18:45.296 2022-03-01 00:18:55.296 3.119 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:21:45.296 2022-03-01 00:21:55.296 3.133 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:24:45.296 2022-03-01 00:24:55.296 3.249 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:27:45.296 2022-03-01 00:27:55.296 3.073 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:30:45.297 2022-03-01 00:30:55.297 3.151 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:33:45.297 2022-03-01 00:33:55.297 3.018 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:36:45.297 2022-03-01 00:36:55.297 3.168 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:39:45.298 2022-03-01 00:39:55.298 3.03 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:42:45.298 2022-03-01 00:42:55.298 3.2 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:45:45.299 2022-03-01 00:45:55.299 3.056 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:48:45.299 2022-03-01 00:48:55.299 3.142 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:51:45.299 2022-03-01 00:51:55.299 3.131 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:54:45.299 2022-03-01 00:54:55.299 3.214 none FSI 174.0
EUI eui-fsi174-image L2 2022-03-01 00:57:45.300 2022-03-01 00:57:55.300 3.133 none FSI 174.0
Fetching the First Available File#
The search results contain a list of available files matching our query. We can use Fido.fetch to download the first available file.
downloaded_files = Fido.fetch(search_results[0, 0])
Files Downloaded: 0%| | 0/1 [00:00<?, ?file/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 0%| | 0.00/3.11M [00:00<?, ?B/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 0%| | 1.02k/3.11M [00:00<09:35, 5.40kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 0%| | 14.7k/3.11M [00:00<00:50, 60.9kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 1%| | 33.6k/3.11M [00:00<00:28, 108kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 2%|▏ | 57.1k/3.11M [00:00<00:20, 150kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 3%|▎ | 81.9k/3.11M [00:00<00:16, 179kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 4%|▍ | 121k/3.11M [00:00<00:12, 242kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 5%|▌ | 170k/3.11M [00:00<00:09, 316kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 7%|▋ | 230k/3.11M [00:00<00:07, 397kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 10%|▉ | 303k/3.11M [00:01<00:05, 489kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 12%|█▏ | 387k/3.11M [00:01<00:04, 586kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 16%|█▌ | 482k/3.11M [00:01<00:03, 687kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 19%|█▉ | 592k/3.11M [00:01<00:03, 797kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 22%|██▏ | 699k/3.11M [00:01<00:02, 869kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 27%|██▋ | 829k/3.11M [00:01<00:02, 983kB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 31%|███ | 960k/3.11M [00:01<00:02, 1.06MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 35%|███▌ | 1.09M/3.11M [00:01<00:01, 1.12MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 39%|███▉ | 1.22M/3.11M [00:01<00:01, 1.16MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 43%|████▎ | 1.35M/3.11M [00:01<00:01, 1.18MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 48%|████▊ | 1.48M/3.11M [00:02<00:01, 1.20MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 52%|█████▏ | 1.61M/3.11M [00:02<00:01, 1.21MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 56%|█████▌ | 1.74M/3.11M [00:02<00:01, 1.23MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 60%|██████ | 1.87M/3.11M [00:02<00:01, 1.23MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 64%|██████▍ | 2.00M/3.11M [00:02<00:00, 1.24MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 68%|██████▊ | 2.13M/3.11M [00:02<00:00, 1.24MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 73%|███████▎ | 2.26M/3.11M [00:02<00:00, 1.24MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 77%|███████▋ | 2.39M/3.11M [00:02<00:00, 1.24MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 81%|████████ | 2.52M/3.11M [00:02<00:00, 1.24MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 85%|████████▌ | 2.65M/3.11M [00:03<00:00, 1.24MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 89%|████████▉ | 2.78M/3.11M [00:03<00:00, 1.25MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 94%|█████████▎| 2.91M/3.11M [00:03<00:00, 1.25MB/s]
solo_L2_eui-fsi174-image_20220301T000045294_V02.fits: 98%|█████████▊| 3.04M/3.11M [00:03<00:00, 1.25MB/s]
Files Downloaded: 100%|██████████| 1/1 [00:03<00:00, 3.62s/file]
Files Downloaded: 100%|██████████| 1/1 [00:03<00:00, 3.62s/file]
Visualizing the EUI Image with sunpy.map#
The downloaded file is in FITS format, which is commonly used for astronomical imaging data. We use sunpy.map.Map to load and display it.
eui_map = sunpy.map.Map(downloaded_files[0])
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(projection=eui_map)
eui_map.plot(axes=ax)
plt.colorbar()
plt.title("Solar Orbiter EUI Image")
plt.show()

Total running time of the script: (0 minutes 21.053 seconds)