From f22c523b3064e6f42fbad8d16c4bc2b6f41746fc Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 7 Aug 2026 21:07:34 +0000 Subject: [PATCH 1/3] fix(pipeline): reject estimator keywords instead of discarding them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `estimate_spectrum` filtered the caller's `**kwargs` to what the selected estimator accepts and dropped the rest, silently. A typo did nothing. An argument meant for a different stage did nothing. Filtering the *configuration* that way is correct and stays: `[transform]` holds every estimator's settings at once, so a CWT parameter is not an error when the FFT is running. The caller's own keywords are a different thing — they were written deliberately, and one the estimator does not recognise is a mistake rather than a setting for someone else. This is not hypothetical. `spectrum_set_from_streams(rotate_noise=False)` reads exactly as though it disables the noise lift; `rotate_noise` belongs to `compare`, so it was dropped here and the run silently kept the configured value. I took three measurements against what I believed was a modified pipeline and was not, and concluded from them that a documented explanation of a known inconsistency was wrong. It was not — the recorded settings on the pair are what gave it away. The error names the offending keywords, lists what the estimator does take, and — when the keyword is one of `compare`'s — says so and shows the spelling that works: fft does not accept rotate_noise. It takes drop_dc, n_fft, name, taper, taper_alpha, taper_correction. rotate_noise configures the signal-to-noise comparison, not the transform — pass it as compare={'rotate_noise': ...}. Four tests: an unknown keyword raises, a `compare` keyword raises with the redirect, the message names the valid parameters, and a keyword the estimator *does* take still changes the answer — the passthrough is the point of the parameter and rejecting unknown keys must not break it. --- src/specmod/pipeline.py | 32 +++++++++++++++++++++++++- tests/test_pipeline.py | 51 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 1 deletion(-) diff --git a/src/specmod/pipeline.py b/src/specmod/pipeline.py index d0bb0a3..034af11 100644 --- a/src/specmod/pipeline.py +++ b/src/specmod/pipeline.py @@ -100,7 +100,37 @@ def estimate_spectrum( for key, value in dataclasses.asdict(transform).items() if key in accepted } - settings.update({k: v for k, v in kwargs.items() if k in accepted}) + + # Filtering the *configuration* to what this estimator accepts is right: + # `[transform]` holds every estimator's settings at once, and a CWT + # parameter is not an error when the FFT is selected. Filtering the + # caller's own keywords the same way is not. It silently discarded + # anything the estimator did not recognise, so a typo, or an argument + # meant for a different stage, simply did nothing. + # + # This is not hypothetical: `spectrum_set_from_streams(rotate_noise=False)` + # looks exactly like it works. `rotate_noise` belongs to `compare`, not to + # an estimator, so it was dropped here and the run silently kept the + # configured value — which cost three wrong measurements before the + # recorded settings gave it away. + unknown = sorted(set(kwargs) - accepted) + if unknown: + compare_only = sorted(set(unknown) & set(_compare_settings())) + hint = "" + if compare_only: + verb = "configures" if len(compare_only) == 1 else "configure" + this = "it" if len(compare_only) == 1 else "them" + hint = ( + f" {', '.join(compare_only)} {verb} the signal-to-noise " + f"comparison, not the transform — pass {this} as " + f"compare={{{', '.join(f'{k!r}: ...' for k in compare_only)}}}." + ) + raise TypeError( + f"{name} does not accept {', '.join(unknown)}. It takes " + f"{', '.join(sorted(accepted - {'self'}))}.{hint}" + ) + + settings.update(kwargs) result: Spectrum = cls(**settings).estimate(data, delta, motion=motion) return result diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py index f34edec..6d7413a 100644 --- a/tests/test_pipeline.py +++ b/tests/test_pipeline.py @@ -73,6 +73,57 @@ def test_it_returns_the_unfolded_convention(self, pnr_windows: Any) -> None: spectrum = spectrum_from_trace(signal[0]) assert str(spectrum.kind) == "magnitude" + def test_a_keyword_the_estimator_does_not_take_is_an_error( + self, pnr_windows: Any + ) -> None: + """It used to be discarded, which made a whole class of mistake silent. + + The configuration is filtered to what the selected estimator accepts, + and rightly so — ``[transform]`` holds every estimator's settings at + once, and a CWT parameter is not an error when the FFT is running. The + caller's own keywords were filtered by the same rule, so a typo simply + did nothing. + """ + signal, _ = pnr_windows() + with pytest.raises(TypeError, match="does not accept nonexistent_knob"): + spectrum_from_trace(signal[0], estimator="fft", nonexistent_knob=1) + + def test_a_compare_argument_passed_as_a_keyword_says_where_it_belongs( + self, pnr_windows: Any + ) -> None: + """The mistake that motivated this, and it is an easy one to make. + + ``spectrum_set_from_streams(rotate_noise=False)`` reads as though it + disables the noise lift. It does not: bare keywords go to the + estimator, ``rotate_noise`` belongs to ``compare``, and it was dropped + — leaving the run silently using the configured value. Three + measurements were taken against what looked like a modified pipeline + and was not. + """ + signal, _ = pnr_windows() + with pytest.raises(TypeError, match=r"compare=\{'rotate_noise'"): + spectrum_from_trace(signal[0], estimator="fft", rotate_noise=False) + + def test_the_error_names_what_the_estimator_does_take( + self, pnr_windows: Any + ) -> None: + """A rejection that does not say what is valid moves the guessing + rather than ending it.""" + signal, _ = pnr_windows() + with pytest.raises(TypeError) as raised: + spectrum_from_trace(signal[0], estimator="fft", tapr="hann") + assert "taper" in str(raised.value) + + def test_a_keyword_the_estimator_does_take_still_works( + self, pnr_windows: Any + ) -> None: + """The passthrough is the point of the parameter; rejecting unknown + keys must not reject known ones.""" + signal, _ = pnr_windows() + boxcar = spectrum_from_trace(signal[0], estimator="fft", taper="boxcar") + hann = spectrum_from_trace(signal[0], estimator="fft", taper="hann") + assert not np.allclose(boxcar.amp, hann.amp) + def test_it_carries_the_trace_identity(self, pnr_windows: Any) -> None: signal, _ = pnr_windows() spectrum = spectrum_from_trace(signal[0]) From b2adc0b5c77d41511493dbb808a8c6dc31e9452f Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 7 Aug 2026 21:18:40 +0000 Subject: [PATCH 2/3] fix(core): derive the binned noise from the lifted noise, not beside it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `compare` applied the boost lift twice, by two routes that do not agree: it multiplied the *bins* by the factor, and separately multiplied the unbinned array by that factor interpolated onto the fine axis. A bin holds the geometric mean of `log10(amp)`, so binning the lifted noise gives `mean(log a) + mean(log f)` while lifting the bin gives `mean(log a) + log f(centre)` — equal only where the factor is flat across the bin. So a stored pair's `binned_noise` was not the binning of its own `noise`, by up to 18.8% on the PNR windows. **Every pair was born inconsistent.** The lift is now applied to the unbinned noise and the binned noise derived from it: one source of truth, and the domain round trip becomes exact. This was filed as a `to_motion` defect, and that was wrong in an instructive way. A domain change re-bins, so `to_motion` silently *repaired* the pair — it was the only operation that made `binned_noise` agree with `noise`, and it therefore looked like the thing that broke it. The old test asserted that appearance and is replaced by two: the round trip is exact, and a pair is consistent with itself at construction. The second is the property that was actually missing, and asserting it directly is what stops the diagnosis landing on the wrong function again. What it costs, measured rather than argued: no bin gains or loses a sample. Bin centres, bin counts and the binned *signal* are bit-identical; only the value representing each bin moves, because the lift is now averaged across the bin along with the amplitude instead of being applied once at the centre. Close to symmetric — 987 bins down, 1064 up, median ratio 1.000000 — with a slight net rise in noise (geometric mean 1.00068) and so a slight net fall in signal-to-noise (0.99932). Median |change| is 0.08-0.37% per decade. The large excursions are rare and at the extremes: 11.7% around 1-5 Hz, where a bin holds one or two samples and the factor at the sample is not the factor at the bin centre, and 18.8% above 60 Hz, where a bin spans enough absolute frequency for the factor to vary across it. Both sit outside every selected band: **0 of 28 bands move and no fitted parameter moves at all** (0.0000%). `bsnr` in the golden reference is regenerated — the first deliberate numerical divergence from the legacy record in this refactor. The superseded values are kept beside it as `bsnr_legacy`, and a new test pins the size of the divergence at under 5% and asserts the bin counts are unchanged, so "one deliberate correction" cannot quietly become two. `noise_amp`, `amp`, `band`, `freq`, `resolution_floor` and `_environment` are untouched legacy values, verified field by field before committing. --- src/specmod/core/collection.py | 26 +- tests/golden/pipeline_reference.json | 5740 ++++++++++++++++++++++++++ tests/test_golden_reference.py | 69 + tests/test_pipeline.py | 66 +- 4 files changed, 5870 insertions(+), 31 deletions(-) diff --git a/src/specmod/core/collection.py b/src/specmod/core/collection.py index 629553e..c8bc018 100644 --- a/src/specmod/core/collection.py +++ b/src/specmod/core/collection.py @@ -264,20 +264,32 @@ def compare( ) if rotate_noise: - # Derived on the binned axis and applied to both, rather than - # computed twice: the unbinned factor is the binned one - # interpolated up, which is what the legacy code does and what - # keeps the two representations of "the noise" consistent. + # The factor is derived on the binned axis — that is where the + # method is defined — and applied to the *unbinned* noise, which + # then becomes the single source the binned noise is derived from. + # + # The order matters and used to be the other way round: the lift + # multiplied the bins directly and, separately, the unbinned array + # by the factor interpolated up. Those two operations do not agree. + # A bin holds the geometric mean of `log10(amp)`, so binning the + # lifted noise gives `mean(log a) + mean(log f)` while lifting the + # bin gives `mean(log a) + log f(centre)` — equal only where the + # factor is flat across the bin. + # + # The result was that a stored pair's `binned_noise` was not the + # binning of its own `noise`, by up to 18.8% on the PNR windows. + # Every pair was born inconsistent; a domain change re-bins, so + # `to_motion` silently *repaired* it and looked like the culprit. model = _resolve_noise_model(noise_model, rotation_space) factor = model.factor( binned_noise.freq, binned_noise.amp, binned_signal.amp ) - binned_noise = BinnedSpectrum( - freq=binned_noise.freq, amp=binned_noise.amp * factor - ) noise_amp = noise_amp * interpolate_onto( signal.freq, binned_noise.freq, factor ) + binned_noise = log_bin( + signal.freq, noise_amp, f_min=f_min, f_max=f_max, n_bins=n_bins + ) snr = binned_signal.amp / binned_noise.amp band = find_bandwidth(binned_signal.freq, snr, threshold, method=bandwidth) diff --git a/tests/golden/pipeline_reference.json b/tests/golden/pipeline_reference.json index d462ee5..d9793ac 100644 --- a/tests/golden/pipeline_reference.json +++ b/tests/golden/pipeline_reference.json @@ -54,6 +54,47 @@ 29.885135725610873 ], "bsnr": { + "max": 178.78994694205122, + "median": 23.607505161475444, + "n": 55, + "quantiles": [ + 1.000000000000001, + 1.137949973065178, + 1.4950574707505833, + 2.080542865284071, + 2.4369827969978273, + 3.488715236092852, + 4.31023109418805, + 6.2388294963633335, + 6.950089349965316, + 7.378012307219855, + 7.993009265655132, + 9.975061331444529, + 11.417943896979931, + 15.72249241824412, + 16.260862026187933, + 17.208063088043506, + 23.607505161475444, + 31.738106065341498, + 38.75714871071884, + 65.19806700996915, + 70.5214631195098, + 98.1865618492508, + 101.9433575216418, + 104.43082993661761, + 109.25629375079194, + 112.09108079891743, + 121.92738331696738, + 124.9919335803898, + 135.9296188252427, + 142.89808040138934, + 154.9529674002399, + 162.15842954100657, + 178.78994694205122 + ], + "sum": 3129.918995120501 + }, + "bsnr_legacy": { "max": 177.39924588860302, "median": 23.389853762579957, "n": 55, @@ -226,6 +267,47 @@ 29.93696761547322 ], "bsnr": { + "max": 215.2884213161873, + "median": 28.45719684800343, + "n": 49, + "quantiles": [ + 0.9390464369413455, + 1.121654644018434, + 1.5330056243063546, + 2.423229372166117, + 2.922839281494906, + 3.2640802775635835, + 3.6908659097120595, + 4.823951105520648, + 5.1771430294659195, + 6.351940804256248, + 7.5749284046562115, + 9.441383602140373, + 10.04157886777532, + 13.964236053129651, + 17.185749259562467, + 22.676437277931342, + 28.45719684800343, + 39.200870320404235, + 56.56665837899925, + 63.67185738542551, + 84.70135541457766, + 89.03073916538472, + 94.273870538725, + 101.31250687333426, + 110.8560838437675, + 113.33656242770948, + 115.96976854117514, + 116.27532413101613, + 124.82425072029449, + 148.22633843658502, + 176.50953259308815, + 200.39110959188162, + 215.2884213161873 + ], + "sum": 2927.5367379456675 + }, + "bsnr_legacy": { "max": 215.74052441162516, "median": 28.623657625708702, "n": 49, @@ -398,6 +480,47 @@ 32.5617467711089 ], "bsnr": { + "max": 526.4442382153499, + "median": 35.148228924335555, + "n": 56, + "quantiles": [ + 0.999999999999998, + 1.12493714384009, + 1.5547139494536841, + 2.0858857730023592, + 3.3984601174025943, + 5.614149044495556, + 7.78947244799185, + 8.220566419016777, + 8.758313892303985, + 8.97360228378072, + 9.078632021728211, + 9.809541128571192, + 11.760560875707949, + 12.949569115380166, + 15.712065264074942, + 28.07356843168026, + 35.148228924335555, + 42.44588053926464, + 66.72883442362746, + 89.46211868059649, + 145.00586268650372, + 192.43570622345771, + 241.93995388215396, + 276.53263409479746, + 286.39247313746165, + 303.2008006108973, + 325.28111680291175, + 353.4808817399854, + 376.6047186946281, + 393.10372540869014, + 430.0072143814247, + 476.4466692553719, + 526.4442382153499 + ], + "sum": 7913.748803393195 + }, + "bsnr_legacy": { "max": 529.4955722449193, "median": 35.41377493835266, "n": 56, @@ -570,6 +693,47 @@ 38.355357142431345 ], "bsnr": { + "max": 617.0910609486294, + "median": 32.18648285868716, + "n": 55, + "quantiles": [ + 1.0, + 1.2144037653211397, + 1.458116989971883, + 1.8762480580370724, + 2.125406551457833, + 3.044700037097064, + 4.8786258756936824, + 9.38705882565614, + 14.086111037715302, + 17.681032674263303, + 19.413626933568704, + 20.15916414528941, + 23.60131400775142, + 25.90003842941336, + 28.84020668330971, + 29.440259452416235, + 32.18648285868716, + 33.124790258166726, + 54.761573844423026, + 67.1079950373086, + 81.83347551874112, + 102.63223871200275, + 157.85091128141593, + 190.23030008089086, + 265.44873449603426, + 305.45372407469404, + 307.80433753106496, + 325.6376431378773, + 363.2130639387291, + 428.7664987257514, + 447.96621014055324, + 523.0764715267455, + 617.0910609486294 + ], + "sum": 7341.713835209763 + }, + "bsnr_legacy": { "max": 614.28018902349, "median": 31.909615878994117, "n": 55, @@ -742,6 +906,47 @@ 38.5441370442226 ], "bsnr": { + "max": 113.07473913103496, + "median": 12.102356569886318, + "n": 54, + "quantiles": [ + 1.0, + 1.3334283432083518, + 2.6867813926316715, + 4.460574730772237, + 4.857673219549378, + 5.04419647033485, + 5.3651848690805, + 5.571929329940677, + 5.759202108439286, + 7.335001521005231, + 7.690037134618576, + 8.8613901966375, + 9.651506436209672, + 10.208483338932803, + 11.254051773801386, + 11.787846805203241, + 12.102356569886318, + 12.529427771205455, + 13.379340934760991, + 15.000025237734466, + 16.161719824658665, + 18.151257671954752, + 20.182654262816325, + 20.36835993799723, + 22.249313043155517, + 26.810500840649034, + 34.0599340291599, + 34.8775627712044, + 39.10754308612081, + 41.93646015620929, + 48.69876793750553, + 87.33112677704656, + 113.07473913103496 + ], + "sum": 1077.6884640201133 + }, + "bsnr_legacy": { "max": 113.63111055609338, "median": 12.134976198010726, "n": 54, @@ -914,6 +1119,47 @@ 38.73384609526382 ], "bsnr": { + "max": 82.44133667825422, + "median": 12.959754299987818, + "n": 53, + "quantiles": [ + 1.0, + 1.242129599658263, + 2.812259760187138, + 5.227907249201472, + 5.618503352734607, + 5.9102506461830515, + 6.393555306309196, + 6.839435253617931, + 8.021011984794667, + 8.420286730374299, + 9.12340959925696, + 9.82203614134922, + 10.346465664440604, + 10.676640394078301, + 11.208267175232502, + 12.201637270279813, + 12.959754299987818, + 13.603433294767996, + 14.981049840317615, + 15.53821003609826, + 16.18362446299744, + 16.93875464812648, + 17.345631913219087, + 20.215161846742703, + 23.333769129355737, + 25.552888106187183, + 33.53927057230033, + 35.81393109209372, + 36.97328693219541, + 43.404950586274246, + 60.72353991126461, + 70.14003303062337, + 82.44133667825422 + ], + "sum": 1036.2399510410082 + }, + "bsnr_legacy": { "max": 82.80339076659206, "median": 12.91934256955003, "n": 53, @@ -1086,6 +1332,47 @@ 30.171325832406843 ], "bsnr": { + "max": 233.38822448392892, + "median": 17.50293835056206, + "n": 54, + "quantiles": [ + 0.999999999999998, + 1.2232098602073411, + 2.0133977630183653, + 2.5149240022762616, + 2.9282672453312566, + 3.431955897327151, + 5.093741547219699, + 5.390844031482937, + 6.057214321203291, + 6.484719977197878, + 7.707309446302506, + 9.846320366565044, + 11.69042035074386, + 12.906208713644297, + 13.85648278802055, + 15.008133067422909, + 17.50293835056206, + 27.60486153390337, + 44.15172465412037, + 61.5216099299826, + 66.36824665365654, + 75.99758468573586, + 87.61681149696422, + 101.05207109662781, + 110.93175376402947, + 122.60425221720872, + 127.90338979493843, + 129.0170537712843, + 139.66057120966357, + 143.0644967576422, + 146.64763815888782, + 152.20236632303977, + 233.38822448392892 + ], + "sum": 3042.5745416738882 + }, + "bsnr_legacy": { "max": 233.65178479279598, "median": 17.43290006699653, "n": 54, @@ -1258,6 +1545,47 @@ 23.25855435380366 ], "bsnr": { + "max": 308.706796272093, + "median": 23.847545250170114, + "n": 51, + "quantiles": [ + 1.0, + 1.152173000701716, + 1.2965375207678125, + 1.5249897857107402, + 1.616100164704466, + 2.034594018127694, + 3.255648299160738, + 4.416005273091688, + 5.005428834550974, + 6.123309936188146, + 6.4328259722532675, + 6.628090413000992, + 8.110966550098537, + 11.424798885299438, + 14.96051217565345, + 20.35930235976099, + 23.847545250170114, + 26.25230954511462, + 27.932220334661586, + 31.25003943437012, + 36.04304192625797, + 43.05604763089791, + 49.85881740100539, + 59.348388479673574, + 68.74654958656664, + 97.4067147166831, + 141.15732416635635, + 159.34720562598136, + 175.53911232678078, + 216.94232385483727, + 233.88374244345698, + 258.55775178908266, + 308.706796272093 + ], + "sum": 3110.7498822830357 + }, + "bsnr_legacy": { "max": 306.0554822482433, "median": 23.61333299243455, "n": 51, @@ -1430,6 +1758,47 @@ 20.96783774563101 ], "bsnr": { + "max": 26.423714490999945, + "median": 8.092307963536122, + "n": 52, + "quantiles": [ + 0.9847992551786393, + 1.0392027907469799, + 1.1182655828106516, + 1.1511077389818212, + 1.2664018876190413, + 1.4897658613089535, + 2.2442056715978396, + 4.290181776614077, + 4.434775839219663, + 4.851426109604294, + 5.082632441806092, + 5.4828831617758915, + 5.8788911917049775, + 6.278990668760511, + 6.9180006704135035, + 7.918399997722731, + 8.092307963536122, + 9.437357453044987, + 9.917343142404606, + 10.670561138256362, + 10.71950520938441, + 11.991096973571452, + 12.650685862224817, + 13.565774892299995, + 14.434002601130707, + 15.03171328751249, + 15.380945458620515, + 15.62696805695579, + 15.676819622255412, + 17.323813409805567, + 21.718273786033212, + 24.809601317885996, + 26.423714490999945 + ], + "sum": 492.52200362444364 + }, + "bsnr_legacy": { "max": 26.45909165273652, "median": 8.096029708646684, "n": 52, @@ -1602,6 +1971,47 @@ 1.4122767787360955 ], "bsnr": { + "max": 14.863167962354566, + "median": 4.207776439812084, + "n": 51, + "quantiles": [ + 0.9697578142029837, + 0.978568553309768, + 0.9903050757319628, + 0.9996873696719245, + 1.0622420316818708, + 1.1880076406464157, + 1.41301695798727, + 1.4787208137393326, + 1.8406962044026702, + 2.065942008864568, + 2.564607723570014, + 2.8989895979408464, + 3.04992043543562, + 3.442506282441214, + 3.572316976460042, + 3.938097957539835, + 4.207776439812084, + 5.502810436541433, + 6.003611038945974, + 6.758086750046561, + 7.506579225121891, + 7.999644658831061, + 8.319777788288775, + 8.492065158914642, + 8.599851039310622, + 8.683351323102912, + 8.712880187492798, + 9.031759721517645, + 9.88238338667368, + 10.586710132968227, + 10.99784670949188, + 11.748125595324765, + 14.863167962354566 + ], + "sum": 277.01234033020324 + }, + "bsnr_legacy": { "max": 14.870115643666281, "median": 4.207776439812084, "n": 51, @@ -1774,6 +2184,47 @@ 41.850980646922515 ], "bsnr": { + "max": 299.7314783052099, + "median": 78.47825285754084, + "n": 57, + "quantiles": [ + 1.0, + 1.4333439576917324, + 4.226957661536204, + 8.54190090895082, + 14.867487683855366, + 23.193559284911522, + 26.534899182194692, + 30.830220330705657, + 38.26493255225454, + 40.772568488761124, + 53.318082857521006, + 62.67785613740337, + 66.14863608990217, + 70.15293085993454, + 74.90476994776836, + 75.98552858582761, + 78.47825285754084, + 83.03265126576663, + 84.86520585915622, + 86.92981444481745, + 88.92442231588713, + 93.80787396078124, + 101.83779118917892, + 103.06350161709558, + 110.01196673691223, + 113.86453403782815, + 118.16657809371407, + 133.87502130966038, + 146.4991664952041, + 169.94040104757312, + 263.5536117434493, + 285.64739603586213, + 299.7314783052099 + ], + "sum": 5069.020507656798 + }, + "bsnr_legacy": { "max": 299.32190334330676, "median": 78.41651065063802, "n": 57, @@ -1946,6 +2397,47 @@ 41.98414947759616 ], "bsnr": { + "max": 335.1802976352941, + "median": 128.58659035216866, + "n": 56, + "quantiles": [ + 1.0, + 1.4499522441522414, + 5.065083420587057, + 13.154532409051441, + 31.439850724602383, + 46.19436798127211, + 50.09009145700841, + 56.72016723553925, + 58.021694067688564, + 62.10906668991068, + 75.21999052952876, + 86.91989048067894, + 90.90617741899197, + 107.90135200849386, + 112.77848978158941, + 120.12594778849379, + 128.58659035216866, + 134.29937783310595, + 137.45406895600425, + 141.75884071424608, + 147.73626024407346, + 152.67934608318583, + 153.18475713515608, + 162.95836310444432, + 166.65964709527313, + 172.36825122374253, + 181.37103150438074, + 190.17795529290137, + 203.45923121148405, + 213.95613106930296, + 231.08279990813662, + 255.2622792852374, + 335.1802976352941 + ], + "sum": 6779.520760564925 + }, + "bsnr_legacy": { "max": 334.5787714089416, "median": 129.04839788049748, "n": 56, @@ -2118,6 +2610,47 @@ 27.65923832222083 ], "bsnr": { + "max": 269.8225970097581, + "median": 53.475513038721786, + "n": 51, + "quantiles": [ + 1.0, + 1.1589885676743652, + 1.608565708425088, + 2.0781355430455655, + 2.515390493243809, + 3.690178487816771, + 4.999025284410758, + 5.737873928854177, + 8.79964952162312, + 16.170865112523188, + 21.01116042094653, + 27.015057915391022, + 32.45245799402385, + 33.78057115817218, + 39.691694053509636, + 42.478575237844304, + 53.475513038721786, + 55.86376183374405, + 58.65020679473965, + 63.06294671243126, + 66.45670667043306, + 82.70383183190836, + 93.80296146653029, + 108.16426357494572, + 120.19775095899084, + 132.09630109934423, + 148.47850521829244, + 158.09151974640295, + 162.26685883937887, + 188.57901418333682, + 207.65906558168345, + 241.93097311748102, + 269.8225970097581 + ], + "sum": 3749.5589251511788 + }, + "bsnr_legacy": { "max": 270.3163468879018, "median": 53.08079493639251, "n": 51, @@ -2290,6 +2823,47 @@ 29.61876380371482 ], "bsnr": { + "max": 104.39280952756674, + "median": 21.720836805609913, + "n": 50, + "quantiles": [ + 1.0, + 1.1556111583302568, + 1.6008737536444428, + 2.1763504236242275, + 2.472638392113652, + 3.707346022051919, + 4.788856773120609, + 6.172624383217981, + 7.760221552859268, + 10.33497523261813, + 12.999560226063018, + 14.249841604433868, + 15.44627753751408, + 16.077448275675895, + 19.968400371818678, + 20.74359302404533, + 21.720836805609913, + 24.018332811896787, + 25.302534699923353, + 30.366800222758258, + 36.89492706314601, + 42.91967685280525, + 47.47631228644342, + 52.733008961695454, + 56.21142429791651, + 58.59096803526795, + 60.647615708929635, + 63.8079658985494, + 65.16118706738435, + 68.25304319236317, + 76.63607961848577, + 97.42029613990965, + 104.39280952756674 + ], + "sum": 1616.2944929752887 + }, + "bsnr_legacy": { "max": 105.0063739615887, "median": 21.666850013439685, "n": 50, @@ -2462,6 +3036,47 @@ 49.183625835798836 ], "bsnr": { + "max": 587.1403974252398, + "median": 19.156161758547356, + "n": 64, + "quantiles": [ + 0.9900983872794079, + 1.0148228530739716, + 1.2123017649424428, + 1.485842938323096, + 2.049236493226717, + 4.005844230692148, + 5.942077700831992, + 8.37060484508109, + 8.693551780558057, + 9.357331425857442, + 9.65179239211883, + 9.897818042067712, + 10.58768700921746, + 11.664122616165725, + 13.441975459536296, + 16.200790464657157, + 19.156161758547356, + 26.0314604654433, + 31.814781851360536, + 49.839900334823426, + 55.124276103257074, + 84.65635929059779, + 147.19986651321753, + 173.50588979393834, + 187.00607838237227, + 229.4775109161037, + 260.21861958636845, + 301.11926711342574, + 340.29486646479734, + 410.3582621100032, + 493.9107568711121, + 505.8299809564316, + 587.1403974252398 + ], + "sum": 7625.670817644896 + }, + "bsnr_legacy": { "max": 584.2009113542555, "median": 19.14608276397138, "n": 64, @@ -2634,6 +3249,47 @@ 45.731178397762164 ], "bsnr": { + "max": 447.72854183751735, + "median": 24.06064123136543, + "n": 64, + "quantiles": [ + 1.0, + 1.2105724955420796, + 1.7437820593414872, + 1.845665006767939, + 2.831686218175619, + 3.373817559889974, + 5.387155382345657, + 6.828265077124918, + 7.032108232315719, + 8.615940527774045, + 12.55462276412591, + 13.318291575949509, + 14.898776681588771, + 16.986544161694145, + 18.744345931899968, + 20.40980677523181, + 24.06064123136543, + 29.526894553103332, + 34.241358958881364, + 39.085483793406055, + 50.46823532890195, + 74.28529870273601, + 100.92123151242473, + 129.9428118264209, + 195.35095109980605, + 218.82713772730315, + 243.0522152331343, + 282.23768570377155, + 320.1309032966369, + 347.12074881172845, + 404.6895585893408, + 441.05594066244896, + 447.72854183751735 + ], + "sum": 6768.039724558406 + }, + "bsnr_legacy": { "max": 449.63669850212113, "median": 23.949182610611686, "n": 64, @@ -2806,6 +3462,47 @@ 71.16139347343282 ], "bsnr": { + "max": 900.8356220745861, + "median": 275.3934210388306, + "n": 63, + "quantiles": [ + 1.0, + 1.3171428783687351, + 2.404362155796931, + 5.234212820847325, + 11.398010196057655, + 16.84761798059004, + 27.94398565617496, + 32.339054593986624, + 47.28723437013879, + 52.44117793252494, + 60.47438644573491, + 81.13397334376988, + 138.27344310227835, + 201.20832202613704, + 221.97154309859587, + 232.70446521448486, + 275.3934210388306, + 296.6097290440239, + 301.08361532649974, + 353.5714427790759, + 363.9005270484341, + 407.5717483866565, + 479.3058815192363, + 517.7315281914857, + 560.7337696835366, + 621.0740168062954, + 653.5102999293298, + 703.3440543886069, + 748.3129861233157, + 771.2348625467706, + 790.1662197278874, + 849.8972376064363, + 900.8356220745861 + ], + "sum": 20352.05728668209 + }, + "bsnr_legacy": { "max": 908.3569976016216, "median": 272.24369374445575, "n": 63, @@ -2978,6 +3675,47 @@ 71.16139347343282 ], "bsnr": { + "max": 2816.6585733795773, + "median": 177.06500281910732, + "n": 63, + "quantiles": [ + 1.0, + 1.1987482728215506, + 2.351219082965334, + 3.747020289381898, + 8.059482121179194, + 10.62568981213959, + 13.361354446858174, + 18.511633900451045, + 19.983445296159708, + 23.06128144806779, + 28.045027366570064, + 41.56623118528185, + 64.66929522150379, + 96.79917246687722, + 154.20966045120826, + 167.04534094934226, + 177.06500281910732, + 213.09226148264614, + 276.5978409601194, + 435.28967563331196, + 468.93806766878697, + 498.14008416064195, + 523.9130986666555, + 600.7657647717341, + 928.1703429771702, + 1162.1848028319935, + 1413.9870309166101, + 1586.263831088419, + 1701.1008142175613, + 1823.7010243458126, + 1962.6282760203158, + 2432.522046153921, + 2816.6585733795773 + ], + "sum": 36921.93799590278 + }, + "bsnr_legacy": { "max": 2775.816468596219, "median": 176.35715570003643, "n": 63, @@ -3150,6 +3888,47 @@ 70.77197080181868 ], "bsnr": { + "max": 322.6464279530926, + "median": 50.44654093366455, + "n": 64, + "quantiles": [ + 1.0, + 1.2323949742470008, + 2.23875889777139, + 3.988380880472735, + 7.971256338043985, + 11.621072398941957, + 12.640843712790005, + 16.91899155334495, + 21.387282369758097, + 22.568766748137655, + 23.439318745523607, + 25.51211681515346, + 33.65225891626763, + 36.05915138013501, + 39.19925755888252, + 47.91835789811956, + 50.44654093366455, + 58.81441588269309, + 67.45874738466101, + 73.54843998795238, + 75.09669246498595, + 81.60550600587804, + 83.77808669819457, + 86.73612264169887, + 92.86434292902982, + 94.3134473044683, + 105.35272904302332, + 116.37358593870034, + 140.80945260045547, + 156.89618408556552, + 178.61847733198593, + 276.77791092742865, + 322.6464279530926 + ], + "sum": 4498.543999249906 + }, + "bsnr_legacy": { "max": 322.8519619458472, "median": 50.60385214538043, "n": 64, @@ -3322,6 +4101,47 @@ 69.91868710188403 ], "bsnr": { + "max": 275.7623438748667, + "median": 56.034956480901855, + "n": 60, + "quantiles": [ + 1.0, + 1.2393895875583172, + 2.078117651026054, + 4.588488617069583, + 6.676861475092036, + 9.060145862805973, + 11.820505278650048, + 12.88405057220001, + 18.379543971053373, + 25.705760048234243, + 26.818148586006895, + 28.629010117005716, + 31.332771517749993, + 42.15060366442845, + 45.718000155725385, + 54.51962082055723, + 56.034956480901855, + 62.3866847767324, + 80.4693630286172, + 81.74034340112188, + 99.74016113929413, + 106.2842362346554, + 110.94041146885998, + 121.39005704046608, + 124.30523267258826, + 137.2003619984733, + 142.32522417580608, + 164.88833729543572, + 172.77578177861145, + 187.83001443618323, + 206.30805167397645, + 222.46243731493203, + 275.7623438748667 + ], + "sum": 4803.700956044005 + }, + "bsnr_legacy": { "max": 278.2020182104892, "median": 55.80796624791854, "n": 60, @@ -3494,6 +4314,47 @@ 45.731178397762164 ], "bsnr": { + "max": 376.13788873909465, + "median": 10.719793169486898, + "n": 64, + "quantiles": [ + 0.9862562949342966, + 1.0039262057961003, + 1.1890371890278444, + 1.5952107867253078, + 1.701270425455476, + 2.593385857681926, + 4.168093562208403, + 5.090240777514013, + 7.1140836906587595, + 7.566416139678688, + 8.225723405456481, + 8.42190641489767, + 8.994531617684448, + 9.435576447727328, + 9.842316088411367, + 9.981507309419259, + 10.719793169486898, + 11.950325771531134, + 12.53915657641257, + 13.101842838029368, + 15.93556203437923, + 18.46272289198012, + 33.87449469573653, + 46.20956821387079, + 55.93935853760106, + 62.17810940612949, + 79.54948848572297, + 91.1258358955617, + 108.47438279288171, + 168.84060972948808, + 261.2964778858151, + 336.52930403977297, + 376.13788873909465 + ], + "sum": 3305.5732138877265 + }, + "bsnr_legacy": { "max": 372.83607679547777, "median": 10.670080422967722, "n": 64, @@ -3666,6 +4527,47 @@ 45.166760039559136 ], "bsnr": { + "max": 279.1620446097526, + "median": 17.733524770783387, + "n": 65, + "quantiles": [ + 0.999999999999998, + 1.165605124473234, + 1.5197636009683846, + 1.762064313984235, + 2.2181864664527224, + 3.2789414282039813, + 4.276816474227763, + 5.929993851198052, + 7.509992920320931, + 9.004437786873378, + 9.597943055384397, + 10.477807261033114, + 11.810787279966556, + 14.146631679312463, + 15.571076114581372, + 16.943079839595075, + 17.733524770783387, + 20.35905163234822, + 23.602766677320634, + 26.098135159985304, + 28.521000998510985, + 32.98096892651588, + 45.937369482561735, + 79.61906494816452, + 82.18261769021207, + 95.6735151286284, + 105.88327721529491, + 114.35747601423193, + 163.30612560102833, + 175.34850509165386, + 194.13248837871825, + 255.56167180185022, + 279.1620446097526 + ], + "sum": 3607.532797232284 + }, + "bsnr_legacy": { "max": 280.96501054548946, "median": 17.905196254462528, "n": 65, @@ -3838,6 +4740,47 @@ 27.011893257380297 ], "bsnr": { + "max": 83.15330534716179, + "median": 20.612980072582143, + "n": 53, + "quantiles": [ + 0.999999999999998, + 1.1832338247070746, + 1.336816529749136, + 1.5427514898608814, + 1.9639601101068838, + 3.04112392317287, + 4.619876451947285, + 6.416494758826211, + 7.36705378231176, + 7.728981137760153, + 10.377453861300456, + 12.278249484611411, + 12.736697078720763, + 13.094823813794285, + 15.4583499920841, + 18.979369358999257, + 20.612980072582143, + 21.197197366968453, + 23.375122082004463, + 24.508792758750275, + 26.554309436210573, + 27.63500351130169, + 28.36118592262419, + 33.76224294128702, + 36.83351977116651, + 39.90510429445262, + 42.79446172445454, + 45.57888364501795, + 53.278097202754715, + 60.471083544796066, + 63.57963949496915, + 70.58665525322566, + 83.15330534716179 + ], + "sum": 1304.9220160836132 + }, + "bsnr_legacy": { "max": 83.69665114304891, "median": 20.612980072582108, "n": 53, @@ -4010,6 +4953,47 @@ 32.61822089549842 ], "bsnr": { + "max": 322.75318426044845, + "median": 53.92174664546116, + "n": 52, + "quantiles": [ + 1.0, + 1.107752899686246, + 1.5145914929810416, + 2.7882550479419015, + 3.7199724137805985, + 4.596610361556891, + 6.328431192504094, + 10.534427526932614, + 14.286046023474267, + 17.27109035826416, + 20.794403072968368, + 25.318623348495922, + 29.213759163604404, + 33.599387733944425, + 38.387236594247845, + 47.89748302204374, + 53.92174664546116, + 62.407398745200894, + 65.81149874264261, + 67.5995296101311, + 75.11630627841231, + 92.58423796723218, + 109.51967602987878, + 146.51929336035485, + 165.0110883080432, + 172.05559438076543, + 181.8572119572063, + 194.6938350036828, + 202.76446131808285, + 231.19093760714458, + 243.90514306840913, + 275.09611702410234, + 322.75318426044845 + ], + "sum": 4551.831596609855 + }, + "bsnr_legacy": { "max": 320.3271167773056, "median": 53.95183894791252, "n": 52, @@ -4182,6 +5166,47 @@ 38.355357142431345 ], "bsnr": { + "max": 185.64968104984231, + "median": 22.16753864063518, + "n": 55, + "quantiles": [ + 1.0, + 1.268416090163786, + 1.7580240203608892, + 2.2328320426926824, + 3.597921867462639, + 4.375922738049927, + 5.626371625237129, + 5.769998088234813, + 9.199985216173719, + 11.575279614970054, + 11.86376687504041, + 15.742509892870745, + 17.64040225380104, + 19.365036836567565, + 20.4944921626606, + 21.12004855538875, + 22.16753864063518, + 26.777183992317532, + 27.791451630591865, + 30.225792804323984, + 32.15244721169393, + 35.051636877575, + 45.68342093866496, + 53.31735296359311, + 67.99905576538733, + 82.00393152400324, + 101.09826215769806, + 121.01682733720848, + 128.52755142469624, + 135.41530453695614, + 141.75530813359646, + 162.02988109070944, + 185.64968104984231 + ], + "sum": 2560.0944321688316 + }, + "bsnr_legacy": { "max": 185.9247536560414, "median": 22.374541782477873, "n": 55, @@ -4354,6 +5379,47 @@ 38.355357142431345 ], "bsnr": { + "max": 278.0498076419579, + "median": 40.79127353648328, + "n": 55, + "quantiles": [ + 1.0, + 1.1393042921184968, + 1.6239753252827607, + 3.1630079855532633, + 5.5308111882194675, + 6.40924970359762, + 7.098095646458909, + 9.002527360242254, + 9.494539538083252, + 10.889283526137264, + 12.315218128548034, + 16.42864737499006, + 22.136100343170323, + 23.968103494802584, + 30.664220962448923, + 35.648924982587566, + 40.79127353648328, + 52.82067603378835, + 60.29157408705041, + 69.13167034076125, + 80.32973771255368, + 100.51618663586602, + 149.74006074390562, + 185.99119102629007, + 204.59930294149802, + 214.34536500119088, + 230.243301501625, + 235.59247976392516, + 240.00852172677122, + 240.69118841093962, + 247.64562510261925, + 255.21839844808665, + 278.0498076419579 + ], + "sum": 5088.208826383721 + }, + "bsnr_legacy": { "max": 279.6542621924411, "median": 41.08443313229024, "n": 55, @@ -4526,6 +5592,47 @@ 35.39620675019735 ], "bsnr": { + "max": 263.39252314785915, + "median": 21.186813883922365, + "n": 53, + "quantiles": [ + 1.0, + 1.277253515612683, + 1.6496717811211115, + 2.675315471518572, + 3.3084366974369797, + 3.8222694114828126, + 5.209459337544413, + 6.1274726983019026, + 7.477344073195131, + 8.205158833873597, + 9.118058758321222, + 11.823302779934863, + 13.038688498692927, + 15.078055733783904, + 17.54816961876539, + 18.92659604170863, + 21.186813883922365, + 24.598919535168697, + 34.545452456668215, + 48.95688419915229, + 57.3772099768607, + 70.82367568280799, + 73.09521015482593, + 91.39567889654079, + 102.30348489798168, + 110.21083842017255, + 129.92521642314188, + 152.7305243894229, + 159.40886372803718, + 186.77428761377107, + 229.78820521406914, + 257.77834410558125, + 263.39252314785915 + ], + "sum": 3398.8584921989295 + }, + "bsnr_legacy": { "max": 263.1804156443271, "median": 21.243976665541684, "n": 53, @@ -4698,6 +5805,47 @@ 25.363633373438088 ], "bsnr": { + "max": 374.9610304840844, + "median": 41.87222229280058, + "n": 51, + "quantiles": [ + 0.999999999999998, + 1.2499559959950028, + 1.6603410803635676, + 1.9626857295970608, + 2.1976345263220765, + 2.338389930285868, + 3.5486871568372376, + 5.617687594154074, + 9.199523879422003, + 11.740601063421655, + 13.265809789011556, + 13.925593271873884, + 14.969939070925712, + 21.473739676015484, + 25.720418532577458, + 34.83598335317098, + 41.87222229280058, + 52.77463405477754, + 58.22730577879419, + 95.13147767268018, + 115.88170896299462, + 147.04562826385842, + 153.78047569495192, + 156.81478079163546, + 184.6822604948349, + 209.84932879503256, + 219.07195401953268, + 256.4952238276696, + 280.4821913205104, + 284.69825359607904, + 302.81016222597077, + 344.3779986363902, + 374.9610304840844 + ], + "sum": 5276.9551838043435 + }, + "bsnr_legacy": { "max": 370.9467017344628, "median": 42.247912890922706, "n": 51, @@ -4872,6 +6020,47 @@ 32.788643482803174 ], "bsnr": { + "max": 703.3076742984755, + "median": 67.33559621669676, + "n": 78, + "quantiles": [ + 0.9996181833544275, + 1.1040451889572995, + 1.40780975115194, + 1.8655678109832532, + 2.1269407925051493, + 3.6775793869120834, + 5.481379545351668, + 7.1534238742738, + 8.38523858259673, + 15.083970187785306, + 17.57107478869153, + 19.50355275204214, + 24.643400465791338, + 32.07642756385589, + 41.64658833584514, + 56.32092710833663, + 67.33559621669676, + 75.42099889095738, + 82.39425276104261, + 94.89451453802387, + 98.62732235713332, + 106.71601833541341, + 117.02969755225209, + 123.16014233847605, + 135.13330241024178, + 166.49894866342024, + 181.98846784443325, + 186.4824408637022, + 235.00313606701283, + 319.30756521279176, + 433.77541988182054, + 521.0505360783642, + 703.3076742984755 + ], + "sum": 8916.688820033123 + }, + "bsnr_legacy": { "max": 703.5242012496182, "median": 67.34940626028808, "n": 78, @@ -5044,6 +6233,47 @@ 31.23385155720966 ], "bsnr": { + "max": 984.2366425937314, + "median": 16.413201462812246, + "n": 66, + "quantiles": [ + 0.9917292833396676, + 1.1675966307981045, + 1.2267474678617518, + 1.2661136703700195, + 1.4273671201333917, + 1.8532797211865284, + 2.4807663032503524, + 3.264374747997312, + 4.971017848858275, + 5.742846645514422, + 7.364997990920435, + 8.564343743160864, + 10.885698852140134, + 12.082750042509423, + 13.289522417666292, + 15.697253972655298, + 16.413201462812246, + 19.398549006633633, + 21.1837744511849, + 26.0323491769184, + 40.142914579841076, + 60.5023553069832, + 98.58624786645152, + 133.9197287846495, + 167.29688689790675, + 209.98207024209108, + 231.17531615703192, + 261.90431034112385, + 289.0576788733955, + 333.48282947279904, + 390.7589130508296, + 533.6499073400693, + 984.2366425937314 + ], + "sum": 7176.748247886009 + }, + "bsnr_legacy": { "max": 994.7257312439382, "median": 16.346968255673698, "n": 66, @@ -5216,6 +6446,47 @@ 38.59542615124991 ], "bsnr": { + "max": 1633.3610923661918, + "median": 83.11692336982495, + "n": 80, + "quantiles": [ + 0.5421628796683111, + 1.1389174420659403, + 1.716499536505804, + 2.645957378882436, + 4.552540378186706, + 7.281967263498948, + 9.0893699127126, + 10.607667058098105, + 17.01631979279325, + 21.866795235254543, + 32.07689019620765, + 38.555677664464746, + 47.6602889076443, + 51.13889800929503, + 62.30162831669731, + 70.88442966082364, + 83.11692336982495, + 100.31282417755229, + 127.3718224411072, + 139.675507210694, + 146.1327036846828, + 167.1812547927212, + 206.83454620427494, + 254.0525068968236, + 318.12034714524157, + 345.6573574193168, + 510.64112410895774, + 638.5726296132161, + 674.905375221549, + 795.3247797464524, + 922.8626348111693, + 1120.4018315492478, + 1633.3610923661918 + ], + "sum": 19767.54791005294 + }, + "bsnr_legacy": { "max": 1636.9854853158008, "median": 83.10305657604279, "n": 80, @@ -5388,6 +6659,47 @@ 37.53007532565119 ], "bsnr": { + "max": 1420.901041218808, + "median": 41.33479005546657, + "n": 79, + "quantiles": [ + 0.22468375220594686, + 0.40564420213293995, + 0.9822793076965127, + 1.869951905549887, + 3.6401130341230097, + 5.278515714174534, + 6.094050383004451, + 6.727938717377659, + 10.20543774922029, + 16.735007134152188, + 19.88403551757038, + 22.95865396486443, + 24.97623931182321, + 27.778640627028143, + 34.66263347098369, + 37.35319080073558, + 41.33479005546657, + 49.94013662191056, + 65.92511503409287, + 76.13050901056535, + 82.65859475149061, + 105.4325214861269, + 124.78469443822583, + 144.9459862187672, + 168.76083559959363, + 186.59433945587818, + 207.81331783099802, + 226.75804916711496, + 279.131058375333, + 346.7139236913593, + 485.3925527465207, + 767.9259896256788, + 1420.901041218808 + ], + "sum": 10835.387373176069 + }, + "bsnr_legacy": { "max": 1426.8574027206614, "median": 41.27438580228379, "n": 79, @@ -5560,6 +6872,47 @@ 23.61945176501958 ], "bsnr": { + "max": 102.7853081441785, + "median": 11.305168255633847, + "n": 77, + "quantiles": [ + 0.5290320558688548, + 1.4027917273579182, + 1.6923851083981236, + 2.1233392417518733, + 2.8198648993132664, + 3.1671599840648357, + 3.5311463327825767, + 4.333521232247021, + 4.503646924750764, + 4.726623935087051, + 5.123929472121349, + 6.012336698219681, + 6.4140270754390825, + 7.566381857381766, + 8.465851164858146, + 9.697067486183974, + 11.305168255633847, + 12.77373077897384, + 13.380350025051515, + 15.680898138796644, + 19.040277977037015, + 21.3797304447953, + 26.301546206075344, + 27.979266023811178, + 30.8852683953117, + 33.82919842663609, + 36.38716019145752, + 43.34482353590615, + 51.36121541020017, + 55.287739173551635, + 70.44818970276822, + 79.61258938394619, + 102.7853081441785 + ], + "sum": 1638.3572259661692 + }, + "bsnr_legacy": { "max": 104.01321968801396, "median": 11.24768602555098, "n": 77, @@ -5732,6 +7085,47 @@ 9.245914728081909 ], "bsnr": { + "max": 92.42333262769407, + "median": 6.841556629196704, + "n": 75, + "quantiles": [ + 0.08372633726656403, + 0.6724704347880402, + 0.9549336395792782, + 1.4550085530271122, + 2.001968762538582, + 2.2531219800479083, + 2.6688499885748707, + 3.2553114569811634, + 3.466771962687771, + 4.175666611187529, + 4.654907730407608, + 4.871780374582507, + 5.115301281727964, + 5.237316760164289, + 5.468113940295588, + 6.358489760756304, + 6.841556629196704, + 7.653138604748988, + 8.473645889196757, + 8.607055243389855, + 9.344783415929541, + 12.238883130942995, + 12.90499656639301, + 13.4283410979128, + 15.425047732775319, + 16.809226551071855, + 21.07605740352725, + 24.214269726256198, + 30.5837312223056, + 40.10825996908899, + 47.347341854875026, + 61.54861224978705, + 92.42333262769407 + ], + "sum": 1061.679359332676 + }, + "bsnr_legacy": { "max": 92.50761985752243, "median": 6.847821717569114, "n": 75, @@ -5904,6 +7298,47 @@ 7.041619439901746 ], "bsnr": { + "max": 257.3078136024008, + "median": 9.788757776823058, + "n": 76, + "quantiles": [ + 0.3128364709932158, + 0.6406108692200319, + 0.9315174862997229, + 0.991684537939778, + 1.1498928009628397, + 1.2004529644019835, + 1.7384980413727074, + 2.19600791030897, + 2.6660645781324397, + 2.9033663663078233, + 3.6944845239490416, + 3.8657531243857473, + 4.0267606103593385, + 5.529507257981996, + 6.690313685560171, + 8.5951052637372, + 9.788757776823058, + 10.648080725699412, + 11.3872292384438, + 12.263762421718473, + 13.434763181981728, + 18.897532709694726, + 21.96335609137544, + 25.056493337893567, + 32.822085496687926, + 42.964572555166534, + 46.13920428028889, + 56.51224743231587, + 73.19826093714951, + 90.07257623285787, + 102.1206957034036, + 136.4849028151585, + 257.3078136024008 + ], + "sum": 2199.224337306678 + }, + "bsnr_legacy": { "max": 258.5912023922253, "median": 9.79874395626522, "n": 76, @@ -6076,6 +7511,47 @@ 10.475901429815453 ], "bsnr": { + "max": 385.6136705753922, + "median": 8.430791414942291, + "n": 72, + "quantiles": [ + 0.4299938407822906, + 0.9411036053768036, + 1.2943466528991319, + 1.5349733739339495, + 1.888755060518109, + 2.050894223010093, + 2.1199176173674497, + 2.3106006178675362, + 2.4208649255116534, + 2.8068525150670105, + 2.9267252949467264, + 3.4034706443175784, + 4.414956984391129, + 5.482719488738632, + 6.938638682212703, + 7.24760405923665, + 8.430791414942291, + 9.19804817886394, + 10.091379487685987, + 10.963914065473373, + 12.983568760196707, + 13.842204301032027, + 14.997731736175451, + 16.83124358923634, + 20.56512510235035, + 26.33579214269513, + 35.025826872652466, + 52.255344995246794, + 68.18373608738175, + 76.7032658068052, + 149.823378934154, + 263.2083965305832, + 385.6136705753922 + ], + "sum": 2404.3045345833466 + }, + "bsnr_legacy": { "max": 384.7517452667622, "median": 8.454188725750445, "n": 72, @@ -6288,6 +7764,47 @@ ], "sum": 806.3721216517607 }, + "bsnr_legacy": { + "max": 104.51249851432456, + "median": 3.1135187012961274, + "n": 73, + "quantiles": [ + 0.38430864160775197, + 0.5376815884461621, + 0.6092493792116812, + 0.6549144399898579, + 0.675009063112409, + 0.8047089180814004, + 0.9088455175357855, + 1.0947219241597819, + 1.2187862890467756, + 1.2943507709755873, + 1.522304069522614, + 1.749271713444036, + 2.139157516133994, + 2.235411117483343, + 2.6266452519007952, + 2.9159900200109363, + 3.1135187012961274, + 4.74293918285536, + 5.478852745567918, + 5.919977381848245, + 6.922350822069361, + 8.736337896733687, + 9.129585535288376, + 10.72769353723303, + 12.218815828588355, + 14.381086175297206, + 17.184639087191332, + 21.980111099857645, + 24.03189740334767, + 30.36089866588297, + 41.43278731098474, + 55.85694198676859, + 104.51249851432456 + ], + "sum": 806.3721216517607 + }, "freq": { "max": 50.0, "median": 25.208333333333336, @@ -6460,6 +7977,47 @@ ], "sum": 480.0799339428396 }, + "bsnr_legacy": { + "max": 85.96861713399892, + "median": 2.163595898138862, + "n": 71, + "quantiles": [ + 0.20741558392852638, + 0.2883518261330037, + 0.3642799332074592, + 0.381833829541122, + 0.39566912201521653, + 0.4569984765783703, + 0.5189799740445411, + 0.5776902712043718, + 0.6349630024745391, + 0.7387789333584366, + 0.818520866685807, + 0.8674429385975142, + 0.9720111691120448, + 1.1633844505536959, + 1.512859255572662, + 1.889644459264364, + 2.163595898138862, + 2.18010803889983, + 2.448271074803562, + 2.7738046739587676, + 3.4244732357364884, + 4.273284808368443, + 4.80395743582446, + 6.055886542630269, + 7.05904577983133, + 7.732071661322639, + 9.719553280523739, + 11.02551449043097, + 11.801048371560968, + 15.260409122792435, + 23.635857264248763, + 40.820084080124936, + 85.96861713399892 + ], + "sum": 480.0799339428396 + }, "freq": { "max": 50.0, "median": 25.229357798165136, @@ -6592,6 +8150,47 @@ 45.738160295630905 ], "bsnr": { + "max": 751.7736855470969, + "median": 108.84352249568227, + "n": 81, + "quantiles": [ + 1.0, + 2.493800060075495, + 7.805944938579192, + 13.802281624561914, + 17.004286983848317, + 28.368401610351217, + 38.14517686782677, + 46.23157690214828, + 54.48957173369397, + 56.65159359652779, + 64.62184044086688, + 72.29619806387547, + 78.36249502717608, + 82.76189032917381, + 94.85601655006438, + 102.86942949612359, + 108.84352249568227, + 110.6900661083522, + 116.08080011356297, + 126.38612345243425, + 131.62720892411258, + 134.927369323546, + 143.9665907112622, + 160.74084880645836, + 190.91722457609762, + 209.9523902399999, + 251.10121497815564, + 285.3020086568804, + 309.3979534090241, + 356.0646437690079, + 500.362872347823, + 635.9398493857095, + 751.7736855470969 + ], + "sum": 12583.81021572602 + }, + "bsnr_legacy": { "max": 753.2197849686319, "median": 109.29265553382838, "n": 81, @@ -6764,6 +8363,47 @@ 44.37797511381281 ], "bsnr": { + "max": 1659.7367164441594, + "median": 134.14095879865954, + "n": 80, + "quantiles": [ + 0.22509229749944368, + 1.5366616019760768, + 6.970301877392528, + 20.641684276628528, + 36.23121898298434, + 45.914578069776184, + 64.69347231112052, + 73.16392083300471, + 84.94394189633117, + 91.8491466470766, + 100.3210455945979, + 104.06344995080855, + 108.04844258722177, + 113.8499491731556, + 116.19607240831775, + 123.14114886904356, + 134.14095879865954, + 139.26691087036355, + 149.47221288001336, + 175.6539333386927, + 191.2377958269479, + 195.53220684414413, + 205.36154755404482, + 213.8979244486432, + 262.19018767615603, + 301.0957804988484, + 355.6553563854652, + 450.188310181046, + 582.2931310069308, + 604.9094232864809, + 810.291316740199, + 1073.2059198041077, + 1659.7367164441594 + ], + "sum": 19917.931821161084 + }, + "bsnr_legacy": { "max": 1662.3268595252077, "median": 134.39547951028362, "n": 80, @@ -6936,6 +8576,47 @@ 19.94609399915649 ], "bsnr": { + "max": 302.50612332965636, + "median": 23.161983211675725, + "n": 70, + "quantiles": [ + 0.80546694967817, + 1.072872222651787, + 1.7630924621812212, + 2.058873138633756, + 2.3971909697113167, + 3.0137420069876066, + 4.546512146750108, + 5.351928430331493, + 7.009559347219887, + 8.243119561970412, + 9.17418504476546, + 10.787027595851804, + 13.000311993298713, + 13.821300103579201, + 16.156420731788863, + 19.181155516058922, + 23.161983211675725, + 28.168099976264784, + 32.89700978798823, + 36.66598263181069, + 42.941380813930785, + 50.502058341044574, + 61.7848712549765, + 64.62349101662657, + 96.6549145188362, + 106.07277399427304, + 109.02498638701758, + 127.5461136244248, + 165.54174677058722, + 196.9333291086664, + 219.1105397391303, + 253.00712254080608, + 302.50612332965636 + ], + "sum": 4199.684848368137 + }, + "bsnr_legacy": { "max": 300.7447575482362, "median": 23.176440216177618, "n": 70, @@ -7108,6 +8789,47 @@ 27.206502746088496 ], "bsnr": { + "max": 900.2622410841838, + "median": 26.71155619860477, + "n": 70, + "quantiles": [ + 0.710155961609447, + 1.0264470851114518, + 1.2949808912463703, + 1.888803544501851, + 2.448904226207933, + 4.232578993907075, + 5.679061161179527, + 6.6173791696180295, + 8.848398226773158, + 10.87128033538875, + 13.415491533913313, + 17.270940956858418, + 18.80754411751789, + 19.13079362174056, + 22.974884799944014, + 25.69167558812959, + 26.71155619860477, + 28.30766943151966, + 41.77416195886618, + 45.72786101810738, + 50.23090878259268, + 54.44386615351543, + 67.57243811930685, + 78.44062992315443, + 82.54653830375197, + 84.05114238830163, + 100.68570803366019, + 112.6802721772709, + 137.83140412372754, + 154.65626980257423, + 178.50942541059635, + 464.54585705676635, + 900.2622410841838 + ], + "sum": 5197.309861678041 + }, + "bsnr_legacy": { "max": 901.7927434469758, "median": 26.671478054177133, "n": 70, @@ -7280,6 +9002,47 @@ 80.77427233709817 ], "bsnr": { + "max": 394.30033266675815, + "median": 31.038914450670056, + "n": 92, + "quantiles": [ + 0.9989490184012779, + 1.5751109432207946, + 3.005594263265114, + 5.464276801360421, + 7.336837947545931, + 9.457909147601576, + 10.96947553539959, + 12.536251717622047, + 15.46643729722234, + 16.523605106569377, + 18.30965593257655, + 20.597483884811446, + 24.003992662265752, + 25.975592941048, + 27.932801487617787, + 29.732051840195624, + 31.038914450670056, + 32.89013271487156, + 36.55883979663684, + 40.112140581091055, + 47.31996380417897, + 59.597776999339374, + 63.14148135429321, + 103.39612215114987, + 113.17189024710027, + 119.93086618363498, + 128.5101308547414, + 140.5969665413725, + 147.03230300351413, + 192.92445968268598, + 237.550847164966, + 283.8351310366637, + 394.30033266675815 + ], + "sum": 6394.884870152457 + }, + "bsnr_legacy": { "max": 396.44167781912284, "median": 31.018443787535915, "n": 92, @@ -7452,6 +9215,47 @@ 52.70836316105784 ], "bsnr": { + "max": 925.0231962862374, + "median": 37.36106407711528, + "n": 91, + "quantiles": [ + 0.992759142318199, + 1.1272248091078172, + 1.3184578006396401, + 1.8107099660014931, + 2.0417453113956476, + 2.5730508709646815, + 3.069855124498567, + 6.079520787867441, + 6.638860029709072, + 10.408702726849157, + 13.698216299523256, + 19.805735802011547, + 24.5642316725812, + 28.59531495181632, + 31.79916440059623, + 33.011589410690256, + 37.36106407711528, + 52.962175459233926, + 62.79903707354654, + 66.43320446540244, + 79.63590629496898, + 91.95810012821218, + 104.05982035755702, + 138.21921119551, + 161.17814055632925, + 218.36856306141576, + 247.2458374343233, + 293.09736139092155, + 333.1109464571498, + 411.4453295282748, + 469.70405398339534, + 532.0917311928936, + 925.0231962862374 + ], + "sum": 11274.542167420062 + }, + "bsnr_legacy": { "max": 926.8288158284539, "median": 37.3157134829631, "n": 91, @@ -7624,6 +9428,47 @@ 87.288590981566 ], "bsnr": { + "max": 7824.587392753838, + "median": 608.8809585098743, + "n": 91, + "quantiles": [ + 1.0, + 1.9865160205221302, + 9.399639602663752, + 20.096966639582718, + 36.33775976887201, + 48.703576198347015, + 63.23355806177942, + 88.7566071479937, + 135.21110797922526, + 159.6688296263042, + 216.27617092826657, + 257.5098759746485, + 280.5904123405352, + 343.55647744953706, + 461.8683871222574, + 555.0232082818783, + 608.8809585098743, + 670.4517134509306, + 703.1798297707847, + 804.0022236979041, + 979.6530879361194, + 1029.828723842499, + 1198.1493459342519, + 1338.6422504192774, + 1405.1080667493593, + 1481.2748244651443, + 1631.4115086595416, + 1755.9926243810855, + 2074.1826001502295, + 2486.7379080528485, + 3385.4461499348195, + 4956.248919340319, + 7824.587392753838 + ], + "sum": 98188.76625404968 + }, + "bsnr_legacy": { "max": 7822.494840309872, "median": 607.7175290886282, "n": 91, @@ -7796,6 +9641,47 @@ 94.27281435133563 ], "bsnr": { + "max": 7301.913301057131, + "median": 598.3714708213686, + "n": 90, + "quantiles": [ + 1.0, + 5.355593293557972, + 12.053477127725397, + 17.652571270517882, + 29.703669933216887, + 52.41184185971882, + 91.75273661397912, + 100.40343373195968, + 114.34352153727257, + 146.94296721875168, + 205.2468263974023, + 272.0679104398864, + 340.5889562202859, + 381.31005872373987, + 417.95448388438484, + 535.4493669604798, + 598.3714708213686, + 650.290132052732, + 743.8412456083963, + 754.6596334527715, + 847.3145129977254, + 1049.2718789128007, + 1088.2166317144602, + 1168.5075534519883, + 1250.3049155742538, + 1312.5980385589205, + 1585.6378275925174, + 1977.2017429616633, + 2613.741790379639, + 3166.670713062889, + 3811.505909157074, + 4398.65531055281, + 7301.913301057131 + ], + "sum": 94484.94757470986 + }, + "bsnr_legacy": { "max": 7296.399343388746, "median": 595.8001296873556, "n": 90, @@ -7968,6 +9854,47 @@ 94.21104790578656 ], "bsnr": { + "max": 2382.6017199235243, + "median": 151.79274535495514, + "n": 91, + "quantiles": [ + 1.0, + 2.9686741888274, + 12.068031983089138, + 21.412035139412573, + 28.663988056146636, + 33.7200667527546, + 40.716386235679096, + 44.39031998396704, + 46.30679786815092, + 54.89154865284771, + 72.17228558338374, + 97.468531018753, + 107.684142888861, + 114.54808359329108, + 124.580761742669, + 142.0720251494362, + 151.79274535495514, + 168.48835285163818, + 181.8333126292495, + 203.34792521685495, + 234.50672881446692, + 246.64005286280997, + 263.95241581912717, + 284.59505111502534, + 299.9609646321372, + 339.8997594715999, + 393.5084709482054, + 433.5124389400501, + 580.6447786272372, + 659.8956281541876, + 752.432995094999, + 1022.7513986663264, + 2382.6017199235243 + ], + "sum": 24898.940632045375 + }, + "bsnr_legacy": { "max": 2380.6689347903366, "median": 150.87635690468105, "n": 91, @@ -8140,6 +10067,47 @@ 94.47315173882237 ], "bsnr": { + "max": 2094.879002521718, + "median": 88.29297406659832, + "n": 86, + "quantiles": [ + 1.0, + 3.5861052808198286, + 4.35811107937732, + 5.743142036664074, + 9.58687880066938, + 12.238990167917725, + 14.88032450417319, + 19.8143596209601, + 26.520497706108756, + 33.506189928601984, + 47.917916314322866, + 55.92668837462595, + 61.73762808763941, + 66.7814100559621, + 69.17175707876005, + 74.26318344249562, + 88.29297406659832, + 105.28769673808331, + 115.65984016254627, + 130.79781738687328, + 151.2721868318017, + 163.44282547218154, + 170.51840331914903, + 185.61041353761482, + 238.69293905506478, + 314.87934584793123, + 377.1163103565662, + 394.5697555749034, + 432.48619278419903, + 515.8781622584598, + 820.164840336362, + 1282.6184325218799, + 2094.879002521718 + ], + "sum": 19692.644863189453 + }, + "bsnr_legacy": { "max": 2103.847831660521, "median": 87.95532173251942, "n": 86, @@ -8312,6 +10280,47 @@ 66.42535104304301 ], "bsnr": { + "max": 379.4078050835924, + "median": 33.43998849058503, + "n": 92, + "quantiles": [ + 0.4971708312626653, + 0.9679577386586332, + 1.3034310905462605, + 1.694162285143927, + 2.8791794803299733, + 5.702308463058705, + 5.950271474755103, + 7.201262153193576, + 7.730792645209936, + 12.744189847501154, + 15.430294716287433, + 18.79976826967991, + 19.971732235830764, + 21.73873352743323, + 25.663871427289653, + 27.552463089639073, + 33.43998849058503, + 38.9300593013141, + 42.89807000361764, + 47.62972795646078, + 48.43842536260422, + 57.92083340873388, + 62.27068320963191, + 67.47959374072555, + 72.2908977875777, + 94.355923351514, + 109.85375761420106, + 123.97888324703537, + 144.83916368809855, + 164.5495207316979, + 204.3652800438792, + 232.67710475326587, + 379.4078050835924 + ], + "sum": 5572.012377960782 + }, + "bsnr_legacy": { "max": 380.8278580021591, "median": 33.55390758962118, "n": 92, @@ -8484,6 +10493,47 @@ 68.6920743469019 ], "bsnr": { + "max": 338.00093558496127, + "median": 66.78444870829036, + "n": 93, + "quantiles": [ + 0.9973692709562401, + 1.0762338276475472, + 1.9324697102570372, + 3.716583451402382, + 6.096223345933329, + 7.178634954935589, + 11.062530745374554, + 12.908937034008467, + 18.82485134982208, + 24.147603819437137, + 32.48708700433324, + 38.06807384933515, + 39.788978946348394, + 50.045351944020666, + 52.40750600826934, + 60.214515127417386, + 66.78444870829036, + 77.04480755261588, + 81.90379545877344, + 91.08237004781967, + 96.02090640351193, + 101.38447721195506, + 108.23374191740157, + 113.29221537396579, + 122.11986892588662, + 138.50854805052214, + 143.52561811275947, + 168.5327150148503, + 189.7628783933962, + 201.13274523948616, + 213.2717698574489, + 237.4366746240224, + 338.00093558496127 + ], + "sum": 7850.214007599133 + }, + "bsnr_legacy": { "max": 337.11779881879426, "median": 66.32241807997995, "n": 93, @@ -8656,6 +10706,47 @@ 33.28274558056363 ], "bsnr": { + "max": 167.2281159487752, + "median": 27.016200523866335, + "n": 74, + "quantiles": [ + 0.9744299138593153, + 1.117200527522754, + 2.2652937706821357, + 3.4777266627556, + 4.856082218119494, + 5.205403142075117, + 6.0059165591397665, + 6.5574078560786395, + 7.757134720584837, + 8.355238218329568, + 9.296185827240787, + 10.211016618007106, + 11.379532011410767, + 13.43217234100517, + 14.90966274591295, + 17.728806579764957, + 27.016200523866335, + 32.474836073518524, + 33.26557445103383, + 38.84595307803565, + 39.75486732201298, + 43.57231696392002, + 46.04706035905456, + 51.525977448452316, + 55.405558932224565, + 65.36353626451638, + 82.00097113941204, + 85.45415222340065, + 96.61926854594343, + 114.63706782343682, + 130.32129496974426, + 147.3535204920836, + 167.2281159487752 + ], + "sum": 3041.893178918732 + }, + "bsnr_legacy": { "max": 166.33287182373888, "median": 26.911700678714446, "n": 74, @@ -8828,6 +10919,47 @@ 26.892138753418887 ], "bsnr": { + "max": 690.8959665553563, + "median": 59.44354777152865, + "n": 73, + "quantiles": [ + 0.9892400205451307, + 1.6540064348596641, + 1.8795693962143432, + 2.3059253693717263, + 4.121220572888932, + 5.6229767470138405, + 6.4980217261022, + 8.30773915502908, + 10.243559656131833, + 14.181731824268473, + 15.983329190662335, + 16.78304428967341, + 19.756490511530146, + 30.49672775033122, + 40.01263233252365, + 53.12763050015831, + 59.44354777152865, + 66.22796120029179, + 76.38342565888526, + 80.96766344413712, + 95.72370967517008, + 105.4700646945682, + 120.39375089673658, + 141.85235608891296, + 159.929561764324, + 210.3735670159323, + 227.6670006286388, + 230.77192859178788, + 264.77025357034745, + 284.40523537336503, + 345.78203501031953, + 403.50855896659317, + 690.8959665553563 + ], + "sum": 7929.949994155223 + }, + "bsnr_legacy": { "max": 693.3445720128898, "median": 59.37331146246937, "n": 73, @@ -9000,6 +11132,47 @@ 43.030304197326 ], "bsnr": { + "max": 531.411668147956, + "median": 68.12758138229367, + "n": 78, + "quantiles": [ + 1.0, + 1.0473461238016655, + 2.365249448244786, + 5.366412914743712, + 6.955176621601399, + 10.500325910070934, + 12.869323578728428, + 16.864867038289088, + 19.20043512136138, + 20.64556332554613, + 25.639929227843137, + 33.72014062958247, + 42.18194244252858, + 50.02818450541882, + 54.41828959358762, + 60.88343632781282, + 68.12758138229367, + 75.08802306886265, + 78.84458311662188, + 85.86213004967708, + 99.24400420467639, + 105.71359827564629, + 109.37469570056345, + 117.33542860702416, + 118.71292985553046, + 124.93067191055458, + 146.04673805987403, + 152.52263988524567, + 173.2790772770737, + 186.6601611430512, + 264.44200939608885, + 347.44272800792874, + 531.411668147956 + ], + "sum": 7179.791623542284 + }, + "bsnr_legacy": { "max": 530.0309803110644, "median": 68.22629307290735, "n": 78, @@ -9172,6 +11345,47 @@ 45.84946131232292 ], "bsnr": { + "max": 1517.6644527720032, + "median": 90.67387693553881, + "n": 77, + "quantiles": [ + 1.0, + 2.516461409166474, + 3.9915186986460216, + 5.445242730895617, + 11.100800900761588, + 18.53642694229849, + 19.795047890067707, + 20.99672361326331, + 25.32441572284707, + 38.66460768999752, + 51.39225949628216, + 55.50376799851574, + 64.1441359863841, + 77.12590788849896, + 80.73739015306153, + 87.10655325730421, + 90.67387693553881, + 99.26365399088257, + 118.15368223709498, + 134.0918645580233, + 148.40383757505322, + 170.12245645172646, + 196.4917538855348, + 214.7895244447402, + 223.56725379646215, + 233.53168884002287, + 263.1120174119687, + 280.4228706237618, + 307.10509902483227, + 423.54810785109726, + 431.4138964499539, + 573.3611880071525, + 1517.6644527720032 + ], + "sum": 12874.056644727989 + }, + "bsnr_legacy": { "max": 1513.5289765664083, "median": 90.63755358250646, "n": 77, @@ -9344,6 +11558,47 @@ 40.4117258750204 ], "bsnr": { + "max": 411.90742135458214, + "median": 43.36145880309533, + "n": 74, + "quantiles": [ + 0.9975877054913207, + 1.5528750729986258, + 2.4285609035849856, + 4.639543594517143, + 5.44021967496227, + 8.483785990713573, + 11.441381066694127, + 14.315671992829085, + 14.919449000214215, + 16.267522766190776, + 16.74908399703278, + 24.27329583698877, + 25.01384881836221, + 27.172601475538144, + 30.10340242095831, + 35.4024538711641, + 43.36145880309533, + 47.06144020987363, + 55.7048338556857, + 65.32144118579312, + 69.08553410041007, + 73.59621879601274, + 82.8661808306598, + 94.65168649513066, + 123.12375573389457, + 140.5719827704365, + 157.08902873112865, + 174.9241841729016, + 200.95996890629937, + 212.55093418829608, + 253.7443104160827, + 348.47679840681144, + 411.90742135458214 + ], + "sum": 6083.861482309397 + }, + "bsnr_legacy": { "max": 413.0952972990858, "median": 43.298681481606664, "n": 74, @@ -9516,6 +11771,47 @@ 28.034150656401575 ], "bsnr": { + "max": 1605.7974987655582, + "median": 100.15661136859453, + "n": 71, + "quantiles": [ + 0.7660423873036307, + 2.3804856983344305, + 3.7896983608076535, + 5.814506035264804, + 5.986044985545037, + 8.38663628715486, + 8.676961880174725, + 11.203203498340025, + 12.402269876429969, + 14.806188824197266, + 17.261273890612273, + 22.534849625364306, + 28.793551402198066, + 35.925153034852144, + 53.33873301819994, + 69.55538305913723, + 100.15661136859453, + 115.65617805197398, + 131.48586469565993, + 133.99589057157067, + 141.9135453247796, + 205.40078214909516, + 224.3577202771291, + 234.70135376856123, + 244.19875511786813, + 309.8230840566953, + 344.3249992306893, + 414.90037446822123, + 608.0642393482475, + 764.0368500022946, + 936.4451987754713, + 1081.9149469965812, + 1605.7974987655582 + ], + "sum": 16277.707737805811 + }, + "bsnr_legacy": { "max": 1604.4648374628998, "median": 100.4269655024092, "n": 71, @@ -9690,6 +11986,47 @@ 47.39421263878397 ], "bsnr": { + "max": 1016.2230277866856, + "median": 239.108534521913, + "n": 78, + "quantiles": [ + 0.999999999999998, + 3.1443873655935035, + 6.893154105229383, + 18.212565827042706, + 36.417374982993344, + 42.118592413837845, + 71.90588844466424, + 97.12517381079806, + 106.30748559786372, + 110.67824606739485, + 121.08230367415669, + 128.3580982538498, + 142.10855213539077, + 165.15450849723564, + 185.62761630795043, + 225.70109968110955, + 239.108534521913, + 251.9118758629852, + 277.2042017805999, + 286.0928155391969, + 332.7290089662183, + 353.564811548676, + 383.63943437047215, + 415.393662304284, + 447.00934149673054, + 490.28246832794343, + 529.1631918110693, + 562.4208671470067, + 608.0254722761508, + 690.4171348725084, + 844.0904292325848, + 901.5894106542194, + 1016.2230277866856 + ], + "sum": 23567.26884488329 + }, + "bsnr_legacy": { "max": 1016.5325265023649, "median": 238.95409665421573, "n": 78, @@ -9862,6 +12199,47 @@ 47.53587686428251 ], "bsnr": { + "max": 1317.923388445807, + "median": 144.83222554573342, + "n": 66, + "quantiles": [ + 1.0, + 9.478836659941878, + 28.981929076272003, + 37.614706686526645, + 51.211988047982175, + 65.13967582331317, + 74.61341456043233, + 87.97949937550169, + 92.71261725334509, + 104.46450394925384, + 107.26391109842439, + 118.93000588080785, + 124.5781611916991, + 130.66651259162543, + 132.1701524631329, + 136.75257350137127, + 144.83222554573342, + 152.4030849416422, + 181.4352510871308, + 220.871496242203, + 238.40228416646983, + 255.3899058877197, + 307.7082066211672, + 382.36369036805183, + 399.23828485212005, + 415.82761731943896, + 466.62415377898213, + 518.7774185928897, + 619.51288195754, + 765.4463151451776, + 900.1691195523538, + 1103.1076474018405, + 1317.923388445807 + ], + "sum": 18933.734020805576 + }, + "bsnr_legacy": { "max": 1322.7852826513101, "median": 144.21953449863827, "n": 66, @@ -10034,6 +12412,47 @@ 33.671572687956086 ], "bsnr": { + "max": 587.7906335788525, + "median": 53.13692692275751, + "n": 80, + "quantiles": [ + 0.4728919526891923, + 1.1758630378823987, + 1.7666239187521533, + 2.2165144464634645, + 4.721091925786246, + 8.154006960846681, + 12.472375336489762, + 14.603766388498823, + 20.700710098929303, + 22.05504544616739, + 24.90426421473667, + 30.149591492427472, + 33.05886836774466, + 40.23249780881337, + 46.37153122910149, + 50.281426837821584, + 53.13692692275751, + 59.77648854349664, + 66.83344209724636, + 73.37321328927047, + 127.30514063210057, + 165.48467457978262, + 188.33796945089298, + 214.07396464655494, + 265.63985520069, + 315.3936950823268, + 335.5031278228127, + 364.6380140166296, + 398.31490189352064, + 427.7348082349805, + 442.58893554789887, + 510.174900421579, + 587.7906335788525 + ], + "sum": 11741.18993170098 + }, + "bsnr_legacy": { "max": 590.4116985821852, "median": 53.101011071725296, "n": 80, @@ -10206,6 +12625,47 @@ 37.53007532565119 ], "bsnr": { + "max": 387.1675127074723, + "median": 38.25773571039731, + "n": 79, + "quantiles": [ + 0.1665599704522989, + 0.3262740629956175, + 0.99243302263893, + 1.8148217276812588, + 4.695072202748226, + 5.749623945661486, + 8.106984852398712, + 10.91073850344675, + 13.342568265415355, + 14.95213825006713, + 18.896606493016122, + 21.58288869371591, + 23.329608575982192, + 25.802068934276736, + 29.31683685945868, + 33.87881817045863, + 38.25773571039731, + 45.00283398162678, + 55.96039016330004, + 82.75389232493454, + 91.1797319388858, + 119.45241175774368, + 141.2979235211768, + 153.526942773181, + 166.1155652636474, + 188.2690241638606, + 198.23364099636862, + 217.40077373717727, + 231.67283934210033, + 238.33110987656465, + 244.77584091679333, + 319.60429828594766, + 387.1675127074723 + ], + "sum": 7303.136202928665 + }, + "bsnr_legacy": { "max": 386.4697559347594, "median": 38.2547577977471, "n": 79, @@ -10378,6 +12838,47 @@ 38.851394635233305 ], "bsnr": { + "max": 57.607699359553685, + "median": 17.426992253693676, + "n": 77, + "quantiles": [ + 0.4342570547271652, + 1.0249087862433974, + 1.1426938750267646, + 2.689287133337498, + 3.541135850936839, + 4.072414001433624, + 5.276003916574283, + 6.614337547649316, + 8.363593504294425, + 9.96271758943859, + 10.60667877262448, + 12.05399000372835, + 12.842388520745562, + 14.220284255643135, + 15.231132845132844, + 16.463122983155497, + 17.426992253693676, + 19.272650409191694, + 22.966134120955708, + 24.304853351674602, + 27.34723483239532, + 27.53136052728137, + 28.21744963558798, + 30.467310768622518, + 32.4301329812045, + 33.8207801459121, + 34.90940124731862, + 36.11498276197136, + 39.742582112005906, + 41.64331771424184, + 44.234102556255806, + 47.1523839448987, + 57.607699359553685 + ], + "sum": 1599.723209075414 + }, + "bsnr_legacy": { "max": 57.90882455476248, "median": 17.416137182355026, "n": 77, @@ -10550,6 +13051,47 @@ 10.538014316805395 ], "bsnr": { + "max": 45.62528266893566, + "median": 10.98622588207869, + "n": 75, + "quantiles": [ + 0.1393811427947415, + 0.8871731425233633, + 1.9761095697649957, + 2.9299926263276124, + 3.603720287326156, + 4.547495093504557, + 4.782379371603506, + 6.194795920315753, + 7.004160692490603, + 7.579109202645696, + 7.895123931815144, + 8.172996954733904, + 8.26535300447118, + 8.967806945629599, + 9.404432106014081, + 10.089139554318681, + 10.98622588207869, + 13.561759599973652, + 14.683311109270733, + 16.351363928390672, + 18.196801221759138, + 19.710874755590268, + 19.86197113407262, + 20.904773439827917, + 24.268591204739465, + 24.718060058281083, + 26.855606675721578, + 28.853432694102594, + 31.16128245385135, + 36.54925521116693, + 39.73820236452508, + 43.38292704288082, + 45.62528266893566 + ], + "sum": 1194.4195681848323 + }, + "bsnr_legacy": { "max": 45.7415180250281, "median": 10.998967464145954, "n": 75, @@ -10722,6 +13264,47 @@ 26.301066520951487 ], "bsnr": { + "max": 94.97292308942798, + "median": 11.330763158298229, + "n": 76, + "quantiles": [ + 0.18909112518074597, + 0.49195402357026213, + 0.6357888502164879, + 0.7655505450915477, + 0.9809821108645799, + 1.202168516973901, + 1.4288663838706728, + 1.7530891450182473, + 2.299485748301855, + 3.652783741454656, + 4.438466096250423, + 5.25129309606078, + 6.198065164583458, + 6.7267810135310295, + 8.055313604228338, + 8.947565335710879, + 11.330763158298229, + 13.06922266367739, + 13.56812403817976, + 13.887659882795415, + 14.446540400541526, + 14.87880995903592, + 16.670397804798778, + 17.86630822573417, + 25.00269909973912, + 33.23237311993912, + 36.011868386969525, + 44.28183298431647, + 62.74799993137695, + 65.36306631025128, + 70.61693201659004, + 74.18229034950902, + 94.97292308942798 + ], + "sum": 1518.3659996616927 + }, + "bsnr_legacy": { "max": 94.70177619894179, "median": 11.34312304906119, "n": 76, @@ -10894,6 +13477,47 @@ 20.330969206916524 ], "bsnr": { + "max": 130.83817816101703, + "median": 6.95616140171148, + "n": 72, + "quantiles": [ + 0.15093761403386052, + 0.47309317019805347, + 0.49615287100415273, + 0.5108855825743136, + 0.7250126586338397, + 0.7651077770333696, + 0.9432495163600993, + 1.1075710694918868, + 1.1934687594793174, + 1.3360674928383869, + 1.4464940253367962, + 2.759962223011815, + 3.827211316057694, + 5.018287265378194, + 5.825730019562275, + 6.448198534982499, + 6.95616140171148, + 7.637657267075435, + 8.094637023195046, + 8.300677571415353, + 8.576949015881505, + 8.925202513437238, + 10.084495673751821, + 11.878776730298148, + 13.235883955903152, + 17.26850576880794, + 23.6481927897728, + 47.11890327523367, + 57.882923969337156, + 67.51689534921891, + 106.6393373715274, + 118.30905575445128, + 130.83817816101703 + ], + "sum": 1432.0557430341005 + }, + "bsnr_legacy": { "max": 130.5857560135628, "median": 6.963295257087603, "n": 72, @@ -11066,6 +13690,47 @@ 18.888747059335977 ], "bsnr": { + "max": 46.48779516760406, + "median": 3.701914770755861, + "n": 73, + "quantiles": [ + 0.5709961100117262, + 0.716177247633623, + 0.9513412418075606, + 0.989525420152887, + 1.0989560929111315, + 1.3305178415256287, + 1.4559449962235353, + 1.558137952247956, + 1.7963225314327387, + 1.91503175785975, + 1.9652205150722142, + 2.273645065583246, + 2.3633785556389846, + 2.5260433415061105, + 2.693137222257291, + 3.0964676382403793, + 3.701914770755861, + 6.117283069082803, + 8.035022637211684, + 8.721111754800644, + 12.144339702021838, + 13.27158180459246, + 13.954852547881337, + 16.337296080511408, + 17.376962871175333, + 18.196753482437735, + 18.9415312380398, + 19.866882616963306, + 24.313400585545875, + 25.827557547512583, + 38.47695182930399, + 45.09353059440983, + 46.48779516760406 + ], + "sum": 791.9030524203232 + }, + "bsnr_legacy": { "max": 46.53445374017901, "median": 3.6945734262415475, "n": 73, @@ -11238,6 +13903,47 @@ 21.156402119067277 ], "bsnr": { + "max": 48.53387565000811, + "median": 5.642697073034183, + "n": 71, + "quantiles": [ + 0.2927234133645054, + 0.5621922723650197, + 0.6980428979866737, + 0.9083957223076433, + 1.1065053703254701, + 1.1358285862825648, + 1.228946469996627, + 1.6699765374025854, + 1.7601373968233598, + 1.953312718238935, + 2.0851385600935046, + 2.308612841506507, + 2.854335177301789, + 2.9873003253055193, + 3.3295812453674016, + 3.507517341046033, + 5.642697073034183, + 6.496148923122464, + 7.423256540382814, + 7.871304358556719, + 9.502300278113044, + 11.20647967273746, + 12.852025154477191, + 15.322922634703831, + 17.94015501654468, + 21.156818041291793, + 25.790329107847022, + 28.764976623526476, + 29.91100812221878, + 33.09947387702894, + 39.58947318196915, + 44.456311540267194, + 48.53387565000811 + ], + "sum": 834.7970099697354 + }, + "bsnr_legacy": { "max": 48.55574078524494, "median": 5.63913669843392, "n": 71, @@ -11410,6 +14116,47 @@ 45.738160295630905 ], "bsnr": { + "max": 765.5051120702576, + "median": 108.88612107548363, + "n": 81, + "quantiles": [ + 0.3160317178155337, + 3.098127982089922, + 19.76283790831491, + 31.982829055791925, + 39.460687101295036, + 44.46233283729441, + 54.36366371377736, + 62.391897964432594, + 73.91881033281648, + 75.72649481855456, + 81.83576260111568, + 88.87608279925902, + 92.30458568517355, + 95.56034747478058, + 100.8682396725747, + 104.09017950427963, + 108.88612107548363, + 115.5829302400521, + 121.24288191703053, + 127.04181784675941, + 135.4331305415288, + 148.48085935383716, + 166.0076207370529, + 180.193526426947, + 197.7438219604545, + 217.06067032922408, + 242.6143925196394, + 272.9786260994225, + 292.21092992060215, + 383.42056201014657, + 530.9690851532323, + 542.817049989455, + 765.5051120702576 + ], + "sum": 13157.064454775185 + }, + "bsnr_legacy": { "max": 767.0368211161219, "median": 110.05846832107379, "n": 81, @@ -11582,6 +14329,47 @@ 44.37797511381281 ], "bsnr": { + "max": 763.1582030006766, + "median": 133.65792842915965, + "n": 80, + "quantiles": [ + 0.054292605146300146, + 1.3890875106523213, + 12.317463539053712, + 21.593864801058285, + 36.38548556040676, + 63.71200957604664, + 80.43553151637423, + 84.76500493391825, + 93.27687537894862, + 98.86091266153663, + 106.46720982561982, + 114.92125690925441, + 119.2510350006156, + 125.69107060318687, + 129.3345777583592, + 131.39578823136702, + 133.65792842915965, + 134.22446383183768, + 136.24368890692546, + 138.27605787838857, + 141.62446037487064, + 143.88184832487215, + 164.9687413779568, + 190.8605972081219, + 211.1964017750674, + 257.7618009420751, + 318.2082473683507, + 362.68993151622317, + 442.35705512325853, + 546.4746910833287, + 600.2576269716153, + 633.5115372833577, + 763.1582030006766 + ], + "sum": 15470.093808318994 + }, + "bsnr_legacy": { "max": 764.8565035727647, "median": 133.46481574584138, "n": 80, @@ -11754,6 +14542,47 @@ 30.85084146113449 ], "bsnr": { + "max": 151.04356560419487, + "median": 9.57906751594655, + "n": 70, + "quantiles": [ + 0.4600043109456123, + 0.6540790492626996, + 0.8210168291069614, + 0.9985724343314276, + 1.1860197265229842, + 2.051716418307906, + 3.376410277217631, + 3.5457139875629067, + 4.566913590307241, + 5.04023937260699, + 5.7791817636396114, + 6.64490490450746, + 6.7897635970385055, + 7.285523442359452, + 8.311252255228444, + 8.73216844491058, + 9.57906751594655, + 13.28496599506118, + 15.465262018008529, + 30.445234415318183, + 38.26287648953276, + 47.46801064541005, + 55.1619110113437, + 56.05685071950144, + 60.42138499119987, + 68.07429216895618, + 91.54737100635481, + 101.3851740520326, + 112.16169714792406, + 118.43089910094169, + 124.64027474332326, + 132.3344371894651, + 151.04356560419487 + ], + "sum": 2700.3275015429767 + }, + "bsnr_legacy": { "max": 149.69794424792929, "median": 9.570878155822268, "n": 70, @@ -11926,6 +14755,47 @@ 21.90506249615995 ], "bsnr": { + "max": 93.95592232621921, + "median": 11.735856323783743, + "n": 70, + "quantiles": [ + 0.367786568955301, + 0.4507978924777375, + 0.6301398588844482, + 0.8393688852648509, + 0.9681569556989951, + 1.5269765447771748, + 2.010071281357148, + 2.738960703810644, + 4.039505432670088, + 4.920115286295876, + 5.171991397359485, + 7.784589627553719, + 8.602657467102183, + 9.269211792430987, + 10.215001002744389, + 11.061330188864355, + 11.735856323783743, + 12.3195603834224, + 15.268967826460033, + 16.16753480792436, + 22.755638167027897, + 28.464589264291778, + 37.88603252442676, + 42.269214132340885, + 45.106871474558034, + 48.14689898168647, + 50.62859064259952, + 53.99400292753324, + 55.98714465518618, + 64.28297399201912, + 77.57922171740714, + 89.2888520021083, + 93.95592232621921 + ], + "sum": 1751.7092534068793 + }, + "bsnr_legacy": { "max": 93.09763196101538, "median": 11.699076364940076, "n": 70, @@ -12098,6 +14968,47 @@ 77.6986744345617 ], "bsnr": { + "max": 550.8231993849369, + "median": 46.6825760406982, + "n": 92, + "quantiles": [ + 0.9996112630460121, + 1.2876742328701052, + 3.1493627162572246, + 4.928625613692845, + 7.423357917079934, + 10.007826761196297, + 10.747226441790476, + 12.156532305599741, + 15.587533597362167, + 18.816594698216, + 24.281794465557105, + 28.60502482440742, + 35.39220926025851, + 40.02499638356492, + 41.384590851905614, + 44.23856362865796, + 46.6825760406982, + 52.73544220977311, + 58.99168978918479, + 74.90766435642297, + 129.34995495510051, + 171.62256064354622, + 208.0355966411972, + 238.40422498516955, + 279.7704829788104, + 309.47248265550195, + 319.4624712842875, + 340.65291721979474, + 388.0794190328605, + 414.40634972516096, + 441.5062196021112, + 518.129115453545, + 550.8231993849369 + ], + "sum": 13229.126936809853 + }, + "bsnr_legacy": { "max": 549.3440422666624, "median": 46.654699954222494, "n": 92, @@ -12270,6 +15181,47 @@ 66.49320994206263 ], "bsnr": { + "max": 765.4062426645814, + "median": 51.71551282124807, + "n": 91, + "quantiles": [ + 0.9981045660897543, + 1.1331840164287688, + 2.1410758933943126, + 2.4971010483241307, + 3.4589618633699235, + 5.539533131367619, + 6.6362979121833465, + 10.240555246829006, + 14.107704644578163, + 20.078221016193773, + 23.59317864893473, + 27.792614292943963, + 31.043747114951728, + 34.661632466326694, + 37.22565865747444, + 43.458391675755365, + 51.71551282124807, + 58.18871940008357, + 63.47577483431436, + 84.92220027062369, + 115.8237128473146, + 126.60372629035241, + 159.2051108840574, + 263.7347700856461, + 312.08211677320253, + 353.91179789892936, + 393.2437129753507, + 437.9016379028677, + 465.27079951680065, + 519.9626903469266, + 607.6976708780451, + 662.1937886909745, + 765.4062426645814 + ], + "sum": 15444.86159423222 + }, + "bsnr_legacy": { "max": 765.0115799425168, "median": 51.52178395110836, "n": 91, @@ -12442,6 +15394,47 @@ 87.288590981566 ], "bsnr": { + "max": 12697.301623492041, + "median": 1205.7905314174498, + "n": 91, + "quantiles": [ + 0.9920338856006409, + 2.5287393580842243, + 9.09238545720033, + 23.144071901454126, + 33.16061031489444, + 51.848050359435945, + 64.46193639629641, + 104.19010167723776, + 126.1682031099364, + 193.2917129950698, + 210.64822890408803, + 226.6045479060244, + 391.2292151659317, + 537.6658503299833, + 764.1290700790015, + 1078.8919384482917, + 1205.7905314174498, + 1361.4653220417895, + 1481.4838157941888, + 1671.1030147343608, + 1981.829269172295, + 2084.0872500622986, + 2184.3801058304784, + 2298.3057405337627, + 2586.3392537155305, + 3016.585687643733, + 3202.4126158596887, + 3297.542267751975, + 3932.661037729733, + 4189.660065920628, + 5451.374888498562, + 8274.01373562443, + 12697.301623492041 + ], + "sum": 169147.30887165054 + }, + "bsnr_legacy": { "max": 12725.681506679317, "median": 1205.0985641642085, "n": 91, @@ -12614,6 +15607,47 @@ 84.05416505930008 ], "bsnr": { + "max": 6349.652501981966, + "median": 1124.1377951816905, + "n": 90, + "quantiles": [ + 0.9658129533502487, + 1.079708699089564, + 3.791177356481546, + 9.669423102122199, + 14.371445579185785, + 27.878276887417467, + 52.949721321438, + 69.25196754841522, + 77.04347310517633, + 92.62812264225953, + 119.637360637664, + 172.44383828730696, + 279.62672787037786, + 502.8161461785043, + 790.6617752172212, + 913.9248866327296, + 1124.1377951816905, + 1320.353451696494, + 1473.4348671783011, + 1536.4865547471497, + 1665.7495952066242, + 1771.6300468177901, + 2040.0455699710856, + 2211.751665624224, + 2290.990157090442, + 2356.765162502514, + 2548.060148745009, + 2753.530680505761, + 2960.210627509232, + 3243.730296167087, + 4182.039817463383, + 5705.8811182523, + 6349.652501981966 + ], + "sum": 128556.7527669925 + }, + "bsnr_legacy": { "max": 6357.295741953337, "median": 1117.60056275036, "n": 90, @@ -12786,6 +15820,47 @@ 77.612857664939 ], "bsnr": { + "max": 1905.8008881195897, + "median": 222.19114655785097, + "n": 91, + "quantiles": [ + 0.9909538253769498, + 1.3397296895217226, + 2.8923317887522435, + 3.844736850192269, + 6.831552513659125, + 10.06818116159847, + 14.670587836917536, + 25.940372008819118, + 34.814152567941676, + 48.593768000478335, + 65.90371073827389, + 138.43677442927944, + 147.96099092788972, + 176.92893630401392, + 188.34603776803436, + 210.75225118483502, + 222.19114655785097, + 249.9184432489852, + 270.5987731179432, + 290.30501057651475, + 313.29323020516637, + 317.0232768804468, + 336.7256883439904, + 360.8631924549739, + 397.37116409469616, + 405.09873604453884, + 419.25988197283937, + 453.2793178060222, + 487.1419358155721, + 531.676867734381, + 642.6951464108485, + 911.9217073874208, + 1905.8008881195897 + ], + "sum": 25350.2398645605 + }, + "bsnr_legacy": { "max": 1905.0408302572725, "median": 221.6569725123841, "n": 91, @@ -12958,6 +16033,47 @@ 78.70973933893117 ], "bsnr": { + "max": 2204.7361524209396, + "median": 157.2570249491779, + "n": 86, + "quantiles": [ + 0.9899395497330019, + 2.996704871540907, + 4.873057916065864, + 8.41753406492604, + 10.136259166708783, + 13.647858761271138, + 21.25802796828231, + 38.43825566318792, + 48.58788877648944, + 56.01047137848226, + 60.24333594182467, + 81.55315659251836, + 86.41499110308783, + 114.82526002697053, + 120.87419852590222, + 146.57246202041554, + 157.2570249491779, + 161.85194504987513, + 178.67195379200788, + 189.78294689972483, + 203.24112780529228, + 213.4967215330307, + 246.09346784743894, + 267.46272464932014, + 350.05609644242685, + 416.8120618358407, + 437.55233158071576, + 513.8591309780155, + 683.5964445085713, + 730.7044366659613, + 749.2882003937104, + 995.2972949313587, + 2204.7361524209396 + ], + "sum": 23353.070188888243 + }, + "bsnr_legacy": { "max": 2204.4191710445652, "median": 157.6497347450748, "n": 86, @@ -13130,6 +16246,47 @@ 46.8380554298236 ], "bsnr": { + "max": 221.57934129664744, + "median": 35.07107575267003, + "n": 92, + "quantiles": [ + 0.5019155976476652, + 0.5685384737092231, + 0.6681151664669124, + 1.323968372766117, + 1.8678483030875017, + 2.732459989093555, + 3.474286256212017, + 8.431862895048262, + 14.771935832741487, + 19.07470091939278, + 23.32857921304146, + 28.070873267248327, + 28.824260150718825, + 30.97607454453951, + 31.971978620053545, + 32.96009915096848, + 35.07107575267003, + 39.613153490929264, + 41.86728313758212, + 46.168121846739794, + 47.84036987125301, + 50.584893409168046, + 53.82474362724243, + 66.92113426499509, + 71.86414372195928, + 76.44147456263781, + 109.35246735438056, + 130.90218399059225, + 135.17019836894985, + 144.14541229916722, + 166.718712414709, + 200.1139648585809, + 221.57934129664744 + ], + "sum": 5107.893243547886 + }, + "bsnr_legacy": { "max": 220.35004429436128, "median": 35.07280344570749, "n": 92, @@ -13302,6 +16459,47 @@ 46.32869958783309 ], "bsnr": { + "max": 224.94577803823694, + "median": 78.17641550923734, + "n": 93, + "quantiles": [ + 0.9994940676587086, + 1.0924295139206683, + 1.5710655716555917, + 1.9237607184199907, + 2.5583387815173317, + 4.1117990777068085, + 4.8352201059036215, + 7.922275528547959, + 13.188653012071871, + 20.49529888289504, + 25.52967011152739, + 34.93011701347099, + 50.535007999816756, + 56.45948341453082, + 63.2349273708603, + 74.86983659331574, + 78.17641550923734, + 83.06929985186737, + 85.47976357805888, + 87.73070711884603, + 89.59315533023424, + 92.12516050209209, + 96.88289708824405, + 100.68373369392232, + 105.03677440609074, + 119.52157768089238, + 126.75734409908529, + 135.64139186992267, + 150.3016157389428, + 157.6107340407098, + 163.42213568106723, + 178.22762294618852, + 224.94577803823694 + ], + "sum": 6776.331438951167 + }, + "bsnr_legacy": { "max": 224.57907240956243, "median": 78.14737504046067, "n": 93, @@ -13474,6 +16672,47 @@ 43.07635105088069 ], "bsnr": { + "max": 115.23799048113294, + "median": 43.30402805045351, + "n": 74, + "quantiles": [ + 0.9545364225650468, + 1.7029096993405795, + 3.324534968401178, + 5.400294064379037, + 7.143441268787728, + 8.489343970187335, + 9.229500283322533, + 10.167563957270673, + 12.963954258321532, + 13.288837320462504, + 16.351947066262774, + 19.903528281761485, + 24.3120616845501, + 28.962123754412033, + 37.06411615812654, + 40.9474088470706, + 43.30402805045351, + 47.30764611791793, + 50.21713462756718, + 50.620478046168415, + 54.306988822114114, + 57.08041138850157, + 62.67759581482057, + 67.95926943890386, + 72.4470546596246, + 73.52013673998889, + 75.95603664810865, + 80.66125987096254, + 85.39303485123476, + 91.21658404801684, + 93.90360753868706, + 102.44779984820958, + 115.23799048113294 + ], + "sum": 3266.7756026451175 + }, + "bsnr_legacy": { "max": 115.98229205510567, "median": 43.44980563956719, "n": 74, @@ -13646,6 +16885,47 @@ 40.66197328450292 ], "bsnr": { + "max": 173.93294715980144, + "median": 40.784512166237164, + "n": 73, + "quantiles": [ + 0.3996830425743089, + 1.47368500548747, + 3.5355568775231516, + 4.9731326759957435, + 7.406590122402471, + 9.532219584398847, + 10.888253036885818, + 12.895369075608833, + 14.953266803403691, + 15.429685693132246, + 16.77407066668593, + 19.481659463816143, + 25.038758814000108, + 26.49791327258911, + 32.93451360644972, + 36.34075711010667, + 40.784512166237164, + 49.32631057916564, + 53.81799364343649, + 63.87419452461126, + 70.93145347759803, + 73.98642825854168, + 84.3235903382338, + 87.89227580717179, + 98.26361850112573, + 103.19001352428448, + 107.44242516649581, + 111.29755442368818, + 112.39027149746758, + 122.54522187610638, + 130.79506659675917, + 154.87618979957296, + 173.93294715980144 + ], + "sum": 4110.042174091685 + }, + "bsnr_legacy": { "max": 175.1784839410922, "median": 40.689201762364824, "n": 73, @@ -13818,6 +17098,47 @@ 47.55959434090303 ], "bsnr": { + "max": 216.8176062923371, + "median": 95.1211990036054, + "n": 78, + "quantiles": [ + 0.6711705853288551, + 3.9459361389559593, + 6.85194814149812, + 9.02076728102572, + 10.92201805341623, + 14.614727033628483, + 20.276276318026568, + 24.95604713454245, + 39.15990369981475, + 44.23041523190099, + 54.02451045597414, + 58.87582415085083, + 65.16787848604183, + 67.62480022690406, + 70.30927124657623, + 86.40710317660441, + 95.1211990036054, + 103.6161157360158, + 105.96107776083414, + 110.10400141253412, + 113.69189748405941, + 117.54496537396567, + 121.57525847685226, + 124.8230277560305, + 128.05461429036504, + 139.79352048416462, + 143.49018290916797, + 156.11097623622416, + 164.01680162897722, + 170.03452784894273, + 177.2702793032139, + 186.5461661684948, + 216.8176062923371 + ], + "sum": 6911.151127687915 + }, + "bsnr_legacy": { "max": 215.73766498220115, "median": 95.11601913949903, "n": 78, @@ -13990,6 +17311,47 @@ 47.40265302905726 ], "bsnr": { + "max": 354.54665920036064, + "median": 89.61078136721828, + "n": 77, + "quantiles": [ + 0.417181845467742, + 3.930574066412396, + 6.080468850957015, + 8.56676040929276, + 9.71249900469958, + 17.17874655039864, + 19.172690545735186, + 30.284560493776805, + 36.70480926008628, + 47.687523600006465, + 50.61603244075059, + 54.47992152334816, + 63.40220847665966, + 69.09672654846489, + 76.24940812939838, + 77.03353077981635, + 89.61078136721828, + 92.50155927416031, + 107.342888287794, + 119.12482142842643, + 124.56262351878725, + 130.54586537398848, + 135.47752720894985, + 140.21400422993898, + 155.87146876530196, + 160.6540531895616, + 177.1658046351561, + 189.67279783299182, + 208.19412493204396, + 238.59487251580205, + 261.63020916241635, + 307.7742245865289, + 354.54665920036064 + ], + "sum": 8189.61407528035 + }, + "bsnr_legacy": { "max": 355.2245441504183, "median": 89.46277844232654, "n": 77, @@ -14162,6 +17524,47 @@ 40.4117258750204 ], "bsnr": { + "max": 322.02157221818277, + "median": 39.23976583863106, + "n": 74, + "quantiles": [ + 0.9987449472790497, + 1.0219976139986413, + 1.1685614611355133, + 2.9918581379345537, + 6.69228860052563, + 8.580088689573032, + 9.616000883290717, + 10.191551726592138, + 11.097857895192373, + 11.877574594831943, + 16.025990481963007, + 19.348870527712165, + 24.838649372913636, + 26.8260405314653, + 28.52967387703061, + 33.09526483615082, + 39.23976583863106, + 43.935508670417406, + 49.6586583270251, + 56.231291452139374, + 63.6340330702884, + 94.85712800310016, + 140.75362895237927, + 178.09100608197332, + 192.7372116969143, + 202.63081527550864, + 224.66116541557957, + 236.699916584108, + 248.10834262359185, + 258.71228743373615, + 276.93088389461286, + 283.2519430048716, + 322.02157221818277 + ], + "sum": 6891.613870387666 + }, + "bsnr_legacy": { "max": 323.7047419112572, "median": 39.232964960430785, "n": 74, @@ -14334,6 +17737,47 @@ 29.84372913033072 ], "bsnr": { + "max": 580.3602339300149, + "median": 50.52039322555063, + "n": 71, + "quantiles": [ + 1.0, + 2.707740485065617, + 2.992449227031328, + 3.7918053432794467, + 4.220787564048896, + 4.767011697967762, + 5.481791681048621, + 6.198447050818189, + 7.6399625752412845, + 10.245109316077668, + 13.843482202005337, + 16.194736253975908, + 17.764851047836217, + 27.766381902482657, + 40.406928370815145, + 44.043196729905375, + 50.52039322555063, + 59.740139563792305, + 63.68928704520192, + 74.92826986916666, + 104.18664070334205, + 152.67439677817526, + 174.8756125472623, + 186.07356153826692, + 212.02475729099257, + 241.10828192219384, + 247.84175656862124, + 261.7188980696232, + 342.3321929472688, + 367.8110649238989, + 503.9153546901109, + 555.7753445906458, + 580.3602339300149 + ], + "sum": 9245.29210624279 + }, + "bsnr_legacy": { "max": 584.185419229593, "median": 50.59523619633953, "n": 71, @@ -14508,6 +17952,47 @@ 44.32350181580541 ], "bsnr": { + "max": 937.4152057264084, + "median": 209.78305320569058, + "n": 78, + "quantiles": [ + 1.0, + 3.0698300393591555, + 6.765016055425894, + 17.600043977893673, + 33.638642148889645, + 39.41780876172863, + 68.43714817765027, + 88.47995923365164, + 96.54266736806447, + 99.15799672079416, + 110.5164182986747, + 116.2131803374044, + 124.08597437213035, + 151.54537524707263, + 177.12382843941947, + 204.53307906585806, + 209.78305320569058, + 225.60575473247746, + 255.40978926563594, + 273.07833708155846, + 302.24242105298833, + 331.7685497550634, + 338.9377419192491, + 371.1903746268488, + 394.4042209476292, + 425.05244975750895, + 462.75854003781683, + 492.74362755356884, + 568.5530082093467, + 612.768419434826, + 757.8130397430448, + 796.2064405294998, + 937.4152057264084 + ], + "sum": 21261.371820856864 + }, + "bsnr_legacy": { "max": 937.0607754510604, "median": 209.65395287474465, "n": 78, @@ -14680,6 +18165,47 @@ 47.53587686428251 ], "bsnr": { + "max": 1151.2106795615323, + "median": 133.15664583100698, + "n": 66, + "quantiles": [ + 1.0, + 9.030449528412033, + 27.913221230557177, + 35.735307777840845, + 48.783203864795425, + 59.89634453467153, + 69.82131161625492, + 82.90560142068603, + 88.46009324698716, + 92.08182904405326, + 100.48614288830652, + 108.52627646831655, + 112.98415827411776, + 116.79877217357456, + 119.5879396231124, + 122.4189724619736, + 133.15664583100698, + 146.44277585243483, + 175.6836129992891, + 202.87450051510717, + 216.55875625895254, + 227.72235898668674, + 267.1700918622778, + 344.5031710099166, + 367.1888932213317, + 390.4891116508769, + 411.93460518674135, + 470.97836029711357, + 540.7834556367543, + 664.8146069797375, + 780.170306065036, + 952.5281317935211, + 1151.2106795615323 + ], + "sum": 16888.40378794625 + }, + "bsnr_legacy": { "max": 1155.4037212359722, "median": 132.60933934847662, "n": 66, @@ -14852,6 +18378,47 @@ 33.671572687956086 ], "bsnr": { + "max": 575.3003669724721, + "median": 58.61533864489982, + "n": 80, + "quantiles": [ + 0.5774131201828785, + 1.3100085430791089, + 2.0592643269583046, + 2.4892453383485575, + 5.276831262645272, + 8.042982645994954, + 12.153400068040089, + 14.740149281052192, + 19.22746679474141, + 22.76368671558059, + 25.809895274091044, + 30.53947002883924, + 33.9059121102684, + 42.35667396040873, + 47.89840562167895, + 52.621296464553865, + 58.61533864489982, + 67.92320176058635, + 69.78949143689275, + 80.09617599506963, + 130.4801072764556, + 168.02592992091323, + 177.96546550810393, + 209.89609703697226, + 266.99606171797325, + 313.15658777439455, + 348.26671067989145, + 373.86483276243575, + 421.4045613118715, + 426.70576329146377, + 440.3329667503771, + 544.7401997593126, + 575.3003669724721 + ], + "sum": 11908.541638899656 + }, + "bsnr_legacy": { "max": 572.7055102209147, "median": 58.58027305625595, "n": 80, @@ -15024,6 +18591,47 @@ 38.81835701848392 ], "bsnr": { + "max": 384.13222800448904, + "median": 39.481893051194696, + "n": 79, + "quantiles": [ + 0.20695871373119662, + 0.4005720579637065, + 1.0954889115210493, + 2.0547270958354, + 4.707496716851042, + 6.131166949390834, + 8.285683904837873, + 10.664904704187014, + 12.889846127024102, + 15.864754277652617, + 20.285914660279346, + 22.533489765741955, + 25.674137895215498, + 26.76679444677833, + 29.301051250749413, + 34.37270181911487, + 39.481893051194696, + 48.72426907365313, + 53.39957138168175, + 87.33204084422468, + 100.77130894790432, + 123.77746731155473, + 132.56172319340808, + 144.13814344120698, + 173.70692135035128, + 194.95920361375207, + 199.5234772883788, + 212.6880349118982, + 220.3005048950484, + 230.20450946757217, + 254.1523713704305, + 301.61254735419544, + 384.13222800448904 + ], + "sum": 7334.261069392397 + }, + "bsnr_legacy": { "max": 383.43967826669063, "median": 39.45053275605232, "n": 79, @@ -15196,6 +18804,47 @@ 38.851394635233305 ], "bsnr": { + "max": 56.59724068667816, + "median": 19.650102738717795, + "n": 77, + "quantiles": [ + 0.4663014393745153, + 1.0629721173536302, + 1.2977419211150025, + 2.9186456227315505, + 3.4205026530091556, + 4.479324205871948, + 5.507108715476844, + 6.597739249615307, + 8.22322545789312, + 10.165890676696844, + 11.210944205129666, + 12.469457176492936, + 13.35171819981332, + 13.90413764581305, + 15.864222743394256, + 16.34162630109205, + 19.650102738717795, + 20.594690719695112, + 22.32364448309103, + 24.24703692376268, + 25.460619223526745, + 26.71242248912338, + 29.014247539885524, + 29.843386634508395, + 30.865339214270396, + 32.080698612196834, + 33.58825827579276, + 36.35933218308608, + 40.398143030869235, + 42.780483666848056, + 46.42802493230758, + 49.51194079318689, + 56.59724068667816 + ], + "sum": 1607.2410002390945 + }, + "bsnr_legacy": { "max": 56.8964420609586, "median": 19.64746795154296, "n": 77, @@ -15368,6 +19017,47 @@ 23.86791114249469 ], "bsnr": { + "max": 49.812672692174196, + "median": 11.853578813911001, + "n": 75, + "quantiles": [ + 0.1646625988291495, + 0.9038813730064597, + 2.0184021707066524, + 3.2256670826205776, + 3.6986112162747173, + 4.21120237297049, + 5.113746406067522, + 6.322417514735044, + 7.114480978104375, + 7.921982974629084, + 8.227995209620953, + 8.607088276015377, + 8.634363610256983, + 8.90770964359434, + 9.469032093922653, + 9.97903662058073, + 11.853578813911001, + 13.990519559961847, + 15.16811733102402, + 17.103420905104237, + 17.830956327359488, + 19.178148309624067, + 20.360407121905606, + 22.443149971180926, + 24.131066595812594, + 25.90643636889127, + 28.08262017233814, + 29.65262637690459, + 31.879506705349762, + 36.78912157662375, + 41.37839568510002, + 45.06751221614865, + 49.812672692174196 + ], + "sum": 1225.8187444333157 + }, + "bsnr_legacy": { "max": 49.94169747828894, "median": 11.905496348490617, "n": 75, @@ -15540,6 +19230,47 @@ 26.301066520951487 ], "bsnr": { + "max": 101.85699021412789, + "median": 11.701403536467925, + "n": 76, + "quantiles": [ + 0.22854755266438054, + 0.5665265714096921, + 0.7556575020929345, + 0.8845757144481152, + 1.0294990230947494, + 1.3707738946468777, + 1.594531965655177, + 1.9661302978329451, + 2.5875966951818423, + 3.8994293288080155, + 4.834210797941135, + 5.494806371022264, + 6.526939372256642, + 6.874076651575676, + 8.147525090622198, + 9.553862480734864, + 11.701403536467925, + 12.365530208259935, + 13.812283116815852, + 14.31370657852722, + 15.427902638414974, + 16.031747510259358, + 16.87709647023376, + 17.87036124983422, + 23.565120116208558, + 34.700672977563244, + 39.25202938505912, + 46.52606016327525, + 63.227877523062176, + 68.162134394209, + 76.10261774816237, + 83.54083049256953, + 101.85699021412789 + ], + "sum": 1597.364086546266 + }, + "bsnr_legacy": { "max": 101.57289775628081, "median": 11.707623353088387, "n": 76, @@ -15712,6 +19443,47 @@ 20.330969206916524 ], "bsnr": { + "max": 135.33266799360064, + "median": 7.237327367912098, + "n": 72, + "quantiles": [ + 0.17871299347698172, + 0.5593044559511666, + 0.5726967621716623, + 0.593091615101889, + 0.8175457285769238, + 0.916678235757631, + 1.0155858102415636, + 1.2761277352537241, + 1.3826698611567754, + 1.5308529732163494, + 1.6330966569390393, + 3.187756284787604, + 4.26727418984924, + 5.648139238911291, + 6.044453580748073, + 6.636678965774151, + 7.237327367912098, + 7.465714357301969, + 8.65813526765457, + 8.906942080435769, + 9.095608749767138, + 9.324776173029823, + 10.751927797093835, + 12.437694960478474, + 13.911511935167178, + 17.978863267029283, + 25.53017903111496, + 46.33738051642343, + 62.77813847580485, + 72.67848168116788, + 104.77284451065144, + 132.29734839638908, + 135.33266799360064 + ], + "sum": 1514.3354602319564 + }, + "bsnr_legacy": { "max": 134.06632288991975, "median": 7.216503084885078, "n": 72, @@ -15884,6 +19656,47 @@ 18.888747059335977 ], "bsnr": { + "max": 50.86164914831168, + "median": 4.030617299423531, + "n": 73, + "quantiles": [ + 0.5688724962407172, + 0.7604876399688585, + 0.9793981342920102, + 1.0037944606474518, + 1.1357686521686614, + 1.3523106905635647, + 1.4880428819567266, + 1.6305961103886586, + 1.7030669816589104, + 1.9650662635497036, + 2.1121836384915555, + 2.3958441407242765, + 2.6024685455901704, + 2.6586102880849856, + 2.8897351938796136, + 3.1372724613469196, + 4.030617299423531, + 5.81665690407582, + 8.215103589617463, + 8.807926805937342, + 12.00167520354059, + 12.67084906425271, + 15.207181657972807, + 17.671687423340064, + 18.459794914892946, + 19.23103055183116, + 19.649405646099325, + 20.251024058298658, + 24.074106468413127, + 26.30458084908994, + 35.69152757270063, + 45.6844669862689, + 50.86164914831168 + ], + "sum": 809.172733832023 + }, + "bsnr_legacy": { "max": 50.86104463783323, "median": 4.022699316447495, "n": 73, @@ -16056,6 +19869,47 @@ 20.50496204447194 ], "bsnr": { + "max": 44.16019222015929, + "median": 5.963027022513168, + "n": 71, + "quantiles": [ + 0.30463463081992037, + 0.5520400902979725, + 0.7144241362879344, + 0.9129851164171082, + 1.1296297994807496, + 1.1460462384062786, + 1.2431608885644814, + 1.7233160171855393, + 1.7901257739362668, + 2.013700874054796, + 2.273372599788346, + 2.5565697822169797, + 2.7982366952408033, + 3.0000000065475936, + 3.3216636254295535, + 3.6161664320079696, + 5.963027022513168, + 6.6093144141831335, + 8.060263037922166, + 9.368122720081818, + 10.30365084837547, + 11.31212829144543, + 12.644028816831455, + 15.297997983640109, + 16.72476672929242, + 20.318097105794845, + 24.56497180199425, + 27.596479892742526, + 31.34994191942208, + 33.616956733661446, + 38.57363253025845, + 41.18712099844179, + 44.16019222015929 + ], + "sum": 820.229350542545 + }, + "bsnr_legacy": { "max": 44.179845588985714, "median": 5.96220182810734, "n": 71, @@ -16228,6 +20082,47 @@ 45.738160295630905 ], "bsnr": { + "max": 745.5427792696566, + "median": 109.51097765997505, + "n": 81, + "quantiles": [ + 0.3812091176668007, + 3.1896824864269466, + 15.776583303509915, + 36.7470891336883, + 45.60729266045842, + 48.109012917491, + 57.263832436647164, + 67.47892025827345, + 73.60952303765181, + 74.53674570158975, + 85.95446150748181, + 90.358781869328, + 93.25449449883716, + 95.04153271848035, + 99.41443107632062, + 101.72331570632613, + 109.51097765997505, + 117.43034841650487, + 121.07504320351715, + 123.63996118920149, + 134.47541624833582, + 149.2170765845785, + 165.24870014521062, + 179.58214180664555, + 199.04337649909095, + 217.4286839594613, + 252.55116005235314, + 273.65632076417785, + 292.252297999733, + 370.26453952296436, + 480.12395524980445, + 512.0166769157487, + 745.5427792696566 + ], + "sum": 13048.168917067902 + }, + "bsnr_legacy": { "max": 747.019284873397, "median": 109.7037254019925, "n": 81, @@ -16400,6 +20295,47 @@ 44.37797511381281 ], "bsnr": { + "max": 731.7755529043081, + "median": 127.42784795749569, + "n": 80, + "quantiles": [ + 0.0662011479600726, + 1.630710422453479, + 12.841220153868338, + 23.67697718147467, + 31.353273926793875, + 55.67443317277764, + 66.19000443550605, + 81.72141315992937, + 88.11427781482536, + 95.64936700384484, + 108.12667434246416, + 109.55565599453449, + 114.90577185495238, + 117.9389385320154, + 119.47070012969161, + 125.75773235067209, + 127.42784795749569, + 129.09105171961355, + 133.48635867718951, + 136.98562068201912, + 138.80909217286924, + 148.39604098455834, + 162.49451440760956, + 191.27197160058898, + 210.66905461415166, + 243.08874729965083, + 302.01595523863494, + 334.0583336169662, + 403.51686842665686, + 538.6840150414214, + 559.8259111370982, + 601.7591287919525, + 731.7755529043081 + ], + "sum": 14923.51953308755 + }, + "bsnr_legacy": { "max": 733.4827827748106, "median": 126.8783677675616, "n": 80, @@ -16572,6 +20508,47 @@ 31.827039209347216 ], "bsnr": { + "max": 156.3409045236317, + "median": 10.245498078417672, + "n": 70, + "quantiles": [ + 0.5296645117289553, + 0.7061308619604986, + 0.8986152664723566, + 1.073334343467111, + 1.3418815618540991, + 2.303459490301189, + 3.8564557539051694, + 3.972880018640352, + 4.9435404556496945, + 5.4945213760911225, + 6.36093256589138, + 6.9917740524457415, + 7.239937450283516, + 7.922323054579056, + 8.400963671052931, + 8.977857121886604, + 10.245498078417672, + 13.20448407746647, + 17.113590805621538, + 32.505852837362454, + 39.83268103944132, + 43.45012035887265, + 56.17962052671595, + 59.293528708393204, + 59.77434393900229, + 74.95426840772353, + 100.2462829431595, + 105.43479935367675, + 113.19712293351651, + 121.22446284573562, + 124.08109787000208, + 137.78577344496216, + 156.3409045236317 + ], + "sum": 2770.5205210354247 + }, + "bsnr_legacy": { "max": 154.94867512401876, "median": 10.237144252506997, "n": 70, @@ -16744,6 +20721,47 @@ 21.90506249615995 ], "bsnr": { + "max": 108.9645579923052, + "median": 12.60971370176236, + "n": 70, + "quantiles": [ + 0.4301798715189261, + 0.4992605162479387, + 0.711087461883149, + 0.9451954278487471, + 1.0569452385344742, + 1.6845461048118842, + 2.2844699297703674, + 2.863626231769071, + 4.481957342269239, + 5.318380827989098, + 5.87424880082103, + 8.483406196686094, + 8.85206469042871, + 9.704261780995672, + 10.945578664363763, + 11.763468016804424, + 12.60971370176236, + 13.685302069131282, + 15.475258852950605, + 17.95315830378122, + 23.48678917289021, + 29.099447313978388, + 38.321141772633524, + 42.08246967468645, + 46.56271751330837, + 50.4695389158346, + 54.01839021091745, + 56.691359554832076, + 60.16642734487751, + 63.57738024164961, + 81.85209997576541, + 93.6119188197085, + 108.9645579923052 + ], + "sum": 1841.653667694652 + }, + "bsnr_legacy": { "max": 108.6568644070974, "median": 12.525195750476069, "n": 70, @@ -16916,6 +20934,47 @@ 77.6986744345617 ], "bsnr": { + "max": 621.9769175884586, + "median": 47.54627955210523, + "n": 92, + "quantiles": [ + 0.999444401447423, + 1.2578509655607115, + 2.585248837025878, + 4.886868388424998, + 7.576695946093322, + 9.994152821518634, + 10.982348664784954, + 12.488914931312067, + 16.29540265353857, + 19.29660180790264, + 24.360254552042935, + 28.96154849855148, + 37.117441236531405, + 41.26056103447424, + 43.777061808523726, + 46.25632346480049, + 47.54627955210523, + 55.59201734278458, + 62.39837128649657, + 74.68111307342369, + 131.70929687193484, + 184.20585444432623, + 219.8554611356455, + 241.6771825277177, + 271.92658904496466, + 309.27547046341994, + 343.9653366948674, + 360.07393773039513, + 391.49881194879595, + 424.3661599816271, + 443.2487189469454, + 545.6254041019172, + 621.9769175884586 + ], + "sum": 13767.25332285946 + }, + "bsnr_legacy": { "max": 618.7512528130687, "median": 47.54984644178673, "n": 92, @@ -17088,6 +21147,47 @@ 66.49320994206263 ], "bsnr": { + "max": 772.0412402559396, + "median": 55.19721461852502, + "n": 91, + "quantiles": [ + 0.9977826695969744, + 1.1807708985016938, + 2.117728144028847, + 2.595407053386667, + 3.5495661011480406, + 5.563638978642338, + 6.750194574925909, + 10.250122005322822, + 13.385697879435558, + 22.038985468221128, + 25.714226315771317, + 30.567677070737396, + 31.76757231638842, + 35.98156504144432, + 39.17454727016054, + 42.893228636140435, + 55.19721461852502, + 61.63377038862297, + 65.56886425584798, + 85.53163071796308, + 122.07031592465788, + 139.67424794709967, + 195.97909817636946, + 268.7189508316, + 330.96858517555563, + 366.7049787890411, + 401.4353369753144, + 442.58709095169456, + 476.5332191914733, + 534.8382259575496, + 616.8402233616541, + 707.8579454085341, + 772.0412402559396 + ], + "sum": 15888.509178553139 + }, + "bsnr_legacy": { "max": 771.6524605704162, "median": 55.114592663419394, "n": 91, @@ -17260,6 +21360,47 @@ 87.288590981566 ], "bsnr": { + "max": 11402.918204420144, + "median": 1167.5954679504916, + "n": 91, + "quantiles": [ + 0.9913333015822109, + 2.5328847277411994, + 8.481061816164175, + 22.0612432989174, + 33.96831163455368, + 46.44749727864779, + 59.64966656344911, + 96.4169293505335, + 120.82601759889951, + 178.70204036542307, + 204.19881839899085, + 224.4830283437908, + 363.0579531165632, + 531.11025097727, + 728.8060963422068, + 1075.598363048913, + 1167.5954679504916, + 1403.44426821977, + 1532.3328217825224, + 1627.2752435537298, + 1821.9192840346673, + 1897.1133520707986, + 1994.1329827371444, + 2206.3835791652536, + 2484.867707642993, + 2696.5505553503717, + 3006.3424881520614, + 3086.6797838243897, + 3526.5977620947388, + 4008.1601601817033, + 4748.774345014498, + 7426.110241595663, + 11402.918204420144 + ], + "sum": 157222.05130259247 + }, + "bsnr_legacy": { "max": 11450.917099496071, "median": 1166.9283926399703, "n": 91, @@ -17432,6 +21573,47 @@ 87.33097653478234 ], "bsnr": { + "max": 6092.299511553009, + "median": 1129.8832829012517, + "n": 90, + "quantiles": [ + 0.999839884455718, + 1.061294016259709, + 3.9995391359543557, + 9.731272816656555, + 14.83322561624599, + 28.209468450449794, + 55.57743637321252, + 67.89602566550768, + 78.21745682526881, + 95.04647770916156, + 123.23400775241265, + 170.01101534969857, + 290.4980092944941, + 468.04751671567993, + 738.4085827769547, + 831.0215391362365, + 1129.8832829012517, + 1342.5557047009759, + 1404.0981268064825, + 1565.0285710440216, + 1683.525100265012, + 1722.7335221399194, + 1765.8391108401677, + 2016.1358794461714, + 2313.314094410803, + 2378.404075174841, + 2450.9009037376663, + 2610.277975227256, + 2747.455467837595, + 3092.6784800610903, + 3987.0731514830904, + 5456.559441957466, + 6092.299511553009 + ], + "sum": 124024.84352526405 + }, + "bsnr_legacy": { "max": 6097.268729504134, "median": 1128.3702764825816, "n": 90, @@ -17604,6 +21786,47 @@ 77.612857664939 ], "bsnr": { + "max": 1792.3312779459957, + "median": 223.410860892269, + "n": 91, + "quantiles": [ + 0.9902638207205721, + 1.3112517496688667, + 2.771019043042496, + 3.705726557480952, + 6.307646427429813, + 10.20960159473974, + 14.663650613840664, + 26.0409592717408, + 35.856568587608, + 49.48773331093465, + 66.10535357380519, + 119.5839264212909, + 140.31536292206212, + 165.67355979157054, + 179.43948384035772, + 206.77872017674102, + 223.410860892269, + 232.2134996424142, + 249.55876808888834, + 266.7861714603779, + 296.6524875671057, + 308.98190875319915, + 316.28195821929245, + 356.76128478710456, + 380.0097231731777, + 389.12977269218186, + 423.05405567039264, + 445.5189582512828, + 478.59695290259896, + 513.0441362962407, + 619.959323677288, + 810.0357245123837, + 1792.3312779459957 + ], + "sum": 24097.353008130078 + }, + "bsnr_legacy": { "max": 1791.4029701350726, "median": 223.30531762743064, "n": 91, @@ -17776,6 +21999,47 @@ 78.70973933893117 ], "bsnr": { + "max": 2084.3374639998374, + "median": 150.84826171344116, + "n": 86, + "quantiles": [ + 0.9890028543150675, + 2.90510330810734, + 4.780831134247874, + 7.841457358755212, + 10.43207958925862, + 14.431111142057807, + 21.559948013419888, + 39.045690638686004, + 49.30963899554511, + 55.698699662786495, + 62.66476144929425, + 84.05358936247698, + 95.93101550609006, + 107.29111694963265, + 118.57868995541224, + 148.39300478238377, + 150.84826171344116, + 158.71770572241314, + 169.41083157586928, + 183.18199978198288, + 207.1053482855649, + 211.99430937745916, + 248.38957698589647, + 287.0007812211498, + 357.2307381733284, + 391.3060056157953, + 420.64170991342485, + 476.55937270960834, + 584.7361905675494, + 724.9682701432587, + 796.8833677908965, + 945.4464096377986, + 2084.3374639998374 + ], + "sum": 22739.765810984467 + }, + "bsnr_legacy": { "max": 2084.0335329424443, "median": 151.20117182104977, "n": 86, @@ -17948,6 +22212,47 @@ 46.8380554298236 ], "bsnr": { + "max": 268.0574569822682, + "median": 34.20938368297408, + "n": 92, + "quantiles": [ + 0.5594212503492126, + 0.6204881995588917, + 0.738215249342628, + 1.4302303695529546, + 2.0410761737713092, + 3.002316686669027, + 3.7123973817268583, + 9.233829984653969, + 15.058108639398382, + 18.382127117700897, + 24.680556530701356, + 25.883685053608264, + 29.274819719629313, + 30.62811511974619, + 31.53926895213458, + 33.36757624610273, + 34.20938368297408, + 37.99450815927196, + 42.64276725804258, + 46.69266211482919, + 48.65493316721289, + 51.68588557308156, + 53.82025074731697, + 66.37863479131232, + 76.62986361000617, + 81.68276029912536, + 101.44671799168798, + 126.61401754644956, + 131.031262165574, + 138.0756395486647, + 178.7908007338068, + 215.80987595312888, + 268.0574569822682 + ], + "sum": 5245.623915480578 + }, + "bsnr_legacy": { "max": 271.4088310641645, "median": 34.28508254323934, "n": 92, @@ -18120,6 +22425,47 @@ 46.32869958783309 ], "bsnr": { + "max": 240.71544592654277, + "median": 77.03873282011011, + "n": 93, + "quantiles": [ + 0.9993774507133196, + 1.1029579711735746, + 1.7275218205978853, + 2.012194818909828, + 2.81535582510853, + 4.53502735012601, + 5.019623525774409, + 7.526275188636998, + 12.10596746341079, + 21.739886214505905, + 28.32179282809232, + 39.831072978647306, + 50.474319183763214, + 58.83809173232155, + 64.66678537312683, + 71.66495459745298, + 77.03873282011011, + 80.44966197891883, + 82.0871635259245, + 83.00495684608141, + 87.2746244590976, + 91.5318479173134, + 94.4558183273794, + 101.9328064396372, + 104.25932435293878, + 113.29633544960197, + 129.3508188934515, + 138.07383826154765, + 142.35049591556282, + 153.42728304303034, + 161.74075318386937, + 177.34832743072744, + 240.71544592654277 + ], + "sum": 6699.278923825083 + }, + "bsnr_legacy": { "max": 240.31553629697183, "median": 76.60773775281558, "n": 93, @@ -18292,6 +22638,47 @@ 43.07635105088069 ], "bsnr": { + "max": 118.56959987566336, + "median": 43.65934799657457, + "n": 74, + "quantiles": [ + 0.9447802617867767, + 1.7425070806243719, + 3.2832933229169985, + 5.058543779380704, + 7.198108266754556, + 8.54415315307379, + 9.366800364731562, + 11.049727786220124, + 13.016621290027727, + 13.852498639165216, + 16.461225128323782, + 19.47052274324378, + 25.813684593435497, + 30.06389585026137, + 37.009532659489395, + 40.21079386201596, + 43.65934799657457, + 49.63067358632791, + 51.31650758244092, + 53.91209211050902, + 54.73772880235407, + 58.0452016111333, + 59.67269520898631, + 66.72980601003097, + 71.1526215678284, + 74.34946039768391, + 77.42964547391048, + 79.19050422787633, + 85.80041688047204, + 89.26344614845807, + 95.19039809459393, + 103.90189469828229, + 118.56959987566336 + ], + "sum": 3286.3085748753233 + }, + "bsnr_legacy": { "max": 119.35713627462556, "median": 43.76890832404423, "n": 74, @@ -18464,6 +22851,47 @@ 44.732800785624676 ], "bsnr": { + "max": 179.05599401496045, + "median": 43.21902309702104, + "n": 73, + "quantiles": [ + 0.4574391598546855, + 1.6896492106904952, + 3.824553567368681, + 5.6185348701510325, + 8.202701303593653, + 9.403380770934263, + 11.451695617400434, + 14.177110499199138, + 15.601830497153303, + 17.0409417095661, + 18.447983256445426, + 20.878088347744043, + 26.318372246104513, + 29.468338245330546, + 34.01702759921051, + 41.43297813716092, + 43.21902309702104, + 49.60027372679266, + 58.79645121600906, + 66.26479103747482, + 68.31525863799737, + 75.54871764640372, + 85.38528757009418, + 94.90634591899133, + 100.76106722574184, + 105.52133165564243, + 111.32180246462613, + 115.17877332775643, + 116.20419907021112, + 117.5880413709416, + 131.2953713540443, + 167.75071640011092, + 179.05599401496045 + ], + "sum": 4266.22930305646 + }, + "bsnr_legacy": { "max": 180.29929286884482, "median": 43.34476567784774, "n": 73, @@ -18636,6 +23064,47 @@ 47.55959434090303 ], "bsnr": { + "max": 252.04915903367367, + "median": 96.63847204975566, + "n": 78, + "quantiles": [ + 0.7935638380921683, + 4.1371668325008315, + 7.428203202824988, + 9.448056561026098, + 12.120584247213191, + 15.121272226553982, + 21.74944937149297, + 25.917695403306716, + 40.74418430273187, + 43.81004131863021, + 56.000628735379536, + 58.48317688372816, + 64.96313295389308, + 70.04704312970576, + 74.35239896005554, + 86.95552153935928, + 96.63847204975566, + 102.86690526418927, + 107.5629712306132, + 114.521276784813, + 116.40187395141663, + 121.31476599222113, + 124.01749510542483, + 130.36068580467773, + 133.994646120975, + 135.84385061647163, + 144.56551159103418, + 150.25872903525413, + 169.7702378093912, + 180.60052820685084, + 187.4874697781484, + 197.95266559674465, + 252.04915903367367 + ], + "sum": 7167.505592282202 + }, + "bsnr_legacy": { "max": 250.83111988787704, "median": 96.7013384220812, "n": 78, @@ -18808,6 +23277,47 @@ 47.40265302905726 ], "bsnr": { + "max": 345.3022379327881, + "median": 90.6926694990942, + "n": 77, + "quantiles": [ + 0.47598251200848557, + 4.206715517729124, + 6.753421184899689, + 8.833398247221233, + 10.325460145151194, + 18.412767725457932, + 20.815844899544118, + 27.65168307106407, + 39.9638627632868, + 48.653727180872096, + 53.24146038110435, + 55.85531853499934, + 66.47133246338709, + 70.58008583224799, + 77.44856775509771, + 81.40243634895967, + 90.6926694990942, + 102.65895911054452, + 111.888585939927, + 122.08313275443493, + 126.74259130121746, + 130.7146151960449, + 144.44288467533534, + 149.1260111954156, + 165.9711952568123, + 177.9259146343293, + 185.09904907512512, + 208.44153980714566, + 216.7750101148926, + 243.40507317391442, + 272.73524958656964, + 306.8229545514749, + 345.3022379327881 + ], + "sum": 8528.879072576256 + }, + "bsnr_legacy": { "max": 345.9562020327441, "median": 90.54426164879105, "n": 77, @@ -18980,6 +23490,47 @@ 40.4117258750204 ], "bsnr": { + "max": 309.49188008877775, + "median": 39.185203660691116, + "n": 74, + "quantiles": [ + 0.9963933783942216, + 1.033940536105377, + 1.1710845271263437, + 3.0791398931457636, + 6.8469089744253555, + 8.605789887996238, + 9.729605308544953, + 10.346979962930378, + 10.994742626338558, + 12.164182203998553, + 16.364408598020724, + 19.142986217534887, + 24.9425246336117, + 28.154833519644498, + 29.589966714718926, + 34.132102026559075, + 39.185203660691116, + 45.914890635889314, + 50.428103554655124, + 57.86114601911606, + 66.6324013515663, + 106.3421605674474, + 150.69449875199703, + 181.83588071534047, + 195.08289502878665, + 206.7517251375715, + 218.52525480490192, + 229.06406888446205, + 244.40318642852912, + 268.1570600955202, + 278.3142243708495, + 299.1148791879053, + 309.49188008877775 + ], + "sum": 6982.391762793992 + }, + "bsnr_legacy": { "max": 309.16390241719074, "median": 39.25960883335368, "n": 74, @@ -19152,6 +23703,47 @@ 44.815686423173666 ], "bsnr": { + "max": 568.7324637303464, + "median": 51.92918004441354, + "n": 71, + "quantiles": [ + 1.0, + 2.709527085420552, + 3.245917951053409, + 3.8800058082476396, + 4.979779750787851, + 5.054767691886732, + 5.596153486923938, + 7.055159594496189, + 7.631936635812953, + 10.725230146031329, + 14.026042354245725, + 15.925756931528616, + 19.40142575298457, + 29.7571741819045, + 44.992612250459864, + 46.16564916477165, + 51.92918004441354, + 58.064419978767596, + 66.76803039175105, + 79.74410842292858, + 103.03533652681242, + 141.79095065916326, + 169.11882372275605, + 183.86050948348802, + 216.7658975097503, + 230.13418859084086, + 238.12921371977316, + 274.33085278087157, + 327.4159372916814, + 390.05006402930655, + 505.22345971937136, + 539.2790411708936, + 568.7324637303464 + ], + "sum": 9212.166210906122 + }, + "bsnr_legacy": { "max": 567.6856549373365, "median": 51.78366484492535, "n": 71, @@ -19326,6 +23918,47 @@ 47.39421263878397 ], "bsnr": { + "max": 1880.3109826353675, + "median": 162.3447432292062, + "n": 78, + "quantiles": [ + 1.000000000000002, + 2.7766655647259033, + 5.774525945708102, + 9.815765210916267, + 19.32676766516546, + 35.60318833600894, + 54.40033698003449, + 71.11502886326932, + 80.91062658518419, + 86.94744686255352, + 89.86704609350313, + 99.19255233590836, + 104.29726207834081, + 111.23989006325667, + 116.8454373251694, + 139.04969672300498, + 162.3447432292062, + 184.53660662949773, + 202.09492429701803, + 223.097451554923, + 240.09866249478742, + 266.1917951145255, + 289.0273544821267, + 297.4380496813878, + 359.23883037244997, + 435.2847941097427, + 450.79980293260456, + 514.4655309874634, + 634.0731613414706, + 722.539221067223, + 1012.0884392711499, + 1330.9379578255823, + 1880.3109826353675 + ], + "sum": 23088.2160936197 + }, + "bsnr_legacy": { "max": 1880.9007467966476, "median": 161.93710121831822, "n": 78, @@ -19498,6 +24131,47 @@ 47.53587686428251 ], "bsnr": { + "max": 1215.7033565160293, + "median": 136.83179170818693, + "n": 66, + "quantiles": [ + 1.0, + 5.263336816378795, + 11.323948841234682, + 14.048550935455657, + 17.120759732046373, + 28.45900358451055, + 44.747395019026825, + 54.82387938662893, + 62.51880491732014, + 74.74645189679627, + 76.73815603480351, + 82.20794550520857, + 87.82000585449185, + 99.69311067430476, + 112.28755229615174, + 121.11820708642395, + 136.83179170818693, + 149.4744807909159, + 158.61366003780688, + 164.66099645067231, + 178.83335935689942, + 226.80163122173371, + 272.5598809690041, + 304.9075026276755, + 328.8652811966736, + 356.017994569844, + 370.6390418696857, + 432.0797261986102, + 560.007449491881, + 594.8315751409369, + 612.9842278340407, + 650.2054403513972, + 1215.7033565160293 + ], + "sum": 14519.203146120528 + }, + "bsnr_legacy": { "max": 1226.7786635011566, "median": 137.02402090043893, "n": 66, @@ -19670,6 +24344,47 @@ 13.867320285691235 ], "bsnr": { + "max": 1400.2851150216843, + "median": 86.72151086719163, + "n": 80, + "quantiles": [ + 1.0, + 1.915657318106935, + 2.3628482248597704, + 2.8906985259881917, + 3.6043107366002243, + 6.558835531280481, + 9.174210633217625, + 10.657799943033835, + 15.206386606070598, + 18.740260246946505, + 25.63626861938187, + 30.233753781832508, + 34.68411260365455, + 39.935181788357, + 70.2438102378564, + 75.93609589246259, + 86.72151086719163, + 110.64516150668736, + 128.80607386912234, + 140.34929614531393, + 152.44037412410756, + 184.59216909134074, + 209.75740962268455, + 216.13435574445242, + 245.3341435718085, + 303.13822272622417, + 397.53722454019305, + 469.0191482146633, + 577.382573467363, + 602.6661404045685, + 680.2345513310165, + 803.7587208942583, + 1400.2851150216843 + ], + "sum": 16491.743163025232 + }, + "bsnr_legacy": { "max": 1404.082239964787, "median": 86.7263355870588, "n": 80, @@ -19842,6 +24557,47 @@ 38.81835701848392 ], "bsnr": { + "max": 541.4315378189104, + "median": 52.707416115623836, + "n": 79, + "quantiles": [ + 0.2600770047242161, + 0.7146510980722329, + 0.9961583006684976, + 1.86487953300828, + 3.6154632074937494, + 4.866941319108353, + 6.114043838367627, + 7.842427953180806, + 9.983361792909092, + 13.037232249647804, + 17.432906199424476, + 19.237132174157242, + 21.61338194067183, + 23.419003766799584, + 28.55177318084261, + 34.79130669368306, + 52.707416115623836, + 58.828578572761096, + 63.44434023392759, + 85.9830627942316, + 87.87248004677394, + 102.24815054530009, + 106.04947572486951, + 119.26366944196269, + 149.67776361554365, + 186.44339570874104, + 214.47222420989897, + 242.3759754952515, + 258.3265433449682, + 281.87384476744074, + 313.58457489002836, + 437.66482599956237, + 541.4315378189104 + ], + "sum": 8104.912623397691 + }, + "bsnr_legacy": { "max": 543.8757867727611, "median": 52.69013551622737, "n": 79, @@ -20014,6 +24770,47 @@ 16.950347759139436 ], "bsnr": { + "max": 241.87899755322496, + "median": 16.35967373120814, + "n": 77, + "quantiles": [ + 0.41035528384760084, + 1.004743937500824, + 1.613311725616717, + 2.054288843172767, + 2.120901461615186, + 2.714302116770528, + 3.572204147353187, + 5.678221561828777, + 6.141608283887285, + 6.914517493991628, + 7.7564537546306935, + 9.149902475764126, + 10.036216450161334, + 11.877307928756931, + 12.399649879409033, + 13.723780463357311, + 16.35967373120814, + 18.581003478481247, + 22.65024249396561, + 24.22749999780314, + 28.24426885840488, + 33.10575593713631, + 33.62498365101347, + 37.112047644101, + 41.49870299973586, + 42.88592605925894, + 44.6693421252985, + 58.58160024800442, + 70.1205956122603, + 79.22128297595201, + 93.21389242422475, + 115.22981048793558, + 241.87899755322496 + ], + "sum": 2368.6419861772683 + }, + "bsnr_legacy": { "max": 242.53978134529208, "median": 16.346062297081797, "n": 77, @@ -20186,6 +24983,47 @@ 9.553271247128368 ], "bsnr": { + "max": 214.1267689185217, + "median": 10.095494234340608, + "n": 75, + "quantiles": [ + 0.23830717899822748, + 0.9383761054973581, + 1.0791111213193547, + 2.1350309484123455, + 2.5373119244556888, + 3.0482403384604373, + 3.475713370338716, + 4.210690742766164, + 6.01927285781195, + 6.229735621918736, + 6.866310861275741, + 7.318831003954575, + 7.542328033875145, + 7.999251814132653, + 8.374835753473421, + 9.220221498612348, + 10.095494234340608, + 12.0568014082487, + 14.87062251534266, + 15.82362196389828, + 17.198234852137503, + 17.230020957431115, + 18.6245184666677, + 20.44119945903911, + 22.475292671632985, + 26.17245429576422, + 29.724947073086334, + 30.25049660158491, + 35.9460130910045, + 51.352516716781494, + 84.18940435160441, + 151.50986479494185, + 214.1267689185217 + ], + "sum": 1844.3736992986594 + }, + "bsnr_legacy": { "max": 213.08337962544704, "median": 10.101682011790963, "n": 75, @@ -20358,6 +25196,47 @@ 27.18196694054258 ], "bsnr": { + "max": 559.0605165871581, + "median": 11.682956452111089, + "n": 76, + "quantiles": [ + 0.34401576261657835, + 0.5893968406585236, + 0.857242880737676, + 0.9642649786400338, + 1.1543669947572335, + 1.323572980644919, + 1.6595842022460081, + 3.062492854443493, + 3.601807261405424, + 4.296444389532246, + 4.605035443720821, + 4.861121382779235, + 5.330571024228345, + 7.9186198890430095, + 8.982360291404198, + 9.651717156850331, + 11.682956452111089, + 14.627378624935016, + 16.44079640911163, + 19.58271878143033, + 22.94117232178778, + 25.635254637870503, + 33.11593616575358, + 36.60020273615355, + 52.02773561386963, + 87.46869036220933, + 103.8640544931503, + 180.08551359059547, + 207.87927770171808, + 241.47816374031106, + 325.55845096915675, + 412.83929735430024, + 559.0605165871581 + ], + "sum": 5299.968773948808 + }, + "bsnr_legacy": { "max": 559.5496080627778, "median": 11.678172394570858, "n": 76, @@ -20530,6 +25409,47 @@ 13.486305565562793 ], "bsnr": { + "max": 376.8307936967562, + "median": 8.228138084434102, + "n": 72, + "quantiles": [ + 0.23826987236457361, + 0.49531887050233775, + 0.6608715406325227, + 0.8365558377604411, + 0.8767191817571102, + 0.9421923591019759, + 1.0628088910588773, + 1.085669851997574, + 1.1732665507164537, + 1.393881495047106, + 1.6305795469452304, + 2.2696445731346317, + 3.243948425588042, + 4.42664119403177, + 5.702665214811659, + 6.644658443208066, + 8.228138084434102, + 9.565871341423863, + 10.376165135266923, + 11.363495947518464, + 11.607620821155423, + 12.87409319006203, + 14.709540382824796, + 17.194207994601303, + 20.256186097260365, + 30.5867021947953, + 49.3771169691029, + 66.43090871612269, + 83.02505370273198, + 108.8422372806121, + 139.5163636822226, + 294.8393776083321, + 376.8307936967562 + ], + "sum": 2690.4005795547855 + }, + "bsnr_legacy": { "max": 376.1060001228802, "median": 8.199251382449635, "n": 72, @@ -20742,6 +25662,47 @@ ], "sum": 1231.8027749007256 }, + "bsnr_legacy": { + "max": 85.08200821040597, + "median": 7.761590193695011, + "n": 73, + "quantiles": [ + 0.2940107115373104, + 0.6496206368417297, + 0.8940361072297944, + 1.1060916477782707, + 1.2237537452415697, + 1.3713283764295088, + 1.5520646925107942, + 1.7325723460802775, + 2.095025655251778, + 2.2494913813648285, + 2.457742625698839, + 2.632529155661511, + 3.1179762963832682, + 3.4159189841823006, + 4.997962983134185, + 5.570211759018231, + 7.761590193695011, + 7.994420895744101, + 9.265890088134842, + 13.782982692762976, + 15.809886634889093, + 18.409251800524565, + 22.235032907954903, + 23.619792056281064, + 25.986734035152853, + 27.934849433054545, + 33.25478381888651, + 37.31973856251034, + 40.688690135579805, + 47.74121270902272, + 54.97804161875091, + 69.7205911130032, + 85.08200821040597 + ], + "sum": 1231.8027749007256 + }, "freq": { "max": 50.0, "median": 25.208333333333336, @@ -20914,6 +25875,47 @@ ], "sum": 1478.3338173227237 }, + "bsnr_legacy": { + "max": 191.45759402299083, + "median": 6.729228589244153, + "n": 71, + "quantiles": [ + 0.14733152561132343, + 0.6932704376739287, + 0.7672023380357308, + 0.9096706650880405, + 1.2381785203806468, + 1.465561005362176, + 1.6151935511445257, + 1.7964208163524713, + 2.0219470991297728, + 2.336508998516723, + 2.4775776692525415, + 2.6889937611882906, + 3.320962202695169, + 4.233046323559373, + 4.549544806282588, + 5.358401856857496, + 6.729228589244153, + 8.260719296402605, + 12.80246879437931, + 14.427531446811985, + 15.524057587099925, + 18.19457163450822, + 19.500506665874255, + 21.284940787874, + 24.49034754863078, + 26.59660823309635, + 28.32663964816126, + 38.14506371063859, + 48.64452754660766, + 63.230311734785026, + 75.4306908051399, + 88.28868464520771, + 191.45759402299083 + ], + "sum": 1478.3338173227237 + }, "freq": { "max": 50.0, "median": 25.229357798165136, @@ -21046,6 +26048,47 @@ 47.34402538126305 ], "bsnr": { + "max": 3839.188335494382, + "median": 140.7913989161582, + "n": 81, + "quantiles": [ + 1.000000000000002, + 3.8669885827530424, + 7.6994872587261645, + 29.62893495935115, + 37.80161595809487, + 57.919140224056214, + 65.58532644088532, + 69.65864108531848, + 73.54404817391446, + 84.84066931095086, + 90.65422153778289, + 100.24916929361758, + 115.50222834098368, + 117.65714969039684, + 121.81139519703936, + 133.2907804971907, + 140.7913989161582, + 153.5897179534015, + 175.97076452623438, + 197.97584200593664, + 220.88557218233285, + 235.81568950445057, + 238.58361804310763, + 248.26402068402987, + 276.15733140302996, + 293.5210438452556, + 302.6116315685565, + 342.6474729353735, + 374.5408651443504, + 537.376250302328, + 652.5225796897863, + 782.7973998521302, + 3839.188335494382 + ], + "sum": 20425.918850185542 + }, + "bsnr_legacy": { "max": 3843.5597440520733, "median": 141.36789634417354, "n": 81, @@ -21218,6 +26261,47 @@ 45.916439360932046 ], "bsnr": { + "max": 1725.3374199925172, + "median": 131.46211930177947, + "n": 80, + "quantiles": [ + 0.2545564842232323, + 2.8903377790977656, + 11.89242670188055, + 18.029166406942018, + 33.222484945900646, + 51.54876514956347, + 72.2660792074046, + 74.95409285993843, + 89.95477436088515, + 96.78005093979448, + 101.63105758176428, + 105.17421839432262, + 108.56467546951342, + 114.49029343512825, + 118.51656252240794, + 126.43288291956219, + 131.46211930177947, + 134.0578864968976, + 145.26662865158127, + 156.1381099940903, + 163.24149279977132, + 205.20227966087162, + 226.33627806420807, + 256.6091379467382, + 288.2145932044187, + 343.1398367547015, + 353.5332331819851, + 412.2052913983614, + 519.8846309395552, + 632.9554979277035, + 731.1288762502174, + 999.7531150904724, + 1725.3374199925172 + ], + "sum": 19844.467901431835 + }, + "bsnr_legacy": { "max": 1728.2014304101642, "median": 131.4881136520693, "n": 80, @@ -21390,6 +26474,47 @@ 17.06914373386994 ], "bsnr": { + "max": 637.1571255627512, + "median": 12.902998242632583, + "n": 70, + "quantiles": [ + 0.24976957783622167, + 0.7644000531570265, + 0.9823974082462741, + 1.0525888425378487, + 1.2975997817051539, + 1.8316691482885887, + 2.269235894283318, + 3.166032455035072, + 3.83142028762363, + 4.564884534305387, + 5.38489924665387, + 6.391362997464819, + 7.161829290300935, + 7.564635878070166, + 9.250209107031683, + 10.535230385950067, + 12.902998242632583, + 17.415348095554478, + 21.04744433049068, + 25.821236819952453, + 31.59897286572762, + 50.14510766793277, + 60.794803177870975, + 67.94154777431139, + 78.38708443823911, + 91.35231664823132, + 129.07395301723506, + 170.06922136681663, + 184.01896415529328, + 244.9282379813825, + 345.0086670587963, + 447.6060239193703, + 637.1571255627512 + ], + "sum": 5326.725724922262 + }, + "bsnr_legacy": { "max": 633.7426387120375, "median": 13.048413850565744, "n": 70, @@ -21562,6 +26687,47 @@ 21.90506249615995 ], "bsnr": { + "max": 380.7386703752599, + "median": 17.244553941247204, + "n": 70, + "quantiles": [ + 0.40617756882164346, + 0.5946913528188548, + 0.7537470307923019, + 0.8073198442412991, + 1.08147048820036, + 1.5215283284975263, + 2.1920057090378027, + 3.1982700274112457, + 4.203754091852454, + 5.298261474477279, + 5.833439618126373, + 6.74977594664034, + 8.390074459110199, + 9.821701521962597, + 11.249330244602232, + 13.482747816127796, + 17.244553941247204, + 18.519660924991086, + 19.494751545892775, + 22.91608247097993, + 26.158716298954513, + 30.967070736920025, + 38.09432682998088, + 48.282819030197814, + 54.76685978881969, + 59.898772524275365, + 68.50430672883527, + 82.3375197271905, + 94.76322294939136, + 119.63307081899755, + 161.25179204574152, + 218.63474561108666, + 380.7386703752599 + ], + "sum": 3129.0038273260616 + }, + "bsnr_legacy": { "max": 380.0391481885201, "median": 17.292695994784793, "n": 70, @@ -21734,6 +26900,47 @@ 80.77427233709817 ], "bsnr": { + "max": 1675.7215783657496, + "median": 76.50605219040196, + "n": 92, + "quantiles": [ + 0.8009333430238567, + 1.8466892043693057, + 3.8575574473172964, + 7.0509157201169455, + 10.409505745695544, + 12.515408567686286, + 15.901459073739568, + 17.996781340669266, + 19.647337653640722, + 23.850279413341077, + 27.546177059674374, + 31.09644409946426, + 37.65267229318198, + 48.553594288813684, + 52.25747693141549, + 61.24685088812169, + 76.50605219040196, + 82.3345888703042, + 85.51303744258917, + 111.72968585718796, + 154.75967849172162, + 179.01260987208133, + 200.44198089943208, + 308.94277819223043, + 364.62197122306134, + 481.57593823509, + 723.3751313732686, + 898.5939286500525, + 970.0679051111487, + 1101.1241697255834, + 1270.8960287731618, + 1347.5020777006418, + 1675.7215783657496 + ], + "sum": 27857.878257013253 + }, + "bsnr_legacy": { "max": 1670.9530896452072, "median": 76.48313878184456, "n": 92, @@ -21906,6 +27113,47 @@ 80.69725711045471 ], "bsnr": { + "max": 7180.243470990451, + "median": 95.39623101254634, + "n": 91, + "quantiles": [ + 1.0, + 2.444790814199568, + 5.089894698023376, + 6.531375324022716, + 7.419190045336831, + 9.443519133278347, + 13.784792906150246, + 17.376644996194717, + 24.7958892780086, + 34.07269814129918, + 41.148048844443124, + 46.7552342202335, + 50.892295000446715, + 57.62318962962846, + 73.11832408942075, + 85.34785611664987, + 95.39623101254634, + 111.65080913795128, + 181.36275134111878, + 203.17305726555185, + 214.30235718912587, + 383.5721751076908, + 493.78553167600734, + 602.2712846322014, + 611.5655828523095, + 688.1863099173244, + 805.9508813914581, + 921.2820397052477, + 1074.3732151903364, + 1250.4691256606159, + 1547.6315861300282, + 3112.6813882688916, + 7180.243470990451 + ], + "sum": 48631.64752293084 + }, + "bsnr_legacy": { "max": 7175.671392425356, "median": 95.40064451706935, "n": 91, @@ -22078,6 +27326,47 @@ 94.25511767508232 ], "bsnr": { + "max": 7993.668673280747, + "median": 985.5298595046838, + "n": 91, + "quantiles": [ + 1.0, + 3.2044947073528554, + 39.23153387586725, + 66.80407860852365, + 82.98385663750477, + 112.66927537215169, + 149.23975067749498, + 190.44461471267556, + 223.01641958842373, + 246.79184055217442, + 315.7970962933342, + 352.52281276580374, + 474.49800488989223, + 555.5784288184733, + 638.4083932259464, + 759.6900945225383, + 985.5298595046838, + 1113.5289879881677, + 1646.8900903588674, + 1907.1671739801995, + 2172.560729638287, + 2388.2644230167375, + 2504.1500265293926, + 2847.603785421262, + 2916.089059070675, + 2987.1907366211203, + 3136.0403982074777, + 3571.9962253521517, + 4186.485071929173, + 5138.828747188761, + 5860.971237767661, + 6491.315289171698, + 7993.668673280747 + ], + "sum": 167213.07468469348 + }, + "bsnr_legacy": { "max": 7956.655839860894, "median": 986.1115454734073, "n": 91, @@ -22250,6 +27539,47 @@ 94.27281435133563 ], "bsnr": { + "max": 10966.239407435312, + "median": 1235.1101479974263, + "n": 90, + "quantiles": [ + 0.9869925267071262, + 13.117944087920417, + 37.993982010112106, + 61.30766795615544, + 71.10237237645116, + 140.33786439781397, + 157.4921078384937, + 183.4856994954164, + 271.14120734975984, + 340.81113059899326, + 372.9937541269793, + 430.1840621877805, + 580.2344993042855, + 697.9793340328915, + 862.0068728592397, + 1047.3633801163144, + 1235.1101479974263, + 1706.567248497078, + 1902.7132890311805, + 2252.253477165899, + 2504.0086021763914, + 2948.6832341535974, + 3202.2791378523834, + 3747.4181821003126, + 3789.093135866009, + 3986.0715468494473, + 4359.843142722615, + 4898.341696610601, + 5229.372507683052, + 5522.588811908093, + 6310.638914458774, + 7742.861641348195, + 10966.239407435312 + ], + "sum": 202723.07080299215 + }, + "bsnr_legacy": { "max": 11003.99845713136, "median": 1235.7183782958705, "n": 90, @@ -22422,6 +27752,47 @@ 94.21104790578656 ], "bsnr": { + "max": 4115.617456812666, + "median": 202.04949574541243, + "n": 91, + "quantiles": [ + 1.0, + 6.2365217990751365, + 7.936675841785068, + 19.612303736078523, + 27.11142230743196, + 36.47759116318403, + 49.26337251722425, + 60.43432979648773, + 70.18202231840058, + 82.25707919989412, + 96.15155532710725, + 115.92869498281166, + 128.502719458723, + 152.918792184827, + 181.3954998221846, + 185.23711239539617, + 202.04949574541243, + 235.5943339692273, + 255.1451821250979, + 286.35329684470895, + 317.69109092634545, + 355.6123847029939, + 384.9581340043229, + 432.1219799926163, + 472.9239320968692, + 488.89270137274355, + 579.510735364738, + 618.0678065914042, + 696.3709901721936, + 926.9973413330094, + 1098.3206489448842, + 1855.5426129643904, + 4115.617456812666 + ], + "sum": 36028.88952270381 + }, + "bsnr_legacy": { "max": 4111.550477823237, "median": 201.78483782408776, "n": 91, @@ -22594,6 +27965,47 @@ 94.47315173882237 ], "bsnr": { + "max": 2439.4889303894697, + "median": 150.52137652276465, + "n": 86, + "quantiles": [ + 1.0, + 4.983287651112015, + 11.701993326359496, + 18.77869156476605, + 21.915458448512958, + 25.074824518453582, + 30.610710173551322, + 54.98855949975666, + 71.29769624827634, + 77.50645311760577, + 90.1992898347321, + 108.54880045946386, + 117.12271851881067, + 123.57234234030105, + 128.25576292012238, + 135.74680493268508, + 150.52137652276465, + 165.31889694955674, + 181.33299495161637, + 204.86176607197424, + 255.76363436047407, + 275.38918845255915, + 300.46219477767545, + 323.150708968631, + 364.4634491599864, + 396.62480509673384, + 451.3624907364146, + 517.7923630458437, + 622.7940116661721, + 679.7906454965353, + 1196.721529770954, + 1771.0100562422363, + 2439.4889303894697 + ], + "sum": 27475.209241561948 + }, + "bsnr_legacy": { "max": 2436.107446329116, "median": 151.3242291247238, "n": 86, @@ -22766,6 +28178,47 @@ 46.8380554298236 ], "bsnr": { + "max": 1324.254600072963, + "median": 43.189227806229724, + "n": 92, + "quantiles": [ + 0.3864259421394315, + 0.5265860702772569, + 0.8438572347547952, + 1.7094280318477844, + 3.2033221573891746, + 4.138212650606475, + 5.4049283303914315, + 6.772701023146324, + 11.792562893796777, + 17.932990657184305, + 20.829928204372354, + 27.924039313275223, + 30.755933550919092, + 31.677831847573852, + 32.643563567946046, + 38.033378167760006, + 43.189227806229724, + 45.03956431018967, + 50.23984900000539, + 58.18262759628617, + 62.51193143630684, + 76.65338007274953, + 81.5573355760701, + 86.36369909838037, + 93.9658628404002, + 101.1015496134143, + 115.12577768117127, + 141.83938752811335, + 187.2054926345646, + 267.07570311477195, + 372.5355742402629, + 577.6437950299022, + 1324.254600072963 + ], + "sum": 9628.21639685622 + }, + "bsnr_legacy": { "max": 1318.2462571228143, "median": 43.26753832176495, "n": 92, @@ -22938,6 +28391,47 @@ 46.32869958783309 ], "bsnr": { + "max": 651.5218989706145, + "median": 79.81472092449664, + "n": 93, + "quantiles": [ + 0.49964812875076203, + 0.9590310967569423, + 1.396311629880928, + 1.9947911416602864, + 4.116884622709085, + 6.136545173754539, + 6.979466838464965, + 12.927568823616289, + 15.48735317022736, + 19.915144765767806, + 35.85782485350435, + 44.974869414281514, + 47.671773737182136, + 54.59719534603547, + 62.65139267801044, + 71.73012052237561, + 79.81472092449664, + 84.71865890056966, + 91.14189785332965, + 95.25684889962486, + 101.39943810895093, + 115.14653600914022, + 120.62172859368583, + 135.31373214645362, + 149.02571834552612, + 188.8702743314699, + 208.08269181157746, + 232.9912849500108, + 257.0507091292944, + 275.7563896675561, + 384.2866964464472, + 460.24372488797326, + 651.5218989706145 + ], + "sum": 10895.394184198363 + }, + "bsnr_legacy": { "max": 656.0095402069938, "median": 79.8512111131784, "n": 93, @@ -23110,6 +28604,47 @@ 43.07635105088069 ], "bsnr": { + "max": 241.16631446199, + "median": 49.45109393621769, + "n": 74, + "quantiles": [ + 0.404804834486923, + 1.4373019234196631, + 3.8233784296041473, + 6.937050419075922, + 7.840937445117957, + 9.774465447462545, + 13.451891242094584, + 14.47023863764196, + 15.296639129935551, + 16.75989553885504, + 17.16092945841452, + 20.535412620498516, + 21.845617188023933, + 24.847201167841252, + 31.68452388618587, + 40.88308923645293, + 49.45109393621769, + 56.258470340678315, + 60.58247384642288, + 69.65423940867731, + 72.5215506474547, + 79.92400897126129, + 86.9806828059627, + 98.39782568567368, + 108.04638157925996, + 116.77761012915262, + 130.7395709186674, + 147.9007589778578, + 153.01115241639417, + 167.9425855312029, + 188.05200588023877, + 205.52165568889012, + 241.16631446199 + ], + "sum": 5038.871894323049 + }, + "bsnr_legacy": { "max": 240.8655136191845, "median": 49.499620199797846, "n": 74, @@ -23282,6 +28817,47 @@ 38.15604543461973 ], "bsnr": { + "max": 344.01576541633267, + "median": 40.22232675460105, + "n": 73, + "quantiles": [ + 0.5019885535652092, + 1.1743439870479893, + 2.489173109265035, + 4.035694104291997, + 5.15544595303843, + 6.245896622597014, + 7.387285125477188, + 8.724628748276587, + 11.30172037485832, + 14.144023107515551, + 15.091597163773239, + 17.315889116001053, + 20.527551042001456, + 26.593890139449293, + 33.351743144031204, + 35.92031942243442, + 40.22232675460105, + 46.67913740489567, + 58.06600801398254, + 72.4270237249327, + 80.75237609383535, + 87.0007976579663, + 92.82346966989495, + 101.84542797376038, + 109.14872304924835, + 129.86903531020246, + 145.46679353668523, + 153.22129999022826, + 157.39498249209078, + 169.47749914774369, + 180.0590918659096, + 229.41771917181143, + 344.01576541633267 + ], + "sum": 5213.639243225752 + }, + "bsnr_legacy": { "max": 346.0754101173682, "median": 40.187476396147815, "n": 73, @@ -23454,6 +29030,47 @@ 47.55959434090303 ], "bsnr": { + "max": 1909.9041985360802, + "median": 145.8464389020038, + "n": 78, + "quantiles": [ + 0.8418557280291858, + 5.927702510494987, + 10.13344564223058, + 15.219965512903892, + 21.924142667672264, + 24.75911889965114, + 33.49880807646136, + 38.52694486406832, + 53.88317671729979, + 73.49804068213635, + 79.76753328499466, + 103.30819157379139, + 118.7128259673179, + 124.09663539208556, + 133.216915314815, + 135.21834981993234, + 145.8464389020038, + 151.600316567791, + 164.14875213818885, + 184.4556436292299, + 190.6606950667544, + 204.10710337470044, + 212.6616435607625, + 249.29129287980078, + 268.67987422967576, + 299.658147888639, + 385.518590514678, + 479.96418329163464, + 522.6994368798925, + 558.1096970627613, + 1020.8482106282321, + 1374.5543335606246, + 1909.9041985360802 + ], + "sum": 20823.842602755663 + }, + "bsnr_legacy": { "max": 1907.4645274849252, "median": 145.8426067524494, "n": 78, @@ -23626,6 +29243,47 @@ 47.40265302905726 ], "bsnr": { + "max": 832.4240473970266, + "median": 69.323928814589, + "n": 77, + "quantiles": [ + 0.9894011792421943, + 3.490318097436172, + 6.19012645986352, + 8.858347610767025, + 9.964205213863714, + 12.204130397520998, + 16.62104035063832, + 20.24356244129488, + 23.317866961723475, + 33.23186882817248, + 42.09258115708912, + 47.29613337668674, + 50.52789175320561, + 58.15279533953511, + 59.8123178289789, + 65.92372778812722, + 69.323928814589, + 72.88251377626662, + 88.79212561826718, + 106.5835682010639, + 113.54124806702279, + 118.13049259635804, + 138.33600360470524, + 166.35097356125567, + 192.58300219264152, + 208.03733610289623, + 216.09228692999076, + 258.61409715935656, + 291.79445942288135, + 310.7182969170686, + 350.59822642384665, + 435.888139784173, + 832.4240473970266 + ], + "sum": 9739.450049390362 + }, + "bsnr_legacy": { "max": 835.3067948182057, "median": 69.48557377159159, "n": 77, @@ -23798,6 +29456,47 @@ 40.4117258750204 ], "bsnr": { + "max": 1309.2594144754655, + "median": 45.23879638218137, + "n": 74, + "quantiles": [ + 0.8369021944889041, + 1.5629781881617686, + 4.992581610006363, + 6.681531576049305, + 11.447492198087328, + 13.419516793568922, + 14.12882326956406, + 15.408481129565807, + 19.068403392766957, + 22.734123222990984, + 25.84509179847775, + 27.071112391378602, + 29.878680316567113, + 32.876648064523515, + 34.88856828193321, + 39.75589202517115, + 45.23879638218137, + 54.60224082823032, + 75.03945636691444, + 85.29877430798888, + 110.0566846266985, + 127.02835464510068, + 168.58878909969974, + 196.21421219934118, + 212.06108646995722, + 260.6162889182794, + 299.66885300284787, + 337.7327446396554, + 392.1735406791826, + 459.8120605209636, + 671.436882021183, + 977.3863564851148, + 1309.2594144754655 + ], + "sum": 12979.762461718787 + }, + "bsnr_legacy": { "max": 1308.6186062719269, "median": 45.23670823359057, "n": 74, @@ -23970,6 +29669,47 @@ 28.034150656401575 ], "bsnr": { + "max": 940.6889946480379, + "median": 47.662844463885484, + "n": 71, + "quantiles": [ + 0.6706059445256872, + 2.8610032561089267, + 3.695044401587719, + 4.301806914109854, + 4.847631803392411, + 5.566084964103289, + 7.616229526184066, + 8.672155272202271, + 9.697539638912254, + 11.26865005337772, + 12.51457360221634, + 15.699115627611892, + 16.748713030208968, + 19.884080997117934, + 29.89787049871803, + 36.83774165556975, + 47.662844463885484, + 56.55183144061567, + 64.8839971441458, + 84.67055493984348, + 119.37284932238357, + 144.1754688061481, + 166.14369008793307, + 176.89754979678534, + 194.59330985043542, + 237.61576735827649, + 266.15629467776995, + 320.0820726114033, + 409.8713540240467, + 464.613158552768, + 543.6950646611385, + 810.7299482552432, + 940.6889946480379 + ], + "sum": 10785.233692357891 + }, + "bsnr_legacy": { "max": 939.3185128534478, "median": 47.709987525257844, "n": 71, diff --git a/tests/test_golden_reference.py b/tests/test_golden_reference.py index 400f2db..f331c98 100644 --- a/tests/test_golden_reference.py +++ b/tests/test_golden_reference.py @@ -297,6 +297,11 @@ def test_the_noise_and_snr_are_exactly_unchanged(estimator: str) -> None: The noise passes through the Parseval rescale, the boost rotation and the interpolation onto the signal's axis. A rewrite of any of those can move ``bsnr`` while leaving the signal amplitudes untouched. + + ``noise_amp`` here is still the legacy value and has never been + regenerated. ``bsnr`` has been, once — see + :func:`test_the_only_deliberate_divergence_from_legacy_is_the_binned_noise`, + which holds the old values and the size of the change. """ expected = _reference()[estimator] problems: list[str] = [] @@ -312,6 +317,70 @@ def test_the_noise_and_snr_are_exactly_unchanged(estimator: str) -> None: ) +@pytest.mark.parametrize("estimator", ESTIMATORS) +def test_the_only_deliberate_divergence_from_legacy_is_the_binned_noise( + estimator: str, +) -> None: + """One correction, bounded, with the superseded numbers kept beside it. + + The legacy code derived the binned noise and the unbinned noise by two + different routes: it multiplied the *bins* by the boost factor, and + separately multiplied the unbinned array by that factor interpolated up. + Those disagree. A bin holds the geometric mean of ``log10(amp)``, so + binning the lifted noise gives ``mean(log a) + mean(log f)`` while lifting + the bin gives ``mean(log a) + log f(centre)`` — equal only where the factor + is flat across the bin. Every stored pair's ``binned_noise`` was therefore + not the binning of its own ``noise``, by up to 18.8%. + + The lift is now applied to the unbinned noise, and the binned noise + derived from it. That changes ``bsnr`` and nothing else, so ``bsnr`` was + regenerated and the superseded values kept as ``bsnr_legacy``. + + **What the change is, measured on the 28 fft windows.** No bin gains or + loses a sample: the bin centres, the bin counts and the binned *signal* are + bit-identical. Only the value representing each bin moves, because the lift + is now averaged across the bin along with the amplitude rather than applied + once at the centre. The result is close to symmetric — 987 bins down, 1064 + up, median ratio 1.000000 — with a slight net rise in noise (geometric mean + 1.00068) and therefore a slight net fall in signal-to-noise (0.99932). + + Median |change| is 0.08% to 0.37% per decade. The large excursions are + rare and live at the extremes: 11.7% around 1-5 Hz, where a bin holds one + or two samples and the interpolated factor at the sample is not the factor + at the bin centre, and 18.8% above 60 Hz, where a bin spans enough absolute + frequency for the factor to vary appreciably across it. Both regions sit + outside every selected band, which is why no band and no fitted parameter + moves. + + This test exists so that "one deliberate correction" cannot quietly become + two. It pins the divergence rather than forgiving it. + """ + expected = _reference()[estimator] + ratios: list[float] = [] + for name in sorted(expected): + want = expected[name] + assert "bsnr_legacy" in want, ( + f"{name}: bsnr_legacy is missing. The legacy values are the record " + "of what the published lineage produced; regenerating bsnr without " + "keeping them discards it." + ) + for key in ("median", "max", "sum"): + ratios.append(abs(want["bsnr"][key] / want["bsnr_legacy"][key] - 1)) + assert want["bsnr"]["n"] == want["bsnr_legacy"]["n"], ( + f"{name}: the bin count changed ({want['bsnr_legacy']['n']} -> " + f"{want['bsnr']['n']}). The correction changes the value in each " + "bin, not which samples are in it — a length change is a different " + "bug." + ) + + worst = max(ratios) + assert worst < 0.05, ( + f"{estimator}: bsnr now differs from the legacy record by {worst:.3g}, " + "more than the 5% the binned-noise correction accounts for. Something " + "else has moved." + ) + + @pytest.mark.parametrize("estimator", ESTIMATORS) def test_the_selected_bandwidth_still_covers_the_same_measurement( estimator: str, diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py index 6d7413a..1cc57c9 100644 --- a/tests/test_pipeline.py +++ b/tests/test_pipeline.py @@ -23,6 +23,7 @@ obspy = pytest.importorskip("obspy") from specmod.core import Spectrum, SpectrumPair, SpectrumSet # noqa: E402 +from specmod.core.collection import log_bin # noqa: E402 from specmod.pipeline import ( # noqa: E402 pair_from_traces, spectrum_from_trace, @@ -324,32 +325,49 @@ def test_the_unbinned_arrays_round_trip_exactly(self, pnr_windows: Any) -> None: direct[id].noise.amp, rel=RTOL ), id - def test_the_binned_noise_does_not_round_trip(self, pnr_windows: Any) -> None: - """A pre-existing inconsistency, inherited rather than introduced. + def test_the_binned_noise_round_trips(self, pnr_windows: Any) -> None: + """It did not, and the reason was not the round trip. + + The lift used to be applied to the binned noise directly *and*, + separately, to the unbinned noise by interpolating the factor onto the + finer axis. Those two operations do not agree, so a stored pair's + `binned_noise` was not the binning of its own `noise` — by up to 18.8% + on these windows. **Every pair was born inconsistent.** A domain change + re-bins, so `to_motion` silently *repaired* the pair and looked like + the thing that broke it; this test asserted that appearance. + + The lift is now applied to the unbinned noise and the binned noise + derived from it, so there is one source of truth and the round trip is + exact. See + `test_golden_reference.test_the_only_deliberate_divergence_from_legacy_is_the_binned_noise` + for what that cost against the legacy record. + """ + direct = _direct("fft", pnr_windows) + back = direct.to_motion("displacement").to_motion("velocity") + for id in direct.ids(): + assert back[id].binned_noise.amp == pytest.approx( + direct[id].binned_noise.amp, rel=1e-12 + ), id - The lift is applied to the binned noise directly but to the unbinned - noise by interpolating the factor onto the finer axis, so the two are - **not related by the binning operation**: re-binning the lifted - unbinned noise does not reproduce the lifted binned one. A domain - change re-bins, so the round trip restores the unbinned arrays exactly - and lands the binned noise 18.8% away at worst, moving 3 of 28 bands. + def test_a_pair_is_consistent_with_itself_when_built( + self, pnr_windows: Any + ) -> None: + """The property the round-trip test was really measuring. - Measured identical to the legacy path — same percentage, same three - stations — so `to_motion` reproduces it rather than causing it. Fixing - it moves `snr`, and therefore bands, and therefore every fitted - parameter; that is a science decision. See REFACTOR_PLAN §4.6. + `binned_noise` must be the binning of `noise`. Asserting it at + construction says so directly, rather than inferring it from what + survives a conversion — which is how the inconsistency stayed filed as + a `to_motion` problem. """ direct = _direct("fft", pnr_windows) - back = direct.to_motion("displacement").to_motion("velocity") - worst = max( - float( - np.max( - np.abs(back[id].binned_noise.amp / direct[id].binned_noise.amp - 1) - ) + for id in direct.ids(): + pair = direct[id] + settings = pair.meta[SpectrumPair.SETTINGS_KEY] + rebinned = log_bin( + pair.noise.freq, + np.asarray(pair.noise.amp), + f_min=settings["f_min"], + f_max=settings["f_max"], + n_bins=settings["n_bins"], ) - for id in direct.ids() - ) - assert 0.1 < worst < 0.5, worst - - moved = [id for id in direct.ids() if back[id].band != direct[id].band] - assert 0 < len(moved) < len(direct) + assert rebinned.amp == pytest.approx(pair.binned_noise.amp, rel=1e-12), id From 15b8efc3d94c12b65490ca50287465047424001b Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 7 Aug 2026 21:29:08 +0000 Subject: [PATCH 3/3] fix(core): read the recorded resolution floor instead of re-deriving it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `compare` computed the floor as `max(signal.freq.min(), noise.freq.min())`. That works exactly once. The noise is interpolated onto the signal's axis before binning, so from then on `noise.freq.min()` *is* the signal's lowest frequency and the noise's own is gone. A converted pair therefore inherited the longer signal window's floor in place of the shorter noise window's. The consequence is not cosmetic. The floor is what keeps the band out of the region below the noise's resolution, where `interpolate_onto` repeats an edge value rather than reporting a measurement — as its own docstring warns, a ratio computed there has an invented denominator. A converted pair could open its band into fabricated noise. `spectrum_from_trace` has recorded `meta["resolution_floor"]` on every spectrum all along, `aligned_noise` carries that meta, and `Spectrum.to_motion` preserves it through a conversion. The value was tracked from the start; nothing read it. Reading it is the whole fix — a `_resolution_floor` helper that prefers `meta` and falls back to the axis only for a spectrum built by hand, which is the one case where the axis is still the truth. Measured across all five estimators: - the floor differed between a pair and its own conversion on **28 of 28** stations; it now differs on none - bands of *unconverted* pairs move on **0 of 28** for every estimator, so nothing computed without a domain change is affected - round-trip band stability goes from 3/28 (fft), 8/28 (multitaper), 27/28 (cwt), 7/28 (welch), 8/28 (quadratic) to **0/28 everywhere** `band` in the recorded displacement set is regenerated, with the superseded edges kept as `band_legacy`. It touches 3 of 28 stations, only the lower edge, and only upward. That direction is asserted rather than observed: a floor that was too low permitted an edge that was too low, so correcting it can raise an edge and can never lower one, and the upper edge cannot move at all. A test pins all three properties, so a future change that moves a band the other way fails rather than being absorbed. `amp`, `noise_amp`, `bsnr`, `motion` and `_environment` in that file remain untouched legacy values, verified field by field before committing. Also adds the invariant on its own: a domain change multiplies both spectra by a power of `2*pi*f` and lengthens neither window, so it cannot change what either can resolve. --- src/specmod/core/collection.py | 31 ++++++-- tests/golden/motion_reference.json | 112 +++++++++++++++++++++++++++++ tests/test_pipeline.py | 79 ++++++++++++++++++++ 3 files changed, 218 insertions(+), 4 deletions(-) diff --git a/src/specmod/core/collection.py b/src/specmod/core/collection.py index c8bc018..ff3afed 100644 --- a/src/specmod/core/collection.py +++ b/src/specmod/core/collection.py @@ -135,6 +135,32 @@ def log_bin( return BinnedSpectrum(freq=centres[keep], amp=amps[keep]) +def _resolution_floor(spectrum: Spectrum) -> float: + """The lowest frequency ``spectrum`` can actually resolve. + + Read from ``meta`` when it is there, and only derived from the axis when it + is not. That order is the whole point. Deriving it works exactly once: the + noise is interpolated onto the signal's axis before binning, so from then + on ``noise.freq.min()`` is the *signal's* lowest frequency and the noise's + own is gone. :func:`specmod.pipeline.spectrum_from_trace` records it on the + spectrum for that reason, and until now nothing read it. + + The consequence was that a converted pair had a lower floor than the pair + it came from — the shorter noise window's limit silently replaced by the + longer signal window's. `to_motion` therefore let the band open into the + region below the noise's resolution, where :func:`interpolate_onto` is + repeating an edge value rather than reporting a measurement, and the + signal-to-noise ratio has an invented denominator. + + Falls back to the axis for a spectrum built by hand rather than by the + pipeline, which is the only case where the axis is still the truth. + """ + recorded = spectrum.meta.get("resolution_floor") + if recorded is not None: + return float(recorded) + return float(spectrum.freq.min()) if spectrum.freq.size else 0.0 + + def parseval_scale(n_signal: int, n_noise: int) -> float: """Factor putting a noise spectrum on the signal's energy footing. @@ -242,10 +268,7 @@ def compare( because afterwards the noise carries the signal's axis and its own lowest resolvable frequency is unrecoverable. """ - floor = max( - float(signal.freq.min()) if signal.freq.size else 0.0, - float(noise.freq.min()) if noise.freq.size else 0.0, - ) + floor = max(_resolution_floor(signal), _resolution_floor(noise)) noise_amp = np.asarray(noise.amp, dtype=np.float64) if scale_parseval: diff --git a/tests/golden/motion_reference.json b/tests/golden/motion_reference.json index f026155..bc4f22b 100644 --- a/tests/golden/motion_reference.json +++ b/tests/golden/motion_reference.json @@ -53,6 +53,10 @@ 0.9737174163006579, 32.788643482803174 ], + "band_legacy": [ + 0.9737174163006579, + 32.788643482803174 + ], "bsnr": { "max": 703.3076742984747, "median": 67.33559621669662, @@ -183,6 +187,10 @@ 1.1181139989636801, 31.23385155720966 ], + "band_legacy": [ + 1.1181139989636801, + 31.23385155720966 + ], "bsnr": { "max": 984.2366425937313, "median": 16.41320146281223, @@ -313,6 +321,10 @@ 1.5094384507838874, 38.59542615124991 ], + "band_legacy": [ + 1.5094384507838874, + 38.59542615124991 + ], "bsnr": { "max": 1633.3610923661952, "median": 83.11692336982478, @@ -443,6 +455,10 @@ 0.9477387099726711, 37.53007532565119 ], + "band_legacy": [ + 0.9477387099726711, + 37.53007532565119 + ], "bsnr": { "max": 1420.9010412188081, "median": 41.33479005546648, @@ -573,6 +589,10 @@ 1.3617127116258283, 23.61945176501958 ], + "band_legacy": [ + 1.3617127116258283, + 23.61945176501958 + ], "bsnr": { "max": 102.78530814417852, "median": 11.305168255633848, @@ -703,6 +723,10 @@ 1.1035836325547057, 9.245914728081909 ], + "band_legacy": [ + 1.1035836325547057, + 9.245914728081909 + ], "bsnr": { "max": 92.42333262769407, "median": 6.841556629196746, @@ -833,6 +857,10 @@ 1.4484769173671939, 7.041619439901746 ], + "band_legacy": [ + 1.4484769173671939, + 7.041619439901746 + ], "bsnr": { "max": 257.3078136024008, "median": 9.788757776823047, @@ -963,6 +991,10 @@ 0.8647452431401212, 10.475901429815453 ], + "band_legacy": [ + 0.8647452431401212, + 10.475901429815453 + ], "bsnr": { "max": 385.613670575393, "median": 8.430791414942291, @@ -1093,6 +1125,10 @@ 4.637778313596789, 18.29540141450008 ], + "band_legacy": [ + 4.637778313596789, + 18.29540141450008 + ], "bsnr": { "max": 104.51249851432455, "median": 3.113518701296115, @@ -1223,6 +1259,10 @@ 9.98742597396051, 16.473241545409472 ], + "band_legacy": [ + 9.98742597396051, + 16.473241545409472 + ], "bsnr": { "max": 85.96861713399876, "median": 2.163595898138853, @@ -1350,6 +1390,10 @@ "sum": 0.00013305374557403735 }, "band": [ + 0.6756756756756757, + 45.738160295630905 + ], + "band_legacy": [ 0.5714716099444196, 45.738160295630905 ], @@ -1483,6 +1527,10 @@ 1.1975429546462397, 44.37797511381281 ], + "band_legacy": [ + 1.1975429546462397, + 44.37797511381281 + ], "bsnr": { "max": 1659.7367164441625, "median": 134.14095879865926, @@ -1613,6 +1661,10 @@ 0.94187613565413, 19.94609399915649 ], + "band_legacy": [ + 0.94187613565413, + 19.94609399915649 + ], "bsnr": { "max": 302.506123329657, "median": 23.161983211675725, @@ -1743,6 +1795,10 @@ 0.9603039489851778, 27.206502746088496 ], + "band_legacy": [ + 0.9603039489851778, + 27.206502746088496 + ], "bsnr": { "max": 900.2622410841836, "median": 26.71155619860477, @@ -1873,6 +1929,10 @@ 0.8944940844050081, 80.77427233709817 ], + "band_legacy": [ + 0.8944940844050081, + 80.77427233709817 + ], "bsnr": { "max": 394.3003326667573, "median": 31.038914450670028, @@ -2003,6 +2063,10 @@ 0.9040002823361107, 52.70836316105784 ], + "band_legacy": [ + 0.9040002823361107, + 52.70836316105784 + ], "bsnr": { "max": 925.0231962862383, "median": 37.36106407711529, @@ -2133,6 +2197,10 @@ 0.9407138328094745, 87.288590981566 ], + "band_legacy": [ + 0.9407138328094745, + 87.288590981566 + ], "bsnr": { "max": 7824.587392753862, "median": 608.8809585098755, @@ -2263,6 +2331,10 @@ 0.6534409353452816, 94.27281435133563 ], + "band_legacy": [ + 0.6534409353452816, + 94.27281435133563 + ], "bsnr": { "max": 7301.913301057101, "median": 598.3714708213699, @@ -2393,6 +2465,10 @@ 0.8996342659848598, 94.21104790578656 ], + "band_legacy": [ + 0.8996342659848598, + 94.21104790578656 + ], "bsnr": { "max": 2382.60171992352, "median": 151.792745354955, @@ -2523,6 +2599,10 @@ 0.8204086361167056, 94.47315173882237 ], + "band_legacy": [ + 0.8204086361167056, + 94.47315173882237 + ], "bsnr": { "max": 2094.879002521716, "median": 88.29297406659833, @@ -2653,6 +2733,10 @@ 9.913364377447403, 66.42535104304301 ], + "band_legacy": [ + 9.913364377447403, + 66.42535104304301 + ], "bsnr": { "max": 379.4078050835924, "median": 33.43998849058502, @@ -2783,6 +2867,10 @@ 0.8016188872608186, 68.6920743469019 ], + "band_legacy": [ + 0.8016188872608186, + 68.6920743469019 + ], "bsnr": { "max": 338.00093558496195, "median": 66.7844487082905, @@ -2910,6 +2998,10 @@ "sum": 1.5530832633170604e-05 }, "band": [ + 0.8849557522123893, + 33.28274558056363 + ], + "band_legacy": [ 0.7905559110827145, 33.28274558056363 ], @@ -3040,6 +3132,10 @@ "sum": 1.428210371362249e-05 }, "band": [ + 0.8849557522123893, + 26.892138753418887 + ], + "band_legacy": [ 0.8395716232630503, 26.892138753418887 ], @@ -3173,6 +3269,10 @@ 0.9922949033943869, 43.030304197326 ], + "band_legacy": [ + 0.9922949033943869, + 43.030304197326 + ], "bsnr": { "max": 531.411668147956, "median": 68.12758138229394, @@ -3303,6 +3403,10 @@ 0.6665703398762428, 45.84946131232292 ], + "band_legacy": [ + 0.6665703398762428, + 45.84946131232292 + ], "bsnr": { "max": 1517.6644527720032, "median": 90.67387693553846, @@ -3433,6 +3537,10 @@ 0.8014155430688078, 40.4117258750204 ], + "band_legacy": [ + 0.8014155430688078, + 40.4117258750204 + ], "bsnr": { "max": 411.90742135458214, "median": 43.361458803095324, @@ -3563,6 +3671,10 @@ 0.9271659654213654, 28.034150656401575 ], + "band_legacy": [ + 0.9271659654213654, + 28.034150656401575 + ], "bsnr": { "max": 1605.7974987655552, "median": 100.15661136859454, diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py index 1cc57c9..9e4d990 100644 --- a/tests/test_pipeline.py +++ b/tests/test_pipeline.py @@ -244,6 +244,12 @@ def test_it_matches_the_recorded_displacement(self, pnr_windows: Any) -> None: bands on all 28**. The comparison itself could not be kept — one side of it is deleted — so this is its durable form, the same numbers held against a committed artefact. + + ``amp``, ``noise_amp`` and ``bsnr`` are still those legacy values. + ``band`` has been regenerated once, for the resolution-floor + correction — see + :meth:`TestToMotion.test_the_band_of_a_converted_pair_respects_the_noise_floor`, + which keeps the superseded edges and pins what changed. """ reference = json.loads( (Path(__file__).parent / "golden" / "motion_reference.json").read_text() @@ -274,6 +280,79 @@ def test_it_matches_the_recorded_displacement(self, pnr_windows: Any) -> None: problems.append(f"{id} band: {want['band']} -> {pair.band}") assert not problems, "\n".join(problems) + def test_the_band_of_a_converted_pair_respects_the_noise_floor( + self, pnr_windows: Any + ) -> None: + """The one deliberate change to the recorded displacement bands. + + ``compare`` derived the floor from ``noise.freq.min()``. That works + exactly once: the noise is interpolated onto the signal's axis before + binning, so afterwards its own lowest resolvable frequency is gone and + the expression returns the *signal's*. A converted pair therefore got + the longer signal window's floor in place of the shorter noise + window's, and its band could open below the frequency the noise can + resolve — where ``interpolate_onto`` is repeating an edge value rather + than reporting a measurement, so the ratio there has an invented + denominator. + + The floor is now read from ``meta["resolution_floor"]``, which + ``spectrum_from_trace`` has recorded all along and nothing read. + + Measured across all five estimators: the floor used to differ between a + pair and its own conversion on **28 of 28** stations, and now differs on + none. Bands of *unconverted* pairs do not move at all — 0 of 28 on every + estimator — so nothing computed without a domain change is affected. + Round-trip band stability goes from 3/28 (fft), 8/28 (multitaper), + 27/28 (cwt), 7/28 (welch) and 8/28 (quadratic) to **0/28 everywhere**. + + On the recorded displacement set the change touches 3 of 28 stations, + and only ever the lower edge, and only upward — toward the floor. That + direction is the physics rather than a coincidence: a floor that was + too low permitted an edge that was too low, so correcting it can raise + an edge and can never lower one. + """ + reference = json.loads( + (Path(__file__).parent / "golden" / "motion_reference.json").read_text() + )["displacement"] + + raised = 0 + for id, want in reference.items(): + assert "band_legacy" in want, ( + f"{id}: band_legacy is missing. The legacy edges are the record " + "of what the published lineage produced; regenerating band " + "without keeping them discards it." + ) + new, old = want["band"], want["band_legacy"] + if new is None or old is None: + assert new == old, f"{id}: a band appeared or vanished" + continue + assert new[1] == pytest.approx(old[1], rel=1e-12), ( + f"{id}: the upper edge moved. The floor is a lower bound; " + "nothing about this correction can touch the top of a band." + ) + assert new[0] >= old[0] - 1e-12, ( + f"{id}: the lower edge moved DOWN, {old[0]} -> {new[0]}. " + "Correcting a floor that was too low can only raise an edge." + ) + raised += new[0] > old[0] + 1e-12 + assert raised == 3, f"expected 3 stations to move, got {raised}" + + def test_a_conversion_does_not_change_the_resolution_floor( + self, pnr_windows: Any + ) -> None: + """The invariant behind the band correction, asserted on its own. + + A domain change multiplies both spectra by a power of ``2*pi*f``. It + does not lengthen either window, so it cannot change what either one + can resolve. + """ + direct = _direct("fft", pnr_windows) + displacement = direct.to_motion("displacement") + for id in direct.ids(): + assert displacement[id].resolution_floor == pytest.approx( + direct[id].resolution_floor, rel=1e-12 + ), id + def test_the_original_is_untouched(self, pnr_windows: Any) -> None: """The property the legacy could not have. `Spectra.inte()` overwrote the event; here both domains exist at once."""