Inventory Plots for all instruments and Science Levels
These are indicative plots for the contents of the SOAR as of 3 September 2025. These plots were created by this Jupyter Notebook: InventoryPlots.ipynb
These are meant for information only and in future, the inventory plots will be provided with the web interface SOAR.
This python code will access the TAP database and return the latest data's date available for each instrument and level:
import pyvo as vo # Data Access (pyvo.dal)
from datetime import datetime, timedelta
import pandas as pd
instru_list = ['EPD', 'EUI', 'MAG', 'METIS', 'PHI', 'RPW', 'SOLOHI', 'SPICE', 'STIX', 'SWA']
level_list = ['L1', 'L2', 'L3']
ARCHIVE = 'https://soar.esac.esa.int/soar-sl-tap/tap'
def TAPquery(ARCHIVE, query):
'''
Given the ARCHIVE (e.g., https://soar.esac.esa.int/soar-sl-tap/tap) and the
ADQL query, fetch the results and return as a DataFrame.
'''
try:
ESDC = vo.dal.TAPService(ARCHIVE)
results = ESDC.search(query)
astropy_table = results.to_table()
return astropy_table.to_pandas() # convert to DataFrame
except Exception as e:
print(f"Error executing query: {e}")
return None
for instr in instru_list:
print(instr)
for level in level_list:
ADQL = (
f"SELECT level, MAX(begin_time) "
f"FROM v_sc_data_item "
f"WHERE instrument='{instr}' AND level='{level}' "
f"GROUP BY level"
)
result_table = TAPquery(ARCHIVE, ADQL)
if result_table is not None and len(result_table) > 0:
latest_time = result_table['MAX'].iloc[0]
print(f"{level}: {latest_time}")
else:
print(f"{level}: ---")
My account
placeholder PeopleEditorPersonalDetails portlet
ESA uses cookies to track visits to our website only, no personal information is collected.
By continuing to use the site you are agreeing to our use of cookies.
OK Find out more about our cookie policy.