Console Output
+ python tests/analyze_tuner_sample_history.py output/tuner/new_tuner_test -metric scaled_rmse -min_samples 2 --require_param_variation
Discovered 2 sample-history target(s).
=== Sample history 1/2: output/tuner/new_tuner_test/complex/cli_arm_bomex_20260730_200736_818125_3688748 ===
Tuner Sample History
job: output/tuner/new_tuner_test/complex/cli_arm_bomex_20260730_200736_818125_3688748
chunks: 1
first_chunk: output/tuner/new_tuner_test/complex/cli_arm_bomex_20260730_200736_818125_3688748/sample_history/sample_history_000001.npz
samples: 4
params: 102
cases: 2
fields: 2
observations: 10
metrics: scaled_rmse, correlation, std_ratio, centered_rmse_norm, bias_norm
Checks performed
- sample-history chunks exist and are sequentially numbered
- every chunk contains required metadata, sample, and loss arrays
- metadata arrays match exactly across chunks
- schema version matches the current observation-axis format
- sample IDs are unique and cover 0..sample_count-1
- parameter and loss arrays have the expected shapes and finite values
- observation metadata covers every case/field/window exactly once
- at least 2 sample(s) are present
- at least one tuned parameter varies across samples
checks: OK
SVD (scaled_rmse)
matrix_shape: 4 samples x 10 retained columns
mode 1: singular=6.10319, explained=93.12%
strongest observations:
bomex/cloud_frac/w3:12600-15300s/scaled_rmse loading=-0.327
bomex/cloud_frac/w1:7200-9900s/scaled_rmse loading=-0.327
bomex/cloud_frac/w2:9900-12600s/scaled_rmse loading=-0.326
arm/rcm/w1:68400-72000s/scaled_rmse loading=-0.326
arm/cloud_frac/w1:68400-72000s/scaled_rmse loading=-0.324
strongest parameter correlations:
C8=+0.956
C11=+0.270
mode 2: singular=1.37261, explained=4.71%
strongest observations:
bomex/rcm/w3:12600-15300s/scaled_rmse loading=-0.744
bomex/rcm/w1:7200-9900s/scaled_rmse loading=+0.458
bomex/rcm/w2:9900-12600s/scaled_rmse loading=-0.343
arm/cloud_frac/w1:68400-72000s/scaled_rmse loading=+0.187
bomex/rcm/w4:15300-18000s/scaled_rmse loading=-0.155
strongest parameter correlations:
C11=-0.941
C8=+0.236
mode 3: singular=0.931153, explained=2.17%
strongest observations:
bomex/rcm/w1:7200-9900s/scaled_rmse loading=-0.746
bomex/rcm/w4:15300-18000s/scaled_rmse loading=+0.418
bomex/rcm/w3:12600-15300s/scaled_rmse loading=-0.331
bomex/cloud_frac/w4:15300-18000s/scaled_rmse loading=+0.244
bomex/rcm/w2:9900-12600s/scaled_rmse loading=-0.183
strongest parameter correlations:
C11=+0.206
C8=-0.176
=== Sample history 2/2: output/tuner/new_tuner_test/simple/cli_bomex_20260730_200725_753191_3687632 ===
Tuner Sample History
job: output/tuner/new_tuner_test/simple/cli_bomex_20260730_200725_753191_3687632
chunks: 1
first_chunk: output/tuner/new_tuner_test/simple/cli_bomex_20260730_200725_753191_3687632/sample_history/sample_history_000001.npz
samples: 8
params: 102
cases: 1
fields: 1
observations: 1
metrics: scaled_rmse, correlation, std_ratio, centered_rmse_norm, bias_norm
Checks performed
- sample-history chunks exist and are sequentially numbered
- every chunk contains required metadata, sample, and loss arrays
- metadata arrays match exactly across chunks
- schema version matches the current observation-axis format
- sample IDs are unique and cover 0..sample_count-1
- parameter and loss arrays have the expected shapes and finite values
- observation metadata covers every case/field/window exactly once
- at least 2 sample(s) are present
- at least one tuned parameter varies across samples
checks: OK
SVD (scaled_rmse)
matrix_shape: 8 samples x 1 retained columns
mode 1: singular=2.82843, explained=100.00%
strongest observations:
bomex/cloud_frac/w1:10800-21600s/scaled_rmse loading=+1.000
strongest parameter correlations:
C8=-0.999