Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified literature/figs/demo_10_deviations.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_11_multiverse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_12_bayes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_13_branch_asymmetry.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_14_network_pairs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_15_window_envelope.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_1_methods.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_2_aggregation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_3_uncertainty.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_4_frequency_depth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_5_window_band.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_6_stacking.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_7_reference.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_8_artifacts.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified literature/figs/demo_9_multiverse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added literature/figs/realdata_1_validation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added literature/figs/realdata_2_interferograms.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added literature/figs/realdata_3_warmup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
291 changes: 189 additions & 102 deletions paper/manuscript_marine.qmd

Large diffs are not rendered by default.

466 changes: 305 additions & 161 deletions paper/manuscript_marine.tex

Large diffs are not rendered by default.

12 changes: 5 additions & 7 deletions src/codameter/deviations.py
Original file line number Diff line number Diff line change
Expand Up @@ -431,6 +431,7 @@ def fig_deviation_ranking(rows=None):
def fig_multiverse_full(mv=None):
"""The ultimate multiverse: every pipeline + the variance attribution."""
import matplotlib.pyplot as plt
from matplotlib.colors import Normalize

if mv is None:
mv = multiverse()
Expand All @@ -444,7 +445,7 @@ def fig_multiverse_full(mv=None):
# (a) fan of pipelines, coloured by RMS error with a colourblind-safe,
# perceptually uniform sequential map (dark = accurate, bright = biased).
order = np.argsort(-np.nan_to_num(rms))
norm = plt.Normalize(np.nanpercentile(rms, 5), np.nanpercentile(rms, 95))
norm = Normalize(np.nanpercentile(rms, 5), np.nanpercentile(rms, 95))
cmap = plt.cm.viridis_r
for i in order:
ax[0].plot(yrs, curves[i] * PCT, color=cmap(norm(rms[i])), lw=0.3, alpha=0.16)
Expand All @@ -463,13 +464,10 @@ def fig_multiverse_full(mv=None):
)
ax[0].plot(yrs, truth * PCT, color=C["truth"], lw=2.6, label="ground truth")
ax[0].axvline(2.0, color="0.6", ls="--", lw=1)
# Clip tightly to the truth scale; the cycle-skipping pipelines run off-axis
# (that is the point the colourbar flags them) but would otherwise swamp the
# Fixed, symmetric range: the cycle-skipping pipelines run off-axis (that is
# the point -- the colourbar flags them) but would otherwise swamp the
# signal and make the panel unreadable.
span = (np.nanmax(truth) - np.nanmin(truth)) * PCT
ax[0].set_ylim(
(np.nanmin(truth) * PCT - 0.35 * span, np.nanmax(truth) * PCT + 0.35 * span)
)
ax[0].set_ylim((-0.8, 0.8))
ax[0].set(
xlabel="time (years)",
ylabel="dv/v (%)",
Expand Down
12 changes: 7 additions & 5 deletions src/codameter/uq_bayes.py
Original file line number Diff line number Diff line change
Expand Up @@ -409,11 +409,11 @@ def _fig_bayes(res, run):
truth = run.truth
sd_cd = np.sqrt(np.diag(res.Cd))
sd_post = np.sqrt(np.diag(res.mu_cov))
fig = plt.figure(figsize=(7.2, 3.0), layout="constrained")
gs = fig.add_gridspec(1, 3, width_ratios=[1.5, 1.0, 1.1])
fig = plt.figure(figsize=(7.2, 5.6), layout="constrained")
gs = fig.add_gridspec(2, 2, height_ratios=[1.0, 1.0])

# (a) ensemble + posterior + the two bands.
ax0 = fig.add_subplot(gs[0])
ax0 = fig.add_subplot(gs[0, 0])
for k in range(run.members.shape[0]):
ax0.plot(yrs, run.members[k] * 100, lw=0.5, color="0.7", alpha=0.6)
if truth is not None:
Expand Down Expand Up @@ -448,7 +448,7 @@ def _fig_bayes(res, run):
)

# (b) the data covariance matrix.
ax1 = fig.add_subplot(gs[1])
ax1 = fig.add_subplot(gs[0, 1])
vmax = float(np.percentile(np.diag(res.Cd), 85)) # robust to the warm-up spike
im = ax1.imshow(
res.Cd,
Expand All @@ -472,7 +472,9 @@ def _fig_bayes(res, run):
fig.colorbar(im, ax=ax1, fraction=0.046)

# (c) time-dependent sigma_d(t) and the effective-sample-size collapse.
ax2 = fig.add_subplot(gs[2])
# Full width on its own row: it carries four legend entries and was too
# horizontally squeezed sharing a row with (a) and (b).
ax2 = fig.add_subplot(gs[1, :])
ax2.plot(
yrs, sd_cd * 100, color=C["volcano"], lw=1.6, label=r"$\sigma_d(t)$ (total)"
)
Expand Down