from pathlib import Path import sys import streamlit as st try: from data_store import load_metric_store, BENCHMARK_DIMS from common.leaderboard import render_leaderboard except ModuleNotFoundError: sys.path.append(str(Path(__file__).resolve().parents[1])) from data_store import load_metric_store, BENCHMARK_DIMS from common.leaderboard import render_leaderboard st.set_page_config(page_title="Optimization Leaderboard", page_icon="๐Ÿ“Š", layout="wide") # Sidebar navigation st.sidebar.title("Navigation") st.sidebar.page_link("streamlit_app.py", label="Home", icon="๐Ÿ ") st.sidebar.page_link("pages/OptimizationLeaderboard.py", label="Optimization Leaderboard", icon="๐Ÿ“Š") st.sidebar.page_link("pages/UQLeaderboard.py", label="UQ Leaderboard", icon="๐ŸŽฏ") st.sidebar.page_link("pages/MethodDetails.py", label="Methods", icon="๐Ÿ“˜") st.sidebar.page_link("pages/RawData.py", label="Get Data", icon="๐Ÿงพ") st.markdown(r"**Optimization target.** A run succeeds when the normalized weighted distance from the ensemble-mean forward-model output to the true data falls at or below the (selected in the target controls) RMSE target level $\tau$:") st.latex(r"\frac{1}{N_y}\bigl(y - G(\bar{\theta})\bigr)^\top \Gamma^{-1}\bigl(y - G(\bar{\theta})\bigr) \leq \tau") st.markdown(r"where $y$ is the true observation, $G(\bar{\theta})$ is the forward-model output at the final ensemble mean $\bar{\theta}$, and $\Gamma$ is the observation noise covariance, and $N_y = \dim(y)$.") render_leaderboard( load_metric_store(), target_col="rmse_target", target_label="RMSE Target Level", title="Optimization Leaderboard", state_prefix="opt", default_target=1.1, raw_page="pages/RawData.py", benchmark_dims=BENCHMARK_DIMS, show_failure_panel=True, )