parse_missions_yaml

 parse_missions_yaml (dir:pathlib.Path, suffixs=['.yaml', '.yml'])

Parse the mission yaml files in the given directory


parse_mission_yaml

 parse_mission_yaml (file:pathlib.Path)

merge_dfs

 merge_dfs (left:polars.dataframe.frame.DataFrame, right, on='Mission',
            how='full', coalesce=True)

parse_missions

 parse_missions (data:list[space_analysis.core.Mission], info,
                 ins_type=None)

find_instrument

 find_instrument (instruments:list[space_analysis.core.Instrument|space_an
                  alysis.core.InstrumentSuite], ins_type)
from beforerr.project import datadir
from functools import reduce
from great_tables import GT
dir = datadir() / "missions"
missions = parse_missions_yaml(dir)
# Parse and display the table
df_mag = parse_missions(missions, "time_resolutions", "magnetometer").rename(
    {"time_resolutions": "δt(B)"}
)
df_plasma = parse_missions(missions, "time_resolutions", "plasma").rename(
    {"time_resolutions": "δt(plasma)"}
)
df_r = parse_missions(missions, "radial_coverage")
df_time = parse_missions(missions, "launch_date")
df_link = parse_missions(missions, "website")

df_list = [df_mag, df_plasma, df_r, df_time, df_link]  # Replace with your DataFrames

df_merged = reduce(merge_dfs, df_list).with_columns(pl.col("website").list.join(", "))

GT(df_merged).fmt_markdown("website").cols_label(
    radial_coverage="Radial coverage",
    launch_date="Launch date",
)
Table 1: Missions info
Mission δt(B) δt(plasma) Radial coverage Launch date website
STEREO 8 Hz 1 min None 2006-10-26 None
WIND 11 Hz 1 Hz None 1994-11-01 NASA
Parker Solar Probe ~200 Hz 0.25-1 Hz 0.05 - 1 AU 2018-08-12 NASA
ARTEMIS 5 Hz 0.25 Hz None 2007-02-17 None
Juno 1 Hz None 1 - 5.5 AU 2011-08-05 NASA
Solar Orbiter None None 0.28 - 0.9 AU 2020-02-10 ESA