geoprior.scripts.plot_physics_profiles#
Plot 1D physics sensitivity profiles.
Complements: - Supp. Fig. S6 (ablations: skill + coverage), - Supp. Fig. S7 (2D residual heatmaps),
by providing 1D “profiles” (physics-on only):
For each city (rows) and each metric (metric_prior, metric_cons), we draw two line profiles:
metric vs λ_prior (mean over λ_cons, pde_mode=’both’)
metric vs λ_cons (mean over λ_prior, pde_mode=’both’)
Layout#
The figure has 2 rows × 4 columns.
Row 1: City A (default: Nansha), with metric-prior and metric-cons profiles against
λ_priorandλ_cons.Row 2: City B (default: Zhongshan), with the same four panels.
Data source#
We scan for JSONL under
<root>/**/ablation_records/ablation_record*.jsonl.
Outputs#
Figure:
<out>.pngand<out>.pdfTidy table copy:
appendix_table_A1_phys_profiles_tidy.csvwritten next to the figure.
API conventions#
Style via
scripts.utils.set_paper_style()Output path via
scripts.utils.resolve_fig_out()JSONL discovery via
cfg.PATTERNS["ablation_record_jsonl"]plusscripts.utils.find_all()A
main(argv)wrapper calls a dedicated*_main(argv)function.
Linting / format#
black + ruff, line length <= 62
Functions
|
|
|