from beforerr.project import datadir
from functools import reduce
from great_tables import GT
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)
dir = datadir() / "missions"
= parse_missions_yaml(dir) missions
# Parse and display the table
= parse_missions(missions, "time_resolutions", "magnetometer").rename(
df_mag "time_resolutions": "δt(B)"}
{
)= parse_missions(missions, "time_resolutions", "plasma").rename(
df_plasma "time_resolutions": "δt(plasma)"}
{
)= parse_missions(missions, "radial_coverage")
df_r = parse_missions(missions, "launch_date")
df_time = parse_missions(missions, "website")
df_link
= [df_mag, df_plasma, df_r, df_time, df_link] # Replace with your DataFrames
df_list
= reduce(merge_dfs, df_list).with_columns(pl.col("website").list.join(", "))
df_merged
"website").cols_label(
GT(df_merged).fmt_markdown(="Radial coverage",
radial_coverage="Launch date",
launch_date )
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 |