Update HM with accumulating method

#17
data/history-matching-uq_results/{history-matching_l63_ensemble_results_2026-07-20_minimal.nc → history-matching_l63_ensemble_results_2026-09-15_minimal.nc} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8a656f0ff90226742e5be62946e4bef99a8762884f8113d3a24c458e9996b982
3
  size 672930
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4c0dfbb62d909fc8fc8afa2200592c6938e58302fbd0c030aa367a2ae449ba13
3
  size 672930
data/history-matching-uq_results/{history-matching_l96_const-force_2026-07-20_minimal.nc → history-matching_l96_const-force_2026-09-15_minimal.nc} RENAMED
File without changes
data/history-matching-uq_results/{history-matching_l96_flux-force_2026-07-21_minimal.nc → history-matching_l96_flux-force_2026-09-15_minimal.nc} RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8b76f4016ea38382595960750081bb9d1797b3df69f212abea7fd322d9582308
3
  size 809730
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:64c97226ac7e341a8c12e4e78ce073e345390ebccbe099abb8627061df133218
3
  size 809730
data/history-matching-uq_results/history-matching_l96_vec-force_2026-07-21_minimal.nc DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:9040eb783a225266d63cdfafd31b7a8443ef41c949ab9ecaf059fe5e7cabf7f7
3
- size 809730
 
 
 
 
data/history-matching-uq_results/{history-matching_l96_vec-force_2026-07-22_minimal.nc → history-matching_l96_vec-force_2026-09-15_minimal.nc} RENAMED
File without changes
src/data_store.py CHANGED
@@ -112,7 +112,7 @@ UQ_BUDGET_FILES: dict[str, list[tuple[str, str]]] = {
112
  ("iekf", "gnki-uq_results/leaderboard_gnki_l63_2026-07-07_minimal.nc"),
113
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l63_ensemble_results_2026-07-09_minimal.nc"),
114
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l63_ensemble_results_2026-07-17_minimal.nc"),
115
- ("hm", "history-matching-uq_results/history-matching_l63_ensemble_results_2026-07-20_minimal.nc"),
116
  ("gboed", "gboed-uq_results/boed_l63_ensemble_results_2026-07-30_minimal.nc"),
117
  ("abc", "abc/leaderboard_abc_l63_2026-09-10_minimal.nc"),
118
  ],
@@ -121,7 +121,7 @@ UQ_BUDGET_FILES: dict[str, list[tuple[str, str]]] = {
121
  ("iekf", "gnki-uq_results/leaderboard_gnki_l96_const-force_2026-07-07_minimal.nc"),
122
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l96_ensemble_results_2026-07-09_minimal.nc"),
123
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l96_ensemble_results_2026-07-17_minimal.nc"),
124
- ("hm", "history-matching-uq_results/history-matching_l96_const-force_2026-07-20_minimal.nc"),
125
  ("gboed", "gboed-uq_results/boed_l96_const-force_2026-07-30_minimal.nc"),
126
  ("abc", "abc/leaderboard_abc_l96_const-force_2026-09-10_minimal.nc"),
127
  ],
@@ -130,7 +130,7 @@ UQ_BUDGET_FILES: dict[str, list[tuple[str, str]]] = {
130
  ("iekf", "gnki-uq_results/leaderboard_gnki_l96_flux-force_2026-07-07_minimal.nc"),
131
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l96_nn_forcing_ensemble_results_2026-07-09_minimal.nc"),
132
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l96_nn_forcing_ensemble_results_2026-07-17_minimal.nc"),
133
- ("hm", "history-matching-uq_results/history-matching_l96_flux-force_2026-07-21_minimal.nc"),
134
  ("abc", "abc/leaderboard_abc_l96_flux-force_2026-09-10_minimal.nc"),
135
  ],
136
  "L96_SPATIAL_FORCING": [
@@ -138,7 +138,7 @@ UQ_BUDGET_FILES: dict[str, list[tuple[str, str]]] = {
138
  ("iekf", "gnki-uq_results/leaderboard_gnki_l96_vec-force_2026-07-07_minimal.nc"),
139
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l96_spatial_forcing_ensemble_results_2026-07-09_minimal.nc"),
140
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l96_spatial_forcing_ensemble_results_2026-07-17_minimal.nc"),
141
- ("hm", "history-matching-uq_results/history-matching_l96_vec-force_2026-07-22_minimal.nc"),
142
  ("gboed", "gboed-uq_results/boed_l96_vec-force_2026-08-07_minimal.nc"),
143
  ("abc", "abc/leaderboard_abc_l96_vec-force_2026-09-10_minimal.nc"),
144
  ],
 
112
  ("iekf", "gnki-uq_results/leaderboard_gnki_l63_2026-07-07_minimal.nc"),
113
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l63_ensemble_results_2026-07-09_minimal.nc"),
114
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l63_ensemble_results_2026-07-17_minimal.nc"),
115
+ ("hm", "history-matching-uq_results/history-matching_l63_ensemble_results_2026-09-15_minimal.nc"),
116
  ("gboed", "gboed-uq_results/boed_l63_ensemble_results_2026-07-30_minimal.nc"),
117
  ("abc", "abc/leaderboard_abc_l63_2026-09-10_minimal.nc"),
118
  ],
 
121
  ("iekf", "gnki-uq_results/leaderboard_gnki_l96_const-force_2026-07-07_minimal.nc"),
122
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l96_ensemble_results_2026-07-09_minimal.nc"),
123
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l96_ensemble_results_2026-07-17_minimal.nc"),
124
+ ("hm", "history-matching-uq_results/history-matching_l96_const-force_2026-09-15_minimal.nc"),
125
  ("gboed", "gboed-uq_results/boed_l96_const-force_2026-07-30_minimal.nc"),
126
  ("abc", "abc/leaderboard_abc_l96_const-force_2026-09-10_minimal.nc"),
127
  ],
 
130
  ("iekf", "gnki-uq_results/leaderboard_gnki_l96_flux-force_2026-07-07_minimal.nc"),
131
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l96_nn_forcing_ensemble_results_2026-07-09_minimal.nc"),
132
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l96_nn_forcing_ensemble_results_2026-07-17_minimal.nc"),
133
+ ("hm", "history-matching-uq_results/history-matching_l96_flux-force_2026-09-15_minimal.nc"),
134
  ("abc", "abc/leaderboard_abc_l96_flux-force_2026-09-10_minimal.nc"),
135
  ],
136
  "L96_SPATIAL_FORCING": [
 
138
  ("iekf", "gnki-uq_results/leaderboard_gnki_l96_vec-force_2026-07-07_minimal.nc"),
139
  ("ces-eki-const", "ces-eki-const_results/ces-eki-const_l96_spatial_forcing_ensemble_results_2026-07-09_minimal.nc"),
140
  ("ces-iekf-const", "ces-iekf-const_results/ces-iekf-const_l96_spatial_forcing_ensemble_results_2026-07-17_minimal.nc"),
141
+ ("hm", "history-matching-uq_results/history-matching_l96_vec-force_2026-09-15_minimal.nc"),
142
  ("gboed", "gboed-uq_results/boed_l96_vec-force_2026-08-07_minimal.nc"),
143
  ("abc", "abc/leaderboard_abc_l96_vec-force_2026-09-10_minimal.nc"),
144
  ],
src/pages/MethodDetails.py CHANGED
@@ -166,7 +166,10 @@ method_meta = {
166
  "source": "`uq_experiments/HistoryMatching` — custom (non-EKP) wave/rejection scheme.",
167
  "math": (
168
  "History Matching runs a series of waves. At wave k, an independent GP emulator is fit per "
169
- "whitened output mode on every parameter evaluated so far; a candidate survives the wave iff "
 
 
 
170
  "its implausibility (whitened, GP-predicted misfit) is below a chi-squared threshold, and the "
171
  "surviving (\"Not Ruled Out Yet\", NROY) region is intersected across all waves run so far."
172
  ),
 
166
  "source": "`uq_experiments/HistoryMatching` — custom (non-EKP) wave/rejection scheme.",
167
  "math": (
168
  "History Matching runs a series of waves. At wave k, an independent GP emulator is fit per "
169
+ "whitened output mode on an accumulated training set: the current ensemble plus all training "
170
+ "points from historical waves that lie within the current NROY space (points that have been "
171
+ "ruled out are dropped, so the emulator concentrates its accuracy on the shrinking NROY region); "
172
+ "a candidate survives the wave iff "
173
  "its implausibility (whitened, GP-predicted misfit) is below a chi-squared threshold, and the "
174
  "surviving (\"Not Ruled Out Yet\", NROY) region is intersected across all waves run so far."
175
  ),