calibration_benchmark / src /pages /OptimizationLeaderboard.py
odunbar
improve display (group methods by type in suitability table, consistent coloring, add failure table to opt
d927c3b
Raw
History Blame
1.8 kB
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,
)