Document matched daily wind/intensity benchmark and honest radius coverage
Browse files- .gitattributes +8 -0
- README.md +84 -1
- docs/intensity_benchmark.md +129 -0
- evaluation/intensity/intensity_error_bars.png +3 -0
- evaluation/intensity/intensity_final.json +0 -0
- evaluation/intensity/intensity_leads_and_trends.png +3 -0
- evaluation/intensity/native_radius_error_bars.png +3 -0
- evaluation/intensity/verification.json +11 -0
- evaluation/storm_structure/four_storm_wind_candidate.png +3 -0
- evaluation/storm_structure/fung_wong_structure.json +2759 -0
- evaluation/storm_structure/fung_wong_wind_radius.png +3 -0
- evaluation/storm_structure/index.json +124 -0
- evaluation/storm_structure/mangkhut_structure.json +2759 -0
- evaluation/storm_structure/mangkhut_wind_radius.png +3 -0
- evaluation/storm_structure/meranti_structure.json +2759 -0
- evaluation/storm_structure/meranti_wind_radius.png +3 -0
- evaluation/storm_structure/soudelor_structure.json +2759 -0
- evaluation/storm_structure/soudelor_wind_radius.png +3 -0
- release_tools/STORM_STRUCTURE_DIAGNOSTICS.md +118 -0
- release_tools/benchmark_intensity_v12_v11.py +363 -0
- release_tools/export_structure_public.py +64 -0
- release_tools/forecast_historical_video50_mac.py +46 -6
- release_tools/plot_intensity_benchmark.py +346 -0
- release_tools/plot_storm_wind_radius.py +360 -0
- release_tools/storm_structure_diagnostics.py +227 -0
- release_tools/test_intensity_benchmark.py +31 -0
- release_tools/test_intensity_curves.py +46 -0
- release_tools/test_storm_structure_diagnostics.py +146 -0
.gitattributes
CHANGED
|
@@ -185,3 +185,11 @@ evaluation/release_data/mangkhut_video.npz filter=lfs diff=lfs merge=lfs -text
|
|
| 185 |
docs/trackformer_1_2_meranti.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 186 |
evaluation/trackformer_1_2_meranti_video_poster.png filter=lfs diff=lfs merge=lfs -text
|
| 187 |
evaluation/release_data/meranti_video.npz filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 185 |
docs/trackformer_1_2_meranti.mp4 filter=lfs diff=lfs merge=lfs -text
|
| 186 |
evaluation/trackformer_1_2_meranti_video_poster.png filter=lfs diff=lfs merge=lfs -text
|
| 187 |
evaluation/release_data/meranti_video.npz filter=lfs diff=lfs merge=lfs -text
|
| 188 |
+
evaluation/intensity/intensity_error_bars.png filter=lfs diff=lfs merge=lfs -text
|
| 189 |
+
evaluation/intensity/intensity_leads_and_trends.png filter=lfs diff=lfs merge=lfs -text
|
| 190 |
+
evaluation/intensity/native_radius_error_bars.png filter=lfs diff=lfs merge=lfs -text
|
| 191 |
+
evaluation/storm_structure/four_storm_wind_candidate.png filter=lfs diff=lfs merge=lfs -text
|
| 192 |
+
evaluation/storm_structure/fung_wong_wind_radius.png filter=lfs diff=lfs merge=lfs -text
|
| 193 |
+
evaluation/storm_structure/mangkhut_wind_radius.png filter=lfs diff=lfs merge=lfs -text
|
| 194 |
+
evaluation/storm_structure/meranti_wind_radius.png filter=lfs diff=lfs merge=lfs -text
|
| 195 |
+
evaluation/storm_structure/soudelor_wind_radius.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -71,7 +71,7 @@ One typhoon on one UTC day is one case. Each issue forecasts **+6 to +120 h**. W
|
|
| 71 |
|
| 72 |
Mean track error is **41.0% lower** for 1.2 on this cohort. Direction, shape and geographic alignment remain separate measures, not a combined score. A shape score near one does not guarantee overlapping routes at matching times. The 1.2 forecasts are means of **50 distinct causal input perturbations**, not 50 independently trained networks. Forecast pipelines differ, so this is not an architecture ablation.
|
| 73 |
|
| 74 |
-
**Pressure coverage:** 1.2 central-pressure MAE is **12.62 hPa over 40 storms with valid labels**; basin-area-weighted MSLP MAE is **2.72 hPa over 270 storms**.
|
| 75 |
|
| 76 |
**Limits:** the frozen cohort includes 40 recent storms and 230 historical storms from 1980–1999. It excludes this checkpoint's fitting/validation years, but has not been certified untouched across prior experiments. Historical hindcasts use retrospective analyses and a model trained on later years. Complete five-day labels are required, excluding short remaining lifetimes. No operational or no-overfitting claim follows.
|
| 77 |
|
|
@@ -79,6 +79,89 @@ Mean track error is **41.0% lower** for 1.2 on this cohort. Direction, shape and
|
|
| 79 |
|
| 80 |
**Reading route similarity:** direction error compares headings of common moving six-hour steps. Centred shape similarity removes translation and scale but preserves orientation; it does not establish geographic overlap. Path similarity also responds to displacement. Predicted and observed routes should align at the same valid times, so these metrics must be read alongside position error and unshifted route overlays.
|
| 81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
## Fung-wong pressure forecast — MP4
|
| 83 |
|
| 84 |
<video controls playsinline preload="metadata" width="100%" poster="https://huggingface.co/euler314/typhoon-predict/resolve/main/evaluation/trackformer_1_2_fung_wong_video_poster.png" src="https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_fung_wong.mp4"></video>
|
|
|
|
| 71 |
|
| 72 |
Mean track error is **41.0% lower** for 1.2 on this cohort. Direction, shape and geographic alignment remain separate measures, not a combined score. A shape score near one does not guarantee overlapping routes at matching times. The 1.2 forecasts are means of **50 distinct causal input perturbations**, not 50 independently trained networks. Forecast pipelines differ, so this is not an architecture ablation.
|
| 73 |
|
| 74 |
+
**Pressure coverage in the original track run:** 1.2 central-pressure MAE is **12.62 hPa over 40 storms with valid labels**; basin-area-weighted MSLP MAE is **2.72 hPa over 270 storms**. That original run did not save matched 1.1 intensity outputs. The new matched comparison below uses its own common masks; its scores are not interchangeable with this pressure-only score. Basin-wide error does not establish core-field accuracy.
|
| 75 |
|
| 76 |
**Limits:** the frozen cohort includes 40 recent storms and 230 historical storms from 1980–1999. It excludes this checkpoint's fitting/validation years, but has not been certified untouched across prior experiments. Historical hindcasts use retrospective analyses and a model trained on later years. Complete five-day labels are required, excluding short remaining lifetimes. No operational or no-overfitting claim follows.
|
| 77 |
|
|
|
|
| 79 |
|
| 80 |
**Reading route similarity:** direction error compares headings of common moving six-hour steps. Centred shape similarity removes translation and scale but preserves orientation; it does not establish geographic overlap. Path similarity also responds to displacement. Predicted and observed routes should align at the same valid times, so these metrics must be read alongside position error and unshifted route overlays.
|
| 81 |
|
| 82 |
+
## Matched wind, intensity and radius benchmark
|
| 83 |
+
|
| 84 |
+
**The same method as the track benchmark:** one forecast per typhoon-day; average valid +6, +12, …, +120 h errors within that daily issue; average daily scores within each typhoon; then average typhoons with **equal storm weight**. Per-lead charts use the same daily → storm hierarchy. Missing measurements stay missing, not zero error; curve comparisons keep the same valid times and do not shift or stretch either timeline.
|
| 85 |
+
|
| 86 |
+
The full frozen **270-storm / 1,473-day** plan was checked. The original 1.1 intensity pipeline can run on **134 daily starts from 40 storms** with the required valid current wind and pressure. The other **1,339 starts are explicitly unavailable** to this matched native comparison, not silently filled from later observations or dropped for poor predictions. This is not a 270-storm intensity result. All 134 real **50-member 1.2** replays completed on the Mac GPU; their means reproduce the original saved pressure forecasts exactly (maximum difference **0.0 hPa**), and every member and source hash passed verification. 1.1 retains its frozen primary, structure and gated temporal experts and original calibration; it is not falsely called a 50-member model.
|
| 87 |
+
|
| 88 |
+
| Equal-storm metric · lower is better | 1.1 | 1.2 · mean of 50 | Valid coverage |
|
| 89 |
+
| --- | ---: | ---: | --- |
|
| 90 |
+
| Wind MAE against USA 1-minute reference | 16.98 kt | 25.03 kt | 40 storms / 134 days |
|
| 91 |
+
| USA central-pressure MAE | 12.84 hPa | 12.55 hPa | 40 storms / 134 days |
|
| 92 |
+
| JMA central-pressure MAE | 13.53 hPa | 12.84 hPa | 40 storms / 134 days |
|
| 93 |
+
| Wind time-curve shape error | 0.271 | 0.385 | 40 storms / 131 days |
|
| 94 |
+
| USA pressure time-curve shape error | 0.276 | 0.336 | 40 storms / 131 days |
|
| 95 |
+
| JMA pressure time-curve shape error | 0.293 | 0.288 | 40 storms / 134 days |
|
| 96 |
+
| Wind six-hour trend-direction mismatch | 56.1% | 60.8% | 40 storms / 134 days |
|
| 97 |
+
|
| 98 |
+

|
| 99 |
+
|
| 100 |
+

|
| 101 |
+
|
| 102 |
+
**Tradeoffs, not an overall win:** 1.2 has slightly lower mean pressure error, but its auxiliary wind is worse on magnitude and curve alignment. USA pressure at +120 h is also worse (**15.55 vs 13.52 hPa**), whereas JMA pressure at +120 h is better (**12.44 vs 15.95 hPa**). Agencies and forecast leads matter. The wind score is a diagnostic of 1.2's auxiliary scalar against a native one-minute reference, **not validation of a resolved or calibrated surface-wind product**; JMA's ten-minute wind is neither converted nor mixed into that score.
|
| 103 |
+
|
| 104 |
+
The time-curve shape error is **(1 − centred cosine similarity) / 2**, lower is better, at exact common UTC leads. It removes mean and amplitude, so it must be read with MAE; it does not prove intensity levels align. It requires at least six valid points and non-flat curves in both forecasts and truth. Trend-direction mismatch compares increasing / flat / decreasing changes over **adjacent valid six-hour steps**; no gap is bridged. The [full report](evaluation/intensity/intensity_final.json) also includes six-hour tendency MAE, all per-storm scores, coverage and paired differences. Error bars are 2,000 fixed-seed **whole-storm** bootstrap replicates, not independent resampling of overlapping days. These are development diagnostics, not a newly certified untouched holdout or an architecture ablation; the curve protocol is a versioned post-hoc descriptive addition, not a preregistered hypothesis test.
|
| 105 |
+
|
| 106 |
+
### Radius errors — matched definitions, not a fabricated 1.2 head
|
| 107 |
+
|
| 108 |
+
Native 1.1 RMW and **NE / SE / SW / NW maximum-extent R34/R50/R64** predictions are compared only with the same native USA definitions in IBTrACS. Observation radii in nautical miles are multiplied by **1.852** to obtain kilometres; no diameters, eye size, outer-isobar radius or JMA R30 are substituted. Valid reported zero wind-radius extents remain zero; missing reports and non-positive RMW remain unavailable. Radius lead/component errors are averaged within the daily issue, then daily → storm → equal storm, like track.
|
| 109 |
+
|
| 110 |
+
| Native radius MAE | 1.1 | Native 1.2 | Valid coverage |
|
| 111 |
+
| --- | ---: | --- | --- |
|
| 112 |
+
| RMW | 22.20 km | N/A — no radius head | 40 storms / 134 days |
|
| 113 |
+
| R34 quadrants | 60.93 km | N/A — no radius head | 35 storms / 124 days |
|
| 114 |
+
| R50 quadrants | 36.39 km | N/A — no radius head | 16 storms / 59 days |
|
| 115 |
+
| R64 quadrants | 26.78 km | N/A — no radius head | 12 storms / 45 days |
|
| 116 |
+
|
| 117 |
+

|
| 118 |
+
|
| 119 |
+
**N/A is not zero error or a model win.** The separate pressure-scaled radius candidate below is not inserted into these native model bars: its surface-wind height and averaging period are not validated, so its strict definition guard rejects an official-equivalent skill claim. USA RMW is not universally best-tracked. [Native field definitions](https://www.ncei.noaa.gov/sites/default/files/2025-09/IBTrACS_v04r01_column_documentation.pdf) · [Protocol and reproduction](docs/intensity_benchmark.md) · [Verification receipt](evaluation/intensity/verification.json).
|
| 120 |
+
|
| 121 |
+
### Four-storm wind, pressure and radius timelines
|
| 122 |
+
|
| 123 |
+
The plots retain native **USA one-minute** and **JMA ten-minute** winds as separate curves, plus observed pressure, RMW and each radius quadrant. A separate experimental algorithm uses the exact issue-time structure and each of **50 actual model pressure members**, then averages diagnosed member values—not a diagnosis of the mean map. Dashed RMW is **issue-time persistence**, not a forecast of changing eyewall size. Reference gaps remain gaps; the radius candidate is visibly labeled experimental.
|
| 124 |
+
|
| 125 |
+

|
| 126 |
+
|
| 127 |
+
<details>
|
| 128 |
+
<summary>Fung-wong · issue 7 November 2025, 00 UTC</summary>
|
| 129 |
+
|
| 130 |
+

|
| 131 |
+
|
| 132 |
+
[Definitions, member proof and source hashes](evaluation/storm_structure/fung_wong_structure.json). This is a separately saved fresh replay; its pressure output is **not substituted into the older Fung-wong MP4**.
|
| 133 |
+
|
| 134 |
+
</details>
|
| 135 |
+
|
| 136 |
+
<details>
|
| 137 |
+
<summary>Soudelor · issue 5 August 2015, 00 UTC</summary>
|
| 138 |
+
|
| 139 |
+

|
| 140 |
+
|
| 141 |
+
[Definitions and member proof](evaluation/storm_structure/soudelor_structure.json).
|
| 142 |
+
|
| 143 |
+
</details>
|
| 144 |
+
|
| 145 |
+
<details>
|
| 146 |
+
<summary>Mangkhut · issue 11 September 2018, 00 UTC</summary>
|
| 147 |
+
|
| 148 |
+

|
| 149 |
+
|
| 150 |
+
[Definitions and member proof](evaluation/storm_structure/mangkhut_structure.json).
|
| 151 |
+
|
| 152 |
+
</details>
|
| 153 |
+
|
| 154 |
+
<details>
|
| 155 |
+
<summary>Meranti · issue 10 September 2016, 00 UTC</summary>
|
| 156 |
+
|
| 157 |
+

|
| 158 |
+
|
| 159 |
+
[Definitions and member proof](evaluation/storm_structure/meranti_structure.json).
|
| 160 |
+
|
| 161 |
+
</details>
|
| 162 |
+
|
| 163 |
+
[Experimental algorithm and limitations](release_tools/STORM_STRUCTURE_DIAGNOSTICS.md) · [Audit index](evaluation/storm_structure/index.json) · [History wind/intensity/radius graphs](https://trackformer-weatherlab.rudin-euler-8253.chatgpt.site/history). These selected examples are illustrations, not typical-skill or untouched-test claims. The History tab shows available observations for every browsable storm; forecasts and radius estimates are never invented to fill missing inputs.
|
| 164 |
+
|
| 165 |
## Fung-wong pressure forecast — MP4
|
| 166 |
|
| 167 |
<video controls playsinline preload="metadata" width="100%" poster="https://huggingface.co/euler314/typhoon-predict/resolve/main/evaluation/trackformer_1_2_fung_wong_video_poster.png" src="https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_fung_wong.mp4"></video>
|
docs/intensity_benchmark.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Matched daily intensity benchmark
|
| 2 |
+
|
| 3 |
+
Completed GPU inference and verified aggregation on 1 October 2026 (Taipei).
|
| 4 |
+
The released weights, original forecasts and original calibration are unchanged.
|
| 5 |
+
|
| 6 |
+
## Same hierarchy as track
|
| 7 |
+
|
| 8 |
+
The plan is the frozen 270-storm / 1,473-daily-issue track cohort. One storm on
|
| 9 |
+
one UTC day is one case, at its earliest eligible issue. Forecast errors at
|
| 10 |
+
valid +6, +12, …, +120 h leads are averaged per daily issue, then across its
|
| 11 |
+
storm's daily issues, then across storms with equal weights. Long-lived storms
|
| 12 |
+
do not gain extra final weight. Per-lead errors use the same daily → storm
|
| 13 |
+
averaging. Both models use exactly the same native observation mask for each
|
| 14 |
+
wind/pressure comparison. Wind and each agency's pressure are separate metrics;
|
| 15 |
+
there is no arbitrary weighted combined rank.
|
| 16 |
+
|
| 17 |
+
Native 1.1 intensity needs valid issue-time current wind and pressure. Its
|
| 18 |
+
frozen input archive provides them for 134 daily issues / 40 storms, not the
|
| 19 |
+
other 1,339 daily starts. These missing starts are reported, never repaired
|
| 20 |
+
with future observations or relabeled as zero error. Thus the result shares
|
| 21 |
+
the **method and planned cohort** of track, but does not claim the same valid
|
| 22 |
+
intensity coverage. Missing future observations also remain unavailable.
|
| 23 |
+
|
| 24 |
+
## Model identity and inference
|
| 25 |
+
|
| 26 |
+
1.2 is the released checkpoint SHA-256
|
| 27 |
+
`f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0`.
|
| 28 |
+
Every original pressure forecast file is rehashed. To recover previously
|
| 29 |
+
unsaved auxiliary wind, the MPS runner replays the identical 50 input members
|
| 30 |
+
with seeds `2043 + source_row * 100 + member_id`, nine exact causal analyses,
|
| 31 |
+
original detail masks and original issue inputs. Every replay has 50 distinct
|
| 32 |
+
input hashes, finite 50 × 20 wind and pressure outputs and verified means.
|
| 33 |
+
The maximum pressure difference from original forecasts is **0.0 hPa**.
|
| 34 |
+
No weights, preprocessing or coefficients are fitted here.
|
| 35 |
+
|
| 36 |
+
1.1 uses the original public intensity pipeline: frozen primary and structure
|
| 37 |
+
experts, validation-fit anchor/calibration coefficients, and the frozen
|
| 38 |
+
same-storm −12/−24 h temporal branch where its current-wind gate permits.
|
| 39 |
+
Expert count/activation is preserved in each case receipt; this is not a
|
| 40 |
+
50-member 1.1 ensemble. Issue states and causal weather only enter inference;
|
| 41 |
+
future labels are loaded separately for scoring. The two systems' input
|
| 42 |
+
pipelines differ: this is not an architecture-controlled ablation.
|
| 43 |
+
|
| 44 |
+
## Native observation definitions
|
| 45 |
+
|
| 46 |
+
- Central pressure: exact storm SID and valid UTC; native `USA_PRES` and
|
| 47 |
+
`TOKYO_PRES` are scored separately, in hPa, on a common mask for each agency.
|
| 48 |
+
- Wind: `USA_WIND` nominal one-minute reference. The 1.2 scalar is an auxiliary
|
| 49 |
+
output, not a certified ten-metre sustained surface-wind product. JMA
|
| 50 |
+
`TOKYO_WIND` is ten-minute and is never converted or pooled in this score.
|
| 51 |
+
- Native 1.1 radius: `USA_RMW` and `USA_R34/R50/R64_NE/SE/SW/NW`, nautical miles
|
| 52 |
+
multiplied by 1.852 to kilometres. They are radii, not diameters. RMW must be
|
| 53 |
+
positive. A reported zero wind-radius extent remains valid; blanks remain
|
| 54 |
+
unavailable. JMA R30 longest/shortest, eye size and ROCI are not substitutes.
|
| 55 |
+
- Native 1.2 radius: **not available**, because it has no radius head. The
|
| 56 |
+
experimental pressure-scaled candidate is separate; its strict definition
|
| 57 |
+
guard prevents scoring it as calibrated official surface-wind radii.
|
| 58 |
+
|
| 59 |
+
Radius errors are averaged within the daily issue over valid leads for each
|
| 60 |
+
component, then equally across available quadrant components, then across
|
| 61 |
+
days within storm and equally across storms. Coverage differs by threshold;
|
| 62 |
+
all counts are printed. Observational RMW has reporting/provisional limitations.
|
| 63 |
+
|
| 64 |
+
## Curve comparison, analogous to route direction and shape
|
| 65 |
+
|
| 66 |
+
Magnitude MAE is retained alongside time-curve diagnostics, without optimizing
|
| 67 |
+
time lag, warping time, shifting observations or adjusting forecasts to truth.
|
| 68 |
+
These are separate, versioned post-hoc descriptive metrics, not a preregistered
|
| 69 |
+
untouched-holdout hypothesis test.
|
| 70 |
+
|
| 71 |
+
1. Curve-shape error = `(1 - centred cosine similarity) / 2`, lower is better.
|
| 72 |
+
Subtract each curve's common-lead mean, normalize its scalar magnitude and
|
| 73 |
+
keep original time order and sign. At least six common valid points and
|
| 74 |
+
non-flat truth and both forecasts are required. A flat/unavailable curve
|
| 75 |
+
does not receive a perfect score. This measure ignores level and amplitude,
|
| 76 |
+
so it does not replace MAE or demonstrate matching absolute intensity.
|
| 77 |
+
2. Trend-direction mismatch = fraction of adjacent six-hour changes whose
|
| 78 |
+
signs differ (increasing / flat / decreasing). Deadband is exactly zero;
|
| 79 |
+
flat-versus-changing is a mismatch. Missing leads break adjacency, never
|
| 80 |
+
form twelve-hour changes disguised as six-hour steps.
|
| 81 |
+
3. Six-hour tendency MAE = mean absolute error of those adjacent changes in
|
| 82 |
+
kt/6 h, hPa/6 h or km/6 h. It remains separate from shape error.
|
| 83 |
+
|
| 84 |
+
All daily curve scores use the same valid model/reference masks before the
|
| 85 |
+
storm aggregation. Uncertainty uses 2,000 whole-storm bootstrap replicates
|
| 86 |
+
with seed 4712, not overlapping issue resampling. Paired 1.2-minus-1.1
|
| 87 |
+
differences and their intervals are included in the full JSON report.
|
| 88 |
+
|
| 89 |
+
## Results and honest boundaries
|
| 90 |
+
|
| 91 |
+
USA pressure MAE: 1.1 **12.84** vs 1.2 **12.55 hPa**. JMA pressure MAE:
|
| 92 |
+
**13.53** vs **12.84 hPa**. Auxiliary wind diagnostic MAE: **16.98** vs
|
| 93 |
+
**25.03 kt**. Wind curve-shape error: **0.271** vs **0.385**. Thus wind is
|
| 94 |
+
worse for 1.2 despite the slight mean-pressure improvement. At +120 h USA
|
| 95 |
+
pressure is worse for 1.2, whereas JMA pressure is better; no all-lead/agency
|
| 96 |
+
win is claimed. Radius 1.1 errors are reported, but native 1.2 is N/A.
|
| 97 |
+
|
| 98 |
+
The old 1980–1999 cohort overlaps original 1.1 fitting, and 1.2 hindcasts are
|
| 99 |
+
retrospective predictions by a model trained on later years. Some recent
|
| 100 |
+
storms have been inspected in development. Complete five-day route labels
|
| 101 |
+
were required by the inherited cohort. This is not untouched generalization,
|
| 102 |
+
an operational comparison or proof of no overfitting. Scientific safety and
|
| 103 |
+
wind/radius definition limitations apply to all illustrated examples.
|
| 104 |
+
|
| 105 |
+
## Files and reproduction
|
| 106 |
+
|
| 107 |
+
[Verified aggregate and per-storm metrics](../evaluation/intensity/intensity_final.json)
|
| 108 |
+
· [Chart verification receipt](../evaluation/intensity/verification.json)
|
| 109 |
+
· [GPU runner](../release_tools/benchmark_intensity_v12_v11.py)
|
| 110 |
+
· [Independent verifier and plotter](../release_tools/plot_intensity_benchmark.py).
|
| 111 |
+
|
| 112 |
+
```sh
|
| 113 |
+
MPLCONFIGDIR=/Volumes/D/typhoon_predict/.cache/matplotlib \
|
| 114 |
+
/Volumes/D/typhoon_predict/.venv/bin/python -B \
|
| 115 |
+
release_tools/benchmark_intensity_v12_v11.py \
|
| 116 |
+
--project /Volumes/D/typhoon_predict \
|
| 117 |
+
--output /Volumes/D/typhoon_predict/output/intensity-v12-v11-20261001 --chunk 10
|
| 118 |
+
|
| 119 |
+
MPLCONFIGDIR=/Volumes/D/typhoon_predict/.cache/matplotlib \
|
| 120 |
+
/Volumes/D/typhoon_predict/.venv/bin/python -B \
|
| 121 |
+
release_tools/plot_intensity_benchmark.py \
|
| 122 |
+
--source /Volumes/D/typhoon_predict/output/intensity-v12-v11-20261001 \
|
| 123 |
+
--project /Volumes/D/typhoon_predict \
|
| 124 |
+
--output /Volumes/D/typhoon_predict/remote_typhoon_predict_repo/evaluation/intensity
|
| 125 |
+
```
|
| 126 |
+
|
| 127 |
+
The runner locks one process and resumes immutable completed cases. It never
|
| 128 |
+
silently restarts training. Large original forecasts/raw members remain on D;
|
| 129 |
+
public reports include exact source hashes and complete verified aggregates.
|
evaluation/intensity/intensity_error_bars.png
ADDED
|
Git LFS Details
|
evaluation/intensity/intensity_final.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
evaluation/intensity/intensity_leads_and_trends.png
ADDED
|
Git LFS Details
|
evaluation/intensity/native_radius_error_bars.png
ADDED
|
Git LFS Details
|
evaluation/intensity/verification.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "complete_verified",
|
| 3 |
+
"summary_sha256": "d5481b42d72d328ff08b0a9e6204bef2d087bbd418c61bf4827e06a82a051632",
|
| 4 |
+
"images": {
|
| 5 |
+
"intensity_error_bars.png": "ee676ceb75f7cf6b065bd2f8c371c8e182302a28536a92343089aa9fa6b83339",
|
| 6 |
+
"intensity_leads_and_trends.png": "6d449eba8d892e9de4eba37548f75c93bc4283965965d19e6e919cad5583d82f",
|
| 7 |
+
"native_radius_error_bars.png": "42aeb24e37d2917ae69f8eefc256fc86e7c2fc5df43d7b1b6e8fa86c68e536c3"
|
| 8 |
+
},
|
| 9 |
+
"aggregation": "Paired common lead mask -> daily issue mean -> mean of days per storm -> equal storm weights, same as track. Radius quadrants are averaged within the daily issue; no pooling long-lived storms or quadrant counts across storms.",
|
| 10 |
+
"native_1_2_radius_status": "unavailable, not zero"
|
| 11 |
+
}
|
evaluation/storm_structure/four_storm_wind_candidate.png
ADDED
|
Git LFS Details
|
evaluation/storm_structure/fung_wong_structure.json
ADDED
|
@@ -0,0 +1,2759 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "frozen Trackformer 1.2 pressure + separate experimental structure candidate",
|
| 3 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 4 |
+
"storm_id": "2025308N09144",
|
| 5 |
+
"issue_time_utc": "2025-11-07T00:00:00Z",
|
| 6 |
+
"actual_members": 50,
|
| 7 |
+
"checkpoint_sha256": "f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0",
|
| 8 |
+
"source_file_sha256": {
|
| 9 |
+
"weather-history.npz": "250b2d18d25c9580a044acd8afc5e34e570ab9c569d78e9a744be63068fb5ca5",
|
| 10 |
+
"model-inputs.npz": "378768086980de46d267f5dc4b988dfc5fc317b31612a52f1937fd52a5526a14",
|
| 11 |
+
"ensemble-members.npz": "7de034b2ed5678e0990f4b73551d32aa5c3b12b94c5f6107c54110736a92410e",
|
| 12 |
+
"fung_wong_video.npz": "4c0f817cfa5f0921eed88fb6e31bbdf25796b3e0617d89ba6eb23d46b8b780bc",
|
| 13 |
+
"fung_wong_video.json": "dbaffa0fc377efa210473a3a20a49575bf6071bebda601f7b1c60487f40e58a4",
|
| 14 |
+
"fung_wong_coastlines.json": "2af08a831beff87de1847e3c5e34faf29aabcd3965d81ffc18fedc6f18a4076d"
|
| 15 |
+
},
|
| 16 |
+
"observed_csv_sha256": "4348af2679b4be0d53ec630bccda759044663a1f57e2bbd5c1d19428aab562fc",
|
| 17 |
+
"future_labels_used_for_diagnostics": false,
|
| 18 |
+
"initial": {
|
| 19 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 20 |
+
"storm_id": "2025308N09144",
|
| 21 |
+
"issue_time_utc": "2025-11-07T00:00:00Z",
|
| 22 |
+
"input_wind_kt": 54.0,
|
| 23 |
+
"input_model_pressure_hpa": 985.0,
|
| 24 |
+
"ambient_pressure_hpa": 1007.5,
|
| 25 |
+
"pressure_deficit_hpa": 22.5,
|
| 26 |
+
"rmw_persistence_km": 129.64000000000001,
|
| 27 |
+
"native_quadrant_radii_km": {
|
| 28 |
+
"r34_NE": 333.36,
|
| 29 |
+
"r34_SE": 250.02,
|
| 30 |
+
"r34_SW": 203.72,
|
| 31 |
+
"r34_NW": 333.36,
|
| 32 |
+
"r50_NE": null,
|
| 33 |
+
"r50_SE": null,
|
| 34 |
+
"r50_SW": null,
|
| 35 |
+
"r50_NW": null,
|
| 36 |
+
"r64_NE": null,
|
| 37 |
+
"r64_SE": null,
|
| 38 |
+
"r64_SW": null,
|
| 39 |
+
"r64_NW": null
|
| 40 |
+
},
|
| 41 |
+
"holland_inspired_tail_b": 1.6753066521912985,
|
| 42 |
+
"source_agency": "tcvitals",
|
| 43 |
+
"source_track_type": "US-PROVISIONAL",
|
| 44 |
+
"usa_reference_center": [
|
| 45 |
+
11.4,
|
| 46 |
+
137.9
|
| 47 |
+
],
|
| 48 |
+
"model_origin": [
|
| 49 |
+
11.4,
|
| 50 |
+
138.0
|
| 51 |
+
],
|
| 52 |
+
"definitions": {
|
| 53 |
+
"units": "km",
|
| 54 |
+
"quantity_kind": "radius_not_diameter",
|
| 55 |
+
"thresholds_kt": [
|
| 56 |
+
34,
|
| 57 |
+
50,
|
| 58 |
+
64
|
| 59 |
+
],
|
| 60 |
+
"quadrant_order": [
|
| 61 |
+
"NE",
|
| 62 |
+
"SE",
|
| 63 |
+
"SW",
|
| 64 |
+
"NW"
|
| 65 |
+
],
|
| 66 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 67 |
+
"target_wind_averaging_seconds": 60,
|
| 68 |
+
"validated_wind_averaging_seconds": null,
|
| 69 |
+
"validated_surface_height_m": null,
|
| 70 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 71 |
+
"official_scoring_allowed": false
|
| 72 |
+
},
|
| 73 |
+
"mixed_agency_initialization": "USA 1-minute wind/radii; model TOKYO pressure. No conversion between wind periods.",
|
| 74 |
+
"calibration": "none; initialization is issue assimilation, not future-target fitting"
|
| 75 |
+
},
|
| 76 |
+
"initial_ambient": {
|
| 77 |
+
"cells": 27,
|
| 78 |
+
"candidate_cells": 27,
|
| 79 |
+
"quadrant_cells": {
|
| 80 |
+
"NE": 6,
|
| 81 |
+
"SE": 5,
|
| 82 |
+
"SW": 8,
|
| 83 |
+
"NW": 8
|
| 84 |
+
},
|
| 85 |
+
"annulus_km": [
|
| 86 |
+
600,
|
| 87 |
+
1000
|
| 88 |
+
],
|
| 89 |
+
"statistic": "median_available_physical_cells",
|
| 90 |
+
"value_hpa": 1007.5,
|
| 91 |
+
"status": "available"
|
| 92 |
+
},
|
| 93 |
+
"definitions": {
|
| 94 |
+
"units": "km",
|
| 95 |
+
"quantity_kind": "radius_not_diameter",
|
| 96 |
+
"thresholds_kt": [
|
| 97 |
+
34,
|
| 98 |
+
50,
|
| 99 |
+
64
|
| 100 |
+
],
|
| 101 |
+
"quadrant_order": [
|
| 102 |
+
"NE",
|
| 103 |
+
"SE",
|
| 104 |
+
"SW",
|
| 105 |
+
"NW"
|
| 106 |
+
],
|
| 107 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 108 |
+
"target_wind_averaging_seconds": 60,
|
| 109 |
+
"validated_wind_averaging_seconds": null,
|
| 110 |
+
"validated_surface_height_m": null,
|
| 111 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 112 |
+
"official_scoring_allowed": false
|
| 113 |
+
},
|
| 114 |
+
"points": [
|
| 115 |
+
{
|
| 116 |
+
"lead_hours": 6,
|
| 117 |
+
"valid_time_utc": "2025-11-07T06:00:00Z",
|
| 118 |
+
"summary": {
|
| 119 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 120 |
+
"members": 50,
|
| 121 |
+
"definitions": {
|
| 122 |
+
"units": "km",
|
| 123 |
+
"quantity_kind": "radius_not_diameter",
|
| 124 |
+
"thresholds_kt": [
|
| 125 |
+
34,
|
| 126 |
+
50,
|
| 127 |
+
64
|
| 128 |
+
],
|
| 129 |
+
"quadrant_order": [
|
| 130 |
+
"NE",
|
| 131 |
+
"SE",
|
| 132 |
+
"SW",
|
| 133 |
+
"NW"
|
| 134 |
+
],
|
| 135 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 136 |
+
"target_wind_averaging_seconds": 60,
|
| 137 |
+
"validated_wind_averaging_seconds": null,
|
| 138 |
+
"validated_surface_height_m": null,
|
| 139 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 140 |
+
"official_scoring_allowed": false
|
| 141 |
+
},
|
| 142 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 143 |
+
"estimates": {
|
| 144 |
+
"wind_estimate_kt": {
|
| 145 |
+
"mean": 58.29895511641622,
|
| 146 |
+
"p10": 58.13678327404085,
|
| 147 |
+
"p90": 58.49727524050671,
|
| 148 |
+
"valid_members": 50,
|
| 149 |
+
"total_members": 50
|
| 150 |
+
},
|
| 151 |
+
"rmw_persistence_km": {
|
| 152 |
+
"mean": 129.64000000000001,
|
| 153 |
+
"p10": 129.64000000000001,
|
| 154 |
+
"p90": 129.64000000000001,
|
| 155 |
+
"valid_members": 50,
|
| 156 |
+
"total_members": 50
|
| 157 |
+
},
|
| 158 |
+
"r34_NE_estimate_km": {
|
| 159 |
+
"mean": 365.28203163920944,
|
| 160 |
+
"p10": 364.06906717791804,
|
| 161 |
+
"p90": 366.765716748434,
|
| 162 |
+
"valid_members": 50,
|
| 163 |
+
"total_members": 50
|
| 164 |
+
},
|
| 165 |
+
"r34_SE_estimate_km": {
|
| 166 |
+
"mean": 273.9615237294071,
|
| 167 |
+
"p10": 273.0518003834385,
|
| 168 |
+
"p90": 275.07428756132555,
|
| 169 |
+
"valid_members": 50,
|
| 170 |
+
"total_members": 50
|
| 171 |
+
},
|
| 172 |
+
"r34_SW_estimate_km": {
|
| 173 |
+
"mean": 223.22790822396132,
|
| 174 |
+
"p10": 222.48665216428324,
|
| 175 |
+
"p90": 224.13460467959854,
|
| 176 |
+
"valid_members": 50,
|
| 177 |
+
"total_members": 50
|
| 178 |
+
},
|
| 179 |
+
"r34_NW_estimate_km": {
|
| 180 |
+
"mean": 365.28203163920944,
|
| 181 |
+
"p10": 364.06906717791804,
|
| 182 |
+
"p90": 366.765716748434,
|
| 183 |
+
"valid_members": 50,
|
| 184 |
+
"total_members": 50
|
| 185 |
+
},
|
| 186 |
+
"r50_NE_estimate_km": {
|
| 187 |
+
"mean": 177.37529703680804,
|
| 188 |
+
"p10": 176.36836684538997,
|
| 189 |
+
"p90": 178.60823359146974,
|
| 190 |
+
"valid_members": 50,
|
| 191 |
+
"total_members": 50
|
| 192 |
+
},
|
| 193 |
+
"r50_SE_estimate_km": {
|
| 194 |
+
"mean": 161.22026345810883,
|
| 195 |
+
"p10": 160.58367334632248,
|
| 196 |
+
"p90": 161.99914752230862,
|
| 197 |
+
"valid_members": 50,
|
| 198 |
+
"total_members": 50
|
| 199 |
+
},
|
| 200 |
+
"r50_SW_estimate_km": {
|
| 201 |
+
"mean": 150.62468562154947,
|
| 202 |
+
"p10": 150.21532045037358,
|
| 203 |
+
"p90": 151.12528474481869,
|
| 204 |
+
"valid_members": 50,
|
| 205 |
+
"total_members": 50
|
| 206 |
+
},
|
| 207 |
+
"r50_NW_estimate_km": {
|
| 208 |
+
"mean": 177.37529703680804,
|
| 209 |
+
"p10": 176.36836684538997,
|
| 210 |
+
"p90": 178.60823359146974,
|
| 211 |
+
"valid_members": 50,
|
| 212 |
+
"total_members": 50
|
| 213 |
+
},
|
| 214 |
+
"r64_NE_estimate_km": {
|
| 215 |
+
"mean": 0.0,
|
| 216 |
+
"p10": 0.0,
|
| 217 |
+
"p90": 0.0,
|
| 218 |
+
"valid_members": 50,
|
| 219 |
+
"total_members": 50
|
| 220 |
+
},
|
| 221 |
+
"r64_SE_estimate_km": {
|
| 222 |
+
"mean": 0.0,
|
| 223 |
+
"p10": 0.0,
|
| 224 |
+
"p90": 0.0,
|
| 225 |
+
"valid_members": 50,
|
| 226 |
+
"total_members": 50
|
| 227 |
+
},
|
| 228 |
+
"r64_SW_estimate_km": {
|
| 229 |
+
"mean": 0.0,
|
| 230 |
+
"p10": 0.0,
|
| 231 |
+
"p90": 0.0,
|
| 232 |
+
"valid_members": 50,
|
| 233 |
+
"total_members": 50
|
| 234 |
+
},
|
| 235 |
+
"r64_NW_estimate_km": {
|
| 236 |
+
"mean": 0.0,
|
| 237 |
+
"p10": 0.0,
|
| 238 |
+
"p90": 0.0,
|
| 239 |
+
"valid_members": 50,
|
| 240 |
+
"total_members": 50
|
| 241 |
+
}
|
| 242 |
+
},
|
| 243 |
+
"official_scoring_allowed": false
|
| 244 |
+
}
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"lead_hours": 12,
|
| 248 |
+
"valid_time_utc": "2025-11-07T12:00:00Z",
|
| 249 |
+
"summary": {
|
| 250 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 251 |
+
"members": 50,
|
| 252 |
+
"definitions": {
|
| 253 |
+
"units": "km",
|
| 254 |
+
"quantity_kind": "radius_not_diameter",
|
| 255 |
+
"thresholds_kt": [
|
| 256 |
+
34,
|
| 257 |
+
50,
|
| 258 |
+
64
|
| 259 |
+
],
|
| 260 |
+
"quadrant_order": [
|
| 261 |
+
"NE",
|
| 262 |
+
"SE",
|
| 263 |
+
"SW",
|
| 264 |
+
"NW"
|
| 265 |
+
],
|
| 266 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 267 |
+
"target_wind_averaging_seconds": 60,
|
| 268 |
+
"validated_wind_averaging_seconds": null,
|
| 269 |
+
"validated_surface_height_m": null,
|
| 270 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 271 |
+
"official_scoring_allowed": false
|
| 272 |
+
},
|
| 273 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 274 |
+
"estimates": {
|
| 275 |
+
"wind_estimate_kt": {
|
| 276 |
+
"mean": 65.91152631301651,
|
| 277 |
+
"p10": 65.69310552599093,
|
| 278 |
+
"p90": 66.16623021477851,
|
| 279 |
+
"valid_members": 50,
|
| 280 |
+
"total_members": 50
|
| 281 |
+
},
|
| 282 |
+
"rmw_persistence_km": {
|
| 283 |
+
"mean": 129.64000000000001,
|
| 284 |
+
"p10": 129.64000000000001,
|
| 285 |
+
"p90": 129.64000000000001,
|
| 286 |
+
"valid_members": 50,
|
| 287 |
+
"total_members": 50
|
| 288 |
+
},
|
| 289 |
+
"r34_NE_estimate_km": {
|
| 290 |
+
"mean": 422.9209986593443,
|
| 291 |
+
"p10": 421.248055349425,
|
| 292 |
+
"p90": 424.872418464571,
|
| 293 |
+
"valid_members": 50,
|
| 294 |
+
"total_members": 50
|
| 295 |
+
},
|
| 296 |
+
"r34_SE_estimate_km": {
|
| 297 |
+
"mean": 317.1907489945083,
|
| 298 |
+
"p10": 315.93604151206875,
|
| 299 |
+
"p90": 318.6543138484283,
|
| 300 |
+
"valid_members": 50,
|
| 301 |
+
"total_members": 50
|
| 302 |
+
},
|
| 303 |
+
"r34_SW_estimate_km": {
|
| 304 |
+
"mean": 258.45172140293266,
|
| 305 |
+
"p10": 257.4293671579819,
|
| 306 |
+
"p90": 259.6442557283489,
|
| 307 |
+
"valid_members": 50,
|
| 308 |
+
"total_members": 50
|
| 309 |
+
},
|
| 310 |
+
"r34_NW_estimate_km": {
|
| 311 |
+
"mean": 422.9209986593443,
|
| 312 |
+
"p10": 421.248055349425,
|
| 313 |
+
"p90": 424.872418464571,
|
| 314 |
+
"valid_members": 50,
|
| 315 |
+
"total_members": 50
|
| 316 |
+
},
|
| 317 |
+
"r50_NE_estimate_km": {
|
| 318 |
+
"mean": 227.88140357212748,
|
| 319 |
+
"p10": 226.3405956822997,
|
| 320 |
+
"p90": 229.6810089270964,
|
| 321 |
+
"valid_members": 50,
|
| 322 |
+
"total_members": 50
|
| 323 |
+
},
|
| 324 |
+
"r50_SE_estimate_km": {
|
| 325 |
+
"mean": 191.90658887117024,
|
| 326 |
+
"p10": 191.0039499944963,
|
| 327 |
+
"p90": 192.95984144918862,
|
| 328 |
+
"valid_members": 50,
|
| 329 |
+
"total_members": 50
|
| 330 |
+
},
|
| 331 |
+
"r50_SW_estimate_km": {
|
| 332 |
+
"mean": 169.81304636672832,
|
| 333 |
+
"p10": 169.26324530705412,
|
| 334 |
+
"p90": 170.45415560248136,
|
| 335 |
+
"valid_members": 50,
|
| 336 |
+
"total_members": 50
|
| 337 |
+
},
|
| 338 |
+
"r50_NW_estimate_km": {
|
| 339 |
+
"mean": 227.88140357212748,
|
| 340 |
+
"p10": 226.3405956822997,
|
| 341 |
+
"p90": 229.6810089270964,
|
| 342 |
+
"valid_members": 50,
|
| 343 |
+
"total_members": 50
|
| 344 |
+
},
|
| 345 |
+
"r64_NE_estimate_km": {
|
| 346 |
+
"mean": 137.66898069573475,
|
| 347 |
+
"p10": 136.73813926543173,
|
| 348 |
+
"p90": 138.7561682897622,
|
| 349 |
+
"valid_members": 50,
|
| 350 |
+
"total_members": 50
|
| 351 |
+
},
|
| 352 |
+
"r64_SE_estimate_km": {
|
| 353 |
+
"mean": 135.17162420500455,
|
| 354 |
+
"p10": 134.5358400782151,
|
| 355 |
+
"p90": 135.91349483334665,
|
| 356 |
+
"valid_members": 50,
|
| 357 |
+
"total_members": 50
|
| 358 |
+
},
|
| 359 |
+
"r64_SW_estimate_km": {
|
| 360 |
+
"mean": 133.4216977184061,
|
| 361 |
+
"p10": 132.98972036237495,
|
| 362 |
+
"p90": 133.92541568641423,
|
| 363 |
+
"valid_members": 50,
|
| 364 |
+
"total_members": 50
|
| 365 |
+
},
|
| 366 |
+
"r64_NW_estimate_km": {
|
| 367 |
+
"mean": 137.66898069573475,
|
| 368 |
+
"p10": 136.73813926543173,
|
| 369 |
+
"p90": 138.7561682897622,
|
| 370 |
+
"valid_members": 50,
|
| 371 |
+
"total_members": 50
|
| 372 |
+
}
|
| 373 |
+
},
|
| 374 |
+
"official_scoring_allowed": false
|
| 375 |
+
}
|
| 376 |
+
},
|
| 377 |
+
{
|
| 378 |
+
"lead_hours": 18,
|
| 379 |
+
"valid_time_utc": "2025-11-07T18:00:00Z",
|
| 380 |
+
"summary": {
|
| 381 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 382 |
+
"members": 50,
|
| 383 |
+
"definitions": {
|
| 384 |
+
"units": "km",
|
| 385 |
+
"quantity_kind": "radius_not_diameter",
|
| 386 |
+
"thresholds_kt": [
|
| 387 |
+
34,
|
| 388 |
+
50,
|
| 389 |
+
64
|
| 390 |
+
],
|
| 391 |
+
"quadrant_order": [
|
| 392 |
+
"NE",
|
| 393 |
+
"SE",
|
| 394 |
+
"SW",
|
| 395 |
+
"NW"
|
| 396 |
+
],
|
| 397 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 398 |
+
"target_wind_averaging_seconds": 60,
|
| 399 |
+
"validated_wind_averaging_seconds": null,
|
| 400 |
+
"validated_surface_height_m": null,
|
| 401 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 402 |
+
"official_scoring_allowed": false
|
| 403 |
+
},
|
| 404 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 405 |
+
"estimates": {
|
| 406 |
+
"wind_estimate_kt": {
|
| 407 |
+
"mean": 72.20652799857518,
|
| 408 |
+
"p10": 71.93823858594855,
|
| 409 |
+
"p90": 72.49705094779313,
|
| 410 |
+
"valid_members": 50,
|
| 411 |
+
"total_members": 50
|
| 412 |
+
},
|
| 413 |
+
"rmw_persistence_km": {
|
| 414 |
+
"mean": 129.64000000000001,
|
| 415 |
+
"p10": 129.64000000000001,
|
| 416 |
+
"p90": 129.64000000000001,
|
| 417 |
+
"valid_members": 50,
|
| 418 |
+
"total_members": 50
|
| 419 |
+
},
|
| 420 |
+
"r34_NE_estimate_km": {
|
| 421 |
+
"mean": 471.5766611953137,
|
| 422 |
+
"p10": 469.4851206250899,
|
| 423 |
+
"p90": 473.84214597261393,
|
| 424 |
+
"valid_members": 50,
|
| 425 |
+
"total_members": 50
|
| 426 |
+
},
|
| 427 |
+
"r34_SE_estimate_km": {
|
| 428 |
+
"mean": 353.68249589648536,
|
| 429 |
+
"p10": 352.1138404688174,
|
| 430 |
+
"p90": 355.38160947946045,
|
| 431 |
+
"valid_members": 50,
|
| 432 |
+
"total_members": 50
|
| 433 |
+
},
|
| 434 |
+
"r34_SW_estimate_km": {
|
| 435 |
+
"mean": 288.18573739713617,
|
| 436 |
+
"p10": 286.9075737153327,
|
| 437 |
+
"p90": 289.5702003165974,
|
| 438 |
+
"valid_members": 50,
|
| 439 |
+
"total_members": 50
|
| 440 |
+
},
|
| 441 |
+
"r34_NW_estimate_km": {
|
| 442 |
+
"mean": 471.5766611953137,
|
| 443 |
+
"p10": 469.4851206250899,
|
| 444 |
+
"p90": 473.84214597261393,
|
| 445 |
+
"valid_members": 50,
|
| 446 |
+
"total_members": 50
|
| 447 |
+
},
|
| 448 |
+
"r50_NE_estimate_km": {
|
| 449 |
+
"mean": 274.527233330425,
|
| 450 |
+
"p10": 272.44607010307465,
|
| 451 |
+
"p90": 276.7841564336302,
|
| 452 |
+
"valid_members": 50,
|
| 453 |
+
"total_members": 50
|
| 454 |
+
},
|
| 455 |
+
"r50_SE_estimate_km": {
|
| 456 |
+
"mean": 218.43946593165973,
|
| 457 |
+
"p10": 217.28748739680898,
|
| 458 |
+
"p90": 219.68764439836445,
|
| 459 |
+
"valid_members": 50,
|
| 460 |
+
"total_members": 50
|
| 461 |
+
},
|
| 462 |
+
"r50_SW_estimate_km": {
|
| 463 |
+
"mean": 185.64153717799636,
|
| 464 |
+
"p10": 184.96762323917144,
|
| 465 |
+
"p90": 186.37127583604192,
|
| 466 |
+
"valid_members": 50,
|
| 467 |
+
"total_members": 50
|
| 468 |
+
},
|
| 469 |
+
"r50_NW_estimate_km": {
|
| 470 |
+
"mean": 274.527233330425,
|
| 471 |
+
"p10": 272.44607010307465,
|
| 472 |
+
"p90": 276.7841564336302,
|
| 473 |
+
"valid_members": 50,
|
| 474 |
+
"total_members": 50
|
| 475 |
+
},
|
| 476 |
+
"r64_NE_estimate_km": {
|
| 477 |
+
"mean": 165.84891875065833,
|
| 478 |
+
"p10": 164.59163484912193,
|
| 479 |
+
"p90": 167.21238368573623,
|
| 480 |
+
"valid_members": 50,
|
| 481 |
+
"total_members": 50
|
| 482 |
+
},
|
| 483 |
+
"r64_SE_estimate_km": {
|
| 484 |
+
"mean": 153.8603628678846,
|
| 485 |
+
"p10": 153.04895347063035,
|
| 486 |
+
"p90": 154.739531799158,
|
| 487 |
+
"valid_members": 50,
|
| 488 |
+
"total_members": 50
|
| 489 |
+
},
|
| 490 |
+
"r64_SW_estimate_km": {
|
| 491 |
+
"mean": 145.85810447009234,
|
| 492 |
+
"p10": 145.32861192662816,
|
| 493 |
+
"p90": 146.43145835973942,
|
| 494 |
+
"valid_members": 50,
|
| 495 |
+
"total_members": 50
|
| 496 |
+
},
|
| 497 |
+
"r64_NW_estimate_km": {
|
| 498 |
+
"mean": 165.84891875065833,
|
| 499 |
+
"p10": 164.59163484912193,
|
| 500 |
+
"p90": 167.21238368573623,
|
| 501 |
+
"valid_members": 50,
|
| 502 |
+
"total_members": 50
|
| 503 |
+
}
|
| 504 |
+
},
|
| 505 |
+
"official_scoring_allowed": false
|
| 506 |
+
}
|
| 507 |
+
},
|
| 508 |
+
{
|
| 509 |
+
"lead_hours": 24,
|
| 510 |
+
"valid_time_utc": "2025-11-08T00:00:00Z",
|
| 511 |
+
"summary": {
|
| 512 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 513 |
+
"members": 50,
|
| 514 |
+
"definitions": {
|
| 515 |
+
"units": "km",
|
| 516 |
+
"quantity_kind": "radius_not_diameter",
|
| 517 |
+
"thresholds_kt": [
|
| 518 |
+
34,
|
| 519 |
+
50,
|
| 520 |
+
64
|
| 521 |
+
],
|
| 522 |
+
"quadrant_order": [
|
| 523 |
+
"NE",
|
| 524 |
+
"SE",
|
| 525 |
+
"SW",
|
| 526 |
+
"NW"
|
| 527 |
+
],
|
| 528 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 529 |
+
"target_wind_averaging_seconds": 60,
|
| 530 |
+
"validated_wind_averaging_seconds": null,
|
| 531 |
+
"validated_surface_height_m": null,
|
| 532 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 533 |
+
"official_scoring_allowed": false
|
| 534 |
+
},
|
| 535 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 536 |
+
"estimates": {
|
| 537 |
+
"wind_estimate_kt": {
|
| 538 |
+
"mean": 78.59834435033284,
|
| 539 |
+
"p10": 78.19446257058435,
|
| 540 |
+
"p90": 78.891589814318,
|
| 541 |
+
"valid_members": 50,
|
| 542 |
+
"total_members": 50
|
| 543 |
+
},
|
| 544 |
+
"rmw_persistence_km": {
|
| 545 |
+
"mean": 129.64000000000001,
|
| 546 |
+
"p10": 129.64000000000001,
|
| 547 |
+
"p90": 129.64000000000001,
|
| 548 |
+
"valid_members": 50,
|
| 549 |
+
"total_members": 50
|
| 550 |
+
},
|
| 551 |
+
"r34_NE_estimate_km": {
|
| 552 |
+
"mean": 521.8296611183611,
|
| 553 |
+
"p10": 518.6294096532661,
|
| 554 |
+
"p90": 524.1540416224916,
|
| 555 |
+
"valid_members": 50,
|
| 556 |
+
"total_members": 50
|
| 557 |
+
},
|
| 558 |
+
"r34_SE_estimate_km": {
|
| 559 |
+
"mean": 391.37224583877077,
|
| 560 |
+
"p10": 388.9720572399496,
|
| 561 |
+
"p90": 393.1155312168687,
|
| 562 |
+
"valid_members": 50,
|
| 563 |
+
"total_members": 50
|
| 564 |
+
},
|
| 565 |
+
"r34_SW_estimate_km": {
|
| 566 |
+
"mean": 318.8959040167762,
|
| 567 |
+
"p10": 316.9401947881071,
|
| 568 |
+
"p90": 320.3163587693004,
|
| 569 |
+
"valid_members": 50,
|
| 570 |
+
"total_members": 50
|
| 571 |
+
},
|
| 572 |
+
"r34_NW_estimate_km": {
|
| 573 |
+
"mean": 521.8296611183611,
|
| 574 |
+
"p10": 518.6294096532661,
|
| 575 |
+
"p90": 524.1540416224916,
|
| 576 |
+
"valid_members": 50,
|
| 577 |
+
"total_members": 50
|
| 578 |
+
},
|
| 579 |
+
"r50_NE_estimate_km": {
|
| 580 |
+
"mean": 326.4301651059268,
|
| 581 |
+
"p10": 323.010877539006,
|
| 582 |
+
"p90": 328.91728589318154,
|
| 583 |
+
"valid_members": 50,
|
| 584 |
+
"total_members": 50
|
| 585 |
+
},
|
| 586 |
+
"r50_SE_estimate_km": {
|
| 587 |
+
"mean": 246.3929169613056,
|
| 588 |
+
"p10": 244.59653599094926,
|
| 589 |
+
"p90": 247.69816100922756,
|
| 590 |
+
"valid_members": 50,
|
| 591 |
+
"total_members": 50
|
| 592 |
+
},
|
| 593 |
+
"r50_SW_estimate_km": {
|
| 594 |
+
"mean": 201.6809998077354,
|
| 595 |
+
"p10": 200.6684493930203,
|
| 596 |
+
"p90": 202.41615048365756,
|
| 597 |
+
"valid_members": 50,
|
| 598 |
+
"total_members": 50
|
| 599 |
+
},
|
| 600 |
+
"r50_NW_estimate_km": {
|
| 601 |
+
"mean": 326.4301651059268,
|
| 602 |
+
"p10": 323.010877539006,
|
| 603 |
+
"p90": 328.91728589318154,
|
| 604 |
+
"valid_members": 50,
|
| 605 |
+
"total_members": 50
|
| 606 |
+
},
|
| 607 |
+
"r64_NE_estimate_km": {
|
| 608 |
+
"mean": 197.20480650914314,
|
| 609 |
+
"p10": 195.1391274907382,
|
| 610 |
+
"p90": 198.7073397491588,
|
| 611 |
+
"valid_members": 50,
|
| 612 |
+
"total_members": 50
|
| 613 |
+
},
|
| 614 |
+
"r64_SE_estimate_km": {
|
| 615 |
+
"mean": 173.54969922698615,
|
| 616 |
+
"p10": 172.28439752534925,
|
| 617 |
+
"p90": 174.46906296003624,
|
| 618 |
+
"valid_members": 50,
|
| 619 |
+
"total_members": 50
|
| 620 |
+
},
|
| 621 |
+
"r64_SW_estimate_km": {
|
| 622 |
+
"mean": 158.4602712666831,
|
| 623 |
+
"p10": 157.66471286733017,
|
| 624 |
+
"p90": 159.03787736561927,
|
| 625 |
+
"valid_members": 50,
|
| 626 |
+
"total_members": 50
|
| 627 |
+
},
|
| 628 |
+
"r64_NW_estimate_km": {
|
| 629 |
+
"mean": 197.20480650914314,
|
| 630 |
+
"p10": 195.1391274907382,
|
| 631 |
+
"p90": 198.7073397491588,
|
| 632 |
+
"valid_members": 50,
|
| 633 |
+
"total_members": 50
|
| 634 |
+
}
|
| 635 |
+
},
|
| 636 |
+
"official_scoring_allowed": false
|
| 637 |
+
}
|
| 638 |
+
},
|
| 639 |
+
{
|
| 640 |
+
"lead_hours": 30,
|
| 641 |
+
"valid_time_utc": "2025-11-08T06:00:00Z",
|
| 642 |
+
"summary": {
|
| 643 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 644 |
+
"members": 50,
|
| 645 |
+
"definitions": {
|
| 646 |
+
"units": "km",
|
| 647 |
+
"quantity_kind": "radius_not_diameter",
|
| 648 |
+
"thresholds_kt": [
|
| 649 |
+
34,
|
| 650 |
+
50,
|
| 651 |
+
64
|
| 652 |
+
],
|
| 653 |
+
"quadrant_order": [
|
| 654 |
+
"NE",
|
| 655 |
+
"SE",
|
| 656 |
+
"SW",
|
| 657 |
+
"NW"
|
| 658 |
+
],
|
| 659 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 660 |
+
"target_wind_averaging_seconds": 60,
|
| 661 |
+
"validated_wind_averaging_seconds": null,
|
| 662 |
+
"validated_surface_height_m": null,
|
| 663 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 664 |
+
"official_scoring_allowed": false
|
| 665 |
+
},
|
| 666 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 667 |
+
"estimates": {
|
| 668 |
+
"wind_estimate_kt": {
|
| 669 |
+
"mean": 85.53099923071761,
|
| 670 |
+
"p10": 85.19476445826572,
|
| 671 |
+
"p90": 85.91688909008496,
|
| 672 |
+
"valid_members": 50,
|
| 673 |
+
"total_members": 50
|
| 674 |
+
},
|
| 675 |
+
"rmw_persistence_km": {
|
| 676 |
+
"mean": 129.64000000000001,
|
| 677 |
+
"p10": 129.64000000000001,
|
| 678 |
+
"p90": 129.64000000000001,
|
| 679 |
+
"valid_members": 50,
|
| 680 |
+
"total_members": 50
|
| 681 |
+
},
|
| 682 |
+
"r34_NE_estimate_km": {
|
| 683 |
+
"mean": 577.2365220678757,
|
| 684 |
+
"p10": 574.5277139215056,
|
| 685 |
+
"p90": 580.346101338436,
|
| 686 |
+
"valid_members": 50,
|
| 687 |
+
"total_members": 50
|
| 688 |
+
},
|
| 689 |
+
"r34_SE_estimate_km": {
|
| 690 |
+
"mean": 432.9273915509068,
|
| 691 |
+
"p10": 430.8957854411292,
|
| 692 |
+
"p90": 435.2595760038271,
|
| 693 |
+
"valid_members": 50,
|
| 694 |
+
"total_members": 50
|
| 695 |
+
},
|
| 696 |
+
"r34_SW_estimate_km": {
|
| 697 |
+
"mean": 352.755652374813,
|
| 698 |
+
"p10": 351.1002696186979,
|
| 699 |
+
"p90": 354.6559508179331,
|
| 700 |
+
"valid_members": 50,
|
| 701 |
+
"total_members": 50
|
| 702 |
+
},
|
| 703 |
+
"r34_NW_estimate_km": {
|
| 704 |
+
"mean": 577.2365220678757,
|
| 705 |
+
"p10": 574.5277139215056,
|
| 706 |
+
"p90": 580.346101338436,
|
| 707 |
+
"valid_members": 50,
|
| 708 |
+
"total_members": 50
|
| 709 |
+
},
|
| 710 |
+
"r50_NE_estimate_km": {
|
| 711 |
+
"mean": 364.2512492457528,
|
| 712 |
+
"p10": 362.5419208966946,
|
| 713 |
+
"p90": 366.213474591219,
|
| 714 |
+
"valid_members": 50,
|
| 715 |
+
"total_members": 50
|
| 716 |
+
},
|
| 717 |
+
"r50_SE_estimate_km": {
|
| 718 |
+
"mean": 273.1884369343146,
|
| 719 |
+
"p10": 271.90644067252094,
|
| 720 |
+
"p90": 274.66010594341424,
|
| 721 |
+
"valid_members": 50,
|
| 722 |
+
"total_members": 50
|
| 723 |
+
},
|
| 724 |
+
"r50_SW_estimate_km": {
|
| 725 |
+
"mean": 222.59798565018227,
|
| 726 |
+
"p10": 221.55339610353556,
|
| 727 |
+
"p90": 223.79712336130046,
|
| 728 |
+
"valid_members": 50,
|
| 729 |
+
"total_members": 50
|
| 730 |
+
},
|
| 731 |
+
"r50_NW_estimate_km": {
|
| 732 |
+
"mean": 364.2512492457528,
|
| 733 |
+
"p10": 362.5419208966946,
|
| 734 |
+
"p90": 366.213474591219,
|
| 735 |
+
"valid_members": 50,
|
| 736 |
+
"total_members": 50
|
| 737 |
+
},
|
| 738 |
+
"r64_NE_estimate_km": {
|
| 739 |
+
"mean": 234.34893195798008,
|
| 740 |
+
"p10": 232.4688596471192,
|
| 741 |
+
"p90": 236.50939376641912,
|
| 742 |
+
"valid_members": 50,
|
| 743 |
+
"total_members": 50
|
| 744 |
+
},
|
| 745 |
+
"r64_SE_estimate_km": {
|
| 746 |
+
"mean": 195.67747359274378,
|
| 747 |
+
"p10": 194.58556561557623,
|
| 748 |
+
"p90": 196.93127576074465,
|
| 749 |
+
"valid_members": 50,
|
| 750 |
+
"total_members": 50
|
| 751 |
+
},
|
| 752 |
+
"r64_SW_estimate_km": {
|
| 753 |
+
"mean": 172.10217494727632,
|
| 754 |
+
"p10": 171.44116886029747,
|
| 755 |
+
"p90": 172.86077701019983,
|
| 756 |
+
"valid_members": 50,
|
| 757 |
+
"total_members": 50
|
| 758 |
+
},
|
| 759 |
+
"r64_NW_estimate_km": {
|
| 760 |
+
"mean": 234.34893195798008,
|
| 761 |
+
"p10": 232.4688596471192,
|
| 762 |
+
"p90": 236.50939376641912,
|
| 763 |
+
"valid_members": 50,
|
| 764 |
+
"total_members": 50
|
| 765 |
+
}
|
| 766 |
+
},
|
| 767 |
+
"official_scoring_allowed": false
|
| 768 |
+
}
|
| 769 |
+
},
|
| 770 |
+
{
|
| 771 |
+
"lead_hours": 36,
|
| 772 |
+
"valid_time_utc": "2025-11-08T12:00:00Z",
|
| 773 |
+
"summary": {
|
| 774 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 775 |
+
"members": 50,
|
| 776 |
+
"definitions": {
|
| 777 |
+
"units": "km",
|
| 778 |
+
"quantity_kind": "radius_not_diameter",
|
| 779 |
+
"thresholds_kt": [
|
| 780 |
+
34,
|
| 781 |
+
50,
|
| 782 |
+
64
|
| 783 |
+
],
|
| 784 |
+
"quadrant_order": [
|
| 785 |
+
"NE",
|
| 786 |
+
"SE",
|
| 787 |
+
"SW",
|
| 788 |
+
"NW"
|
| 789 |
+
],
|
| 790 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 791 |
+
"target_wind_averaging_seconds": 60,
|
| 792 |
+
"validated_wind_averaging_seconds": null,
|
| 793 |
+
"validated_surface_height_m": null,
|
| 794 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 795 |
+
"official_scoring_allowed": false
|
| 796 |
+
},
|
| 797 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 798 |
+
"estimates": {
|
| 799 |
+
"wind_estimate_kt": {
|
| 800 |
+
"mean": 90.87537340587393,
|
| 801 |
+
"p10": 90.5925845087895,
|
| 802 |
+
"p90": 91.24783604409735,
|
| 803 |
+
"valid_members": 50,
|
| 804 |
+
"total_members": 50
|
| 805 |
+
},
|
| 806 |
+
"rmw_persistence_km": {
|
| 807 |
+
"mean": 129.64000000000001,
|
| 808 |
+
"p10": 129.64000000000001,
|
| 809 |
+
"p90": 129.64000000000001,
|
| 810 |
+
"valid_members": 50,
|
| 811 |
+
"total_members": 50
|
| 812 |
+
},
|
| 813 |
+
"r34_NE_estimate_km": {
|
| 814 |
+
"mean": 620.5515840016498,
|
| 815 |
+
"p10": 618.2463492989524,
|
| 816 |
+
"p90": 623.5885014201808,
|
| 817 |
+
"valid_members": 50,
|
| 818 |
+
"total_members": 50
|
| 819 |
+
},
|
| 820 |
+
"r34_SE_estimate_km": {
|
| 821 |
+
"mean": 465.41368800123723,
|
| 822 |
+
"p10": 463.68476197421427,
|
| 823 |
+
"p90": 467.69137606513556,
|
| 824 |
+
"valid_members": 50,
|
| 825 |
+
"total_members": 50
|
| 826 |
+
},
|
| 827 |
+
"r34_SW_estimate_km": {
|
| 828 |
+
"mean": 379.22596800100814,
|
| 829 |
+
"p10": 377.81721346047084,
|
| 830 |
+
"p90": 381.08186197899937,
|
| 831 |
+
"valid_members": 50,
|
| 832 |
+
"total_members": 50
|
| 833 |
+
},
|
| 834 |
+
"r34_NW_estimate_km": {
|
| 835 |
+
"mean": 620.5515840016498,
|
| 836 |
+
"p10": 618.2463492989524,
|
| 837 |
+
"p90": 623.5885014201808,
|
| 838 |
+
"valid_members": 50,
|
| 839 |
+
"total_members": 50
|
| 840 |
+
},
|
| 841 |
+
"r50_NE_estimate_km": {
|
| 842 |
+
"mean": 391.5841791927583,
|
| 843 |
+
"p10": 390.1295161765408,
|
| 844 |
+
"p90": 393.5005530209307,
|
| 845 |
+
"valid_members": 50,
|
| 846 |
+
"total_members": 50
|
| 847 |
+
},
|
| 848 |
+
"r50_SE_estimate_km": {
|
| 849 |
+
"mean": 293.68813439456875,
|
| 850 |
+
"p10": 292.5971371324056,
|
| 851 |
+
"p90": 295.125414765698,
|
| 852 |
+
"valid_members": 50,
|
| 853 |
+
"total_members": 50
|
| 854 |
+
},
|
| 855 |
+
"r50_SW_estimate_km": {
|
| 856 |
+
"mean": 239.3014428400189,
|
| 857 |
+
"p10": 238.412482107886,
|
| 858 |
+
"p90": 240.47256017945764,
|
| 859 |
+
"valid_members": 50,
|
| 860 |
+
"total_members": 50
|
| 861 |
+
},
|
| 862 |
+
"r50_NW_estimate_km": {
|
| 863 |
+
"mean": 391.5841791927583,
|
| 864 |
+
"p10": 390.1295161765408,
|
| 865 |
+
"p90": 393.5005530209307,
|
| 866 |
+
"valid_members": 50,
|
| 867 |
+
"total_members": 50
|
| 868 |
+
},
|
| 869 |
+
"r64_NE_estimate_km": {
|
| 870 |
+
"mean": 265.21599086357804,
|
| 871 |
+
"p10": 263.5314038253491,
|
| 872 |
+
"p90": 267.4374447337736,
|
| 873 |
+
"valid_members": 50,
|
| 874 |
+
"total_members": 50
|
| 875 |
+
},
|
| 876 |
+
"r64_SE_estimate_km": {
|
| 877 |
+
"mean": 213.26038396595035,
|
| 878 |
+
"p10": 212.31830650703242,
|
| 879 |
+
"p90": 214.50180188101365,
|
| 880 |
+
"valid_members": 50,
|
| 881 |
+
"total_members": 50
|
| 882 |
+
},
|
| 883 |
+
"r64_SW_estimate_km": {
|
| 884 |
+
"mean": 182.60124343068566,
|
| 885 |
+
"p10": 182.04608360428628,
|
| 886 |
+
"p90": 183.3324276761821,
|
| 887 |
+
"valid_members": 50,
|
| 888 |
+
"total_members": 50
|
| 889 |
+
},
|
| 890 |
+
"r64_NW_estimate_km": {
|
| 891 |
+
"mean": 265.21599086357804,
|
| 892 |
+
"p10": 263.5314038253491,
|
| 893 |
+
"p90": 267.4374447337736,
|
| 894 |
+
"valid_members": 50,
|
| 895 |
+
"total_members": 50
|
| 896 |
+
}
|
| 897 |
+
},
|
| 898 |
+
"official_scoring_allowed": false
|
| 899 |
+
}
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"lead_hours": 42,
|
| 903 |
+
"valid_time_utc": "2025-11-08T18:00:00Z",
|
| 904 |
+
"summary": {
|
| 905 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 906 |
+
"members": 50,
|
| 907 |
+
"definitions": {
|
| 908 |
+
"units": "km",
|
| 909 |
+
"quantity_kind": "radius_not_diameter",
|
| 910 |
+
"thresholds_kt": [
|
| 911 |
+
34,
|
| 912 |
+
50,
|
| 913 |
+
64
|
| 914 |
+
],
|
| 915 |
+
"quadrant_order": [
|
| 916 |
+
"NE",
|
| 917 |
+
"SE",
|
| 918 |
+
"SW",
|
| 919 |
+
"NW"
|
| 920 |
+
],
|
| 921 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 922 |
+
"target_wind_averaging_seconds": 60,
|
| 923 |
+
"validated_wind_averaging_seconds": null,
|
| 924 |
+
"validated_surface_height_m": null,
|
| 925 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 926 |
+
"official_scoring_allowed": false
|
| 927 |
+
},
|
| 928 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 929 |
+
"estimates": {
|
| 930 |
+
"wind_estimate_kt": {
|
| 931 |
+
"mean": 92.97236938499864,
|
| 932 |
+
"p10": 92.69003268933565,
|
| 933 |
+
"p90": 93.31799128539345,
|
| 934 |
+
"valid_members": 50,
|
| 935 |
+
"total_members": 50
|
| 936 |
+
},
|
| 937 |
+
"rmw_persistence_km": {
|
| 938 |
+
"mean": 129.64000000000001,
|
| 939 |
+
"p10": 129.64000000000001,
|
| 940 |
+
"p90": 129.64000000000001,
|
| 941 |
+
"valid_members": 50,
|
| 942 |
+
"total_members": 50
|
| 943 |
+
},
|
| 944 |
+
"r34_NE_estimate_km": {
|
| 945 |
+
"mean": 637.6842958098,
|
| 946 |
+
"p10": 635.3726324020806,
|
| 947 |
+
"p90": 640.5148051455062,
|
| 948 |
+
"valid_members": 50,
|
| 949 |
+
"total_members": 50
|
| 950 |
+
},
|
| 951 |
+
"r34_SE_estimate_km": {
|
| 952 |
+
"mean": 478.26322185735006,
|
| 953 |
+
"p10": 476.52947430156047,
|
| 954 |
+
"p90": 480.38610385912966,
|
| 955 |
+
"valid_members": 50,
|
| 956 |
+
"total_members": 50
|
| 957 |
+
},
|
| 958 |
+
"r34_SW_estimate_km": {
|
| 959 |
+
"mean": 389.6959585504334,
|
| 960 |
+
"p10": 388.28327535682706,
|
| 961 |
+
"p90": 391.42571425558714,
|
| 962 |
+
"valid_members": 50,
|
| 963 |
+
"total_members": 50
|
| 964 |
+
},
|
| 965 |
+
"r34_NW_estimate_km": {
|
| 966 |
+
"mean": 637.6842958098,
|
| 967 |
+
"p10": 635.3726324020806,
|
| 968 |
+
"p90": 640.5148051455062,
|
| 969 |
+
"valid_members": 50,
|
| 970 |
+
"total_members": 50
|
| 971 |
+
},
|
| 972 |
+
"r50_NE_estimate_km": {
|
| 973 |
+
"mean": 402.3953656657313,
|
| 974 |
+
"p10": 400.93664596954676,
|
| 975 |
+
"p90": 404.18149062857896,
|
| 976 |
+
"valid_members": 50,
|
| 977 |
+
"total_members": 50
|
| 978 |
+
},
|
| 979 |
+
"r50_SE_estimate_km": {
|
| 980 |
+
"mean": 301.79652424929844,
|
| 981 |
+
"p10": 300.70248447716006,
|
| 982 |
+
"p90": 303.1361179714342,
|
| 983 |
+
"valid_members": 50,
|
| 984 |
+
"total_members": 50
|
| 985 |
+
},
|
| 986 |
+
"r50_SW_estimate_km": {
|
| 987 |
+
"mean": 245.9082790179469,
|
| 988 |
+
"p10": 245.0168392036119,
|
| 989 |
+
"p90": 246.99979982857602,
|
| 990 |
+
"valid_members": 50,
|
| 991 |
+
"total_members": 50
|
| 992 |
+
},
|
| 993 |
+
"r50_NW_estimate_km": {
|
| 994 |
+
"mean": 402.3953656657313,
|
| 995 |
+
"p10": 400.93664596954676,
|
| 996 |
+
"p90": 404.18149062857896,
|
| 997 |
+
"valid_members": 50,
|
| 998 |
+
"total_members": 50
|
| 999 |
+
},
|
| 1000 |
+
"r64_NE_estimate_km": {
|
| 1001 |
+
"mean": 277.8598899993099,
|
| 1002 |
+
"p10": 276.13789094135956,
|
| 1003 |
+
"p90": 279.9706383464344,
|
| 1004 |
+
"valid_members": 50,
|
| 1005 |
+
"total_members": 50
|
| 1006 |
+
},
|
| 1007 |
+
"r64_SE_estimate_km": {
|
| 1008 |
+
"mean": 220.2803604029042,
|
| 1009 |
+
"p10": 219.33081532962666,
|
| 1010 |
+
"p90": 221.44335889368026,
|
| 1011 |
+
"valid_members": 50,
|
| 1012 |
+
"total_members": 50
|
| 1013 |
+
},
|
| 1014 |
+
"r64_SW_estimate_km": {
|
| 1015 |
+
"mean": 186.71688510006382,
|
| 1016 |
+
"p10": 186.16290133535202,
|
| 1017 |
+
"p90": 187.39502356128398,
|
| 1018 |
+
"valid_members": 50,
|
| 1019 |
+
"total_members": 50
|
| 1020 |
+
},
|
| 1021 |
+
"r64_NW_estimate_km": {
|
| 1022 |
+
"mean": 277.8598899993099,
|
| 1023 |
+
"p10": 276.13789094135956,
|
| 1024 |
+
"p90": 279.9706383464344,
|
| 1025 |
+
"valid_members": 50,
|
| 1026 |
+
"total_members": 50
|
| 1027 |
+
}
|
| 1028 |
+
},
|
| 1029 |
+
"official_scoring_allowed": false
|
| 1030 |
+
}
|
| 1031 |
+
},
|
| 1032 |
+
{
|
| 1033 |
+
"lead_hours": 48,
|
| 1034 |
+
"valid_time_utc": "2025-11-09T00:00:00Z",
|
| 1035 |
+
"summary": {
|
| 1036 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1037 |
+
"members": 50,
|
| 1038 |
+
"definitions": {
|
| 1039 |
+
"units": "km",
|
| 1040 |
+
"quantity_kind": "radius_not_diameter",
|
| 1041 |
+
"thresholds_kt": [
|
| 1042 |
+
34,
|
| 1043 |
+
50,
|
| 1044 |
+
64
|
| 1045 |
+
],
|
| 1046 |
+
"quadrant_order": [
|
| 1047 |
+
"NE",
|
| 1048 |
+
"SE",
|
| 1049 |
+
"SW",
|
| 1050 |
+
"NW"
|
| 1051 |
+
],
|
| 1052 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1053 |
+
"target_wind_averaging_seconds": 60,
|
| 1054 |
+
"validated_wind_averaging_seconds": null,
|
| 1055 |
+
"validated_surface_height_m": null,
|
| 1056 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1057 |
+
"official_scoring_allowed": false
|
| 1058 |
+
},
|
| 1059 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1060 |
+
"estimates": {
|
| 1061 |
+
"wind_estimate_kt": {
|
| 1062 |
+
"mean": 93.36899641557478,
|
| 1063 |
+
"p10": 93.05264591799197,
|
| 1064 |
+
"p90": 93.69093041766232,
|
| 1065 |
+
"valid_members": 50,
|
| 1066 |
+
"total_members": 50
|
| 1067 |
+
},
|
| 1068 |
+
"rmw_persistence_km": {
|
| 1069 |
+
"mean": 129.64000000000001,
|
| 1070 |
+
"p10": 129.64000000000001,
|
| 1071 |
+
"p90": 129.64000000000001,
|
| 1072 |
+
"valid_members": 50,
|
| 1073 |
+
"total_members": 50
|
| 1074 |
+
},
|
| 1075 |
+
"r34_NE_estimate_km": {
|
| 1076 |
+
"mean": 640.9334756128734,
|
| 1077 |
+
"p10": 638.3411494491348,
|
| 1078 |
+
"p90": 643.5718762731789,
|
| 1079 |
+
"valid_members": 50,
|
| 1080 |
+
"total_members": 50
|
| 1081 |
+
},
|
| 1082 |
+
"r34_SE_estimate_km": {
|
| 1083 |
+
"mean": 480.700106709655,
|
| 1084 |
+
"p10": 478.7558620868512,
|
| 1085 |
+
"p90": 482.6789072048841,
|
| 1086 |
+
"valid_members": 50,
|
| 1087 |
+
"total_members": 50
|
| 1088 |
+
},
|
| 1089 |
+
"r34_SW_estimate_km": {
|
| 1090 |
+
"mean": 391.6815684300893,
|
| 1091 |
+
"p10": 390.09736910780464,
|
| 1092 |
+
"p90": 393.29392438916483,
|
| 1093 |
+
"valid_members": 50,
|
| 1094 |
+
"total_members": 50
|
| 1095 |
+
},
|
| 1096 |
+
"r34_NW_estimate_km": {
|
| 1097 |
+
"mean": 640.9334756128734,
|
| 1098 |
+
"p10": 638.3411494491348,
|
| 1099 |
+
"p90": 643.5718762731789,
|
| 1100 |
+
"valid_members": 50,
|
| 1101 |
+
"total_members": 50
|
| 1102 |
+
},
|
| 1103 |
+
"r50_NE_estimate_km": {
|
| 1104 |
+
"mean": 404.4456825757801,
|
| 1105 |
+
"p10": 402.8098573854205,
|
| 1106 |
+
"p90": 406.1105819710649,
|
| 1107 |
+
"valid_members": 50,
|
| 1108 |
+
"total_members": 50
|
| 1109 |
+
},
|
| 1110 |
+
"r50_SE_estimate_km": {
|
| 1111 |
+
"mean": 303.3342619318351,
|
| 1112 |
+
"p10": 302.1073930390654,
|
| 1113 |
+
"p90": 304.5829364782987,
|
| 1114 |
+
"valid_members": 50,
|
| 1115 |
+
"total_members": 50
|
| 1116 |
+
},
|
| 1117 |
+
"r50_SW_estimate_km": {
|
| 1118 |
+
"mean": 247.16125046297674,
|
| 1119 |
+
"p10": 246.16157951331255,
|
| 1120 |
+
"p90": 248.1786889823174,
|
| 1121 |
+
"valid_members": 50,
|
| 1122 |
+
"total_members": 50
|
| 1123 |
+
},
|
| 1124 |
+
"r50_NW_estimate_km": {
|
| 1125 |
+
"mean": 404.4456825757801,
|
| 1126 |
+
"p10": 402.8098573854205,
|
| 1127 |
+
"p90": 406.1105819710649,
|
| 1128 |
+
"valid_members": 50,
|
| 1129 |
+
"total_members": 50
|
| 1130 |
+
},
|
| 1131 |
+
"r64_NE_estimate_km": {
|
| 1132 |
+
"mean": 280.28598236105717,
|
| 1133 |
+
"p10": 278.34782250924883,
|
| 1134 |
+
"p90": 282.2596360270442,
|
| 1135 |
+
"valid_members": 50,
|
| 1136 |
+
"total_members": 50
|
| 1137 |
+
},
|
| 1138 |
+
"r64_SE_estimate_km": {
|
| 1139 |
+
"mean": 221.61584150517828,
|
| 1140 |
+
"p10": 220.54997039778755,
|
| 1141 |
+
"p90": 222.70081027654226,
|
| 1142 |
+
"valid_members": 50,
|
| 1143 |
+
"total_members": 50
|
| 1144 |
+
},
|
| 1145 |
+
"r64_SW_estimate_km": {
|
| 1146 |
+
"mean": 187.4950725817098,
|
| 1147 |
+
"p10": 186.87441071753156,
|
| 1148 |
+
"p90": 188.12667985532187,
|
| 1149 |
+
"valid_members": 50,
|
| 1150 |
+
"total_members": 50
|
| 1151 |
+
},
|
| 1152 |
+
"r64_NW_estimate_km": {
|
| 1153 |
+
"mean": 280.28598236105717,
|
| 1154 |
+
"p10": 278.34782250924883,
|
| 1155 |
+
"p90": 282.2596360270442,
|
| 1156 |
+
"valid_members": 50,
|
| 1157 |
+
"total_members": 50
|
| 1158 |
+
}
|
| 1159 |
+
},
|
| 1160 |
+
"official_scoring_allowed": false
|
| 1161 |
+
}
|
| 1162 |
+
},
|
| 1163 |
+
{
|
| 1164 |
+
"lead_hours": 54,
|
| 1165 |
+
"valid_time_utc": "2025-11-09T06:00:00Z",
|
| 1166 |
+
"summary": {
|
| 1167 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1168 |
+
"members": 50,
|
| 1169 |
+
"definitions": {
|
| 1170 |
+
"units": "km",
|
| 1171 |
+
"quantity_kind": "radius_not_diameter",
|
| 1172 |
+
"thresholds_kt": [
|
| 1173 |
+
34,
|
| 1174 |
+
50,
|
| 1175 |
+
64
|
| 1176 |
+
],
|
| 1177 |
+
"quadrant_order": [
|
| 1178 |
+
"NE",
|
| 1179 |
+
"SE",
|
| 1180 |
+
"SW",
|
| 1181 |
+
"NW"
|
| 1182 |
+
],
|
| 1183 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1184 |
+
"target_wind_averaging_seconds": 60,
|
| 1185 |
+
"validated_wind_averaging_seconds": null,
|
| 1186 |
+
"validated_surface_height_m": null,
|
| 1187 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1188 |
+
"official_scoring_allowed": false
|
| 1189 |
+
},
|
| 1190 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1191 |
+
"estimates": {
|
| 1192 |
+
"wind_estimate_kt": {
|
| 1193 |
+
"mean": 93.64139872036087,
|
| 1194 |
+
"p10": 93.18438568016924,
|
| 1195 |
+
"p90": 94.32567584759735,
|
| 1196 |
+
"valid_members": 50,
|
| 1197 |
+
"total_members": 50
|
| 1198 |
+
},
|
| 1199 |
+
"rmw_persistence_km": {
|
| 1200 |
+
"mean": 129.64000000000001,
|
| 1201 |
+
"p10": 129.64000000000001,
|
| 1202 |
+
"p90": 129.64000000000001,
|
| 1203 |
+
"valid_members": 50,
|
| 1204 |
+
"total_members": 50
|
| 1205 |
+
},
|
| 1206 |
+
"r34_NE_estimate_km": {
|
| 1207 |
+
"mean": 643.1674819318824,
|
| 1208 |
+
"p10": 639.4201871056054,
|
| 1209 |
+
"p90": 648.7804641318286,
|
| 1210 |
+
"valid_members": 50,
|
| 1211 |
+
"total_members": 50
|
| 1212 |
+
},
|
| 1213 |
+
"r34_SE_estimate_km": {
|
| 1214 |
+
"mean": 482.37561144891174,
|
| 1215 |
+
"p10": 479.5651403292041,
|
| 1216 |
+
"p90": 486.58534809887135,
|
| 1217 |
+
"valid_members": 50,
|
| 1218 |
+
"total_members": 50
|
| 1219 |
+
},
|
| 1220 |
+
"r34_SW_estimate_km": {
|
| 1221 |
+
"mean": 393.0467945139281,
|
| 1222 |
+
"p10": 390.7567810089811,
|
| 1223 |
+
"p90": 396.4769503027841,
|
| 1224 |
+
"valid_members": 50,
|
| 1225 |
+
"total_members": 50
|
| 1226 |
+
},
|
| 1227 |
+
"r34_NW_estimate_km": {
|
| 1228 |
+
"mean": 643.1674819318824,
|
| 1229 |
+
"p10": 639.4201871056054,
|
| 1230 |
+
"p90": 648.7804641318286,
|
| 1231 |
+
"valid_members": 50,
|
| 1232 |
+
"total_members": 50
|
| 1233 |
+
},
|
| 1234 |
+
"r50_NE_estimate_km": {
|
| 1235 |
+
"mean": 405.85539863048643,
|
| 1236 |
+
"p10": 403.4907581935408,
|
| 1237 |
+
"p90": 409.3973362940984,
|
| 1238 |
+
"valid_members": 50,
|
| 1239 |
+
"total_members": 50
|
| 1240 |
+
},
|
| 1241 |
+
"r50_SE_estimate_km": {
|
| 1242 |
+
"mean": 304.3915489728648,
|
| 1243 |
+
"p10": 302.6180686451556,
|
| 1244 |
+
"p90": 307.0480022205738,
|
| 1245 |
+
"valid_members": 50,
|
| 1246 |
+
"total_members": 50
|
| 1247 |
+
},
|
| 1248 |
+
"r50_SW_estimate_km": {
|
| 1249 |
+
"mean": 248.0227436075195,
|
| 1250 |
+
"p10": 246.57768556271935,
|
| 1251 |
+
"p90": 250.18726106861567,
|
| 1252 |
+
"valid_members": 50,
|
| 1253 |
+
"total_members": 50
|
| 1254 |
+
},
|
| 1255 |
+
"r50_NW_estimate_km": {
|
| 1256 |
+
"mean": 405.85539863048643,
|
| 1257 |
+
"p10": 403.4907581935408,
|
| 1258 |
+
"p90": 409.3973362940984,
|
| 1259 |
+
"valid_members": 50,
|
| 1260 |
+
"total_members": 50
|
| 1261 |
+
},
|
| 1262 |
+
"r64_NE_estimate_km": {
|
| 1263 |
+
"mean": 281.96219038128265,
|
| 1264 |
+
"p10": 279.15293147260724,
|
| 1265 |
+
"p90": 286.177423967,
|
| 1266 |
+
"valid_members": 50,
|
| 1267 |
+
"total_members": 50
|
| 1268 |
+
},
|
| 1269 |
+
"r64_SE_estimate_km": {
|
| 1270 |
+
"mean": 222.53525409035908,
|
| 1271 |
+
"p10": 220.99339198192695,
|
| 1272 |
+
"p90": 224.84584062284807,
|
| 1273 |
+
"valid_members": 50,
|
| 1274 |
+
"total_members": 50
|
| 1275 |
+
},
|
| 1276 |
+
"r64_SW_estimate_km": {
|
| 1277 |
+
"mean": 188.02945911254454,
|
| 1278 |
+
"p10": 187.13289093163607,
|
| 1279 |
+
"p90": 189.3718107656762,
|
| 1280 |
+
"valid_members": 50,
|
| 1281 |
+
"total_members": 50
|
| 1282 |
+
},
|
| 1283 |
+
"r64_NW_estimate_km": {
|
| 1284 |
+
"mean": 281.96219038128265,
|
| 1285 |
+
"p10": 279.15293147260724,
|
| 1286 |
+
"p90": 286.177423967,
|
| 1287 |
+
"valid_members": 50,
|
| 1288 |
+
"total_members": 50
|
| 1289 |
+
}
|
| 1290 |
+
},
|
| 1291 |
+
"official_scoring_allowed": false
|
| 1292 |
+
}
|
| 1293 |
+
},
|
| 1294 |
+
{
|
| 1295 |
+
"lead_hours": 60,
|
| 1296 |
+
"valid_time_utc": "2025-11-09T12:00:00Z",
|
| 1297 |
+
"summary": {
|
| 1298 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1299 |
+
"members": 50,
|
| 1300 |
+
"definitions": {
|
| 1301 |
+
"units": "km",
|
| 1302 |
+
"quantity_kind": "radius_not_diameter",
|
| 1303 |
+
"thresholds_kt": [
|
| 1304 |
+
34,
|
| 1305 |
+
50,
|
| 1306 |
+
64
|
| 1307 |
+
],
|
| 1308 |
+
"quadrant_order": [
|
| 1309 |
+
"NE",
|
| 1310 |
+
"SE",
|
| 1311 |
+
"SW",
|
| 1312 |
+
"NW"
|
| 1313 |
+
],
|
| 1314 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1315 |
+
"target_wind_averaging_seconds": 60,
|
| 1316 |
+
"validated_wind_averaging_seconds": null,
|
| 1317 |
+
"validated_surface_height_m": null,
|
| 1318 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1319 |
+
"official_scoring_allowed": false
|
| 1320 |
+
},
|
| 1321 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1322 |
+
"estimates": {
|
| 1323 |
+
"wind_estimate_kt": {
|
| 1324 |
+
"mean": 92.84393860068786,
|
| 1325 |
+
"p10": 91.96729475142993,
|
| 1326 |
+
"p90": 93.53142871436502,
|
| 1327 |
+
"valid_members": 50,
|
| 1328 |
+
"total_members": 50
|
| 1329 |
+
},
|
| 1330 |
+
"rmw_persistence_km": {
|
| 1331 |
+
"mean": 129.64000000000001,
|
| 1332 |
+
"p10": 129.64000000000001,
|
| 1333 |
+
"p90": 129.64000000000001,
|
| 1334 |
+
"valid_members": 50,
|
| 1335 |
+
"total_members": 50
|
| 1336 |
+
},
|
| 1337 |
+
"r34_NE_estimate_km": {
|
| 1338 |
+
"mean": 636.6351916695111,
|
| 1339 |
+
"p10": 629.4626953632833,
|
| 1340 |
+
"p90": 642.2641161329248,
|
| 1341 |
+
"valid_members": 50,
|
| 1342 |
+
"total_members": 50
|
| 1343 |
+
},
|
| 1344 |
+
"r34_SE_estimate_km": {
|
| 1345 |
+
"mean": 477.4763937521333,
|
| 1346 |
+
"p10": 472.09702152246246,
|
| 1347 |
+
"p90": 481.69808709969357,
|
| 1348 |
+
"valid_members": 50,
|
| 1349 |
+
"total_members": 50
|
| 1350 |
+
},
|
| 1351 |
+
"r34_SW_estimate_km": {
|
| 1352 |
+
"mean": 389.0548393535901,
|
| 1353 |
+
"p10": 384.67164716645084,
|
| 1354 |
+
"p90": 392.49473763678736,
|
| 1355 |
+
"valid_members": 50,
|
| 1356 |
+
"total_members": 50
|
| 1357 |
+
},
|
| 1358 |
+
"r34_NW_estimate_km": {
|
| 1359 |
+
"mean": 636.6351916695111,
|
| 1360 |
+
"p10": 629.4626953632833,
|
| 1361 |
+
"p90": 642.2641161329248,
|
| 1362 |
+
"valid_members": 50,
|
| 1363 |
+
"total_members": 50
|
| 1364 |
+
},
|
| 1365 |
+
"r50_NE_estimate_km": {
|
| 1366 |
+
"mean": 401.73335368436847,
|
| 1367 |
+
"p10": 397.2073220840208,
|
| 1368 |
+
"p90": 405.2853513306077,
|
| 1369 |
+
"valid_members": 50,
|
| 1370 |
+
"total_members": 50
|
| 1371 |
+
},
|
| 1372 |
+
"r50_SE_estimate_km": {
|
| 1373 |
+
"mean": 301.30001526327635,
|
| 1374 |
+
"p10": 297.9054915630156,
|
| 1375 |
+
"p90": 303.9640134979558,
|
| 1376 |
+
"valid_members": 50,
|
| 1377 |
+
"total_members": 50
|
| 1378 |
+
},
|
| 1379 |
+
"r50_SW_estimate_km": {
|
| 1380 |
+
"mean": 245.5037161404474,
|
| 1381 |
+
"p10": 242.73780794023492,
|
| 1382 |
+
"p90": 247.6743813687047,
|
| 1383 |
+
"valid_members": 50,
|
| 1384 |
+
"total_members": 50
|
| 1385 |
+
},
|
| 1386 |
+
"r50_NW_estimate_km": {
|
| 1387 |
+
"mean": 401.73335368436847,
|
| 1388 |
+
"p10": 397.2073220840208,
|
| 1389 |
+
"p90": 405.2853513306077,
|
| 1390 |
+
"valid_members": 50,
|
| 1391 |
+
"total_members": 50
|
| 1392 |
+
},
|
| 1393 |
+
"r64_NE_estimate_km": {
|
| 1394 |
+
"mean": 277.0863194016694,
|
| 1395 |
+
"p10": 271.7600239417335,
|
| 1396 |
+
"p90": 281.279505242497,
|
| 1397 |
+
"valid_members": 50,
|
| 1398 |
+
"total_members": 50
|
| 1399 |
+
},
|
| 1400 |
+
"r64_SE_estimate_km": {
|
| 1401 |
+
"mean": 219.85059341999494,
|
| 1402 |
+
"p10": 216.9068481967324,
|
| 1403 |
+
"p90": 222.16275776440816,
|
| 1404 |
+
"valid_members": 50,
|
| 1405 |
+
"total_members": 50
|
| 1406 |
+
},
|
| 1407 |
+
"r64_SW_estimate_km": {
|
| 1408 |
+
"mean": 186.46481675194494,
|
| 1409 |
+
"p10": 184.74457409004103,
|
| 1410 |
+
"p90": 187.81376715715888,
|
| 1411 |
+
"valid_members": 50,
|
| 1412 |
+
"total_members": 50
|
| 1413 |
+
},
|
| 1414 |
+
"r64_NW_estimate_km": {
|
| 1415 |
+
"mean": 277.0863194016694,
|
| 1416 |
+
"p10": 271.7600239417335,
|
| 1417 |
+
"p90": 281.279505242497,
|
| 1418 |
+
"valid_members": 50,
|
| 1419 |
+
"total_members": 50
|
| 1420 |
+
}
|
| 1421 |
+
},
|
| 1422 |
+
"official_scoring_allowed": false
|
| 1423 |
+
}
|
| 1424 |
+
},
|
| 1425 |
+
{
|
| 1426 |
+
"lead_hours": 66,
|
| 1427 |
+
"valid_time_utc": "2025-11-09T18:00:00Z",
|
| 1428 |
+
"summary": {
|
| 1429 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1430 |
+
"members": 50,
|
| 1431 |
+
"definitions": {
|
| 1432 |
+
"units": "km",
|
| 1433 |
+
"quantity_kind": "radius_not_diameter",
|
| 1434 |
+
"thresholds_kt": [
|
| 1435 |
+
34,
|
| 1436 |
+
50,
|
| 1437 |
+
64
|
| 1438 |
+
],
|
| 1439 |
+
"quadrant_order": [
|
| 1440 |
+
"NE",
|
| 1441 |
+
"SE",
|
| 1442 |
+
"SW",
|
| 1443 |
+
"NW"
|
| 1444 |
+
],
|
| 1445 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1446 |
+
"target_wind_averaging_seconds": 60,
|
| 1447 |
+
"validated_wind_averaging_seconds": null,
|
| 1448 |
+
"validated_surface_height_m": null,
|
| 1449 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1450 |
+
"official_scoring_allowed": false
|
| 1451 |
+
},
|
| 1452 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1453 |
+
"estimates": {
|
| 1454 |
+
"wind_estimate_kt": {
|
| 1455 |
+
"mean": 87.56221929884634,
|
| 1456 |
+
"p10": 86.81133699053461,
|
| 1457 |
+
"p90": 88.4154026376338,
|
| 1458 |
+
"valid_members": 50,
|
| 1459 |
+
"total_members": 50
|
| 1460 |
+
},
|
| 1461 |
+
"rmw_persistence_km": {
|
| 1462 |
+
"mean": 129.64000000000001,
|
| 1463 |
+
"p10": 129.64000000000001,
|
| 1464 |
+
"p90": 129.64000000000001,
|
| 1465 |
+
"valid_members": 50,
|
| 1466 |
+
"total_members": 50
|
| 1467 |
+
},
|
| 1468 |
+
"r34_NE_estimate_km": {
|
| 1469 |
+
"mean": 593.6428573980036,
|
| 1470 |
+
"p10": 587.5660770733103,
|
| 1471 |
+
"p90": 600.5501500380674,
|
| 1472 |
+
"valid_members": 50,
|
| 1473 |
+
"total_members": 50
|
| 1474 |
+
},
|
| 1475 |
+
"r34_SE_estimate_km": {
|
| 1476 |
+
"mean": 445.2321430485026,
|
| 1477 |
+
"p10": 440.6745578049828,
|
| 1478 |
+
"p90": 450.4126125285505,
|
| 1479 |
+
"valid_members": 50,
|
| 1480 |
+
"total_members": 50
|
| 1481 |
+
},
|
| 1482 |
+
"r34_SW_estimate_km": {
|
| 1483 |
+
"mean": 362.7817461876688,
|
| 1484 |
+
"p10": 359.0681582114674,
|
| 1485 |
+
"p90": 367.00286946770785,
|
| 1486 |
+
"valid_members": 50,
|
| 1487 |
+
"total_members": 50
|
| 1488 |
+
},
|
| 1489 |
+
"r34_NW_estimate_km": {
|
| 1490 |
+
"mean": 593.6428573980036,
|
| 1491 |
+
"p10": 587.5660770733103,
|
| 1492 |
+
"p90": 600.5501500380674,
|
| 1493 |
+
"valid_members": 50,
|
| 1494 |
+
"total_members": 50
|
| 1495 |
+
},
|
| 1496 |
+
"r50_NE_estimate_km": {
|
| 1497 |
+
"mean": 374.6040732807522,
|
| 1498 |
+
"p10": 370.76946694515175,
|
| 1499 |
+
"p90": 378.9627544744439,
|
| 1500 |
+
"valid_members": 50,
|
| 1501 |
+
"total_members": 50
|
| 1502 |
+
},
|
| 1503 |
+
"r50_SE_estimate_km": {
|
| 1504 |
+
"mean": 280.9530549605641,
|
| 1505 |
+
"p10": 278.0771002088638,
|
| 1506 |
+
"p90": 284.2220658558329,
|
| 1507 |
+
"valid_members": 50,
|
| 1508 |
+
"total_members": 50
|
| 1509 |
+
},
|
| 1510 |
+
"r50_SW_estimate_km": {
|
| 1511 |
+
"mean": 228.92471144934854,
|
| 1512 |
+
"p10": 226.58134091092606,
|
| 1513 |
+
"p90": 231.5883499566046,
|
| 1514 |
+
"valid_members": 50,
|
| 1515 |
+
"total_members": 50
|
| 1516 |
+
},
|
| 1517 |
+
"r50_NW_estimate_km": {
|
| 1518 |
+
"mean": 374.6040732807522,
|
| 1519 |
+
"p10": 370.76946694515175,
|
| 1520 |
+
"p90": 378.9627544744439,
|
| 1521 |
+
"valid_members": 50,
|
| 1522 |
+
"total_members": 50
|
| 1523 |
+
},
|
| 1524 |
+
"r64_NE_estimate_km": {
|
| 1525 |
+
"mean": 245.86533306962133,
|
| 1526 |
+
"p10": 241.56331911101566,
|
| 1527 |
+
"p90": 250.763406021542,
|
| 1528 |
+
"valid_members": 50,
|
| 1529 |
+
"total_members": 50
|
| 1530 |
+
},
|
| 1531 |
+
"r64_SE_estimate_km": {
|
| 1532 |
+
"mean": 202.31070317038512,
|
| 1533 |
+
"p10": 199.8482221599322,
|
| 1534 |
+
"p90": 205.11096352078226,
|
| 1535 |
+
"valid_members": 50,
|
| 1536 |
+
"total_members": 50
|
| 1537 |
+
},
|
| 1538 |
+
"r64_SW_estimate_km": {
|
| 1539 |
+
"mean": 176.09414363791404,
|
| 1540 |
+
"p10": 174.61877193910917,
|
| 1541 |
+
"p90": 177.7704466247317,
|
| 1542 |
+
"valid_members": 50,
|
| 1543 |
+
"total_members": 50
|
| 1544 |
+
},
|
| 1545 |
+
"r64_NW_estimate_km": {
|
| 1546 |
+
"mean": 245.86533306962133,
|
| 1547 |
+
"p10": 241.56331911101566,
|
| 1548 |
+
"p90": 250.763406021542,
|
| 1549 |
+
"valid_members": 50,
|
| 1550 |
+
"total_members": 50
|
| 1551 |
+
}
|
| 1552 |
+
},
|
| 1553 |
+
"official_scoring_allowed": false
|
| 1554 |
+
}
|
| 1555 |
+
},
|
| 1556 |
+
{
|
| 1557 |
+
"lead_hours": 72,
|
| 1558 |
+
"valid_time_utc": "2025-11-10T00:00:00Z",
|
| 1559 |
+
"summary": {
|
| 1560 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1561 |
+
"members": 50,
|
| 1562 |
+
"definitions": {
|
| 1563 |
+
"units": "km",
|
| 1564 |
+
"quantity_kind": "radius_not_diameter",
|
| 1565 |
+
"thresholds_kt": [
|
| 1566 |
+
34,
|
| 1567 |
+
50,
|
| 1568 |
+
64
|
| 1569 |
+
],
|
| 1570 |
+
"quadrant_order": [
|
| 1571 |
+
"NE",
|
| 1572 |
+
"SE",
|
| 1573 |
+
"SW",
|
| 1574 |
+
"NW"
|
| 1575 |
+
],
|
| 1576 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1577 |
+
"target_wind_averaging_seconds": 60,
|
| 1578 |
+
"validated_wind_averaging_seconds": null,
|
| 1579 |
+
"validated_surface_height_m": null,
|
| 1580 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1581 |
+
"official_scoring_allowed": false
|
| 1582 |
+
},
|
| 1583 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1584 |
+
"estimates": {
|
| 1585 |
+
"wind_estimate_kt": {
|
| 1586 |
+
"mean": 84.90869448458487,
|
| 1587 |
+
"p10": 84.13079318536259,
|
| 1588 |
+
"p90": 85.6966751788521,
|
| 1589 |
+
"valid_members": 50,
|
| 1590 |
+
"total_members": 50
|
| 1591 |
+
},
|
| 1592 |
+
"rmw_persistence_km": {
|
| 1593 |
+
"mean": 129.64000000000001,
|
| 1594 |
+
"p10": 129.64000000000001,
|
| 1595 |
+
"p90": 129.64000000000001,
|
| 1596 |
+
"valid_members": 50,
|
| 1597 |
+
"total_members": 50
|
| 1598 |
+
},
|
| 1599 |
+
"r34_NE_estimate_km": {
|
| 1600 |
+
"mean": 572.2286034743172,
|
| 1601 |
+
"p10": 565.9723974397982,
|
| 1602 |
+
"p90": 578.5707503898955,
|
| 1603 |
+
"valid_members": 50,
|
| 1604 |
+
"total_members": 50
|
| 1605 |
+
},
|
| 1606 |
+
"r34_SE_estimate_km": {
|
| 1607 |
+
"mean": 429.17145260573795,
|
| 1608 |
+
"p10": 424.47929807984866,
|
| 1609 |
+
"p90": 433.9280627924216,
|
| 1610 |
+
"valid_members": 50,
|
| 1611 |
+
"total_members": 50
|
| 1612 |
+
},
|
| 1613 |
+
"r34_SW_estimate_km": {
|
| 1614 |
+
"mean": 349.6952576787494,
|
| 1615 |
+
"p10": 345.87202065765445,
|
| 1616 |
+
"p90": 353.5710141271583,
|
| 1617 |
+
"valid_members": 50,
|
| 1618 |
+
"total_members": 50
|
| 1619 |
+
},
|
| 1620 |
+
"r34_NW_estimate_km": {
|
| 1621 |
+
"mean": 572.2286034743172,
|
| 1622 |
+
"p10": 565.9723974397982,
|
| 1623 |
+
"p90": 578.5707503898955,
|
| 1624 |
+
"valid_members": 50,
|
| 1625 |
+
"total_members": 50
|
| 1626 |
+
},
|
| 1627 |
+
"r50_NE_estimate_km": {
|
| 1628 |
+
"mean": 361.0911224448879,
|
| 1629 |
+
"p10": 357.1432938226643,
|
| 1630 |
+
"p90": 365.09318199687834,
|
| 1631 |
+
"valid_members": 50,
|
| 1632 |
+
"total_members": 50
|
| 1633 |
+
},
|
| 1634 |
+
"r50_SE_estimate_km": {
|
| 1635 |
+
"mean": 270.8183418336659,
|
| 1636 |
+
"p10": 267.8574703669982,
|
| 1637 |
+
"p90": 273.81988649765873,
|
| 1638 |
+
"valid_members": 50,
|
| 1639 |
+
"total_members": 50
|
| 1640 |
+
},
|
| 1641 |
+
"r50_SW_estimate_km": {
|
| 1642 |
+
"mean": 220.66679704965372,
|
| 1643 |
+
"p10": 218.25423511385037,
|
| 1644 |
+
"p90": 223.1125001092034,
|
| 1645 |
+
"valid_members": 50,
|
| 1646 |
+
"total_members": 50
|
| 1647 |
+
},
|
| 1648 |
+
"r50_NW_estimate_km": {
|
| 1649 |
+
"mean": 361.0911224448879,
|
| 1650 |
+
"p10": 357.1432938226643,
|
| 1651 |
+
"p90": 365.09318199687834,
|
| 1652 |
+
"valid_members": 50,
|
| 1653 |
+
"total_members": 50
|
| 1654 |
+
},
|
| 1655 |
+
"r64_NE_estimate_km": {
|
| 1656 |
+
"mean": 230.88991600652946,
|
| 1657 |
+
"p10": 226.5803458325688,
|
| 1658 |
+
"p90": 235.27342242409208,
|
| 1659 |
+
"valid_members": 50,
|
| 1660 |
+
"total_members": 50
|
| 1661 |
+
},
|
| 1662 |
+
"r64_SE_estimate_km": {
|
| 1663 |
+
"mean": 193.66140892154752,
|
| 1664 |
+
"p10": 191.1446236418278,
|
| 1665 |
+
"p90": 196.21505649854913,
|
| 1666 |
+
"valid_members": 50,
|
| 1667 |
+
"total_members": 50
|
| 1668 |
+
},
|
| 1669 |
+
"r64_SW_estimate_km": {
|
| 1670 |
+
"mean": 170.87862105697408,
|
| 1671 |
+
"p10": 169.3490268645973,
|
| 1672 |
+
"p90": 172.42789301737835,
|
| 1673 |
+
"valid_members": 50,
|
| 1674 |
+
"total_members": 50
|
| 1675 |
+
},
|
| 1676 |
+
"r64_NW_estimate_km": {
|
| 1677 |
+
"mean": 230.88991600652946,
|
| 1678 |
+
"p10": 226.5803458325688,
|
| 1679 |
+
"p90": 235.27342242409208,
|
| 1680 |
+
"valid_members": 50,
|
| 1681 |
+
"total_members": 50
|
| 1682 |
+
}
|
| 1683 |
+
},
|
| 1684 |
+
"official_scoring_allowed": false
|
| 1685 |
+
}
|
| 1686 |
+
},
|
| 1687 |
+
{
|
| 1688 |
+
"lead_hours": 78,
|
| 1689 |
+
"valid_time_utc": "2025-11-10T06:00:00Z",
|
| 1690 |
+
"summary": {
|
| 1691 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1692 |
+
"members": 50,
|
| 1693 |
+
"definitions": {
|
| 1694 |
+
"units": "km",
|
| 1695 |
+
"quantity_kind": "radius_not_diameter",
|
| 1696 |
+
"thresholds_kt": [
|
| 1697 |
+
34,
|
| 1698 |
+
50,
|
| 1699 |
+
64
|
| 1700 |
+
],
|
| 1701 |
+
"quadrant_order": [
|
| 1702 |
+
"NE",
|
| 1703 |
+
"SE",
|
| 1704 |
+
"SW",
|
| 1705 |
+
"NW"
|
| 1706 |
+
],
|
| 1707 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1708 |
+
"target_wind_averaging_seconds": 60,
|
| 1709 |
+
"validated_wind_averaging_seconds": null,
|
| 1710 |
+
"validated_surface_height_m": null,
|
| 1711 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1712 |
+
"official_scoring_allowed": false
|
| 1713 |
+
},
|
| 1714 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1715 |
+
"estimates": {
|
| 1716 |
+
"wind_estimate_kt": {
|
| 1717 |
+
"mean": 80.16757894365486,
|
| 1718 |
+
"p10": 78.31183823649297,
|
| 1719 |
+
"p90": 82.47491296711937,
|
| 1720 |
+
"valid_members": 50,
|
| 1721 |
+
"total_members": 50
|
| 1722 |
+
},
|
| 1723 |
+
"rmw_persistence_km": {
|
| 1724 |
+
"mean": 129.64000000000001,
|
| 1725 |
+
"p10": 129.64000000000001,
|
| 1726 |
+
"p90": 129.64000000000001,
|
| 1727 |
+
"valid_members": 50,
|
| 1728 |
+
"total_members": 50
|
| 1729 |
+
},
|
| 1730 |
+
"r34_NE_estimate_km": {
|
| 1731 |
+
"mean": 534.314170232212,
|
| 1732 |
+
"p10": 519.558929327634,
|
| 1733 |
+
"p90": 552.6993384057706,
|
| 1734 |
+
"valid_members": 50,
|
| 1735 |
+
"total_members": 50
|
| 1736 |
+
},
|
| 1737 |
+
"r34_SE_estimate_km": {
|
| 1738 |
+
"mean": 400.7356276741589,
|
| 1739 |
+
"p10": 389.66919699572543,
|
| 1740 |
+
"p90": 414.52450380432794,
|
| 1741 |
+
"valid_members": 50,
|
| 1742 |
+
"total_members": 50
|
| 1743 |
+
},
|
| 1744 |
+
"r34_SW_estimate_km": {
|
| 1745 |
+
"mean": 326.52532625301836,
|
| 1746 |
+
"p10": 317.50823458910963,
|
| 1747 |
+
"p90": 337.76070680352643,
|
| 1748 |
+
"valid_members": 50,
|
| 1749 |
+
"total_members": 50
|
| 1750 |
+
},
|
| 1751 |
+
"r34_NW_estimate_km": {
|
| 1752 |
+
"mean": 534.314170232212,
|
| 1753 |
+
"p10": 519.558929327634,
|
| 1754 |
+
"p90": 552.6993384057706,
|
| 1755 |
+
"valid_members": 50,
|
| 1756 |
+
"total_members": 50
|
| 1757 |
+
},
|
| 1758 |
+
"r50_NE_estimate_km": {
|
| 1759 |
+
"mean": 336.07384294405847,
|
| 1760 |
+
"p10": 324.00152273783283,
|
| 1761 |
+
"p90": 348.76764857219155,
|
| 1762 |
+
"valid_members": 50,
|
| 1763 |
+
"total_members": 50
|
| 1764 |
+
},
|
| 1765 |
+
"r50_SE_estimate_km": {
|
| 1766 |
+
"mean": 252.65522054515702,
|
| 1767 |
+
"p10": 245.117949407615,
|
| 1768 |
+
"p90": 261.57573642914366,
|
| 1769 |
+
"valid_members": 50,
|
| 1770 |
+
"total_members": 50
|
| 1771 |
+
},
|
| 1772 |
+
"r50_SW_estimate_km": {
|
| 1773 |
+
"mean": 206.21816064711584,
|
| 1774 |
+
"p10": 200.96273568868332,
|
| 1775 |
+
"p90": 213.1357852385615,
|
| 1776 |
+
"valid_members": 50,
|
| 1777 |
+
"total_members": 50
|
| 1778 |
+
},
|
| 1779 |
+
"r50_NW_estimate_km": {
|
| 1780 |
+
"mean": 336.07384294405847,
|
| 1781 |
+
"p10": 324.00152273783283,
|
| 1782 |
+
"p90": 348.76764857219155,
|
| 1783 |
+
"valid_members": 50,
|
| 1784 |
+
"total_members": 50
|
| 1785 |
+
},
|
| 1786 |
+
"r64_NE_estimate_km": {
|
| 1787 |
+
"mean": 205.40739879709938,
|
| 1788 |
+
"p10": 195.73760157688923,
|
| 1789 |
+
"p90": 217.56924063208982,
|
| 1790 |
+
"valid_members": 50,
|
| 1791 |
+
"total_members": 50
|
| 1792 |
+
},
|
| 1793 |
+
"r64_SE_estimate_km": {
|
| 1794 |
+
"mean": 178.50909258406085,
|
| 1795 |
+
"p10": 172.6516610926273,
|
| 1796 |
+
"p90": 185.82570954618234,
|
| 1797 |
+
"valid_members": 50,
|
| 1798 |
+
"total_members": 50
|
| 1799 |
+
},
|
| 1800 |
+
"r64_SW_estimate_km": {
|
| 1801 |
+
"mean": 161.54983929961972,
|
| 1802 |
+
"p10": 157.8959328944288,
|
| 1803 |
+
"p90": 166.0917697463952,
|
| 1804 |
+
"valid_members": 50,
|
| 1805 |
+
"total_members": 50
|
| 1806 |
+
},
|
| 1807 |
+
"r64_NW_estimate_km": {
|
| 1808 |
+
"mean": 205.40739879709938,
|
| 1809 |
+
"p10": 195.73760157688923,
|
| 1810 |
+
"p90": 217.56924063208982,
|
| 1811 |
+
"valid_members": 50,
|
| 1812 |
+
"total_members": 50
|
| 1813 |
+
}
|
| 1814 |
+
},
|
| 1815 |
+
"official_scoring_allowed": false
|
| 1816 |
+
}
|
| 1817 |
+
},
|
| 1818 |
+
{
|
| 1819 |
+
"lead_hours": 84,
|
| 1820 |
+
"valid_time_utc": "2025-11-10T12:00:00Z",
|
| 1821 |
+
"summary": {
|
| 1822 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1823 |
+
"members": 50,
|
| 1824 |
+
"definitions": {
|
| 1825 |
+
"units": "km",
|
| 1826 |
+
"quantity_kind": "radius_not_diameter",
|
| 1827 |
+
"thresholds_kt": [
|
| 1828 |
+
34,
|
| 1829 |
+
50,
|
| 1830 |
+
64
|
| 1831 |
+
],
|
| 1832 |
+
"quadrant_order": [
|
| 1833 |
+
"NE",
|
| 1834 |
+
"SE",
|
| 1835 |
+
"SW",
|
| 1836 |
+
"NW"
|
| 1837 |
+
],
|
| 1838 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1839 |
+
"target_wind_averaging_seconds": 60,
|
| 1840 |
+
"validated_wind_averaging_seconds": null,
|
| 1841 |
+
"validated_surface_height_m": null,
|
| 1842 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1843 |
+
"official_scoring_allowed": false
|
| 1844 |
+
},
|
| 1845 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1846 |
+
"estimates": {
|
| 1847 |
+
"wind_estimate_kt": {
|
| 1848 |
+
"mean": 75.26151588941809,
|
| 1849 |
+
"p10": 74.22229787608822,
|
| 1850 |
+
"p90": 76.62962626947994,
|
| 1851 |
+
"valid_members": 50,
|
| 1852 |
+
"total_members": 50
|
| 1853 |
+
},
|
| 1854 |
+
"rmw_persistence_km": {
|
| 1855 |
+
"mean": 129.64000000000001,
|
| 1856 |
+
"p10": 129.64000000000001,
|
| 1857 |
+
"p90": 129.64000000000001,
|
| 1858 |
+
"valid_members": 50,
|
| 1859 |
+
"total_members": 50
|
| 1860 |
+
},
|
| 1861 |
+
"r34_NE_estimate_km": {
|
| 1862 |
+
"mean": 495.4993108616473,
|
| 1863 |
+
"p10": 487.3347082414546,
|
| 1864 |
+
"p90": 506.26315804971966,
|
| 1865 |
+
"valid_members": 50,
|
| 1866 |
+
"total_members": 50
|
| 1867 |
+
},
|
| 1868 |
+
"r34_SE_estimate_km": {
|
| 1869 |
+
"mean": 371.6244831462355,
|
| 1870 |
+
"p10": 365.501031181091,
|
| 1871 |
+
"p90": 379.6973685372897,
|
| 1872 |
+
"valid_members": 50,
|
| 1873 |
+
"total_members": 50
|
| 1874 |
+
},
|
| 1875 |
+
"r34_SW_estimate_km": {
|
| 1876 |
+
"mean": 302.80513441545116,
|
| 1877 |
+
"p10": 297.81565503644447,
|
| 1878 |
+
"p90": 309.3830410303842,
|
| 1879 |
+
"valid_members": 50,
|
| 1880 |
+
"total_members": 50
|
| 1881 |
+
},
|
| 1882 |
+
"r34_NW_estimate_km": {
|
| 1883 |
+
"mean": 495.4993108616473,
|
| 1884 |
+
"p10": 487.3347082414546,
|
| 1885 |
+
"p90": 506.26315804971966,
|
| 1886 |
+
"valid_members": 50,
|
| 1887 |
+
"total_members": 50
|
| 1888 |
+
},
|
| 1889 |
+
"r50_NE_estimate_km": {
|
| 1890 |
+
"mean": 298.80244630395333,
|
| 1891 |
+
"p10": 290.39797799665786,
|
| 1892 |
+
"p90": 309.9516373128352,
|
| 1893 |
+
"valid_members": 50,
|
| 1894 |
+
"total_members": 50
|
| 1895 |
+
},
|
| 1896 |
+
"r50_SE_estimate_km": {
|
| 1897 |
+
"mean": 231.6843843159507,
|
| 1898 |
+
"p10": 227.14667081282474,
|
| 1899 |
+
"p90": 237.67662871402922,
|
| 1900 |
+
"valid_members": 50,
|
| 1901 |
+
"total_members": 50
|
| 1902 |
+
},
|
| 1903 |
+
"r50_SW_estimate_km": {
|
| 1904 |
+
"mean": 193.31128000016443,
|
| 1905 |
+
"p10": 190.7032756149062,
|
| 1906 |
+
"p90": 196.74408749538281,
|
| 1907 |
+
"valid_members": 50,
|
| 1908 |
+
"total_members": 50
|
| 1909 |
+
},
|
| 1910 |
+
"r50_NW_estimate_km": {
|
| 1911 |
+
"mean": 298.80244630395333,
|
| 1912 |
+
"p10": 290.39797799665786,
|
| 1913 |
+
"p90": 309.9516373128352,
|
| 1914 |
+
"valid_members": 50,
|
| 1915 |
+
"total_members": 50
|
| 1916 |
+
},
|
| 1917 |
+
"r64_NE_estimate_km": {
|
| 1918 |
+
"mean": 180.51419539829735,
|
| 1919 |
+
"p10": 175.43684127014987,
|
| 1920 |
+
"p90": 187.24970666738162,
|
| 1921 |
+
"valid_members": 50,
|
| 1922 |
+
"total_members": 50
|
| 1923 |
+
},
|
| 1924 |
+
"r64_SE_estimate_km": {
|
| 1925 |
+
"mean": 163.18957423576117,
|
| 1926 |
+
"p10": 159.99338327638623,
|
| 1927 |
+
"p90": 167.4102808445653,
|
| 1928 |
+
"valid_members": 50,
|
| 1929 |
+
"total_members": 50
|
| 1930 |
+
},
|
| 1931 |
+
"r64_SW_estimate_km": {
|
| 1932 |
+
"mean": 151.88420276048683,
|
| 1933 |
+
"p10": 149.83510005499298,
|
| 1934 |
+
"p90": 154.58135126439723,
|
| 1935 |
+
"valid_members": 50,
|
| 1936 |
+
"total_members": 50
|
| 1937 |
+
},
|
| 1938 |
+
"r64_NW_estimate_km": {
|
| 1939 |
+
"mean": 180.51419539829735,
|
| 1940 |
+
"p10": 175.43684127014987,
|
| 1941 |
+
"p90": 187.24970666738162,
|
| 1942 |
+
"valid_members": 50,
|
| 1943 |
+
"total_members": 50
|
| 1944 |
+
}
|
| 1945 |
+
},
|
| 1946 |
+
"official_scoring_allowed": false
|
| 1947 |
+
}
|
| 1948 |
+
},
|
| 1949 |
+
{
|
| 1950 |
+
"lead_hours": 90,
|
| 1951 |
+
"valid_time_utc": "2025-11-10T18:00:00Z",
|
| 1952 |
+
"summary": {
|
| 1953 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1954 |
+
"members": 50,
|
| 1955 |
+
"definitions": {
|
| 1956 |
+
"units": "km",
|
| 1957 |
+
"quantity_kind": "radius_not_diameter",
|
| 1958 |
+
"thresholds_kt": [
|
| 1959 |
+
34,
|
| 1960 |
+
50,
|
| 1961 |
+
64
|
| 1962 |
+
],
|
| 1963 |
+
"quadrant_order": [
|
| 1964 |
+
"NE",
|
| 1965 |
+
"SE",
|
| 1966 |
+
"SW",
|
| 1967 |
+
"NW"
|
| 1968 |
+
],
|
| 1969 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1970 |
+
"target_wind_averaging_seconds": 60,
|
| 1971 |
+
"validated_wind_averaging_seconds": null,
|
| 1972 |
+
"validated_surface_height_m": null,
|
| 1973 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1974 |
+
"official_scoring_allowed": false
|
| 1975 |
+
},
|
| 1976 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1977 |
+
"estimates": {
|
| 1978 |
+
"wind_estimate_kt": {
|
| 1979 |
+
"mean": 68.74172724462285,
|
| 1980 |
+
"p10": 67.97198027533359,
|
| 1981 |
+
"p90": 69.63705131406948,
|
| 1982 |
+
"valid_members": 50,
|
| 1983 |
+
"total_members": 50
|
| 1984 |
+
},
|
| 1985 |
+
"rmw_persistence_km": {
|
| 1986 |
+
"mean": 129.64000000000001,
|
| 1987 |
+
"p10": 129.64000000000001,
|
| 1988 |
+
"p90": 129.64000000000001,
|
| 1989 |
+
"valid_members": 50,
|
| 1990 |
+
"total_members": 50
|
| 1991 |
+
},
|
| 1992 |
+
"r34_NE_estimate_km": {
|
| 1993 |
+
"mean": 444.69390784206547,
|
| 1994 |
+
"p10": 438.7513350626871,
|
| 1995 |
+
"p90": 451.61244559992406,
|
| 1996 |
+
"valid_members": 50,
|
| 1997 |
+
"total_members": 50
|
| 1998 |
+
},
|
| 1999 |
+
"r34_SE_estimate_km": {
|
| 2000 |
+
"mean": 333.5204308815491,
|
| 2001 |
+
"p10": 329.0635012970153,
|
| 2002 |
+
"p90": 338.709334199943,
|
| 2003 |
+
"valid_members": 50,
|
| 2004 |
+
"total_members": 50
|
| 2005 |
+
},
|
| 2006 |
+
"r34_SW_estimate_km": {
|
| 2007 |
+
"mean": 271.75738812570665,
|
| 2008 |
+
"p10": 268.1258158716421,
|
| 2009 |
+
"p90": 275.9853834221758,
|
| 2010 |
+
"valid_members": 50,
|
| 2011 |
+
"total_members": 50
|
| 2012 |
+
},
|
| 2013 |
+
"r34_NW_estimate_km": {
|
| 2014 |
+
"mean": 444.69390784206547,
|
| 2015 |
+
"p10": 438.7513350626871,
|
| 2016 |
+
"p90": 451.61244559992406,
|
| 2017 |
+
"valid_members": 50,
|
| 2018 |
+
"total_members": 50
|
| 2019 |
+
},
|
| 2020 |
+
"r50_NE_estimate_km": {
|
| 2021 |
+
"mean": 248.32622311904169,
|
| 2022 |
+
"p10": 242.660014881888,
|
| 2023 |
+
"p90": 254.95014276927967,
|
| 2024 |
+
"valid_members": 50,
|
| 2025 |
+
"total_members": 50
|
| 2026 |
+
},
|
| 2027 |
+
"r50_SE_estimate_km": {
|
| 2028 |
+
"mean": 203.71472760344247,
|
| 2029 |
+
"p10": 200.47866920717067,
|
| 2030 |
+
"p90": 207.48637538783845,
|
| 2031 |
+
"valid_members": 50,
|
| 2032 |
+
"total_members": 50
|
| 2033 |
+
},
|
| 2034 |
+
"r50_SW_estimate_km": {
|
| 2035 |
+
"mean": 176.93341093147725,
|
| 2036 |
+
"p10": 174.99765069405996,
|
| 2037 |
+
"p90": 179.18472188416888,
|
| 2038 |
+
"valid_members": 50,
|
| 2039 |
+
"total_members": 50
|
| 2040 |
+
},
|
| 2041 |
+
"r50_NW_estimate_km": {
|
| 2042 |
+
"mean": 248.32622311904169,
|
| 2043 |
+
"p10": 242.660014881888,
|
| 2044 |
+
"p90": 254.95014276927967,
|
| 2045 |
+
"valid_members": 50,
|
| 2046 |
+
"total_members": 50
|
| 2047 |
+
},
|
| 2048 |
+
"r64_NE_estimate_km": {
|
| 2049 |
+
"mean": 150.0202187669934,
|
| 2050 |
+
"p10": 146.597117538938,
|
| 2051 |
+
"p90": 154.02189793942352,
|
| 2052 |
+
"valid_members": 50,
|
| 2053 |
+
"total_members": 50
|
| 2054 |
+
},
|
| 2055 |
+
"r64_SE_estimate_km": {
|
| 2056 |
+
"mean": 143.4888232166068,
|
| 2057 |
+
"p10": 141.20946807815477,
|
| 2058 |
+
"p90": 146.14542693169997,
|
| 2059 |
+
"valid_members": 50,
|
| 2060 |
+
"total_members": 50
|
| 2061 |
+
},
|
| 2062 |
+
"r64_SW_estimate_km": {
|
| 2063 |
+
"mean": 139.01615084747334,
|
| 2064 |
+
"p10": 137.4952287347269,
|
| 2065 |
+
"p90": 140.78500039011368,
|
| 2066 |
+
"valid_members": 50,
|
| 2067 |
+
"total_members": 50
|
| 2068 |
+
},
|
| 2069 |
+
"r64_NW_estimate_km": {
|
| 2070 |
+
"mean": 150.0202187669934,
|
| 2071 |
+
"p10": 146.597117538938,
|
| 2072 |
+
"p90": 154.02189793942352,
|
| 2073 |
+
"valid_members": 50,
|
| 2074 |
+
"total_members": 50
|
| 2075 |
+
}
|
| 2076 |
+
},
|
| 2077 |
+
"official_scoring_allowed": false
|
| 2078 |
+
}
|
| 2079 |
+
},
|
| 2080 |
+
{
|
| 2081 |
+
"lead_hours": 96,
|
| 2082 |
+
"valid_time_utc": "2025-11-11T00:00:00Z",
|
| 2083 |
+
"summary": {
|
| 2084 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2085 |
+
"members": 50,
|
| 2086 |
+
"definitions": {
|
| 2087 |
+
"units": "km",
|
| 2088 |
+
"quantity_kind": "radius_not_diameter",
|
| 2089 |
+
"thresholds_kt": [
|
| 2090 |
+
34,
|
| 2091 |
+
50,
|
| 2092 |
+
64
|
| 2093 |
+
],
|
| 2094 |
+
"quadrant_order": [
|
| 2095 |
+
"NE",
|
| 2096 |
+
"SE",
|
| 2097 |
+
"SW",
|
| 2098 |
+
"NW"
|
| 2099 |
+
],
|
| 2100 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2101 |
+
"target_wind_averaging_seconds": 60,
|
| 2102 |
+
"validated_wind_averaging_seconds": null,
|
| 2103 |
+
"validated_surface_height_m": null,
|
| 2104 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2105 |
+
"official_scoring_allowed": false
|
| 2106 |
+
},
|
| 2107 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2108 |
+
"estimates": {
|
| 2109 |
+
"wind_estimate_kt": {
|
| 2110 |
+
"mean": 67.23888608368719,
|
| 2111 |
+
"p10": 66.57343635184192,
|
| 2112 |
+
"p90": 67.84967722430757,
|
| 2113 |
+
"valid_members": 50,
|
| 2114 |
+
"total_members": 50
|
| 2115 |
+
},
|
| 2116 |
+
"rmw_persistence_km": {
|
| 2117 |
+
"mean": 129.64000000000001,
|
| 2118 |
+
"p10": 129.64000000000001,
|
| 2119 |
+
"p90": 129.64000000000001,
|
| 2120 |
+
"valid_members": 50,
|
| 2121 |
+
"total_members": 50
|
| 2122 |
+
},
|
| 2123 |
+
"r34_NE_estimate_km": {
|
| 2124 |
+
"mean": 433.11048607117766,
|
| 2125 |
+
"p10": 427.9958410394541,
|
| 2126 |
+
"p90": 437.80900000451095,
|
| 2127 |
+
"valid_members": 50,
|
| 2128 |
+
"total_members": 50
|
| 2129 |
+
},
|
| 2130 |
+
"r34_SE_estimate_km": {
|
| 2131 |
+
"mean": 324.8328645533833,
|
| 2132 |
+
"p10": 320.99688077959064,
|
| 2133 |
+
"p90": 328.3567500033832,
|
| 2134 |
+
"valid_members": 50,
|
| 2135 |
+
"total_members": 50
|
| 2136 |
+
},
|
| 2137 |
+
"r34_SW_estimate_km": {
|
| 2138 |
+
"mean": 264.67863037683077,
|
| 2139 |
+
"p10": 261.55301396855526,
|
| 2140 |
+
"p90": 267.54994444720114,
|
| 2141 |
+
"valid_members": 50,
|
| 2142 |
+
"total_members": 50
|
| 2143 |
+
},
|
| 2144 |
+
"r34_NW_estimate_km": {
|
| 2145 |
+
"mean": 433.11048607117766,
|
| 2146 |
+
"p10": 427.9958410394541,
|
| 2147 |
+
"p90": 437.80900000451095,
|
| 2148 |
+
"valid_members": 50,
|
| 2149 |
+
"total_members": 50
|
| 2150 |
+
},
|
| 2151 |
+
"r50_NE_estimate_km": {
|
| 2152 |
+
"mean": 237.3590644104423,
|
| 2153 |
+
"p10": 232.57601793171716,
|
| 2154 |
+
"p90": 241.76925570791533,
|
| 2155 |
+
"valid_members": 50,
|
| 2156 |
+
"total_members": 50
|
| 2157 |
+
},
|
| 2158 |
+
"r50_SE_estimate_km": {
|
| 2159 |
+
"mean": 197.4187798308213,
|
| 2160 |
+
"p10": 194.64793614148442,
|
| 2161 |
+
"p90": 199.96669765196532,
|
| 2162 |
+
"valid_members": 50,
|
| 2163 |
+
"total_members": 50
|
| 2164 |
+
},
|
| 2165 |
+
"r50_SW_estimate_km": {
|
| 2166 |
+
"mean": 173.15333859024082,
|
| 2167 |
+
"p10": 171.47898427487976,
|
| 2168 |
+
"p90": 174.69001078135818,
|
| 2169 |
+
"valid_members": 50,
|
| 2170 |
+
"total_members": 50
|
| 2171 |
+
},
|
| 2172 |
+
"r50_NW_estimate_km": {
|
| 2173 |
+
"mean": 237.3590644104423,
|
| 2174 |
+
"p10": 232.57601793171716,
|
| 2175 |
+
"p90": 241.76925570791533,
|
| 2176 |
+
"valid_members": 50,
|
| 2177 |
+
"total_members": 50
|
| 2178 |
+
},
|
| 2179 |
+
"r64_NE_estimate_km": {
|
| 2180 |
+
"mean": 143.39467786337445,
|
| 2181 |
+
"p10": 140.50511722777827,
|
| 2182 |
+
"p90": 146.0589871535538,
|
| 2183 |
+
"valid_members": 50,
|
| 2184 |
+
"total_members": 50
|
| 2185 |
+
},
|
| 2186 |
+
"r64_SE_estimate_km": {
|
| 2187 |
+
"mean": 139.05419962530118,
|
| 2188 |
+
"p10": 137.1025238433024,
|
| 2189 |
+
"p90": 140.84885499513902,
|
| 2190 |
+
"valid_members": 50,
|
| 2191 |
+
"total_members": 50
|
| 2192 |
+
},
|
| 2193 |
+
"r64_SW_estimate_km": {
|
| 2194 |
+
"mean": 136.04615719823997,
|
| 2195 |
+
"p10": 134.73062108298083,
|
| 2196 |
+
"p90": 137.2535168031833,
|
| 2197 |
+
"valid_members": 50,
|
| 2198 |
+
"total_members": 50
|
| 2199 |
+
},
|
| 2200 |
+
"r64_NW_estimate_km": {
|
| 2201 |
+
"mean": 143.39467786337445,
|
| 2202 |
+
"p10": 140.50511722777827,
|
| 2203 |
+
"p90": 146.0589871535538,
|
| 2204 |
+
"valid_members": 50,
|
| 2205 |
+
"total_members": 50
|
| 2206 |
+
}
|
| 2207 |
+
},
|
| 2208 |
+
"official_scoring_allowed": false
|
| 2209 |
+
}
|
| 2210 |
+
},
|
| 2211 |
+
{
|
| 2212 |
+
"lead_hours": 102,
|
| 2213 |
+
"valid_time_utc": "2025-11-11T06:00:00Z",
|
| 2214 |
+
"summary": {
|
| 2215 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2216 |
+
"members": 50,
|
| 2217 |
+
"definitions": {
|
| 2218 |
+
"units": "km",
|
| 2219 |
+
"quantity_kind": "radius_not_diameter",
|
| 2220 |
+
"thresholds_kt": [
|
| 2221 |
+
34,
|
| 2222 |
+
50,
|
| 2223 |
+
64
|
| 2224 |
+
],
|
| 2225 |
+
"quadrant_order": [
|
| 2226 |
+
"NE",
|
| 2227 |
+
"SE",
|
| 2228 |
+
"SW",
|
| 2229 |
+
"NW"
|
| 2230 |
+
],
|
| 2231 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2232 |
+
"target_wind_averaging_seconds": 60,
|
| 2233 |
+
"validated_wind_averaging_seconds": null,
|
| 2234 |
+
"validated_surface_height_m": null,
|
| 2235 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2236 |
+
"official_scoring_allowed": false
|
| 2237 |
+
},
|
| 2238 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2239 |
+
"estimates": {
|
| 2240 |
+
"wind_estimate_kt": {
|
| 2241 |
+
"mean": 65.98444280978514,
|
| 2242 |
+
"p10": 65.1163299346196,
|
| 2243 |
+
"p90": 67.00874351506835,
|
| 2244 |
+
"valid_members": 50,
|
| 2245 |
+
"total_members": 50
|
| 2246 |
+
},
|
| 2247 |
+
"rmw_persistence_km": {
|
| 2248 |
+
"mean": 129.64000000000001,
|
| 2249 |
+
"p10": 129.64000000000001,
|
| 2250 |
+
"p90": 129.64000000000001,
|
| 2251 |
+
"valid_members": 50,
|
| 2252 |
+
"total_members": 50
|
| 2253 |
+
},
|
| 2254 |
+
"r34_NE_estimate_km": {
|
| 2255 |
+
"mean": 423.4843832348685,
|
| 2256 |
+
"p10": 416.8365143216428,
|
| 2257 |
+
"p90": 431.33890785000506,
|
| 2258 |
+
"valid_members": 50,
|
| 2259 |
+
"total_members": 50
|
| 2260 |
+
},
|
| 2261 |
+
"r34_SE_estimate_km": {
|
| 2262 |
+
"mean": 317.6132874261514,
|
| 2263 |
+
"p10": 312.6273857412321,
|
| 2264 |
+
"p90": 323.5041808875038,
|
| 2265 |
+
"valid_members": 50,
|
| 2266 |
+
"total_members": 50
|
| 2267 |
+
},
|
| 2268 |
+
"r34_SW_estimate_km": {
|
| 2269 |
+
"mean": 258.7960119768641,
|
| 2270 |
+
"p10": 254.7334254187817,
|
| 2271 |
+
"p90": 263.59599924166974,
|
| 2272 |
+
"valid_members": 50,
|
| 2273 |
+
"total_members": 50
|
| 2274 |
+
},
|
| 2275 |
+
"r34_NW_estimate_km": {
|
| 2276 |
+
"mean": 423.4843832348685,
|
| 2277 |
+
"p10": 416.8365143216428,
|
| 2278 |
+
"p90": 431.33890785000506,
|
| 2279 |
+
"valid_members": 50,
|
| 2280 |
+
"total_members": 50
|
| 2281 |
+
},
|
| 2282 |
+
"r50_NE_estimate_km": {
|
| 2283 |
+
"mean": 228.42007670591818,
|
| 2284 |
+
"p10": 222.30212318763054,
|
| 2285 |
+
"p90": 235.69128161968345,
|
| 2286 |
+
"valid_members": 50,
|
| 2287 |
+
"total_members": 50
|
| 2288 |
+
},
|
| 2289 |
+
"r50_SE_estimate_km": {
|
| 2290 |
+
"mean": 192.21364701441428,
|
| 2291 |
+
"p10": 188.62755024173208,
|
| 2292 |
+
"p90": 196.45732569856628,
|
| 2293 |
+
"valid_members": 50,
|
| 2294 |
+
"total_members": 50
|
| 2295 |
+
},
|
| 2296 |
+
"r50_SW_estimate_km": {
|
| 2297 |
+
"mean": 169.9963983253235,
|
| 2298 |
+
"p10": 167.81116671293665,
|
| 2299 |
+
"p90": 172.57437623414174,
|
| 2300 |
+
"valid_members": 50,
|
| 2301 |
+
"total_members": 50
|
| 2302 |
+
},
|
| 2303 |
+
"r50_NW_estimate_km": {
|
| 2304 |
+
"mean": 228.42007670591818,
|
| 2305 |
+
"p10": 222.30212318763054,
|
| 2306 |
+
"p90": 235.69128161968345,
|
| 2307 |
+
"valid_members": 50,
|
| 2308 |
+
"total_members": 50
|
| 2309 |
+
},
|
| 2310 |
+
"r64_NE_estimate_km": {
|
| 2311 |
+
"mean": 137.99440690469552,
|
| 2312 |
+
"p10": 134.29839480540224,
|
| 2313 |
+
"p90": 142.38712764985738,
|
| 2314 |
+
"valid_members": 50,
|
| 2315 |
+
"total_members": 50
|
| 2316 |
+
},
|
| 2317 |
+
"r64_SE_estimate_km": {
|
| 2318 |
+
"mean": 135.38790415762008,
|
| 2319 |
+
"p10": 132.86199544249413,
|
| 2320 |
+
"p90": 138.3769882933715,
|
| 2321 |
+
"valid_members": 50,
|
| 2322 |
+
"total_members": 50
|
| 2323 |
+
},
|
| 2324 |
+
"r64_SW_estimate_km": {
|
| 2325 |
+
"mean": 133.56575690654964,
|
| 2326 |
+
"p10": 131.84882574094925,
|
| 2327 |
+
"p90": 135.59126788249813,
|
| 2328 |
+
"valid_members": 50,
|
| 2329 |
+
"total_members": 50
|
| 2330 |
+
},
|
| 2331 |
+
"r64_NW_estimate_km": {
|
| 2332 |
+
"mean": 137.99440690469552,
|
| 2333 |
+
"p10": 134.29839480540224,
|
| 2334 |
+
"p90": 142.38712764985738,
|
| 2335 |
+
"valid_members": 50,
|
| 2336 |
+
"total_members": 50
|
| 2337 |
+
}
|
| 2338 |
+
},
|
| 2339 |
+
"official_scoring_allowed": false
|
| 2340 |
+
}
|
| 2341 |
+
},
|
| 2342 |
+
{
|
| 2343 |
+
"lead_hours": 108,
|
| 2344 |
+
"valid_time_utc": "2025-11-11T12:00:00Z",
|
| 2345 |
+
"summary": {
|
| 2346 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2347 |
+
"members": 50,
|
| 2348 |
+
"definitions": {
|
| 2349 |
+
"units": "km",
|
| 2350 |
+
"quantity_kind": "radius_not_diameter",
|
| 2351 |
+
"thresholds_kt": [
|
| 2352 |
+
34,
|
| 2353 |
+
50,
|
| 2354 |
+
64
|
| 2355 |
+
],
|
| 2356 |
+
"quadrant_order": [
|
| 2357 |
+
"NE",
|
| 2358 |
+
"SE",
|
| 2359 |
+
"SW",
|
| 2360 |
+
"NW"
|
| 2361 |
+
],
|
| 2362 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2363 |
+
"target_wind_averaging_seconds": 60,
|
| 2364 |
+
"validated_wind_averaging_seconds": null,
|
| 2365 |
+
"validated_surface_height_m": null,
|
| 2366 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2367 |
+
"official_scoring_allowed": false
|
| 2368 |
+
},
|
| 2369 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2370 |
+
"estimates": {
|
| 2371 |
+
"wind_estimate_kt": {
|
| 2372 |
+
"mean": 63.40748039592663,
|
| 2373 |
+
"p10": 62.64458505448116,
|
| 2374 |
+
"p90": 64.1836530365077,
|
| 2375 |
+
"valid_members": 50,
|
| 2376 |
+
"total_members": 50
|
| 2377 |
+
},
|
| 2378 |
+
"rmw_persistence_km": {
|
| 2379 |
+
"mean": 129.64000000000001,
|
| 2380 |
+
"p10": 129.64000000000001,
|
| 2381 |
+
"p90": 129.64000000000001,
|
| 2382 |
+
"valid_members": 50,
|
| 2383 |
+
"total_members": 50
|
| 2384 |
+
},
|
| 2385 |
+
"r34_NE_estimate_km": {
|
| 2386 |
+
"mean": 403.81558176044217,
|
| 2387 |
+
"p10": 398.01745763907405,
|
| 2388 |
+
"p90": 409.7188555562515,
|
| 2389 |
+
"valid_members": 50,
|
| 2390 |
+
"total_members": 50
|
| 2391 |
+
},
|
| 2392 |
+
"r34_SE_estimate_km": {
|
| 2393 |
+
"mean": 302.8616863203316,
|
| 2394 |
+
"p10": 298.5130932293055,
|
| 2395 |
+
"p90": 307.2891416671887,
|
| 2396 |
+
"valid_members": 50,
|
| 2397 |
+
"total_members": 50
|
| 2398 |
+
},
|
| 2399 |
+
"r34_SW_estimate_km": {
|
| 2400 |
+
"mean": 246.77618885360351,
|
| 2401 |
+
"p10": 243.23289077943414,
|
| 2402 |
+
"p90": 250.38374506215374,
|
| 2403 |
+
"valid_members": 50,
|
| 2404 |
+
"total_members": 50
|
| 2405 |
+
},
|
| 2406 |
+
"r34_NW_estimate_km": {
|
| 2407 |
+
"mean": 403.81558176044217,
|
| 2408 |
+
"p10": 398.01745763907405,
|
| 2409 |
+
"p90": 409.7188555562515,
|
| 2410 |
+
"valid_members": 50,
|
| 2411 |
+
"total_members": 50
|
| 2412 |
+
},
|
| 2413 |
+
"r50_NE_estimate_km": {
|
| 2414 |
+
"mean": 210.57768248188142,
|
| 2415 |
+
"p10": 205.4153570799172,
|
| 2416 |
+
"p90": 215.8501808195275,
|
| 2417 |
+
"valid_members": 50,
|
| 2418 |
+
"total_members": 50
|
| 2419 |
+
},
|
| 2420 |
+
"r50_SE_estimate_km": {
|
| 2421 |
+
"mean": 181.6443260769586,
|
| 2422 |
+
"p10": 178.5440539879459,
|
| 2423 |
+
"p90": 184.80346690354554,
|
| 2424 |
+
"valid_members": 50,
|
| 2425 |
+
"total_members": 50
|
| 2426 |
+
},
|
| 2427 |
+
"r50_SW_estimate_km": {
|
| 2428 |
+
"mean": 163.50706638213052,
|
| 2429 |
+
"p10": 161.58496701427333,
|
| 2430 |
+
"p90": 165.46245094669337,
|
| 2431 |
+
"valid_members": 50,
|
| 2432 |
+
"total_members": 50
|
| 2433 |
+
},
|
| 2434 |
+
"r50_NW_estimate_km": {
|
| 2435 |
+
"mean": 210.57768248188142,
|
| 2436 |
+
"p10": 205.4153570799172,
|
| 2437 |
+
"p90": 215.8501808195275,
|
| 2438 |
+
"valid_members": 50,
|
| 2439 |
+
"total_members": 50
|
| 2440 |
+
},
|
| 2441 |
+
"r64_NE_estimate_km": {
|
| 2442 |
+
"mean": 28.759122663436948,
|
| 2443 |
+
"p10": 0.0,
|
| 2444 |
+
"p90": 130.4006115049617,
|
| 2445 |
+
"valid_members": 50,
|
| 2446 |
+
"total_members": 50
|
| 2447 |
+
},
|
| 2448 |
+
"r64_SE_estimate_km": {
|
| 2449 |
+
"mean": 28.686175908521808,
|
| 2450 |
+
"p10": 0.0,
|
| 2451 |
+
"p90": 130.1684581389627,
|
| 2452 |
+
"valid_members": 50,
|
| 2453 |
+
"total_members": 50
|
| 2454 |
+
},
|
| 2455 |
+
"r64_SW_estimate_km": {
|
| 2456 |
+
"mean": 28.634436170811686,
|
| 2457 |
+
"p10": 0.0,
|
| 2458 |
+
"p90": 130.00344547309027,
|
| 2459 |
+
"valid_members": 50,
|
| 2460 |
+
"total_members": 50
|
| 2461 |
+
},
|
| 2462 |
+
"r64_NW_estimate_km": {
|
| 2463 |
+
"mean": 28.759122663436948,
|
| 2464 |
+
"p10": 0.0,
|
| 2465 |
+
"p90": 130.4006115049617,
|
| 2466 |
+
"valid_members": 50,
|
| 2467 |
+
"total_members": 50
|
| 2468 |
+
}
|
| 2469 |
+
},
|
| 2470 |
+
"official_scoring_allowed": false
|
| 2471 |
+
}
|
| 2472 |
+
},
|
| 2473 |
+
{
|
| 2474 |
+
"lead_hours": 114,
|
| 2475 |
+
"valid_time_utc": "2025-11-11T18:00:00Z",
|
| 2476 |
+
"summary": {
|
| 2477 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2478 |
+
"members": 50,
|
| 2479 |
+
"definitions": {
|
| 2480 |
+
"units": "km",
|
| 2481 |
+
"quantity_kind": "radius_not_diameter",
|
| 2482 |
+
"thresholds_kt": [
|
| 2483 |
+
34,
|
| 2484 |
+
50,
|
| 2485 |
+
64
|
| 2486 |
+
],
|
| 2487 |
+
"quadrant_order": [
|
| 2488 |
+
"NE",
|
| 2489 |
+
"SE",
|
| 2490 |
+
"SW",
|
| 2491 |
+
"NW"
|
| 2492 |
+
],
|
| 2493 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2494 |
+
"target_wind_averaging_seconds": 60,
|
| 2495 |
+
"validated_wind_averaging_seconds": null,
|
| 2496 |
+
"validated_surface_height_m": null,
|
| 2497 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2498 |
+
"official_scoring_allowed": false
|
| 2499 |
+
},
|
| 2500 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2501 |
+
"estimates": {
|
| 2502 |
+
"wind_estimate_kt": {
|
| 2503 |
+
"mean": 59.73267108716112,
|
| 2504 |
+
"p10": 59.01174108362763,
|
| 2505 |
+
"p90": 60.574011441705316,
|
| 2506 |
+
"valid_members": 50,
|
| 2507 |
+
"total_members": 50
|
| 2508 |
+
},
|
| 2509 |
+
"rmw_persistence_km": {
|
| 2510 |
+
"mean": 129.64000000000001,
|
| 2511 |
+
"p10": 129.64000000000001,
|
| 2512 |
+
"p90": 129.64000000000001,
|
| 2513 |
+
"valid_members": 50,
|
| 2514 |
+
"total_members": 50
|
| 2515 |
+
},
|
| 2516 |
+
"r34_NE_estimate_km": {
|
| 2517 |
+
"mean": 376.03627446731474,
|
| 2518 |
+
"p10": 370.6197430728262,
|
| 2519 |
+
"p90": 382.3629551397615,
|
| 2520 |
+
"valid_members": 50,
|
| 2521 |
+
"total_members": 50
|
| 2522 |
+
},
|
| 2523 |
+
"r34_SE_estimate_km": {
|
| 2524 |
+
"mean": 282.02720585048604,
|
| 2525 |
+
"p10": 277.9648073046196,
|
| 2526 |
+
"p90": 286.7722163548211,
|
| 2527 |
+
"valid_members": 50,
|
| 2528 |
+
"total_members": 50
|
| 2529 |
+
},
|
| 2530 |
+
"r34_SW_estimate_km": {
|
| 2531 |
+
"mean": 229.79994550780347,
|
| 2532 |
+
"p10": 226.48984298894933,
|
| 2533 |
+
"p90": 233.66625036318754,
|
| 2534 |
+
"valid_members": 50,
|
| 2535 |
+
"total_members": 50
|
| 2536 |
+
},
|
| 2537 |
+
"r34_NW_estimate_km": {
|
| 2538 |
+
"mean": 376.03627446731474,
|
| 2539 |
+
"p10": 370.6197430728262,
|
| 2540 |
+
"p90": 382.3629551397615,
|
| 2541 |
+
"valid_members": 50,
|
| 2542 |
+
"total_members": 50
|
| 2543 |
+
},
|
| 2544 |
+
"r50_NE_estimate_km": {
|
| 2545 |
+
"mean": 186.4157999798129,
|
| 2546 |
+
"p10": 181.82978521382594,
|
| 2547 |
+
"p90": 191.79273666934725,
|
| 2548 |
+
"valid_members": 50,
|
| 2549 |
+
"total_members": 50
|
| 2550 |
+
},
|
| 2551 |
+
"r50_SE_estimate_km": {
|
| 2552 |
+
"mean": 166.88322587745023,
|
| 2553 |
+
"p10": 164.02554892698654,
|
| 2554 |
+
"p90": 170.22445325280526,
|
| 2555 |
+
"valid_members": 50,
|
| 2556 |
+
"total_members": 50
|
| 2557 |
+
},
|
| 2558 |
+
"r50_SW_estimate_km": {
|
| 2559 |
+
"mean": 154.24253983780523,
|
| 2560 |
+
"p10": 152.42369116519922,
|
| 2561 |
+
"p90": 156.36495613591572,
|
| 2562 |
+
"valid_members": 50,
|
| 2563 |
+
"total_members": 50
|
| 2564 |
+
},
|
| 2565 |
+
"r50_NW_estimate_km": {
|
| 2566 |
+
"mean": 186.4157999798129,
|
| 2567 |
+
"p10": 181.82978521382594,
|
| 2568 |
+
"p90": 191.79273666934725,
|
| 2569 |
+
"valid_members": 50,
|
| 2570 |
+
"total_members": 50
|
| 2571 |
+
},
|
| 2572 |
+
"r64_NE_estimate_km": {
|
| 2573 |
+
"mean": 0.0,
|
| 2574 |
+
"p10": 0.0,
|
| 2575 |
+
"p90": 0.0,
|
| 2576 |
+
"valid_members": 50,
|
| 2577 |
+
"total_members": 50
|
| 2578 |
+
},
|
| 2579 |
+
"r64_SE_estimate_km": {
|
| 2580 |
+
"mean": 0.0,
|
| 2581 |
+
"p10": 0.0,
|
| 2582 |
+
"p90": 0.0,
|
| 2583 |
+
"valid_members": 50,
|
| 2584 |
+
"total_members": 50
|
| 2585 |
+
},
|
| 2586 |
+
"r64_SW_estimate_km": {
|
| 2587 |
+
"mean": 0.0,
|
| 2588 |
+
"p10": 0.0,
|
| 2589 |
+
"p90": 0.0,
|
| 2590 |
+
"valid_members": 50,
|
| 2591 |
+
"total_members": 50
|
| 2592 |
+
},
|
| 2593 |
+
"r64_NW_estimate_km": {
|
| 2594 |
+
"mean": 0.0,
|
| 2595 |
+
"p10": 0.0,
|
| 2596 |
+
"p90": 0.0,
|
| 2597 |
+
"valid_members": 50,
|
| 2598 |
+
"total_members": 50
|
| 2599 |
+
}
|
| 2600 |
+
},
|
| 2601 |
+
"official_scoring_allowed": false
|
| 2602 |
+
}
|
| 2603 |
+
},
|
| 2604 |
+
{
|
| 2605 |
+
"lead_hours": 120,
|
| 2606 |
+
"valid_time_utc": "2025-11-12T00:00:00Z",
|
| 2607 |
+
"summary": {
|
| 2608 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2609 |
+
"members": 50,
|
| 2610 |
+
"definitions": {
|
| 2611 |
+
"units": "km",
|
| 2612 |
+
"quantity_kind": "radius_not_diameter",
|
| 2613 |
+
"thresholds_kt": [
|
| 2614 |
+
34,
|
| 2615 |
+
50,
|
| 2616 |
+
64
|
| 2617 |
+
],
|
| 2618 |
+
"quadrant_order": [
|
| 2619 |
+
"NE",
|
| 2620 |
+
"SE",
|
| 2621 |
+
"SW",
|
| 2622 |
+
"NW"
|
| 2623 |
+
],
|
| 2624 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2625 |
+
"target_wind_averaging_seconds": 60,
|
| 2626 |
+
"validated_wind_averaging_seconds": null,
|
| 2627 |
+
"validated_surface_height_m": null,
|
| 2628 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2629 |
+
"official_scoring_allowed": false
|
| 2630 |
+
},
|
| 2631 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2632 |
+
"estimates": {
|
| 2633 |
+
"wind_estimate_kt": {
|
| 2634 |
+
"mean": 57.02301014236325,
|
| 2635 |
+
"p10": 55.856324247617735,
|
| 2636 |
+
"p90": 58.282119630579686,
|
| 2637 |
+
"valid_members": 50,
|
| 2638 |
+
"total_members": 50
|
| 2639 |
+
},
|
| 2640 |
+
"rmw_persistence_km": {
|
| 2641 |
+
"mean": 129.64000000000001,
|
| 2642 |
+
"p10": 129.64000000000001,
|
| 2643 |
+
"p90": 129.64000000000001,
|
| 2644 |
+
"valid_members": 50,
|
| 2645 |
+
"total_members": 50
|
| 2646 |
+
},
|
| 2647 |
+
"r34_NE_estimate_km": {
|
| 2648 |
+
"mean": 355.771255745026,
|
| 2649 |
+
"p10": 347.0858991064369,
|
| 2650 |
+
"p90": 365.1559895455744,
|
| 2651 |
+
"valid_members": 50,
|
| 2652 |
+
"total_members": 50
|
| 2653 |
+
},
|
| 2654 |
+
"r34_SE_estimate_km": {
|
| 2655 |
+
"mean": 266.82844180876947,
|
| 2656 |
+
"p10": 260.3144243298277,
|
| 2657 |
+
"p90": 273.8669921591808,
|
| 2658 |
+
"valid_members": 50,
|
| 2659 |
+
"total_members": 50
|
| 2660 |
+
},
|
| 2661 |
+
"r34_SW_estimate_km": {
|
| 2662 |
+
"mean": 217.41576739973812,
|
| 2663 |
+
"p10": 212.10804945393366,
|
| 2664 |
+
"p90": 223.15088250007324,
|
| 2665 |
+
"valid_members": 50,
|
| 2666 |
+
"total_members": 50
|
| 2667 |
+
},
|
| 2668 |
+
"r34_NW_estimate_km": {
|
| 2669 |
+
"mean": 355.771255745026,
|
| 2670 |
+
"p10": 347.0858991064369,
|
| 2671 |
+
"p90": 365.1559895455744,
|
| 2672 |
+
"valid_members": 50,
|
| 2673 |
+
"total_members": 50
|
| 2674 |
+
},
|
| 2675 |
+
"r50_NE_estimate_km": {
|
| 2676 |
+
"mean": 169.59706117779604,
|
| 2677 |
+
"p10": 162.5330616529634,
|
| 2678 |
+
"p90": 177.27022545832568,
|
| 2679 |
+
"valid_members": 50,
|
| 2680 |
+
"total_members": 50
|
| 2681 |
+
},
|
| 2682 |
+
"r50_SE_estimate_km": {
|
| 2683 |
+
"mean": 156.24867042639428,
|
| 2684 |
+
"p10": 151.71524526138288,
|
| 2685 |
+
"p90": 161.15403982052362,
|
| 2686 |
+
"valid_members": 50,
|
| 2687 |
+
"total_members": 50
|
| 2688 |
+
},
|
| 2689 |
+
"r50_SW_estimate_km": {
|
| 2690 |
+
"mean": 147.40254750153957,
|
| 2691 |
+
"p10": 144.4558776948937,
|
| 2692 |
+
"p90": 150.58219319452962,
|
| 2693 |
+
"valid_members": 50,
|
| 2694 |
+
"total_members": 50
|
| 2695 |
+
},
|
| 2696 |
+
"r50_NW_estimate_km": {
|
| 2697 |
+
"mean": 169.59706117779604,
|
| 2698 |
+
"p10": 162.5330616529634,
|
| 2699 |
+
"p90": 177.27022545832568,
|
| 2700 |
+
"valid_members": 50,
|
| 2701 |
+
"total_members": 50
|
| 2702 |
+
},
|
| 2703 |
+
"r64_NE_estimate_km": {
|
| 2704 |
+
"mean": 0.0,
|
| 2705 |
+
"p10": 0.0,
|
| 2706 |
+
"p90": 0.0,
|
| 2707 |
+
"valid_members": 50,
|
| 2708 |
+
"total_members": 50
|
| 2709 |
+
},
|
| 2710 |
+
"r64_SE_estimate_km": {
|
| 2711 |
+
"mean": 0.0,
|
| 2712 |
+
"p10": 0.0,
|
| 2713 |
+
"p90": 0.0,
|
| 2714 |
+
"valid_members": 50,
|
| 2715 |
+
"total_members": 50
|
| 2716 |
+
},
|
| 2717 |
+
"r64_SW_estimate_km": {
|
| 2718 |
+
"mean": 0.0,
|
| 2719 |
+
"p10": 0.0,
|
| 2720 |
+
"p90": 0.0,
|
| 2721 |
+
"valid_members": 50,
|
| 2722 |
+
"total_members": 50
|
| 2723 |
+
},
|
| 2724 |
+
"r64_NW_estimate_km": {
|
| 2725 |
+
"mean": 0.0,
|
| 2726 |
+
"p10": 0.0,
|
| 2727 |
+
"p90": 0.0,
|
| 2728 |
+
"valid_members": 50,
|
| 2729 |
+
"total_members": 50
|
| 2730 |
+
}
|
| 2731 |
+
},
|
| 2732 |
+
"official_scoring_allowed": false
|
| 2733 |
+
}
|
| 2734 |
+
}
|
| 2735 |
+
],
|
| 2736 |
+
"official_wind_or_radius_skill_score": null,
|
| 2737 |
+
"physical_50_member_means_verified": true,
|
| 2738 |
+
"observed_plus_zero_alignment_verified": true,
|
| 2739 |
+
"coverage": {
|
| 2740 |
+
"wind_estimate_kt": 20,
|
| 2741 |
+
"rmw_persistence_km": 20,
|
| 2742 |
+
"r34_NE_estimate_km": 20,
|
| 2743 |
+
"r34_SE_estimate_km": 20,
|
| 2744 |
+
"r34_SW_estimate_km": 20,
|
| 2745 |
+
"r34_NW_estimate_km": 20,
|
| 2746 |
+
"r50_NE_estimate_km": 20,
|
| 2747 |
+
"r50_SE_estimate_km": 20,
|
| 2748 |
+
"r50_SW_estimate_km": 20,
|
| 2749 |
+
"r50_NW_estimate_km": 20,
|
| 2750 |
+
"r64_NE_estimate_km": 20,
|
| 2751 |
+
"r64_SE_estimate_km": 20,
|
| 2752 |
+
"r64_SW_estimate_km": 20,
|
| 2753 |
+
"r64_NW_estimate_km": 20
|
| 2754 |
+
},
|
| 2755 |
+
"warning": "Retrospective development examples, not untouched tests. RMW is persistence; no validated wind-period calibration.",
|
| 2756 |
+
"chart": "fung_wong_wind_radius.png",
|
| 2757 |
+
"source_receipt_sha256": "a93ff4c922fb44a0fa1a01178fb052a4bd88a67057a04eb8caca2322632e5730",
|
| 2758 |
+
"source_reference": "Original immutable /Volumes/D member archive; original files unchanged."
|
| 2759 |
+
}
|
evaluation/storm_structure/fung_wong_wind_radius.png
ADDED
|
Git LFS Details
|
evaluation/storm_structure/index.json
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"schema": "audited-structure-examples-v1",
|
| 3 |
+
"cases": [
|
| 4 |
+
{
|
| 5 |
+
"slug": "fung_wong",
|
| 6 |
+
"name": "Fung-Wong",
|
| 7 |
+
"storm_id": "2025308N09144",
|
| 8 |
+
"issue_time_utc": "2025-11-07T00:00:00Z",
|
| 9 |
+
"members": 50,
|
| 10 |
+
"image": "fung_wong_wind_radius.png",
|
| 11 |
+
"image_sha256": "928a9cee4083e75e6a6fdea6c93ed036912d14252708c77e2853c25bb8206066",
|
| 12 |
+
"receipt": "fung_wong_structure.json",
|
| 13 |
+
"receipt_sha256": "c396486b37c044d95dfdc2794fbbcaf77923486eea9eb7096e805718d96e34ff",
|
| 14 |
+
"coverage": {
|
| 15 |
+
"wind_estimate_kt": 20,
|
| 16 |
+
"rmw_persistence_km": 20,
|
| 17 |
+
"r34_NE_estimate_km": 20,
|
| 18 |
+
"r34_SE_estimate_km": 20,
|
| 19 |
+
"r34_SW_estimate_km": 20,
|
| 20 |
+
"r34_NW_estimate_km": 20,
|
| 21 |
+
"r50_NE_estimate_km": 20,
|
| 22 |
+
"r50_SE_estimate_km": 20,
|
| 23 |
+
"r50_SW_estimate_km": 20,
|
| 24 |
+
"r50_NW_estimate_km": 20,
|
| 25 |
+
"r64_NE_estimate_km": 20,
|
| 26 |
+
"r64_SE_estimate_km": 20,
|
| 27 |
+
"r64_SW_estimate_km": 20,
|
| 28 |
+
"r64_NW_estimate_km": 20
|
| 29 |
+
},
|
| 30 |
+
"rmw_method": "issue-time persistence, not a future RMW forecast"
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"slug": "soudelor",
|
| 34 |
+
"name": "Soudelor",
|
| 35 |
+
"storm_id": "2015211N13162",
|
| 36 |
+
"issue_time_utc": "2015-08-05T00:00:00Z",
|
| 37 |
+
"members": 50,
|
| 38 |
+
"image": "soudelor_wind_radius.png",
|
| 39 |
+
"image_sha256": "debcd3d202eaa29630b6801426cbef5e0335fdd5fc343878b506aa30ce5d7079",
|
| 40 |
+
"receipt": "soudelor_structure.json",
|
| 41 |
+
"receipt_sha256": "5c5460bc1d890d32180bc3443b6579b31ed78a77b4030c0f9e1a7ee6893a4933",
|
| 42 |
+
"coverage": {
|
| 43 |
+
"wind_estimate_kt": 20,
|
| 44 |
+
"rmw_persistence_km": 20,
|
| 45 |
+
"r34_NE_estimate_km": 20,
|
| 46 |
+
"r34_SE_estimate_km": 20,
|
| 47 |
+
"r34_SW_estimate_km": 20,
|
| 48 |
+
"r34_NW_estimate_km": 20,
|
| 49 |
+
"r50_NE_estimate_km": 20,
|
| 50 |
+
"r50_SE_estimate_km": 20,
|
| 51 |
+
"r50_SW_estimate_km": 20,
|
| 52 |
+
"r50_NW_estimate_km": 20,
|
| 53 |
+
"r64_NE_estimate_km": 20,
|
| 54 |
+
"r64_SE_estimate_km": 20,
|
| 55 |
+
"r64_SW_estimate_km": 20,
|
| 56 |
+
"r64_NW_estimate_km": 20
|
| 57 |
+
},
|
| 58 |
+
"rmw_method": "issue-time persistence, not a future RMW forecast"
|
| 59 |
+
},
|
| 60 |
+
{
|
| 61 |
+
"slug": "mangkhut",
|
| 62 |
+
"name": "Mangkhut",
|
| 63 |
+
"storm_id": "2018250N12170",
|
| 64 |
+
"issue_time_utc": "2018-09-11T00:00:00Z",
|
| 65 |
+
"members": 50,
|
| 66 |
+
"image": "mangkhut_wind_radius.png",
|
| 67 |
+
"image_sha256": "191402447880b4d87d1d13f8a38f3dfbcff4b769852c36c354b6e34419a86805",
|
| 68 |
+
"receipt": "mangkhut_structure.json",
|
| 69 |
+
"receipt_sha256": "2fddc849ace4e3f75f1303e2ea9f9c6f9860024bb0bc25e47098406fb71e019f",
|
| 70 |
+
"coverage": {
|
| 71 |
+
"wind_estimate_kt": 20,
|
| 72 |
+
"rmw_persistence_km": 20,
|
| 73 |
+
"r34_NE_estimate_km": 20,
|
| 74 |
+
"r34_SE_estimate_km": 20,
|
| 75 |
+
"r34_SW_estimate_km": 20,
|
| 76 |
+
"r34_NW_estimate_km": 20,
|
| 77 |
+
"r50_NE_estimate_km": 20,
|
| 78 |
+
"r50_SE_estimate_km": 20,
|
| 79 |
+
"r50_SW_estimate_km": 20,
|
| 80 |
+
"r50_NW_estimate_km": 20,
|
| 81 |
+
"r64_NE_estimate_km": 20,
|
| 82 |
+
"r64_SE_estimate_km": 20,
|
| 83 |
+
"r64_SW_estimate_km": 20,
|
| 84 |
+
"r64_NW_estimate_km": 20
|
| 85 |
+
},
|
| 86 |
+
"rmw_method": "issue-time persistence, not a future RMW forecast"
|
| 87 |
+
},
|
| 88 |
+
{
|
| 89 |
+
"slug": "meranti",
|
| 90 |
+
"name": "Meranti",
|
| 91 |
+
"storm_id": "2016253N13144",
|
| 92 |
+
"issue_time_utc": "2016-09-10T00:00:00Z",
|
| 93 |
+
"members": 50,
|
| 94 |
+
"image": "meranti_wind_radius.png",
|
| 95 |
+
"image_sha256": "416d62f25f01cd3f86e4840b2f0f5bd8e9dbe9964431fe6d87ab15b277457757",
|
| 96 |
+
"receipt": "meranti_structure.json",
|
| 97 |
+
"receipt_sha256": "7d04c28f19c6e98b6c731c2167f1c12afa3c0dccc6b056ecbccc15e44ba3f956",
|
| 98 |
+
"coverage": {
|
| 99 |
+
"wind_estimate_kt": 20,
|
| 100 |
+
"rmw_persistence_km": 20,
|
| 101 |
+
"r34_NE_estimate_km": 20,
|
| 102 |
+
"r34_SE_estimate_km": 20,
|
| 103 |
+
"r34_SW_estimate_km": 20,
|
| 104 |
+
"r34_NW_estimate_km": 20,
|
| 105 |
+
"r50_NE_estimate_km": 20,
|
| 106 |
+
"r50_SE_estimate_km": 20,
|
| 107 |
+
"r50_SW_estimate_km": 20,
|
| 108 |
+
"r50_NW_estimate_km": 20,
|
| 109 |
+
"r64_NE_estimate_km": 20,
|
| 110 |
+
"r64_SE_estimate_km": 20,
|
| 111 |
+
"r64_SW_estimate_km": 20,
|
| 112 |
+
"r64_NW_estimate_km": 20
|
| 113 |
+
},
|
| 114 |
+
"rmw_method": "issue-time persistence, not a future RMW forecast"
|
| 115 |
+
}
|
| 116 |
+
],
|
| 117 |
+
"source_verification_sha256": "be6ed82657475abc57b778c55167be869cbf03e877a861802671851667eb30e9",
|
| 118 |
+
"overview": "four_storm_wind_candidate.png",
|
| 119 |
+
"overview_sha256": "7b12c38d0885b8c2af050e08ae0d6d94c18167de43d075c20764ca3fd2c0c857",
|
| 120 |
+
"experimental": true,
|
| 121 |
+
"native_radius_skill_claim": false,
|
| 122 |
+
"forecast_weights_changed": false,
|
| 123 |
+
"note": "50 actual member pressure diagnostics. Fung-Wong is a separate fresh replay, not the old MP4 output. RMW is persistence; USA and JMA wind periods stay separate; no radius-skill score."
|
| 124 |
+
}
|
evaluation/storm_structure/mangkhut_structure.json
ADDED
|
@@ -0,0 +1,2759 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "frozen Trackformer 1.2 pressure + separate experimental structure candidate",
|
| 3 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 4 |
+
"storm_id": "2018250N12170",
|
| 5 |
+
"issue_time_utc": "2018-09-11T00:00:00Z",
|
| 6 |
+
"actual_members": 50,
|
| 7 |
+
"checkpoint_sha256": "f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0",
|
| 8 |
+
"source_file_sha256": {
|
| 9 |
+
"weather-history.npz": "ae33a5f42b3342a41e6567c8bea6f12f8a1175ef62e2dd845a5efc6a2f73b358",
|
| 10 |
+
"model-inputs.npz": "7a180f3ec9f216b5cb8e9e5e1fdebb60bff779586d42054e10477edd23fdfccd",
|
| 11 |
+
"ensemble-members.npz": "5ba1e2325867bc71c48b9f94b8afa02925261e07c175d9c360a71b8334a9f43d",
|
| 12 |
+
"mangkhut_video.npz": "f06c857dc0e7edaa67a2e7262324fa0a9ebad684ce5a8ffa1610c27717c35b71",
|
| 13 |
+
"mangkhut_video.json": "b800cce1e058f134e1796f4e853819233e2daaaa6c5b221317dbcc088887fb8d",
|
| 14 |
+
"mangkhut_coastlines.json": "2af08a831beff87de1847e3c5e34faf29aabcd3965d81ffc18fedc6f18a4076d"
|
| 15 |
+
},
|
| 16 |
+
"observed_csv_sha256": "4348af2679b4be0d53ec630bccda759044663a1f57e2bbd5c1d19428aab562fc",
|
| 17 |
+
"future_labels_used_for_diagnostics": false,
|
| 18 |
+
"initial": {
|
| 19 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 20 |
+
"storm_id": "2018250N12170",
|
| 21 |
+
"issue_time_utc": "2018-09-11T00:00:00Z",
|
| 22 |
+
"input_wind_kt": 125.0,
|
| 23 |
+
"input_model_pressure_hpa": 935.0,
|
| 24 |
+
"ambient_pressure_hpa": 1010.5,
|
| 25 |
+
"pressure_deficit_hpa": 75.5,
|
| 26 |
+
"rmw_persistence_km": 9.26,
|
| 27 |
+
"native_quadrant_radii_km": {
|
| 28 |
+
"r34_NE": 333.36,
|
| 29 |
+
"r34_SE": 259.28000000000003,
|
| 30 |
+
"r34_SW": 259.28000000000003,
|
| 31 |
+
"r34_NW": 333.36,
|
| 32 |
+
"r50_NE": 190.756,
|
| 33 |
+
"r50_SE": 144.45600000000002,
|
| 34 |
+
"r50_SW": 144.45600000000002,
|
| 35 |
+
"r50_NW": 190.756,
|
| 36 |
+
"r64_NE": 103.712,
|
| 37 |
+
"r64_SE": 77.784,
|
| 38 |
+
"r64_SW": 77.784,
|
| 39 |
+
"r64_NW": 103.712
|
| 40 |
+
},
|
| 41 |
+
"holland_inspired_tail_b": 2.5,
|
| 42 |
+
"source_agency": "jtwc_wp",
|
| 43 |
+
"source_track_type": "main",
|
| 44 |
+
"usa_reference_center": [
|
| 45 |
+
13.9,
|
| 46 |
+
141.2
|
| 47 |
+
],
|
| 48 |
+
"model_origin": [
|
| 49 |
+
14.0,
|
| 50 |
+
141.2
|
| 51 |
+
],
|
| 52 |
+
"definitions": {
|
| 53 |
+
"units": "km",
|
| 54 |
+
"quantity_kind": "radius_not_diameter",
|
| 55 |
+
"thresholds_kt": [
|
| 56 |
+
34,
|
| 57 |
+
50,
|
| 58 |
+
64
|
| 59 |
+
],
|
| 60 |
+
"quadrant_order": [
|
| 61 |
+
"NE",
|
| 62 |
+
"SE",
|
| 63 |
+
"SW",
|
| 64 |
+
"NW"
|
| 65 |
+
],
|
| 66 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 67 |
+
"target_wind_averaging_seconds": 60,
|
| 68 |
+
"validated_wind_averaging_seconds": null,
|
| 69 |
+
"validated_surface_height_m": null,
|
| 70 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 71 |
+
"official_scoring_allowed": false
|
| 72 |
+
},
|
| 73 |
+
"mixed_agency_initialization": "USA 1-minute wind/radii; model TOKYO pressure. No conversion between wind periods.",
|
| 74 |
+
"calibration": "none; initialization is issue assimilation, not future-target fitting"
|
| 75 |
+
},
|
| 76 |
+
"initial_ambient": {
|
| 77 |
+
"cells": 27,
|
| 78 |
+
"candidate_cells": 27,
|
| 79 |
+
"quadrant_cells": {
|
| 80 |
+
"NE": 7,
|
| 81 |
+
"SE": 7,
|
| 82 |
+
"SW": 6,
|
| 83 |
+
"NW": 7
|
| 84 |
+
},
|
| 85 |
+
"annulus_km": [
|
| 86 |
+
600,
|
| 87 |
+
1000
|
| 88 |
+
],
|
| 89 |
+
"statistic": "median_available_physical_cells",
|
| 90 |
+
"value_hpa": 1010.5,
|
| 91 |
+
"status": "available"
|
| 92 |
+
},
|
| 93 |
+
"definitions": {
|
| 94 |
+
"units": "km",
|
| 95 |
+
"quantity_kind": "radius_not_diameter",
|
| 96 |
+
"thresholds_kt": [
|
| 97 |
+
34,
|
| 98 |
+
50,
|
| 99 |
+
64
|
| 100 |
+
],
|
| 101 |
+
"quadrant_order": [
|
| 102 |
+
"NE",
|
| 103 |
+
"SE",
|
| 104 |
+
"SW",
|
| 105 |
+
"NW"
|
| 106 |
+
],
|
| 107 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 108 |
+
"target_wind_averaging_seconds": 60,
|
| 109 |
+
"validated_wind_averaging_seconds": null,
|
| 110 |
+
"validated_surface_height_m": null,
|
| 111 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 112 |
+
"official_scoring_allowed": false
|
| 113 |
+
},
|
| 114 |
+
"points": [
|
| 115 |
+
{
|
| 116 |
+
"lead_hours": 6,
|
| 117 |
+
"valid_time_utc": "2018-09-11T06:00:00Z",
|
| 118 |
+
"summary": {
|
| 119 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 120 |
+
"members": 50,
|
| 121 |
+
"definitions": {
|
| 122 |
+
"units": "km",
|
| 123 |
+
"quantity_kind": "radius_not_diameter",
|
| 124 |
+
"thresholds_kt": [
|
| 125 |
+
34,
|
| 126 |
+
50,
|
| 127 |
+
64
|
| 128 |
+
],
|
| 129 |
+
"quadrant_order": [
|
| 130 |
+
"NE",
|
| 131 |
+
"SE",
|
| 132 |
+
"SW",
|
| 133 |
+
"NW"
|
| 134 |
+
],
|
| 135 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 136 |
+
"target_wind_averaging_seconds": 60,
|
| 137 |
+
"validated_wind_averaging_seconds": null,
|
| 138 |
+
"validated_surface_height_m": null,
|
| 139 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 140 |
+
"official_scoring_allowed": false
|
| 141 |
+
},
|
| 142 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 143 |
+
"estimates": {
|
| 144 |
+
"wind_estimate_kt": {
|
| 145 |
+
"mean": 124.93147449854058,
|
| 146 |
+
"p10": 124.64421904823267,
|
| 147 |
+
"p90": 125.18760498059177,
|
| 148 |
+
"valid_members": 50,
|
| 149 |
+
"total_members": 50
|
| 150 |
+
},
|
| 151 |
+
"rmw_persistence_km": {
|
| 152 |
+
"mean": 9.259999999999998,
|
| 153 |
+
"p10": 9.26,
|
| 154 |
+
"p90": 9.26,
|
| 155 |
+
"valid_members": 50,
|
| 156 |
+
"total_members": 50
|
| 157 |
+
},
|
| 158 |
+
"r34_NE_estimate_km": {
|
| 159 |
+
"mean": 332.99723465971636,
|
| 160 |
+
"p10": 331.98749636900965,
|
| 161 |
+
"p90": 333.76019572775755,
|
| 162 |
+
"valid_members": 50,
|
| 163 |
+
"total_members": 50
|
| 164 |
+
},
|
| 165 |
+
"r34_SE_estimate_km": {
|
| 166 |
+
"mean": 258.97985822232215,
|
| 167 |
+
"p10": 258.16153793139944,
|
| 168 |
+
"p90": 259.5912633438115,
|
| 169 |
+
"valid_members": 50,
|
| 170 |
+
"total_members": 50
|
| 171 |
+
},
|
| 172 |
+
"r34_SW_estimate_km": {
|
| 173 |
+
"mean": 258.97985822232215,
|
| 174 |
+
"p10": 258.16153793139944,
|
| 175 |
+
"p90": 259.5912633438115,
|
| 176 |
+
"valid_members": 50,
|
| 177 |
+
"total_members": 50
|
| 178 |
+
},
|
| 179 |
+
"r34_NW_estimate_km": {
|
| 180 |
+
"mean": 332.99723465971636,
|
| 181 |
+
"p10": 331.98749636900965,
|
| 182 |
+
"p90": 333.76019572775755,
|
| 183 |
+
"valid_members": 50,
|
| 184 |
+
"total_members": 50
|
| 185 |
+
},
|
| 186 |
+
"r50_NE_estimate_km": {
|
| 187 |
+
"mean": 190.4099100496317,
|
| 188 |
+
"p10": 189.41854824243848,
|
| 189 |
+
"p90": 191.1705366706753,
|
| 190 |
+
"valid_members": 50,
|
| 191 |
+
"total_members": 50
|
| 192 |
+
},
|
| 193 |
+
"r50_SE_estimate_km": {
|
| 194 |
+
"mean": 144.1928345597886,
|
| 195 |
+
"p10": 143.42717100740416,
|
| 196 |
+
"p90": 144.78495616397396,
|
| 197 |
+
"valid_members": 50,
|
| 198 |
+
"total_members": 50
|
| 199 |
+
},
|
| 200 |
+
"r50_SW_estimate_km": {
|
| 201 |
+
"mean": 144.1928345597886,
|
| 202 |
+
"p10": 143.42717100740416,
|
| 203 |
+
"p90": 144.78495616397396,
|
| 204 |
+
"valid_members": 50,
|
| 205 |
+
"total_members": 50
|
| 206 |
+
},
|
| 207 |
+
"r50_NW_estimate_km": {
|
| 208 |
+
"mean": 190.4099100496317,
|
| 209 |
+
"p10": 189.41854824243848,
|
| 210 |
+
"p90": 191.1705366706753,
|
| 211 |
+
"valid_members": 50,
|
| 212 |
+
"total_members": 50
|
| 213 |
+
},
|
| 214 |
+
"r64_NE_estimate_km": {
|
| 215 |
+
"mean": 103.45424372408735,
|
| 216 |
+
"p10": 102.65063554307419,
|
| 217 |
+
"p90": 104.09666166615972,
|
| 218 |
+
"valid_members": 50,
|
| 219 |
+
"total_members": 50
|
| 220 |
+
},
|
| 221 |
+
"r64_SE_estimate_km": {
|
| 222 |
+
"mean": 77.62540812134208,
|
| 223 |
+
"p10": 77.08233658009449,
|
| 224 |
+
"p90": 78.07707910569935,
|
| 225 |
+
"valid_members": 50,
|
| 226 |
+
"total_members": 50
|
| 227 |
+
},
|
| 228 |
+
"r64_SW_estimate_km": {
|
| 229 |
+
"mean": 77.62540812134208,
|
| 230 |
+
"p10": 77.08233658009449,
|
| 231 |
+
"p90": 78.07707910569935,
|
| 232 |
+
"valid_members": 50,
|
| 233 |
+
"total_members": 50
|
| 234 |
+
},
|
| 235 |
+
"r64_NW_estimate_km": {
|
| 236 |
+
"mean": 103.45424372408735,
|
| 237 |
+
"p10": 102.65063554307419,
|
| 238 |
+
"p90": 104.09666166615972,
|
| 239 |
+
"valid_members": 50,
|
| 240 |
+
"total_members": 50
|
| 241 |
+
}
|
| 242 |
+
},
|
| 243 |
+
"official_scoring_allowed": false
|
| 244 |
+
}
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"lead_hours": 12,
|
| 248 |
+
"valid_time_utc": "2018-09-11T12:00:00Z",
|
| 249 |
+
"summary": {
|
| 250 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 251 |
+
"members": 50,
|
| 252 |
+
"definitions": {
|
| 253 |
+
"units": "km",
|
| 254 |
+
"quantity_kind": "radius_not_diameter",
|
| 255 |
+
"thresholds_kt": [
|
| 256 |
+
34,
|
| 257 |
+
50,
|
| 258 |
+
64
|
| 259 |
+
],
|
| 260 |
+
"quadrant_order": [
|
| 261 |
+
"NE",
|
| 262 |
+
"SE",
|
| 263 |
+
"SW",
|
| 264 |
+
"NW"
|
| 265 |
+
],
|
| 266 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 267 |
+
"target_wind_averaging_seconds": 60,
|
| 268 |
+
"validated_wind_averaging_seconds": null,
|
| 269 |
+
"validated_surface_height_m": null,
|
| 270 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 271 |
+
"official_scoring_allowed": false
|
| 272 |
+
},
|
| 273 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 274 |
+
"estimates": {
|
| 275 |
+
"wind_estimate_kt": {
|
| 276 |
+
"mean": 128.73783903728472,
|
| 277 |
+
"p10": 128.40750626074995,
|
| 278 |
+
"p90": 129.0816245135852,
|
| 279 |
+
"valid_members": 50,
|
| 280 |
+
"total_members": 50
|
| 281 |
+
},
|
| 282 |
+
"rmw_persistence_km": {
|
| 283 |
+
"mean": 9.259999999999998,
|
| 284 |
+
"p10": 9.26,
|
| 285 |
+
"p90": 9.26,
|
| 286 |
+
"valid_members": 50,
|
| 287 |
+
"total_members": 50
|
| 288 |
+
},
|
| 289 |
+
"r34_NE_estimate_km": {
|
| 290 |
+
"mean": 341.3110082936861,
|
| 291 |
+
"p10": 340.6103232715561,
|
| 292 |
+
"p90": 342.04009218596826,
|
| 293 |
+
"valid_members": 50,
|
| 294 |
+
"total_members": 50
|
| 295 |
+
},
|
| 296 |
+
"r34_SE_estimate_km": {
|
| 297 |
+
"mean": 265.4641175617558,
|
| 298 |
+
"p10": 264.9191403223215,
|
| 299 |
+
"p90": 266.03118281130867,
|
| 300 |
+
"valid_members": 50,
|
| 301 |
+
"total_members": 50
|
| 302 |
+
},
|
| 303 |
+
"r34_SW_estimate_km": {
|
| 304 |
+
"mean": 265.4641175617558,
|
| 305 |
+
"p10": 264.9191403223215,
|
| 306 |
+
"p90": 266.03118281130867,
|
| 307 |
+
"valid_members": 50,
|
| 308 |
+
"total_members": 50
|
| 309 |
+
},
|
| 310 |
+
"r34_NW_estimate_km": {
|
| 311 |
+
"mean": 341.3110082936861,
|
| 312 |
+
"p10": 340.6103232715561,
|
| 313 |
+
"p90": 342.04009218596826,
|
| 314 |
+
"valid_members": 50,
|
| 315 |
+
"total_members": 50
|
| 316 |
+
},
|
| 317 |
+
"r50_NE_estimate_km": {
|
| 318 |
+
"mean": 199.0676606492576,
|
| 319 |
+
"p10": 198.3284518323189,
|
| 320 |
+
"p90": 199.83729534128398,
|
| 321 |
+
"valid_members": 50,
|
| 322 |
+
"total_members": 50
|
| 323 |
+
},
|
| 324 |
+
"r50_SE_estimate_km": {
|
| 325 |
+
"mean": 151.0582022323462,
|
| 326 |
+
"p10": 150.4704518666519,
|
| 327 |
+
"p90": 151.67018404485447,
|
| 328 |
+
"valid_members": 50,
|
| 329 |
+
"total_members": 50
|
| 330 |
+
},
|
| 331 |
+
"r50_SW_estimate_km": {
|
| 332 |
+
"mean": 151.0582022323462,
|
| 333 |
+
"p10": 150.4704518666519,
|
| 334 |
+
"p90": 151.67018404485447,
|
| 335 |
+
"valid_members": 50,
|
| 336 |
+
"total_members": 50
|
| 337 |
+
},
|
| 338 |
+
"r50_NW_estimate_km": {
|
| 339 |
+
"mean": 199.0676606492576,
|
| 340 |
+
"p10": 198.3284518323189,
|
| 341 |
+
"p90": 199.83729534128398,
|
| 342 |
+
"valid_members": 50,
|
| 343 |
+
"total_members": 50
|
| 344 |
+
},
|
| 345 |
+
"r64_NE_estimate_km": {
|
| 346 |
+
"mean": 111.53728519967342,
|
| 347 |
+
"p10": 110.83124848274016,
|
| 348 |
+
"p90": 112.27308434334473,
|
| 349 |
+
"valid_members": 50,
|
| 350 |
+
"total_members": 50
|
| 351 |
+
},
|
| 352 |
+
"r64_SE_estimate_km": {
|
| 353 |
+
"mean": 83.74951783054074,
|
| 354 |
+
"p10": 83.21098262958783,
|
| 355 |
+
"p90": 84.31077509538117,
|
| 356 |
+
"valid_members": 50,
|
| 357 |
+
"total_members": 50
|
| 358 |
+
},
|
| 359 |
+
"r64_SW_estimate_km": {
|
| 360 |
+
"mean": 83.74951783054074,
|
| 361 |
+
"p10": 83.21098262958783,
|
| 362 |
+
"p90": 84.31077509538117,
|
| 363 |
+
"valid_members": 50,
|
| 364 |
+
"total_members": 50
|
| 365 |
+
},
|
| 366 |
+
"r64_NW_estimate_km": {
|
| 367 |
+
"mean": 111.53728519967342,
|
| 368 |
+
"p10": 110.83124848274016,
|
| 369 |
+
"p90": 112.27308434334473,
|
| 370 |
+
"valid_members": 50,
|
| 371 |
+
"total_members": 50
|
| 372 |
+
}
|
| 373 |
+
},
|
| 374 |
+
"official_scoring_allowed": false
|
| 375 |
+
}
|
| 376 |
+
},
|
| 377 |
+
{
|
| 378 |
+
"lead_hours": 18,
|
| 379 |
+
"valid_time_utc": "2018-09-11T18:00:00Z",
|
| 380 |
+
"summary": {
|
| 381 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 382 |
+
"members": 50,
|
| 383 |
+
"definitions": {
|
| 384 |
+
"units": "km",
|
| 385 |
+
"quantity_kind": "radius_not_diameter",
|
| 386 |
+
"thresholds_kt": [
|
| 387 |
+
34,
|
| 388 |
+
50,
|
| 389 |
+
64
|
| 390 |
+
],
|
| 391 |
+
"quadrant_order": [
|
| 392 |
+
"NE",
|
| 393 |
+
"SE",
|
| 394 |
+
"SW",
|
| 395 |
+
"NW"
|
| 396 |
+
],
|
| 397 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 398 |
+
"target_wind_averaging_seconds": 60,
|
| 399 |
+
"validated_wind_averaging_seconds": null,
|
| 400 |
+
"validated_surface_height_m": null,
|
| 401 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 402 |
+
"official_scoring_allowed": false
|
| 403 |
+
},
|
| 404 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 405 |
+
"estimates": {
|
| 406 |
+
"wind_estimate_kt": {
|
| 407 |
+
"mean": 132.15334713434663,
|
| 408 |
+
"p10": 131.82348067606188,
|
| 409 |
+
"p90": 132.60378438940833,
|
| 410 |
+
"valid_members": 50,
|
| 411 |
+
"total_members": 50
|
| 412 |
+
},
|
| 413 |
+
"rmw_persistence_km": {
|
| 414 |
+
"mean": 9.259999999999998,
|
| 415 |
+
"p10": 9.26,
|
| 416 |
+
"p90": 9.26,
|
| 417 |
+
"valid_members": 50,
|
| 418 |
+
"total_members": 50
|
| 419 |
+
},
|
| 420 |
+
"r34_NE_estimate_km": {
|
| 421 |
+
"mean": 348.53611871398965,
|
| 422 |
+
"p10": 347.8401332495696,
|
| 423 |
+
"p90": 349.486345017306,
|
| 424 |
+
"valid_members": 50,
|
| 425 |
+
"total_members": 50
|
| 426 |
+
},
|
| 427 |
+
"r34_SE_estimate_km": {
|
| 428 |
+
"mean": 271.0836478886586,
|
| 429 |
+
"p10": 270.5423258607764,
|
| 430 |
+
"p90": 271.822712791238,
|
| 431 |
+
"valid_members": 50,
|
| 432 |
+
"total_members": 50
|
| 433 |
+
},
|
| 434 |
+
"r34_SW_estimate_km": {
|
| 435 |
+
"mean": 271.0836478886586,
|
| 436 |
+
"p10": 270.5423258607764,
|
| 437 |
+
"p90": 271.822712791238,
|
| 438 |
+
"valid_members": 50,
|
| 439 |
+
"total_members": 50
|
| 440 |
+
},
|
| 441 |
+
"r34_NW_estimate_km": {
|
| 442 |
+
"mean": 348.53611871398965,
|
| 443 |
+
"p10": 347.8401332495696,
|
| 444 |
+
"p90": 349.486345017306,
|
| 445 |
+
"valid_members": 50,
|
| 446 |
+
"total_members": 50
|
| 447 |
+
},
|
| 448 |
+
"r50_NE_estimate_km": {
|
| 449 |
+
"mean": 206.75753124301048,
|
| 450 |
+
"p10": 206.01053248170447,
|
| 451 |
+
"p90": 207.7779324221413,
|
| 452 |
+
"valid_members": 50,
|
| 453 |
+
"total_members": 50
|
| 454 |
+
},
|
| 455 |
+
"r50_SE_estimate_km": {
|
| 456 |
+
"mean": 157.17825414478838,
|
| 457 |
+
"p10": 156.58321549476682,
|
| 458 |
+
"p90": 157.99112249839226,
|
| 459 |
+
"valid_members": 50,
|
| 460 |
+
"total_members": 50
|
| 461 |
+
},
|
| 462 |
+
"r50_SW_estimate_km": {
|
| 463 |
+
"mean": 157.17825414478838,
|
| 464 |
+
"p10": 156.58321549476682,
|
| 465 |
+
"p90": 157.99112249839226,
|
| 466 |
+
"valid_members": 50,
|
| 467 |
+
"total_members": 50
|
| 468 |
+
},
|
| 469 |
+
"r50_NW_estimate_km": {
|
| 470 |
+
"mean": 206.75753124301048,
|
| 471 |
+
"p10": 206.01053248170447,
|
| 472 |
+
"p90": 207.7779324221413,
|
| 473 |
+
"valid_members": 50,
|
| 474 |
+
"total_members": 50
|
| 475 |
+
},
|
| 476 |
+
"r64_NE_estimate_km": {
|
| 477 |
+
"mean": 118.98532585243049,
|
| 478 |
+
"p10": 118.25221517932258,
|
| 479 |
+
"p90": 119.98757087944666,
|
| 480 |
+
"valid_members": 50,
|
| 481 |
+
"total_members": 50
|
| 482 |
+
},
|
| 483 |
+
"r64_SE_estimate_km": {
|
| 484 |
+
"mean": 89.43361893214677,
|
| 485 |
+
"p10": 88.87385066252693,
|
| 486 |
+
"p90": 90.19890918283993,
|
| 487 |
+
"valid_members": 50,
|
| 488 |
+
"total_members": 50
|
| 489 |
+
},
|
| 490 |
+
"r64_SW_estimate_km": {
|
| 491 |
+
"mean": 89.43361893214677,
|
| 492 |
+
"p10": 88.87385066252693,
|
| 493 |
+
"p90": 90.19890918283993,
|
| 494 |
+
"valid_members": 50,
|
| 495 |
+
"total_members": 50
|
| 496 |
+
},
|
| 497 |
+
"r64_NW_estimate_km": {
|
| 498 |
+
"mean": 118.98532585243049,
|
| 499 |
+
"p10": 118.25221517932258,
|
| 500 |
+
"p90": 119.98757087944666,
|
| 501 |
+
"valid_members": 50,
|
| 502 |
+
"total_members": 50
|
| 503 |
+
}
|
| 504 |
+
},
|
| 505 |
+
"official_scoring_allowed": false
|
| 506 |
+
}
|
| 507 |
+
},
|
| 508 |
+
{
|
| 509 |
+
"lead_hours": 24,
|
| 510 |
+
"valid_time_utc": "2018-09-12T00:00:00Z",
|
| 511 |
+
"summary": {
|
| 512 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 513 |
+
"members": 50,
|
| 514 |
+
"definitions": {
|
| 515 |
+
"units": "km",
|
| 516 |
+
"quantity_kind": "radius_not_diameter",
|
| 517 |
+
"thresholds_kt": [
|
| 518 |
+
34,
|
| 519 |
+
50,
|
| 520 |
+
64
|
| 521 |
+
],
|
| 522 |
+
"quadrant_order": [
|
| 523 |
+
"NE",
|
| 524 |
+
"SE",
|
| 525 |
+
"SW",
|
| 526 |
+
"NW"
|
| 527 |
+
],
|
| 528 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 529 |
+
"target_wind_averaging_seconds": 60,
|
| 530 |
+
"validated_wind_averaging_seconds": null,
|
| 531 |
+
"validated_surface_height_m": null,
|
| 532 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 533 |
+
"official_scoring_allowed": false
|
| 534 |
+
},
|
| 535 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 536 |
+
"estimates": {
|
| 537 |
+
"wind_estimate_kt": {
|
| 538 |
+
"mean": 137.21487789234433,
|
| 539 |
+
"p10": 136.80203254846117,
|
| 540 |
+
"p90": 137.6779815789494,
|
| 541 |
+
"valid_members": 50,
|
| 542 |
+
"total_members": 50
|
| 543 |
+
},
|
| 544 |
+
"rmw_persistence_km": {
|
| 545 |
+
"mean": 9.259999999999998,
|
| 546 |
+
"p10": 9.26,
|
| 547 |
+
"p90": 9.26,
|
| 548 |
+
"valid_members": 50,
|
| 549 |
+
"total_members": 50
|
| 550 |
+
},
|
| 551 |
+
"r34_NE_estimate_km": {
|
| 552 |
+
"mean": 359.17507187577553,
|
| 553 |
+
"p10": 358.310485114441,
|
| 554 |
+
"p90": 360.1447329188505,
|
| 555 |
+
"valid_members": 50,
|
| 556 |
+
"total_members": 50
|
| 557 |
+
},
|
| 558 |
+
"r34_SE_estimate_km": {
|
| 559 |
+
"mean": 279.35838923671434,
|
| 560 |
+
"p10": 278.6859328667875,
|
| 561 |
+
"p90": 280.11257004799484,
|
| 562 |
+
"valid_members": 50,
|
| 563 |
+
"total_members": 50
|
| 564 |
+
},
|
| 565 |
+
"r34_SW_estimate_km": {
|
| 566 |
+
"mean": 279.35838923671434,
|
| 567 |
+
"p10": 278.6859328667875,
|
| 568 |
+
"p90": 280.11257004799484,
|
| 569 |
+
"valid_members": 50,
|
| 570 |
+
"total_members": 50
|
| 571 |
+
},
|
| 572 |
+
"r34_NW_estimate_km": {
|
| 573 |
+
"mean": 359.17507187577553,
|
| 574 |
+
"p10": 358.310485114441,
|
| 575 |
+
"p90": 360.1447329188505,
|
| 576 |
+
"valid_members": 50,
|
| 577 |
+
"total_members": 50
|
| 578 |
+
},
|
| 579 |
+
"r50_NE_estimate_km": {
|
| 580 |
+
"mean": 218.3173629319886,
|
| 581 |
+
"p10": 217.36671505642187,
|
| 582 |
+
"p90": 219.3841759893994,
|
| 583 |
+
"valid_members": 50,
|
| 584 |
+
"total_members": 50
|
| 585 |
+
},
|
| 586 |
+
"r50_SE_estimate_km": {
|
| 587 |
+
"mean": 166.3986268544886,
|
| 588 |
+
"p10": 165.63940787812362,
|
| 589 |
+
"p90": 167.25067317787136,
|
| 590 |
+
"valid_members": 50,
|
| 591 |
+
"total_members": 50
|
| 592 |
+
},
|
| 593 |
+
"r50_SW_estimate_km": {
|
| 594 |
+
"mean": 166.3986268544886,
|
| 595 |
+
"p10": 165.63940787812362,
|
| 596 |
+
"p90": 167.25067317787136,
|
| 597 |
+
"valid_members": 50,
|
| 598 |
+
"total_members": 50
|
| 599 |
+
},
|
| 600 |
+
"r50_NW_estimate_km": {
|
| 601 |
+
"mean": 218.3173629319886,
|
| 602 |
+
"p10": 217.36671505642187,
|
| 603 |
+
"p90": 219.3841759893994,
|
| 604 |
+
"valid_members": 50,
|
| 605 |
+
"total_members": 50
|
| 606 |
+
},
|
| 607 |
+
"r64_NE_estimate_km": {
|
| 608 |
+
"mean": 130.55327153511286,
|
| 609 |
+
"p10": 129.5840684315638,
|
| 610 |
+
"p90": 131.64192338431465,
|
| 611 |
+
"valid_members": 50,
|
| 612 |
+
"total_members": 50
|
| 613 |
+
},
|
| 614 |
+
"r64_SE_estimate_km": {
|
| 615 |
+
"mean": 98.2729655915208,
|
| 616 |
+
"p10": 97.5318469268281,
|
| 617 |
+
"p90": 99.10545269060076,
|
| 618 |
+
"valid_members": 50,
|
| 619 |
+
"total_members": 50
|
| 620 |
+
},
|
| 621 |
+
"r64_SW_estimate_km": {
|
| 622 |
+
"mean": 98.2729655915208,
|
| 623 |
+
"p10": 97.5318469268281,
|
| 624 |
+
"p90": 99.10545269060076,
|
| 625 |
+
"valid_members": 50,
|
| 626 |
+
"total_members": 50
|
| 627 |
+
},
|
| 628 |
+
"r64_NW_estimate_km": {
|
| 629 |
+
"mean": 130.55327153511286,
|
| 630 |
+
"p10": 129.5840684315638,
|
| 631 |
+
"p90": 131.64192338431465,
|
| 632 |
+
"valid_members": 50,
|
| 633 |
+
"total_members": 50
|
| 634 |
+
}
|
| 635 |
+
},
|
| 636 |
+
"official_scoring_allowed": false
|
| 637 |
+
}
|
| 638 |
+
},
|
| 639 |
+
{
|
| 640 |
+
"lead_hours": 30,
|
| 641 |
+
"valid_time_utc": "2018-09-12T06:00:00Z",
|
| 642 |
+
"summary": {
|
| 643 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 644 |
+
"members": 50,
|
| 645 |
+
"definitions": {
|
| 646 |
+
"units": "km",
|
| 647 |
+
"quantity_kind": "radius_not_diameter",
|
| 648 |
+
"thresholds_kt": [
|
| 649 |
+
34,
|
| 650 |
+
50,
|
| 651 |
+
64
|
| 652 |
+
],
|
| 653 |
+
"quadrant_order": [
|
| 654 |
+
"NE",
|
| 655 |
+
"SE",
|
| 656 |
+
"SW",
|
| 657 |
+
"NW"
|
| 658 |
+
],
|
| 659 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 660 |
+
"target_wind_averaging_seconds": 60,
|
| 661 |
+
"validated_wind_averaging_seconds": null,
|
| 662 |
+
"validated_surface_height_m": null,
|
| 663 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 664 |
+
"official_scoring_allowed": false
|
| 665 |
+
},
|
| 666 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 667 |
+
"estimates": {
|
| 668 |
+
"wind_estimate_kt": {
|
| 669 |
+
"mean": 141.43899894083185,
|
| 670 |
+
"p10": 141.04286464699516,
|
| 671 |
+
"p90": 141.8516422262894,
|
| 672 |
+
"valid_members": 50,
|
| 673 |
+
"total_members": 50
|
| 674 |
+
},
|
| 675 |
+
"rmw_persistence_km": {
|
| 676 |
+
"mean": 9.259999999999998,
|
| 677 |
+
"p10": 9.26,
|
| 678 |
+
"p90": 9.26,
|
| 679 |
+
"valid_members": 50,
|
| 680 |
+
"total_members": 50
|
| 681 |
+
},
|
| 682 |
+
"r34_NE_estimate_km": {
|
| 683 |
+
"mean": 367.9938768887078,
|
| 684 |
+
"p10": 367.1693086382632,
|
| 685 |
+
"p90": 368.8527013040615,
|
| 686 |
+
"valid_members": 50,
|
| 687 |
+
"total_members": 50
|
| 688 |
+
},
|
| 689 |
+
"r34_SE_estimate_km": {
|
| 690 |
+
"mean": 286.21745980232834,
|
| 691 |
+
"p10": 285.5761289408714,
|
| 692 |
+
"p90": 286.88543434760345,
|
| 693 |
+
"valid_members": 50,
|
| 694 |
+
"total_members": 50
|
| 695 |
+
},
|
| 696 |
+
"r34_SW_estimate_km": {
|
| 697 |
+
"mean": 286.21745980232834,
|
| 698 |
+
"p10": 285.5761289408714,
|
| 699 |
+
"p90": 286.88543434760345,
|
| 700 |
+
"valid_members": 50,
|
| 701 |
+
"total_members": 50
|
| 702 |
+
},
|
| 703 |
+
"r34_NW_estimate_km": {
|
| 704 |
+
"mean": 367.9938768887078,
|
| 705 |
+
"p10": 367.1693086382632,
|
| 706 |
+
"p90": 368.8527013040615,
|
| 707 |
+
"valid_members": 50,
|
| 708 |
+
"total_members": 50
|
| 709 |
+
},
|
| 710 |
+
"r50_NE_estimate_km": {
|
| 711 |
+
"mean": 228.112016277862,
|
| 712 |
+
"p10": 227.18737256590182,
|
| 713 |
+
"p90": 229.07546539778238,
|
| 714 |
+
"valid_members": 50,
|
| 715 |
+
"total_members": 50
|
| 716 |
+
},
|
| 717 |
+
"r50_SE_estimate_km": {
|
| 718 |
+
"mean": 174.22939736344492,
|
| 719 |
+
"p10": 173.48939209742443,
|
| 720 |
+
"p90": 175.0004926538841,
|
| 721 |
+
"valid_members": 50,
|
| 722 |
+
"total_members": 50
|
| 723 |
+
},
|
| 724 |
+
"r50_SW_estimate_km": {
|
| 725 |
+
"mean": 174.22939736344492,
|
| 726 |
+
"p10": 173.48939209742443,
|
| 727 |
+
"p90": 175.0004926538841,
|
| 728 |
+
"valid_members": 50,
|
| 729 |
+
"total_members": 50
|
| 730 |
+
},
|
| 731 |
+
"r50_NW_estimate_km": {
|
| 732 |
+
"mean": 228.112016277862,
|
| 733 |
+
"p10": 227.18737256590182,
|
| 734 |
+
"p90": 229.07546539778238,
|
| 735 |
+
"valid_members": 50,
|
| 736 |
+
"total_members": 50
|
| 737 |
+
},
|
| 738 |
+
"r64_NE_estimate_km": {
|
| 739 |
+
"mean": 140.6994543537905,
|
| 740 |
+
"p10": 139.7270828516435,
|
| 741 |
+
"p90": 141.71328339734353,
|
| 742 |
+
"valid_members": 50,
|
| 743 |
+
"total_members": 50
|
| 744 |
+
},
|
| 745 |
+
"r64_SE_estimate_km": {
|
| 746 |
+
"mean": 106.03617959562942,
|
| 747 |
+
"p10": 105.29175412337868,
|
| 748 |
+
"p90": 106.8123630566402,
|
| 749 |
+
"valid_members": 50,
|
| 750 |
+
"total_members": 50
|
| 751 |
+
},
|
| 752 |
+
"r64_SW_estimate_km": {
|
| 753 |
+
"mean": 106.03617959562942,
|
| 754 |
+
"p10": 105.29175412337868,
|
| 755 |
+
"p90": 106.8123630566402,
|
| 756 |
+
"valid_members": 50,
|
| 757 |
+
"total_members": 50
|
| 758 |
+
},
|
| 759 |
+
"r64_NW_estimate_km": {
|
| 760 |
+
"mean": 140.6994543537905,
|
| 761 |
+
"p10": 139.7270828516435,
|
| 762 |
+
"p90": 141.71328339734353,
|
| 763 |
+
"valid_members": 50,
|
| 764 |
+
"total_members": 50
|
| 765 |
+
}
|
| 766 |
+
},
|
| 767 |
+
"official_scoring_allowed": false
|
| 768 |
+
}
|
| 769 |
+
},
|
| 770 |
+
{
|
| 771 |
+
"lead_hours": 36,
|
| 772 |
+
"valid_time_utc": "2018-09-12T12:00:00Z",
|
| 773 |
+
"summary": {
|
| 774 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 775 |
+
"members": 50,
|
| 776 |
+
"definitions": {
|
| 777 |
+
"units": "km",
|
| 778 |
+
"quantity_kind": "radius_not_diameter",
|
| 779 |
+
"thresholds_kt": [
|
| 780 |
+
34,
|
| 781 |
+
50,
|
| 782 |
+
64
|
| 783 |
+
],
|
| 784 |
+
"quadrant_order": [
|
| 785 |
+
"NE",
|
| 786 |
+
"SE",
|
| 787 |
+
"SW",
|
| 788 |
+
"NW"
|
| 789 |
+
],
|
| 790 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 791 |
+
"target_wind_averaging_seconds": 60,
|
| 792 |
+
"validated_wind_averaging_seconds": null,
|
| 793 |
+
"validated_surface_height_m": null,
|
| 794 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 795 |
+
"official_scoring_allowed": false
|
| 796 |
+
},
|
| 797 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 798 |
+
"estimates": {
|
| 799 |
+
"wind_estimate_kt": {
|
| 800 |
+
"mean": 145.91003164190727,
|
| 801 |
+
"p10": 145.4290224729581,
|
| 802 |
+
"p90": 146.40363220321663,
|
| 803 |
+
"valid_members": 50,
|
| 804 |
+
"total_members": 50
|
| 805 |
+
},
|
| 806 |
+
"rmw_persistence_km": {
|
| 807 |
+
"mean": 9.259999999999998,
|
| 808 |
+
"p10": 9.26,
|
| 809 |
+
"p90": 9.26,
|
| 810 |
+
"valid_members": 50,
|
| 811 |
+
"total_members": 50
|
| 812 |
+
},
|
| 813 |
+
"r34_NE_estimate_km": {
|
| 814 |
+
"mean": 377.27090149052026,
|
| 815 |
+
"p10": 376.2758495763074,
|
| 816 |
+
"p90": 378.29182680845025,
|
| 817 |
+
"valid_members": 50,
|
| 818 |
+
"total_members": 50
|
| 819 |
+
},
|
| 820 |
+
"r34_SE_estimate_km": {
|
| 821 |
+
"mean": 293.4329233815157,
|
| 822 |
+
"p10": 292.6589941149058,
|
| 823 |
+
"p90": 294.2269764065724,
|
| 824 |
+
"valid_members": 50,
|
| 825 |
+
"total_members": 50
|
| 826 |
+
},
|
| 827 |
+
"r34_SW_estimate_km": {
|
| 828 |
+
"mean": 293.4329233815157,
|
| 829 |
+
"p10": 292.6589941149058,
|
| 830 |
+
"p90": 294.2269764065724,
|
| 831 |
+
"valid_members": 50,
|
| 832 |
+
"total_members": 50
|
| 833 |
+
},
|
| 834 |
+
"r34_NW_estimate_km": {
|
| 835 |
+
"mean": 377.27090149052026,
|
| 836 |
+
"p10": 376.2758495763074,
|
| 837 |
+
"p90": 378.29182680845025,
|
| 838 |
+
"valid_members": 50,
|
| 839 |
+
"total_members": 50
|
| 840 |
+
},
|
| 841 |
+
"r50_NE_estimate_km": {
|
| 842 |
+
"mean": 238.62291796234786,
|
| 843 |
+
"p10": 237.48448477926712,
|
| 844 |
+
"p90": 239.79159784548992,
|
| 845 |
+
"valid_members": 50,
|
| 846 |
+
"total_members": 50
|
| 847 |
+
},
|
| 848 |
+
"r50_SE_estimate_km": {
|
| 849 |
+
"mean": 182.65072943467752,
|
| 850 |
+
"p10": 181.737668176001,
|
| 851 |
+
"p90": 183.58810492316053,
|
| 852 |
+
"valid_members": 50,
|
| 853 |
+
"total_members": 50
|
| 854 |
+
},
|
| 855 |
+
"r50_SW_estimate_km": {
|
| 856 |
+
"mean": 182.65072943467752,
|
| 857 |
+
"p10": 181.737668176001,
|
| 858 |
+
"p90": 183.58810492316053,
|
| 859 |
+
"valid_members": 50,
|
| 860 |
+
"total_members": 50
|
| 861 |
+
},
|
| 862 |
+
"r50_NW_estimate_km": {
|
| 863 |
+
"mean": 238.62291796234786,
|
| 864 |
+
"p10": 237.48448477926712,
|
| 865 |
+
"p90": 239.79159784548992,
|
| 866 |
+
"valid_members": 50,
|
| 867 |
+
"total_members": 50
|
| 868 |
+
},
|
| 869 |
+
"r64_NE_estimate_km": {
|
| 870 |
+
"mean": 151.93514486209494,
|
| 871 |
+
"p10": 150.69946008119337,
|
| 872 |
+
"p90": 153.20476608692678,
|
| 873 |
+
"valid_members": 50,
|
| 874 |
+
"total_members": 50
|
| 875 |
+
},
|
| 876 |
+
"r64_SE_estimate_km": {
|
| 877 |
+
"mean": 114.64337708774629,
|
| 878 |
+
"p10": 113.69621682193761,
|
| 879 |
+
"p90": 115.6165823780084,
|
| 880 |
+
"valid_members": 50,
|
| 881 |
+
"total_members": 50
|
| 882 |
+
},
|
| 883 |
+
"r64_SW_estimate_km": {
|
| 884 |
+
"mean": 114.64337708774629,
|
| 885 |
+
"p10": 113.69621682193761,
|
| 886 |
+
"p90": 115.6165823780084,
|
| 887 |
+
"valid_members": 50,
|
| 888 |
+
"total_members": 50
|
| 889 |
+
},
|
| 890 |
+
"r64_NW_estimate_km": {
|
| 891 |
+
"mean": 151.93514486209494,
|
| 892 |
+
"p10": 150.69946008119337,
|
| 893 |
+
"p90": 153.20476608692678,
|
| 894 |
+
"valid_members": 50,
|
| 895 |
+
"total_members": 50
|
| 896 |
+
}
|
| 897 |
+
},
|
| 898 |
+
"official_scoring_allowed": false
|
| 899 |
+
}
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"lead_hours": 42,
|
| 903 |
+
"valid_time_utc": "2018-09-12T18:00:00Z",
|
| 904 |
+
"summary": {
|
| 905 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 906 |
+
"members": 50,
|
| 907 |
+
"definitions": {
|
| 908 |
+
"units": "km",
|
| 909 |
+
"quantity_kind": "radius_not_diameter",
|
| 910 |
+
"thresholds_kt": [
|
| 911 |
+
34,
|
| 912 |
+
50,
|
| 913 |
+
64
|
| 914 |
+
],
|
| 915 |
+
"quadrant_order": [
|
| 916 |
+
"NE",
|
| 917 |
+
"SE",
|
| 918 |
+
"SW",
|
| 919 |
+
"NW"
|
| 920 |
+
],
|
| 921 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 922 |
+
"target_wind_averaging_seconds": 60,
|
| 923 |
+
"validated_wind_averaging_seconds": null,
|
| 924 |
+
"validated_surface_height_m": null,
|
| 925 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 926 |
+
"official_scoring_allowed": false
|
| 927 |
+
},
|
| 928 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 929 |
+
"estimates": {
|
| 930 |
+
"wind_estimate_kt": {
|
| 931 |
+
"mean": 147.44424269524322,
|
| 932 |
+
"p10": 146.86403131520933,
|
| 933 |
+
"p90": 147.9971794328685,
|
| 934 |
+
"valid_members": 50,
|
| 935 |
+
"total_members": 50
|
| 936 |
+
},
|
| 937 |
+
"rmw_persistence_km": {
|
| 938 |
+
"mean": 9.259999999999998,
|
| 939 |
+
"p10": 9.26,
|
| 940 |
+
"p90": 9.26,
|
| 941 |
+
"valid_members": 50,
|
| 942 |
+
"total_members": 50
|
| 943 |
+
},
|
| 944 |
+
"r34_NE_estimate_km": {
|
| 945 |
+
"mean": 380.4410205719955,
|
| 946 |
+
"p10": 379.243225171309,
|
| 947 |
+
"p90": 381.58230504343413,
|
| 948 |
+
"valid_members": 50,
|
| 949 |
+
"total_members": 50
|
| 950 |
+
},
|
| 951 |
+
"r34_SE_estimate_km": {
|
| 952 |
+
"mean": 295.8985715559965,
|
| 953 |
+
"p10": 294.96695291101815,
|
| 954 |
+
"p90": 296.78623725600437,
|
| 955 |
+
"valid_members": 50,
|
| 956 |
+
"total_members": 50
|
| 957 |
+
},
|
| 958 |
+
"r34_SW_estimate_km": {
|
| 959 |
+
"mean": 295.8985715559965,
|
| 960 |
+
"p10": 294.96695291101815,
|
| 961 |
+
"p90": 296.78623725600437,
|
| 962 |
+
"valid_members": 50,
|
| 963 |
+
"total_members": 50
|
| 964 |
+
},
|
| 965 |
+
"r34_NW_estimate_km": {
|
| 966 |
+
"mean": 380.4410205719955,
|
| 967 |
+
"p10": 379.243225171309,
|
| 968 |
+
"p90": 381.58230504343413,
|
| 969 |
+
"valid_members": 50,
|
| 970 |
+
"total_members": 50
|
| 971 |
+
},
|
| 972 |
+
"r50_NE_estimate_km": {
|
| 973 |
+
"mean": 242.26343568135474,
|
| 974 |
+
"p10": 240.88386191402117,
|
| 975 |
+
"p90": 243.5786872439063,
|
| 976 |
+
"valid_members": 50,
|
| 977 |
+
"total_members": 50
|
| 978 |
+
},
|
| 979 |
+
"r50_SE_estimate_km": {
|
| 980 |
+
"mean": 185.5717159935343,
|
| 981 |
+
"p10": 184.4644613759511,
|
| 982 |
+
"p90": 186.6274110192217,
|
| 983 |
+
"valid_members": 50,
|
| 984 |
+
"total_members": 50
|
| 985 |
+
},
|
| 986 |
+
"r50_SW_estimate_km": {
|
| 987 |
+
"mean": 185.5717159935343,
|
| 988 |
+
"p10": 184.4644613759511,
|
| 989 |
+
"p90": 186.6274110192217,
|
| 990 |
+
"valid_members": 50,
|
| 991 |
+
"total_members": 50
|
| 992 |
+
},
|
| 993 |
+
"r50_NW_estimate_km": {
|
| 994 |
+
"mean": 242.26343568135474,
|
| 995 |
+
"p10": 240.88386191402117,
|
| 996 |
+
"p90": 243.5786872439063,
|
| 997 |
+
"valid_members": 50,
|
| 998 |
+
"total_members": 50
|
| 999 |
+
},
|
| 1000 |
+
"r64_NE_estimate_km": {
|
| 1001 |
+
"mean": 155.9101043445628,
|
| 1002 |
+
"p10": 154.39682563067723,
|
| 1003 |
+
"p90": 157.35415749436348,
|
| 1004 |
+
"valid_members": 50,
|
| 1005 |
+
"total_members": 50
|
| 1006 |
+
},
|
| 1007 |
+
"r64_SE_estimate_km": {
|
| 1008 |
+
"mean": 117.69090086777754,
|
| 1009 |
+
"p10": 116.53049474411512,
|
| 1010 |
+
"p90": 118.79826298033286,
|
| 1011 |
+
"valid_members": 50,
|
| 1012 |
+
"total_members": 50
|
| 1013 |
+
},
|
| 1014 |
+
"r64_SW_estimate_km": {
|
| 1015 |
+
"mean": 117.69090086777754,
|
| 1016 |
+
"p10": 116.53049474411512,
|
| 1017 |
+
"p90": 118.79826298033286,
|
| 1018 |
+
"valid_members": 50,
|
| 1019 |
+
"total_members": 50
|
| 1020 |
+
},
|
| 1021 |
+
"r64_NW_estimate_km": {
|
| 1022 |
+
"mean": 155.9101043445628,
|
| 1023 |
+
"p10": 154.39682563067723,
|
| 1024 |
+
"p90": 157.35415749436348,
|
| 1025 |
+
"valid_members": 50,
|
| 1026 |
+
"total_members": 50
|
| 1027 |
+
}
|
| 1028 |
+
},
|
| 1029 |
+
"official_scoring_allowed": false
|
| 1030 |
+
}
|
| 1031 |
+
},
|
| 1032 |
+
{
|
| 1033 |
+
"lead_hours": 48,
|
| 1034 |
+
"valid_time_utc": "2018-09-13T00:00:00Z",
|
| 1035 |
+
"summary": {
|
| 1036 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1037 |
+
"members": 50,
|
| 1038 |
+
"definitions": {
|
| 1039 |
+
"units": "km",
|
| 1040 |
+
"quantity_kind": "radius_not_diameter",
|
| 1041 |
+
"thresholds_kt": [
|
| 1042 |
+
34,
|
| 1043 |
+
50,
|
| 1044 |
+
64
|
| 1045 |
+
],
|
| 1046 |
+
"quadrant_order": [
|
| 1047 |
+
"NE",
|
| 1048 |
+
"SE",
|
| 1049 |
+
"SW",
|
| 1050 |
+
"NW"
|
| 1051 |
+
],
|
| 1052 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1053 |
+
"target_wind_averaging_seconds": 60,
|
| 1054 |
+
"validated_wind_averaging_seconds": null,
|
| 1055 |
+
"validated_surface_height_m": null,
|
| 1056 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1057 |
+
"official_scoring_allowed": false
|
| 1058 |
+
},
|
| 1059 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1060 |
+
"estimates": {
|
| 1061 |
+
"wind_estimate_kt": {
|
| 1062 |
+
"mean": 145.5623561260469,
|
| 1063 |
+
"p10": 144.74786025594707,
|
| 1064 |
+
"p90": 146.25124291638286,
|
| 1065 |
+
"valid_members": 50,
|
| 1066 |
+
"total_members": 50
|
| 1067 |
+
},
|
| 1068 |
+
"rmw_persistence_km": {
|
| 1069 |
+
"mean": 9.259999999999998,
|
| 1070 |
+
"p10": 9.26,
|
| 1071 |
+
"p90": 9.26,
|
| 1072 |
+
"valid_members": 50,
|
| 1073 |
+
"total_members": 50
|
| 1074 |
+
},
|
| 1075 |
+
"r34_NE_estimate_km": {
|
| 1076 |
+
"mean": 376.5513389646339,
|
| 1077 |
+
"p10": 374.86526364754,
|
| 1078 |
+
"p90": 377.9767871473718,
|
| 1079 |
+
"valid_members": 50,
|
| 1080 |
+
"total_members": 50
|
| 1081 |
+
},
|
| 1082 |
+
"r34_SE_estimate_km": {
|
| 1083 |
+
"mean": 292.87326363915975,
|
| 1084 |
+
"p10": 291.5618717258645,
|
| 1085 |
+
"p90": 293.98194555906696,
|
| 1086 |
+
"valid_members": 50,
|
| 1087 |
+
"total_members": 50
|
| 1088 |
+
},
|
| 1089 |
+
"r34_SW_estimate_km": {
|
| 1090 |
+
"mean": 292.87326363915975,
|
| 1091 |
+
"p10": 291.5618717258645,
|
| 1092 |
+
"p90": 293.98194555906696,
|
| 1093 |
+
"valid_members": 50,
|
| 1094 |
+
"total_members": 50
|
| 1095 |
+
},
|
| 1096 |
+
"r34_NW_estimate_km": {
|
| 1097 |
+
"mean": 376.5513389646339,
|
| 1098 |
+
"p10": 374.86526364754,
|
| 1099 |
+
"p90": 377.9767871473718,
|
| 1100 |
+
"valid_members": 50,
|
| 1101 |
+
"total_members": 50
|
| 1102 |
+
},
|
| 1103 |
+
"r50_NE_estimate_km": {
|
| 1104 |
+
"mean": 237.8009083112406,
|
| 1105 |
+
"p10": 235.87612538383632,
|
| 1106 |
+
"p90": 239.4304055930547,
|
| 1107 |
+
"valid_members": 50,
|
| 1108 |
+
"total_members": 50
|
| 1109 |
+
},
|
| 1110 |
+
"r50_SE_estimate_km": {
|
| 1111 |
+
"mean": 181.99155628096148,
|
| 1112 |
+
"p10": 180.44818003040962,
|
| 1113 |
+
"p90": 183.29835172492378,
|
| 1114 |
+
"valid_members": 50,
|
| 1115 |
+
"total_members": 50
|
| 1116 |
+
},
|
| 1117 |
+
"r50_SW_estimate_km": {
|
| 1118 |
+
"mean": 181.99155628096148,
|
| 1119 |
+
"p10": 180.44818003040962,
|
| 1120 |
+
"p90": 183.29835172492378,
|
| 1121 |
+
"valid_members": 50,
|
| 1122 |
+
"total_members": 50
|
| 1123 |
+
},
|
| 1124 |
+
"r50_NW_estimate_km": {
|
| 1125 |
+
"mean": 237.8009083112406,
|
| 1126 |
+
"p10": 235.87612538383632,
|
| 1127 |
+
"p90": 239.4304055930547,
|
| 1128 |
+
"valid_members": 50,
|
| 1129 |
+
"total_members": 50
|
| 1130 |
+
},
|
| 1131 |
+
"r64_NE_estimate_km": {
|
| 1132 |
+
"mean": 151.04502115028217,
|
| 1133 |
+
"p10": 148.96305318856744,
|
| 1134 |
+
"p90": 152.81142007057016,
|
| 1135 |
+
"valid_members": 50,
|
| 1136 |
+
"total_members": 50
|
| 1137 |
+
},
|
| 1138 |
+
"r64_SE_estimate_km": {
|
| 1139 |
+
"mean": 113.96115326604706,
|
| 1140 |
+
"p10": 112.3655237926283,
|
| 1141 |
+
"p90": 115.31504194565944,
|
| 1142 |
+
"valid_members": 50,
|
| 1143 |
+
"total_members": 50
|
| 1144 |
+
},
|
| 1145 |
+
"r64_SW_estimate_km": {
|
| 1146 |
+
"mean": 113.96115326604706,
|
| 1147 |
+
"p10": 112.3655237926283,
|
| 1148 |
+
"p90": 115.31504194565944,
|
| 1149 |
+
"valid_members": 50,
|
| 1150 |
+
"total_members": 50
|
| 1151 |
+
},
|
| 1152 |
+
"r64_NW_estimate_km": {
|
| 1153 |
+
"mean": 151.04502115028217,
|
| 1154 |
+
"p10": 148.96305318856744,
|
| 1155 |
+
"p90": 152.81142007057016,
|
| 1156 |
+
"valid_members": 50,
|
| 1157 |
+
"total_members": 50
|
| 1158 |
+
}
|
| 1159 |
+
},
|
| 1160 |
+
"official_scoring_allowed": false
|
| 1161 |
+
}
|
| 1162 |
+
},
|
| 1163 |
+
{
|
| 1164 |
+
"lead_hours": 54,
|
| 1165 |
+
"valid_time_utc": "2018-09-13T06:00:00Z",
|
| 1166 |
+
"summary": {
|
| 1167 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1168 |
+
"members": 50,
|
| 1169 |
+
"definitions": {
|
| 1170 |
+
"units": "km",
|
| 1171 |
+
"quantity_kind": "radius_not_diameter",
|
| 1172 |
+
"thresholds_kt": [
|
| 1173 |
+
34,
|
| 1174 |
+
50,
|
| 1175 |
+
64
|
| 1176 |
+
],
|
| 1177 |
+
"quadrant_order": [
|
| 1178 |
+
"NE",
|
| 1179 |
+
"SE",
|
| 1180 |
+
"SW",
|
| 1181 |
+
"NW"
|
| 1182 |
+
],
|
| 1183 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1184 |
+
"target_wind_averaging_seconds": 60,
|
| 1185 |
+
"validated_wind_averaging_seconds": null,
|
| 1186 |
+
"validated_surface_height_m": null,
|
| 1187 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1188 |
+
"official_scoring_allowed": false
|
| 1189 |
+
},
|
| 1190 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1191 |
+
"estimates": {
|
| 1192 |
+
"wind_estimate_kt": {
|
| 1193 |
+
"mean": 144.40687543434834,
|
| 1194 |
+
"p10": 143.6493088012756,
|
| 1195 |
+
"p90": 145.09643133723452,
|
| 1196 |
+
"valid_members": 50,
|
| 1197 |
+
"total_members": 50
|
| 1198 |
+
},
|
| 1199 |
+
"rmw_persistence_km": {
|
| 1200 |
+
"mean": 9.259999999999998,
|
| 1201 |
+
"p10": 9.26,
|
| 1202 |
+
"p90": 9.26,
|
| 1203 |
+
"valid_members": 50,
|
| 1204 |
+
"total_members": 50
|
| 1205 |
+
},
|
| 1206 |
+
"r34_NE_estimate_km": {
|
| 1207 |
+
"mean": 374.15820317097314,
|
| 1208 |
+
"p10": 372.58752439623834,
|
| 1209 |
+
"p90": 375.58726807674844,
|
| 1210 |
+
"valid_members": 50,
|
| 1211 |
+
"total_members": 50
|
| 1212 |
+
},
|
| 1213 |
+
"r34_SE_estimate_km": {
|
| 1214 |
+
"mean": 291.01193579964576,
|
| 1215 |
+
"p10": 289.7902967526299,
|
| 1216 |
+
"p90": 292.12343072635997,
|
| 1217 |
+
"valid_members": 50,
|
| 1218 |
+
"total_members": 50
|
| 1219 |
+
},
|
| 1220 |
+
"r34_SW_estimate_km": {
|
| 1221 |
+
"mean": 291.01193579964576,
|
| 1222 |
+
"p10": 289.7902967526299,
|
| 1223 |
+
"p90": 292.12343072635997,
|
| 1224 |
+
"valid_members": 50,
|
| 1225 |
+
"total_members": 50
|
| 1226 |
+
},
|
| 1227 |
+
"r34_NW_estimate_km": {
|
| 1228 |
+
"mean": 374.15820317097314,
|
| 1229 |
+
"p10": 372.58752439623834,
|
| 1230 |
+
"p90": 375.58726807674844,
|
| 1231 |
+
"valid_members": 50,
|
| 1232 |
+
"total_members": 50
|
| 1233 |
+
},
|
| 1234 |
+
"r50_NE_estimate_km": {
|
| 1235 |
+
"mean": 235.07336370403848,
|
| 1236 |
+
"p10": 233.28935969473136,
|
| 1237 |
+
"p90": 236.69874902431843,
|
| 1238 |
+
"valid_members": 50,
|
| 1239 |
+
"total_members": 50
|
| 1240 |
+
},
|
| 1241 |
+
"r50_SE_estimate_km": {
|
| 1242 |
+
"mean": 179.80486657321165,
|
| 1243 |
+
"p10": 178.3751466245668,
|
| 1244 |
+
"p90": 181.10765901713006,
|
| 1245 |
+
"valid_members": 50,
|
| 1246 |
+
"total_members": 50
|
| 1247 |
+
},
|
| 1248 |
+
"r50_SW_estimate_km": {
|
| 1249 |
+
"mean": 179.80486657321165,
|
| 1250 |
+
"p10": 178.3751466245668,
|
| 1251 |
+
"p90": 181.10765901713006,
|
| 1252 |
+
"valid_members": 50,
|
| 1253 |
+
"total_members": 50
|
| 1254 |
+
},
|
| 1255 |
+
"r50_NW_estimate_km": {
|
| 1256 |
+
"mean": 235.07336370403848,
|
| 1257 |
+
"p10": 233.28935969473136,
|
| 1258 |
+
"p90": 236.69874902431843,
|
| 1259 |
+
"valid_members": 50,
|
| 1260 |
+
"total_members": 50
|
| 1261 |
+
},
|
| 1262 |
+
"r64_NE_estimate_km": {
|
| 1263 |
+
"mean": 148.10219535235476,
|
| 1264 |
+
"p10": 146.1878321490364,
|
| 1265 |
+
"p90": 149.8501293658255,
|
| 1266 |
+
"valid_members": 50,
|
| 1267 |
+
"total_members": 50
|
| 1268 |
+
},
|
| 1269 |
+
"r64_SE_estimate_km": {
|
| 1270 |
+
"mean": 111.7059768118357,
|
| 1271 |
+
"p10": 110.23924885058163,
|
| 1272 |
+
"p90": 113.04530285914176,
|
| 1273 |
+
"valid_members": 50,
|
| 1274 |
+
"total_members": 50
|
| 1275 |
+
},
|
| 1276 |
+
"r64_SW_estimate_km": {
|
| 1277 |
+
"mean": 111.7059768118357,
|
| 1278 |
+
"p10": 110.23924885058163,
|
| 1279 |
+
"p90": 113.04530285914176,
|
| 1280 |
+
"valid_members": 50,
|
| 1281 |
+
"total_members": 50
|
| 1282 |
+
},
|
| 1283 |
+
"r64_NW_estimate_km": {
|
| 1284 |
+
"mean": 148.10219535235476,
|
| 1285 |
+
"p10": 146.1878321490364,
|
| 1286 |
+
"p90": 149.8501293658255,
|
| 1287 |
+
"valid_members": 50,
|
| 1288 |
+
"total_members": 50
|
| 1289 |
+
}
|
| 1290 |
+
},
|
| 1291 |
+
"official_scoring_allowed": false
|
| 1292 |
+
}
|
| 1293 |
+
},
|
| 1294 |
+
{
|
| 1295 |
+
"lead_hours": 60,
|
| 1296 |
+
"valid_time_utc": "2018-09-13T12:00:00Z",
|
| 1297 |
+
"summary": {
|
| 1298 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1299 |
+
"members": 50,
|
| 1300 |
+
"definitions": {
|
| 1301 |
+
"units": "km",
|
| 1302 |
+
"quantity_kind": "radius_not_diameter",
|
| 1303 |
+
"thresholds_kt": [
|
| 1304 |
+
34,
|
| 1305 |
+
50,
|
| 1306 |
+
64
|
| 1307 |
+
],
|
| 1308 |
+
"quadrant_order": [
|
| 1309 |
+
"NE",
|
| 1310 |
+
"SE",
|
| 1311 |
+
"SW",
|
| 1312 |
+
"NW"
|
| 1313 |
+
],
|
| 1314 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1315 |
+
"target_wind_averaging_seconds": 60,
|
| 1316 |
+
"validated_wind_averaging_seconds": null,
|
| 1317 |
+
"validated_surface_height_m": null,
|
| 1318 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1319 |
+
"official_scoring_allowed": false
|
| 1320 |
+
},
|
| 1321 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1322 |
+
"estimates": {
|
| 1323 |
+
"wind_estimate_kt": {
|
| 1324 |
+
"mean": 146.01699189642278,
|
| 1325 |
+
"p10": 145.37789957646814,
|
| 1326 |
+
"p90": 146.55230452591934,
|
| 1327 |
+
"valid_members": 50,
|
| 1328 |
+
"total_members": 50
|
| 1329 |
+
},
|
| 1330 |
+
"rmw_persistence_km": {
|
| 1331 |
+
"mean": 9.259999999999998,
|
| 1332 |
+
"p10": 9.26,
|
| 1333 |
+
"p90": 9.26,
|
| 1334 |
+
"valid_members": 50,
|
| 1335 |
+
"total_members": 50
|
| 1336 |
+
},
|
| 1337 |
+
"r34_NE_estimate_km": {
|
| 1338 |
+
"mean": 377.49205783470313,
|
| 1339 |
+
"p10": 376.17002713489654,
|
| 1340 |
+
"p90": 378.59911864422077,
|
| 1341 |
+
"valid_members": 50,
|
| 1342 |
+
"total_members": 50
|
| 1343 |
+
},
|
| 1344 |
+
"r34_SE_estimate_km": {
|
| 1345 |
+
"mean": 293.60493387143583,
|
| 1346 |
+
"p10": 292.57668777158625,
|
| 1347 |
+
"p90": 294.4659811677273,
|
| 1348 |
+
"valid_members": 50,
|
| 1349 |
+
"total_members": 50
|
| 1350 |
+
},
|
| 1351 |
+
"r34_SW_estimate_km": {
|
| 1352 |
+
"mean": 293.60493387143583,
|
| 1353 |
+
"p10": 292.57668777158625,
|
| 1354 |
+
"p90": 294.4659811677273,
|
| 1355 |
+
"valid_members": 50,
|
| 1356 |
+
"total_members": 50
|
| 1357 |
+
},
|
| 1358 |
+
"r34_NW_estimate_km": {
|
| 1359 |
+
"mean": 377.49205783470313,
|
| 1360 |
+
"p10": 376.17002713489654,
|
| 1361 |
+
"p90": 378.59911864422077,
|
| 1362 |
+
"valid_members": 50,
|
| 1363 |
+
"total_members": 50
|
| 1364 |
+
},
|
| 1365 |
+
"r50_NE_estimate_km": {
|
| 1366 |
+
"mean": 238.87634804607686,
|
| 1367 |
+
"p10": 237.36365735399173,
|
| 1368 |
+
"p90": 240.1441434009815,
|
| 1369 |
+
"valid_members": 50,
|
| 1370 |
+
"total_members": 50
|
| 1371 |
+
},
|
| 1372 |
+
"r50_SE_estimate_km": {
|
| 1373 |
+
"mean": 182.85402364633873,
|
| 1374 |
+
"p10": 181.64078142896696,
|
| 1375 |
+
"p90": 183.87094189707216,
|
| 1376 |
+
"valid_members": 50,
|
| 1377 |
+
"total_members": 50
|
| 1378 |
+
},
|
| 1379 |
+
"r50_SW_estimate_km": {
|
| 1380 |
+
"mean": 182.85402364633873,
|
| 1381 |
+
"p10": 181.64078142896696,
|
| 1382 |
+
"p90": 183.87094189707216,
|
| 1383 |
+
"valid_members": 50,
|
| 1384 |
+
"total_members": 50
|
| 1385 |
+
},
|
| 1386 |
+
"r50_NW_estimate_km": {
|
| 1387 |
+
"mean": 238.87634804607686,
|
| 1388 |
+
"p10": 237.36365735399173,
|
| 1389 |
+
"p90": 240.1441434009815,
|
| 1390 |
+
"valid_members": 50,
|
| 1391 |
+
"total_members": 50
|
| 1392 |
+
},
|
| 1393 |
+
"r64_NE_estimate_km": {
|
| 1394 |
+
"mean": 152.21092007918037,
|
| 1395 |
+
"p10": 150.56872682226046,
|
| 1396 |
+
"p90": 153.58910161683315,
|
| 1397 |
+
"valid_members": 50,
|
| 1398 |
+
"total_members": 50
|
| 1399 |
+
},
|
| 1400 |
+
"r64_SE_estimate_km": {
|
| 1401 |
+
"mean": 114.85478099085476,
|
| 1402 |
+
"p10": 113.59602115274441,
|
| 1403 |
+
"p90": 115.91122727540295,
|
| 1404 |
+
"valid_members": 50,
|
| 1405 |
+
"total_members": 50
|
| 1406 |
+
},
|
| 1407 |
+
"r64_SW_estimate_km": {
|
| 1408 |
+
"mean": 114.85478099085476,
|
| 1409 |
+
"p10": 113.59602115274441,
|
| 1410 |
+
"p90": 115.91122727540295,
|
| 1411 |
+
"valid_members": 50,
|
| 1412 |
+
"total_members": 50
|
| 1413 |
+
},
|
| 1414 |
+
"r64_NW_estimate_km": {
|
| 1415 |
+
"mean": 152.21092007918037,
|
| 1416 |
+
"p10": 150.56872682226046,
|
| 1417 |
+
"p90": 153.58910161683315,
|
| 1418 |
+
"valid_members": 50,
|
| 1419 |
+
"total_members": 50
|
| 1420 |
+
}
|
| 1421 |
+
},
|
| 1422 |
+
"official_scoring_allowed": false
|
| 1423 |
+
}
|
| 1424 |
+
},
|
| 1425 |
+
{
|
| 1426 |
+
"lead_hours": 66,
|
| 1427 |
+
"valid_time_utc": "2018-09-13T18:00:00Z",
|
| 1428 |
+
"summary": {
|
| 1429 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1430 |
+
"members": 50,
|
| 1431 |
+
"definitions": {
|
| 1432 |
+
"units": "km",
|
| 1433 |
+
"quantity_kind": "radius_not_diameter",
|
| 1434 |
+
"thresholds_kt": [
|
| 1435 |
+
34,
|
| 1436 |
+
50,
|
| 1437 |
+
64
|
| 1438 |
+
],
|
| 1439 |
+
"quadrant_order": [
|
| 1440 |
+
"NE",
|
| 1441 |
+
"SE",
|
| 1442 |
+
"SW",
|
| 1443 |
+
"NW"
|
| 1444 |
+
],
|
| 1445 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1446 |
+
"target_wind_averaging_seconds": 60,
|
| 1447 |
+
"validated_wind_averaging_seconds": null,
|
| 1448 |
+
"validated_surface_height_m": null,
|
| 1449 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1450 |
+
"official_scoring_allowed": false
|
| 1451 |
+
},
|
| 1452 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1453 |
+
"estimates": {
|
| 1454 |
+
"wind_estimate_kt": {
|
| 1455 |
+
"mean": 144.84858215433505,
|
| 1456 |
+
"p10": 144.21128638462065,
|
| 1457 |
+
"p90": 145.4806411809471,
|
| 1458 |
+
"valid_members": 50,
|
| 1459 |
+
"total_members": 50
|
| 1460 |
+
},
|
| 1461 |
+
"rmw_persistence_km": {
|
| 1462 |
+
"mean": 9.259999999999998,
|
| 1463 |
+
"p10": 9.26,
|
| 1464 |
+
"p90": 9.26,
|
| 1465 |
+
"valid_members": 50,
|
| 1466 |
+
"total_members": 50
|
| 1467 |
+
},
|
| 1468 |
+
"r34_NE_estimate_km": {
|
| 1469 |
+
"mean": 375.0735904976269,
|
| 1470 |
+
"p10": 373.75316377783196,
|
| 1471 |
+
"p90": 376.3826896013987,
|
| 1472 |
+
"valid_members": 50,
|
| 1473 |
+
"total_members": 50
|
| 1474 |
+
},
|
| 1475 |
+
"r34_SE_estimate_km": {
|
| 1476 |
+
"mean": 291.72390372037654,
|
| 1477 |
+
"p10": 290.696905160536,
|
| 1478 |
+
"p90": 292.742091912199,
|
| 1479 |
+
"valid_members": 50,
|
| 1480 |
+
"total_members": 50
|
| 1481 |
+
},
|
| 1482 |
+
"r34_SW_estimate_km": {
|
| 1483 |
+
"mean": 291.72390372037654,
|
| 1484 |
+
"p10": 290.696905160536,
|
| 1485 |
+
"p90": 292.742091912199,
|
| 1486 |
+
"valid_members": 50,
|
| 1487 |
+
"total_members": 50
|
| 1488 |
+
},
|
| 1489 |
+
"r34_NW_estimate_km": {
|
| 1490 |
+
"mean": 375.0735904976269,
|
| 1491 |
+
"p10": 373.75316377783196,
|
| 1492 |
+
"p90": 376.3826896013987,
|
| 1493 |
+
"valid_members": 50,
|
| 1494 |
+
"total_members": 50
|
| 1495 |
+
},
|
| 1496 |
+
"r50_NE_estimate_km": {
|
| 1497 |
+
"mean": 236.1145951468856,
|
| 1498 |
+
"p10": 234.61154972232487,
|
| 1499 |
+
"p90": 237.60650633664807,
|
| 1500 |
+
"valid_members": 50,
|
| 1501 |
+
"total_members": 50
|
| 1502 |
+
},
|
| 1503 |
+
"r50_SE_estimate_km": {
|
| 1504 |
+
"mean": 180.63945108666587,
|
| 1505 |
+
"p10": 179.43461272839514,
|
| 1506 |
+
"p90": 181.83551521764733,
|
| 1507 |
+
"valid_members": 50,
|
| 1508 |
+
"total_members": 50
|
| 1509 |
+
},
|
| 1510 |
+
"r50_SW_estimate_km": {
|
| 1511 |
+
"mean": 180.63945108666587,
|
| 1512 |
+
"p10": 179.43461272839514,
|
| 1513 |
+
"p90": 181.83551521764733,
|
| 1514 |
+
"valid_members": 50,
|
| 1515 |
+
"total_members": 50
|
| 1516 |
+
},
|
| 1517 |
+
"r50_NW_estimate_km": {
|
| 1518 |
+
"mean": 236.1145951468856,
|
| 1519 |
+
"p10": 234.61154972232487,
|
| 1520 |
+
"p90": 237.60650633664807,
|
| 1521 |
+
"valid_members": 50,
|
| 1522 |
+
"total_members": 50
|
| 1523 |
+
},
|
| 1524 |
+
"r64_NE_estimate_km": {
|
| 1525 |
+
"mean": 149.2220942801579,
|
| 1526 |
+
"p10": 147.60365066595048,
|
| 1527 |
+
"p90": 150.8315404394418,
|
| 1528 |
+
"valid_members": 50,
|
| 1529 |
+
"total_members": 50
|
| 1530 |
+
},
|
| 1531 |
+
"r64_SE_estimate_km": {
|
| 1532 |
+
"mean": 112.5640860769311,
|
| 1533 |
+
"p10": 111.32391904336518,
|
| 1534 |
+
"p90": 113.7974465437291,
|
| 1535 |
+
"valid_members": 50,
|
| 1536 |
+
"total_members": 50
|
| 1537 |
+
},
|
| 1538 |
+
"r64_SW_estimate_km": {
|
| 1539 |
+
"mean": 112.5640860769311,
|
| 1540 |
+
"p10": 111.32391904336518,
|
| 1541 |
+
"p90": 113.7974465437291,
|
| 1542 |
+
"valid_members": 50,
|
| 1543 |
+
"total_members": 50
|
| 1544 |
+
},
|
| 1545 |
+
"r64_NW_estimate_km": {
|
| 1546 |
+
"mean": 149.2220942801579,
|
| 1547 |
+
"p10": 147.60365066595048,
|
| 1548 |
+
"p90": 150.8315404394418,
|
| 1549 |
+
"valid_members": 50,
|
| 1550 |
+
"total_members": 50
|
| 1551 |
+
}
|
| 1552 |
+
},
|
| 1553 |
+
"official_scoring_allowed": false
|
| 1554 |
+
}
|
| 1555 |
+
},
|
| 1556 |
+
{
|
| 1557 |
+
"lead_hours": 72,
|
| 1558 |
+
"valid_time_utc": "2018-09-14T00:00:00Z",
|
| 1559 |
+
"summary": {
|
| 1560 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1561 |
+
"members": 50,
|
| 1562 |
+
"definitions": {
|
| 1563 |
+
"units": "km",
|
| 1564 |
+
"quantity_kind": "radius_not_diameter",
|
| 1565 |
+
"thresholds_kt": [
|
| 1566 |
+
34,
|
| 1567 |
+
50,
|
| 1568 |
+
64
|
| 1569 |
+
],
|
| 1570 |
+
"quadrant_order": [
|
| 1571 |
+
"NE",
|
| 1572 |
+
"SE",
|
| 1573 |
+
"SW",
|
| 1574 |
+
"NW"
|
| 1575 |
+
],
|
| 1576 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1577 |
+
"target_wind_averaging_seconds": 60,
|
| 1578 |
+
"validated_wind_averaging_seconds": null,
|
| 1579 |
+
"validated_surface_height_m": null,
|
| 1580 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1581 |
+
"official_scoring_allowed": false
|
| 1582 |
+
},
|
| 1583 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1584 |
+
"estimates": {
|
| 1585 |
+
"wind_estimate_kt": {
|
| 1586 |
+
"mean": 143.18112357071124,
|
| 1587 |
+
"p10": 142.42784868259352,
|
| 1588 |
+
"p90": 144.12513358615647,
|
| 1589 |
+
"valid_members": 50,
|
| 1590 |
+
"total_members": 50
|
| 1591 |
+
},
|
| 1592 |
+
"rmw_persistence_km": {
|
| 1593 |
+
"mean": 9.259999999999998,
|
| 1594 |
+
"p10": 9.26,
|
| 1595 |
+
"p90": 9.26,
|
| 1596 |
+
"valid_members": 50,
|
| 1597 |
+
"total_members": 50
|
| 1598 |
+
},
|
| 1599 |
+
"r34_NE_estimate_km": {
|
| 1600 |
+
"mean": 371.61509200527945,
|
| 1601 |
+
"p10": 370.0508518589042,
|
| 1602 |
+
"p90": 373.57452608280954,
|
| 1603 |
+
"valid_members": 50,
|
| 1604 |
+
"total_members": 50
|
| 1605 |
+
},
|
| 1606 |
+
"r34_SE_estimate_km": {
|
| 1607 |
+
"mean": 289.0339604485508,
|
| 1608 |
+
"p10": 287.8173292235922,
|
| 1609 |
+
"p90": 290.55796473107415,
|
| 1610 |
+
"valid_members": 50,
|
| 1611 |
+
"total_members": 50
|
| 1612 |
+
},
|
| 1613 |
+
"r34_SW_estimate_km": {
|
| 1614 |
+
"mean": 289.0339604485508,
|
| 1615 |
+
"p10": 287.8173292235922,
|
| 1616 |
+
"p90": 290.55796473107415,
|
| 1617 |
+
"valid_members": 50,
|
| 1618 |
+
"total_members": 50
|
| 1619 |
+
},
|
| 1620 |
+
"r34_NW_estimate_km": {
|
| 1621 |
+
"mean": 371.61509200527945,
|
| 1622 |
+
"p10": 370.0508518589042,
|
| 1623 |
+
"p90": 373.57452608280954,
|
| 1624 |
+
"valid_members": 50,
|
| 1625 |
+
"total_members": 50
|
| 1626 |
+
},
|
| 1627 |
+
"r50_NE_estimate_km": {
|
| 1628 |
+
"mean": 232.19121897808338,
|
| 1629 |
+
"p10": 230.4235549891168,
|
| 1630 |
+
"p90": 234.40870637318633,
|
| 1631 |
+
"valid_members": 50,
|
| 1632 |
+
"total_members": 50
|
| 1633 |
+
},
|
| 1634 |
+
"r50_SE_estimate_km": {
|
| 1635 |
+
"mean": 177.49562882657037,
|
| 1636 |
+
"p10": 176.07977538507214,
|
| 1637 |
+
"p90": 179.27205675510885,
|
| 1638 |
+
"valid_members": 50,
|
| 1639 |
+
"total_members": 50
|
| 1640 |
+
},
|
| 1641 |
+
"r50_SW_estimate_km": {
|
| 1642 |
+
"mean": 177.49562882657037,
|
| 1643 |
+
"p10": 176.07977538507214,
|
| 1644 |
+
"p90": 179.27205675510885,
|
| 1645 |
+
"valid_members": 50,
|
| 1646 |
+
"total_members": 50
|
| 1647 |
+
},
|
| 1648 |
+
"r50_NW_estimate_km": {
|
| 1649 |
+
"mean": 232.19121897808338,
|
| 1650 |
+
"p10": 230.4235549891168,
|
| 1651 |
+
"p90": 234.40870637318633,
|
| 1652 |
+
"valid_members": 50,
|
| 1653 |
+
"total_members": 50
|
| 1654 |
+
},
|
| 1655 |
+
"r64_NE_estimate_km": {
|
| 1656 |
+
"mean": 145.02014720517826,
|
| 1657 |
+
"p10": 143.13848952962286,
|
| 1658 |
+
"p90": 147.3860820184394,
|
| 1659 |
+
"valid_members": 50,
|
| 1660 |
+
"total_members": 50
|
| 1661 |
+
},
|
| 1662 |
+
"r64_SE_estimate_km": {
|
| 1663 |
+
"mean": 109.3449163306136,
|
| 1664 |
+
"p10": 107.9036899957915,
|
| 1665 |
+
"p90": 111.15722730042825,
|
| 1666 |
+
"valid_members": 50,
|
| 1667 |
+
"total_members": 50
|
| 1668 |
+
},
|
| 1669 |
+
"r64_SW_estimate_km": {
|
| 1670 |
+
"mean": 109.3449163306136,
|
| 1671 |
+
"p10": 107.9036899957915,
|
| 1672 |
+
"p90": 111.15722730042825,
|
| 1673 |
+
"valid_members": 50,
|
| 1674 |
+
"total_members": 50
|
| 1675 |
+
},
|
| 1676 |
+
"r64_NW_estimate_km": {
|
| 1677 |
+
"mean": 145.02014720517826,
|
| 1678 |
+
"p10": 143.13848952962286,
|
| 1679 |
+
"p90": 147.3860820184394,
|
| 1680 |
+
"valid_members": 50,
|
| 1681 |
+
"total_members": 50
|
| 1682 |
+
}
|
| 1683 |
+
},
|
| 1684 |
+
"official_scoring_allowed": false
|
| 1685 |
+
}
|
| 1686 |
+
},
|
| 1687 |
+
{
|
| 1688 |
+
"lead_hours": 78,
|
| 1689 |
+
"valid_time_utc": "2018-09-14T06:00:00Z",
|
| 1690 |
+
"summary": {
|
| 1691 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1692 |
+
"members": 50,
|
| 1693 |
+
"definitions": {
|
| 1694 |
+
"units": "km",
|
| 1695 |
+
"quantity_kind": "radius_not_diameter",
|
| 1696 |
+
"thresholds_kt": [
|
| 1697 |
+
34,
|
| 1698 |
+
50,
|
| 1699 |
+
64
|
| 1700 |
+
],
|
| 1701 |
+
"quadrant_order": [
|
| 1702 |
+
"NE",
|
| 1703 |
+
"SE",
|
| 1704 |
+
"SW",
|
| 1705 |
+
"NW"
|
| 1706 |
+
],
|
| 1707 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1708 |
+
"target_wind_averaging_seconds": 60,
|
| 1709 |
+
"validated_wind_averaging_seconds": null,
|
| 1710 |
+
"validated_surface_height_m": null,
|
| 1711 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1712 |
+
"official_scoring_allowed": false
|
| 1713 |
+
},
|
| 1714 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1715 |
+
"estimates": {
|
| 1716 |
+
"wind_estimate_kt": {
|
| 1717 |
+
"mean": 138.89302374951697,
|
| 1718 |
+
"p10": 138.19314784765237,
|
| 1719 |
+
"p90": 139.7769645791015,
|
| 1720 |
+
"valid_members": 50,
|
| 1721 |
+
"total_members": 50
|
| 1722 |
+
},
|
| 1723 |
+
"rmw_persistence_km": {
|
| 1724 |
+
"mean": 9.259999999999998,
|
| 1725 |
+
"p10": 9.26,
|
| 1726 |
+
"p90": 9.26,
|
| 1727 |
+
"valid_members": 50,
|
| 1728 |
+
"total_members": 50
|
| 1729 |
+
},
|
| 1730 |
+
"r34_NE_estimate_km": {
|
| 1731 |
+
"mean": 362.6845868085104,
|
| 1732 |
+
"p10": 361.2224075194414,
|
| 1733 |
+
"p90": 364.5305753616423,
|
| 1734 |
+
"valid_members": 50,
|
| 1735 |
+
"total_members": 50
|
| 1736 |
+
},
|
| 1737 |
+
"r34_SE_estimate_km": {
|
| 1738 |
+
"mean": 282.08801196217485,
|
| 1739 |
+
"p10": 280.95076140400994,
|
| 1740 |
+
"p90": 283.52378083683294,
|
| 1741 |
+
"valid_members": 50,
|
| 1742 |
+
"total_members": 50
|
| 1743 |
+
},
|
| 1744 |
+
"r34_SW_estimate_km": {
|
| 1745 |
+
"mean": 282.08801196217485,
|
| 1746 |
+
"p10": 280.95076140400994,
|
| 1747 |
+
"p90": 283.52378083683294,
|
| 1748 |
+
"valid_members": 50,
|
| 1749 |
+
"total_members": 50
|
| 1750 |
+
},
|
| 1751 |
+
"r34_NW_estimate_km": {
|
| 1752 |
+
"mean": 362.6845868085104,
|
| 1753 |
+
"p10": 361.2224075194414,
|
| 1754 |
+
"p90": 364.5305753616423,
|
| 1755 |
+
"valid_members": 50,
|
| 1756 |
+
"total_members": 50
|
| 1757 |
+
},
|
| 1758 |
+
"r50_NE_estimate_km": {
|
| 1759 |
+
"mean": 222.19363592254348,
|
| 1760 |
+
"p10": 220.57337792604122,
|
| 1761 |
+
"p90": 224.24184804150448,
|
| 1762 |
+
"valid_members": 50,
|
| 1763 |
+
"total_members": 50
|
| 1764 |
+
},
|
| 1765 |
+
"r50_SE_estimate_km": {
|
| 1766 |
+
"mean": 169.4958407587657,
|
| 1767 |
+
"p10": 168.20077350131754,
|
| 1768 |
+
"p90": 171.13319706801113,
|
| 1769 |
+
"valid_members": 50,
|
| 1770 |
+
"total_members": 50
|
| 1771 |
+
},
|
| 1772 |
+
"r50_SW_estimate_km": {
|
| 1773 |
+
"mean": 169.4958407587657,
|
| 1774 |
+
"p10": 168.20077350131754,
|
| 1775 |
+
"p90": 171.13319706801113,
|
| 1776 |
+
"valid_members": 50,
|
| 1777 |
+
"total_members": 50
|
| 1778 |
+
},
|
| 1779 |
+
"r50_NW_estimate_km": {
|
| 1780 |
+
"mean": 222.19363592254348,
|
| 1781 |
+
"p10": 220.57337792604122,
|
| 1782 |
+
"p90": 224.24184804150448,
|
| 1783 |
+
"valid_members": 50,
|
| 1784 |
+
"total_members": 50
|
| 1785 |
+
},
|
| 1786 |
+
"r64_NE_estimate_km": {
|
| 1787 |
+
"mean": 134.5334564852949,
|
| 1788 |
+
"p10": 132.8612081203948,
|
| 1789 |
+
"p90": 136.65170709216787,
|
| 1790 |
+
"valid_members": 50,
|
| 1791 |
+
"total_members": 50
|
| 1792 |
+
},
|
| 1793 |
+
"r64_SE_estimate_km": {
|
| 1794 |
+
"mean": 101.3173186298388,
|
| 1795 |
+
"p10": 100.03800274989015,
|
| 1796 |
+
"p90": 102.93796506226097,
|
| 1797 |
+
"valid_members": 50,
|
| 1798 |
+
"total_members": 50
|
| 1799 |
+
},
|
| 1800 |
+
"r64_SW_estimate_km": {
|
| 1801 |
+
"mean": 101.3173186298388,
|
| 1802 |
+
"p10": 100.03800274989015,
|
| 1803 |
+
"p90": 102.93796506226097,
|
| 1804 |
+
"valid_members": 50,
|
| 1805 |
+
"total_members": 50
|
| 1806 |
+
},
|
| 1807 |
+
"r64_NW_estimate_km": {
|
| 1808 |
+
"mean": 134.5334564852949,
|
| 1809 |
+
"p10": 132.8612081203948,
|
| 1810 |
+
"p90": 136.65170709216787,
|
| 1811 |
+
"valid_members": 50,
|
| 1812 |
+
"total_members": 50
|
| 1813 |
+
}
|
| 1814 |
+
},
|
| 1815 |
+
"official_scoring_allowed": false
|
| 1816 |
+
}
|
| 1817 |
+
},
|
| 1818 |
+
{
|
| 1819 |
+
"lead_hours": 84,
|
| 1820 |
+
"valid_time_utc": "2018-09-14T12:00:00Z",
|
| 1821 |
+
"summary": {
|
| 1822 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1823 |
+
"members": 50,
|
| 1824 |
+
"definitions": {
|
| 1825 |
+
"units": "km",
|
| 1826 |
+
"quantity_kind": "radius_not_diameter",
|
| 1827 |
+
"thresholds_kt": [
|
| 1828 |
+
34,
|
| 1829 |
+
50,
|
| 1830 |
+
64
|
| 1831 |
+
],
|
| 1832 |
+
"quadrant_order": [
|
| 1833 |
+
"NE",
|
| 1834 |
+
"SE",
|
| 1835 |
+
"SW",
|
| 1836 |
+
"NW"
|
| 1837 |
+
],
|
| 1838 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1839 |
+
"target_wind_averaging_seconds": 60,
|
| 1840 |
+
"validated_wind_averaging_seconds": null,
|
| 1841 |
+
"validated_surface_height_m": null,
|
| 1842 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1843 |
+
"official_scoring_allowed": false
|
| 1844 |
+
},
|
| 1845 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1846 |
+
"estimates": {
|
| 1847 |
+
"wind_estimate_kt": {
|
| 1848 |
+
"mean": 140.1819895636485,
|
| 1849 |
+
"p10": 139.54813529908427,
|
| 1850 |
+
"p90": 141.01806534472283,
|
| 1851 |
+
"valid_members": 50,
|
| 1852 |
+
"total_members": 50
|
| 1853 |
+
},
|
| 1854 |
+
"rmw_persistence_km": {
|
| 1855 |
+
"mean": 9.259999999999998,
|
| 1856 |
+
"p10": 9.26,
|
| 1857 |
+
"p90": 9.26,
|
| 1858 |
+
"valid_members": 50,
|
| 1859 |
+
"total_members": 50
|
| 1860 |
+
},
|
| 1861 |
+
"r34_NE_estimate_km": {
|
| 1862 |
+
"mean": 365.374902169482,
|
| 1863 |
+
"p10": 364.05307772710586,
|
| 1864 |
+
"p90": 367.11766134104914,
|
| 1865 |
+
"valid_members": 50,
|
| 1866 |
+
"total_members": 50
|
| 1867 |
+
},
|
| 1868 |
+
"r34_SE_estimate_km": {
|
| 1869 |
+
"mean": 284.18047946515276,
|
| 1870 |
+
"p10": 283.152393787749,
|
| 1871 |
+
"p90": 285.535958820816,
|
| 1872 |
+
"valid_members": 50,
|
| 1873 |
+
"total_members": 50
|
| 1874 |
+
},
|
| 1875 |
+
"r34_SW_estimate_km": {
|
| 1876 |
+
"mean": 284.18047946515276,
|
| 1877 |
+
"p10": 283.152393787749,
|
| 1878 |
+
"p90": 285.535958820816,
|
| 1879 |
+
"valid_members": 50,
|
| 1880 |
+
"total_members": 50
|
| 1881 |
+
},
|
| 1882 |
+
"r34_NW_estimate_km": {
|
| 1883 |
+
"mean": 365.374902169482,
|
| 1884 |
+
"p10": 364.05307772710586,
|
| 1885 |
+
"p90": 367.11766134104914,
|
| 1886 |
+
"valid_members": 50,
|
| 1887 |
+
"total_members": 50
|
| 1888 |
+
},
|
| 1889 |
+
"r50_NE_estimate_km": {
|
| 1890 |
+
"mean": 225.18411035247692,
|
| 1891 |
+
"p10": 223.71067344332593,
|
| 1892 |
+
"p90": 227.12955362110668,
|
| 1893 |
+
"valid_members": 50,
|
| 1894 |
+
"total_members": 50
|
| 1895 |
+
},
|
| 1896 |
+
"r50_SE_estimate_km": {
|
| 1897 |
+
"mean": 171.88691539241708,
|
| 1898 |
+
"p10": 170.70845500079633,
|
| 1899 |
+
"p90": 173.44312705660988,
|
| 1900 |
+
"valid_members": 50,
|
| 1901 |
+
"total_members": 50
|
| 1902 |
+
},
|
| 1903 |
+
"r50_SW_estimate_km": {
|
| 1904 |
+
"mean": 171.88691539241708,
|
| 1905 |
+
"p10": 170.70845500079633,
|
| 1906 |
+
"p90": 173.44312705660988,
|
| 1907 |
+
"valid_members": 50,
|
| 1908 |
+
"total_members": 50
|
| 1909 |
+
},
|
| 1910 |
+
"r50_NW_estimate_km": {
|
| 1911 |
+
"mean": 225.18411035247692,
|
| 1912 |
+
"p10": 223.71067344332593,
|
| 1913 |
+
"p90": 227.12955362110668,
|
| 1914 |
+
"valid_members": 50,
|
| 1915 |
+
"total_members": 50
|
| 1916 |
+
},
|
| 1917 |
+
"r64_NE_estimate_km": {
|
| 1918 |
+
"mean": 137.6351291394203,
|
| 1919 |
+
"p10": 136.10013390269503,
|
| 1920 |
+
"p90": 139.66643952357123,
|
| 1921 |
+
"valid_members": 50,
|
| 1922 |
+
"total_members": 50
|
| 1923 |
+
},
|
| 1924 |
+
"r64_SE_estimate_km": {
|
| 1925 |
+
"mean": 103.69063204707167,
|
| 1926 |
+
"p10": 102.51589785824899,
|
| 1927 |
+
"p90": 105.24533166735065,
|
| 1928 |
+
"valid_members": 50,
|
| 1929 |
+
"total_members": 50
|
| 1930 |
+
},
|
| 1931 |
+
"r64_SW_estimate_km": {
|
| 1932 |
+
"mean": 103.69063204707167,
|
| 1933 |
+
"p10": 102.51589785824899,
|
| 1934 |
+
"p90": 105.24533166735065,
|
| 1935 |
+
"valid_members": 50,
|
| 1936 |
+
"total_members": 50
|
| 1937 |
+
},
|
| 1938 |
+
"r64_NW_estimate_km": {
|
| 1939 |
+
"mean": 137.6351291394203,
|
| 1940 |
+
"p10": 136.10013390269503,
|
| 1941 |
+
"p90": 139.66643952357123,
|
| 1942 |
+
"valid_members": 50,
|
| 1943 |
+
"total_members": 50
|
| 1944 |
+
}
|
| 1945 |
+
},
|
| 1946 |
+
"official_scoring_allowed": false
|
| 1947 |
+
}
|
| 1948 |
+
},
|
| 1949 |
+
{
|
| 1950 |
+
"lead_hours": 90,
|
| 1951 |
+
"valid_time_utc": "2018-09-14T18:00:00Z",
|
| 1952 |
+
"summary": {
|
| 1953 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1954 |
+
"members": 50,
|
| 1955 |
+
"definitions": {
|
| 1956 |
+
"units": "km",
|
| 1957 |
+
"quantity_kind": "radius_not_diameter",
|
| 1958 |
+
"thresholds_kt": [
|
| 1959 |
+
34,
|
| 1960 |
+
50,
|
| 1961 |
+
64
|
| 1962 |
+
],
|
| 1963 |
+
"quadrant_order": [
|
| 1964 |
+
"NE",
|
| 1965 |
+
"SE",
|
| 1966 |
+
"SW",
|
| 1967 |
+
"NW"
|
| 1968 |
+
],
|
| 1969 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1970 |
+
"target_wind_averaging_seconds": 60,
|
| 1971 |
+
"validated_wind_averaging_seconds": null,
|
| 1972 |
+
"validated_surface_height_m": null,
|
| 1973 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1974 |
+
"official_scoring_allowed": false
|
| 1975 |
+
},
|
| 1976 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1977 |
+
"estimates": {
|
| 1978 |
+
"wind_estimate_kt": {
|
| 1979 |
+
"mean": 136.006388505269,
|
| 1980 |
+
"p10": 134.98218055795516,
|
| 1981 |
+
"p90": 137.19167937096498,
|
| 1982 |
+
"valid_members": 50,
|
| 1983 |
+
"total_members": 50
|
| 1984 |
+
},
|
| 1985 |
+
"rmw_persistence_km": {
|
| 1986 |
+
"mean": 9.259999999999998,
|
| 1987 |
+
"p10": 9.26,
|
| 1988 |
+
"p90": 9.26,
|
| 1989 |
+
"valid_members": 50,
|
| 1990 |
+
"total_members": 50
|
| 1991 |
+
},
|
| 1992 |
+
"r34_NE_estimate_km": {
|
| 1993 |
+
"mean": 356.64119588787077,
|
| 1994 |
+
"p10": 354.4921551276431,
|
| 1995 |
+
"p90": 359.126696789439,
|
| 1996 |
+
"valid_members": 50,
|
| 1997 |
+
"total_members": 50
|
| 1998 |
+
},
|
| 1999 |
+
"r34_SE_estimate_km": {
|
| 2000 |
+
"mean": 277.38759680167726,
|
| 2001 |
+
"p10": 275.71612065483356,
|
| 2002 |
+
"p90": 279.32076416956363,
|
| 2003 |
+
"valid_members": 50,
|
| 2004 |
+
"total_members": 50
|
| 2005 |
+
},
|
| 2006 |
+
"r34_SW_estimate_km": {
|
| 2007 |
+
"mean": 277.38759680167726,
|
| 2008 |
+
"p10": 275.71612065483356,
|
| 2009 |
+
"p90": 279.32076416956363,
|
| 2010 |
+
"valid_members": 50,
|
| 2011 |
+
"total_members": 50
|
| 2012 |
+
},
|
| 2013 |
+
"r34_NW_estimate_km": {
|
| 2014 |
+
"mean": 356.64119588787077,
|
| 2015 |
+
"p10": 354.4921551276431,
|
| 2016 |
+
"p90": 359.126696789439,
|
| 2017 |
+
"valid_members": 50,
|
| 2018 |
+
"total_members": 50
|
| 2019 |
+
},
|
| 2020 |
+
"r50_NE_estimate_km": {
|
| 2021 |
+
"mean": 215.5420629505122,
|
| 2022 |
+
"p10": 213.19376647817322,
|
| 2023 |
+
"p90": 218.26343350300976,
|
| 2024 |
+
"valid_members": 50,
|
| 2025 |
+
"total_members": 50
|
| 2026 |
+
},
|
| 2027 |
+
"r50_SE_estimate_km": {
|
| 2028 |
+
"mean": 164.18309946648478,
|
| 2029 |
+
"p10": 162.30891880772393,
|
| 2030 |
+
"p90": 166.35549387306145,
|
| 2031 |
+
"valid_members": 50,
|
| 2032 |
+
"total_members": 50
|
| 2033 |
+
},
|
| 2034 |
+
"r50_SW_estimate_km": {
|
| 2035 |
+
"mean": 164.18309946648478,
|
| 2036 |
+
"p10": 162.30891880772393,
|
| 2037 |
+
"p90": 166.35549387306145,
|
| 2038 |
+
"valid_members": 50,
|
| 2039 |
+
"total_members": 50
|
| 2040 |
+
},
|
| 2041 |
+
"r50_NW_estimate_km": {
|
| 2042 |
+
"mean": 215.5420629505122,
|
| 2043 |
+
"p10": 213.19376647817322,
|
| 2044 |
+
"p90": 218.26343350300976,
|
| 2045 |
+
"valid_members": 50,
|
| 2046 |
+
"total_members": 50
|
| 2047 |
+
},
|
| 2048 |
+
"r64_NE_estimate_km": {
|
| 2049 |
+
"mean": 127.74103389547207,
|
| 2050 |
+
"p10": 125.37024242960045,
|
| 2051 |
+
"p90": 130.49710034154515,
|
| 2052 |
+
"valid_members": 50,
|
| 2053 |
+
"total_members": 50
|
| 2054 |
+
},
|
| 2055 |
+
"r64_SE_estimate_km": {
|
| 2056 |
+
"mean": 96.12303995444135,
|
| 2057 |
+
"p10": 94.3108512865693,
|
| 2058 |
+
"p90": 98.22997840275679,
|
| 2059 |
+
"valid_members": 50,
|
| 2060 |
+
"total_members": 50
|
| 2061 |
+
},
|
| 2062 |
+
"r64_SW_estimate_km": {
|
| 2063 |
+
"mean": 96.12303995444135,
|
| 2064 |
+
"p10": 94.3108512865693,
|
| 2065 |
+
"p90": 98.22997840275679,
|
| 2066 |
+
"valid_members": 50,
|
| 2067 |
+
"total_members": 50
|
| 2068 |
+
},
|
| 2069 |
+
"r64_NW_estimate_km": {
|
| 2070 |
+
"mean": 127.74103389547207,
|
| 2071 |
+
"p10": 125.37024242960045,
|
| 2072 |
+
"p90": 130.49710034154515,
|
| 2073 |
+
"valid_members": 50,
|
| 2074 |
+
"total_members": 50
|
| 2075 |
+
}
|
| 2076 |
+
},
|
| 2077 |
+
"official_scoring_allowed": false
|
| 2078 |
+
}
|
| 2079 |
+
},
|
| 2080 |
+
{
|
| 2081 |
+
"lead_hours": 96,
|
| 2082 |
+
"valid_time_utc": "2018-09-15T00:00:00Z",
|
| 2083 |
+
"summary": {
|
| 2084 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2085 |
+
"members": 50,
|
| 2086 |
+
"definitions": {
|
| 2087 |
+
"units": "km",
|
| 2088 |
+
"quantity_kind": "radius_not_diameter",
|
| 2089 |
+
"thresholds_kt": [
|
| 2090 |
+
34,
|
| 2091 |
+
50,
|
| 2092 |
+
64
|
| 2093 |
+
],
|
| 2094 |
+
"quadrant_order": [
|
| 2095 |
+
"NE",
|
| 2096 |
+
"SE",
|
| 2097 |
+
"SW",
|
| 2098 |
+
"NW"
|
| 2099 |
+
],
|
| 2100 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2101 |
+
"target_wind_averaging_seconds": 60,
|
| 2102 |
+
"validated_wind_averaging_seconds": null,
|
| 2103 |
+
"validated_surface_height_m": null,
|
| 2104 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2105 |
+
"official_scoring_allowed": false
|
| 2106 |
+
},
|
| 2107 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2108 |
+
"estimates": {
|
| 2109 |
+
"wind_estimate_kt": {
|
| 2110 |
+
"mean": 126.4546894172494,
|
| 2111 |
+
"p10": 124.94431537243608,
|
| 2112 |
+
"p90": 127.61186032319253,
|
| 2113 |
+
"valid_members": 50,
|
| 2114 |
+
"total_members": 50
|
| 2115 |
+
},
|
| 2116 |
+
"rmw_persistence_km": {
|
| 2117 |
+
"mean": 9.259999999999998,
|
| 2118 |
+
"p10": 9.26,
|
| 2119 |
+
"p90": 9.26,
|
| 2120 |
+
"valid_members": 50,
|
| 2121 |
+
"total_members": 50
|
| 2122 |
+
},
|
| 2123 |
+
"r34_NE_estimate_km": {
|
| 2124 |
+
"mean": 336.41686069454704,
|
| 2125 |
+
"p10": 333.1450693792065,
|
| 2126 |
+
"p90": 338.9208665569504,
|
| 2127 |
+
"valid_members": 50,
|
| 2128 |
+
"total_members": 50
|
| 2129 |
+
},
|
| 2130 |
+
"r34_SE_estimate_km": {
|
| 2131 |
+
"mean": 261.65416621635273,
|
| 2132 |
+
"p10": 259.10483716117835,
|
| 2133 |
+
"p90": 263.6051184331837,
|
| 2134 |
+
"valid_members": 50,
|
| 2135 |
+
"total_members": 50
|
| 2136 |
+
},
|
| 2137 |
+
"r34_SW_estimate_km": {
|
| 2138 |
+
"mean": 261.65416621635273,
|
| 2139 |
+
"p10": 259.10483716117835,
|
| 2140 |
+
"p90": 263.6051184331837,
|
| 2141 |
+
"valid_members": 50,
|
| 2142 |
+
"total_members": 50
|
| 2143 |
+
},
|
| 2144 |
+
"r34_NW_estimate_km": {
|
| 2145 |
+
"mean": 336.41686069454704,
|
| 2146 |
+
"p10": 333.1450693792065,
|
| 2147 |
+
"p90": 338.9208665569504,
|
| 2148 |
+
"valid_members": 50,
|
| 2149 |
+
"total_members": 50
|
| 2150 |
+
},
|
| 2151 |
+
"r50_NE_estimate_km": {
|
| 2152 |
+
"mean": 193.94624571599027,
|
| 2153 |
+
"p10": 190.54630286856556,
|
| 2154 |
+
"p90": 196.55215686887982,
|
| 2155 |
+
"valid_members": 50,
|
| 2156 |
+
"total_members": 50
|
| 2157 |
+
},
|
| 2158 |
+
"r50_SE_estimate_km": {
|
| 2159 |
+
"mean": 146.99134566662946,
|
| 2160 |
+
"p10": 144.29468384884376,
|
| 2161 |
+
"p90": 149.05862001910646,
|
| 2162 |
+
"valid_members": 50,
|
| 2163 |
+
"total_members": 50
|
| 2164 |
+
},
|
| 2165 |
+
"r50_SW_estimate_km": {
|
| 2166 |
+
"mean": 146.99134566662946,
|
| 2167 |
+
"p10": 144.29468384884376,
|
| 2168 |
+
"p90": 149.05862001910646,
|
| 2169 |
+
"valid_members": 50,
|
| 2170 |
+
"total_members": 50
|
| 2171 |
+
},
|
| 2172 |
+
"r50_NW_estimate_km": {
|
| 2173 |
+
"mean": 193.94624571599027,
|
| 2174 |
+
"p10": 190.54630286856556,
|
| 2175 |
+
"p90": 196.55215686887982,
|
| 2176 |
+
"valid_members": 50,
|
| 2177 |
+
"total_members": 50
|
| 2178 |
+
},
|
| 2179 |
+
"r64_NE_estimate_km": {
|
| 2180 |
+
"mean": 106.7113568312794,
|
| 2181 |
+
"p10": 103.54536354516256,
|
| 2182 |
+
"p90": 109.14373408017758,
|
| 2183 |
+
"valid_members": 50,
|
| 2184 |
+
"total_members": 50
|
| 2185 |
+
},
|
| 2186 |
+
"r64_SE_estimate_km": {
|
| 2187 |
+
"mean": 80.0771778299542,
|
| 2188 |
+
"p10": 77.6738938431246,
|
| 2189 |
+
"p90": 81.92408180017411,
|
| 2190 |
+
"valid_members": 50,
|
| 2191 |
+
"total_members": 50
|
| 2192 |
+
},
|
| 2193 |
+
"r64_SW_estimate_km": {
|
| 2194 |
+
"mean": 80.0771778299542,
|
| 2195 |
+
"p10": 77.6738938431246,
|
| 2196 |
+
"p90": 81.92408180017411,
|
| 2197 |
+
"valid_members": 50,
|
| 2198 |
+
"total_members": 50
|
| 2199 |
+
},
|
| 2200 |
+
"r64_NW_estimate_km": {
|
| 2201 |
+
"mean": 106.7113568312794,
|
| 2202 |
+
"p10": 103.54536354516256,
|
| 2203 |
+
"p90": 109.14373408017758,
|
| 2204 |
+
"valid_members": 50,
|
| 2205 |
+
"total_members": 50
|
| 2206 |
+
}
|
| 2207 |
+
},
|
| 2208 |
+
"official_scoring_allowed": false
|
| 2209 |
+
}
|
| 2210 |
+
},
|
| 2211 |
+
{
|
| 2212 |
+
"lead_hours": 102,
|
| 2213 |
+
"valid_time_utc": "2018-09-15T06:00:00Z",
|
| 2214 |
+
"summary": {
|
| 2215 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2216 |
+
"members": 50,
|
| 2217 |
+
"definitions": {
|
| 2218 |
+
"units": "km",
|
| 2219 |
+
"quantity_kind": "radius_not_diameter",
|
| 2220 |
+
"thresholds_kt": [
|
| 2221 |
+
34,
|
| 2222 |
+
50,
|
| 2223 |
+
64
|
| 2224 |
+
],
|
| 2225 |
+
"quadrant_order": [
|
| 2226 |
+
"NE",
|
| 2227 |
+
"SE",
|
| 2228 |
+
"SW",
|
| 2229 |
+
"NW"
|
| 2230 |
+
],
|
| 2231 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2232 |
+
"target_wind_averaging_seconds": 60,
|
| 2233 |
+
"validated_wind_averaging_seconds": null,
|
| 2234 |
+
"validated_surface_height_m": null,
|
| 2235 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2236 |
+
"official_scoring_allowed": false
|
| 2237 |
+
},
|
| 2238 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2239 |
+
"estimates": {
|
| 2240 |
+
"wind_estimate_kt": {
|
| 2241 |
+
"mean": 118.8086331817603,
|
| 2242 |
+
"p10": 116.93712463959777,
|
| 2243 |
+
"p90": 120.62592906373634,
|
| 2244 |
+
"valid_members": 50,
|
| 2245 |
+
"total_members": 50
|
| 2246 |
+
},
|
| 2247 |
+
"rmw_persistence_km": {
|
| 2248 |
+
"mean": 9.259999999999998,
|
| 2249 |
+
"p10": 9.26,
|
| 2250 |
+
"p90": 9.26,
|
| 2251 |
+
"valid_members": 50,
|
| 2252 |
+
"total_members": 50
|
| 2253 |
+
},
|
| 2254 |
+
"r34_NE_estimate_km": {
|
| 2255 |
+
"mean": 309.742653439734,
|
| 2256 |
+
"p10": 302.69047581015025,
|
| 2257 |
+
"p90": 316.60856776060825,
|
| 2258 |
+
"valid_members": 50,
|
| 2259 |
+
"total_members": 50
|
| 2260 |
+
},
|
| 2261 |
+
"r34_SE_estimate_km": {
|
| 2262 |
+
"mean": 240.06745630832037,
|
| 2263 |
+
"p10": 234.34143116089268,
|
| 2264 |
+
"p90": 245.6445093888817,
|
| 2265 |
+
"valid_members": 50,
|
| 2266 |
+
"total_members": 50
|
| 2267 |
+
},
|
| 2268 |
+
"r34_SW_estimate_km": {
|
| 2269 |
+
"mean": 240.06745630832037,
|
| 2270 |
+
"p10": 234.34143116089268,
|
| 2271 |
+
"p90": 245.6445093888817,
|
| 2272 |
+
"valid_members": 50,
|
| 2273 |
+
"total_members": 50
|
| 2274 |
+
},
|
| 2275 |
+
"r34_NW_estimate_km": {
|
| 2276 |
+
"mean": 309.742653439734,
|
| 2277 |
+
"p10": 302.69047581015025,
|
| 2278 |
+
"p90": 316.60856776060825,
|
| 2279 |
+
"valid_members": 50,
|
| 2280 |
+
"total_members": 50
|
| 2281 |
+
},
|
| 2282 |
+
"r50_NE_estimate_km": {
|
| 2283 |
+
"mean": 168.3204284618051,
|
| 2284 |
+
"p10": 161.80651611752205,
|
| 2285 |
+
"p90": 174.7002927925099,
|
| 2286 |
+
"valid_members": 50,
|
| 2287 |
+
"total_members": 50
|
| 2288 |
+
},
|
| 2289 |
+
"r50_SE_estimate_km": {
|
| 2290 |
+
"mean": 127.21427018676805,
|
| 2291 |
+
"p10": 122.21373245534961,
|
| 2292 |
+
"p90": 132.11302166054068,
|
| 2293 |
+
"valid_members": 50,
|
| 2294 |
+
"total_members": 50
|
| 2295 |
+
},
|
| 2296 |
+
"r50_SW_estimate_km": {
|
| 2297 |
+
"mean": 127.21427018676805,
|
| 2298 |
+
"p10": 122.21373245534961,
|
| 2299 |
+
"p90": 132.11302166054068,
|
| 2300 |
+
"valid_members": 50,
|
| 2301 |
+
"total_members": 50
|
| 2302 |
+
},
|
| 2303 |
+
"r50_NW_estimate_km": {
|
| 2304 |
+
"mean": 168.3204284618051,
|
| 2305 |
+
"p10": 161.80651611752205,
|
| 2306 |
+
"p90": 174.7002927925099,
|
| 2307 |
+
"valid_members": 50,
|
| 2308 |
+
"total_members": 50
|
| 2309 |
+
},
|
| 2310 |
+
"r64_NE_estimate_km": {
|
| 2311 |
+
"mean": 86.40099717266295,
|
| 2312 |
+
"p10": 81.53117899913262,
|
| 2313 |
+
"p90": 91.2023411524697,
|
| 2314 |
+
"valid_members": 50,
|
| 2315 |
+
"total_members": 50
|
| 2316 |
+
},
|
| 2317 |
+
"r64_SE_estimate_km": {
|
| 2318 |
+
"mean": 66.21845951863703,
|
| 2319 |
+
"p10": 62.925873924171846,
|
| 2320 |
+
"p90": 69.45666067897245,
|
| 2321 |
+
"valid_members": 50,
|
| 2322 |
+
"total_members": 50
|
| 2323 |
+
},
|
| 2324 |
+
"r64_SW_estimate_km": {
|
| 2325 |
+
"mean": 66.21845951863703,
|
| 2326 |
+
"p10": 62.925873924171846,
|
| 2327 |
+
"p90": 69.45666067897245,
|
| 2328 |
+
"valid_members": 50,
|
| 2329 |
+
"total_members": 50
|
| 2330 |
+
},
|
| 2331 |
+
"r64_NW_estimate_km": {
|
| 2332 |
+
"mean": 86.40099717266295,
|
| 2333 |
+
"p10": 81.53117899913262,
|
| 2334 |
+
"p90": 91.2023411524697,
|
| 2335 |
+
"valid_members": 50,
|
| 2336 |
+
"total_members": 50
|
| 2337 |
+
}
|
| 2338 |
+
},
|
| 2339 |
+
"official_scoring_allowed": false
|
| 2340 |
+
}
|
| 2341 |
+
},
|
| 2342 |
+
{
|
| 2343 |
+
"lead_hours": 108,
|
| 2344 |
+
"valid_time_utc": "2018-09-15T12:00:00Z",
|
| 2345 |
+
"summary": {
|
| 2346 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2347 |
+
"members": 50,
|
| 2348 |
+
"definitions": {
|
| 2349 |
+
"units": "km",
|
| 2350 |
+
"quantity_kind": "radius_not_diameter",
|
| 2351 |
+
"thresholds_kt": [
|
| 2352 |
+
34,
|
| 2353 |
+
50,
|
| 2354 |
+
64
|
| 2355 |
+
],
|
| 2356 |
+
"quadrant_order": [
|
| 2357 |
+
"NE",
|
| 2358 |
+
"SE",
|
| 2359 |
+
"SW",
|
| 2360 |
+
"NW"
|
| 2361 |
+
],
|
| 2362 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2363 |
+
"target_wind_averaging_seconds": 60,
|
| 2364 |
+
"validated_wind_averaging_seconds": null,
|
| 2365 |
+
"validated_surface_height_m": null,
|
| 2366 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2367 |
+
"official_scoring_allowed": false
|
| 2368 |
+
},
|
| 2369 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2370 |
+
"estimates": {
|
| 2371 |
+
"wind_estimate_kt": {
|
| 2372 |
+
"mean": 113.34503828043299,
|
| 2373 |
+
"p10": 111.61947559879869,
|
| 2374 |
+
"p90": 115.16497988059564,
|
| 2375 |
+
"valid_members": 50,
|
| 2376 |
+
"total_members": 50
|
| 2377 |
+
},
|
| 2378 |
+
"rmw_persistence_km": {
|
| 2379 |
+
"mean": 9.259999999999998,
|
| 2380 |
+
"p10": 9.26,
|
| 2381 |
+
"p90": 9.26,
|
| 2382 |
+
"valid_members": 50,
|
| 2383 |
+
"total_members": 50
|
| 2384 |
+
},
|
| 2385 |
+
"r34_NE_estimate_km": {
|
| 2386 |
+
"mean": 289.3365314587083,
|
| 2387 |
+
"p10": 282.97119615175694,
|
| 2388 |
+
"p90": 296.0733558821145,
|
| 2389 |
+
"valid_members": 50,
|
| 2390 |
+
"total_members": 50
|
| 2391 |
+
},
|
| 2392 |
+
"r34_SE_estimate_km": {
|
| 2393 |
+
"mean": 223.52132094264707,
|
| 2394 |
+
"p10": 218.36996979097034,
|
| 2395 |
+
"p90": 228.97623760481397,
|
| 2396 |
+
"valid_members": 50,
|
| 2397 |
+
"total_members": 50
|
| 2398 |
+
},
|
| 2399 |
+
"r34_SW_estimate_km": {
|
| 2400 |
+
"mean": 223.52132094264707,
|
| 2401 |
+
"p10": 218.36996979097034,
|
| 2402 |
+
"p90": 228.97623760481397,
|
| 2403 |
+
"valid_members": 50,
|
| 2404 |
+
"total_members": 50
|
| 2405 |
+
},
|
| 2406 |
+
"r34_NW_estimate_km": {
|
| 2407 |
+
"mean": 289.3365314587083,
|
| 2408 |
+
"p10": 282.97119615175694,
|
| 2409 |
+
"p90": 296.0733558821145,
|
| 2410 |
+
"valid_members": 50,
|
| 2411 |
+
"total_members": 50
|
| 2412 |
+
},
|
| 2413 |
+
"r50_NE_estimate_km": {
|
| 2414 |
+
"mean": 149.84600041814278,
|
| 2415 |
+
"p10": 144.24519042090148,
|
| 2416 |
+
"p90": 155.82067563117116,
|
| 2417 |
+
"valid_members": 50,
|
| 2418 |
+
"total_members": 50
|
| 2419 |
+
},
|
| 2420 |
+
"r50_SE_estimate_km": {
|
| 2421 |
+
"mean": 113.04282614818229,
|
| 2422 |
+
"p10": 108.75124627720021,
|
| 2423 |
+
"p90": 117.62226054273275,
|
| 2424 |
+
"valid_members": 50,
|
| 2425 |
+
"total_members": 50
|
| 2426 |
+
},
|
| 2427 |
+
"r50_SW_estimate_km": {
|
| 2428 |
+
"mean": 113.04282614818229,
|
| 2429 |
+
"p10": 108.75124627720021,
|
| 2430 |
+
"p90": 117.62226054273275,
|
| 2431 |
+
"valid_members": 50,
|
| 2432 |
+
"total_members": 50
|
| 2433 |
+
},
|
| 2434 |
+
"r50_NW_estimate_km": {
|
| 2435 |
+
"mean": 149.84600041814278,
|
| 2436 |
+
"p10": 144.24519042090148,
|
| 2437 |
+
"p90": 155.82067563117116,
|
| 2438 |
+
"valid_members": 50,
|
| 2439 |
+
"total_members": 50
|
| 2440 |
+
},
|
| 2441 |
+
"r64_NE_estimate_km": {
|
| 2442 |
+
"mean": 72.89144242177701,
|
| 2443 |
+
"p10": 68.92533295430151,
|
| 2444 |
+
"p90": 77.15961146065469,
|
| 2445 |
+
"valid_members": 50,
|
| 2446 |
+
"total_members": 50
|
| 2447 |
+
},
|
| 2448 |
+
"r64_SE_estimate_km": {
|
| 2449 |
+
"mean": 57.00828652835057,
|
| 2450 |
+
"p10": 54.271338721455656,
|
| 2451 |
+
"p90": 59.94396526863343,
|
| 2452 |
+
"valid_members": 50,
|
| 2453 |
+
"total_members": 50
|
| 2454 |
+
},
|
| 2455 |
+
"r64_SW_estimate_km": {
|
| 2456 |
+
"mean": 57.00828652835057,
|
| 2457 |
+
"p10": 54.271338721455656,
|
| 2458 |
+
"p90": 59.94396526863343,
|
| 2459 |
+
"valid_members": 50,
|
| 2460 |
+
"total_members": 50
|
| 2461 |
+
},
|
| 2462 |
+
"r64_NW_estimate_km": {
|
| 2463 |
+
"mean": 72.89144242177701,
|
| 2464 |
+
"p10": 68.92533295430151,
|
| 2465 |
+
"p90": 77.15961146065469,
|
| 2466 |
+
"valid_members": 50,
|
| 2467 |
+
"total_members": 50
|
| 2468 |
+
}
|
| 2469 |
+
},
|
| 2470 |
+
"official_scoring_allowed": false
|
| 2471 |
+
}
|
| 2472 |
+
},
|
| 2473 |
+
{
|
| 2474 |
+
"lead_hours": 114,
|
| 2475 |
+
"valid_time_utc": "2018-09-15T18:00:00Z",
|
| 2476 |
+
"summary": {
|
| 2477 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2478 |
+
"members": 50,
|
| 2479 |
+
"definitions": {
|
| 2480 |
+
"units": "km",
|
| 2481 |
+
"quantity_kind": "radius_not_diameter",
|
| 2482 |
+
"thresholds_kt": [
|
| 2483 |
+
34,
|
| 2484 |
+
50,
|
| 2485 |
+
64
|
| 2486 |
+
],
|
| 2487 |
+
"quadrant_order": [
|
| 2488 |
+
"NE",
|
| 2489 |
+
"SE",
|
| 2490 |
+
"SW",
|
| 2491 |
+
"NW"
|
| 2492 |
+
],
|
| 2493 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2494 |
+
"target_wind_averaging_seconds": 60,
|
| 2495 |
+
"validated_wind_averaging_seconds": null,
|
| 2496 |
+
"validated_surface_height_m": null,
|
| 2497 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2498 |
+
"official_scoring_allowed": false
|
| 2499 |
+
},
|
| 2500 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2501 |
+
"estimates": {
|
| 2502 |
+
"wind_estimate_kt": {
|
| 2503 |
+
"mean": 109.4508154087569,
|
| 2504 |
+
"p10": 108.34942621789983,
|
| 2505 |
+
"p90": 110.7593518937912,
|
| 2506 |
+
"valid_members": 50,
|
| 2507 |
+
"total_members": 50
|
| 2508 |
+
},
|
| 2509 |
+
"rmw_persistence_km": {
|
| 2510 |
+
"mean": 9.259999999999998,
|
| 2511 |
+
"p10": 9.26,
|
| 2512 |
+
"p90": 9.26,
|
| 2513 |
+
"valid_members": 50,
|
| 2514 |
+
"total_members": 50
|
| 2515 |
+
},
|
| 2516 |
+
"r34_NE_estimate_km": {
|
| 2517 |
+
"mean": 275.05354786213667,
|
| 2518 |
+
"p10": 271.0508422937638,
|
| 2519 |
+
"p90": 279.8204275680663,
|
| 2520 |
+
"valid_members": 50,
|
| 2521 |
+
"total_members": 50
|
| 2522 |
+
},
|
| 2523 |
+
"r34_SE_estimate_km": {
|
| 2524 |
+
"mean": 211.9725968913786,
|
| 2525 |
+
"p10": 208.74075067599665,
|
| 2526 |
+
"p90": 215.822869202166,
|
| 2527 |
+
"valid_members": 50,
|
| 2528 |
+
"total_members": 50
|
| 2529 |
+
},
|
| 2530 |
+
"r34_SW_estimate_km": {
|
| 2531 |
+
"mean": 211.9725968913786,
|
| 2532 |
+
"p10": 208.74075067599665,
|
| 2533 |
+
"p90": 215.822869202166,
|
| 2534 |
+
"valid_members": 50,
|
| 2535 |
+
"total_members": 50
|
| 2536 |
+
},
|
| 2537 |
+
"r34_NW_estimate_km": {
|
| 2538 |
+
"mean": 275.05354786213667,
|
| 2539 |
+
"p10": 271.0508422937638,
|
| 2540 |
+
"p90": 279.8204275680663,
|
| 2541 |
+
"valid_members": 50,
|
| 2542 |
+
"total_members": 50
|
| 2543 |
+
},
|
| 2544 |
+
"r50_NE_estimate_km": {
|
| 2545 |
+
"mean": 137.440926726457,
|
| 2546 |
+
"p10": 134.03695104959334,
|
| 2547 |
+
"p90": 141.5168705255095,
|
| 2548 |
+
"valid_members": 50,
|
| 2549 |
+
"total_members": 50
|
| 2550 |
+
},
|
| 2551 |
+
"r50_SE_estimate_km": {
|
| 2552 |
+
"mean": 103.5422437370745,
|
| 2553 |
+
"p10": 100.9373788393766,
|
| 2554 |
+
"p90": 106.66197654128496,
|
| 2555 |
+
"valid_members": 50,
|
| 2556 |
+
"total_members": 50
|
| 2557 |
+
},
|
| 2558 |
+
"r50_SW_estimate_km": {
|
| 2559 |
+
"mean": 103.5422437370745,
|
| 2560 |
+
"p10": 100.9373788393766,
|
| 2561 |
+
"p90": 106.66197654128496,
|
| 2562 |
+
"valid_members": 50,
|
| 2563 |
+
"total_members": 50
|
| 2564 |
+
},
|
| 2565 |
+
"r50_NW_estimate_km": {
|
| 2566 |
+
"mean": 137.440926726457,
|
| 2567 |
+
"p10": 134.03695104959334,
|
| 2568 |
+
"p90": 141.5168705255095,
|
| 2569 |
+
"valid_members": 50,
|
| 2570 |
+
"total_members": 50
|
| 2571 |
+
},
|
| 2572 |
+
"r64_NE_estimate_km": {
|
| 2573 |
+
"mean": 64.23245627293389,
|
| 2574 |
+
"p10": 61.912128542202325,
|
| 2575 |
+
"p90": 67.0277347273069,
|
| 2576 |
+
"valid_members": 50,
|
| 2577 |
+
"total_members": 50
|
| 2578 |
+
},
|
| 2579 |
+
"r64_SE_estimate_km": {
|
| 2580 |
+
"mean": 51.00049573745365,
|
| 2581 |
+
"p10": 49.376102205610444,
|
| 2582 |
+
"p90": 52.95292277682732,
|
| 2583 |
+
"valid_members": 50,
|
| 2584 |
+
"total_members": 50
|
| 2585 |
+
},
|
| 2586 |
+
"r64_SW_estimate_km": {
|
| 2587 |
+
"mean": 51.00049573745365,
|
| 2588 |
+
"p10": 49.376102205610444,
|
| 2589 |
+
"p90": 52.95292277682732,
|
| 2590 |
+
"valid_members": 50,
|
| 2591 |
+
"total_members": 50
|
| 2592 |
+
},
|
| 2593 |
+
"r64_NW_estimate_km": {
|
| 2594 |
+
"mean": 64.23245627293389,
|
| 2595 |
+
"p10": 61.912128542202325,
|
| 2596 |
+
"p90": 67.0277347273069,
|
| 2597 |
+
"valid_members": 50,
|
| 2598 |
+
"total_members": 50
|
| 2599 |
+
}
|
| 2600 |
+
},
|
| 2601 |
+
"official_scoring_allowed": false
|
| 2602 |
+
}
|
| 2603 |
+
},
|
| 2604 |
+
{
|
| 2605 |
+
"lead_hours": 120,
|
| 2606 |
+
"valid_time_utc": "2018-09-16T00:00:00Z",
|
| 2607 |
+
"summary": {
|
| 2608 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2609 |
+
"members": 50,
|
| 2610 |
+
"definitions": {
|
| 2611 |
+
"units": "km",
|
| 2612 |
+
"quantity_kind": "radius_not_diameter",
|
| 2613 |
+
"thresholds_kt": [
|
| 2614 |
+
34,
|
| 2615 |
+
50,
|
| 2616 |
+
64
|
| 2617 |
+
],
|
| 2618 |
+
"quadrant_order": [
|
| 2619 |
+
"NE",
|
| 2620 |
+
"SE",
|
| 2621 |
+
"SW",
|
| 2622 |
+
"NW"
|
| 2623 |
+
],
|
| 2624 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2625 |
+
"target_wind_averaging_seconds": 60,
|
| 2626 |
+
"validated_wind_averaging_seconds": null,
|
| 2627 |
+
"validated_surface_height_m": null,
|
| 2628 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2629 |
+
"official_scoring_allowed": false
|
| 2630 |
+
},
|
| 2631 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2632 |
+
"estimates": {
|
| 2633 |
+
"wind_estimate_kt": {
|
| 2634 |
+
"mean": 104.85431516582503,
|
| 2635 |
+
"p10": 103.29189868308315,
|
| 2636 |
+
"p90": 107.19399012825095,
|
| 2637 |
+
"valid_members": 50,
|
| 2638 |
+
"total_members": 50
|
| 2639 |
+
},
|
| 2640 |
+
"rmw_persistence_km": {
|
| 2641 |
+
"mean": 9.259999999999998,
|
| 2642 |
+
"p10": 9.26,
|
| 2643 |
+
"p90": 9.26,
|
| 2644 |
+
"valid_members": 50,
|
| 2645 |
+
"total_members": 50
|
| 2646 |
+
},
|
| 2647 |
+
"r34_NE_estimate_km": {
|
| 2648 |
+
"mean": 258.5012595368126,
|
| 2649 |
+
"p10": 252.93047167597734,
|
| 2650 |
+
"p90": 266.87701195776447,
|
| 2651 |
+
"valid_members": 50,
|
| 2652 |
+
"total_members": 50
|
| 2653 |
+
},
|
| 2654 |
+
"r34_SE_estimate_km": {
|
| 2655 |
+
"mean": 198.62692125030287,
|
| 2656 |
+
"p10": 194.14224864388166,
|
| 2657 |
+
"p90": 205.37388688511803,
|
| 2658 |
+
"valid_members": 50,
|
| 2659 |
+
"total_members": 50
|
| 2660 |
+
},
|
| 2661 |
+
"r34_SW_estimate_km": {
|
| 2662 |
+
"mean": 198.62692125030287,
|
| 2663 |
+
"p10": 194.14224864388166,
|
| 2664 |
+
"p90": 205.37388688511803,
|
| 2665 |
+
"valid_members": 50,
|
| 2666 |
+
"total_members": 50
|
| 2667 |
+
},
|
| 2668 |
+
"r34_NW_estimate_km": {
|
| 2669 |
+
"mean": 258.5012595368126,
|
| 2670 |
+
"p10": 252.93047167597734,
|
| 2671 |
+
"p90": 266.87701195776447,
|
| 2672 |
+
"valid_members": 50,
|
| 2673 |
+
"total_members": 50
|
| 2674 |
+
},
|
| 2675 |
+
"r50_NE_estimate_km": {
|
| 2676 |
+
"mean": 123.65370860079048,
|
| 2677 |
+
"p10": 119.11799448943927,
|
| 2678 |
+
"p90": 130.53612026181253,
|
| 2679 |
+
"valid_members": 50,
|
| 2680 |
+
"total_members": 50
|
| 2681 |
+
},
|
| 2682 |
+
"r50_SE_estimate_km": {
|
| 2683 |
+
"mean": 93.00002850463217,
|
| 2684 |
+
"p10": 89.53489172738873,
|
| 2685 |
+
"p90": 98.25981535519881,
|
| 2686 |
+
"valid_members": 50,
|
| 2687 |
+
"total_members": 50
|
| 2688 |
+
},
|
| 2689 |
+
"r50_SW_estimate_km": {
|
| 2690 |
+
"mean": 93.00002850463217,
|
| 2691 |
+
"p10": 89.53489172738873,
|
| 2692 |
+
"p90": 98.25981535519881,
|
| 2693 |
+
"valid_members": 50,
|
| 2694 |
+
"total_members": 50
|
| 2695 |
+
},
|
| 2696 |
+
"r50_NW_estimate_km": {
|
| 2697 |
+
"mean": 123.65370860079048,
|
| 2698 |
+
"p10": 119.11799448943927,
|
| 2699 |
+
"p90": 130.53612026181253,
|
| 2700 |
+
"valid_members": 50,
|
| 2701 |
+
"total_members": 50
|
| 2702 |
+
},
|
| 2703 |
+
"r64_NE_estimate_km": {
|
| 2704 |
+
"mean": 55.04720672340676,
|
| 2705 |
+
"p10": 52.10190683532612,
|
| 2706 |
+
"p90": 59.56237514628805,
|
| 2707 |
+
"valid_members": 50,
|
| 2708 |
+
"total_members": 50
|
| 2709 |
+
},
|
| 2710 |
+
"r64_SE_estimate_km": {
|
| 2711 |
+
"mean": 44.514642404941334,
|
| 2712 |
+
"p10": 42.41468482395419,
|
| 2713 |
+
"p90": 47.72149384506823,
|
| 2714 |
+
"valid_members": 50,
|
| 2715 |
+
"total_members": 50
|
| 2716 |
+
},
|
| 2717 |
+
"r64_SW_estimate_km": {
|
| 2718 |
+
"mean": 44.514642404941334,
|
| 2719 |
+
"p10": 42.41468482395419,
|
| 2720 |
+
"p90": 47.72149384506823,
|
| 2721 |
+
"valid_members": 50,
|
| 2722 |
+
"total_members": 50
|
| 2723 |
+
},
|
| 2724 |
+
"r64_NW_estimate_km": {
|
| 2725 |
+
"mean": 55.04720672340676,
|
| 2726 |
+
"p10": 52.10190683532612,
|
| 2727 |
+
"p90": 59.56237514628805,
|
| 2728 |
+
"valid_members": 50,
|
| 2729 |
+
"total_members": 50
|
| 2730 |
+
}
|
| 2731 |
+
},
|
| 2732 |
+
"official_scoring_allowed": false
|
| 2733 |
+
}
|
| 2734 |
+
}
|
| 2735 |
+
],
|
| 2736 |
+
"official_wind_or_radius_skill_score": null,
|
| 2737 |
+
"physical_50_member_means_verified": true,
|
| 2738 |
+
"observed_plus_zero_alignment_verified": true,
|
| 2739 |
+
"coverage": {
|
| 2740 |
+
"wind_estimate_kt": 20,
|
| 2741 |
+
"rmw_persistence_km": 20,
|
| 2742 |
+
"r34_NE_estimate_km": 20,
|
| 2743 |
+
"r34_SE_estimate_km": 20,
|
| 2744 |
+
"r34_SW_estimate_km": 20,
|
| 2745 |
+
"r34_NW_estimate_km": 20,
|
| 2746 |
+
"r50_NE_estimate_km": 20,
|
| 2747 |
+
"r50_SE_estimate_km": 20,
|
| 2748 |
+
"r50_SW_estimate_km": 20,
|
| 2749 |
+
"r50_NW_estimate_km": 20,
|
| 2750 |
+
"r64_NE_estimate_km": 20,
|
| 2751 |
+
"r64_SE_estimate_km": 20,
|
| 2752 |
+
"r64_SW_estimate_km": 20,
|
| 2753 |
+
"r64_NW_estimate_km": 20
|
| 2754 |
+
},
|
| 2755 |
+
"warning": "Retrospective development examples, not untouched tests. RMW is persistence; no validated wind-period calibration.",
|
| 2756 |
+
"chart": "mangkhut_wind_radius.png",
|
| 2757 |
+
"source_receipt_sha256": "a0042456e27a892b2af1344af143514f08224a9eba9291841f03c994e86f8be8",
|
| 2758 |
+
"source_reference": "Original immutable /Volumes/D member archive; original files unchanged."
|
| 2759 |
+
}
|
evaluation/storm_structure/mangkhut_wind_radius.png
ADDED
|
Git LFS Details
|
evaluation/storm_structure/meranti_structure.json
ADDED
|
@@ -0,0 +1,2759 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "frozen Trackformer 1.2 pressure + separate experimental structure candidate",
|
| 3 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 4 |
+
"storm_id": "2016253N13144",
|
| 5 |
+
"issue_time_utc": "2016-09-10T00:00:00Z",
|
| 6 |
+
"actual_members": 50,
|
| 7 |
+
"checkpoint_sha256": "f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0",
|
| 8 |
+
"source_file_sha256": {
|
| 9 |
+
"weather-history.npz": "262bdd148cbfcc5a9e2d03809d5a8ae4f51cedaba00607d66b59e8cb44860d21",
|
| 10 |
+
"model-inputs.npz": "5a65f65e765edd48adfa45938d4d452fbec001f7e567afe1b930b5d44e14f9e6",
|
| 11 |
+
"ensemble-members.npz": "d04b729f31733e63f937ad6a523e8a034cc9e93c6b2775dc1d18ceeb2ad9987b",
|
| 12 |
+
"meranti_video.npz": "565343166656155e8f227372cce2947536afe83593820c89790606e5ac909baf",
|
| 13 |
+
"meranti_video.json": "0f4a9461318bef6fc116776c2ba0a1b6f900db449e5619977b8c8041114c31db",
|
| 14 |
+
"meranti_coastlines.json": "2af08a831beff87de1847e3c5e34faf29aabcd3965d81ffc18fedc6f18a4076d"
|
| 15 |
+
},
|
| 16 |
+
"observed_csv_sha256": "4348af2679b4be0d53ec630bccda759044663a1f57e2bbd5c1d19428aab562fc",
|
| 17 |
+
"future_labels_used_for_diagnostics": false,
|
| 18 |
+
"initial": {
|
| 19 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 20 |
+
"storm_id": "2016253N13144",
|
| 21 |
+
"issue_time_utc": "2016-09-10T00:00:00Z",
|
| 22 |
+
"input_wind_kt": 35.0,
|
| 23 |
+
"input_model_pressure_hpa": 1004.0,
|
| 24 |
+
"ambient_pressure_hpa": 1010.0,
|
| 25 |
+
"pressure_deficit_hpa": 6.0,
|
| 26 |
+
"rmw_persistence_km": 74.08,
|
| 27 |
+
"native_quadrant_radii_km": {
|
| 28 |
+
"r34_NE": 92.60000000000001,
|
| 29 |
+
"r34_SE": 129.64000000000001,
|
| 30 |
+
"r34_SW": 74.08,
|
| 31 |
+
"r34_NW": 74.08,
|
| 32 |
+
"r50_NE": null,
|
| 33 |
+
"r50_SE": null,
|
| 34 |
+
"r50_SW": null,
|
| 35 |
+
"r50_NW": null,
|
| 36 |
+
"r64_NE": null,
|
| 37 |
+
"r64_SE": null,
|
| 38 |
+
"r64_SW": null,
|
| 39 |
+
"r64_NW": null
|
| 40 |
+
},
|
| 41 |
+
"holland_inspired_tail_b": 2.5,
|
| 42 |
+
"source_agency": "jtwc_wp",
|
| 43 |
+
"source_track_type": "main",
|
| 44 |
+
"usa_reference_center": [
|
| 45 |
+
14.8,
|
| 46 |
+
139.7
|
| 47 |
+
],
|
| 48 |
+
"model_origin": [
|
| 49 |
+
14.5,
|
| 50 |
+
140.0
|
| 51 |
+
],
|
| 52 |
+
"definitions": {
|
| 53 |
+
"units": "km",
|
| 54 |
+
"quantity_kind": "radius_not_diameter",
|
| 55 |
+
"thresholds_kt": [
|
| 56 |
+
34,
|
| 57 |
+
50,
|
| 58 |
+
64
|
| 59 |
+
],
|
| 60 |
+
"quadrant_order": [
|
| 61 |
+
"NE",
|
| 62 |
+
"SE",
|
| 63 |
+
"SW",
|
| 64 |
+
"NW"
|
| 65 |
+
],
|
| 66 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 67 |
+
"target_wind_averaging_seconds": 60,
|
| 68 |
+
"validated_wind_averaging_seconds": null,
|
| 69 |
+
"validated_surface_height_m": null,
|
| 70 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 71 |
+
"official_scoring_allowed": false
|
| 72 |
+
},
|
| 73 |
+
"mixed_agency_initialization": "USA 1-minute wind/radii; model TOKYO pressure. No conversion between wind periods.",
|
| 74 |
+
"calibration": "none; initialization is issue assimilation, not future-target fitting"
|
| 75 |
+
},
|
| 76 |
+
"initial_ambient": {
|
| 77 |
+
"cells": 25,
|
| 78 |
+
"candidate_cells": 25,
|
| 79 |
+
"quadrant_cells": {
|
| 80 |
+
"NE": 8,
|
| 81 |
+
"SE": 6,
|
| 82 |
+
"SW": 5,
|
| 83 |
+
"NW": 6
|
| 84 |
+
},
|
| 85 |
+
"annulus_km": [
|
| 86 |
+
600,
|
| 87 |
+
1000
|
| 88 |
+
],
|
| 89 |
+
"statistic": "median_available_physical_cells",
|
| 90 |
+
"value_hpa": 1010.0,
|
| 91 |
+
"status": "available"
|
| 92 |
+
},
|
| 93 |
+
"definitions": {
|
| 94 |
+
"units": "km",
|
| 95 |
+
"quantity_kind": "radius_not_diameter",
|
| 96 |
+
"thresholds_kt": [
|
| 97 |
+
34,
|
| 98 |
+
50,
|
| 99 |
+
64
|
| 100 |
+
],
|
| 101 |
+
"quadrant_order": [
|
| 102 |
+
"NE",
|
| 103 |
+
"SE",
|
| 104 |
+
"SW",
|
| 105 |
+
"NW"
|
| 106 |
+
],
|
| 107 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 108 |
+
"target_wind_averaging_seconds": 60,
|
| 109 |
+
"validated_wind_averaging_seconds": null,
|
| 110 |
+
"validated_surface_height_m": null,
|
| 111 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 112 |
+
"official_scoring_allowed": false
|
| 113 |
+
},
|
| 114 |
+
"points": [
|
| 115 |
+
{
|
| 116 |
+
"lead_hours": 6,
|
| 117 |
+
"valid_time_utc": "2016-09-10T06:00:00Z",
|
| 118 |
+
"summary": {
|
| 119 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 120 |
+
"members": 50,
|
| 121 |
+
"definitions": {
|
| 122 |
+
"units": "km",
|
| 123 |
+
"quantity_kind": "radius_not_diameter",
|
| 124 |
+
"thresholds_kt": [
|
| 125 |
+
34,
|
| 126 |
+
50,
|
| 127 |
+
64
|
| 128 |
+
],
|
| 129 |
+
"quadrant_order": [
|
| 130 |
+
"NE",
|
| 131 |
+
"SE",
|
| 132 |
+
"SW",
|
| 133 |
+
"NW"
|
| 134 |
+
],
|
| 135 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 136 |
+
"target_wind_averaging_seconds": 60,
|
| 137 |
+
"validated_wind_averaging_seconds": null,
|
| 138 |
+
"validated_surface_height_m": null,
|
| 139 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 140 |
+
"official_scoring_allowed": false
|
| 141 |
+
},
|
| 142 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 143 |
+
"estimates": {
|
| 144 |
+
"wind_estimate_kt": {
|
| 145 |
+
"mean": 40.56985957083135,
|
| 146 |
+
"p10": 40.06417720968895,
|
| 147 |
+
"p90": 41.008438972160846,
|
| 148 |
+
"valid_members": 50,
|
| 149 |
+
"total_members": 50
|
| 150 |
+
},
|
| 151 |
+
"rmw_persistence_km": {
|
| 152 |
+
"mean": 74.07999999999998,
|
| 153 |
+
"p10": 74.08,
|
| 154 |
+
"p90": 74.08,
|
| 155 |
+
"valid_members": 50,
|
| 156 |
+
"total_members": 50
|
| 157 |
+
},
|
| 158 |
+
"r34_NE_estimate_km": {
|
| 159 |
+
"mean": 104.2117422412441,
|
| 160 |
+
"p10": 103.17192499008739,
|
| 161 |
+
"p90": 105.11268776529992,
|
| 162 |
+
"valid_members": 50,
|
| 163 |
+
"total_members": 50
|
| 164 |
+
},
|
| 165 |
+
"r34_SE_estimate_km": {
|
| 166 |
+
"mean": 145.89643913774177,
|
| 167 |
+
"p10": 144.44069498612237,
|
| 168 |
+
"p90": 147.1577628714199,
|
| 169 |
+
"valid_members": 50,
|
| 170 |
+
"total_members": 50
|
| 171 |
+
},
|
| 172 |
+
"r34_SW_estimate_km": {
|
| 173 |
+
"mean": 85.3253238787195,
|
| 174 |
+
"p10": 84.47395394840743,
|
| 175 |
+
"p90": 86.06298997069582,
|
| 176 |
+
"valid_members": 50,
|
| 177 |
+
"total_members": 50
|
| 178 |
+
},
|
| 179 |
+
"r34_NW_estimate_km": {
|
| 180 |
+
"mean": 85.3253238787195,
|
| 181 |
+
"p10": 84.47395394840743,
|
| 182 |
+
"p90": 86.06298997069582,
|
| 183 |
+
"valid_members": 50,
|
| 184 |
+
"total_members": 50
|
| 185 |
+
},
|
| 186 |
+
"r50_NE_estimate_km": {
|
| 187 |
+
"mean": 0.0,
|
| 188 |
+
"p10": 0.0,
|
| 189 |
+
"p90": 0.0,
|
| 190 |
+
"valid_members": 50,
|
| 191 |
+
"total_members": 50
|
| 192 |
+
},
|
| 193 |
+
"r50_SE_estimate_km": {
|
| 194 |
+
"mean": 0.0,
|
| 195 |
+
"p10": 0.0,
|
| 196 |
+
"p90": 0.0,
|
| 197 |
+
"valid_members": 50,
|
| 198 |
+
"total_members": 50
|
| 199 |
+
},
|
| 200 |
+
"r50_SW_estimate_km": {
|
| 201 |
+
"mean": 0.0,
|
| 202 |
+
"p10": 0.0,
|
| 203 |
+
"p90": 0.0,
|
| 204 |
+
"valid_members": 50,
|
| 205 |
+
"total_members": 50
|
| 206 |
+
},
|
| 207 |
+
"r50_NW_estimate_km": {
|
| 208 |
+
"mean": 0.0,
|
| 209 |
+
"p10": 0.0,
|
| 210 |
+
"p90": 0.0,
|
| 211 |
+
"valid_members": 50,
|
| 212 |
+
"total_members": 50
|
| 213 |
+
},
|
| 214 |
+
"r64_NE_estimate_km": {
|
| 215 |
+
"mean": 0.0,
|
| 216 |
+
"p10": 0.0,
|
| 217 |
+
"p90": 0.0,
|
| 218 |
+
"valid_members": 50,
|
| 219 |
+
"total_members": 50
|
| 220 |
+
},
|
| 221 |
+
"r64_SE_estimate_km": {
|
| 222 |
+
"mean": 0.0,
|
| 223 |
+
"p10": 0.0,
|
| 224 |
+
"p90": 0.0,
|
| 225 |
+
"valid_members": 50,
|
| 226 |
+
"total_members": 50
|
| 227 |
+
},
|
| 228 |
+
"r64_SW_estimate_km": {
|
| 229 |
+
"mean": 0.0,
|
| 230 |
+
"p10": 0.0,
|
| 231 |
+
"p90": 0.0,
|
| 232 |
+
"valid_members": 50,
|
| 233 |
+
"total_members": 50
|
| 234 |
+
},
|
| 235 |
+
"r64_NW_estimate_km": {
|
| 236 |
+
"mean": 0.0,
|
| 237 |
+
"p10": 0.0,
|
| 238 |
+
"p90": 0.0,
|
| 239 |
+
"valid_members": 50,
|
| 240 |
+
"total_members": 50
|
| 241 |
+
}
|
| 242 |
+
},
|
| 243 |
+
"official_scoring_allowed": false
|
| 244 |
+
}
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"lead_hours": 12,
|
| 248 |
+
"valid_time_utc": "2016-09-10T12:00:00Z",
|
| 249 |
+
"summary": {
|
| 250 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 251 |
+
"members": 50,
|
| 252 |
+
"definitions": {
|
| 253 |
+
"units": "km",
|
| 254 |
+
"quantity_kind": "radius_not_diameter",
|
| 255 |
+
"thresholds_kt": [
|
| 256 |
+
34,
|
| 257 |
+
50,
|
| 258 |
+
64
|
| 259 |
+
],
|
| 260 |
+
"quadrant_order": [
|
| 261 |
+
"NE",
|
| 262 |
+
"SE",
|
| 263 |
+
"SW",
|
| 264 |
+
"NW"
|
| 265 |
+
],
|
| 266 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 267 |
+
"target_wind_averaging_seconds": 60,
|
| 268 |
+
"validated_wind_averaging_seconds": null,
|
| 269 |
+
"validated_surface_height_m": null,
|
| 270 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 271 |
+
"official_scoring_allowed": false
|
| 272 |
+
},
|
| 273 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 274 |
+
"estimates": {
|
| 275 |
+
"wind_estimate_kt": {
|
| 276 |
+
"mean": 47.23898297424208,
|
| 277 |
+
"p10": 46.65684287836224,
|
| 278 |
+
"p90": 47.96574913706004,
|
| 279 |
+
"valid_members": 50,
|
| 280 |
+
"total_members": 50
|
| 281 |
+
},
|
| 282 |
+
"rmw_persistence_km": {
|
| 283 |
+
"mean": 74.07999999999998,
|
| 284 |
+
"p10": 74.08,
|
| 285 |
+
"p90": 74.08,
|
| 286 |
+
"valid_members": 50,
|
| 287 |
+
"total_members": 50
|
| 288 |
+
},
|
| 289 |
+
"r34_NE_estimate_km": {
|
| 290 |
+
"mean": 117.70447755413704,
|
| 291 |
+
"p10": 116.54370191318907,
|
| 292 |
+
"p90": 119.15205488226775,
|
| 293 |
+
"valid_members": 50,
|
| 294 |
+
"total_members": 50
|
| 295 |
+
},
|
| 296 |
+
"r34_SE_estimate_km": {
|
| 297 |
+
"mean": 164.78626857579184,
|
| 298 |
+
"p10": 163.1611826784647,
|
| 299 |
+
"p90": 166.81287683517485,
|
| 300 |
+
"valid_members": 50,
|
| 301 |
+
"total_members": 50
|
| 302 |
+
},
|
| 303 |
+
"r34_SW_estimate_km": {
|
| 304 |
+
"mean": 96.37275467511954,
|
| 305 |
+
"p10": 95.42234778829165,
|
| 306 |
+
"p90": 97.55798583723094,
|
| 307 |
+
"valid_members": 50,
|
| 308 |
+
"total_members": 50
|
| 309 |
+
},
|
| 310 |
+
"r34_NW_estimate_km": {
|
| 311 |
+
"mean": 96.37275467511954,
|
| 312 |
+
"p10": 95.42234778829165,
|
| 313 |
+
"p90": 97.55798583723094,
|
| 314 |
+
"valid_members": 50,
|
| 315 |
+
"total_members": 50
|
| 316 |
+
},
|
| 317 |
+
"r50_NE_estimate_km": {
|
| 318 |
+
"mean": 0.0,
|
| 319 |
+
"p10": 0.0,
|
| 320 |
+
"p90": 0.0,
|
| 321 |
+
"valid_members": 50,
|
| 322 |
+
"total_members": 50
|
| 323 |
+
},
|
| 324 |
+
"r50_SE_estimate_km": {
|
| 325 |
+
"mean": 0.0,
|
| 326 |
+
"p10": 0.0,
|
| 327 |
+
"p90": 0.0,
|
| 328 |
+
"valid_members": 50,
|
| 329 |
+
"total_members": 50
|
| 330 |
+
},
|
| 331 |
+
"r50_SW_estimate_km": {
|
| 332 |
+
"mean": 0.0,
|
| 333 |
+
"p10": 0.0,
|
| 334 |
+
"p90": 0.0,
|
| 335 |
+
"valid_members": 50,
|
| 336 |
+
"total_members": 50
|
| 337 |
+
},
|
| 338 |
+
"r50_NW_estimate_km": {
|
| 339 |
+
"mean": 0.0,
|
| 340 |
+
"p10": 0.0,
|
| 341 |
+
"p90": 0.0,
|
| 342 |
+
"valid_members": 50,
|
| 343 |
+
"total_members": 50
|
| 344 |
+
},
|
| 345 |
+
"r64_NE_estimate_km": {
|
| 346 |
+
"mean": 0.0,
|
| 347 |
+
"p10": 0.0,
|
| 348 |
+
"p90": 0.0,
|
| 349 |
+
"valid_members": 50,
|
| 350 |
+
"total_members": 50
|
| 351 |
+
},
|
| 352 |
+
"r64_SE_estimate_km": {
|
| 353 |
+
"mean": 0.0,
|
| 354 |
+
"p10": 0.0,
|
| 355 |
+
"p90": 0.0,
|
| 356 |
+
"valid_members": 50,
|
| 357 |
+
"total_members": 50
|
| 358 |
+
},
|
| 359 |
+
"r64_SW_estimate_km": {
|
| 360 |
+
"mean": 0.0,
|
| 361 |
+
"p10": 0.0,
|
| 362 |
+
"p90": 0.0,
|
| 363 |
+
"valid_members": 50,
|
| 364 |
+
"total_members": 50
|
| 365 |
+
},
|
| 366 |
+
"r64_NW_estimate_km": {
|
| 367 |
+
"mean": 0.0,
|
| 368 |
+
"p10": 0.0,
|
| 369 |
+
"p90": 0.0,
|
| 370 |
+
"valid_members": 50,
|
| 371 |
+
"total_members": 50
|
| 372 |
+
}
|
| 373 |
+
},
|
| 374 |
+
"official_scoring_allowed": false
|
| 375 |
+
}
|
| 376 |
+
},
|
| 377 |
+
{
|
| 378 |
+
"lead_hours": 18,
|
| 379 |
+
"valid_time_utc": "2016-09-10T18:00:00Z",
|
| 380 |
+
"summary": {
|
| 381 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 382 |
+
"members": 50,
|
| 383 |
+
"definitions": {
|
| 384 |
+
"units": "km",
|
| 385 |
+
"quantity_kind": "radius_not_diameter",
|
| 386 |
+
"thresholds_kt": [
|
| 387 |
+
34,
|
| 388 |
+
50,
|
| 389 |
+
64
|
| 390 |
+
],
|
| 391 |
+
"quadrant_order": [
|
| 392 |
+
"NE",
|
| 393 |
+
"SE",
|
| 394 |
+
"SW",
|
| 395 |
+
"NW"
|
| 396 |
+
],
|
| 397 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 398 |
+
"target_wind_averaging_seconds": 60,
|
| 399 |
+
"validated_wind_averaging_seconds": null,
|
| 400 |
+
"validated_surface_height_m": null,
|
| 401 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 402 |
+
"official_scoring_allowed": false
|
| 403 |
+
},
|
| 404 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 405 |
+
"estimates": {
|
| 406 |
+
"wind_estimate_kt": {
|
| 407 |
+
"mean": 53.30336902718364,
|
| 408 |
+
"p10": 52.71521497661506,
|
| 409 |
+
"p90": 54.05718749558815,
|
| 410 |
+
"valid_members": 50,
|
| 411 |
+
"total_members": 50
|
| 412 |
+
},
|
| 413 |
+
"rmw_persistence_km": {
|
| 414 |
+
"mean": 74.07999999999998,
|
| 415 |
+
"p10": 74.08,
|
| 416 |
+
"p90": 74.08,
|
| 417 |
+
"valid_members": 50,
|
| 418 |
+
"total_members": 50
|
| 419 |
+
},
|
| 420 |
+
"r34_NE_estimate_km": {
|
| 421 |
+
"mean": 129.64544208390555,
|
| 422 |
+
"p10": 128.5006527364064,
|
| 423 |
+
"p90": 131.11105339135824,
|
| 424 |
+
"valid_members": 50,
|
| 425 |
+
"total_members": 50
|
| 426 |
+
},
|
| 427 |
+
"r34_SE_estimate_km": {
|
| 428 |
+
"mean": 181.5036189174677,
|
| 429 |
+
"p10": 179.90091383096896,
|
| 430 |
+
"p90": 183.55547474790154,
|
| 431 |
+
"valid_members": 50,
|
| 432 |
+
"total_members": 50
|
| 433 |
+
},
|
| 434 |
+
"r34_SW_estimate_km": {
|
| 435 |
+
"mean": 106.1496439585573,
|
| 436 |
+
"p10": 105.21232615014615,
|
| 437 |
+
"p90": 107.34964078040512,
|
| 438 |
+
"valid_members": 50,
|
| 439 |
+
"total_members": 50
|
| 440 |
+
},
|
| 441 |
+
"r34_NW_estimate_km": {
|
| 442 |
+
"mean": 106.1496439585573,
|
| 443 |
+
"p10": 105.21232615014615,
|
| 444 |
+
"p90": 107.34964078040512,
|
| 445 |
+
"valid_members": 50,
|
| 446 |
+
"total_members": 50
|
| 447 |
+
},
|
| 448 |
+
"r50_NE_estimate_km": {
|
| 449 |
+
"mean": 95.22793857551062,
|
| 450 |
+
"p10": 94.38706111839961,
|
| 451 |
+
"p90": 96.30446808027604,
|
| 452 |
+
"valid_members": 50,
|
| 453 |
+
"total_members": 50
|
| 454 |
+
},
|
| 455 |
+
"r50_SE_estimate_km": {
|
| 456 |
+
"mean": 133.31911400571482,
|
| 457 |
+
"p10": 132.14188556575948,
|
| 458 |
+
"p90": 134.82625531238645,
|
| 459 |
+
"valid_members": 50,
|
| 460 |
+
"total_members": 50
|
| 461 |
+
},
|
| 462 |
+
"r50_SW_estimate_km": {
|
| 463 |
+
"mean": 77.96966566827494,
|
| 464 |
+
"p10": 77.28118143581467,
|
| 465 |
+
"p90": 78.85109444667948,
|
| 466 |
+
"valid_members": 50,
|
| 467 |
+
"total_members": 50
|
| 468 |
+
},
|
| 469 |
+
"r50_NW_estimate_km": {
|
| 470 |
+
"mean": 77.96966566827494,
|
| 471 |
+
"p10": 77.28118143581467,
|
| 472 |
+
"p90": 78.85109444667948,
|
| 473 |
+
"valid_members": 50,
|
| 474 |
+
"total_members": 50
|
| 475 |
+
},
|
| 476 |
+
"r64_NE_estimate_km": {
|
| 477 |
+
"mean": 0.0,
|
| 478 |
+
"p10": 0.0,
|
| 479 |
+
"p90": 0.0,
|
| 480 |
+
"valid_members": 50,
|
| 481 |
+
"total_members": 50
|
| 482 |
+
},
|
| 483 |
+
"r64_SE_estimate_km": {
|
| 484 |
+
"mean": 0.0,
|
| 485 |
+
"p10": 0.0,
|
| 486 |
+
"p90": 0.0,
|
| 487 |
+
"valid_members": 50,
|
| 488 |
+
"total_members": 50
|
| 489 |
+
},
|
| 490 |
+
"r64_SW_estimate_km": {
|
| 491 |
+
"mean": 0.0,
|
| 492 |
+
"p10": 0.0,
|
| 493 |
+
"p90": 0.0,
|
| 494 |
+
"valid_members": 50,
|
| 495 |
+
"total_members": 50
|
| 496 |
+
},
|
| 497 |
+
"r64_NW_estimate_km": {
|
| 498 |
+
"mean": 0.0,
|
| 499 |
+
"p10": 0.0,
|
| 500 |
+
"p90": 0.0,
|
| 501 |
+
"valid_members": 50,
|
| 502 |
+
"total_members": 50
|
| 503 |
+
}
|
| 504 |
+
},
|
| 505 |
+
"official_scoring_allowed": false
|
| 506 |
+
}
|
| 507 |
+
},
|
| 508 |
+
{
|
| 509 |
+
"lead_hours": 24,
|
| 510 |
+
"valid_time_utc": "2016-09-11T00:00:00Z",
|
| 511 |
+
"summary": {
|
| 512 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 513 |
+
"members": 50,
|
| 514 |
+
"definitions": {
|
| 515 |
+
"units": "km",
|
| 516 |
+
"quantity_kind": "radius_not_diameter",
|
| 517 |
+
"thresholds_kt": [
|
| 518 |
+
34,
|
| 519 |
+
50,
|
| 520 |
+
64
|
| 521 |
+
],
|
| 522 |
+
"quadrant_order": [
|
| 523 |
+
"NE",
|
| 524 |
+
"SE",
|
| 525 |
+
"SW",
|
| 526 |
+
"NW"
|
| 527 |
+
],
|
| 528 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 529 |
+
"target_wind_averaging_seconds": 60,
|
| 530 |
+
"validated_wind_averaging_seconds": null,
|
| 531 |
+
"validated_surface_height_m": null,
|
| 532 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 533 |
+
"official_scoring_allowed": false
|
| 534 |
+
},
|
| 535 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 536 |
+
"estimates": {
|
| 537 |
+
"wind_estimate_kt": {
|
| 538 |
+
"mean": 64.22690247912742,
|
| 539 |
+
"p10": 63.405659288111714,
|
| 540 |
+
"p90": 65.07899140776867,
|
| 541 |
+
"valid_members": 50,
|
| 542 |
+
"total_members": 50
|
| 543 |
+
},
|
| 544 |
+
"rmw_persistence_km": {
|
| 545 |
+
"mean": 74.07999999999998,
|
| 546 |
+
"p10": 74.08,
|
| 547 |
+
"p90": 74.08,
|
| 548 |
+
"valid_members": 50,
|
| 549 |
+
"total_members": 50
|
| 550 |
+
},
|
| 551 |
+
"r34_NE_estimate_km": {
|
| 552 |
+
"mean": 150.49660865752196,
|
| 553 |
+
"p10": 148.9563318135483,
|
| 554 |
+
"p90": 152.09299149728477,
|
| 555 |
+
"valid_members": 50,
|
| 556 |
+
"total_members": 50
|
| 557 |
+
},
|
| 558 |
+
"r34_SE_estimate_km": {
|
| 559 |
+
"mean": 210.6952521205308,
|
| 560 |
+
"p10": 208.53886453896763,
|
| 561 |
+
"p90": 212.93018809619872,
|
| 562 |
+
"valid_members": 50,
|
| 563 |
+
"total_members": 50
|
| 564 |
+
},
|
| 565 |
+
"r34_SW_estimate_km": {
|
| 566 |
+
"mean": 123.22192874028912,
|
| 567 |
+
"p10": 121.96079810617398,
|
| 568 |
+
"p90": 124.52899721364668,
|
| 569 |
+
"valid_members": 50,
|
| 570 |
+
"total_members": 50
|
| 571 |
+
},
|
| 572 |
+
"r34_NW_estimate_km": {
|
| 573 |
+
"mean": 123.22192874028912,
|
| 574 |
+
"p10": 121.96079810617398,
|
| 575 |
+
"p90": 124.52899721364668,
|
| 576 |
+
"valid_members": 50,
|
| 577 |
+
"total_members": 50
|
| 578 |
+
},
|
| 579 |
+
"r50_NE_estimate_km": {
|
| 580 |
+
"mean": 110.54366103966797,
|
| 581 |
+
"p10": 109.41228776244719,
|
| 582 |
+
"p90": 111.71624562547662,
|
| 583 |
+
"valid_members": 50,
|
| 584 |
+
"total_members": 50
|
| 585 |
+
},
|
| 586 |
+
"r50_SE_estimate_km": {
|
| 587 |
+
"mean": 154.7611254555352,
|
| 588 |
+
"p10": 153.17720286742608,
|
| 589 |
+
"p90": 156.40274387566726,
|
| 590 |
+
"valid_members": 50,
|
| 591 |
+
"total_members": 50
|
| 592 |
+
},
|
| 593 |
+
"r50_SW_estimate_km": {
|
| 594 |
+
"mean": 90.50970147984017,
|
| 595 |
+
"p10": 89.58336833128654,
|
| 596 |
+
"p90": 91.46977716236455,
|
| 597 |
+
"valid_members": 50,
|
| 598 |
+
"total_members": 50
|
| 599 |
+
},
|
| 600 |
+
"r50_NW_estimate_km": {
|
| 601 |
+
"mean": 90.50970147984017,
|
| 602 |
+
"p10": 89.58336833128654,
|
| 603 |
+
"p90": 91.46977716236455,
|
| 604 |
+
"valid_members": 50,
|
| 605 |
+
"total_members": 50
|
| 606 |
+
},
|
| 607 |
+
"r64_NE_estimate_km": {
|
| 608 |
+
"mean": 51.08514087095777,
|
| 609 |
+
"p10": 0.0,
|
| 610 |
+
"p90": 84.25473270580885,
|
| 611 |
+
"valid_members": 50,
|
| 612 |
+
"total_members": 50
|
| 613 |
+
},
|
| 614 |
+
"r64_SE_estimate_km": {
|
| 615 |
+
"mean": 57.41547302705215,
|
| 616 |
+
"p10": 0.0,
|
| 617 |
+
"p90": 102.29972001221482,
|
| 618 |
+
"valid_members": 50,
|
| 619 |
+
"total_members": 50
|
| 620 |
+
},
|
| 621 |
+
"r64_SW_estimate_km": {
|
| 622 |
+
"mean": 47.77543865174226,
|
| 623 |
+
"p10": 0.0,
|
| 624 |
+
"p90": 75.07747280611476,
|
| 625 |
+
"valid_members": 50,
|
| 626 |
+
"total_members": 50
|
| 627 |
+
},
|
| 628 |
+
"r64_NW_estimate_km": {
|
| 629 |
+
"mean": 47.77543865174226,
|
| 630 |
+
"p10": 0.0,
|
| 631 |
+
"p90": 75.07747280611476,
|
| 632 |
+
"valid_members": 50,
|
| 633 |
+
"total_members": 50
|
| 634 |
+
}
|
| 635 |
+
},
|
| 636 |
+
"official_scoring_allowed": false
|
| 637 |
+
}
|
| 638 |
+
},
|
| 639 |
+
{
|
| 640 |
+
"lead_hours": 30,
|
| 641 |
+
"valid_time_utc": "2016-09-11T06:00:00Z",
|
| 642 |
+
"summary": {
|
| 643 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 644 |
+
"members": 50,
|
| 645 |
+
"definitions": {
|
| 646 |
+
"units": "km",
|
| 647 |
+
"quantity_kind": "radius_not_diameter",
|
| 648 |
+
"thresholds_kt": [
|
| 649 |
+
34,
|
| 650 |
+
50,
|
| 651 |
+
64
|
| 652 |
+
],
|
| 653 |
+
"quadrant_order": [
|
| 654 |
+
"NE",
|
| 655 |
+
"SE",
|
| 656 |
+
"SW",
|
| 657 |
+
"NW"
|
| 658 |
+
],
|
| 659 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 660 |
+
"target_wind_averaging_seconds": 60,
|
| 661 |
+
"validated_wind_averaging_seconds": null,
|
| 662 |
+
"validated_surface_height_m": null,
|
| 663 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 664 |
+
"official_scoring_allowed": false
|
| 665 |
+
},
|
| 666 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 667 |
+
"estimates": {
|
| 668 |
+
"wind_estimate_kt": {
|
| 669 |
+
"mean": 74.09823506793701,
|
| 670 |
+
"p10": 73.02406677608307,
|
| 671 |
+
"p90": 75.09541627143719,
|
| 672 |
+
"valid_members": 50,
|
| 673 |
+
"total_members": 50
|
| 674 |
+
},
|
| 675 |
+
"rmw_persistence_km": {
|
| 676 |
+
"mean": 74.07999999999998,
|
| 677 |
+
"p10": 74.08,
|
| 678 |
+
"p90": 74.08,
|
| 679 |
+
"valid_members": 50,
|
| 680 |
+
"total_members": 50
|
| 681 |
+
},
|
| 682 |
+
"r34_NE_estimate_km": {
|
| 683 |
+
"mean": 168.73275508871728,
|
| 684 |
+
"p10": 166.77438890426006,
|
| 685 |
+
"p90": 170.54826047092413,
|
| 686 |
+
"valid_members": 50,
|
| 687 |
+
"total_members": 50
|
| 688 |
+
},
|
| 689 |
+
"r34_SE_estimate_km": {
|
| 690 |
+
"mean": 236.22585712420417,
|
| 691 |
+
"p10": 233.4841444659641,
|
| 692 |
+
"p90": 238.7675646592938,
|
| 693 |
+
"valid_members": 50,
|
| 694 |
+
"total_members": 50
|
| 695 |
+
},
|
| 696 |
+
"r34_SW_estimate_km": {
|
| 697 |
+
"mean": 138.15311659951746,
|
| 698 |
+
"p10": 136.5496674548412,
|
| 699 |
+
"p90": 139.6395957755565,
|
| 700 |
+
"valid_members": 50,
|
| 701 |
+
"total_members": 50
|
| 702 |
+
},
|
| 703 |
+
"r34_NW_estimate_km": {
|
| 704 |
+
"mean": 138.15311659951746,
|
| 705 |
+
"p10": 136.5496674548412,
|
| 706 |
+
"p90": 139.6395957755565,
|
| 707 |
+
"valid_members": 50,
|
| 708 |
+
"total_members": 50
|
| 709 |
+
},
|
| 710 |
+
"r50_NE_estimate_km": {
|
| 711 |
+
"mean": 123.93858340863159,
|
| 712 |
+
"p10": 122.50011267087012,
|
| 713 |
+
"p90": 125.27211918313583,
|
| 714 |
+
"valid_members": 50,
|
| 715 |
+
"total_members": 50
|
| 716 |
+
},
|
| 717 |
+
"r50_SE_estimate_km": {
|
| 718 |
+
"mean": 173.51401677208426,
|
| 719 |
+
"p10": 171.5001577392182,
|
| 720 |
+
"p90": 175.38096685639016,
|
| 721 |
+
"valid_members": 50,
|
| 722 |
+
"total_members": 50
|
| 723 |
+
},
|
| 724 |
+
"r50_SW_estimate_km": {
|
| 725 |
+
"mean": 101.47704608882214,
|
| 726 |
+
"p10": 100.2992711188439,
|
| 727 |
+
"p90": 102.5689035841131,
|
| 728 |
+
"valid_members": 50,
|
| 729 |
+
"total_members": 50
|
| 730 |
+
},
|
| 731 |
+
"r50_NW_estimate_km": {
|
| 732 |
+
"mean": 101.47704608882214,
|
| 733 |
+
"p10": 100.2992711188439,
|
| 734 |
+
"p90": 102.5689035841131,
|
| 735 |
+
"valid_members": 50,
|
| 736 |
+
"total_members": 50
|
| 737 |
+
},
|
| 738 |
+
"r64_NE_estimate_km": {
|
| 739 |
+
"mean": 101.72754230037073,
|
| 740 |
+
"p10": 100.54685999144833,
|
| 741 |
+
"p90": 102.82209504721527,
|
| 742 |
+
"valid_members": 50,
|
| 743 |
+
"total_members": 50
|
| 744 |
+
},
|
| 745 |
+
"r64_SE_estimate_km": {
|
| 746 |
+
"mean": 142.41855922051903,
|
| 747 |
+
"p10": 140.76560398802766,
|
| 748 |
+
"p90": 143.95093306610138,
|
| 749 |
+
"valid_members": 50,
|
| 750 |
+
"total_members": 50
|
| 751 |
+
},
|
| 752 |
+
"r64_SW_estimate_km": {
|
| 753 |
+
"mean": 83.29133845657933,
|
| 754 |
+
"p10": 82.32463261096105,
|
| 755 |
+
"p90": 84.1875241034007,
|
| 756 |
+
"valid_members": 50,
|
| 757 |
+
"total_members": 50
|
| 758 |
+
},
|
| 759 |
+
"r64_NW_estimate_km": {
|
| 760 |
+
"mean": 83.29133845657933,
|
| 761 |
+
"p10": 82.32463261096105,
|
| 762 |
+
"p90": 84.1875241034007,
|
| 763 |
+
"valid_members": 50,
|
| 764 |
+
"total_members": 50
|
| 765 |
+
}
|
| 766 |
+
},
|
| 767 |
+
"official_scoring_allowed": false
|
| 768 |
+
}
|
| 769 |
+
},
|
| 770 |
+
{
|
| 771 |
+
"lead_hours": 36,
|
| 772 |
+
"valid_time_utc": "2016-09-11T12:00:00Z",
|
| 773 |
+
"summary": {
|
| 774 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 775 |
+
"members": 50,
|
| 776 |
+
"definitions": {
|
| 777 |
+
"units": "km",
|
| 778 |
+
"quantity_kind": "radius_not_diameter",
|
| 779 |
+
"thresholds_kt": [
|
| 780 |
+
34,
|
| 781 |
+
50,
|
| 782 |
+
64
|
| 783 |
+
],
|
| 784 |
+
"quadrant_order": [
|
| 785 |
+
"NE",
|
| 786 |
+
"SE",
|
| 787 |
+
"SW",
|
| 788 |
+
"NW"
|
| 789 |
+
],
|
| 790 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 791 |
+
"target_wind_averaging_seconds": 60,
|
| 792 |
+
"validated_wind_averaging_seconds": null,
|
| 793 |
+
"validated_surface_height_m": null,
|
| 794 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 795 |
+
"official_scoring_allowed": false
|
| 796 |
+
},
|
| 797 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 798 |
+
"estimates": {
|
| 799 |
+
"wind_estimate_kt": {
|
| 800 |
+
"mean": 88.39234665333719,
|
| 801 |
+
"p10": 87.2923608506073,
|
| 802 |
+
"p90": 89.29278211652155,
|
| 803 |
+
"valid_members": 50,
|
| 804 |
+
"total_members": 50
|
| 805 |
+
},
|
| 806 |
+
"rmw_persistence_km": {
|
| 807 |
+
"mean": 74.07999999999998,
|
| 808 |
+
"p10": 74.08,
|
| 809 |
+
"p90": 74.08,
|
| 810 |
+
"valid_members": 50,
|
| 811 |
+
"total_members": 50
|
| 812 |
+
},
|
| 813 |
+
"r34_NE_estimate_km": {
|
| 814 |
+
"mean": 194.30579319657184,
|
| 815 |
+
"p10": 192.37008740229865,
|
| 816 |
+
"p90": 195.88881019701876,
|
| 817 |
+
"valid_members": 50,
|
| 818 |
+
"total_members": 50
|
| 819 |
+
},
|
| 820 |
+
"r34_SE_estimate_km": {
|
| 821 |
+
"mean": 272.0281104752005,
|
| 822 |
+
"p10": 269.3181223632181,
|
| 823 |
+
"p90": 274.24433427582625,
|
| 824 |
+
"valid_members": 50,
|
| 825 |
+
"total_members": 50
|
| 826 |
+
},
|
| 827 |
+
"r34_SW_estimate_km": {
|
| 828 |
+
"mean": 159.0915225045282,
|
| 829 |
+
"p10": 157.50662698049098,
|
| 830 |
+
"p90": 160.38764744557346,
|
| 831 |
+
"valid_members": 50,
|
| 832 |
+
"total_members": 50
|
| 833 |
+
},
|
| 834 |
+
"r34_NW_estimate_km": {
|
| 835 |
+
"mean": 159.0915225045282,
|
| 836 |
+
"p10": 157.50662698049098,
|
| 837 |
+
"p90": 160.38764744557346,
|
| 838 |
+
"valid_members": 50,
|
| 839 |
+
"total_members": 50
|
| 840 |
+
},
|
| 841 |
+
"r50_NE_estimate_km": {
|
| 842 |
+
"mean": 142.72264294038035,
|
| 843 |
+
"p10": 141.30081684673328,
|
| 844 |
+
"p90": 143.88540997067048,
|
| 845 |
+
"valid_members": 50,
|
| 846 |
+
"total_members": 50
|
| 847 |
+
},
|
| 848 |
+
"r50_SE_estimate_km": {
|
| 849 |
+
"mean": 199.8117001165325,
|
| 850 |
+
"p10": 197.8211435854266,
|
| 851 |
+
"p90": 201.43957395893864,
|
| 852 |
+
"valid_members": 50,
|
| 853 |
+
"total_members": 50
|
| 854 |
+
},
|
| 855 |
+
"r50_SW_estimate_km": {
|
| 856 |
+
"mean": 116.85684810377478,
|
| 857 |
+
"p10": 115.69270124920239,
|
| 858 |
+
"p90": 117.80888547807875,
|
| 859 |
+
"valid_members": 50,
|
| 860 |
+
"total_members": 50
|
| 861 |
+
},
|
| 862 |
+
"r50_NW_estimate_km": {
|
| 863 |
+
"mean": 116.85684810377478,
|
| 864 |
+
"p10": 115.69270124920239,
|
| 865 |
+
"p90": 117.80888547807875,
|
| 866 |
+
"valid_members": 50,
|
| 867 |
+
"total_members": 50
|
| 868 |
+
},
|
| 869 |
+
"r64_NE_estimate_km": {
|
| 870 |
+
"mean": 117.14530937528127,
|
| 871 |
+
"p10": 115.97828882278412,
|
| 872 |
+
"p90": 118.0996968550003,
|
| 873 |
+
"valid_members": 50,
|
| 874 |
+
"total_members": 50
|
| 875 |
+
},
|
| 876 |
+
"r64_SE_estimate_km": {
|
| 877 |
+
"mean": 164.00343312539374,
|
| 878 |
+
"p10": 162.36960435189778,
|
| 879 |
+
"p90": 165.33957559700042,
|
| 880 |
+
"valid_members": 50,
|
| 881 |
+
"total_members": 50
|
| 882 |
+
},
|
| 883 |
+
"r64_SW_estimate_km": {
|
| 884 |
+
"mean": 95.91492521235999,
|
| 885 |
+
"p10": 94.95940518675266,
|
| 886 |
+
"p90": 96.69634791062282,
|
| 887 |
+
"valid_members": 50,
|
| 888 |
+
"total_members": 50
|
| 889 |
+
},
|
| 890 |
+
"r64_NW_estimate_km": {
|
| 891 |
+
"mean": 95.91492521235999,
|
| 892 |
+
"p10": 94.95940518675266,
|
| 893 |
+
"p90": 96.69634791062282,
|
| 894 |
+
"valid_members": 50,
|
| 895 |
+
"total_members": 50
|
| 896 |
+
}
|
| 897 |
+
},
|
| 898 |
+
"official_scoring_allowed": false
|
| 899 |
+
}
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"lead_hours": 42,
|
| 903 |
+
"valid_time_utc": "2016-09-11T18:00:00Z",
|
| 904 |
+
"summary": {
|
| 905 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 906 |
+
"members": 50,
|
| 907 |
+
"definitions": {
|
| 908 |
+
"units": "km",
|
| 909 |
+
"quantity_kind": "radius_not_diameter",
|
| 910 |
+
"thresholds_kt": [
|
| 911 |
+
34,
|
| 912 |
+
50,
|
| 913 |
+
64
|
| 914 |
+
],
|
| 915 |
+
"quadrant_order": [
|
| 916 |
+
"NE",
|
| 917 |
+
"SE",
|
| 918 |
+
"SW",
|
| 919 |
+
"NW"
|
| 920 |
+
],
|
| 921 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 922 |
+
"target_wind_averaging_seconds": 60,
|
| 923 |
+
"validated_wind_averaging_seconds": null,
|
| 924 |
+
"validated_surface_height_m": null,
|
| 925 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 926 |
+
"official_scoring_allowed": false
|
| 927 |
+
},
|
| 928 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 929 |
+
"estimates": {
|
| 930 |
+
"wind_estimate_kt": {
|
| 931 |
+
"mean": 101.69655681596605,
|
| 932 |
+
"p10": 100.80263146095031,
|
| 933 |
+
"p90": 102.7042133510193,
|
| 934 |
+
"valid_members": 50,
|
| 935 |
+
"total_members": 50
|
| 936 |
+
},
|
| 937 |
+
"rmw_persistence_km": {
|
| 938 |
+
"mean": 74.07999999999998,
|
| 939 |
+
"p10": 74.08,
|
| 940 |
+
"p90": 74.08,
|
| 941 |
+
"valid_members": 50,
|
| 942 |
+
"total_members": 50
|
| 943 |
+
},
|
| 944 |
+
"r34_NE_estimate_km": {
|
| 945 |
+
"mean": 217.37009600556513,
|
| 946 |
+
"p10": 215.8410460218834,
|
| 947 |
+
"p90": 219.0923227335286,
|
| 948 |
+
"valid_members": 50,
|
| 949 |
+
"total_members": 50
|
| 950 |
+
},
|
| 951 |
+
"r34_SE_estimate_km": {
|
| 952 |
+
"mean": 304.31813440779115,
|
| 953 |
+
"p10": 302.1774644306368,
|
| 954 |
+
"p90": 306.7292518269401,
|
| 955 |
+
"valid_members": 50,
|
| 956 |
+
"total_members": 50
|
| 957 |
+
},
|
| 958 |
+
"r34_SW_estimate_km": {
|
| 959 |
+
"mean": 177.97585420160783,
|
| 960 |
+
"p10": 176.72391577050115,
|
| 961 |
+
"p90": 179.38595972518584,
|
| 962 |
+
"valid_members": 50,
|
| 963 |
+
"total_members": 50
|
| 964 |
+
},
|
| 965 |
+
"r34_NW_estimate_km": {
|
| 966 |
+
"mean": 177.97585420160783,
|
| 967 |
+
"p10": 176.72391577050115,
|
| 968 |
+
"p90": 179.38595972518584,
|
| 969 |
+
"valid_members": 50,
|
| 970 |
+
"total_members": 50
|
| 971 |
+
},
|
| 972 |
+
"r50_NE_estimate_km": {
|
| 973 |
+
"mean": 159.66397135021614,
|
| 974 |
+
"p10": 158.54084449296275,
|
| 975 |
+
"p90": 160.92899153470876,
|
| 976 |
+
"valid_members": 50,
|
| 977 |
+
"total_members": 50
|
| 978 |
+
},
|
| 979 |
+
"r50_SE_estimate_km": {
|
| 980 |
+
"mean": 223.52955989030258,
|
| 981 |
+
"p10": 221.95718229014784,
|
| 982 |
+
"p90": 225.30058814859225,
|
| 983 |
+
"valid_members": 50,
|
| 984 |
+
"total_members": 50
|
| 985 |
+
},
|
| 986 |
+
"r50_SW_estimate_km": {
|
| 987 |
+
"mean": 130.72787935626727,
|
| 988 |
+
"p10": 129.808298119153,
|
| 989 |
+
"p90": 131.76363842365797,
|
| 990 |
+
"valid_members": 50,
|
| 991 |
+
"total_members": 50
|
| 992 |
+
},
|
| 993 |
+
"r50_NW_estimate_km": {
|
| 994 |
+
"mean": 130.72787935626727,
|
| 995 |
+
"p10": 129.808298119153,
|
| 996 |
+
"p90": 131.76363842365797,
|
| 997 |
+
"valid_members": 50,
|
| 998 |
+
"total_members": 50
|
| 999 |
+
},
|
| 1000 |
+
"r64_NE_estimate_km": {
|
| 1001 |
+
"mean": 131.05058128527162,
|
| 1002 |
+
"p10": 130.1287300607564,
|
| 1003 |
+
"p90": 132.08889712517848,
|
| 1004 |
+
"valid_members": 50,
|
| 1005 |
+
"total_members": 50
|
| 1006 |
+
},
|
| 1007 |
+
"r64_SE_estimate_km": {
|
| 1008 |
+
"mean": 183.47081379938027,
|
| 1009 |
+
"p10": 182.18022208505897,
|
| 1010 |
+
"p90": 184.92445597524986,
|
| 1011 |
+
"valid_members": 50,
|
| 1012 |
+
"total_members": 50
|
| 1013 |
+
},
|
| 1014 |
+
"r64_SW_estimate_km": {
|
| 1015 |
+
"mean": 107.3001281062429,
|
| 1016 |
+
"p10": 106.54534507884019,
|
| 1017 |
+
"p90": 108.15026872785694,
|
| 1018 |
+
"valid_members": 50,
|
| 1019 |
+
"total_members": 50
|
| 1020 |
+
},
|
| 1021 |
+
"r64_NW_estimate_km": {
|
| 1022 |
+
"mean": 107.3001281062429,
|
| 1023 |
+
"p10": 106.54534507884019,
|
| 1024 |
+
"p90": 108.15026872785694,
|
| 1025 |
+
"valid_members": 50,
|
| 1026 |
+
"total_members": 50
|
| 1027 |
+
}
|
| 1028 |
+
},
|
| 1029 |
+
"official_scoring_allowed": false
|
| 1030 |
+
}
|
| 1031 |
+
},
|
| 1032 |
+
{
|
| 1033 |
+
"lead_hours": 48,
|
| 1034 |
+
"valid_time_utc": "2016-09-12T00:00:00Z",
|
| 1035 |
+
"summary": {
|
| 1036 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1037 |
+
"members": 50,
|
| 1038 |
+
"definitions": {
|
| 1039 |
+
"units": "km",
|
| 1040 |
+
"quantity_kind": "radius_not_diameter",
|
| 1041 |
+
"thresholds_kt": [
|
| 1042 |
+
34,
|
| 1043 |
+
50,
|
| 1044 |
+
64
|
| 1045 |
+
],
|
| 1046 |
+
"quadrant_order": [
|
| 1047 |
+
"NE",
|
| 1048 |
+
"SE",
|
| 1049 |
+
"SW",
|
| 1050 |
+
"NW"
|
| 1051 |
+
],
|
| 1052 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1053 |
+
"target_wind_averaging_seconds": 60,
|
| 1054 |
+
"validated_wind_averaging_seconds": null,
|
| 1055 |
+
"validated_surface_height_m": null,
|
| 1056 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1057 |
+
"official_scoring_allowed": false
|
| 1058 |
+
},
|
| 1059 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1060 |
+
"estimates": {
|
| 1061 |
+
"wind_estimate_kt": {
|
| 1062 |
+
"mean": 115.6814847493877,
|
| 1063 |
+
"p10": 114.90031971347966,
|
| 1064 |
+
"p90": 116.38885034164306,
|
| 1065 |
+
"valid_members": 50,
|
| 1066 |
+
"total_members": 50
|
| 1067 |
+
},
|
| 1068 |
+
"rmw_persistence_km": {
|
| 1069 |
+
"mean": 74.07999999999998,
|
| 1070 |
+
"p10": 74.08,
|
| 1071 |
+
"p90": 74.08,
|
| 1072 |
+
"valid_members": 50,
|
| 1073 |
+
"total_members": 50
|
| 1074 |
+
},
|
| 1075 |
+
"r34_NE_estimate_km": {
|
| 1076 |
+
"mean": 240.972046491686,
|
| 1077 |
+
"p10": 239.6699255083736,
|
| 1078 |
+
"p90": 242.15065766220837,
|
| 1079 |
+
"valid_members": 50,
|
| 1080 |
+
"total_members": 50
|
| 1081 |
+
},
|
| 1082 |
+
"r34_SE_estimate_km": {
|
| 1083 |
+
"mean": 337.36086508836047,
|
| 1084 |
+
"p10": 335.5378957117231,
|
| 1085 |
+
"p90": 339.01092072709173,
|
| 1086 |
+
"valid_members": 50,
|
| 1087 |
+
"total_members": 50
|
| 1088 |
+
},
|
| 1089 |
+
"r34_SW_estimate_km": {
|
| 1090 |
+
"mean": 197.30039504591912,
|
| 1091 |
+
"p10": 196.234259001737,
|
| 1092 |
+
"p90": 198.2654051080203,
|
| 1093 |
+
"valid_members": 50,
|
| 1094 |
+
"total_members": 50
|
| 1095 |
+
},
|
| 1096 |
+
"r34_NW_estimate_km": {
|
| 1097 |
+
"mean": 197.30039504591912,
|
| 1098 |
+
"p10": 196.234259001737,
|
| 1099 |
+
"p90": 198.2654051080203,
|
| 1100 |
+
"valid_members": 50,
|
| 1101 |
+
"total_members": 50
|
| 1102 |
+
},
|
| 1103 |
+
"r50_NE_estimate_km": {
|
| 1104 |
+
"mean": 177.0002159186905,
|
| 1105 |
+
"p10": 176.0437742958797,
|
| 1106 |
+
"p90": 177.86593638172283,
|
| 1107 |
+
"valid_members": 50,
|
| 1108 |
+
"total_members": 50
|
| 1109 |
+
},
|
| 1110 |
+
"r50_SE_estimate_km": {
|
| 1111 |
+
"mean": 247.8003022861667,
|
| 1112 |
+
"p10": 246.46128401423155,
|
| 1113 |
+
"p90": 249.012310934412,
|
| 1114 |
+
"valid_members": 50,
|
| 1115 |
+
"total_members": 50
|
| 1116 |
+
},
|
| 1117 |
+
"r50_SW_estimate_km": {
|
| 1118 |
+
"mean": 144.92225564086536,
|
| 1119 |
+
"p10": 144.13915107431373,
|
| 1120 |
+
"p90": 145.63108055164815,
|
| 1121 |
+
"valid_members": 50,
|
| 1122 |
+
"total_members": 50
|
| 1123 |
+
},
|
| 1124 |
+
"r50_NW_estimate_km": {
|
| 1125 |
+
"mean": 144.92225564086536,
|
| 1126 |
+
"p10": 144.13915107431373,
|
| 1127 |
+
"p90": 145.63108055164815,
|
| 1128 |
+
"valid_members": 50,
|
| 1129 |
+
"total_members": 50
|
| 1130 |
+
},
|
| 1131 |
+
"r64_NE_estimate_km": {
|
| 1132 |
+
"mean": 145.27999640497217,
|
| 1133 |
+
"p10": 144.49495874384664,
|
| 1134 |
+
"p90": 145.99057105090833,
|
| 1135 |
+
"valid_members": 50,
|
| 1136 |
+
"total_members": 50
|
| 1137 |
+
},
|
| 1138 |
+
"r64_SE_estimate_km": {
|
| 1139 |
+
"mean": 203.39199496696102,
|
| 1140 |
+
"p10": 202.29294224138528,
|
| 1141 |
+
"p90": 204.38679947127164,
|
| 1142 |
+
"valid_members": 50,
|
| 1143 |
+
"total_members": 50
|
| 1144 |
+
},
|
| 1145 |
+
"r64_SW_estimate_km": {
|
| 1146 |
+
"mean": 118.95072934926363,
|
| 1147 |
+
"p10": 118.30796499995006,
|
| 1148 |
+
"p90": 119.53252570445895,
|
| 1149 |
+
"valid_members": 50,
|
| 1150 |
+
"total_members": 50
|
| 1151 |
+
},
|
| 1152 |
+
"r64_NW_estimate_km": {
|
| 1153 |
+
"mean": 118.95072934926363,
|
| 1154 |
+
"p10": 118.30796499995006,
|
| 1155 |
+
"p90": 119.53252570445895,
|
| 1156 |
+
"valid_members": 50,
|
| 1157 |
+
"total_members": 50
|
| 1158 |
+
}
|
| 1159 |
+
},
|
| 1160 |
+
"official_scoring_allowed": false
|
| 1161 |
+
}
|
| 1162 |
+
},
|
| 1163 |
+
{
|
| 1164 |
+
"lead_hours": 54,
|
| 1165 |
+
"valid_time_utc": "2016-09-12T06:00:00Z",
|
| 1166 |
+
"summary": {
|
| 1167 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1168 |
+
"members": 50,
|
| 1169 |
+
"definitions": {
|
| 1170 |
+
"units": "km",
|
| 1171 |
+
"quantity_kind": "radius_not_diameter",
|
| 1172 |
+
"thresholds_kt": [
|
| 1173 |
+
34,
|
| 1174 |
+
50,
|
| 1175 |
+
64
|
| 1176 |
+
],
|
| 1177 |
+
"quadrant_order": [
|
| 1178 |
+
"NE",
|
| 1179 |
+
"SE",
|
| 1180 |
+
"SW",
|
| 1181 |
+
"NW"
|
| 1182 |
+
],
|
| 1183 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1184 |
+
"target_wind_averaging_seconds": 60,
|
| 1185 |
+
"validated_wind_averaging_seconds": null,
|
| 1186 |
+
"validated_surface_height_m": null,
|
| 1187 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1188 |
+
"official_scoring_allowed": false
|
| 1189 |
+
},
|
| 1190 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1191 |
+
"estimates": {
|
| 1192 |
+
"wind_estimate_kt": {
|
| 1193 |
+
"mean": 125.77837246127169,
|
| 1194 |
+
"p10": 125.05592272248738,
|
| 1195 |
+
"p90": 126.46900229313772,
|
| 1196 |
+
"valid_members": 50,
|
| 1197 |
+
"total_members": 50
|
| 1198 |
+
},
|
| 1199 |
+
"rmw_persistence_km": {
|
| 1200 |
+
"mean": 74.07999999999998,
|
| 1201 |
+
"p10": 74.08,
|
| 1202 |
+
"p90": 74.08,
|
| 1203 |
+
"valid_members": 50,
|
| 1204 |
+
"total_members": 50
|
| 1205 |
+
},
|
| 1206 |
+
"r34_NE_estimate_km": {
|
| 1207 |
+
"mean": 257.65621700827035,
|
| 1208 |
+
"p10": 256.47200156655316,
|
| 1209 |
+
"p90": 258.7878151535587,
|
| 1210 |
+
"valid_members": 50,
|
| 1211 |
+
"total_members": 50
|
| 1212 |
+
},
|
| 1213 |
+
"r34_SE_estimate_km": {
|
| 1214 |
+
"mean": 360.7187038115785,
|
| 1215 |
+
"p10": 359.06080219317437,
|
| 1216 |
+
"p90": 362.3029412149822,
|
| 1217 |
+
"valid_members": 50,
|
| 1218 |
+
"total_members": 50
|
| 1219 |
+
},
|
| 1220 |
+
"r34_SW_estimate_km": {
|
| 1221 |
+
"mean": 210.96087343692258,
|
| 1222 |
+
"p10": 209.99127477238065,
|
| 1223 |
+
"p90": 211.88739070043565,
|
| 1224 |
+
"valid_members": 50,
|
| 1225 |
+
"total_members": 50
|
| 1226 |
+
},
|
| 1227 |
+
"r34_NW_estimate_km": {
|
| 1228 |
+
"mean": 210.96087343692258,
|
| 1229 |
+
"p10": 209.99127477238065,
|
| 1230 |
+
"p90": 211.88739070043565,
|
| 1231 |
+
"valid_members": 50,
|
| 1232 |
+
"total_members": 50
|
| 1233 |
+
},
|
| 1234 |
+
"r50_NE_estimate_km": {
|
| 1235 |
+
"mean": 189.25517173972415,
|
| 1236 |
+
"p10": 188.38533479419516,
|
| 1237 |
+
"p90": 190.08635991679816,
|
| 1238 |
+
"valid_members": 50,
|
| 1239 |
+
"total_members": 50
|
| 1240 |
+
},
|
| 1241 |
+
"r50_SE_estimate_km": {
|
| 1242 |
+
"mean": 264.9572404356138,
|
| 1243 |
+
"p10": 263.73946871187326,
|
| 1244 |
+
"p90": 266.1209038835175,
|
| 1245 |
+
"valid_members": 50,
|
| 1246 |
+
"total_members": 50
|
| 1247 |
+
},
|
| 1248 |
+
"r50_SW_estimate_km": {
|
| 1249 |
+
"mean": 154.95623119928615,
|
| 1250 |
+
"p10": 154.24403584104027,
|
| 1251 |
+
"p90": 155.63678215148911,
|
| 1252 |
+
"valid_members": 50,
|
| 1253 |
+
"total_members": 50
|
| 1254 |
+
},
|
| 1255 |
+
"r50_NW_estimate_km": {
|
| 1256 |
+
"mean": 154.95623119928615,
|
| 1257 |
+
"p10": 154.24403584104027,
|
| 1258 |
+
"p90": 155.63678215148911,
|
| 1259 |
+
"valid_members": 50,
|
| 1260 |
+
"total_members": 50
|
| 1261 |
+
},
|
| 1262 |
+
"r64_NE_estimate_km": {
|
| 1263 |
+
"mean": 155.33874084424858,
|
| 1264 |
+
"p10": 154.62478743089562,
|
| 1265 |
+
"p90": 156.0209717373038,
|
| 1266 |
+
"valid_members": 50,
|
| 1267 |
+
"total_members": 50
|
| 1268 |
+
},
|
| 1269 |
+
"r64_SE_estimate_km": {
|
| 1270 |
+
"mean": 217.474237181948,
|
| 1271 |
+
"p10": 216.4747024032539,
|
| 1272 |
+
"p90": 218.42936043222534,
|
| 1273 |
+
"valid_members": 50,
|
| 1274 |
+
"total_members": 50
|
| 1275 |
+
},
|
| 1276 |
+
"r64_SW_estimate_km": {
|
| 1277 |
+
"mean": 127.18651553454488,
|
| 1278 |
+
"p10": 126.60195274998233,
|
| 1279 |
+
"p90": 127.74510490900568,
|
| 1280 |
+
"valid_members": 50,
|
| 1281 |
+
"total_members": 50
|
| 1282 |
+
},
|
| 1283 |
+
"r64_NW_estimate_km": {
|
| 1284 |
+
"mean": 127.18651553454488,
|
| 1285 |
+
"p10": 126.60195274998233,
|
| 1286 |
+
"p90": 127.74510490900568,
|
| 1287 |
+
"valid_members": 50,
|
| 1288 |
+
"total_members": 50
|
| 1289 |
+
}
|
| 1290 |
+
},
|
| 1291 |
+
"official_scoring_allowed": false
|
| 1292 |
+
}
|
| 1293 |
+
},
|
| 1294 |
+
{
|
| 1295 |
+
"lead_hours": 60,
|
| 1296 |
+
"valid_time_utc": "2016-09-12T12:00:00Z",
|
| 1297 |
+
"summary": {
|
| 1298 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1299 |
+
"members": 50,
|
| 1300 |
+
"definitions": {
|
| 1301 |
+
"units": "km",
|
| 1302 |
+
"quantity_kind": "radius_not_diameter",
|
| 1303 |
+
"thresholds_kt": [
|
| 1304 |
+
34,
|
| 1305 |
+
50,
|
| 1306 |
+
64
|
| 1307 |
+
],
|
| 1308 |
+
"quadrant_order": [
|
| 1309 |
+
"NE",
|
| 1310 |
+
"SE",
|
| 1311 |
+
"SW",
|
| 1312 |
+
"NW"
|
| 1313 |
+
],
|
| 1314 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1315 |
+
"target_wind_averaging_seconds": 60,
|
| 1316 |
+
"validated_wind_averaging_seconds": null,
|
| 1317 |
+
"validated_surface_height_m": null,
|
| 1318 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1319 |
+
"official_scoring_allowed": false
|
| 1320 |
+
},
|
| 1321 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1322 |
+
"estimates": {
|
| 1323 |
+
"wind_estimate_kt": {
|
| 1324 |
+
"mean": 132.41123620261155,
|
| 1325 |
+
"p10": 131.95006069945484,
|
| 1326 |
+
"p90": 133.00101121103611,
|
| 1327 |
+
"valid_members": 50,
|
| 1328 |
+
"total_members": 50
|
| 1329 |
+
},
|
| 1330 |
+
"rmw_persistence_km": {
|
| 1331 |
+
"mean": 74.07999999999998,
|
| 1332 |
+
"p10": 74.08,
|
| 1333 |
+
"p90": 74.08,
|
| 1334 |
+
"valid_members": 50,
|
| 1335 |
+
"total_members": 50
|
| 1336 |
+
},
|
| 1337 |
+
"r34_NE_estimate_km": {
|
| 1338 |
+
"mean": 268.4702112420642,
|
| 1339 |
+
"p10": 267.72210164865334,
|
| 1340 |
+
"p90": 269.4266216053616,
|
| 1341 |
+
"valid_members": 50,
|
| 1342 |
+
"total_members": 50
|
| 1343 |
+
},
|
| 1344 |
+
"r34_SE_estimate_km": {
|
| 1345 |
+
"mean": 375.85829573888986,
|
| 1346 |
+
"p10": 374.81094230811465,
|
| 1347 |
+
"p90": 377.1972702475063,
|
| 1348 |
+
"valid_members": 50,
|
| 1349 |
+
"total_members": 50
|
| 1350 |
+
},
|
| 1351 |
+
"r34_SW_estimate_km": {
|
| 1352 |
+
"mean": 219.81503459550925,
|
| 1353 |
+
"p10": 219.20250579614617,
|
| 1354 |
+
"p90": 220.5981135677464,
|
| 1355 |
+
"valid_members": 50,
|
| 1356 |
+
"total_members": 50
|
| 1357 |
+
},
|
| 1358 |
+
"r34_NW_estimate_km": {
|
| 1359 |
+
"mean": 219.81503459550925,
|
| 1360 |
+
"p10": 219.20250579614617,
|
| 1361 |
+
"p90": 220.5981135677464,
|
| 1362 |
+
"valid_members": 50,
|
| 1363 |
+
"total_members": 50
|
| 1364 |
+
},
|
| 1365 |
+
"r50_NE_estimate_km": {
|
| 1366 |
+
"mean": 197.1983308828367,
|
| 1367 |
+
"p10": 196.6488249899649,
|
| 1368 |
+
"p90": 197.90083909188064,
|
| 1369 |
+
"valid_members": 50,
|
| 1370 |
+
"total_members": 50
|
| 1371 |
+
},
|
| 1372 |
+
"r50_SE_estimate_km": {
|
| 1373 |
+
"mean": 276.0776632359714,
|
| 1374 |
+
"p10": 275.30835498595087,
|
| 1375 |
+
"p90": 277.0611747286329,
|
| 1376 |
+
"valid_members": 50,
|
| 1377 |
+
"total_members": 50
|
| 1378 |
+
},
|
| 1379 |
+
"r50_SW_estimate_km": {
|
| 1380 |
+
"mean": 161.4598421353488,
|
| 1381 |
+
"p10": 161.00992385095802,
|
| 1382 |
+
"p90": 162.03503394363244,
|
| 1383 |
+
"valid_members": 50,
|
| 1384 |
+
"total_members": 50
|
| 1385 |
+
},
|
| 1386 |
+
"r50_NW_estimate_km": {
|
| 1387 |
+
"mean": 161.4598421353488,
|
| 1388 |
+
"p10": 161.00992385095802,
|
| 1389 |
+
"p90": 162.03503394363244,
|
| 1390 |
+
"valid_members": 50,
|
| 1391 |
+
"total_members": 50
|
| 1392 |
+
},
|
| 1393 |
+
"r64_NE_estimate_km": {
|
| 1394 |
+
"mean": 161.8584059518077,
|
| 1395 |
+
"p10": 161.40737704358534,
|
| 1396 |
+
"p90": 162.43501762176888,
|
| 1397 |
+
"valid_members": 50,
|
| 1398 |
+
"total_members": 50
|
| 1399 |
+
},
|
| 1400 |
+
"r64_SE_estimate_km": {
|
| 1401 |
+
"mean": 226.60176833253078,
|
| 1402 |
+
"p10": 225.97032786101946,
|
| 1403 |
+
"p90": 227.40902467047644,
|
| 1404 |
+
"valid_members": 50,
|
| 1405 |
+
"total_members": 50
|
| 1406 |
+
},
|
| 1407 |
+
"r64_SW_estimate_km": {
|
| 1408 |
+
"mean": 132.52461395723014,
|
| 1409 |
+
"p10": 132.15532555608578,
|
| 1410 |
+
"p90": 132.99672560639337,
|
| 1411 |
+
"valid_members": 50,
|
| 1412 |
+
"total_members": 50
|
| 1413 |
+
},
|
| 1414 |
+
"r64_NW_estimate_km": {
|
| 1415 |
+
"mean": 132.52461395723014,
|
| 1416 |
+
"p10": 132.15532555608578,
|
| 1417 |
+
"p90": 132.99672560639337,
|
| 1418 |
+
"valid_members": 50,
|
| 1419 |
+
"total_members": 50
|
| 1420 |
+
}
|
| 1421 |
+
},
|
| 1422 |
+
"official_scoring_allowed": false
|
| 1423 |
+
}
|
| 1424 |
+
},
|
| 1425 |
+
{
|
| 1426 |
+
"lead_hours": 66,
|
| 1427 |
+
"valid_time_utc": "2016-09-12T18:00:00Z",
|
| 1428 |
+
"summary": {
|
| 1429 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1430 |
+
"members": 50,
|
| 1431 |
+
"definitions": {
|
| 1432 |
+
"units": "km",
|
| 1433 |
+
"quantity_kind": "radius_not_diameter",
|
| 1434 |
+
"thresholds_kt": [
|
| 1435 |
+
34,
|
| 1436 |
+
50,
|
| 1437 |
+
64
|
| 1438 |
+
],
|
| 1439 |
+
"quadrant_order": [
|
| 1440 |
+
"NE",
|
| 1441 |
+
"SE",
|
| 1442 |
+
"SW",
|
| 1443 |
+
"NW"
|
| 1444 |
+
],
|
| 1445 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1446 |
+
"target_wind_averaging_seconds": 60,
|
| 1447 |
+
"validated_wind_averaging_seconds": null,
|
| 1448 |
+
"validated_surface_height_m": null,
|
| 1449 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1450 |
+
"official_scoring_allowed": false
|
| 1451 |
+
},
|
| 1452 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1453 |
+
"estimates": {
|
| 1454 |
+
"wind_estimate_kt": {
|
| 1455 |
+
"mean": 134.86092565295118,
|
| 1456 |
+
"p10": 134.31239569713082,
|
| 1457 |
+
"p90": 135.3805367651739,
|
| 1458 |
+
"valid_members": 50,
|
| 1459 |
+
"total_members": 50
|
| 1460 |
+
},
|
| 1461 |
+
"rmw_persistence_km": {
|
| 1462 |
+
"mean": 74.07999999999998,
|
| 1463 |
+
"p10": 74.08,
|
| 1464 |
+
"p90": 74.08,
|
| 1465 |
+
"valid_members": 50,
|
| 1466 |
+
"total_members": 50
|
| 1467 |
+
},
|
| 1468 |
+
"r34_NE_estimate_km": {
|
| 1469 |
+
"mean": 272.4364105365859,
|
| 1470 |
+
"p10": 271.54976260604997,
|
| 1471 |
+
"p90": 273.2760277276711,
|
| 1472 |
+
"valid_members": 50,
|
| 1473 |
+
"total_members": 50
|
| 1474 |
+
},
|
| 1475 |
+
"r34_SE_estimate_km": {
|
| 1476 |
+
"mean": 381.41097475122035,
|
| 1477 |
+
"p10": 380.16966764847,
|
| 1478 |
+
"p90": 382.5864388187395,
|
| 1479 |
+
"valid_members": 50,
|
| 1480 |
+
"total_members": 50
|
| 1481 |
+
},
|
| 1482 |
+
"r34_SW_estimate_km": {
|
| 1483 |
+
"mean": 223.06243486053117,
|
| 1484 |
+
"p10": 222.33647519214523,
|
| 1485 |
+
"p90": 223.7498872264808,
|
| 1486 |
+
"valid_members": 50,
|
| 1487 |
+
"total_members": 50
|
| 1488 |
+
},
|
| 1489 |
+
"r34_NW_estimate_km": {
|
| 1490 |
+
"mean": 223.06243486053117,
|
| 1491 |
+
"p10": 222.33647519214523,
|
| 1492 |
+
"p90": 223.7498872264808,
|
| 1493 |
+
"valid_members": 50,
|
| 1494 |
+
"total_members": 50
|
| 1495 |
+
},
|
| 1496 |
+
"r50_NE_estimate_km": {
|
| 1497 |
+
"mean": 200.1116070977654,
|
| 1498 |
+
"p10": 199.46034120434092,
|
| 1499 |
+
"p90": 200.72832769367994,
|
| 1500 |
+
"valid_members": 50,
|
| 1501 |
+
"total_members": 50
|
| 1502 |
+
},
|
| 1503 |
+
"r50_SE_estimate_km": {
|
| 1504 |
+
"mean": 280.1562499368715,
|
| 1505 |
+
"p10": 279.2444776860773,
|
| 1506 |
+
"p90": 281.0196587711519,
|
| 1507 |
+
"valid_members": 50,
|
| 1508 |
+
"total_members": 50
|
| 1509 |
+
},
|
| 1510 |
+
"r50_SW_estimate_km": {
|
| 1511 |
+
"mean": 163.84514182654405,
|
| 1512 |
+
"p10": 163.3119056278922,
|
| 1513 |
+
"p90": 164.35009341316345,
|
| 1514 |
+
"valid_members": 50,
|
| 1515 |
+
"total_members": 50
|
| 1516 |
+
},
|
| 1517 |
+
"r50_NW_estimate_km": {
|
| 1518 |
+
"mean": 163.84514182654405,
|
| 1519 |
+
"p10": 163.3119056278922,
|
| 1520 |
+
"p90": 164.35009341316345,
|
| 1521 |
+
"valid_members": 50,
|
| 1522 |
+
"total_members": 50
|
| 1523 |
+
},
|
| 1524 |
+
"r64_NE_estimate_km": {
|
| 1525 |
+
"mean": 164.2495937581884,
|
| 1526 |
+
"p10": 163.71504126533245,
|
| 1527 |
+
"p90": 164.75579181841283,
|
| 1528 |
+
"valid_members": 50,
|
| 1529 |
+
"total_members": 50
|
| 1530 |
+
},
|
| 1531 |
+
"r64_SE_estimate_km": {
|
| 1532 |
+
"mean": 229.9494312614638,
|
| 1533 |
+
"p10": 229.2010577714654,
|
| 1534 |
+
"p90": 230.65810854577796,
|
| 1535 |
+
"valid_members": 50,
|
| 1536 |
+
"total_members": 50
|
| 1537 |
+
},
|
| 1538 |
+
"r64_SW_estimate_km": {
|
| 1539 |
+
"mean": 134.48244394496768,
|
| 1540 |
+
"p10": 134.04476903806966,
|
| 1541 |
+
"p90": 134.89690312688444,
|
| 1542 |
+
"valid_members": 50,
|
| 1543 |
+
"total_members": 50
|
| 1544 |
+
},
|
| 1545 |
+
"r64_NW_estimate_km": {
|
| 1546 |
+
"mean": 134.48244394496768,
|
| 1547 |
+
"p10": 134.04476903806966,
|
| 1548 |
+
"p90": 134.89690312688444,
|
| 1549 |
+
"valid_members": 50,
|
| 1550 |
+
"total_members": 50
|
| 1551 |
+
}
|
| 1552 |
+
},
|
| 1553 |
+
"official_scoring_allowed": false
|
| 1554 |
+
}
|
| 1555 |
+
},
|
| 1556 |
+
{
|
| 1557 |
+
"lead_hours": 72,
|
| 1558 |
+
"valid_time_utc": "2016-09-13T00:00:00Z",
|
| 1559 |
+
"summary": {
|
| 1560 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1561 |
+
"members": 50,
|
| 1562 |
+
"definitions": {
|
| 1563 |
+
"units": "km",
|
| 1564 |
+
"quantity_kind": "radius_not_diameter",
|
| 1565 |
+
"thresholds_kt": [
|
| 1566 |
+
34,
|
| 1567 |
+
50,
|
| 1568 |
+
64
|
| 1569 |
+
],
|
| 1570 |
+
"quadrant_order": [
|
| 1571 |
+
"NE",
|
| 1572 |
+
"SE",
|
| 1573 |
+
"SW",
|
| 1574 |
+
"NW"
|
| 1575 |
+
],
|
| 1576 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1577 |
+
"target_wind_averaging_seconds": 60,
|
| 1578 |
+
"validated_wind_averaging_seconds": null,
|
| 1579 |
+
"validated_surface_height_m": null,
|
| 1580 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1581 |
+
"official_scoring_allowed": false
|
| 1582 |
+
},
|
| 1583 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1584 |
+
"estimates": {
|
| 1585 |
+
"wind_estimate_kt": {
|
| 1586 |
+
"mean": 136.77460049203538,
|
| 1587 |
+
"p10": 136.25304926558675,
|
| 1588 |
+
"p90": 137.31942326080207,
|
| 1589 |
+
"valid_members": 50,
|
| 1590 |
+
"total_members": 50
|
| 1591 |
+
},
|
| 1592 |
+
"rmw_persistence_km": {
|
| 1593 |
+
"mean": 74.07999999999998,
|
| 1594 |
+
"p10": 74.08,
|
| 1595 |
+
"p90": 74.08,
|
| 1596 |
+
"valid_members": 50,
|
| 1597 |
+
"total_members": 50
|
| 1598 |
+
},
|
| 1599 |
+
"r34_NE_estimate_km": {
|
| 1600 |
+
"mean": 275.5247334215917,
|
| 1601 |
+
"p10": 274.68410903753903,
|
| 1602 |
+
"p90": 276.4026023248854,
|
| 1603 |
+
"valid_members": 50,
|
| 1604 |
+
"total_members": 50
|
| 1605 |
+
},
|
| 1606 |
+
"r34_SE_estimate_km": {
|
| 1607 |
+
"mean": 385.73462679022833,
|
| 1608 |
+
"p10": 384.55775265255465,
|
| 1609 |
+
"p90": 386.96364325483955,
|
| 1610 |
+
"valid_members": 50,
|
| 1611 |
+
"total_members": 50
|
| 1612 |
+
},
|
| 1613 |
+
"r34_SW_estimate_km": {
|
| 1614 |
+
"mean": 225.591057304969,
|
| 1615 |
+
"p10": 224.9027802808348,
|
| 1616 |
+
"p90": 226.3098289796925,
|
| 1617 |
+
"valid_members": 50,
|
| 1618 |
+
"total_members": 50
|
| 1619 |
+
},
|
| 1620 |
+
"r34_NW_estimate_km": {
|
| 1621 |
+
"mean": 225.591057304969,
|
| 1622 |
+
"p10": 224.9027802808348,
|
| 1623 |
+
"p90": 226.3098289796925,
|
| 1624 |
+
"valid_members": 50,
|
| 1625 |
+
"total_members": 50
|
| 1626 |
+
},
|
| 1627 |
+
"r50_NE_estimate_km": {
|
| 1628 |
+
"mean": 202.38006032888111,
|
| 1629 |
+
"p10": 201.76259992361804,
|
| 1630 |
+
"p90": 203.02487779917908,
|
| 1631 |
+
"valid_members": 50,
|
| 1632 |
+
"total_members": 50
|
| 1633 |
+
},
|
| 1634 |
+
"r50_SE_estimate_km": {
|
| 1635 |
+
"mean": 283.33208446043363,
|
| 1636 |
+
"p10": 282.46763989306527,
|
| 1637 |
+
"p90": 284.2348289188507,
|
| 1638 |
+
"valid_members": 50,
|
| 1639 |
+
"total_members": 50
|
| 1640 |
+
},
|
| 1641 |
+
"r50_SW_estimate_km": {
|
| 1642 |
+
"mean": 165.70248057250424,
|
| 1643 |
+
"p10": 165.1969232530671,
|
| 1644 |
+
"p90": 166.23043700344527,
|
| 1645 |
+
"valid_members": 50,
|
| 1646 |
+
"total_members": 50
|
| 1647 |
+
},
|
| 1648 |
+
"r50_NW_estimate_km": {
|
| 1649 |
+
"mean": 165.70248057250424,
|
| 1650 |
+
"p10": 165.1969232530671,
|
| 1651 |
+
"p90": 166.23043700344527,
|
| 1652 |
+
"valid_members": 50,
|
| 1653 |
+
"total_members": 50
|
| 1654 |
+
},
|
| 1655 |
+
"r64_NE_estimate_km": {
|
| 1656 |
+
"mean": 166.11151734709944,
|
| 1657 |
+
"p10": 165.6047120588051,
|
| 1658 |
+
"p90": 166.64077703913162,
|
| 1659 |
+
"valid_members": 50,
|
| 1660 |
+
"total_members": 50
|
| 1661 |
+
},
|
| 1662 |
+
"r64_SE_estimate_km": {
|
| 1663 |
+
"mean": 232.55612428593923,
|
| 1664 |
+
"p10": 231.84659688232713,
|
| 1665 |
+
"p90": 233.29708785478425,
|
| 1666 |
+
"valid_members": 50,
|
| 1667 |
+
"total_members": 50
|
| 1668 |
+
},
|
| 1669 |
+
"r64_SW_estimate_km": {
|
| 1670 |
+
"mean": 136.0069289007367,
|
| 1671 |
+
"p10": 135.59197253941747,
|
| 1672 |
+
"p90": 136.44027022741807,
|
| 1673 |
+
"valid_members": 50,
|
| 1674 |
+
"total_members": 50
|
| 1675 |
+
},
|
| 1676 |
+
"r64_NW_estimate_km": {
|
| 1677 |
+
"mean": 136.0069289007367,
|
| 1678 |
+
"p10": 135.59197253941747,
|
| 1679 |
+
"p90": 136.44027022741807,
|
| 1680 |
+
"valid_members": 50,
|
| 1681 |
+
"total_members": 50
|
| 1682 |
+
}
|
| 1683 |
+
},
|
| 1684 |
+
"official_scoring_allowed": false
|
| 1685 |
+
}
|
| 1686 |
+
},
|
| 1687 |
+
{
|
| 1688 |
+
"lead_hours": 78,
|
| 1689 |
+
"valid_time_utc": "2016-09-13T06:00:00Z",
|
| 1690 |
+
"summary": {
|
| 1691 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1692 |
+
"members": 50,
|
| 1693 |
+
"definitions": {
|
| 1694 |
+
"units": "km",
|
| 1695 |
+
"quantity_kind": "radius_not_diameter",
|
| 1696 |
+
"thresholds_kt": [
|
| 1697 |
+
34,
|
| 1698 |
+
50,
|
| 1699 |
+
64
|
| 1700 |
+
],
|
| 1701 |
+
"quadrant_order": [
|
| 1702 |
+
"NE",
|
| 1703 |
+
"SE",
|
| 1704 |
+
"SW",
|
| 1705 |
+
"NW"
|
| 1706 |
+
],
|
| 1707 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1708 |
+
"target_wind_averaging_seconds": 60,
|
| 1709 |
+
"validated_wind_averaging_seconds": null,
|
| 1710 |
+
"validated_surface_height_m": null,
|
| 1711 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1712 |
+
"official_scoring_allowed": false
|
| 1713 |
+
},
|
| 1714 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1715 |
+
"estimates": {
|
| 1716 |
+
"wind_estimate_kt": {
|
| 1717 |
+
"mean": 137.85199679195318,
|
| 1718 |
+
"p10": 137.18429268465422,
|
| 1719 |
+
"p90": 138.610019989084,
|
| 1720 |
+
"valid_members": 50,
|
| 1721 |
+
"total_members": 50
|
| 1722 |
+
},
|
| 1723 |
+
"rmw_persistence_km": {
|
| 1724 |
+
"mean": 74.07999999999998,
|
| 1725 |
+
"p10": 74.08,
|
| 1726 |
+
"p90": 74.08,
|
| 1727 |
+
"valid_members": 50,
|
| 1728 |
+
"total_members": 50
|
| 1729 |
+
},
|
| 1730 |
+
"r34_NE_estimate_km": {
|
| 1731 |
+
"mean": 277.2595593377229,
|
| 1732 |
+
"p10": 276.1849832784492,
|
| 1733 |
+
"p90": 278.4788712902815,
|
| 1734 |
+
"valid_members": 50,
|
| 1735 |
+
"total_members": 50
|
| 1736 |
+
},
|
| 1737 |
+
"r34_SE_estimate_km": {
|
| 1738 |
+
"mean": 388.163383072812,
|
| 1739 |
+
"p10": 386.65897658982885,
|
| 1740 |
+
"p90": 389.8704198063941,
|
| 1741 |
+
"valid_members": 50,
|
| 1742 |
+
"total_members": 50
|
| 1743 |
+
},
|
| 1744 |
+
"r34_SW_estimate_km": {
|
| 1745 |
+
"mean": 227.01147865081333,
|
| 1746 |
+
"p10": 226.13164929264374,
|
| 1747 |
+
"p90": 228.00981324366964,
|
| 1748 |
+
"valid_members": 50,
|
| 1749 |
+
"total_members": 50
|
| 1750 |
+
},
|
| 1751 |
+
"r34_NW_estimate_km": {
|
| 1752 |
+
"mean": 227.01147865081333,
|
| 1753 |
+
"p10": 226.13164929264374,
|
| 1754 |
+
"p90": 228.00981324366964,
|
| 1755 |
+
"valid_members": 50,
|
| 1756 |
+
"total_members": 50
|
| 1757 |
+
},
|
| 1758 |
+
"r50_NE_estimate_km": {
|
| 1759 |
+
"mean": 203.65433494374673,
|
| 1760 |
+
"p10": 202.86503096728296,
|
| 1761 |
+
"p90": 204.54995118644885,
|
| 1762 |
+
"valid_members": 50,
|
| 1763 |
+
"total_members": 50
|
| 1764 |
+
},
|
| 1765 |
+
"r50_SE_estimate_km": {
|
| 1766 |
+
"mean": 285.1160689212454,
|
| 1767 |
+
"p10": 284.01104335419615,
|
| 1768 |
+
"p90": 286.3699316610283,
|
| 1769 |
+
"valid_members": 50,
|
| 1770 |
+
"total_members": 50
|
| 1771 |
+
},
|
| 1772 |
+
"r50_SW_estimate_km": {
|
| 1773 |
+
"mean": 166.7458168788116,
|
| 1774 |
+
"p10": 166.09955940357793,
|
| 1775 |
+
"p90": 167.47911952145137,
|
| 1776 |
+
"valid_members": 50,
|
| 1777 |
+
"total_members": 50
|
| 1778 |
+
},
|
| 1779 |
+
"r50_NW_estimate_km": {
|
| 1780 |
+
"mean": 166.7458168788116,
|
| 1781 |
+
"p10": 166.09955940357793,
|
| 1782 |
+
"p90": 167.47911952145137,
|
| 1783 |
+
"valid_members": 50,
|
| 1784 |
+
"total_members": 50
|
| 1785 |
+
},
|
| 1786 |
+
"r64_NE_estimate_km": {
|
| 1787 |
+
"mean": 167.1574291303464,
|
| 1788 |
+
"p10": 166.50957636775,
|
| 1789 |
+
"p90": 167.89254193145035,
|
| 1790 |
+
"valid_members": 50,
|
| 1791 |
+
"total_members": 50
|
| 1792 |
+
},
|
| 1793 |
+
"r64_SE_estimate_km": {
|
| 1794 |
+
"mean": 234.02040078248493,
|
| 1795 |
+
"p10": 233.11340691484997,
|
| 1796 |
+
"p90": 235.0495587040305,
|
| 1797 |
+
"valid_members": 50,
|
| 1798 |
+
"total_members": 50
|
| 1799 |
+
},
|
| 1800 |
+
"r64_SW_estimate_km": {
|
| 1801 |
+
"mean": 136.86328884381803,
|
| 1802 |
+
"p10": 136.33284721022267,
|
| 1803 |
+
"p90": 137.46517627504804,
|
| 1804 |
+
"valid_members": 50,
|
| 1805 |
+
"total_members": 50
|
| 1806 |
+
},
|
| 1807 |
+
"r64_NW_estimate_km": {
|
| 1808 |
+
"mean": 136.86328884381803,
|
| 1809 |
+
"p10": 136.33284721022267,
|
| 1810 |
+
"p90": 137.46517627504804,
|
| 1811 |
+
"valid_members": 50,
|
| 1812 |
+
"total_members": 50
|
| 1813 |
+
}
|
| 1814 |
+
},
|
| 1815 |
+
"official_scoring_allowed": false
|
| 1816 |
+
}
|
| 1817 |
+
},
|
| 1818 |
+
{
|
| 1819 |
+
"lead_hours": 84,
|
| 1820 |
+
"valid_time_utc": "2016-09-13T12:00:00Z",
|
| 1821 |
+
"summary": {
|
| 1822 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1823 |
+
"members": 50,
|
| 1824 |
+
"definitions": {
|
| 1825 |
+
"units": "km",
|
| 1826 |
+
"quantity_kind": "radius_not_diameter",
|
| 1827 |
+
"thresholds_kt": [
|
| 1828 |
+
34,
|
| 1829 |
+
50,
|
| 1830 |
+
64
|
| 1831 |
+
],
|
| 1832 |
+
"quadrant_order": [
|
| 1833 |
+
"NE",
|
| 1834 |
+
"SE",
|
| 1835 |
+
"SW",
|
| 1836 |
+
"NW"
|
| 1837 |
+
],
|
| 1838 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1839 |
+
"target_wind_averaging_seconds": 60,
|
| 1840 |
+
"validated_wind_averaging_seconds": null,
|
| 1841 |
+
"validated_surface_height_m": null,
|
| 1842 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1843 |
+
"official_scoring_allowed": false
|
| 1844 |
+
},
|
| 1845 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1846 |
+
"estimates": {
|
| 1847 |
+
"wind_estimate_kt": {
|
| 1848 |
+
"mean": 138.34053797766865,
|
| 1849 |
+
"p10": 137.7744602852329,
|
| 1850 |
+
"p90": 138.9515431616716,
|
| 1851 |
+
"valid_members": 50,
|
| 1852 |
+
"total_members": 50
|
| 1853 |
+
},
|
| 1854 |
+
"rmw_persistence_km": {
|
| 1855 |
+
"mean": 74.07999999999998,
|
| 1856 |
+
"p10": 74.08,
|
| 1857 |
+
"p90": 74.08,
|
| 1858 |
+
"valid_members": 50,
|
| 1859 |
+
"total_members": 50
|
| 1860 |
+
},
|
| 1861 |
+
"r34_NE_estimate_km": {
|
| 1862 |
+
"mean": 278.0453930674618,
|
| 1863 |
+
"p10": 277.1350946942645,
|
| 1864 |
+
"p90": 279.02765199824546,
|
| 1865 |
+
"valid_members": 50,
|
| 1866 |
+
"total_members": 50
|
| 1867 |
+
},
|
| 1868 |
+
"r34_SE_estimate_km": {
|
| 1869 |
+
"mean": 389.26355029444653,
|
| 1870 |
+
"p10": 387.98913257197034,
|
| 1871 |
+
"p90": 390.63871279754363,
|
| 1872 |
+
"valid_members": 50,
|
| 1873 |
+
"total_members": 50
|
| 1874 |
+
},
|
| 1875 |
+
"r34_SW_estimate_km": {
|
| 1876 |
+
"mean": 227.6548947962758,
|
| 1877 |
+
"p10": 226.90957088316512,
|
| 1878 |
+
"p90": 228.45913776927847,
|
| 1879 |
+
"valid_members": 50,
|
| 1880 |
+
"total_members": 50
|
| 1881 |
+
},
|
| 1882 |
+
"r34_NW_estimate_km": {
|
| 1883 |
+
"mean": 227.6548947962758,
|
| 1884 |
+
"p10": 226.90957088316512,
|
| 1885 |
+
"p90": 228.45913776927847,
|
| 1886 |
+
"valid_members": 50,
|
| 1887 |
+
"total_members": 50
|
| 1888 |
+
},
|
| 1889 |
+
"r50_NE_estimate_km": {
|
| 1890 |
+
"mean": 204.231550192839,
|
| 1891 |
+
"p10": 203.56291243608612,
|
| 1892 |
+
"p90": 204.95304484488688,
|
| 1893 |
+
"valid_members": 50,
|
| 1894 |
+
"total_members": 50
|
| 1895 |
+
},
|
| 1896 |
+
"r50_SE_estimate_km": {
|
| 1897 |
+
"mean": 285.9241702699746,
|
| 1898 |
+
"p10": 284.9880774105206,
|
| 1899 |
+
"p90": 286.93426278284164,
|
| 1900 |
+
"valid_members": 50,
|
| 1901 |
+
"total_members": 50
|
| 1902 |
+
},
|
| 1903 |
+
"r50_SW_estimate_km": {
|
| 1904 |
+
"mean": 167.21842271973998,
|
| 1905 |
+
"p10": 166.67096298127396,
|
| 1906 |
+
"p90": 167.80916003531274,
|
| 1907 |
+
"valid_members": 50,
|
| 1908 |
+
"total_members": 50
|
| 1909 |
+
},
|
| 1910 |
+
"r50_NW_estimate_km": {
|
| 1911 |
+
"mean": 167.21842271973998,
|
| 1912 |
+
"p10": 166.67096298127396,
|
| 1913 |
+
"p90": 167.80916003531274,
|
| 1914 |
+
"valid_members": 50,
|
| 1915 |
+
"total_members": 50
|
| 1916 |
+
},
|
| 1917 |
+
"r64_NE_estimate_km": {
|
| 1918 |
+
"mean": 167.63120159936724,
|
| 1919 |
+
"p10": 167.08239045587175,
|
| 1920 |
+
"p90": 168.2233971507211,
|
| 1921 |
+
"valid_members": 50,
|
| 1922 |
+
"total_members": 50
|
| 1923 |
+
},
|
| 1924 |
+
"r64_SE_estimate_km": {
|
| 1925 |
+
"mean": 234.68368223911412,
|
| 1926 |
+
"p10": 233.91534663822046,
|
| 1927 |
+
"p90": 235.51275601100954,
|
| 1928 |
+
"valid_members": 50,
|
| 1929 |
+
"total_members": 50
|
| 1930 |
+
},
|
| 1931 |
+
"r64_SW_estimate_km": {
|
| 1932 |
+
"mean": 137.25119896310613,
|
| 1933 |
+
"p10": 136.80184951783346,
|
| 1934 |
+
"p90": 137.73607020824696,
|
| 1935 |
+
"valid_members": 50,
|
| 1936 |
+
"total_members": 50
|
| 1937 |
+
},
|
| 1938 |
+
"r64_NW_estimate_km": {
|
| 1939 |
+
"mean": 137.25119896310613,
|
| 1940 |
+
"p10": 136.80184951783346,
|
| 1941 |
+
"p90": 137.73607020824696,
|
| 1942 |
+
"valid_members": 50,
|
| 1943 |
+
"total_members": 50
|
| 1944 |
+
}
|
| 1945 |
+
},
|
| 1946 |
+
"official_scoring_allowed": false
|
| 1947 |
+
}
|
| 1948 |
+
},
|
| 1949 |
+
{
|
| 1950 |
+
"lead_hours": 90,
|
| 1951 |
+
"valid_time_utc": "2016-09-13T18:00:00Z",
|
| 1952 |
+
"summary": {
|
| 1953 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1954 |
+
"members": 50,
|
| 1955 |
+
"definitions": {
|
| 1956 |
+
"units": "km",
|
| 1957 |
+
"quantity_kind": "radius_not_diameter",
|
| 1958 |
+
"thresholds_kt": [
|
| 1959 |
+
34,
|
| 1960 |
+
50,
|
| 1961 |
+
64
|
| 1962 |
+
],
|
| 1963 |
+
"quadrant_order": [
|
| 1964 |
+
"NE",
|
| 1965 |
+
"SE",
|
| 1966 |
+
"SW",
|
| 1967 |
+
"NW"
|
| 1968 |
+
],
|
| 1969 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1970 |
+
"target_wind_averaging_seconds": 60,
|
| 1971 |
+
"validated_wind_averaging_seconds": null,
|
| 1972 |
+
"validated_surface_height_m": null,
|
| 1973 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1974 |
+
"official_scoring_allowed": false
|
| 1975 |
+
},
|
| 1976 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1977 |
+
"estimates": {
|
| 1978 |
+
"wind_estimate_kt": {
|
| 1979 |
+
"mean": 138.52971953348208,
|
| 1980 |
+
"p10": 138.05722808258594,
|
| 1981 |
+
"p90": 139.0240414699473,
|
| 1982 |
+
"valid_members": 50,
|
| 1983 |
+
"total_members": 50
|
| 1984 |
+
},
|
| 1985 |
+
"rmw_persistence_km": {
|
| 1986 |
+
"mean": 74.07999999999998,
|
| 1987 |
+
"p10": 74.08,
|
| 1988 |
+
"p90": 74.08,
|
| 1989 |
+
"valid_members": 50,
|
| 1990 |
+
"total_members": 50
|
| 1991 |
+
},
|
| 1992 |
+
"r34_NE_estimate_km": {
|
| 1993 |
+
"mean": 278.3495997255907,
|
| 1994 |
+
"p10": 277.5900343875255,
|
| 1995 |
+
"p90": 279.144116529807,
|
| 1996 |
+
"valid_members": 50,
|
| 1997 |
+
"total_members": 50
|
| 1998 |
+
},
|
| 1999 |
+
"r34_SE_estimate_km": {
|
| 2000 |
+
"mean": 389.689439615827,
|
| 2001 |
+
"p10": 388.6260481425358,
|
| 2002 |
+
"p90": 390.80176314172974,
|
| 2003 |
+
"valid_members": 50,
|
| 2004 |
+
"total_members": 50
|
| 2005 |
+
},
|
| 2006 |
+
"r34_SW_estimate_km": {
|
| 2007 |
+
"mean": 227.9039697188582,
|
| 2008 |
+
"p10": 227.28206131311038,
|
| 2009 |
+
"p90": 228.55449529485236,
|
| 2010 |
+
"valid_members": 50,
|
| 2011 |
+
"total_members": 50
|
| 2012 |
+
},
|
| 2013 |
+
"r34_NW_estimate_km": {
|
| 2014 |
+
"mean": 227.9039697188582,
|
| 2015 |
+
"p10": 227.28206131311038,
|
| 2016 |
+
"p90": 228.55449529485236,
|
| 2017 |
+
"valid_members": 50,
|
| 2018 |
+
"total_members": 50
|
| 2019 |
+
},
|
| 2020 |
+
"r50_NE_estimate_km": {
|
| 2021 |
+
"mean": 204.45499787051216,
|
| 2022 |
+
"p10": 203.8970774361745,
|
| 2023 |
+
"p90": 205.03859106293734,
|
| 2024 |
+
"valid_members": 50,
|
| 2025 |
+
"total_members": 50
|
| 2026 |
+
},
|
| 2027 |
+
"r50_SE_estimate_km": {
|
| 2028 |
+
"mean": 286.23699701871703,
|
| 2029 |
+
"p10": 285.4559084106443,
|
| 2030 |
+
"p90": 287.0540274881123,
|
| 2031 |
+
"valid_members": 50,
|
| 2032 |
+
"total_members": 50
|
| 2033 |
+
},
|
| 2034 |
+
"r50_SW_estimate_km": {
|
| 2035 |
+
"mean": 167.40137470823353,
|
| 2036 |
+
"p10": 166.94456685976465,
|
| 2037 |
+
"p90": 167.87920261021623,
|
| 2038 |
+
"valid_members": 50,
|
| 2039 |
+
"total_members": 50
|
| 2040 |
+
},
|
| 2041 |
+
"r50_NW_estimate_km": {
|
| 2042 |
+
"mean": 167.40137470823353,
|
| 2043 |
+
"p10": 166.94456685976465,
|
| 2044 |
+
"p90": 167.87920261021623,
|
| 2045 |
+
"valid_members": 50,
|
| 2046 |
+
"total_members": 50
|
| 2047 |
+
},
|
| 2048 |
+
"r64_NE_estimate_km": {
|
| 2049 |
+
"mean": 167.81460520506664,
|
| 2050 |
+
"p10": 167.35666972586884,
|
| 2051 |
+
"p90": 168.29361262580585,
|
| 2052 |
+
"valid_members": 50,
|
| 2053 |
+
"total_members": 50
|
| 2054 |
+
},
|
| 2055 |
+
"r64_SE_estimate_km": {
|
| 2056 |
+
"mean": 234.94044728709335,
|
| 2057 |
+
"p10": 234.2993376162164,
|
| 2058 |
+
"p90": 235.6110576761282,
|
| 2059 |
+
"valid_members": 50,
|
| 2060 |
+
"total_members": 50
|
| 2061 |
+
},
|
| 2062 |
+
"r64_SW_estimate_km": {
|
| 2063 |
+
"mean": 137.40136411455904,
|
| 2064 |
+
"p10": 137.02642082853612,
|
| 2065 |
+
"p90": 137.79356044902076,
|
| 2066 |
+
"valid_members": 50,
|
| 2067 |
+
"total_members": 50
|
| 2068 |
+
},
|
| 2069 |
+
"r64_NW_estimate_km": {
|
| 2070 |
+
"mean": 137.40136411455904,
|
| 2071 |
+
"p10": 137.02642082853612,
|
| 2072 |
+
"p90": 137.79356044902076,
|
| 2073 |
+
"valid_members": 50,
|
| 2074 |
+
"total_members": 50
|
| 2075 |
+
}
|
| 2076 |
+
},
|
| 2077 |
+
"official_scoring_allowed": false
|
| 2078 |
+
}
|
| 2079 |
+
},
|
| 2080 |
+
{
|
| 2081 |
+
"lead_hours": 96,
|
| 2082 |
+
"valid_time_utc": "2016-09-14T00:00:00Z",
|
| 2083 |
+
"summary": {
|
| 2084 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2085 |
+
"members": 50,
|
| 2086 |
+
"definitions": {
|
| 2087 |
+
"units": "km",
|
| 2088 |
+
"quantity_kind": "radius_not_diameter",
|
| 2089 |
+
"thresholds_kt": [
|
| 2090 |
+
34,
|
| 2091 |
+
50,
|
| 2092 |
+
64
|
| 2093 |
+
],
|
| 2094 |
+
"quadrant_order": [
|
| 2095 |
+
"NE",
|
| 2096 |
+
"SE",
|
| 2097 |
+
"SW",
|
| 2098 |
+
"NW"
|
| 2099 |
+
],
|
| 2100 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2101 |
+
"target_wind_averaging_seconds": 60,
|
| 2102 |
+
"validated_wind_averaging_seconds": null,
|
| 2103 |
+
"validated_surface_height_m": null,
|
| 2104 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2105 |
+
"official_scoring_allowed": false
|
| 2106 |
+
},
|
| 2107 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2108 |
+
"estimates": {
|
| 2109 |
+
"wind_estimate_kt": {
|
| 2110 |
+
"mean": 136.83564387769877,
|
| 2111 |
+
"p10": 136.3164945870481,
|
| 2112 |
+
"p90": 137.4316600765802,
|
| 2113 |
+
"valid_members": 50,
|
| 2114 |
+
"total_members": 50
|
| 2115 |
+
},
|
| 2116 |
+
"rmw_persistence_km": {
|
| 2117 |
+
"mean": 74.07999999999998,
|
| 2118 |
+
"p10": 74.08,
|
| 2119 |
+
"p90": 74.08,
|
| 2120 |
+
"valid_members": 50,
|
| 2121 |
+
"total_members": 50
|
| 2122 |
+
},
|
| 2123 |
+
"r34_NE_estimate_km": {
|
| 2124 |
+
"mean": 275.6230565935687,
|
| 2125 |
+
"p10": 274.786427429154,
|
| 2126 |
+
"p90": 276.58331867860943,
|
| 2127 |
+
"valid_members": 50,
|
| 2128 |
+
"total_members": 50
|
| 2129 |
+
},
|
| 2130 |
+
"r34_SE_estimate_km": {
|
| 2131 |
+
"mean": 385.8722792309963,
|
| 2132 |
+
"p10": 384.7009984008156,
|
| 2133 |
+
"p90": 387.2166461500532,
|
| 2134 |
+
"valid_members": 50,
|
| 2135 |
+
"total_members": 50
|
| 2136 |
+
},
|
| 2137 |
+
"r34_SW_estimate_km": {
|
| 2138 |
+
"mean": 225.67156125119712,
|
| 2139 |
+
"p10": 224.98655538827984,
|
| 2140 |
+
"p90": 226.4577938930512,
|
| 2141 |
+
"valid_members": 50,
|
| 2142 |
+
"total_members": 50
|
| 2143 |
+
},
|
| 2144 |
+
"r34_NW_estimate_km": {
|
| 2145 |
+
"mean": 225.67156125119712,
|
| 2146 |
+
"p10": 224.98655538827984,
|
| 2147 |
+
"p90": 226.4577938930512,
|
| 2148 |
+
"valid_members": 50,
|
| 2149 |
+
"total_members": 50
|
| 2150 |
+
},
|
| 2151 |
+
"r50_NE_estimate_km": {
|
| 2152 |
+
"mean": 202.45228124795918,
|
| 2153 |
+
"p10": 201.83775543510566,
|
| 2154 |
+
"p90": 203.15761864648852,
|
| 2155 |
+
"valid_members": 50,
|
| 2156 |
+
"total_members": 50
|
| 2157 |
+
},
|
| 2158 |
+
"r50_SE_estimate_km": {
|
| 2159 |
+
"mean": 283.4331937471429,
|
| 2160 |
+
"p10": 282.57285760914795,
|
| 2161 |
+
"p90": 284.4206661050839,
|
| 2162 |
+
"valid_members": 50,
|
| 2163 |
+
"total_members": 50
|
| 2164 |
+
},
|
| 2165 |
+
"r50_SW_estimate_km": {
|
| 2166 |
+
"mean": 165.76161280826412,
|
| 2167 |
+
"p10": 165.2584582415534,
|
| 2168 |
+
"p90": 166.3391210686477,
|
| 2169 |
+
"valid_members": 50,
|
| 2170 |
+
"total_members": 50
|
| 2171 |
+
},
|
| 2172 |
+
"r50_NW_estimate_km": {
|
| 2173 |
+
"mean": 165.76161280826412,
|
| 2174 |
+
"p10": 165.2584582415534,
|
| 2175 |
+
"p90": 166.3391210686477,
|
| 2176 |
+
"valid_members": 50,
|
| 2177 |
+
"total_members": 50
|
| 2178 |
+
},
|
| 2179 |
+
"r64_NE_estimate_km": {
|
| 2180 |
+
"mean": 166.17079555085508,
|
| 2181 |
+
"p10": 165.66639894648517,
|
| 2182 |
+
"p90": 166.74972939108102,
|
| 2183 |
+
"valid_members": 50,
|
| 2184 |
+
"total_members": 50
|
| 2185 |
+
},
|
| 2186 |
+
"r64_SE_estimate_km": {
|
| 2187 |
+
"mean": 232.63911377119712,
|
| 2188 |
+
"p10": 231.93295852507924,
|
| 2189 |
+
"p90": 233.44962114751345,
|
| 2190 |
+
"valid_members": 50,
|
| 2191 |
+
"total_members": 50
|
| 2192 |
+
},
|
| 2193 |
+
"r64_SW_estimate_km": {
|
| 2194 |
+
"mean": 136.05546404491164,
|
| 2195 |
+
"p10": 135.6424798388559,
|
| 2196 |
+
"p90": 136.5294770146524,
|
| 2197 |
+
"valid_members": 50,
|
| 2198 |
+
"total_members": 50
|
| 2199 |
+
},
|
| 2200 |
+
"r64_NW_estimate_km": {
|
| 2201 |
+
"mean": 136.05546404491164,
|
| 2202 |
+
"p10": 135.6424798388559,
|
| 2203 |
+
"p90": 136.5294770146524,
|
| 2204 |
+
"valid_members": 50,
|
| 2205 |
+
"total_members": 50
|
| 2206 |
+
}
|
| 2207 |
+
},
|
| 2208 |
+
"official_scoring_allowed": false
|
| 2209 |
+
}
|
| 2210 |
+
},
|
| 2211 |
+
{
|
| 2212 |
+
"lead_hours": 102,
|
| 2213 |
+
"valid_time_utc": "2016-09-14T06:00:00Z",
|
| 2214 |
+
"summary": {
|
| 2215 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2216 |
+
"members": 50,
|
| 2217 |
+
"definitions": {
|
| 2218 |
+
"units": "km",
|
| 2219 |
+
"quantity_kind": "radius_not_diameter",
|
| 2220 |
+
"thresholds_kt": [
|
| 2221 |
+
34,
|
| 2222 |
+
50,
|
| 2223 |
+
64
|
| 2224 |
+
],
|
| 2225 |
+
"quadrant_order": [
|
| 2226 |
+
"NE",
|
| 2227 |
+
"SE",
|
| 2228 |
+
"SW",
|
| 2229 |
+
"NW"
|
| 2230 |
+
],
|
| 2231 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2232 |
+
"target_wind_averaging_seconds": 60,
|
| 2233 |
+
"validated_wind_averaging_seconds": null,
|
| 2234 |
+
"validated_surface_height_m": null,
|
| 2235 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2236 |
+
"official_scoring_allowed": false
|
| 2237 |
+
},
|
| 2238 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2239 |
+
"estimates": {
|
| 2240 |
+
"wind_estimate_kt": {
|
| 2241 |
+
"mean": 131.96239925323422,
|
| 2242 |
+
"p10": 130.77006477023485,
|
| 2243 |
+
"p90": 133.09775815264578,
|
| 2244 |
+
"valid_members": 50,
|
| 2245 |
+
"total_members": 50
|
| 2246 |
+
},
|
| 2247 |
+
"rmw_persistence_km": {
|
| 2248 |
+
"mean": 74.07999999999998,
|
| 2249 |
+
"p10": 74.08,
|
| 2250 |
+
"p90": 74.08,
|
| 2251 |
+
"valid_members": 50,
|
| 2252 |
+
"total_members": 50
|
| 2253 |
+
},
|
| 2254 |
+
"r34_NE_estimate_km": {
|
| 2255 |
+
"mean": 267.74094327566036,
|
| 2256 |
+
"p10": 265.80504631133,
|
| 2257 |
+
"p90": 269.58339710460456,
|
| 2258 |
+
"valid_members": 50,
|
| 2259 |
+
"total_members": 50
|
| 2260 |
+
},
|
| 2261 |
+
"r34_SE_estimate_km": {
|
| 2262 |
+
"mean": 374.8373205859245,
|
| 2263 |
+
"p10": 372.127064835862,
|
| 2264 |
+
"p90": 377.4167559464465,
|
| 2265 |
+
"valid_members": 50,
|
| 2266 |
+
"total_members": 50
|
| 2267 |
+
},
|
| 2268 |
+
"r34_SW_estimate_km": {
|
| 2269 |
+
"mean": 219.2179327326142,
|
| 2270 |
+
"p10": 217.63288068449728,
|
| 2271 |
+
"p90": 220.7264764562411,
|
| 2272 |
+
"valid_members": 50,
|
| 2273 |
+
"total_members": 50
|
| 2274 |
+
},
|
| 2275 |
+
"r34_NW_estimate_km": {
|
| 2276 |
+
"mean": 219.2179327326142,
|
| 2277 |
+
"p10": 217.63288068449728,
|
| 2278 |
+
"p90": 220.7264764562411,
|
| 2279 |
+
"valid_members": 50,
|
| 2280 |
+
"total_members": 50
|
| 2281 |
+
},
|
| 2282 |
+
"r50_NE_estimate_km": {
|
| 2283 |
+
"mean": 196.66266465351532,
|
| 2284 |
+
"p10": 195.24069814050466,
|
| 2285 |
+
"p90": 198.0159947608504,
|
| 2286 |
+
"valid_members": 50,
|
| 2287 |
+
"total_members": 50
|
| 2288 |
+
},
|
| 2289 |
+
"r50_SE_estimate_km": {
|
| 2290 |
+
"mean": 275.3277305149214,
|
| 2291 |
+
"p10": 273.3369773967066,
|
| 2292 |
+
"p90": 277.22239266519057,
|
| 2293 |
+
"valid_members": 50,
|
| 2294 |
+
"total_members": 50
|
| 2295 |
+
},
|
| 2296 |
+
"r50_SW_estimate_km": {
|
| 2297 |
+
"mean": 161.02125533577362,
|
| 2298 |
+
"p10": 159.85699351020648,
|
| 2299 |
+
"p90": 162.12931981334344,
|
| 2300 |
+
"valid_members": 50,
|
| 2301 |
+
"total_members": 50
|
| 2302 |
+
},
|
| 2303 |
+
"r50_NW_estimate_km": {
|
| 2304 |
+
"mean": 161.02125533577362,
|
| 2305 |
+
"p10": 159.85699351020648,
|
| 2306 |
+
"p90": 162.12931981334344,
|
| 2307 |
+
"valid_members": 50,
|
| 2308 |
+
"total_members": 50
|
| 2309 |
+
},
|
| 2310 |
+
"r64_NE_estimate_km": {
|
| 2311 |
+
"mean": 161.418736500185,
|
| 2312 |
+
"p10": 160.25160069288705,
|
| 2313 |
+
"p90": 162.52953623626385,
|
| 2314 |
+
"valid_members": 50,
|
| 2315 |
+
"total_members": 50
|
| 2316 |
+
},
|
| 2317 |
+
"r64_SE_estimate_km": {
|
| 2318 |
+
"mean": 225.98623110025892,
|
| 2319 |
+
"p10": 224.35224097004186,
|
| 2320 |
+
"p90": 227.5413507307694,
|
| 2321 |
+
"valid_members": 50,
|
| 2322 |
+
"total_members": 50
|
| 2323 |
+
},
|
| 2324 |
+
"r64_SW_estimate_km": {
|
| 2325 |
+
"mean": 132.16462632481498,
|
| 2326 |
+
"p10": 131.20901193217182,
|
| 2327 |
+
"p90": 133.07411449963038,
|
| 2328 |
+
"valid_members": 50,
|
| 2329 |
+
"total_members": 50
|
| 2330 |
+
},
|
| 2331 |
+
"r64_NW_estimate_km": {
|
| 2332 |
+
"mean": 132.16462632481498,
|
| 2333 |
+
"p10": 131.20901193217182,
|
| 2334 |
+
"p90": 133.07411449963038,
|
| 2335 |
+
"valid_members": 50,
|
| 2336 |
+
"total_members": 50
|
| 2337 |
+
}
|
| 2338 |
+
},
|
| 2339 |
+
"official_scoring_allowed": false
|
| 2340 |
+
}
|
| 2341 |
+
},
|
| 2342 |
+
{
|
| 2343 |
+
"lead_hours": 108,
|
| 2344 |
+
"valid_time_utc": "2016-09-14T12:00:00Z",
|
| 2345 |
+
"summary": {
|
| 2346 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2347 |
+
"members": 50,
|
| 2348 |
+
"definitions": {
|
| 2349 |
+
"units": "km",
|
| 2350 |
+
"quantity_kind": "radius_not_diameter",
|
| 2351 |
+
"thresholds_kt": [
|
| 2352 |
+
34,
|
| 2353 |
+
50,
|
| 2354 |
+
64
|
| 2355 |
+
],
|
| 2356 |
+
"quadrant_order": [
|
| 2357 |
+
"NE",
|
| 2358 |
+
"SE",
|
| 2359 |
+
"SW",
|
| 2360 |
+
"NW"
|
| 2361 |
+
],
|
| 2362 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2363 |
+
"target_wind_averaging_seconds": 60,
|
| 2364 |
+
"validated_wind_averaging_seconds": null,
|
| 2365 |
+
"validated_surface_height_m": null,
|
| 2366 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2367 |
+
"official_scoring_allowed": false
|
| 2368 |
+
},
|
| 2369 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2370 |
+
"estimates": {
|
| 2371 |
+
"wind_estimate_kt": {
|
| 2372 |
+
"mean": 126.6884093382334,
|
| 2373 |
+
"p10": 125.22393406438523,
|
| 2374 |
+
"p90": 127.97972972237541,
|
| 2375 |
+
"valid_members": 50,
|
| 2376 |
+
"total_members": 50
|
| 2377 |
+
},
|
| 2378 |
+
"rmw_persistence_km": {
|
| 2379 |
+
"mean": 74.07999999999998,
|
| 2380 |
+
"p10": 74.08,
|
| 2381 |
+
"p90": 74.08,
|
| 2382 |
+
"valid_members": 50,
|
| 2383 |
+
"total_members": 50
|
| 2384 |
+
},
|
| 2385 |
+
"r34_NE_estimate_km": {
|
| 2386 |
+
"mean": 259.1452057441568,
|
| 2387 |
+
"p10": 256.7476197477907,
|
| 2388 |
+
"p90": 261.2579386893063,
|
| 2389 |
+
"valid_members": 50,
|
| 2390 |
+
"total_members": 50
|
| 2391 |
+
},
|
| 2392 |
+
"r34_SE_estimate_km": {
|
| 2393 |
+
"mean": 362.8032880418195,
|
| 2394 |
+
"p10": 359.4466676469069,
|
| 2395 |
+
"p90": 365.76111416502886,
|
| 2396 |
+
"valid_members": 50,
|
| 2397 |
+
"total_members": 50
|
| 2398 |
+
},
|
| 2399 |
+
"r34_SW_estimate_km": {
|
| 2400 |
+
"mean": 212.18001096796172,
|
| 2401 |
+
"p10": 210.2169423418424,
|
| 2402 |
+
"p90": 213.90985080114297,
|
| 2403 |
+
"valid_members": 50,
|
| 2404 |
+
"total_members": 50
|
| 2405 |
+
},
|
| 2406 |
+
"r34_NW_estimate_km": {
|
| 2407 |
+
"mean": 212.18001096796172,
|
| 2408 |
+
"p10": 210.2169423418424,
|
| 2409 |
+
"p90": 213.90985080114297,
|
| 2410 |
+
"valid_members": 50,
|
| 2411 |
+
"total_members": 50
|
| 2412 |
+
},
|
| 2413 |
+
"r50_NE_estimate_km": {
|
| 2414 |
+
"mean": 190.34887257178926,
|
| 2415 |
+
"p10": 188.58778349436773,
|
| 2416 |
+
"p90": 191.90072969760283,
|
| 2417 |
+
"valid_members": 50,
|
| 2418 |
+
"total_members": 50
|
| 2419 |
+
},
|
| 2420 |
+
"r50_SE_estimate_km": {
|
| 2421 |
+
"mean": 266.48842160050503,
|
| 2422 |
+
"p10": 264.02289689211483,
|
| 2423 |
+
"p90": 268.661021576644,
|
| 2424 |
+
"valid_members": 50,
|
| 2425 |
+
"total_members": 50
|
| 2426 |
+
},
|
| 2427 |
+
"r50_SW_estimate_km": {
|
| 2428 |
+
"mean": 155.8517193248599,
|
| 2429 |
+
"p10": 154.4097945217757,
|
| 2430 |
+
"p90": 157.12233153252276,
|
| 2431 |
+
"valid_members": 50,
|
| 2432 |
+
"total_members": 50
|
| 2433 |
+
},
|
| 2434 |
+
"r50_NW_estimate_km": {
|
| 2435 |
+
"mean": 155.8517193248599,
|
| 2436 |
+
"p10": 154.4097945217757,
|
| 2437 |
+
"p90": 157.12233153252276,
|
| 2438 |
+
"valid_members": 50,
|
| 2439 |
+
"total_members": 50
|
| 2440 |
+
},
|
| 2441 |
+
"r64_NE_estimate_km": {
|
| 2442 |
+
"mean": 156.2364394833482,
|
| 2443 |
+
"p10": 154.79095528713583,
|
| 2444 |
+
"p90": 157.51018819878925,
|
| 2445 |
+
"valid_members": 50,
|
| 2446 |
+
"total_members": 50
|
| 2447 |
+
},
|
| 2448 |
+
"r64_SE_estimate_km": {
|
| 2449 |
+
"mean": 218.73101527668746,
|
| 2450 |
+
"p10": 216.70733740199017,
|
| 2451 |
+
"p90": 220.51426347830497,
|
| 2452 |
+
"valid_members": 50,
|
| 2453 |
+
"total_members": 50
|
| 2454 |
+
},
|
| 2455 |
+
"r64_SW_estimate_km": {
|
| 2456 |
+
"mean": 127.92152317839891,
|
| 2457 |
+
"p10": 126.73800580741135,
|
| 2458 |
+
"p90": 128.9644288946618,
|
| 2459 |
+
"valid_members": 50,
|
| 2460 |
+
"total_members": 50
|
| 2461 |
+
},
|
| 2462 |
+
"r64_NW_estimate_km": {
|
| 2463 |
+
"mean": 127.92152317839891,
|
| 2464 |
+
"p10": 126.73800580741135,
|
| 2465 |
+
"p90": 128.9644288946618,
|
| 2466 |
+
"valid_members": 50,
|
| 2467 |
+
"total_members": 50
|
| 2468 |
+
}
|
| 2469 |
+
},
|
| 2470 |
+
"official_scoring_allowed": false
|
| 2471 |
+
}
|
| 2472 |
+
},
|
| 2473 |
+
{
|
| 2474 |
+
"lead_hours": 114,
|
| 2475 |
+
"valid_time_utc": "2016-09-14T18:00:00Z",
|
| 2476 |
+
"summary": {
|
| 2477 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2478 |
+
"members": 50,
|
| 2479 |
+
"definitions": {
|
| 2480 |
+
"units": "km",
|
| 2481 |
+
"quantity_kind": "radius_not_diameter",
|
| 2482 |
+
"thresholds_kt": [
|
| 2483 |
+
34,
|
| 2484 |
+
50,
|
| 2485 |
+
64
|
| 2486 |
+
],
|
| 2487 |
+
"quadrant_order": [
|
| 2488 |
+
"NE",
|
| 2489 |
+
"SE",
|
| 2490 |
+
"SW",
|
| 2491 |
+
"NW"
|
| 2492 |
+
],
|
| 2493 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2494 |
+
"target_wind_averaging_seconds": 60,
|
| 2495 |
+
"validated_wind_averaging_seconds": null,
|
| 2496 |
+
"validated_surface_height_m": null,
|
| 2497 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2498 |
+
"official_scoring_allowed": false
|
| 2499 |
+
},
|
| 2500 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2501 |
+
"estimates": {
|
| 2502 |
+
"wind_estimate_kt": {
|
| 2503 |
+
"mean": 121.60913903678743,
|
| 2504 |
+
"p10": 120.0978859422581,
|
| 2505 |
+
"p90": 123.44701439155739,
|
| 2506 |
+
"valid_members": 50,
|
| 2507 |
+
"total_members": 50
|
| 2508 |
+
},
|
| 2509 |
+
"rmw_persistence_km": {
|
| 2510 |
+
"mean": 74.07999999999998,
|
| 2511 |
+
"p10": 74.08,
|
| 2512 |
+
"p90": 74.08,
|
| 2513 |
+
"valid_members": 50,
|
| 2514 |
+
"total_members": 50
|
| 2515 |
+
},
|
| 2516 |
+
"r34_NE_estimate_km": {
|
| 2517 |
+
"mean": 250.7986728865807,
|
| 2518 |
+
"p10": 248.30463683168853,
|
| 2519 |
+
"p90": 253.82887321837694,
|
| 2520 |
+
"valid_members": 50,
|
| 2521 |
+
"total_members": 50
|
| 2522 |
+
},
|
| 2523 |
+
"r34_SE_estimate_km": {
|
| 2524 |
+
"mean": 351.118142041213,
|
| 2525 |
+
"p10": 347.62649156436396,
|
| 2526 |
+
"p90": 355.36042250572774,
|
| 2527 |
+
"valid_members": 50,
|
| 2528 |
+
"total_members": 50
|
| 2529 |
+
},
|
| 2530 |
+
"r34_SW_estimate_km": {
|
| 2531 |
+
"mean": 205.34613021689992,
|
| 2532 |
+
"p10": 203.30409129141827,
|
| 2533 |
+
"p90": 207.82716372778182,
|
| 2534 |
+
"valid_members": 50,
|
| 2535 |
+
"total_members": 50
|
| 2536 |
+
},
|
| 2537 |
+
"r34_NW_estimate_km": {
|
| 2538 |
+
"mean": 205.34613021689992,
|
| 2539 |
+
"p10": 203.30409129141827,
|
| 2540 |
+
"p90": 207.82716372778182,
|
| 2541 |
+
"valid_members": 50,
|
| 2542 |
+
"total_members": 50
|
| 2543 |
+
},
|
| 2544 |
+
"r50_NE_estimate_km": {
|
| 2545 |
+
"mean": 184.2181277842839,
|
| 2546 |
+
"p10": 182.38619363817895,
|
| 2547 |
+
"p90": 186.44388849310252,
|
| 2548 |
+
"valid_members": 50,
|
| 2549 |
+
"total_members": 50
|
| 2550 |
+
},
|
| 2551 |
+
"r50_SE_estimate_km": {
|
| 2552 |
+
"mean": 257.9053788979975,
|
| 2553 |
+
"p10": 255.34067109345054,
|
| 2554 |
+
"p90": 261.02144389034356,
|
| 2555 |
+
"valid_members": 50,
|
| 2556 |
+
"total_members": 50
|
| 2557 |
+
},
|
| 2558 |
+
"r50_SW_estimate_km": {
|
| 2559 |
+
"mean": 150.8320567286747,
|
| 2560 |
+
"p10": 149.332126193217,
|
| 2561 |
+
"p90": 152.6544401690824,
|
| 2562 |
+
"valid_members": 50,
|
| 2563 |
+
"total_members": 50
|
| 2564 |
+
},
|
| 2565 |
+
"r50_NW_estimate_km": {
|
| 2566 |
+
"mean": 150.8320567286747,
|
| 2567 |
+
"p10": 149.332126193217,
|
| 2568 |
+
"p90": 152.6544401690824,
|
| 2569 |
+
"valid_members": 50,
|
| 2570 |
+
"total_members": 50
|
| 2571 |
+
},
|
| 2572 |
+
"r64_NE_estimate_km": {
|
| 2573 |
+
"mean": 151.2043858439462,
|
| 2574 |
+
"p10": 149.70075272813952,
|
| 2575 |
+
"p90": 153.03126784009044,
|
| 2576 |
+
"valid_members": 50,
|
| 2577 |
+
"total_members": 50
|
| 2578 |
+
},
|
| 2579 |
+
"r64_SE_estimate_km": {
|
| 2580 |
+
"mean": 211.68614018152468,
|
| 2581 |
+
"p10": 209.58105381939535,
|
| 2582 |
+
"p90": 214.24377497612662,
|
| 2583 |
+
"valid_members": 50,
|
| 2584 |
+
"total_members": 50
|
| 2585 |
+
},
|
| 2586 |
+
"r64_SW_estimate_km": {
|
| 2587 |
+
"mean": 123.80143462289702,
|
| 2588 |
+
"p10": 122.57030673038015,
|
| 2589 |
+
"p90": 125.2972286155582,
|
| 2590 |
+
"valid_members": 50,
|
| 2591 |
+
"total_members": 50
|
| 2592 |
+
},
|
| 2593 |
+
"r64_NW_estimate_km": {
|
| 2594 |
+
"mean": 123.80143462289702,
|
| 2595 |
+
"p10": 122.57030673038015,
|
| 2596 |
+
"p90": 125.2972286155582,
|
| 2597 |
+
"valid_members": 50,
|
| 2598 |
+
"total_members": 50
|
| 2599 |
+
}
|
| 2600 |
+
},
|
| 2601 |
+
"official_scoring_allowed": false
|
| 2602 |
+
}
|
| 2603 |
+
},
|
| 2604 |
+
{
|
| 2605 |
+
"lead_hours": 120,
|
| 2606 |
+
"valid_time_utc": "2016-09-15T00:00:00Z",
|
| 2607 |
+
"summary": {
|
| 2608 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2609 |
+
"members": 50,
|
| 2610 |
+
"definitions": {
|
| 2611 |
+
"units": "km",
|
| 2612 |
+
"quantity_kind": "radius_not_diameter",
|
| 2613 |
+
"thresholds_kt": [
|
| 2614 |
+
34,
|
| 2615 |
+
50,
|
| 2616 |
+
64
|
| 2617 |
+
],
|
| 2618 |
+
"quadrant_order": [
|
| 2619 |
+
"NE",
|
| 2620 |
+
"SE",
|
| 2621 |
+
"SW",
|
| 2622 |
+
"NW"
|
| 2623 |
+
],
|
| 2624 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2625 |
+
"target_wind_averaging_seconds": 60,
|
| 2626 |
+
"validated_wind_averaging_seconds": null,
|
| 2627 |
+
"validated_surface_height_m": null,
|
| 2628 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2629 |
+
"official_scoring_allowed": false
|
| 2630 |
+
},
|
| 2631 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2632 |
+
"estimates": {
|
| 2633 |
+
"wind_estimate_kt": {
|
| 2634 |
+
"mean": 116.7002794250999,
|
| 2635 |
+
"p10": 115.26871619878807,
|
| 2636 |
+
"p90": 118.29916713289887,
|
| 2637 |
+
"valid_members": 50,
|
| 2638 |
+
"total_members": 50
|
| 2639 |
+
},
|
| 2640 |
+
"rmw_persistence_km": {
|
| 2641 |
+
"mean": 74.07999999999998,
|
| 2642 |
+
"p10": 74.08,
|
| 2643 |
+
"p90": 74.08,
|
| 2644 |
+
"valid_members": 50,
|
| 2645 |
+
"total_members": 50
|
| 2646 |
+
},
|
| 2647 |
+
"r34_NE_estimate_km": {
|
| 2648 |
+
"mean": 242.66619550562635,
|
| 2649 |
+
"p10": 240.28447341703372,
|
| 2650 |
+
"p90": 245.3250458082348,
|
| 2651 |
+
"valid_members": 50,
|
| 2652 |
+
"total_members": 50
|
| 2653 |
+
},
|
| 2654 |
+
"r34_SE_estimate_km": {
|
| 2655 |
+
"mean": 339.73267370787687,
|
| 2656 |
+
"p10": 336.39826278384726,
|
| 2657 |
+
"p90": 343.45506413152873,
|
| 2658 |
+
"valid_members": 50,
|
| 2659 |
+
"total_members": 50
|
| 2660 |
+
},
|
| 2661 |
+
"r34_SW_estimate_km": {
|
| 2662 |
+
"mean": 198.6875114130809,
|
| 2663 |
+
"p10": 196.7374316598049,
|
| 2664 |
+
"p90": 200.86449510355513,
|
| 2665 |
+
"valid_members": 50,
|
| 2666 |
+
"total_members": 50
|
| 2667 |
+
},
|
| 2668 |
+
"r34_NW_estimate_km": {
|
| 2669 |
+
"mean": 198.6875114130809,
|
| 2670 |
+
"p10": 196.7374316598049,
|
| 2671 |
+
"p90": 200.86449510355513,
|
| 2672 |
+
"valid_members": 50,
|
| 2673 |
+
"total_members": 50
|
| 2674 |
+
},
|
| 2675 |
+
"r50_NE_estimate_km": {
|
| 2676 |
+
"mean": 178.24461229425194,
|
| 2677 |
+
"p10": 176.49517566839933,
|
| 2678 |
+
"p90": 180.19760677850394,
|
| 2679 |
+
"valid_members": 50,
|
| 2680 |
+
"total_members": 50
|
| 2681 |
+
},
|
| 2682 |
+
"r50_SE_estimate_km": {
|
| 2683 |
+
"mean": 249.54245721195267,
|
| 2684 |
+
"p10": 247.09324593575906,
|
| 2685 |
+
"p90": 252.2766494899055,
|
| 2686 |
+
"valid_members": 50,
|
| 2687 |
+
"total_members": 50
|
| 2688 |
+
},
|
| 2689 |
+
"r50_SW_estimate_km": {
|
| 2690 |
+
"mean": 145.94112857682,
|
| 2691 |
+
"p10": 144.50874443760648,
|
| 2692 |
+
"p90": 147.5401795409272,
|
| 2693 |
+
"valid_members": 50,
|
| 2694 |
+
"total_members": 50
|
| 2695 |
+
},
|
| 2696 |
+
"r50_NW_estimate_km": {
|
| 2697 |
+
"mean": 145.94112857682,
|
| 2698 |
+
"p10": 144.50874443760648,
|
| 2699 |
+
"p90": 147.5401795409272,
|
| 2700 |
+
"valid_members": 50,
|
| 2701 |
+
"total_members": 50
|
| 2702 |
+
},
|
| 2703 |
+
"r64_NE_estimate_km": {
|
| 2704 |
+
"mean": 146.30138443000695,
|
| 2705 |
+
"p10": 144.86546444880568,
|
| 2706 |
+
"p90": 147.90438265336167,
|
| 2707 |
+
"valid_members": 50,
|
| 2708 |
+
"total_members": 50
|
| 2709 |
+
},
|
| 2710 |
+
"r64_SE_estimate_km": {
|
| 2711 |
+
"mean": 204.82193820200973,
|
| 2712 |
+
"p10": 202.81165022832792,
|
| 2713 |
+
"p90": 207.06613571470632,
|
| 2714 |
+
"valid_members": 50,
|
| 2715 |
+
"total_members": 50
|
| 2716 |
+
},
|
| 2717 |
+
"r64_SW_estimate_km": {
|
| 2718 |
+
"mean": 119.7870100040884,
|
| 2719 |
+
"p10": 118.61132351401615,
|
| 2720 |
+
"p90": 121.09949494717786,
|
| 2721 |
+
"valid_members": 50,
|
| 2722 |
+
"total_members": 50
|
| 2723 |
+
},
|
| 2724 |
+
"r64_NW_estimate_km": {
|
| 2725 |
+
"mean": 119.7870100040884,
|
| 2726 |
+
"p10": 118.61132351401615,
|
| 2727 |
+
"p90": 121.09949494717786,
|
| 2728 |
+
"valid_members": 50,
|
| 2729 |
+
"total_members": 50
|
| 2730 |
+
}
|
| 2731 |
+
},
|
| 2732 |
+
"official_scoring_allowed": false
|
| 2733 |
+
}
|
| 2734 |
+
}
|
| 2735 |
+
],
|
| 2736 |
+
"official_wind_or_radius_skill_score": null,
|
| 2737 |
+
"physical_50_member_means_verified": true,
|
| 2738 |
+
"observed_plus_zero_alignment_verified": true,
|
| 2739 |
+
"coverage": {
|
| 2740 |
+
"wind_estimate_kt": 20,
|
| 2741 |
+
"rmw_persistence_km": 20,
|
| 2742 |
+
"r34_NE_estimate_km": 20,
|
| 2743 |
+
"r34_SE_estimate_km": 20,
|
| 2744 |
+
"r34_SW_estimate_km": 20,
|
| 2745 |
+
"r34_NW_estimate_km": 20,
|
| 2746 |
+
"r50_NE_estimate_km": 20,
|
| 2747 |
+
"r50_SE_estimate_km": 20,
|
| 2748 |
+
"r50_SW_estimate_km": 20,
|
| 2749 |
+
"r50_NW_estimate_km": 20,
|
| 2750 |
+
"r64_NE_estimate_km": 20,
|
| 2751 |
+
"r64_SE_estimate_km": 20,
|
| 2752 |
+
"r64_SW_estimate_km": 20,
|
| 2753 |
+
"r64_NW_estimate_km": 20
|
| 2754 |
+
},
|
| 2755 |
+
"warning": "Retrospective development examples, not untouched tests. RMW is persistence; no validated wind-period calibration.",
|
| 2756 |
+
"chart": "meranti_wind_radius.png",
|
| 2757 |
+
"source_receipt_sha256": "f3e10a343ea146653acaf5b82044feb63b3c494ca49fcda394628e9dd88935c0",
|
| 2758 |
+
"source_reference": "Original immutable /Volumes/D member archive; original files unchanged."
|
| 2759 |
+
}
|
evaluation/storm_structure/meranti_wind_radius.png
ADDED
|
Git LFS Details
|
evaluation/storm_structure/soudelor_structure.json
ADDED
|
@@ -0,0 +1,2759 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"model": "frozen Trackformer 1.2 pressure + separate experimental structure candidate",
|
| 3 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 4 |
+
"storm_id": "2015211N13162",
|
| 5 |
+
"issue_time_utc": "2015-08-05T00:00:00Z",
|
| 6 |
+
"actual_members": 50,
|
| 7 |
+
"checkpoint_sha256": "f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0",
|
| 8 |
+
"source_file_sha256": {
|
| 9 |
+
"weather-history.npz": "d4088aa71e5f9d9b39f160993c312ab2f59a59dd057c2ba0dc27e307a7ffa1b2",
|
| 10 |
+
"model-inputs.npz": "2cad11d38a54c0ab41c8366793b2bae7febecae89609aeda3e016180df8b1ccd",
|
| 11 |
+
"ensemble-members.npz": "161e2a5d8def6ef6f555031ba6ba1b21f16ccf4390366d0360c5bbd06edcd31c",
|
| 12 |
+
"soudelor_video.npz": "bed5425496abde931d81af06e1ef1438504c82468d5577c6bac5dc131a07e91f",
|
| 13 |
+
"soudelor_video.json": "b5527954d10ba0facd3f3137720910de3c0bae1a055d6896d7cfb54205298ab5",
|
| 14 |
+
"soudelor_coastlines.json": "2af08a831beff87de1847e3c5e34faf29aabcd3965d81ffc18fedc6f18a4076d"
|
| 15 |
+
},
|
| 16 |
+
"observed_csv_sha256": "4348af2679b4be0d53ec630bccda759044663a1f57e2bbd5c1d19428aab562fc",
|
| 17 |
+
"future_labels_used_for_diagnostics": false,
|
| 18 |
+
"initial": {
|
| 19 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 20 |
+
"storm_id": "2015211N13162",
|
| 21 |
+
"issue_time_utc": "2015-08-05T00:00:00Z",
|
| 22 |
+
"input_wind_kt": 115.0,
|
| 23 |
+
"input_model_pressure_hpa": 930.0,
|
| 24 |
+
"ambient_pressure_hpa": 1004.5,
|
| 25 |
+
"pressure_deficit_hpa": 74.5,
|
| 26 |
+
"rmw_persistence_km": 22.224,
|
| 27 |
+
"native_quadrant_radii_km": {
|
| 28 |
+
"r34_NE": 268.54,
|
| 29 |
+
"r34_SE": 287.06,
|
| 30 |
+
"r34_SW": 287.06,
|
| 31 |
+
"r34_NW": 231.5,
|
| 32 |
+
"r50_NE": 148.16,
|
| 33 |
+
"r50_SE": 157.42000000000002,
|
| 34 |
+
"r50_SW": 157.42000000000002,
|
| 35 |
+
"r50_NW": 138.9,
|
| 36 |
+
"r64_NE": 74.08,
|
| 37 |
+
"r64_SE": 74.08,
|
| 38 |
+
"r64_SW": 74.08,
|
| 39 |
+
"r64_NW": 64.82000000000001
|
| 40 |
+
},
|
| 41 |
+
"holland_inspired_tail_b": 2.294714814320773,
|
| 42 |
+
"source_agency": "jtwc_wp",
|
| 43 |
+
"source_track_type": "main",
|
| 44 |
+
"usa_reference_center": [
|
| 45 |
+
19.5,
|
| 46 |
+
134.9
|
| 47 |
+
],
|
| 48 |
+
"model_origin": [
|
| 49 |
+
19.5,
|
| 50 |
+
134.9
|
| 51 |
+
],
|
| 52 |
+
"definitions": {
|
| 53 |
+
"units": "km",
|
| 54 |
+
"quantity_kind": "radius_not_diameter",
|
| 55 |
+
"thresholds_kt": [
|
| 56 |
+
34,
|
| 57 |
+
50,
|
| 58 |
+
64
|
| 59 |
+
],
|
| 60 |
+
"quadrant_order": [
|
| 61 |
+
"NE",
|
| 62 |
+
"SE",
|
| 63 |
+
"SW",
|
| 64 |
+
"NW"
|
| 65 |
+
],
|
| 66 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 67 |
+
"target_wind_averaging_seconds": 60,
|
| 68 |
+
"validated_wind_averaging_seconds": null,
|
| 69 |
+
"validated_surface_height_m": null,
|
| 70 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 71 |
+
"official_scoring_allowed": false
|
| 72 |
+
},
|
| 73 |
+
"mixed_agency_initialization": "USA 1-minute wind/radii; model TOKYO pressure. No conversion between wind periods.",
|
| 74 |
+
"calibration": "none; initialization is issue assimilation, not future-target fitting"
|
| 75 |
+
},
|
| 76 |
+
"initial_ambient": {
|
| 77 |
+
"cells": 27,
|
| 78 |
+
"candidate_cells": 27,
|
| 79 |
+
"quadrant_cells": {
|
| 80 |
+
"NE": 9,
|
| 81 |
+
"SE": 6,
|
| 82 |
+
"SW": 5,
|
| 83 |
+
"NW": 7
|
| 84 |
+
},
|
| 85 |
+
"annulus_km": [
|
| 86 |
+
600,
|
| 87 |
+
1000
|
| 88 |
+
],
|
| 89 |
+
"statistic": "median_available_physical_cells",
|
| 90 |
+
"value_hpa": 1004.5,
|
| 91 |
+
"status": "available"
|
| 92 |
+
},
|
| 93 |
+
"definitions": {
|
| 94 |
+
"units": "km",
|
| 95 |
+
"quantity_kind": "radius_not_diameter",
|
| 96 |
+
"thresholds_kt": [
|
| 97 |
+
34,
|
| 98 |
+
50,
|
| 99 |
+
64
|
| 100 |
+
],
|
| 101 |
+
"quadrant_order": [
|
| 102 |
+
"NE",
|
| 103 |
+
"SE",
|
| 104 |
+
"SW",
|
| 105 |
+
"NW"
|
| 106 |
+
],
|
| 107 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 108 |
+
"target_wind_averaging_seconds": 60,
|
| 109 |
+
"validated_wind_averaging_seconds": null,
|
| 110 |
+
"validated_surface_height_m": null,
|
| 111 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 112 |
+
"official_scoring_allowed": false
|
| 113 |
+
},
|
| 114 |
+
"points": [
|
| 115 |
+
{
|
| 116 |
+
"lead_hours": 6,
|
| 117 |
+
"valid_time_utc": "2015-08-05T06:00:00Z",
|
| 118 |
+
"summary": {
|
| 119 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 120 |
+
"members": 50,
|
| 121 |
+
"definitions": {
|
| 122 |
+
"units": "km",
|
| 123 |
+
"quantity_kind": "radius_not_diameter",
|
| 124 |
+
"thresholds_kt": [
|
| 125 |
+
34,
|
| 126 |
+
50,
|
| 127 |
+
64
|
| 128 |
+
],
|
| 129 |
+
"quadrant_order": [
|
| 130 |
+
"NE",
|
| 131 |
+
"SE",
|
| 132 |
+
"SW",
|
| 133 |
+
"NW"
|
| 134 |
+
],
|
| 135 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 136 |
+
"target_wind_averaging_seconds": 60,
|
| 137 |
+
"validated_wind_averaging_seconds": null,
|
| 138 |
+
"validated_surface_height_m": null,
|
| 139 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 140 |
+
"official_scoring_allowed": false
|
| 141 |
+
},
|
| 142 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 143 |
+
"estimates": {
|
| 144 |
+
"wind_estimate_kt": {
|
| 145 |
+
"mean": 113.02866671359301,
|
| 146 |
+
"p10": 112.77028204361338,
|
| 147 |
+
"p90": 113.277482029427,
|
| 148 |
+
"valid_members": 50,
|
| 149 |
+
"total_members": 50
|
| 150 |
+
},
|
| 151 |
+
"rmw_persistence_km": {
|
| 152 |
+
"mean": 22.223999999999997,
|
| 153 |
+
"p10": 22.224,
|
| 154 |
+
"p90": 22.224,
|
| 155 |
+
"valid_members": 50,
|
| 156 |
+
"total_members": 50
|
| 157 |
+
},
|
| 158 |
+
"r34_NE_estimate_km": {
|
| 159 |
+
"mean": 261.47487470026556,
|
| 160 |
+
"p10": 260.55340310729184,
|
| 161 |
+
"p90": 262.36268200153563,
|
| 162 |
+
"valid_members": 50,
|
| 163 |
+
"total_members": 50
|
| 164 |
+
},
|
| 165 |
+
"r34_SE_estimate_km": {
|
| 166 |
+
"mean": 279.4316237529158,
|
| 167 |
+
"p10": 278.4368326303303,
|
| 168 |
+
"p90": 280.3900864895806,
|
| 169 |
+
"valid_members": 50,
|
| 170 |
+
"total_members": 50
|
| 171 |
+
},
|
| 172 |
+
"r34_SW_estimate_km": {
|
| 173 |
+
"mean": 279.4316237529158,
|
| 174 |
+
"p10": 278.4368326303303,
|
| 175 |
+
"p90": 280.3900864895806,
|
| 176 |
+
"valid_members": 50,
|
| 177 |
+
"total_members": 50
|
| 178 |
+
},
|
| 179 |
+
"r34_NW_estimate_km": {
|
| 180 |
+
"mean": 226.25853814671638,
|
| 181 |
+
"p10": 225.57356200686513,
|
| 182 |
+
"p90": 226.9183518874688,
|
| 183 |
+
"valid_members": 50,
|
| 184 |
+
"total_members": 50
|
| 185 |
+
},
|
| 186 |
+
"r50_NE_estimate_km": {
|
| 187 |
+
"mean": 141.13973770574205,
|
| 188 |
+
"p10": 140.23464157528548,
|
| 189 |
+
"p90": 142.01283039302464,
|
| 190 |
+
"valid_members": 50,
|
| 191 |
+
"total_members": 50
|
| 192 |
+
},
|
| 193 |
+
"r50_SE_estimate_km": {
|
| 194 |
+
"mean": 149.32580058406242,
|
| 195 |
+
"p10": 148.2845885709422,
|
| 196 |
+
"p90": 150.3304336133633,
|
| 197 |
+
"valid_members": 50,
|
| 198 |
+
"total_members": 50
|
| 199 |
+
},
|
| 200 |
+
"r50_SW_estimate_km": {
|
| 201 |
+
"mean": 149.32580058406242,
|
| 202 |
+
"p10": 148.2845885709422,
|
| 203 |
+
"p90": 150.3304336133633,
|
| 204 |
+
"valid_members": 50,
|
| 205 |
+
"total_members": 50
|
| 206 |
+
},
|
| 207 |
+
"r50_NW_estimate_km": {
|
| 208 |
+
"mean": 131.6808874647217,
|
| 209 |
+
"p10": 130.75253200486964,
|
| 210 |
+
"p90": 132.5766579454746,
|
| 211 |
+
"valid_members": 50,
|
| 212 |
+
"total_members": 50
|
| 213 |
+
},
|
| 214 |
+
"r64_NE_estimate_km": {
|
| 215 |
+
"mean": 71.49496165461281,
|
| 216 |
+
"p10": 71.15937939066391,
|
| 217 |
+
"p90": 71.81844341522724,
|
| 218 |
+
"valid_members": 50,
|
| 219 |
+
"total_members": 50
|
| 220 |
+
},
|
| 221 |
+
"r64_SE_estimate_km": {
|
| 222 |
+
"mean": 71.49496165461281,
|
| 223 |
+
"p10": 71.15937939066391,
|
| 224 |
+
"p90": 71.81844341522724,
|
| 225 |
+
"valid_members": 50,
|
| 226 |
+
"total_members": 50
|
| 227 |
+
},
|
| 228 |
+
"r64_SW_estimate_km": {
|
| 229 |
+
"mean": 71.49496165461281,
|
| 230 |
+
"p10": 71.15937939066391,
|
| 231 |
+
"p90": 71.81844341522724,
|
| 232 |
+
"valid_members": 50,
|
| 233 |
+
"total_members": 50
|
| 234 |
+
},
|
| 235 |
+
"r64_NW_estimate_km": {
|
| 236 |
+
"mean": 62.804976940855546,
|
| 237 |
+
"p10": 62.542847868011926,
|
| 238 |
+
"p90": 63.05759872526072,
|
| 239 |
+
"valid_members": 50,
|
| 240 |
+
"total_members": 50
|
| 241 |
+
}
|
| 242 |
+
},
|
| 243 |
+
"official_scoring_allowed": false
|
| 244 |
+
}
|
| 245 |
+
},
|
| 246 |
+
{
|
| 247 |
+
"lead_hours": 12,
|
| 248 |
+
"valid_time_utc": "2015-08-05T12:00:00Z",
|
| 249 |
+
"summary": {
|
| 250 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 251 |
+
"members": 50,
|
| 252 |
+
"definitions": {
|
| 253 |
+
"units": "km",
|
| 254 |
+
"quantity_kind": "radius_not_diameter",
|
| 255 |
+
"thresholds_kt": [
|
| 256 |
+
34,
|
| 257 |
+
50,
|
| 258 |
+
64
|
| 259 |
+
],
|
| 260 |
+
"quadrant_order": [
|
| 261 |
+
"NE",
|
| 262 |
+
"SE",
|
| 263 |
+
"SW",
|
| 264 |
+
"NW"
|
| 265 |
+
],
|
| 266 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 267 |
+
"target_wind_averaging_seconds": 60,
|
| 268 |
+
"validated_wind_averaging_seconds": null,
|
| 269 |
+
"validated_surface_height_m": null,
|
| 270 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 271 |
+
"official_scoring_allowed": false
|
| 272 |
+
},
|
| 273 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 274 |
+
"estimates": {
|
| 275 |
+
"wind_estimate_kt": {
|
| 276 |
+
"mean": 108.8911242341665,
|
| 277 |
+
"p10": 108.53479451417108,
|
| 278 |
+
"p90": 109.255718431246,
|
| 279 |
+
"valid_members": 50,
|
| 280 |
+
"total_members": 50
|
| 281 |
+
},
|
| 282 |
+
"rmw_persistence_km": {
|
| 283 |
+
"mean": 22.223999999999997,
|
| 284 |
+
"p10": 22.224,
|
| 285 |
+
"p90": 22.224,
|
| 286 |
+
"valid_members": 50,
|
| 287 |
+
"total_members": 50
|
| 288 |
+
},
|
| 289 |
+
"r34_NE_estimate_km": {
|
| 290 |
+
"mean": 246.8626654854666,
|
| 291 |
+
"p10": 245.61748618797833,
|
| 292 |
+
"p90": 248.13780655814276,
|
| 293 |
+
"valid_members": 50,
|
| 294 |
+
"total_members": 50
|
| 295 |
+
},
|
| 296 |
+
"r34_SE_estimate_km": {
|
| 297 |
+
"mean": 263.66121479926386,
|
| 298 |
+
"p10": 262.31775266461227,
|
| 299 |
+
"p90": 265.03703750410614,
|
| 300 |
+
"valid_members": 50,
|
| 301 |
+
"total_members": 50
|
| 302 |
+
},
|
| 303 |
+
"r34_SW_estimate_km": {
|
| 304 |
+
"mean": 263.66121479926386,
|
| 305 |
+
"p10": 262.31775266461227,
|
| 306 |
+
"p90": 265.03703750410614,
|
| 307 |
+
"valid_members": 50,
|
| 308 |
+
"total_members": 50
|
| 309 |
+
},
|
| 310 |
+
"r34_NW_estimate_km": {
|
| 311 |
+
"mean": 215.3539412038378,
|
| 312 |
+
"p10": 214.42074998149667,
|
| 313 |
+
"p90": 216.30926163723723,
|
| 314 |
+
"valid_members": 50,
|
| 315 |
+
"total_members": 50
|
| 316 |
+
},
|
| 317 |
+
"r50_NE_estimate_km": {
|
| 318 |
+
"mean": 127.10895320391761,
|
| 319 |
+
"p10": 125.94264725231443,
|
| 320 |
+
"p90": 128.30569304652803,
|
| 321 |
+
"valid_members": 50,
|
| 322 |
+
"total_members": 50
|
| 323 |
+
},
|
| 324 |
+
"r50_SE_estimate_km": {
|
| 325 |
+
"mean": 133.25544001378847,
|
| 326 |
+
"p10": 131.9260444935722,
|
| 327 |
+
"p90": 134.62004986910748,
|
| 328 |
+
"valid_members": 50,
|
| 329 |
+
"total_members": 50
|
| 330 |
+
},
|
| 331 |
+
"r50_SW_estimate_km": {
|
| 332 |
+
"mean": 133.25544001378847,
|
| 333 |
+
"p10": 131.9260444935722,
|
| 334 |
+
"p90": 134.62004986910748,
|
| 335 |
+
"valid_members": 50,
|
| 336 |
+
"total_members": 50
|
| 337 |
+
},
|
| 338 |
+
"r50_NW_estimate_km": {
|
| 339 |
+
"mean": 117.3610325712651,
|
| 340 |
+
"p10": 116.17723668547605,
|
| 341 |
+
"p90": 118.57625051970706,
|
| 342 |
+
"valid_members": 50,
|
| 343 |
+
"total_members": 50
|
| 344 |
+
},
|
| 345 |
+
"r64_NE_estimate_km": {
|
| 346 |
+
"mean": 66.22220851250287,
|
| 347 |
+
"p10": 65.77737473456607,
|
| 348 |
+
"p90": 66.67811162393242,
|
| 349 |
+
"valid_members": 50,
|
| 350 |
+
"total_members": 50
|
| 351 |
+
},
|
| 352 |
+
"r64_SE_estimate_km": {
|
| 353 |
+
"mean": 66.22220851250287,
|
| 354 |
+
"p10": 65.77737473456607,
|
| 355 |
+
"p90": 66.67811162393242,
|
| 356 |
+
"valid_members": 50,
|
| 357 |
+
"total_members": 50
|
| 358 |
+
},
|
| 359 |
+
"r64_SW_estimate_km": {
|
| 360 |
+
"mean": 66.22220851250287,
|
| 361 |
+
"p10": 65.77737473456607,
|
| 362 |
+
"p90": 66.67811162393242,
|
| 363 |
+
"valid_members": 50,
|
| 364 |
+
"total_members": 50
|
| 365 |
+
},
|
| 366 |
+
"r64_NW_estimate_km": {
|
| 367 |
+
"mean": 58.66946937119013,
|
| 368 |
+
"p10": 58.319017940581254,
|
| 369 |
+
"p90": 59.028513368724376,
|
| 370 |
+
"valid_members": 50,
|
| 371 |
+
"total_members": 50
|
| 372 |
+
}
|
| 373 |
+
},
|
| 374 |
+
"official_scoring_allowed": false
|
| 375 |
+
}
|
| 376 |
+
},
|
| 377 |
+
{
|
| 378 |
+
"lead_hours": 18,
|
| 379 |
+
"valid_time_utc": "2015-08-05T18:00:00Z",
|
| 380 |
+
"summary": {
|
| 381 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 382 |
+
"members": 50,
|
| 383 |
+
"definitions": {
|
| 384 |
+
"units": "km",
|
| 385 |
+
"quantity_kind": "radius_not_diameter",
|
| 386 |
+
"thresholds_kt": [
|
| 387 |
+
34,
|
| 388 |
+
50,
|
| 389 |
+
64
|
| 390 |
+
],
|
| 391 |
+
"quadrant_order": [
|
| 392 |
+
"NE",
|
| 393 |
+
"SE",
|
| 394 |
+
"SW",
|
| 395 |
+
"NW"
|
| 396 |
+
],
|
| 397 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 398 |
+
"target_wind_averaging_seconds": 60,
|
| 399 |
+
"validated_wind_averaging_seconds": null,
|
| 400 |
+
"validated_surface_height_m": null,
|
| 401 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 402 |
+
"official_scoring_allowed": false
|
| 403 |
+
},
|
| 404 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 405 |
+
"estimates": {
|
| 406 |
+
"wind_estimate_kt": {
|
| 407 |
+
"mean": 101.67228308295199,
|
| 408 |
+
"p10": 101.22948400835662,
|
| 409 |
+
"p90": 102.09423499404309,
|
| 410 |
+
"valid_members": 50,
|
| 411 |
+
"total_members": 50
|
| 412 |
+
},
|
| 413 |
+
"rmw_persistence_km": {
|
| 414 |
+
"mean": 22.223999999999997,
|
| 415 |
+
"p10": 22.224,
|
| 416 |
+
"p90": 22.224,
|
| 417 |
+
"valid_members": 50,
|
| 418 |
+
"total_members": 50
|
| 419 |
+
},
|
| 420 |
+
"r34_NE_estimate_km": {
|
| 421 |
+
"mean": 222.08484947945917,
|
| 422 |
+
"p10": 220.59421057325613,
|
| 423 |
+
"p90": 223.50678410435003,
|
| 424 |
+
"valid_members": 50,
|
| 425 |
+
"total_members": 50
|
| 426 |
+
},
|
| 427 |
+
"r34_SE_estimate_km": {
|
| 428 |
+
"mean": 236.94152526588405,
|
| 429 |
+
"p10": 235.3349708509011,
|
| 430 |
+
"p90": 238.47407898073675,
|
| 431 |
+
"valid_members": 50,
|
| 432 |
+
"total_members": 50
|
| 433 |
+
},
|
| 434 |
+
"r34_SW_estimate_km": {
|
| 435 |
+
"mean": 236.94152526588405,
|
| 436 |
+
"p10": 235.3349708509011,
|
| 437 |
+
"p90": 238.47407898073675,
|
| 438 |
+
"valid_members": 50,
|
| 439 |
+
"total_members": 50
|
| 440 |
+
},
|
| 441 |
+
"r34_NW_estimate_km": {
|
| 442 |
+
"mean": 196.65059832865055,
|
| 443 |
+
"p10": 195.51658733178203,
|
| 444 |
+
"p90": 197.73189158353458,
|
| 445 |
+
"valid_members": 50,
|
| 446 |
+
"total_members": 50
|
| 447 |
+
},
|
| 448 |
+
"r50_NE_estimate_km": {
|
| 449 |
+
"mean": 104.84192912395251,
|
| 450 |
+
"p10": 103.56228406346904,
|
| 451 |
+
"p90": 106.06555907504658,
|
| 452 |
+
"valid_members": 50,
|
| 453 |
+
"total_members": 50
|
| 454 |
+
},
|
| 455 |
+
"r50_SE_estimate_km": {
|
| 456 |
+
"mean": 108.07593304439608,
|
| 457 |
+
"p10": 106.64181330722917,
|
| 458 |
+
"p90": 109.4479213722312,
|
| 459 |
+
"valid_members": 50,
|
| 460 |
+
"total_members": 50
|
| 461 |
+
},
|
| 462 |
+
"r50_SW_estimate_km": {
|
| 463 |
+
"mean": 108.07593304439608,
|
| 464 |
+
"p10": 106.64181330722917,
|
| 465 |
+
"p90": 109.4479213722312,
|
| 466 |
+
"valid_members": 50,
|
| 467 |
+
"total_members": 50
|
| 468 |
+
},
|
| 469 |
+
"r50_NW_estimate_km": {
|
| 470 |
+
"mean": 94.96384362703513,
|
| 471 |
+
"p10": 93.68977137156024,
|
| 472 |
+
"p90": 96.18279752913358,
|
| 473 |
+
"valid_members": 50,
|
| 474 |
+
"total_members": 50
|
| 475 |
+
},
|
| 476 |
+
"r64_NE_estimate_km": {
|
| 477 |
+
"mean": 57.518235828903016,
|
| 478 |
+
"p10": 57.00417727176632,
|
| 479 |
+
"p90": 58.00908276039814,
|
| 480 |
+
"valid_members": 50,
|
| 481 |
+
"total_members": 50
|
| 482 |
+
},
|
| 483 |
+
"r64_SE_estimate_km": {
|
| 484 |
+
"mean": 57.518235828903016,
|
| 485 |
+
"p10": 57.00417727176632,
|
| 486 |
+
"p90": 58.00908276039814,
|
| 487 |
+
"valid_members": 50,
|
| 488 |
+
"total_members": 50
|
| 489 |
+
},
|
| 490 |
+
"r64_SW_estimate_km": {
|
| 491 |
+
"mean": 57.518235828903016,
|
| 492 |
+
"p10": 57.00417727176632,
|
| 493 |
+
"p90": 58.00908276039814,
|
| 494 |
+
"valid_members": 50,
|
| 495 |
+
"total_members": 50
|
| 496 |
+
},
|
| 497 |
+
"r64_NW_estimate_km": {
|
| 498 |
+
"mean": 51.76081434670611,
|
| 499 |
+
"p10": 51.349420058346674,
|
| 500 |
+
"p90": 52.15346122377093,
|
| 501 |
+
"valid_members": 50,
|
| 502 |
+
"total_members": 50
|
| 503 |
+
}
|
| 504 |
+
},
|
| 505 |
+
"official_scoring_allowed": false
|
| 506 |
+
}
|
| 507 |
+
},
|
| 508 |
+
{
|
| 509 |
+
"lead_hours": 24,
|
| 510 |
+
"valid_time_utc": "2015-08-06T00:00:00Z",
|
| 511 |
+
"summary": {
|
| 512 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 513 |
+
"members": 50,
|
| 514 |
+
"definitions": {
|
| 515 |
+
"units": "km",
|
| 516 |
+
"quantity_kind": "radius_not_diameter",
|
| 517 |
+
"thresholds_kt": [
|
| 518 |
+
34,
|
| 519 |
+
50,
|
| 520 |
+
64
|
| 521 |
+
],
|
| 522 |
+
"quadrant_order": [
|
| 523 |
+
"NE",
|
| 524 |
+
"SE",
|
| 525 |
+
"SW",
|
| 526 |
+
"NW"
|
| 527 |
+
],
|
| 528 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 529 |
+
"target_wind_averaging_seconds": 60,
|
| 530 |
+
"validated_wind_averaging_seconds": null,
|
| 531 |
+
"validated_surface_height_m": null,
|
| 532 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 533 |
+
"official_scoring_allowed": false
|
| 534 |
+
},
|
| 535 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 536 |
+
"estimates": {
|
| 537 |
+
"wind_estimate_kt": {
|
| 538 |
+
"mean": 97.4172536550789,
|
| 539 |
+
"p10": 96.85480169746745,
|
| 540 |
+
"p90": 97.89064371395327,
|
| 541 |
+
"valid_members": 50,
|
| 542 |
+
"total_members": 50
|
| 543 |
+
},
|
| 544 |
+
"rmw_persistence_km": {
|
| 545 |
+
"mean": 22.223999999999997,
|
| 546 |
+
"p10": 22.224,
|
| 547 |
+
"p90": 22.224,
|
| 548 |
+
"valid_members": 50,
|
| 549 |
+
"total_members": 50
|
| 550 |
+
},
|
| 551 |
+
"r34_NE_estimate_km": {
|
| 552 |
+
"mean": 207.91652069820756,
|
| 553 |
+
"p10": 206.0671336851711,
|
| 554 |
+
"p90": 209.47538555618218,
|
| 555 |
+
"valid_members": 50,
|
| 556 |
+
"total_members": 50
|
| 557 |
+
},
|
| 558 |
+
"r34_SE_estimate_km": {
|
| 559 |
+
"mean": 221.6762698531099,
|
| 560 |
+
"p10": 219.68443145595842,
|
| 561 |
+
"p90": 223.3552808477937,
|
| 562 |
+
"valid_members": 50,
|
| 563 |
+
"total_members": 50
|
| 564 |
+
},
|
| 565 |
+
"r34_SW_estimate_km": {
|
| 566 |
+
"mean": 221.6762698531099,
|
| 567 |
+
"p10": 219.68443145595842,
|
| 568 |
+
"p90": 223.3552808477937,
|
| 569 |
+
"valid_members": 50,
|
| 570 |
+
"total_members": 50
|
| 571 |
+
},
|
| 572 |
+
"r34_NW_estimate_km": {
|
| 573 |
+
"mean": 185.82462721480275,
|
| 574 |
+
"p10": 184.40434443318557,
|
| 575 |
+
"p90": 187.02108085606008,
|
| 576 |
+
"valid_members": 50,
|
| 577 |
+
"total_members": 50
|
| 578 |
+
},
|
| 579 |
+
"r50_NE_estimate_km": {
|
| 580 |
+
"mean": 92.9836136936664,
|
| 581 |
+
"p10": 91.48091561515784,
|
| 582 |
+
"p90": 94.25466623238627,
|
| 583 |
+
"valid_members": 50,
|
| 584 |
+
"total_members": 50
|
| 585 |
+
},
|
| 586 |
+
"r50_SE_estimate_km": {
|
| 587 |
+
"mean": 94.85095005855732,
|
| 588 |
+
"p10": 93.18471544371408,
|
| 589 |
+
"p90": 96.26128134124974,
|
| 590 |
+
"valid_members": 50,
|
| 591 |
+
"total_members": 50
|
| 592 |
+
},
|
| 593 |
+
"r50_SW_estimate_km": {
|
| 594 |
+
"mean": 94.85095005855732,
|
| 595 |
+
"p10": 93.18471544371408,
|
| 596 |
+
"p90": 96.26128134124974,
|
| 597 |
+
"valid_members": 50,
|
| 598 |
+
"total_members": 50
|
| 599 |
+
},
|
| 600 |
+
"r50_NW_estimate_km": {
|
| 601 |
+
"mean": 83.22268532410179,
|
| 602 |
+
"p10": 81.74457958208477,
|
| 603 |
+
"p90": 84.4738975103466,
|
| 604 |
+
"valid_members": 50,
|
| 605 |
+
"total_members": 50
|
| 606 |
+
},
|
| 607 |
+
"r64_NE_estimate_km": {
|
| 608 |
+
"mean": 52.682217501892055,
|
| 609 |
+
"p10": 52.05847566307593,
|
| 610 |
+
"p90": 53.20871598943953,
|
| 611 |
+
"valid_members": 50,
|
| 612 |
+
"total_members": 50
|
| 613 |
+
},
|
| 614 |
+
"r64_SE_estimate_km": {
|
| 615 |
+
"mean": 52.682217501892055,
|
| 616 |
+
"p10": 52.05847566307593,
|
| 617 |
+
"p90": 53.20871598943953,
|
| 618 |
+
"valid_members": 50,
|
| 619 |
+
"total_members": 50
|
| 620 |
+
},
|
| 621 |
+
"r64_SW_estimate_km": {
|
| 622 |
+
"mean": 52.682217501892055,
|
| 623 |
+
"p10": 52.05847566307593,
|
| 624 |
+
"p90": 53.20871598943953,
|
| 625 |
+
"valid_members": 50,
|
| 626 |
+
"total_members": 50
|
| 627 |
+
},
|
| 628 |
+
"r64_NW_estimate_km": {
|
| 629 |
+
"mean": 47.87287380515676,
|
| 630 |
+
"p10": 47.36873766099984,
|
| 631 |
+
"p90": 48.29814708400235,
|
| 632 |
+
"valid_members": 50,
|
| 633 |
+
"total_members": 50
|
| 634 |
+
}
|
| 635 |
+
},
|
| 636 |
+
"official_scoring_allowed": false
|
| 637 |
+
}
|
| 638 |
+
},
|
| 639 |
+
{
|
| 640 |
+
"lead_hours": 30,
|
| 641 |
+
"valid_time_utc": "2015-08-06T06:00:00Z",
|
| 642 |
+
"summary": {
|
| 643 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 644 |
+
"members": 50,
|
| 645 |
+
"definitions": {
|
| 646 |
+
"units": "km",
|
| 647 |
+
"quantity_kind": "radius_not_diameter",
|
| 648 |
+
"thresholds_kt": [
|
| 649 |
+
34,
|
| 650 |
+
50,
|
| 651 |
+
64
|
| 652 |
+
],
|
| 653 |
+
"quadrant_order": [
|
| 654 |
+
"NE",
|
| 655 |
+
"SE",
|
| 656 |
+
"SW",
|
| 657 |
+
"NW"
|
| 658 |
+
],
|
| 659 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 660 |
+
"target_wind_averaging_seconds": 60,
|
| 661 |
+
"validated_wind_averaging_seconds": null,
|
| 662 |
+
"validated_surface_height_m": null,
|
| 663 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 664 |
+
"official_scoring_allowed": false
|
| 665 |
+
},
|
| 666 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 667 |
+
"estimates": {
|
| 668 |
+
"wind_estimate_kt": {
|
| 669 |
+
"mean": 95.98270566159148,
|
| 670 |
+
"p10": 95.34206418170336,
|
| 671 |
+
"p90": 96.49731772743253,
|
| 672 |
+
"valid_members": 50,
|
| 673 |
+
"total_members": 50
|
| 674 |
+
},
|
| 675 |
+
"rmw_persistence_km": {
|
| 676 |
+
"mean": 22.223999999999997,
|
| 677 |
+
"p10": 22.224,
|
| 678 |
+
"p90": 22.224,
|
| 679 |
+
"valid_members": 50,
|
| 680 |
+
"total_members": 50
|
| 681 |
+
},
|
| 682 |
+
"r34_NE_estimate_km": {
|
| 683 |
+
"mean": 203.214788071585,
|
| 684 |
+
"p10": 201.12516337227834,
|
| 685 |
+
"p90": 204.895463674228,
|
| 686 |
+
"valid_members": 50,
|
| 687 |
+
"total_members": 50
|
| 688 |
+
},
|
| 689 |
+
"r34_SE_estimate_km": {
|
| 690 |
+
"mean": 216.61285321880186,
|
| 691 |
+
"p10": 214.3627971686341,
|
| 692 |
+
"p90": 218.42262962257533,
|
| 693 |
+
"valid_members": 50,
|
| 694 |
+
"total_members": 50
|
| 695 |
+
},
|
| 696 |
+
"r34_SW_estimate_km": {
|
| 697 |
+
"mean": 216.61285321880186,
|
| 698 |
+
"p10": 214.3627971686341,
|
| 699 |
+
"p90": 218.42262962257533,
|
| 700 |
+
"valid_members": 50,
|
| 701 |
+
"total_members": 50
|
| 702 |
+
},
|
| 703 |
+
"r34_NW_estimate_km": {
|
| 704 |
+
"mean": 182.20914625354487,
|
| 705 |
+
"p10": 180.5991854136628,
|
| 706 |
+
"p90": 183.5033717238677,
|
| 707 |
+
"valid_members": 50,
|
| 708 |
+
"total_members": 50
|
| 709 |
+
},
|
| 710 |
+
"r50_NE_estimate_km": {
|
| 711 |
+
"mean": 89.19179185963131,
|
| 712 |
+
"p10": 87.52544339156384,
|
| 713 |
+
"p90": 90.53600295355103,
|
| 714 |
+
"valid_members": 50,
|
| 715 |
+
"total_members": 50
|
| 716 |
+
},
|
| 717 |
+
"r50_SE_estimate_km": {
|
| 718 |
+
"mean": 90.65255438273081,
|
| 719 |
+
"p10": 88.81157032939295,
|
| 720 |
+
"p90": 92.13849407920827,
|
| 721 |
+
"valid_members": 50,
|
| 722 |
+
"total_members": 50
|
| 723 |
+
},
|
| 724 |
+
"r50_SW_estimate_km": {
|
| 725 |
+
"mean": 90.65255438273081,
|
| 726 |
+
"p10": 88.81157032939295,
|
| 727 |
+
"p90": 92.13849407920827,
|
| 728 |
+
"valid_members": 50,
|
| 729 |
+
"total_members": 50
|
| 730 |
+
},
|
| 731 |
+
"r50_NW_estimate_km": {
|
| 732 |
+
"mean": 79.49906015880516,
|
| 733 |
+
"p10": 77.86675534498212,
|
| 734 |
+
"p90": 80.81667009251439,
|
| 735 |
+
"valid_members": 50,
|
| 736 |
+
"total_members": 50
|
| 737 |
+
},
|
| 738 |
+
"r64_NE_estimate_km": {
|
| 739 |
+
"mean": 51.10127699643301,
|
| 740 |
+
"p10": 50.40184135577899,
|
| 741 |
+
"p90": 51.66450455468706,
|
| 742 |
+
"valid_members": 50,
|
| 743 |
+
"total_members": 50
|
| 744 |
+
},
|
| 745 |
+
"r64_SE_estimate_km": {
|
| 746 |
+
"mean": 51.10127699643301,
|
| 747 |
+
"p10": 50.40184135577899,
|
| 748 |
+
"p90": 51.66450455468706,
|
| 749 |
+
"valid_members": 50,
|
| 750 |
+
"total_members": 50
|
| 751 |
+
},
|
| 752 |
+
"r64_SW_estimate_km": {
|
| 753 |
+
"mean": 51.10127699643301,
|
| 754 |
+
"p10": 50.40184135577899,
|
| 755 |
+
"p90": 51.66450455468706,
|
| 756 |
+
"valid_members": 50,
|
| 757 |
+
"total_members": 50
|
| 758 |
+
},
|
| 759 |
+
"r64_NW_estimate_km": {
|
| 760 |
+
"mean": 46.59336030584631,
|
| 761 |
+
"p10": 46.0261329448618,
|
| 762 |
+
"p90": 47.049882417829,
|
| 763 |
+
"valid_members": 50,
|
| 764 |
+
"total_members": 50
|
| 765 |
+
}
|
| 766 |
+
},
|
| 767 |
+
"official_scoring_allowed": false
|
| 768 |
+
}
|
| 769 |
+
},
|
| 770 |
+
{
|
| 771 |
+
"lead_hours": 36,
|
| 772 |
+
"valid_time_utc": "2015-08-06T12:00:00Z",
|
| 773 |
+
"summary": {
|
| 774 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 775 |
+
"members": 50,
|
| 776 |
+
"definitions": {
|
| 777 |
+
"units": "km",
|
| 778 |
+
"quantity_kind": "radius_not_diameter",
|
| 779 |
+
"thresholds_kt": [
|
| 780 |
+
34,
|
| 781 |
+
50,
|
| 782 |
+
64
|
| 783 |
+
],
|
| 784 |
+
"quadrant_order": [
|
| 785 |
+
"NE",
|
| 786 |
+
"SE",
|
| 787 |
+
"SW",
|
| 788 |
+
"NW"
|
| 789 |
+
],
|
| 790 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 791 |
+
"target_wind_averaging_seconds": 60,
|
| 792 |
+
"validated_wind_averaging_seconds": null,
|
| 793 |
+
"validated_surface_height_m": null,
|
| 794 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 795 |
+
"official_scoring_allowed": false
|
| 796 |
+
},
|
| 797 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 798 |
+
"estimates": {
|
| 799 |
+
"wind_estimate_kt": {
|
| 800 |
+
"mean": 94.7739882454048,
|
| 801 |
+
"p10": 94.20472468973468,
|
| 802 |
+
"p90": 95.26216093028731,
|
| 803 |
+
"valid_members": 50,
|
| 804 |
+
"total_members": 50
|
| 805 |
+
},
|
| 806 |
+
"rmw_persistence_km": {
|
| 807 |
+
"mean": 22.223999999999997,
|
| 808 |
+
"p10": 22.224,
|
| 809 |
+
"p90": 22.224,
|
| 810 |
+
"valid_members": 50,
|
| 811 |
+
"total_members": 50
|
| 812 |
+
},
|
| 813 |
+
"r34_NE_estimate_km": {
|
| 814 |
+
"mean": 199.28212031604863,
|
| 815 |
+
"p10": 197.43744389002688,
|
| 816 |
+
"p90": 200.86531113336966,
|
| 817 |
+
"valid_members": 50,
|
| 818 |
+
"total_members": 50
|
| 819 |
+
},
|
| 820 |
+
"r34_SE_estimate_km": {
|
| 821 |
+
"mean": 212.3785622995911,
|
| 822 |
+
"p10": 210.39263826067406,
|
| 823 |
+
"p90": 214.08301887731741,
|
| 824 |
+
"valid_members": 50,
|
| 825 |
+
"total_members": 50
|
| 826 |
+
},
|
| 827 |
+
"r34_SW_estimate_km": {
|
| 828 |
+
"mean": 212.3785622995911,
|
| 829 |
+
"p10": 210.39263826067406,
|
| 830 |
+
"p90": 214.08301887731741,
|
| 831 |
+
"valid_members": 50,
|
| 832 |
+
"total_members": 50
|
| 833 |
+
},
|
| 834 |
+
"r34_NW_estimate_km": {
|
| 835 |
+
"mean": 179.17615207937865,
|
| 836 |
+
"p10": 177.7511700415309,
|
| 837 |
+
"p90": 180.39874201174646,
|
| 838 |
+
"valid_members": 50,
|
| 839 |
+
"total_members": 50
|
| 840 |
+
},
|
| 841 |
+
"r50_NE_estimate_km": {
|
| 842 |
+
"mean": 86.07398009148605,
|
| 843 |
+
"p10": 84.62530802112954,
|
| 844 |
+
"p90": 87.31966331101307,
|
| 845 |
+
"valid_members": 50,
|
| 846 |
+
"total_members": 50
|
| 847 |
+
},
|
| 848 |
+
"r50_SE_estimate_km": {
|
| 849 |
+
"mean": 87.21187434004437,
|
| 850 |
+
"p10": 85.61612566974321,
|
| 851 |
+
"p90": 88.58453124382108,
|
| 852 |
+
"valid_members": 50,
|
| 853 |
+
"total_members": 50
|
| 854 |
+
},
|
| 855 |
+
"r50_SW_estimate_km": {
|
| 856 |
+
"mean": 87.21187434004437,
|
| 857 |
+
"p10": 85.61612566974321,
|
| 858 |
+
"p90": 88.58453124382108,
|
| 859 |
+
"valid_members": 50,
|
| 860 |
+
"total_members": 50
|
| 861 |
+
},
|
| 862 |
+
"r50_NW_estimate_km": {
|
| 863 |
+
"mean": 76.44886263222885,
|
| 864 |
+
"p10": 75.03457517902044,
|
| 865 |
+
"p90": 77.66548915326592,
|
| 866 |
+
"valid_members": 50,
|
| 867 |
+
"total_members": 50
|
| 868 |
+
},
|
| 869 |
+
"r64_NE_estimate_km": {
|
| 870 |
+
"mean": 49.78805356448755,
|
| 871 |
+
"p10": 49.17442007744825,
|
| 872 |
+
"p90": 50.315108392776246,
|
| 873 |
+
"valid_members": 50,
|
| 874 |
+
"total_members": 50
|
| 875 |
+
},
|
| 876 |
+
"r64_SE_estimate_km": {
|
| 877 |
+
"mean": 49.78805356448755,
|
| 878 |
+
"p10": 49.17442007744825,
|
| 879 |
+
"p90": 50.315108392776246,
|
| 880 |
+
"valid_members": 50,
|
| 881 |
+
"total_members": 50
|
| 882 |
+
},
|
| 883 |
+
"r64_SW_estimate_km": {
|
| 884 |
+
"mean": 49.78805356448755,
|
| 885 |
+
"p10": 49.17442007744825,
|
| 886 |
+
"p90": 50.315108392776246,
|
| 887 |
+
"valid_members": 50,
|
| 888 |
+
"total_members": 50
|
| 889 |
+
},
|
| 890 |
+
"r64_NW_estimate_km": {
|
| 891 |
+
"mean": 45.527243227879154,
|
| 892 |
+
"p10": 45.028226575605665,
|
| 893 |
+
"p90": 45.955706287370234,
|
| 894 |
+
"valid_members": 50,
|
| 895 |
+
"total_members": 50
|
| 896 |
+
}
|
| 897 |
+
},
|
| 898 |
+
"official_scoring_allowed": false
|
| 899 |
+
}
|
| 900 |
+
},
|
| 901 |
+
{
|
| 902 |
+
"lead_hours": 42,
|
| 903 |
+
"valid_time_utc": "2015-08-06T18:00:00Z",
|
| 904 |
+
"summary": {
|
| 905 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 906 |
+
"members": 50,
|
| 907 |
+
"definitions": {
|
| 908 |
+
"units": "km",
|
| 909 |
+
"quantity_kind": "radius_not_diameter",
|
| 910 |
+
"thresholds_kt": [
|
| 911 |
+
34,
|
| 912 |
+
50,
|
| 913 |
+
64
|
| 914 |
+
],
|
| 915 |
+
"quadrant_order": [
|
| 916 |
+
"NE",
|
| 917 |
+
"SE",
|
| 918 |
+
"SW",
|
| 919 |
+
"NW"
|
| 920 |
+
],
|
| 921 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 922 |
+
"target_wind_averaging_seconds": 60,
|
| 923 |
+
"validated_wind_averaging_seconds": null,
|
| 924 |
+
"validated_surface_height_m": null,
|
| 925 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 926 |
+
"official_scoring_allowed": false
|
| 927 |
+
},
|
| 928 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 929 |
+
"estimates": {
|
| 930 |
+
"wind_estimate_kt": {
|
| 931 |
+
"mean": 96.70079132004756,
|
| 932 |
+
"p10": 96.0907720922027,
|
| 933 |
+
"p90": 97.31973025797151,
|
| 934 |
+
"valid_members": 50,
|
| 935 |
+
"total_members": 50
|
| 936 |
+
},
|
| 937 |
+
"rmw_persistence_km": {
|
| 938 |
+
"mean": 22.223999999999997,
|
| 939 |
+
"p10": 22.224,
|
| 940 |
+
"p90": 22.224,
|
| 941 |
+
"valid_members": 50,
|
| 942 |
+
"total_members": 50
|
| 943 |
+
},
|
| 944 |
+
"r34_NE_estimate_km": {
|
| 945 |
+
"mean": 205.56447529703746,
|
| 946 |
+
"p10": 203.56584988400368,
|
| 947 |
+
"p90": 207.59448291346322,
|
| 948 |
+
"valid_members": 50,
|
| 949 |
+
"total_members": 50
|
| 950 |
+
},
|
| 951 |
+
"r34_SE_estimate_km": {
|
| 952 |
+
"mean": 219.14317177702665,
|
| 953 |
+
"p10": 216.99082326013948,
|
| 954 |
+
"p90": 221.32938376338987,
|
| 955 |
+
"valid_members": 50,
|
| 956 |
+
"total_members": 50
|
| 957 |
+
},
|
| 958 |
+
"r34_SW_estimate_km": {
|
| 959 |
+
"mean": 219.14317177702665,
|
| 960 |
+
"p10": 216.99082326013948,
|
| 961 |
+
"p90": 221.32938376338987,
|
| 962 |
+
"valid_members": 50,
|
| 963 |
+
"total_members": 50
|
| 964 |
+
},
|
| 965 |
+
"r34_NW_estimate_km": {
|
| 966 |
+
"mean": 184.01716456080155,
|
| 967 |
+
"p10": 182.48006455372942,
|
| 968 |
+
"p90": 185.57773350722076,
|
| 969 |
+
"valid_members": 50,
|
| 970 |
+
"total_members": 50
|
| 971 |
+
},
|
| 972 |
+
"r50_NE_estimate_km": {
|
| 973 |
+
"mean": 91.0795259444029,
|
| 974 |
+
"p10": 89.46907692212598,
|
| 975 |
+
"p90": 92.71933664882678,
|
| 976 |
+
"valid_members": 50,
|
| 977 |
+
"total_members": 50
|
| 978 |
+
},
|
| 979 |
+
"r50_SE_estimate_km": {
|
| 980 |
+
"mean": 92.74114728369177,
|
| 981 |
+
"p10": 90.95832621741167,
|
| 982 |
+
"p90": 94.55735021474577,
|
| 983 |
+
"valid_members": 50,
|
| 984 |
+
"total_members": 50
|
| 985 |
+
},
|
| 986 |
+
"r50_SW_estimate_km": {
|
| 987 |
+
"mean": 92.74114728369177,
|
| 988 |
+
"p10": 90.95832621741167,
|
| 989 |
+
"p90": 94.55735021474577,
|
| 990 |
+
"valid_members": 50,
|
| 991 |
+
"total_members": 50
|
| 992 |
+
},
|
| 993 |
+
"r50_NW_estimate_km": {
|
| 994 |
+
"mean": 81.3512771477778,
|
| 995 |
+
"p10": 79.7701019640717,
|
| 996 |
+
"p90": 82.96216602008779,
|
| 997 |
+
"valid_members": 50,
|
| 998 |
+
"total_members": 50
|
| 999 |
+
},
|
| 1000 |
+
"r64_NE_estimate_km": {
|
| 1001 |
+
"mean": 51.89013101331463,
|
| 1002 |
+
"p10": 51.21833168462318,
|
| 1003 |
+
"p90": 52.57316590376724,
|
| 1004 |
+
"valid_members": 50,
|
| 1005 |
+
"total_members": 50
|
| 1006 |
+
},
|
| 1007 |
+
"r64_SE_estimate_km": {
|
| 1008 |
+
"mean": 51.89013101331463,
|
| 1009 |
+
"p10": 51.21833168462318,
|
| 1010 |
+
"p90": 52.57316590376724,
|
| 1011 |
+
"valid_members": 50,
|
| 1012 |
+
"total_members": 50
|
| 1013 |
+
},
|
| 1014 |
+
"r64_SW_estimate_km": {
|
| 1015 |
+
"mean": 51.89013101331463,
|
| 1016 |
+
"p10": 51.21833168462318,
|
| 1017 |
+
"p90": 52.57316590376724,
|
| 1018 |
+
"valid_members": 50,
|
| 1019 |
+
"total_members": 50
|
| 1020 |
+
},
|
| 1021 |
+
"r64_NW_estimate_km": {
|
| 1022 |
+
"mean": 47.2322479577632,
|
| 1023 |
+
"p10": 46.68845231481727,
|
| 1024 |
+
"p90": 47.784890905543854,
|
| 1025 |
+
"valid_members": 50,
|
| 1026 |
+
"total_members": 50
|
| 1027 |
+
}
|
| 1028 |
+
},
|
| 1029 |
+
"official_scoring_allowed": false
|
| 1030 |
+
}
|
| 1031 |
+
},
|
| 1032 |
+
{
|
| 1033 |
+
"lead_hours": 48,
|
| 1034 |
+
"valid_time_utc": "2015-08-07T00:00:00Z",
|
| 1035 |
+
"summary": {
|
| 1036 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1037 |
+
"members": 50,
|
| 1038 |
+
"definitions": {
|
| 1039 |
+
"units": "km",
|
| 1040 |
+
"quantity_kind": "radius_not_diameter",
|
| 1041 |
+
"thresholds_kt": [
|
| 1042 |
+
34,
|
| 1043 |
+
50,
|
| 1044 |
+
64
|
| 1045 |
+
],
|
| 1046 |
+
"quadrant_order": [
|
| 1047 |
+
"NE",
|
| 1048 |
+
"SE",
|
| 1049 |
+
"SW",
|
| 1050 |
+
"NW"
|
| 1051 |
+
],
|
| 1052 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1053 |
+
"target_wind_averaging_seconds": 60,
|
| 1054 |
+
"validated_wind_averaging_seconds": null,
|
| 1055 |
+
"validated_surface_height_m": null,
|
| 1056 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1057 |
+
"official_scoring_allowed": false
|
| 1058 |
+
},
|
| 1059 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1060 |
+
"estimates": {
|
| 1061 |
+
"wind_estimate_kt": {
|
| 1062 |
+
"mean": 98.18701486039059,
|
| 1063 |
+
"p10": 97.57117493407472,
|
| 1064 |
+
"p90": 98.77290412964818,
|
| 1065 |
+
"valid_members": 50,
|
| 1066 |
+
"total_members": 50
|
| 1067 |
+
},
|
| 1068 |
+
"rmw_persistence_km": {
|
| 1069 |
+
"mean": 22.223999999999997,
|
| 1070 |
+
"p10": 22.224,
|
| 1071 |
+
"p90": 22.224,
|
| 1072 |
+
"valid_members": 50,
|
| 1073 |
+
"total_members": 50
|
| 1074 |
+
},
|
| 1075 |
+
"r34_NE_estimate_km": {
|
| 1076 |
+
"mean": 210.4568225477419,
|
| 1077 |
+
"p10": 208.422140020876,
|
| 1078 |
+
"p90": 212.39376940558893,
|
| 1079 |
+
"valid_members": 50,
|
| 1080 |
+
"total_members": 50
|
| 1081 |
+
},
|
| 1082 |
+
"r34_SE_estimate_km": {
|
| 1083 |
+
"mean": 224.41253206141408,
|
| 1084 |
+
"p10": 222.22081992196294,
|
| 1085 |
+
"p90": 226.49900374584428,
|
| 1086 |
+
"valid_members": 50,
|
| 1087 |
+
"total_members": 50
|
| 1088 |
+
},
|
| 1089 |
+
"r34_SW_estimate_km": {
|
| 1090 |
+
"mean": 224.41253206141408,
|
| 1091 |
+
"p10": 222.22081992196294,
|
| 1092 |
+
"p90": 226.49900374584428,
|
| 1093 |
+
"valid_members": 50,
|
| 1094 |
+
"total_members": 50
|
| 1095 |
+
},
|
| 1096 |
+
"r34_NW_estimate_km": {
|
| 1097 |
+
"mean": 187.77265557641596,
|
| 1098 |
+
"p10": 186.2130801345605,
|
| 1099 |
+
"p90": 189.2569421541034,
|
| 1100 |
+
"valid_members": 50,
|
| 1101 |
+
"total_members": 50
|
| 1102 |
+
},
|
| 1103 |
+
"r50_NE_estimate_km": {
|
| 1104 |
+
"mean": 95.06544083538321,
|
| 1105 |
+
"p10": 93.3935206568057,
|
| 1106 |
+
"p90": 96.65939083496274,
|
| 1107 |
+
"valid_members": 50,
|
| 1108 |
+
"total_members": 50
|
| 1109 |
+
},
|
| 1110 |
+
"r50_SE_estimate_km": {
|
| 1111 |
+
"mean": 97.16318234608,
|
| 1112 |
+
"p10": 95.3052659191647,
|
| 1113 |
+
"p90": 98.93495943641652,
|
| 1114 |
+
"valid_members": 50,
|
| 1115 |
+
"total_members": 50
|
| 1116 |
+
},
|
| 1117 |
+
"r50_SW_estimate_km": {
|
| 1118 |
+
"mean": 97.16318234608,
|
| 1119 |
+
"p10": 95.3052659191647,
|
| 1120 |
+
"p90": 98.93495943641652,
|
| 1121 |
+
"valid_members": 50,
|
| 1122 |
+
"total_members": 50
|
| 1123 |
+
},
|
| 1124 |
+
"r50_NW_estimate_km": {
|
| 1125 |
+
"mean": 85.27432252077466,
|
| 1126 |
+
"p10": 83.62568132938226,
|
| 1127 |
+
"p90": 86.8465889242204,
|
| 1128 |
+
"valid_members": 50,
|
| 1129 |
+
"total_members": 50
|
| 1130 |
+
},
|
| 1131 |
+
"r64_NE_estimate_km": {
|
| 1132 |
+
"mean": 53.54195256962507,
|
| 1133 |
+
"p10": 52.85259193805116,
|
| 1134 |
+
"p90": 54.19859032589326,
|
| 1135 |
+
"valid_members": 50,
|
| 1136 |
+
"total_members": 50
|
| 1137 |
+
},
|
| 1138 |
+
"r64_SE_estimate_km": {
|
| 1139 |
+
"mean": 53.54195256962507,
|
| 1140 |
+
"p10": 52.85259193805116,
|
| 1141 |
+
"p90": 54.19859032589326,
|
| 1142 |
+
"valid_members": 50,
|
| 1143 |
+
"total_members": 50
|
| 1144 |
+
},
|
| 1145 |
+
"r64_SW_estimate_km": {
|
| 1146 |
+
"mean": 53.54195256962507,
|
| 1147 |
+
"p10": 52.85259193805116,
|
| 1148 |
+
"p90": 54.19859032589326,
|
| 1149 |
+
"valid_members": 50,
|
| 1150 |
+
"total_members": 50
|
| 1151 |
+
},
|
| 1152 |
+
"r64_NW_estimate_km": {
|
| 1153 |
+
"mean": 48.56668173365142,
|
| 1154 |
+
"p10": 48.01063403206128,
|
| 1155 |
+
"p90": 49.09619463884623,
|
| 1156 |
+
"valid_members": 50,
|
| 1157 |
+
"total_members": 50
|
| 1158 |
+
}
|
| 1159 |
+
},
|
| 1160 |
+
"official_scoring_allowed": false
|
| 1161 |
+
}
|
| 1162 |
+
},
|
| 1163 |
+
{
|
| 1164 |
+
"lead_hours": 54,
|
| 1165 |
+
"valid_time_utc": "2015-08-07T06:00:00Z",
|
| 1166 |
+
"summary": {
|
| 1167 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1168 |
+
"members": 50,
|
| 1169 |
+
"definitions": {
|
| 1170 |
+
"units": "km",
|
| 1171 |
+
"quantity_kind": "radius_not_diameter",
|
| 1172 |
+
"thresholds_kt": [
|
| 1173 |
+
34,
|
| 1174 |
+
50,
|
| 1175 |
+
64
|
| 1176 |
+
],
|
| 1177 |
+
"quadrant_order": [
|
| 1178 |
+
"NE",
|
| 1179 |
+
"SE",
|
| 1180 |
+
"SW",
|
| 1181 |
+
"NW"
|
| 1182 |
+
],
|
| 1183 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1184 |
+
"target_wind_averaging_seconds": 60,
|
| 1185 |
+
"validated_wind_averaging_seconds": null,
|
| 1186 |
+
"validated_surface_height_m": null,
|
| 1187 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1188 |
+
"official_scoring_allowed": false
|
| 1189 |
+
},
|
| 1190 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1191 |
+
"estimates": {
|
| 1192 |
+
"wind_estimate_kt": {
|
| 1193 |
+
"mean": 100.55911727165068,
|
| 1194 |
+
"p10": 99.91917985211082,
|
| 1195 |
+
"p90": 101.23791922591698,
|
| 1196 |
+
"valid_members": 50,
|
| 1197 |
+
"total_members": 50
|
| 1198 |
+
},
|
| 1199 |
+
"rmw_persistence_km": {
|
| 1200 |
+
"mean": 22.223999999999997,
|
| 1201 |
+
"p10": 22.224,
|
| 1202 |
+
"p90": 22.224,
|
| 1203 |
+
"valid_members": 50,
|
| 1204 |
+
"total_members": 50
|
| 1205 |
+
},
|
| 1206 |
+
"r34_NE_estimate_km": {
|
| 1207 |
+
"mean": 218.34927082838774,
|
| 1208 |
+
"p10": 216.20662395587402,
|
| 1209 |
+
"p90": 220.6225683268315,
|
| 1210 |
+
"valid_members": 50,
|
| 1211 |
+
"total_members": 50
|
| 1212 |
+
},
|
| 1213 |
+
"r34_SE_estimate_km": {
|
| 1214 |
+
"mean": 232.9158269258816,
|
| 1215 |
+
"p10": 230.6069257928789,
|
| 1216 |
+
"p90": 235.36553256257142,
|
| 1217 |
+
"valid_members": 50,
|
| 1218 |
+
"total_members": 50
|
| 1219 |
+
},
|
| 1220 |
+
"r34_SW_estimate_km": {
|
| 1221 |
+
"mean": 232.9158269258816,
|
| 1222 |
+
"p10": 230.6069257928789,
|
| 1223 |
+
"p90": 235.36553256257142,
|
| 1224 |
+
"valid_members": 50,
|
| 1225 |
+
"total_members": 50
|
| 1226 |
+
},
|
| 1227 |
+
"r34_NW_estimate_km": {
|
| 1228 |
+
"mean": 193.80514729698842,
|
| 1229 |
+
"p10": 192.17157168063085,
|
| 1230 |
+
"p90": 195.53817240568623,
|
| 1231 |
+
"valid_members": 50,
|
| 1232 |
+
"total_members": 50
|
| 1233 |
+
},
|
| 1234 |
+
"r50_NE_estimate_km": {
|
| 1235 |
+
"mean": 101.65851036799293,
|
| 1236 |
+
"p10": 99.84224156396418,
|
| 1237 |
+
"p90": 103.58655062396087,
|
| 1238 |
+
"valid_members": 50,
|
| 1239 |
+
"total_members": 50
|
| 1240 |
+
},
|
| 1241 |
+
"r50_SE_estimate_km": {
|
| 1242 |
+
"mean": 104.51327166398154,
|
| 1243 |
+
"p10": 102.48272753640367,
|
| 1244 |
+
"p90": 106.66899245669534,
|
| 1245 |
+
"valid_members": 50,
|
| 1246 |
+
"total_members": 50
|
| 1247 |
+
},
|
| 1248 |
+
"r50_SW_estimate_km": {
|
| 1249 |
+
"mean": 104.51327166398154,
|
| 1250 |
+
"p10": 102.48272753640367,
|
| 1251 |
+
"p90": 106.66899245669534,
|
| 1252 |
+
"valid_members": 50,
|
| 1253 |
+
"total_members": 50
|
| 1254 |
+
},
|
| 1255 |
+
"r50_NW_estimate_km": {
|
| 1256 |
+
"mean": 91.79939289737338,
|
| 1257 |
+
"p10": 89.99606668658531,
|
| 1258 |
+
"p90": 93.71391527414406,
|
| 1259 |
+
"valid_members": 50,
|
| 1260 |
+
"total_members": 50
|
| 1261 |
+
},
|
| 1262 |
+
"r64_NE_estimate_km": {
|
| 1263 |
+
"mean": 56.23381229841979,
|
| 1264 |
+
"p10": 55.49867492533029,
|
| 1265 |
+
"p90": 57.01394409944749,
|
| 1266 |
+
"valid_members": 50,
|
| 1267 |
+
"total_members": 50
|
| 1268 |
+
},
|
| 1269 |
+
"r64_SE_estimate_km": {
|
| 1270 |
+
"mean": 56.23381229841979,
|
| 1271 |
+
"p10": 55.49867492533029,
|
| 1272 |
+
"p90": 57.01394409944749,
|
| 1273 |
+
"valid_members": 50,
|
| 1274 |
+
"total_members": 50
|
| 1275 |
+
},
|
| 1276 |
+
"r64_SW_estimate_km": {
|
| 1277 |
+
"mean": 56.23381229841979,
|
| 1278 |
+
"p10": 55.49867492533029,
|
| 1279 |
+
"p90": 57.01394409944749,
|
| 1280 |
+
"valid_members": 50,
|
| 1281 |
+
"total_members": 50
|
| 1282 |
+
},
|
| 1283 |
+
"r64_NW_estimate_km": {
|
| 1284 |
+
"mean": 50.73154950424848,
|
| 1285 |
+
"p10": 50.14188871510692,
|
| 1286 |
+
"p90": 51.357240793966334,
|
| 1287 |
+
"valid_members": 50,
|
| 1288 |
+
"total_members": 50
|
| 1289 |
+
}
|
| 1290 |
+
},
|
| 1291 |
+
"official_scoring_allowed": false
|
| 1292 |
+
}
|
| 1293 |
+
},
|
| 1294 |
+
{
|
| 1295 |
+
"lead_hours": 60,
|
| 1296 |
+
"valid_time_utc": "2015-08-07T12:00:00Z",
|
| 1297 |
+
"summary": {
|
| 1298 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1299 |
+
"members": 50,
|
| 1300 |
+
"definitions": {
|
| 1301 |
+
"units": "km",
|
| 1302 |
+
"quantity_kind": "radius_not_diameter",
|
| 1303 |
+
"thresholds_kt": [
|
| 1304 |
+
34,
|
| 1305 |
+
50,
|
| 1306 |
+
64
|
| 1307 |
+
],
|
| 1308 |
+
"quadrant_order": [
|
| 1309 |
+
"NE",
|
| 1310 |
+
"SE",
|
| 1311 |
+
"SW",
|
| 1312 |
+
"NW"
|
| 1313 |
+
],
|
| 1314 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1315 |
+
"target_wind_averaging_seconds": 60,
|
| 1316 |
+
"validated_wind_averaging_seconds": null,
|
| 1317 |
+
"validated_surface_height_m": null,
|
| 1318 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1319 |
+
"official_scoring_allowed": false
|
| 1320 |
+
},
|
| 1321 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1322 |
+
"estimates": {
|
| 1323 |
+
"wind_estimate_kt": {
|
| 1324 |
+
"mean": 98.62991086829217,
|
| 1325 |
+
"p10": 98.0818516617311,
|
| 1326 |
+
"p90": 99.32937155502148,
|
| 1327 |
+
"valid_members": 50,
|
| 1328 |
+
"total_members": 50
|
| 1329 |
+
},
|
| 1330 |
+
"rmw_persistence_km": {
|
| 1331 |
+
"mean": 22.223999999999997,
|
| 1332 |
+
"p10": 22.224,
|
| 1333 |
+
"p90": 22.224,
|
| 1334 |
+
"valid_members": 50,
|
| 1335 |
+
"total_members": 50
|
| 1336 |
+
},
|
| 1337 |
+
"r34_NE_estimate_km": {
|
| 1338 |
+
"mean": 211.92240515077344,
|
| 1339 |
+
"p10": 210.10666728396373,
|
| 1340 |
+
"p90": 214.24177007003482,
|
| 1341 |
+
"valid_members": 50,
|
| 1342 |
+
"total_members": 50
|
| 1343 |
+
},
|
| 1344 |
+
"r34_SE_estimate_km": {
|
| 1345 |
+
"mean": 225.9912950049071,
|
| 1346 |
+
"p10": 224.03526847801288,
|
| 1347 |
+
"p90": 228.48992362503841,
|
| 1348 |
+
"valid_members": 50,
|
| 1349 |
+
"total_members": 50
|
| 1350 |
+
},
|
| 1351 |
+
"r34_SW_estimate_km": {
|
| 1352 |
+
"mean": 225.9912950049071,
|
| 1353 |
+
"p10": 224.03526847801288,
|
| 1354 |
+
"p90": 228.48992362503841,
|
| 1355 |
+
"valid_members": 50,
|
| 1356 |
+
"total_members": 50
|
| 1357 |
+
},
|
| 1358 |
+
"r34_NW_estimate_km": {
|
| 1359 |
+
"mean": 188.89531227917712,
|
| 1360 |
+
"p10": 187.5050951005098,
|
| 1361 |
+
"p90": 190.67050708610572,
|
| 1362 |
+
"valid_members": 50,
|
| 1363 |
+
"total_members": 50
|
| 1364 |
+
},
|
| 1365 |
+
"r50_NE_estimate_km": {
|
| 1366 |
+
"mean": 96.27416354972604,
|
| 1367 |
+
"p10": 94.77252170815464,
|
| 1368 |
+
"p90": 98.19624316985069,
|
| 1369 |
+
"valid_members": 50,
|
| 1370 |
+
"total_members": 50
|
| 1371 |
+
},
|
| 1372 |
+
"r50_SE_estimate_km": {
|
| 1373 |
+
"mean": 98.50733593617758,
|
| 1374 |
+
"p10": 96.83655689036955,
|
| 1375 |
+
"p90": 100.64675937755072,
|
| 1376 |
+
"valid_members": 50,
|
| 1377 |
+
"total_members": 50
|
| 1378 |
+
},
|
| 1379 |
+
"r50_SW_estimate_km": {
|
| 1380 |
+
"mean": 98.50733593617758,
|
| 1381 |
+
"p10": 96.83655689036955,
|
| 1382 |
+
"p90": 100.64675937755072,
|
| 1383 |
+
"valid_members": 50,
|
| 1384 |
+
"total_members": 50
|
| 1385 |
+
},
|
| 1386 |
+
"r50_NW_estimate_km": {
|
| 1387 |
+
"mean": 86.46718923008831,
|
| 1388 |
+
"p10": 84.98435088966967,
|
| 1389 |
+
"p90": 88.36605988586464,
|
| 1390 |
+
"valid_members": 50,
|
| 1391 |
+
"total_members": 50
|
| 1392 |
+
},
|
| 1393 |
+
"r64_NE_estimate_km": {
|
| 1394 |
+
"mean": 54.03923717218822,
|
| 1395 |
+
"p10": 53.42245173228153,
|
| 1396 |
+
"p90": 54.827751647584364,
|
| 1397 |
+
"valid_members": 50,
|
| 1398 |
+
"total_members": 50
|
| 1399 |
+
},
|
| 1400 |
+
"r64_SE_estimate_km": {
|
| 1401 |
+
"mean": 54.03923717218822,
|
| 1402 |
+
"p10": 53.42245173228153,
|
| 1403 |
+
"p90": 54.827751647584364,
|
| 1404 |
+
"valid_members": 50,
|
| 1405 |
+
"total_members": 50
|
| 1406 |
+
},
|
| 1407 |
+
"r64_SW_estimate_km": {
|
| 1408 |
+
"mean": 54.03923717218822,
|
| 1409 |
+
"p10": 53.42245173228153,
|
| 1410 |
+
"p90": 54.827751647584364,
|
| 1411 |
+
"valid_members": 50,
|
| 1412 |
+
"total_members": 50
|
| 1413 |
+
},
|
| 1414 |
+
"r64_NW_estimate_km": {
|
| 1415 |
+
"mean": 48.96753322494579,
|
| 1416 |
+
"p10": 48.47060156483481,
|
| 1417 |
+
"p90": 49.60258956015066,
|
| 1418 |
+
"valid_members": 50,
|
| 1419 |
+
"total_members": 50
|
| 1420 |
+
}
|
| 1421 |
+
},
|
| 1422 |
+
"official_scoring_allowed": false
|
| 1423 |
+
}
|
| 1424 |
+
},
|
| 1425 |
+
{
|
| 1426 |
+
"lead_hours": 66,
|
| 1427 |
+
"valid_time_utc": "2015-08-07T18:00:00Z",
|
| 1428 |
+
"summary": {
|
| 1429 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1430 |
+
"members": 50,
|
| 1431 |
+
"definitions": {
|
| 1432 |
+
"units": "km",
|
| 1433 |
+
"quantity_kind": "radius_not_diameter",
|
| 1434 |
+
"thresholds_kt": [
|
| 1435 |
+
34,
|
| 1436 |
+
50,
|
| 1437 |
+
64
|
| 1438 |
+
],
|
| 1439 |
+
"quadrant_order": [
|
| 1440 |
+
"NE",
|
| 1441 |
+
"SE",
|
| 1442 |
+
"SW",
|
| 1443 |
+
"NW"
|
| 1444 |
+
],
|
| 1445 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1446 |
+
"target_wind_averaging_seconds": 60,
|
| 1447 |
+
"validated_wind_averaging_seconds": null,
|
| 1448 |
+
"validated_surface_height_m": null,
|
| 1449 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1450 |
+
"official_scoring_allowed": false
|
| 1451 |
+
},
|
| 1452 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1453 |
+
"estimates": {
|
| 1454 |
+
"wind_estimate_kt": {
|
| 1455 |
+
"mean": 96.45994485697648,
|
| 1456 |
+
"p10": 95.84430532852195,
|
| 1457 |
+
"p90": 97.1751516276215,
|
| 1458 |
+
"valid_members": 50,
|
| 1459 |
+
"total_members": 50
|
| 1460 |
+
},
|
| 1461 |
+
"rmw_persistence_km": {
|
| 1462 |
+
"mean": 22.223999999999997,
|
| 1463 |
+
"p10": 22.224,
|
| 1464 |
+
"p90": 22.224,
|
| 1465 |
+
"valid_members": 50,
|
| 1466 |
+
"total_members": 50
|
| 1467 |
+
},
|
| 1468 |
+
"r34_NE_estimate_km": {
|
| 1469 |
+
"mean": 204.77577346246636,
|
| 1470 |
+
"p10": 202.76125836402707,
|
| 1471 |
+
"p90": 207.11908740621573,
|
| 1472 |
+
"valid_members": 50,
|
| 1473 |
+
"total_members": 50
|
| 1474 |
+
},
|
| 1475 |
+
"r34_SE_estimate_km": {
|
| 1476 |
+
"mean": 218.29381956943286,
|
| 1477 |
+
"p10": 216.12443804021373,
|
| 1478 |
+
"p90": 220.8173700348143,
|
| 1479 |
+
"valid_members": 50,
|
| 1480 |
+
"total_members": 50
|
| 1481 |
+
},
|
| 1482 |
+
"r34_SW_estimate_km": {
|
| 1483 |
+
"mean": 218.29381956943286,
|
| 1484 |
+
"p10": 216.12443804021373,
|
| 1485 |
+
"p90": 220.8173700348143,
|
| 1486 |
+
"valid_members": 50,
|
| 1487 |
+
"total_members": 50
|
| 1488 |
+
},
|
| 1489 |
+
"r34_NW_estimate_km": {
|
| 1490 |
+
"mean": 183.41047049860126,
|
| 1491 |
+
"p10": 181.8603715010831,
|
| 1492 |
+
"p90": 185.21264450621769,
|
| 1493 |
+
"valid_members": 50,
|
| 1494 |
+
"total_members": 50
|
| 1495 |
+
},
|
| 1496 |
+
"r50_NE_estimate_km": {
|
| 1497 |
+
"mean": 90.44473209488142,
|
| 1498 |
+
"p10": 88.82621511996324,
|
| 1499 |
+
"p90": 92.3330447442863,
|
| 1500 |
+
"valid_members": 50,
|
| 1501 |
+
"total_members": 50
|
| 1502 |
+
},
|
| 1503 |
+
"r50_SE_estimate_km": {
|
| 1504 |
+
"mean": 92.03856296023497,
|
| 1505 |
+
"p10": 90.2478249286074,
|
| 1506 |
+
"p90": 94.12901607874304,
|
| 1507 |
+
"valid_members": 50,
|
| 1508 |
+
"total_members": 50
|
| 1509 |
+
},
|
| 1510 |
+
"r50_SW_estimate_km": {
|
| 1511 |
+
"mean": 92.03856296023497,
|
| 1512 |
+
"p10": 90.2478249286074,
|
| 1513 |
+
"p90": 94.12901607874304,
|
| 1514 |
+
"valid_members": 50,
|
| 1515 |
+
"total_members": 50
|
| 1516 |
+
},
|
| 1517 |
+
"r50_NW_estimate_km": {
|
| 1518 |
+
"mean": 80.72817736556611,
|
| 1519 |
+
"p10": 79.14010480645032,
|
| 1520 |
+
"p90": 82.58219332337472,
|
| 1521 |
+
"valid_members": 50,
|
| 1522 |
+
"total_members": 50
|
| 1523 |
+
},
|
| 1524 |
+
"r64_NE_estimate_km": {
|
| 1525 |
+
"mean": 51.62514730508947,
|
| 1526 |
+
"p10": 50.9488075603307,
|
| 1527 |
+
"p90": 52.41282679966902,
|
| 1528 |
+
"valid_members": 50,
|
| 1529 |
+
"total_members": 50
|
| 1530 |
+
},
|
| 1531 |
+
"r64_SE_estimate_km": {
|
| 1532 |
+
"mean": 51.62514730508947,
|
| 1533 |
+
"p10": 50.9488075603307,
|
| 1534 |
+
"p90": 52.41282679966902,
|
| 1535 |
+
"valid_members": 50,
|
| 1536 |
+
"total_members": 50
|
| 1537 |
+
},
|
| 1538 |
+
"r64_SW_estimate_km": {
|
| 1539 |
+
"mean": 51.62514730508947,
|
| 1540 |
+
"p10": 50.9488075603307,
|
| 1541 |
+
"p90": 52.41282679966902,
|
| 1542 |
+
"valid_members": 50,
|
| 1543 |
+
"total_members": 50
|
| 1544 |
+
},
|
| 1545 |
+
"r64_NW_estimate_km": {
|
| 1546 |
+
"mean": 47.01770962969113,
|
| 1547 |
+
"p10": 46.469950633462425,
|
| 1548 |
+
"p90": 47.655298586818496,
|
| 1549 |
+
"valid_members": 50,
|
| 1550 |
+
"total_members": 50
|
| 1551 |
+
}
|
| 1552 |
+
},
|
| 1553 |
+
"official_scoring_allowed": false
|
| 1554 |
+
}
|
| 1555 |
+
},
|
| 1556 |
+
{
|
| 1557 |
+
"lead_hours": 72,
|
| 1558 |
+
"valid_time_utc": "2015-08-08T00:00:00Z",
|
| 1559 |
+
"summary": {
|
| 1560 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1561 |
+
"members": 50,
|
| 1562 |
+
"definitions": {
|
| 1563 |
+
"units": "km",
|
| 1564 |
+
"quantity_kind": "radius_not_diameter",
|
| 1565 |
+
"thresholds_kt": [
|
| 1566 |
+
34,
|
| 1567 |
+
50,
|
| 1568 |
+
64
|
| 1569 |
+
],
|
| 1570 |
+
"quadrant_order": [
|
| 1571 |
+
"NE",
|
| 1572 |
+
"SE",
|
| 1573 |
+
"SW",
|
| 1574 |
+
"NW"
|
| 1575 |
+
],
|
| 1576 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1577 |
+
"target_wind_averaging_seconds": 60,
|
| 1578 |
+
"validated_wind_averaging_seconds": null,
|
| 1579 |
+
"validated_surface_height_m": null,
|
| 1580 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1581 |
+
"official_scoring_allowed": false
|
| 1582 |
+
},
|
| 1583 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1584 |
+
"estimates": {
|
| 1585 |
+
"wind_estimate_kt": {
|
| 1586 |
+
"mean": 92.00046860433484,
|
| 1587 |
+
"p10": 91.34736843916494,
|
| 1588 |
+
"p90": 92.8078753819634,
|
| 1589 |
+
"valid_members": 50,
|
| 1590 |
+
"total_members": 50
|
| 1591 |
+
},
|
| 1592 |
+
"rmw_persistence_km": {
|
| 1593 |
+
"mean": 22.223999999999997,
|
| 1594 |
+
"p10": 22.224,
|
| 1595 |
+
"p90": 22.224,
|
| 1596 |
+
"valid_members": 50,
|
| 1597 |
+
"total_members": 50
|
| 1598 |
+
},
|
| 1599 |
+
"r34_NE_estimate_km": {
|
| 1600 |
+
"mean": 190.3619663016812,
|
| 1601 |
+
"p10": 188.27912626939573,
|
| 1602 |
+
"p90": 192.9411961732603,
|
| 1603 |
+
"valid_members": 50,
|
| 1604 |
+
"total_members": 50
|
| 1605 |
+
},
|
| 1606 |
+
"r34_SE_estimate_km": {
|
| 1607 |
+
"mean": 202.77748003786678,
|
| 1608 |
+
"p10": 200.53619429365787,
|
| 1609 |
+
"p90": 205.55305080744486,
|
| 1610 |
+
"valid_members": 50,
|
| 1611 |
+
"total_members": 50
|
| 1612 |
+
},
|
| 1613 |
+
"r34_SW_estimate_km": {
|
| 1614 |
+
"mean": 202.77748003786678,
|
| 1615 |
+
"p10": 200.53619429365787,
|
| 1616 |
+
"p90": 205.55305080744486,
|
| 1617 |
+
"valid_members": 50,
|
| 1618 |
+
"total_members": 50
|
| 1619 |
+
},
|
| 1620 |
+
"r34_NW_estimate_km": {
|
| 1621 |
+
"mean": 172.26468067265952,
|
| 1622 |
+
"p10": 170.6453855688765,
|
| 1623 |
+
"p90": 174.2685555018564,
|
| 1624 |
+
"valid_members": 50,
|
| 1625 |
+
"total_members": 50
|
| 1626 |
+
},
|
| 1627 |
+
"r50_NE_estimate_km": {
|
| 1628 |
+
"mean": 79.18995745218373,
|
| 1629 |
+
"p10": 77.61407162982557,
|
| 1630 |
+
"p90": 81.14900301071121,
|
| 1631 |
+
"valid_members": 50,
|
| 1632 |
+
"total_members": 50
|
| 1633 |
+
},
|
| 1634 |
+
"r50_SE_estimate_km": {
|
| 1635 |
+
"mean": 79.65445347877662,
|
| 1636 |
+
"p10": 77.93107568717139,
|
| 1637 |
+
"p90": 81.79846648587137,
|
| 1638 |
+
"valid_members": 50,
|
| 1639 |
+
"total_members": 50
|
| 1640 |
+
},
|
| 1641 |
+
"r50_SW_estimate_km": {
|
| 1642 |
+
"mean": 79.65445347877662,
|
| 1643 |
+
"p10": 77.93107568717139,
|
| 1644 |
+
"p90": 81.79846648587137,
|
| 1645 |
+
"valid_members": 50,
|
| 1646 |
+
"total_members": 50
|
| 1647 |
+
},
|
| 1648 |
+
"r50_NW_estimate_km": {
|
| 1649 |
+
"mean": 69.75394802940531,
|
| 1650 |
+
"p10": 68.22806773348098,
|
| 1651 |
+
"p90": 71.6524565334199,
|
| 1652 |
+
"valid_members": 50,
|
| 1653 |
+
"total_members": 50
|
| 1654 |
+
},
|
| 1655 |
+
"r64_NE_estimate_km": {
|
| 1656 |
+
"mean": 46.841696764496646,
|
| 1657 |
+
"p10": 46.15920931188975,
|
| 1658 |
+
"p90": 47.68816561251565,
|
| 1659 |
+
"valid_members": 50,
|
| 1660 |
+
"total_members": 50
|
| 1661 |
+
},
|
| 1662 |
+
"r64_SE_estimate_km": {
|
| 1663 |
+
"mean": 46.841696764496646,
|
| 1664 |
+
"p10": 46.15920931188975,
|
| 1665 |
+
"p90": 47.68816561251565,
|
| 1666 |
+
"valid_members": 50,
|
| 1667 |
+
"total_members": 50
|
| 1668 |
+
},
|
| 1669 |
+
"r64_SW_estimate_km": {
|
| 1670 |
+
"mean": 46.841696764496646,
|
| 1671 |
+
"p10": 46.15920931188975,
|
| 1672 |
+
"p90": 47.68816561251565,
|
| 1673 |
+
"valid_members": 50,
|
| 1674 |
+
"total_members": 50
|
| 1675 |
+
},
|
| 1676 |
+
"r64_NW_estimate_km": {
|
| 1677 |
+
"mean": 43.1236669896308,
|
| 1678 |
+
"p10": 42.56492220322672,
|
| 1679 |
+
"p90": 43.81617754711553,
|
| 1680 |
+
"valid_members": 50,
|
| 1681 |
+
"total_members": 50
|
| 1682 |
+
}
|
| 1683 |
+
},
|
| 1684 |
+
"official_scoring_allowed": false
|
| 1685 |
+
}
|
| 1686 |
+
},
|
| 1687 |
+
{
|
| 1688 |
+
"lead_hours": 78,
|
| 1689 |
+
"valid_time_utc": "2015-08-08T06:00:00Z",
|
| 1690 |
+
"summary": {
|
| 1691 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1692 |
+
"members": 50,
|
| 1693 |
+
"definitions": {
|
| 1694 |
+
"units": "km",
|
| 1695 |
+
"quantity_kind": "radius_not_diameter",
|
| 1696 |
+
"thresholds_kt": [
|
| 1697 |
+
34,
|
| 1698 |
+
50,
|
| 1699 |
+
64
|
| 1700 |
+
],
|
| 1701 |
+
"quadrant_order": [
|
| 1702 |
+
"NE",
|
| 1703 |
+
"SE",
|
| 1704 |
+
"SW",
|
| 1705 |
+
"NW"
|
| 1706 |
+
],
|
| 1707 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1708 |
+
"target_wind_averaging_seconds": 60,
|
| 1709 |
+
"validated_wind_averaging_seconds": null,
|
| 1710 |
+
"validated_surface_height_m": null,
|
| 1711 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1712 |
+
"official_scoring_allowed": false
|
| 1713 |
+
},
|
| 1714 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1715 |
+
"estimates": {
|
| 1716 |
+
"wind_estimate_kt": {
|
| 1717 |
+
"mean": 85.38403077166339,
|
| 1718 |
+
"p10": 84.81703916804015,
|
| 1719 |
+
"p90": 86.07590866076339,
|
| 1720 |
+
"valid_members": 50,
|
| 1721 |
+
"total_members": 50
|
| 1722 |
+
},
|
| 1723 |
+
"rmw_persistence_km": {
|
| 1724 |
+
"mean": 22.223999999999997,
|
| 1725 |
+
"p10": 22.224,
|
| 1726 |
+
"p90": 22.224,
|
| 1727 |
+
"valid_members": 50,
|
| 1728 |
+
"total_members": 50
|
| 1729 |
+
},
|
| 1730 |
+
"r34_NE_estimate_km": {
|
| 1731 |
+
"mean": 169.66699866583397,
|
| 1732 |
+
"p10": 167.93009585280555,
|
| 1733 |
+
"p90": 171.78897618295977,
|
| 1734 |
+
"valid_members": 50,
|
| 1735 |
+
"total_members": 50
|
| 1736 |
+
},
|
| 1737 |
+
"r34_SE_estimate_km": {
|
| 1738 |
+
"mean": 180.52070819234265,
|
| 1739 |
+
"p10": 178.6538573579441,
|
| 1740 |
+
"p90": 182.80152154505717,
|
| 1741 |
+
"valid_members": 50,
|
| 1742 |
+
"total_members": 50
|
| 1743 |
+
},
|
| 1744 |
+
"r34_SW_estimate_km": {
|
| 1745 |
+
"mean": 180.52070819234265,
|
| 1746 |
+
"p10": 178.6538573579441,
|
| 1747 |
+
"p90": 182.80152154505717,
|
| 1748 |
+
"valid_members": 50,
|
| 1749 |
+
"total_members": 50
|
| 1750 |
+
},
|
| 1751 |
+
"r34_NW_estimate_km": {
|
| 1752 |
+
"mean": 156.04985442867738,
|
| 1753 |
+
"p10": 154.67752447769962,
|
| 1754 |
+
"p90": 157.72563905321667,
|
| 1755 |
+
"valid_members": 50,
|
| 1756 |
+
"total_members": 50
|
| 1757 |
+
},
|
| 1758 |
+
"r50_NE_estimate_km": {
|
| 1759 |
+
"mean": 66.72579670426644,
|
| 1760 |
+
"p10": 65.81599787345249,
|
| 1761 |
+
"p90": 67.83853962483845,
|
| 1762 |
+
"valid_members": 50,
|
| 1763 |
+
"total_members": 50
|
| 1764 |
+
},
|
| 1765 |
+
"r50_SE_estimate_km": {
|
| 1766 |
+
"mean": 66.72579670426644,
|
| 1767 |
+
"p10": 65.81599787345249,
|
| 1768 |
+
"p90": 67.83853962483845,
|
| 1769 |
+
"valid_members": 50,
|
| 1770 |
+
"total_members": 50
|
| 1771 |
+
},
|
| 1772 |
+
"r50_SW_estimate_km": {
|
| 1773 |
+
"mean": 66.72579670426644,
|
| 1774 |
+
"p10": 65.81599787345249,
|
| 1775 |
+
"p90": 67.83853962483845,
|
| 1776 |
+
"valid_members": 50,
|
| 1777 |
+
"total_members": 50
|
| 1778 |
+
},
|
| 1779 |
+
"r50_NW_estimate_km": {
|
| 1780 |
+
"mean": 59.065578051146424,
|
| 1781 |
+
"p10": 58.34946258143764,
|
| 1782 |
+
"p90": 59.94099954644901,
|
| 1783 |
+
"valid_members": 50,
|
| 1784 |
+
"total_members": 50
|
| 1785 |
+
},
|
| 1786 |
+
"r64_NE_estimate_km": {
|
| 1787 |
+
"mean": 40.18303805285049,
|
| 1788 |
+
"p10": 39.63514678972978,
|
| 1789 |
+
"p90": 40.85314456830446,
|
| 1790 |
+
"valid_members": 50,
|
| 1791 |
+
"total_members": 50
|
| 1792 |
+
},
|
| 1793 |
+
"r64_SE_estimate_km": {
|
| 1794 |
+
"mean": 40.18303805285049,
|
| 1795 |
+
"p10": 39.63514678972978,
|
| 1796 |
+
"p90": 40.85314456830446,
|
| 1797 |
+
"valid_members": 50,
|
| 1798 |
+
"total_members": 50
|
| 1799 |
+
},
|
| 1800 |
+
"r64_SW_estimate_km": {
|
| 1801 |
+
"mean": 40.18303805285049,
|
| 1802 |
+
"p10": 39.63514678972978,
|
| 1803 |
+
"p90": 40.85314456830446,
|
| 1804 |
+
"valid_members": 50,
|
| 1805 |
+
"total_members": 50
|
| 1806 |
+
},
|
| 1807 |
+
"r64_NW_estimate_km": {
|
| 1808 |
+
"mean": 37.628011873365395,
|
| 1809 |
+
"p10": 37.171807053468946,
|
| 1810 |
+
"p90": 38.18570336655489,
|
| 1811 |
+
"valid_members": 50,
|
| 1812 |
+
"total_members": 50
|
| 1813 |
+
}
|
| 1814 |
+
},
|
| 1815 |
+
"official_scoring_allowed": false
|
| 1816 |
+
}
|
| 1817 |
+
},
|
| 1818 |
+
{
|
| 1819 |
+
"lead_hours": 84,
|
| 1820 |
+
"valid_time_utc": "2015-08-08T12:00:00Z",
|
| 1821 |
+
"summary": {
|
| 1822 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1823 |
+
"members": 50,
|
| 1824 |
+
"definitions": {
|
| 1825 |
+
"units": "km",
|
| 1826 |
+
"quantity_kind": "radius_not_diameter",
|
| 1827 |
+
"thresholds_kt": [
|
| 1828 |
+
34,
|
| 1829 |
+
50,
|
| 1830 |
+
64
|
| 1831 |
+
],
|
| 1832 |
+
"quadrant_order": [
|
| 1833 |
+
"NE",
|
| 1834 |
+
"SE",
|
| 1835 |
+
"SW",
|
| 1836 |
+
"NW"
|
| 1837 |
+
],
|
| 1838 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1839 |
+
"target_wind_averaging_seconds": 60,
|
| 1840 |
+
"validated_wind_averaging_seconds": null,
|
| 1841 |
+
"validated_surface_height_m": null,
|
| 1842 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1843 |
+
"official_scoring_allowed": false
|
| 1844 |
+
},
|
| 1845 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1846 |
+
"estimates": {
|
| 1847 |
+
"wind_estimate_kt": {
|
| 1848 |
+
"mean": 79.96418570599208,
|
| 1849 |
+
"p10": 79.27065772170639,
|
| 1850 |
+
"p90": 80.64122469373739,
|
| 1851 |
+
"valid_members": 50,
|
| 1852 |
+
"total_members": 50
|
| 1853 |
+
},
|
| 1854 |
+
"rmw_persistence_km": {
|
| 1855 |
+
"mean": 22.223999999999997,
|
| 1856 |
+
"p10": 22.224,
|
| 1857 |
+
"p90": 22.224,
|
| 1858 |
+
"valid_members": 50,
|
| 1859 |
+
"total_members": 50
|
| 1860 |
+
},
|
| 1861 |
+
"r34_NE_estimate_km": {
|
| 1862 |
+
"mean": 153.3482491787544,
|
| 1863 |
+
"p10": 151.29961059055242,
|
| 1864 |
+
"p90": 155.35232806549664,
|
| 1865 |
+
"valid_members": 50,
|
| 1866 |
+
"total_members": 50
|
| 1867 |
+
},
|
| 1868 |
+
"r34_SE_estimate_km": {
|
| 1869 |
+
"mean": 162.98981388471736,
|
| 1870 |
+
"p10": 160.7902276482048,
|
| 1871 |
+
"p90": 165.14168651282623,
|
| 1872 |
+
"valid_members": 50,
|
| 1873 |
+
"total_members": 50
|
| 1874 |
+
},
|
| 1875 |
+
"r34_SW_estimate_km": {
|
| 1876 |
+
"mean": 162.98981388471736,
|
| 1877 |
+
"p10": 160.7902276482048,
|
| 1878 |
+
"p90": 165.14168651282623,
|
| 1879 |
+
"valid_members": 50,
|
| 1880 |
+
"total_members": 50
|
| 1881 |
+
},
|
| 1882 |
+
"r34_NW_estimate_km": {
|
| 1883 |
+
"mean": 143.06691332657044,
|
| 1884 |
+
"p10": 141.42448198186915,
|
| 1885 |
+
"p90": 144.67228543542555,
|
| 1886 |
+
"valid_members": 50,
|
| 1887 |
+
"total_members": 50
|
| 1888 |
+
},
|
| 1889 |
+
"r50_NE_estimate_km": {
|
| 1890 |
+
"mean": 58.31546399993611,
|
| 1891 |
+
"p10": 57.27864330600338,
|
| 1892 |
+
"p90": 59.33171987617627,
|
| 1893 |
+
"valid_members": 50,
|
| 1894 |
+
"total_members": 50
|
| 1895 |
+
},
|
| 1896 |
+
"r50_SE_estimate_km": {
|
| 1897 |
+
"mean": 58.31546399993611,
|
| 1898 |
+
"p10": 57.27864330600338,
|
| 1899 |
+
"p90": 59.33171987617627,
|
| 1900 |
+
"valid_members": 50,
|
| 1901 |
+
"total_members": 50
|
| 1902 |
+
},
|
| 1903 |
+
"r50_SW_estimate_km": {
|
| 1904 |
+
"mean": 58.31546399993611,
|
| 1905 |
+
"p10": 57.27864330600338,
|
| 1906 |
+
"p90": 59.33171987617627,
|
| 1907 |
+
"valid_members": 50,
|
| 1908 |
+
"total_members": 50
|
| 1909 |
+
},
|
| 1910 |
+
"r50_NW_estimate_km": {
|
| 1911 |
+
"mean": 52.39784967234895,
|
| 1912 |
+
"p10": 51.56917975364689,
|
| 1913 |
+
"p90": 53.20937684405014,
|
| 1914 |
+
"valid_members": 50,
|
| 1915 |
+
"total_members": 50
|
| 1916 |
+
},
|
| 1917 |
+
"r64_NE_estimate_km": {
|
| 1918 |
+
"mean": 35.118239492361674,
|
| 1919 |
+
"p10": 34.49385421026554,
|
| 1920 |
+
"p90": 35.730240406002025,
|
| 1921 |
+
"valid_members": 50,
|
| 1922 |
+
"total_members": 50
|
| 1923 |
+
},
|
| 1924 |
+
"r64_SE_estimate_km": {
|
| 1925 |
+
"mean": 35.118239492361674,
|
| 1926 |
+
"p10": 34.49385421026554,
|
| 1927 |
+
"p90": 35.730240406002025,
|
| 1928 |
+
"valid_members": 50,
|
| 1929 |
+
"total_members": 50
|
| 1930 |
+
},
|
| 1931 |
+
"r64_SW_estimate_km": {
|
| 1932 |
+
"mean": 35.118239492361674,
|
| 1933 |
+
"p10": 34.49385421026554,
|
| 1934 |
+
"p90": 35.730240406002025,
|
| 1935 |
+
"valid_members": 50,
|
| 1936 |
+
"total_members": 50
|
| 1937 |
+
},
|
| 1938 |
+
"r64_NW_estimate_km": {
|
| 1939 |
+
"mean": 33.38030329446159,
|
| 1940 |
+
"p10": 32.85239511902613,
|
| 1941 |
+
"p90": 33.89729060009483,
|
| 1942 |
+
"valid_members": 50,
|
| 1943 |
+
"total_members": 50
|
| 1944 |
+
}
|
| 1945 |
+
},
|
| 1946 |
+
"official_scoring_allowed": false
|
| 1947 |
+
}
|
| 1948 |
+
},
|
| 1949 |
+
{
|
| 1950 |
+
"lead_hours": 90,
|
| 1951 |
+
"valid_time_utc": "2015-08-08T18:00:00Z",
|
| 1952 |
+
"summary": {
|
| 1953 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 1954 |
+
"members": 50,
|
| 1955 |
+
"definitions": {
|
| 1956 |
+
"units": "km",
|
| 1957 |
+
"quantity_kind": "radius_not_diameter",
|
| 1958 |
+
"thresholds_kt": [
|
| 1959 |
+
34,
|
| 1960 |
+
50,
|
| 1961 |
+
64
|
| 1962 |
+
],
|
| 1963 |
+
"quadrant_order": [
|
| 1964 |
+
"NE",
|
| 1965 |
+
"SE",
|
| 1966 |
+
"SW",
|
| 1967 |
+
"NW"
|
| 1968 |
+
],
|
| 1969 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 1970 |
+
"target_wind_averaging_seconds": 60,
|
| 1971 |
+
"validated_wind_averaging_seconds": null,
|
| 1972 |
+
"validated_surface_height_m": null,
|
| 1973 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 1974 |
+
"official_scoring_allowed": false
|
| 1975 |
+
},
|
| 1976 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 1977 |
+
"estimates": {
|
| 1978 |
+
"wind_estimate_kt": {
|
| 1979 |
+
"mean": 72.6174667238731,
|
| 1980 |
+
"p10": 71.49620550344962,
|
| 1981 |
+
"p90": 73.62616574176438,
|
| 1982 |
+
"valid_members": 50,
|
| 1983 |
+
"total_members": 50
|
| 1984 |
+
},
|
| 1985 |
+
"rmw_persistence_km": {
|
| 1986 |
+
"mean": 22.223999999999997,
|
| 1987 |
+
"p10": 22.224,
|
| 1988 |
+
"p90": 22.224,
|
| 1989 |
+
"valid_members": 50,
|
| 1990 |
+
"total_members": 50
|
| 1991 |
+
},
|
| 1992 |
+
"r34_NE_estimate_km": {
|
| 1993 |
+
"mean": 120.37668992434651,
|
| 1994 |
+
"p10": 115.19635198621933,
|
| 1995 |
+
"p90": 125.09416770771728,
|
| 1996 |
+
"valid_members": 50,
|
| 1997 |
+
"total_members": 50
|
| 1998 |
+
},
|
| 1999 |
+
"r34_SE_estimate_km": {
|
| 2000 |
+
"mean": 125.60359721508206,
|
| 2001 |
+
"p10": 119.7315642352516,
|
| 2002 |
+
"p90": 130.9598246172494,
|
| 2003 |
+
"valid_members": 50,
|
| 2004 |
+
"total_members": 50
|
| 2005 |
+
},
|
| 2006 |
+
"r34_SW_estimate_km": {
|
| 2007 |
+
"mean": 125.60359721508206,
|
| 2008 |
+
"p10": 119.7315642352516,
|
| 2009 |
+
"p90": 130.9598246172494,
|
| 2010 |
+
"valid_members": 50,
|
| 2011 |
+
"total_members": 50
|
| 2012 |
+
},
|
| 2013 |
+
"r34_NW_estimate_km": {
|
| 2014 |
+
"mean": 110.54991926967524,
|
| 2015 |
+
"p10": 105.32501445138654,
|
| 2016 |
+
"p90": 115.31695162713567,
|
| 2017 |
+
"valid_members": 50,
|
| 2018 |
+
"total_members": 50
|
| 2019 |
+
},
|
| 2020 |
+
"r50_NE_estimate_km": {
|
| 2021 |
+
"mean": 47.844708142069166,
|
| 2022 |
+
"p10": 46.33354756990774,
|
| 2023 |
+
"p90": 49.21387372426795,
|
| 2024 |
+
"valid_members": 50,
|
| 2025 |
+
"total_members": 50
|
| 2026 |
+
},
|
| 2027 |
+
"r50_SE_estimate_km": {
|
| 2028 |
+
"mean": 47.844708142069166,
|
| 2029 |
+
"p10": 46.33354756990774,
|
| 2030 |
+
"p90": 49.21387372426795,
|
| 2031 |
+
"valid_members": 50,
|
| 2032 |
+
"total_members": 50
|
| 2033 |
+
},
|
| 2034 |
+
"r50_SW_estimate_km": {
|
| 2035 |
+
"mean": 47.844708142069166,
|
| 2036 |
+
"p10": 46.33354756990774,
|
| 2037 |
+
"p90": 49.21387372426795,
|
| 2038 |
+
"valid_members": 50,
|
| 2039 |
+
"total_members": 50
|
| 2040 |
+
},
|
| 2041 |
+
"r50_NW_estimate_km": {
|
| 2042 |
+
"mean": 43.94297310986419,
|
| 2043 |
+
"p10": 42.70782519673443,
|
| 2044 |
+
"p90": 45.06034244466918,
|
| 2045 |
+
"valid_members": 50,
|
| 2046 |
+
"total_members": 50
|
| 2047 |
+
},
|
| 2048 |
+
"r64_NE_estimate_km": {
|
| 2049 |
+
"mean": 28.812630539597045,
|
| 2050 |
+
"p10": 27.902592356849553,
|
| 2051 |
+
"p90": 29.637157715105904,
|
| 2052 |
+
"valid_members": 50,
|
| 2053 |
+
"total_members": 50
|
| 2054 |
+
},
|
| 2055 |
+
"r64_SE_estimate_km": {
|
| 2056 |
+
"mean": 28.812630539597045,
|
| 2057 |
+
"p10": 27.902592356849553,
|
| 2058 |
+
"p90": 29.637157715105904,
|
| 2059 |
+
"valid_members": 50,
|
| 2060 |
+
"total_members": 50
|
| 2061 |
+
},
|
| 2062 |
+
"r64_SW_estimate_km": {
|
| 2063 |
+
"mean": 28.812630539597045,
|
| 2064 |
+
"p10": 27.902592356849553,
|
| 2065 |
+
"p90": 29.637157715105904,
|
| 2066 |
+
"valid_members": 50,
|
| 2067 |
+
"total_members": 50
|
| 2068 |
+
},
|
| 2069 |
+
"r64_NW_estimate_km": {
|
| 2070 |
+
"mean": 27.99408333051696,
|
| 2071 |
+
"p10": 27.207226384829163,
|
| 2072 |
+
"p90": 28.705908863834676,
|
| 2073 |
+
"valid_members": 50,
|
| 2074 |
+
"total_members": 50
|
| 2075 |
+
}
|
| 2076 |
+
},
|
| 2077 |
+
"official_scoring_allowed": false
|
| 2078 |
+
}
|
| 2079 |
+
},
|
| 2080 |
+
{
|
| 2081 |
+
"lead_hours": 96,
|
| 2082 |
+
"valid_time_utc": "2015-08-09T00:00:00Z",
|
| 2083 |
+
"summary": {
|
| 2084 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2085 |
+
"members": 50,
|
| 2086 |
+
"definitions": {
|
| 2087 |
+
"units": "km",
|
| 2088 |
+
"quantity_kind": "radius_not_diameter",
|
| 2089 |
+
"thresholds_kt": [
|
| 2090 |
+
34,
|
| 2091 |
+
50,
|
| 2092 |
+
64
|
| 2093 |
+
],
|
| 2094 |
+
"quadrant_order": [
|
| 2095 |
+
"NE",
|
| 2096 |
+
"SE",
|
| 2097 |
+
"SW",
|
| 2098 |
+
"NW"
|
| 2099 |
+
],
|
| 2100 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2101 |
+
"target_wind_averaging_seconds": 60,
|
| 2102 |
+
"validated_wind_averaging_seconds": null,
|
| 2103 |
+
"validated_surface_height_m": null,
|
| 2104 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2105 |
+
"official_scoring_allowed": false
|
| 2106 |
+
},
|
| 2107 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2108 |
+
"estimates": {
|
| 2109 |
+
"wind_estimate_kt": {
|
| 2110 |
+
"mean": 64.70444483413542,
|
| 2111 |
+
"p10": 63.29356202543002,
|
| 2112 |
+
"p90": 66.33251881782722,
|
| 2113 |
+
"valid_members": 50,
|
| 2114 |
+
"total_members": 50
|
| 2115 |
+
},
|
| 2116 |
+
"rmw_persistence_km": {
|
| 2117 |
+
"mean": 22.223999999999997,
|
| 2118 |
+
"p10": 22.224,
|
| 2119 |
+
"p90": 22.224,
|
| 2120 |
+
"valid_members": 50,
|
| 2121 |
+
"total_members": 50
|
| 2122 |
+
},
|
| 2123 |
+
"r34_NE_estimate_km": {
|
| 2124 |
+
"mean": 87.10027526425868,
|
| 2125 |
+
"p10": 81.8158330510499,
|
| 2126 |
+
"p90": 93.33082349168137,
|
| 2127 |
+
"valid_members": 50,
|
| 2128 |
+
"total_members": 50
|
| 2129 |
+
},
|
| 2130 |
+
"r34_SE_estimate_km": {
|
| 2131 |
+
"mean": 88.35149639922233,
|
| 2132 |
+
"p10": 82.52968511146705,
|
| 2133 |
+
"p90": 95.23569961503206,
|
| 2134 |
+
"valid_members": 50,
|
| 2135 |
+
"total_members": 50
|
| 2136 |
+
},
|
| 2137 |
+
"r34_SW_estimate_km": {
|
| 2138 |
+
"mean": 88.35149639922233,
|
| 2139 |
+
"p10": 82.52968511146705,
|
| 2140 |
+
"p90": 95.23569961503206,
|
| 2141 |
+
"valid_members": 50,
|
| 2142 |
+
"total_members": 50
|
| 2143 |
+
},
|
| 2144 |
+
"r34_NW_estimate_km": {
|
| 2145 |
+
"mean": 77.46001124922105,
|
| 2146 |
+
"p10": 72.300120235403,
|
| 2147 |
+
"p90": 83.56396390016515,
|
| 2148 |
+
"valid_members": 50,
|
| 2149 |
+
"total_members": 50
|
| 2150 |
+
},
|
| 2151 |
+
"r50_NE_estimate_km": {
|
| 2152 |
+
"mean": 37.754370159592234,
|
| 2153 |
+
"p10": 36.07199626712114,
|
| 2154 |
+
"p90": 39.720248011526294,
|
| 2155 |
+
"valid_members": 50,
|
| 2156 |
+
"total_members": 50
|
| 2157 |
+
},
|
| 2158 |
+
"r50_SE_estimate_km": {
|
| 2159 |
+
"mean": 37.754370159592234,
|
| 2160 |
+
"p10": 36.07199626712114,
|
| 2161 |
+
"p90": 39.720248011526294,
|
| 2162 |
+
"valid_members": 50,
|
| 2163 |
+
"total_members": 50
|
| 2164 |
+
},
|
| 2165 |
+
"r50_SW_estimate_km": {
|
| 2166 |
+
"mean": 37.754370159592234,
|
| 2167 |
+
"p10": 36.07199626712114,
|
| 2168 |
+
"p90": 39.720248011526294,
|
| 2169 |
+
"valid_members": 50,
|
| 2170 |
+
"total_members": 50
|
| 2171 |
+
},
|
| 2172 |
+
"r50_NW_estimate_km": {
|
| 2173 |
+
"mean": 35.597347345809645,
|
| 2174 |
+
"p10": 34.18540276497348,
|
| 2175 |
+
"p90": 37.24275686744874,
|
| 2176 |
+
"valid_members": 50,
|
| 2177 |
+
"total_members": 50
|
| 2178 |
+
},
|
| 2179 |
+
"r64_NE_estimate_km": {
|
| 2180 |
+
"mean": 15.294058015398704,
|
| 2181 |
+
"p10": 0.0,
|
| 2182 |
+
"p90": 23.919987713144337,
|
| 2183 |
+
"valid_members": 50,
|
| 2184 |
+
"total_members": 50
|
| 2185 |
+
},
|
| 2186 |
+
"r64_SE_estimate_km": {
|
| 2187 |
+
"mean": 15.294058015398704,
|
| 2188 |
+
"p10": 0.0,
|
| 2189 |
+
"p90": 23.919987713144337,
|
| 2190 |
+
"valid_members": 50,
|
| 2191 |
+
"total_members": 50
|
| 2192 |
+
},
|
| 2193 |
+
"r64_SW_estimate_km": {
|
| 2194 |
+
"mean": 15.294058015398704,
|
| 2195 |
+
"p10": 0.0,
|
| 2196 |
+
"p90": 23.919987713144337,
|
| 2197 |
+
"valid_members": 50,
|
| 2198 |
+
"total_members": 50
|
| 2199 |
+
},
|
| 2200 |
+
"r64_NW_estimate_km": {
|
| 2201 |
+
"mean": 15.222880636042595,
|
| 2202 |
+
"p10": 0.0,
|
| 2203 |
+
"p90": 23.725678201129913,
|
| 2204 |
+
"valid_members": 50,
|
| 2205 |
+
"total_members": 50
|
| 2206 |
+
}
|
| 2207 |
+
},
|
| 2208 |
+
"official_scoring_allowed": false
|
| 2209 |
+
}
|
| 2210 |
+
},
|
| 2211 |
+
{
|
| 2212 |
+
"lead_hours": 102,
|
| 2213 |
+
"valid_time_utc": "2015-08-09T06:00:00Z",
|
| 2214 |
+
"summary": {
|
| 2215 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2216 |
+
"members": 50,
|
| 2217 |
+
"definitions": {
|
| 2218 |
+
"units": "km",
|
| 2219 |
+
"quantity_kind": "radius_not_diameter",
|
| 2220 |
+
"thresholds_kt": [
|
| 2221 |
+
34,
|
| 2222 |
+
50,
|
| 2223 |
+
64
|
| 2224 |
+
],
|
| 2225 |
+
"quadrant_order": [
|
| 2226 |
+
"NE",
|
| 2227 |
+
"SE",
|
| 2228 |
+
"SW",
|
| 2229 |
+
"NW"
|
| 2230 |
+
],
|
| 2231 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2232 |
+
"target_wind_averaging_seconds": 60,
|
| 2233 |
+
"validated_wind_averaging_seconds": null,
|
| 2234 |
+
"validated_surface_height_m": null,
|
| 2235 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2236 |
+
"official_scoring_allowed": false
|
| 2237 |
+
},
|
| 2238 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2239 |
+
"estimates": {
|
| 2240 |
+
"wind_estimate_kt": {
|
| 2241 |
+
"mean": 54.08197358509115,
|
| 2242 |
+
"p10": 52.36953883912631,
|
| 2243 |
+
"p90": 56.197356469802514,
|
| 2244 |
+
"valid_members": 50,
|
| 2245 |
+
"total_members": 50
|
| 2246 |
+
},
|
| 2247 |
+
"rmw_persistence_km": {
|
| 2248 |
+
"mean": 22.223999999999997,
|
| 2249 |
+
"p10": 22.224,
|
| 2250 |
+
"p90": 22.224,
|
| 2251 |
+
"valid_members": 50,
|
| 2252 |
+
"total_members": 50
|
| 2253 |
+
},
|
| 2254 |
+
"r34_NE_estimate_km": {
|
| 2255 |
+
"mean": 57.71481502858911,
|
| 2256 |
+
"p10": 53.979058345131754,
|
| 2257 |
+
"p90": 62.39734183314677,
|
| 2258 |
+
"valid_members": 50,
|
| 2259 |
+
"total_members": 50
|
| 2260 |
+
},
|
| 2261 |
+
"r34_SE_estimate_km": {
|
| 2262 |
+
"mean": 57.71481502858911,
|
| 2263 |
+
"p10": 53.979058345131754,
|
| 2264 |
+
"p90": 62.39734183314677,
|
| 2265 |
+
"valid_members": 50,
|
| 2266 |
+
"total_members": 50
|
| 2267 |
+
},
|
| 2268 |
+
"r34_SW_estimate_km": {
|
| 2269 |
+
"mean": 57.71481502858911,
|
| 2270 |
+
"p10": 53.979058345131754,
|
| 2271 |
+
"p90": 62.39734183314677,
|
| 2272 |
+
"valid_members": 50,
|
| 2273 |
+
"total_members": 50
|
| 2274 |
+
},
|
| 2275 |
+
"r34_NW_estimate_km": {
|
| 2276 |
+
"mean": 51.91002379416582,
|
| 2277 |
+
"p10": 48.91934578499617,
|
| 2278 |
+
"p90": 55.646863686861266,
|
| 2279 |
+
"valid_members": 50,
|
| 2280 |
+
"total_members": 50
|
| 2281 |
+
},
|
| 2282 |
+
"r50_NE_estimate_km": {
|
| 2283 |
+
"mean": 26.133371020094,
|
| 2284 |
+
"p10": 24.44181374140869,
|
| 2285 |
+
"p90": 28.25362749556611,
|
| 2286 |
+
"valid_members": 50,
|
| 2287 |
+
"total_members": 50
|
| 2288 |
+
},
|
| 2289 |
+
"r50_SE_estimate_km": {
|
| 2290 |
+
"mean": 26.133371020094,
|
| 2291 |
+
"p10": 24.44181374140869,
|
| 2292 |
+
"p90": 28.25362749556611,
|
| 2293 |
+
"valid_members": 50,
|
| 2294 |
+
"total_members": 50
|
| 2295 |
+
},
|
| 2296 |
+
"r50_SW_estimate_km": {
|
| 2297 |
+
"mean": 26.133371020094,
|
| 2298 |
+
"p10": 24.44181374140869,
|
| 2299 |
+
"p90": 28.25362749556611,
|
| 2300 |
+
"valid_members": 50,
|
| 2301 |
+
"total_members": 50
|
| 2302 |
+
},
|
| 2303 |
+
"r50_NW_estimate_km": {
|
| 2304 |
+
"mean": 25.66387503924344,
|
| 2305 |
+
"p10": 24.185309222855413,
|
| 2306 |
+
"p90": 27.51133695581021,
|
| 2307 |
+
"valid_members": 50,
|
| 2308 |
+
"total_members": 50
|
| 2309 |
+
},
|
| 2310 |
+
"r64_NE_estimate_km": {
|
| 2311 |
+
"mean": 0.0,
|
| 2312 |
+
"p10": 0.0,
|
| 2313 |
+
"p90": 0.0,
|
| 2314 |
+
"valid_members": 50,
|
| 2315 |
+
"total_members": 50
|
| 2316 |
+
},
|
| 2317 |
+
"r64_SE_estimate_km": {
|
| 2318 |
+
"mean": 0.0,
|
| 2319 |
+
"p10": 0.0,
|
| 2320 |
+
"p90": 0.0,
|
| 2321 |
+
"valid_members": 50,
|
| 2322 |
+
"total_members": 50
|
| 2323 |
+
},
|
| 2324 |
+
"r64_SW_estimate_km": {
|
| 2325 |
+
"mean": 0.0,
|
| 2326 |
+
"p10": 0.0,
|
| 2327 |
+
"p90": 0.0,
|
| 2328 |
+
"valid_members": 50,
|
| 2329 |
+
"total_members": 50
|
| 2330 |
+
},
|
| 2331 |
+
"r64_NW_estimate_km": {
|
| 2332 |
+
"mean": 0.0,
|
| 2333 |
+
"p10": 0.0,
|
| 2334 |
+
"p90": 0.0,
|
| 2335 |
+
"valid_members": 50,
|
| 2336 |
+
"total_members": 50
|
| 2337 |
+
}
|
| 2338 |
+
},
|
| 2339 |
+
"official_scoring_allowed": false
|
| 2340 |
+
}
|
| 2341 |
+
},
|
| 2342 |
+
{
|
| 2343 |
+
"lead_hours": 108,
|
| 2344 |
+
"valid_time_utc": "2015-08-09T12:00:00Z",
|
| 2345 |
+
"summary": {
|
| 2346 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2347 |
+
"members": 50,
|
| 2348 |
+
"definitions": {
|
| 2349 |
+
"units": "km",
|
| 2350 |
+
"quantity_kind": "radius_not_diameter",
|
| 2351 |
+
"thresholds_kt": [
|
| 2352 |
+
34,
|
| 2353 |
+
50,
|
| 2354 |
+
64
|
| 2355 |
+
],
|
| 2356 |
+
"quadrant_order": [
|
| 2357 |
+
"NE",
|
| 2358 |
+
"SE",
|
| 2359 |
+
"SW",
|
| 2360 |
+
"NW"
|
| 2361 |
+
],
|
| 2362 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2363 |
+
"target_wind_averaging_seconds": 60,
|
| 2364 |
+
"validated_wind_averaging_seconds": null,
|
| 2365 |
+
"validated_surface_height_m": null,
|
| 2366 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2367 |
+
"official_scoring_allowed": false
|
| 2368 |
+
},
|
| 2369 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2370 |
+
"estimates": {
|
| 2371 |
+
"wind_estimate_kt": {
|
| 2372 |
+
"mean": 43.63975707824105,
|
| 2373 |
+
"p10": 42.117731376028225,
|
| 2374 |
+
"p90": 45.38416307928769,
|
| 2375 |
+
"valid_members": 50,
|
| 2376 |
+
"total_members": 50
|
| 2377 |
+
},
|
| 2378 |
+
"rmw_persistence_km": {
|
| 2379 |
+
"mean": 22.223999999999997,
|
| 2380 |
+
"p10": 22.224,
|
| 2381 |
+
"p90": 22.224,
|
| 2382 |
+
"valid_members": 50,
|
| 2383 |
+
"total_members": 50
|
| 2384 |
+
},
|
| 2385 |
+
"r34_NE_estimate_km": {
|
| 2386 |
+
"mean": 37.15052237512766,
|
| 2387 |
+
"p10": 34.502608553229,
|
| 2388 |
+
"p90": 40.22488814064746,
|
| 2389 |
+
"valid_members": 50,
|
| 2390 |
+
"total_members": 50
|
| 2391 |
+
},
|
| 2392 |
+
"r34_SE_estimate_km": {
|
| 2393 |
+
"mean": 37.15052237512766,
|
| 2394 |
+
"p10": 34.502608553229,
|
| 2395 |
+
"p90": 40.22488814064746,
|
| 2396 |
+
"valid_members": 50,
|
| 2397 |
+
"total_members": 50
|
| 2398 |
+
},
|
| 2399 |
+
"r34_SW_estimate_km": {
|
| 2400 |
+
"mean": 37.15052237512766,
|
| 2401 |
+
"p10": 34.502608553229,
|
| 2402 |
+
"p90": 40.22488814064746,
|
| 2403 |
+
"valid_members": 50,
|
| 2404 |
+
"total_members": 50
|
| 2405 |
+
},
|
| 2406 |
+
"r34_NW_estimate_km": {
|
| 2407 |
+
"mean": 35.08582789452084,
|
| 2408 |
+
"p10": 32.85980566905332,
|
| 2409 |
+
"p90": 37.66314979209932,
|
| 2410 |
+
"valid_members": 50,
|
| 2411 |
+
"total_members": 50
|
| 2412 |
+
},
|
| 2413 |
+
"r50_NE_estimate_km": {
|
| 2414 |
+
"mean": 0.0,
|
| 2415 |
+
"p10": 0.0,
|
| 2416 |
+
"p90": 0.0,
|
| 2417 |
+
"valid_members": 50,
|
| 2418 |
+
"total_members": 50
|
| 2419 |
+
},
|
| 2420 |
+
"r50_SE_estimate_km": {
|
| 2421 |
+
"mean": 0.0,
|
| 2422 |
+
"p10": 0.0,
|
| 2423 |
+
"p90": 0.0,
|
| 2424 |
+
"valid_members": 50,
|
| 2425 |
+
"total_members": 50
|
| 2426 |
+
},
|
| 2427 |
+
"r50_SW_estimate_km": {
|
| 2428 |
+
"mean": 0.0,
|
| 2429 |
+
"p10": 0.0,
|
| 2430 |
+
"p90": 0.0,
|
| 2431 |
+
"valid_members": 50,
|
| 2432 |
+
"total_members": 50
|
| 2433 |
+
},
|
| 2434 |
+
"r50_NW_estimate_km": {
|
| 2435 |
+
"mean": 0.0,
|
| 2436 |
+
"p10": 0.0,
|
| 2437 |
+
"p90": 0.0,
|
| 2438 |
+
"valid_members": 50,
|
| 2439 |
+
"total_members": 50
|
| 2440 |
+
},
|
| 2441 |
+
"r64_NE_estimate_km": {
|
| 2442 |
+
"mean": 0.0,
|
| 2443 |
+
"p10": 0.0,
|
| 2444 |
+
"p90": 0.0,
|
| 2445 |
+
"valid_members": 50,
|
| 2446 |
+
"total_members": 50
|
| 2447 |
+
},
|
| 2448 |
+
"r64_SE_estimate_km": {
|
| 2449 |
+
"mean": 0.0,
|
| 2450 |
+
"p10": 0.0,
|
| 2451 |
+
"p90": 0.0,
|
| 2452 |
+
"valid_members": 50,
|
| 2453 |
+
"total_members": 50
|
| 2454 |
+
},
|
| 2455 |
+
"r64_SW_estimate_km": {
|
| 2456 |
+
"mean": 0.0,
|
| 2457 |
+
"p10": 0.0,
|
| 2458 |
+
"p90": 0.0,
|
| 2459 |
+
"valid_members": 50,
|
| 2460 |
+
"total_members": 50
|
| 2461 |
+
},
|
| 2462 |
+
"r64_NW_estimate_km": {
|
| 2463 |
+
"mean": 0.0,
|
| 2464 |
+
"p10": 0.0,
|
| 2465 |
+
"p90": 0.0,
|
| 2466 |
+
"valid_members": 50,
|
| 2467 |
+
"total_members": 50
|
| 2468 |
+
}
|
| 2469 |
+
},
|
| 2470 |
+
"official_scoring_allowed": false
|
| 2471 |
+
}
|
| 2472 |
+
},
|
| 2473 |
+
{
|
| 2474 |
+
"lead_hours": 114,
|
| 2475 |
+
"valid_time_utc": "2015-08-09T18:00:00Z",
|
| 2476 |
+
"summary": {
|
| 2477 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2478 |
+
"members": 50,
|
| 2479 |
+
"definitions": {
|
| 2480 |
+
"units": "km",
|
| 2481 |
+
"quantity_kind": "radius_not_diameter",
|
| 2482 |
+
"thresholds_kt": [
|
| 2483 |
+
34,
|
| 2484 |
+
50,
|
| 2485 |
+
64
|
| 2486 |
+
],
|
| 2487 |
+
"quadrant_order": [
|
| 2488 |
+
"NE",
|
| 2489 |
+
"SE",
|
| 2490 |
+
"SW",
|
| 2491 |
+
"NW"
|
| 2492 |
+
],
|
| 2493 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2494 |
+
"target_wind_averaging_seconds": 60,
|
| 2495 |
+
"validated_wind_averaging_seconds": null,
|
| 2496 |
+
"validated_surface_height_m": null,
|
| 2497 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2498 |
+
"official_scoring_allowed": false
|
| 2499 |
+
},
|
| 2500 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2501 |
+
"estimates": {
|
| 2502 |
+
"wind_estimate_kt": {
|
| 2503 |
+
"mean": 37.78369428158114,
|
| 2504 |
+
"p10": 36.67053460219384,
|
| 2505 |
+
"p90": 38.75127228951492,
|
| 2506 |
+
"valid_members": 50,
|
| 2507 |
+
"total_members": 50
|
| 2508 |
+
},
|
| 2509 |
+
"rmw_persistence_km": {
|
| 2510 |
+
"mean": 22.223999999999997,
|
| 2511 |
+
"p10": 22.224,
|
| 2512 |
+
"p90": 22.224,
|
| 2513 |
+
"valid_members": 50,
|
| 2514 |
+
"total_members": 50
|
| 2515 |
+
},
|
| 2516 |
+
"r34_NE_estimate_km": {
|
| 2517 |
+
"mean": 27.620131820259488,
|
| 2518 |
+
"p10": 25.95885172589214,
|
| 2519 |
+
"p90": 29.07545206201911,
|
| 2520 |
+
"valid_members": 50,
|
| 2521 |
+
"total_members": 50
|
| 2522 |
+
},
|
| 2523 |
+
"r34_SE_estimate_km": {
|
| 2524 |
+
"mean": 27.620131820259488,
|
| 2525 |
+
"p10": 25.95885172589214,
|
| 2526 |
+
"p90": 29.07545206201911,
|
| 2527 |
+
"valid_members": 50,
|
| 2528 |
+
"total_members": 50
|
| 2529 |
+
},
|
| 2530 |
+
"r34_SW_estimate_km": {
|
| 2531 |
+
"mean": 27.620131820259488,
|
| 2532 |
+
"p10": 25.95885172589214,
|
| 2533 |
+
"p90": 29.07545206201911,
|
| 2534 |
+
"valid_members": 50,
|
| 2535 |
+
"total_members": 50
|
| 2536 |
+
},
|
| 2537 |
+
"r34_NW_estimate_km": {
|
| 2538 |
+
"mean": 26.95910743616535,
|
| 2539 |
+
"p10": 25.51544175845661,
|
| 2540 |
+
"p90": 28.221678378578442,
|
| 2541 |
+
"valid_members": 50,
|
| 2542 |
+
"total_members": 50
|
| 2543 |
+
},
|
| 2544 |
+
"r50_NE_estimate_km": {
|
| 2545 |
+
"mean": 0.0,
|
| 2546 |
+
"p10": 0.0,
|
| 2547 |
+
"p90": 0.0,
|
| 2548 |
+
"valid_members": 50,
|
| 2549 |
+
"total_members": 50
|
| 2550 |
+
},
|
| 2551 |
+
"r50_SE_estimate_km": {
|
| 2552 |
+
"mean": 0.0,
|
| 2553 |
+
"p10": 0.0,
|
| 2554 |
+
"p90": 0.0,
|
| 2555 |
+
"valid_members": 50,
|
| 2556 |
+
"total_members": 50
|
| 2557 |
+
},
|
| 2558 |
+
"r50_SW_estimate_km": {
|
| 2559 |
+
"mean": 0.0,
|
| 2560 |
+
"p10": 0.0,
|
| 2561 |
+
"p90": 0.0,
|
| 2562 |
+
"valid_members": 50,
|
| 2563 |
+
"total_members": 50
|
| 2564 |
+
},
|
| 2565 |
+
"r50_NW_estimate_km": {
|
| 2566 |
+
"mean": 0.0,
|
| 2567 |
+
"p10": 0.0,
|
| 2568 |
+
"p90": 0.0,
|
| 2569 |
+
"valid_members": 50,
|
| 2570 |
+
"total_members": 50
|
| 2571 |
+
},
|
| 2572 |
+
"r64_NE_estimate_km": {
|
| 2573 |
+
"mean": 0.0,
|
| 2574 |
+
"p10": 0.0,
|
| 2575 |
+
"p90": 0.0,
|
| 2576 |
+
"valid_members": 50,
|
| 2577 |
+
"total_members": 50
|
| 2578 |
+
},
|
| 2579 |
+
"r64_SE_estimate_km": {
|
| 2580 |
+
"mean": 0.0,
|
| 2581 |
+
"p10": 0.0,
|
| 2582 |
+
"p90": 0.0,
|
| 2583 |
+
"valid_members": 50,
|
| 2584 |
+
"total_members": 50
|
| 2585 |
+
},
|
| 2586 |
+
"r64_SW_estimate_km": {
|
| 2587 |
+
"mean": 0.0,
|
| 2588 |
+
"p10": 0.0,
|
| 2589 |
+
"p90": 0.0,
|
| 2590 |
+
"valid_members": 50,
|
| 2591 |
+
"total_members": 50
|
| 2592 |
+
},
|
| 2593 |
+
"r64_NW_estimate_km": {
|
| 2594 |
+
"mean": 0.0,
|
| 2595 |
+
"p10": 0.0,
|
| 2596 |
+
"p90": 0.0,
|
| 2597 |
+
"valid_members": 50,
|
| 2598 |
+
"total_members": 50
|
| 2599 |
+
}
|
| 2600 |
+
},
|
| 2601 |
+
"official_scoring_allowed": false
|
| 2602 |
+
}
|
| 2603 |
+
},
|
| 2604 |
+
{
|
| 2605 |
+
"lead_hours": 120,
|
| 2606 |
+
"valid_time_utc": "2015-08-10T00:00:00Z",
|
| 2607 |
+
"summary": {
|
| 2608 |
+
"method": "pressure-scaled-issue-structure-experimental-v1",
|
| 2609 |
+
"members": 50,
|
| 2610 |
+
"definitions": {
|
| 2611 |
+
"units": "km",
|
| 2612 |
+
"quantity_kind": "radius_not_diameter",
|
| 2613 |
+
"thresholds_kt": [
|
| 2614 |
+
34,
|
| 2615 |
+
50,
|
| 2616 |
+
64
|
| 2617 |
+
],
|
| 2618 |
+
"quadrant_order": [
|
| 2619 |
+
"NE",
|
| 2620 |
+
"SE",
|
| 2621 |
+
"SW",
|
| 2622 |
+
"NW"
|
| 2623 |
+
],
|
| 2624 |
+
"quadrant_statistic": "maximum_extent_within_quadrant",
|
| 2625 |
+
"target_wind_averaging_seconds": 60,
|
| 2626 |
+
"validated_wind_averaging_seconds": null,
|
| 2627 |
+
"validated_surface_height_m": null,
|
| 2628 |
+
"rmw": "issue-time reported RMW carried forward unchanged; persistence baseline",
|
| 2629 |
+
"official_scoring_allowed": false
|
| 2630 |
+
},
|
| 2631 |
+
"aggregation": "diagnose each physical forecast member then equal-weight mean",
|
| 2632 |
+
"estimates": {
|
| 2633 |
+
"wind_estimate_kt": {
|
| 2634 |
+
"mean": 34.3562894347763,
|
| 2635 |
+
"p10": 33.36315146942052,
|
| 2636 |
+
"p90": 35.34654353724137,
|
| 2637 |
+
"valid_members": 50,
|
| 2638 |
+
"total_members": 50
|
| 2639 |
+
},
|
| 2640 |
+
"rmw_persistence_km": {
|
| 2641 |
+
"mean": 22.223999999999997,
|
| 2642 |
+
"p10": 22.224,
|
| 2643 |
+
"p90": 22.224,
|
| 2644 |
+
"valid_members": 50,
|
| 2645 |
+
"total_members": 50
|
| 2646 |
+
},
|
| 2647 |
+
"r34_NE_estimate_km": {
|
| 2648 |
+
"mean": 15.846698861031065,
|
| 2649 |
+
"p10": 0.0,
|
| 2650 |
+
"p90": 24.07000717123992,
|
| 2651 |
+
"valid_members": 50,
|
| 2652 |
+
"total_members": 50
|
| 2653 |
+
},
|
| 2654 |
+
"r34_SE_estimate_km": {
|
| 2655 |
+
"mean": 15.846698861031065,
|
| 2656 |
+
"p10": 0.0,
|
| 2657 |
+
"p90": 24.07000717123992,
|
| 2658 |
+
"valid_members": 50,
|
| 2659 |
+
"total_members": 50
|
| 2660 |
+
},
|
| 2661 |
+
"r34_SW_estimate_km": {
|
| 2662 |
+
"mean": 15.846698861031065,
|
| 2663 |
+
"p10": 0.0,
|
| 2664 |
+
"p90": 24.07000717123992,
|
| 2665 |
+
"valid_members": 50,
|
| 2666 |
+
"total_members": 50
|
| 2667 |
+
},
|
| 2668 |
+
"r34_NW_estimate_km": {
|
| 2669 |
+
"mean": 15.762638718330637,
|
| 2670 |
+
"p10": 0.0,
|
| 2671 |
+
"p90": 23.85792603461197,
|
| 2672 |
+
"valid_members": 50,
|
| 2673 |
+
"total_members": 50
|
| 2674 |
+
},
|
| 2675 |
+
"r50_NE_estimate_km": {
|
| 2676 |
+
"mean": 0.0,
|
| 2677 |
+
"p10": 0.0,
|
| 2678 |
+
"p90": 0.0,
|
| 2679 |
+
"valid_members": 50,
|
| 2680 |
+
"total_members": 50
|
| 2681 |
+
},
|
| 2682 |
+
"r50_SE_estimate_km": {
|
| 2683 |
+
"mean": 0.0,
|
| 2684 |
+
"p10": 0.0,
|
| 2685 |
+
"p90": 0.0,
|
| 2686 |
+
"valid_members": 50,
|
| 2687 |
+
"total_members": 50
|
| 2688 |
+
},
|
| 2689 |
+
"r50_SW_estimate_km": {
|
| 2690 |
+
"mean": 0.0,
|
| 2691 |
+
"p10": 0.0,
|
| 2692 |
+
"p90": 0.0,
|
| 2693 |
+
"valid_members": 50,
|
| 2694 |
+
"total_members": 50
|
| 2695 |
+
},
|
| 2696 |
+
"r50_NW_estimate_km": {
|
| 2697 |
+
"mean": 0.0,
|
| 2698 |
+
"p10": 0.0,
|
| 2699 |
+
"p90": 0.0,
|
| 2700 |
+
"valid_members": 50,
|
| 2701 |
+
"total_members": 50
|
| 2702 |
+
},
|
| 2703 |
+
"r64_NE_estimate_km": {
|
| 2704 |
+
"mean": 0.0,
|
| 2705 |
+
"p10": 0.0,
|
| 2706 |
+
"p90": 0.0,
|
| 2707 |
+
"valid_members": 50,
|
| 2708 |
+
"total_members": 50
|
| 2709 |
+
},
|
| 2710 |
+
"r64_SE_estimate_km": {
|
| 2711 |
+
"mean": 0.0,
|
| 2712 |
+
"p10": 0.0,
|
| 2713 |
+
"p90": 0.0,
|
| 2714 |
+
"valid_members": 50,
|
| 2715 |
+
"total_members": 50
|
| 2716 |
+
},
|
| 2717 |
+
"r64_SW_estimate_km": {
|
| 2718 |
+
"mean": 0.0,
|
| 2719 |
+
"p10": 0.0,
|
| 2720 |
+
"p90": 0.0,
|
| 2721 |
+
"valid_members": 50,
|
| 2722 |
+
"total_members": 50
|
| 2723 |
+
},
|
| 2724 |
+
"r64_NW_estimate_km": {
|
| 2725 |
+
"mean": 0.0,
|
| 2726 |
+
"p10": 0.0,
|
| 2727 |
+
"p90": 0.0,
|
| 2728 |
+
"valid_members": 50,
|
| 2729 |
+
"total_members": 50
|
| 2730 |
+
}
|
| 2731 |
+
},
|
| 2732 |
+
"official_scoring_allowed": false
|
| 2733 |
+
}
|
| 2734 |
+
}
|
| 2735 |
+
],
|
| 2736 |
+
"official_wind_or_radius_skill_score": null,
|
| 2737 |
+
"physical_50_member_means_verified": true,
|
| 2738 |
+
"observed_plus_zero_alignment_verified": true,
|
| 2739 |
+
"coverage": {
|
| 2740 |
+
"wind_estimate_kt": 20,
|
| 2741 |
+
"rmw_persistence_km": 20,
|
| 2742 |
+
"r34_NE_estimate_km": 20,
|
| 2743 |
+
"r34_SE_estimate_km": 20,
|
| 2744 |
+
"r34_SW_estimate_km": 20,
|
| 2745 |
+
"r34_NW_estimate_km": 20,
|
| 2746 |
+
"r50_NE_estimate_km": 20,
|
| 2747 |
+
"r50_SE_estimate_km": 20,
|
| 2748 |
+
"r50_SW_estimate_km": 20,
|
| 2749 |
+
"r50_NW_estimate_km": 20,
|
| 2750 |
+
"r64_NE_estimate_km": 20,
|
| 2751 |
+
"r64_SE_estimate_km": 20,
|
| 2752 |
+
"r64_SW_estimate_km": 20,
|
| 2753 |
+
"r64_NW_estimate_km": 20
|
| 2754 |
+
},
|
| 2755 |
+
"warning": "Retrospective development examples, not untouched tests. RMW is persistence; no validated wind-period calibration.",
|
| 2756 |
+
"chart": "soudelor_wind_radius.png",
|
| 2757 |
+
"source_receipt_sha256": "b772fb329d021af79b4e1cceb67983e720e58d850a09e886b8a8ddc7b436e38f",
|
| 2758 |
+
"source_reference": "Original immutable /Volumes/D member archive; original files unchanged."
|
| 2759 |
+
}
|
evaluation/storm_structure/soudelor_wind_radius.png
ADDED
|
Git LFS Details
|
release_tools/STORM_STRUCTURE_DIAGNOSTICS.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Any-storm wind and radius plots
|
| 2 |
+
|
| 3 |
+
This is a local diagnostic/plotting extension. It does not change the released
|
| 4 |
+
Trackformer 1.2 weights, existing pressure maps, videos, cloud archive, or Site.
|
| 5 |
+
It is **not** a new validated wind/radius forecast model.
|
| 6 |
+
|
| 7 |
+
## What works
|
| 8 |
+
|
| 9 |
+
- The renderer accepts any exact SID in the local Western Pacific IBTrACS file.
|
| 10 |
+
The October 1 local snapshot contains 1,910 storms since 1970. This is an
|
| 11 |
+
observational coverage catalogue, **not** a claim that 1,910 forecasts ran.
|
| 12 |
+
- Every storm can produce a chart layout. Pressure, wind, RMW, and quadrant
|
| 13 |
+
plots are drawn where reports exist. An empty panel explains missing data.
|
| 14 |
+
- Forecast plotting uses genuine, hashed physical member archives. All four
|
| 15 |
+
examples now have 20 candidate wind and R34/R50/R64 quadrant outputs through
|
| 16 |
+
+120 h, diagnosed from all 50 members before taking the mean.
|
| 17 |
+
- The historical MPS runner additionally accepts arbitrary `--case SLUG SID
|
| 18 |
+
ISSUE_UTC`. It still requires nine exact six-hour analyses in the existing
|
| 19 |
+
local atlas and the released WP domain. It neither downloads missing weather
|
| 20 |
+
nor changes the independently authorized cloud backfill.
|
| 21 |
+
|
| 22 |
+
## Candidate assumptions and official definitions
|
| 23 |
+
|
| 24 |
+
IBTrACS `USA_WIND` is a 1-minute reference. USA R34/R50/R64 are maximum extents
|
| 25 |
+
in the NE/SE/SW/NW quadrants, in nautical miles; multiply by 1.852 for **radius**
|
| 26 |
+
in km, never by two. JMA wind is a separate 10-minute reference. JMA R30 cannot
|
| 27 |
+
be relabeled R34, and longest/shortest JMA radii are not USA quadrant radii.
|
| 28 |
+
Blank values remain missing; a native reported zero remains zero. USA RMW is
|
| 29 |
+
not universally reanalyzed best track, especially in WP. Fung-Wong's selected
|
| 30 |
+
2025 USA reports are provisional TCVitals, not final JTWC observations.
|
| 31 |
+
See the [NOAA IBTrACS column documentation](https://www.ncei.noaa.gov/sites/default/files/2025-09/IBTrACS_v04r01_column_documentation.pdf).
|
| 32 |
+
|
| 33 |
+
The new experimental extension starts with only the **exact issue-time** USA
|
| 34 |
+
wind, RMW and available quadrant isotachs. No future wind/radius is fitted.
|
| 35 |
+
The neural runner itself continues to use its original JMA issue-intensity
|
| 36 |
+
inputs; USA structure is a separate diagnostic input, not a silent neural
|
| 37 |
+
input substitution. Reference and model centers can differ, and both are
|
| 38 |
+
recorded in the initialization receipt.
|
| 39 |
+
|
| 40 |
+
For each forecast member, ambient pressure is the median actual basin cells
|
| 41 |
+
600–1000 km from that member's predicted center, with at least two available
|
| 42 |
+
cells in each quadrant. This uses coarse pressure for the **ambient value**,
|
| 43 |
+
not to claim a resolved eyewall. Let `D0 = Pambient0 - Pmodel_issue` and
|
| 44 |
+
`Dm = Pambient_member - Pcentral_member`. The candidate uses
|
| 45 |
+
|
| 46 |
+
```text
|
| 47 |
+
wind_member = USA_wind_issue * sqrt(Dm / D0)
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
The square-root deficit scaling is motivated by gradient/Holland balance,
|
| 51 |
+
but this extension is **not PaHM/GAHM**. It builds a decreasing outer envelope
|
| 52 |
+
from consistent issue-time quadrant isotachs, interpolates in log-radius and
|
| 53 |
+
log-wind, and extrapolates with a Holland-inspired `V ~ r^(-B/2)` tail. A fixed
|
| 54 |
+
literature-motivated B range 1–2.5 is used, without showcase tuning. Radius
|
| 55 |
+
solutions beyond 1,500 km remain unavailable rather than becoming a grid-edge
|
| 56 |
+
radius. Nonphysical pressure, unresolved backgrounds, out-of-domain tracks and
|
| 57 |
+
inconsistent zero isotachs remain explicit failures.
|
| 58 |
+
The [NOAA PaHM theory](https://noaa-ocs-modeling.github.io/PaHM/html/models.html)
|
| 59 |
+
also explains why gradient wind is not automatically a validated 10-m wind.
|
| 60 |
+
|
| 61 |
+
RMW is currently **issue-time persistence**. The flat dashed RMW curve is not
|
| 62 |
+
a model-measured future RMW, an eye diameter, or proof of radius skill.
|
| 63 |
+
The candidate's nominal threshold/units/quadrant geometry target the native
|
| 64 |
+
USA definition, but its 1-minute surface-wind averaging behavior has not been
|
| 65 |
+
validated. The strict scorer therefore rejects wind/radius skill claims.
|
| 66 |
+
Plots are exploratory reference comparisons, not a fair validated benchmark.
|
| 67 |
+
All four are development examples; no unused generalization holdout is claimed.
|
| 68 |
+
|
| 69 |
+
## Reusable commands
|
| 70 |
+
|
| 71 |
+
Use the existing Python environment; no installation is needed. All outputs,
|
| 72 |
+
temporary files and Matplotlib caches must stay on `/Volumes/D`.
|
| 73 |
+
|
| 74 |
+
Draw a full observed storm, even without a model-member archive:
|
| 75 |
+
|
| 76 |
+
```sh
|
| 77 |
+
/Volumes/D/typhoon_predict/.venv/bin/python -B \
|
| 78 |
+
/Volumes/D/typhoon_predict/remote_typhoon_predict_repo/release_tools/plot_storm_wind_radius.py \
|
| 79 |
+
--ibtracs /Volumes/D/typhoon_predict/data/ibtracs/ibtracs.WP.list.v04r01.csv \
|
| 80 |
+
--output /Volumes/D/typhoon_predict/output/nari_observed_plots \
|
| 81 |
+
--observed-storm 2001248N23125
|
| 82 |
+
```
|
| 83 |
+
|
| 84 |
+
Generate the data-coverage catalogue with `--catalogue-only`. To draw a saved
|
| 85 |
+
model ensemble, pass `--forecast-folder` (repeatable), pointing to one immutable
|
| 86 |
+
folder containing `verification.json`, `*_video.json`, `*_video.npz`,
|
| 87 |
+
`ensemble-members.npz`, `weather-history.npz` and the original input receipt.
|
| 88 |
+
|
| 89 |
+
Create an explicit additional historical ensemble on the Mac GPU only when
|
| 90 |
+
the required nine local analyses and exact issue report exist:
|
| 91 |
+
|
| 92 |
+
```sh
|
| 93 |
+
/Volumes/D/typhoon_predict/.venv/bin/python -B \
|
| 94 |
+
/Volumes/D/typhoon_predict/remote_typhoon_predict_repo/release_tools/forecast_historical_video50_mac.py \
|
| 95 |
+
--project /Volumes/D/typhoon_predict \
|
| 96 |
+
--output /Volumes/D/typhoon_predict/output/nari_ensemble50 \
|
| 97 |
+
--case nari 2001248N23125 2001-09-08T00:00:00Z --chunk 5
|
| 98 |
+
```
|
| 99 |
+
|
| 100 |
+
SID/date in a command is an explicit requested issue, not a nearest-date fill.
|
| 101 |
+
If unavailable, choose an actually reported issue after checking the catalogue.
|
| 102 |
+
The runner refuses duplicate issues, unsafe slugs, three-hour dates, changed
|
| 103 |
+
completed slugs and unsupported causal input histories.
|
| 104 |
+
|
| 105 |
+
## October 1 verification
|
| 106 |
+
|
| 107 |
+
Local results: `/Volumes/D/typhoon_predict/output/all-storm-wind-radius.uSvmWY/plots`.
|
| 108 |
+
Fung-Wong needed a fresh 50-member MPS replay (14.33 seconds inference). Its
|
| 109 |
+
inputs/output differ from the older benchmark video and it is clearly labeled;
|
| 110 |
+
the original video/data were not overwritten. Soudelor, Mangkhut and Meranti
|
| 111 |
+
reuse the exact saved original member archives. All mean routes and common-grid
|
| 112 |
+
pressure fields are rechecked against their saved video arrays. No inference
|
| 113 |
+
or fitting is required for the three archived issues or for observed-only plots.
|
| 114 |
+
|
| 115 |
+
Before promotion: develop a genuine evolving RMW/outer structure model, fit any
|
| 116 |
+
calibration only on declared whole-storm training data, freeze a genuinely unused
|
| 117 |
+
storm cohort, validate surface-wind period/height and quadrant definitions, and
|
| 118 |
+
report errors plus failed/missing coverage for identical leads through +120 h.
|
release_tools/benchmark_intensity_v12_v11.py
ADDED
|
@@ -0,0 +1,363 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Resumable, frozen daily-cohort intensity comparison; no training or tuning.
|
| 2 |
+
|
| 3 |
+
Reuse verified 1.2 fifty-member pressure forecasts, replay the original 1.1
|
| 4 |
+
intensity experts, then replay the IDENTICAL 1.2 members to recover auxiliary
|
| 5 |
+
wind that the original route benchmark did not save. All outputs stay on D.
|
| 6 |
+
"""
|
| 7 |
+
from __future__ import annotations
|
| 8 |
+
|
| 9 |
+
import argparse
|
| 10 |
+
from collections import defaultdict
|
| 11 |
+
from datetime import datetime, timedelta, timezone
|
| 12 |
+
import fcntl
|
| 13 |
+
import hashlib
|
| 14 |
+
import json
|
| 15 |
+
import os
|
| 16 |
+
from pathlib import Path
|
| 17 |
+
import sys
|
| 18 |
+
import time
|
| 19 |
+
|
| 20 |
+
import numpy as np
|
| 21 |
+
|
| 22 |
+
CHECKPOINT = 'f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0'
|
| 23 |
+
LEADS = list(range(6, 121, 6))
|
| 24 |
+
HOUR = 3600 * 10**9
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
def sha(path):
|
| 28 |
+
with Path(path).open('rb') as stream:
|
| 29 |
+
return hashlib.file_digest(stream, 'sha256').hexdigest()
|
| 30 |
+
|
| 31 |
+
|
| 32 |
+
def write(path, value):
|
| 33 |
+
path = Path(path)
|
| 34 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 35 |
+
temporary = path.with_suffix(path.suffix + '.tmp')
|
| 36 |
+
temporary.write_text(json.dumps(value, indent=2, allow_nan=False) + '\n')
|
| 37 |
+
temporary.replace(path)
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
def utc():
|
| 41 |
+
return datetime.now(timezone.utc).isoformat(timespec='seconds').replace('+00:00', 'Z')
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
def initial_available(raw):
|
| 45 |
+
return bool(np.isfinite(raw).all() and 0 <= raw[0] < 250 and 800 < raw[1] < 1100)
|
| 46 |
+
|
| 47 |
+
|
| 48 |
+
def number(row, name, low, high):
|
| 49 |
+
try:
|
| 50 |
+
value = float(row.get(name, ''))
|
| 51 |
+
return value if np.isfinite(value) and low <= value <= high else None
|
| 52 |
+
except (TypeError, ValueError):
|
| 53 |
+
return None
|
| 54 |
+
|
| 55 |
+
|
| 56 |
+
def common_errors(a, b, truth, *, low, high):
|
| 57 |
+
a, b, truth = (np.asarray(v, dtype=float) for v in (a, b, truth))
|
| 58 |
+
valid = np.isfinite(a) & np.isfinite(b) & np.isfinite(truth)
|
| 59 |
+
valid &= (truth >= low) & (truth <= high)
|
| 60 |
+
return {key: [float(v) if ok else None for v, ok in zip(values, valid)]
|
| 61 |
+
for key, values in [('1.1', np.abs(a-truth)), ('1.2', np.abs(b-truth))]}
|
| 62 |
+
|
| 63 |
+
|
| 64 |
+
def aggregate(records, key):
|
| 65 |
+
"""Leads -> daily issue -> storm -> equal storm. Never pool storm lengths."""
|
| 66 |
+
grouped = defaultdict(list)
|
| 67 |
+
for record in records:
|
| 68 |
+
if record.get('errors', {}).get(key):
|
| 69 |
+
grouped[record['storm_id']].append(record['errors'][key])
|
| 70 |
+
storms = []
|
| 71 |
+
counts = np.zeros(20, dtype=int)
|
| 72 |
+
total_daily = 0
|
| 73 |
+
for sid, issues in grouped.items():
|
| 74 |
+
values = {}
|
| 75 |
+
for model in ('1.1', '1.2'):
|
| 76 |
+
daily = [np.array([np.nan if v is None else v for v in d[model]]) for d in issues]
|
| 77 |
+
usable = [d for d in daily if np.isfinite(d).any()]
|
| 78 |
+
if not usable:
|
| 79 |
+
values = {}; break
|
| 80 |
+
leads = []
|
| 81 |
+
for i in range(20):
|
| 82 |
+
valid = [d[i] for d in usable if np.isfinite(d[i])]
|
| 83 |
+
leads.append(float(np.mean(valid)) if valid else None)
|
| 84 |
+
values[model] = {'mae': float(np.mean([d[np.isfinite(d)].mean() for d in usable])),
|
| 85 |
+
'mae_by_lead': leads}
|
| 86 |
+
if values:
|
| 87 |
+
total_daily += sum(any(v is not None for v in d['1.1']) for d in issues)
|
| 88 |
+
counts += np.array([sum(d['1.1'][i] is not None for d in issues) for i in range(20)])
|
| 89 |
+
storms.append({'storm_id': sid, 'models': values})
|
| 90 |
+
result = {'valid_storms': len(storms), 'valid_daily_issues': total_daily,
|
| 91 |
+
'paired_issue_leads_by_lead': counts.tolist(), 'models': {}, 'storm_scores': storms}
|
| 92 |
+
if not storms:
|
| 93 |
+
return result
|
| 94 |
+
for model in ('1.1', '1.2'):
|
| 95 |
+
result['models'][model] = {'equal_storm_mae': float(np.mean([s['models'][model]['mae'] for s in storms])),
|
| 96 |
+
'equal_storm_mae_by_lead': [float(np.mean(v)) if (v := [s['models'][model]['mae_by_lead'][i]
|
| 97 |
+
for s in storms if s['models'][model]['mae_by_lead'][i] is not None]) else None for i in range(20)]}
|
| 98 |
+
differences = np.array([s['models']['1.2']['mae']-s['models']['1.1']['mae'] for s in storms])
|
| 99 |
+
random = np.random.default_rng(4712)
|
| 100 |
+
boot = differences[random.integers(0, len(differences), (2000, len(differences)))].mean(1)
|
| 101 |
+
result['paired_storm_delta_1_2_minus_1_1'] = {'mean': float(differences.mean()),
|
| 102 |
+
'bootstrap_95_percent_interval': np.quantile(boot, [.025, .975]).tolist(),
|
| 103 |
+
'resampling_unit': 'whole storm; fixed 2000 replicates, seed 4712; development uncertainty only'}
|
| 104 |
+
return result
|
| 105 |
+
|
| 106 |
+
|
| 107 |
+
def summarize(output, plan, phase):
|
| 108 |
+
records = [json.loads(p.read_text()) for p in sorted((output/'cases').glob('*.json'))]
|
| 109 |
+
done = {r['case_index'] for r in records}
|
| 110 |
+
eligible = {c['case_index'] for c in plan['cases'] if c['initial_intensity_available']}
|
| 111 |
+
wind_done = {r['case_index'] for r in records if r.get('v12_auxiliary_wind_kt') is not None}
|
| 112 |
+
report = {'status': 'complete' if len(done) == len(plan['cases']) and wind_done == eligible else 'running_partial',
|
| 113 |
+
'phase': phase, 'updated_at_utc': utc(), 'protocol_sha256': sha(output/'protocol.json'),
|
| 114 |
+
'cohort_storms': plan['storm_count'], 'cohort_daily_issues': len(plan['cases']),
|
| 115 |
+
'processed_pressure_issues': len(done), 'eligible_native_1_1_intensity_issues': len(eligible),
|
| 116 |
+
'wind_replays_completed': len(wind_done),
|
| 117 |
+
'missing_current_1_1_inputs': len(plan['cases'])-len(eligible),
|
| 118 |
+
'member_counts': {'1.2': 50, '1.1': 'frozen 3 primary + 3 structure + 3 temporal experts, not 50'},
|
| 119 |
+
'aggregation': plan['aggregation'], 'evaluation_label': plan['evaluation_label'],
|
| 120 |
+
'pressure_USA_hpa': aggregate(records, 'pressure_USA_hpa'),
|
| 121 |
+
'pressure_JMA_hpa': aggregate(records, 'pressure_JMA_hpa'),
|
| 122 |
+
'auxiliary_wind_vs_USA_1min_kt': aggregate(records, 'auxiliary_wind_vs_USA_1min_kt'),
|
| 123 |
+
'wind_note': '1.1 nominal one-minute output versus 1.2 auxiliary scalar against USA_WIND. '
|
| 124 |
+
'Not a calibrated surface-wind or architecture-ablation claim. JMA 10-minute wind is not converted or pooled.',
|
| 125 |
+
'radius_note': 'No matched native 1.2 radius head. No radius MAE or radius-skill ranking is claimed.'}
|
| 126 |
+
write(output/'report.json', report)
|
| 127 |
+
return report
|
| 128 |
+
|
| 129 |
+
|
| 130 |
+
def observations(path, storm_ids):
|
| 131 |
+
import csv
|
| 132 |
+
rows = {}
|
| 133 |
+
with path.open() as stream:
|
| 134 |
+
for row in csv.DictReader(stream):
|
| 135 |
+
if row.get('SID') not in storm_ids:
|
| 136 |
+
continue
|
| 137 |
+
key = (row['SID'], row['ISO_TIME'].replace(' ', 'T')+'Z')
|
| 138 |
+
if key in rows:
|
| 139 |
+
raise ValueError('Ambiguous exact observation: '+str(key))
|
| 140 |
+
rows[key] = row
|
| 141 |
+
return rows
|
| 142 |
+
|
| 143 |
+
|
| 144 |
+
def prepare(project, output):
|
| 145 |
+
source = project/'benchmark_daily_storms_1_2'
|
| 146 |
+
cohort = json.loads((source/'cohort.json').read_text())
|
| 147 |
+
with np.load(project/'track_build/track_windows_v13.npz', allow_pickle=False) as z:
|
| 148 |
+
raw = z['track'][:, -1, 4:6]*z['track_std'][4:6]+z['track_mean'][4:6]
|
| 149 |
+
ids, times = z['storm_id'].astype(str), z['base_time'].astype('int64')
|
| 150 |
+
cases = []
|
| 151 |
+
for c in cohort['cases']:
|
| 152 |
+
row = c['source_row']
|
| 153 |
+
if ids[row] != c['storm_id'] or times[row] != c['issue_ns']:
|
| 154 |
+
raise ValueError('Frozen case identity differs from archive')
|
| 155 |
+
cases.append({**c, 'initial_intensity_available': initial_available(raw[row]),
|
| 156 |
+
'current_input_wind_kt': float(raw[row, 0]), 'current_input_pressure_hpa': float(raw[row, 1])})
|
| 157 |
+
sources = {key: item for key, item in cohort['source_hashes'].items() if key != 'benchmark_code'}
|
| 158 |
+
for key, path in {'cohort': source/'cohort.json', 'ibtracs': project/'data/ibtracs/ibtracs.WP.list.v04r01.csv',
|
| 159 |
+
'intensity_code': project/'public-release/trackformer_1_1_intensity.py',
|
| 160 |
+
'temporal_code': project/'public-release/trackformer_1_1_temporal.py',
|
| 161 |
+
'local_weather_q': project/'cache/dlm4_q.npy', 'runner': Path(__file__).resolve()}.items():
|
| 162 |
+
sources[key] = {'path': str(path), 'sha256': sha(path)}
|
| 163 |
+
for path in sorted((project/'public-release/models/trackformer_1_1').glob('*')):
|
| 164 |
+
if path.is_file():
|
| 165 |
+
sources['v11_'+path.name] = {'path': str(path), 'sha256': sha(path)}
|
| 166 |
+
for key, item in sources.items():
|
| 167 |
+
if sha(item['path']) != item['sha256']:
|
| 168 |
+
raise ValueError('Source changed: '+key)
|
| 169 |
+
if sha(project/'v173/checkpoints/epoch_004.pt') != CHECKPOINT:
|
| 170 |
+
raise ValueError('Wrong release checkpoint')
|
| 171 |
+
plan = {'schema': 'trackformer-intensity-daily-matched-v1', 'created_utc': utc(),
|
| 172 |
+
'cohort_sha256': sha(source/'cohort.json'), 'storm_count': cohort['storm_count'], 'cases': cases,
|
| 173 |
+
'source_hashes': sources, 'checkpoint_sha256': CHECKPOINT, 'leads_hours': LEADS,
|
| 174 |
+
'aggregation': 'Mean paired valid leads per daily issue, daily scores per storm, then equal storm weights; same masks for both models.',
|
| 175 |
+
'selection': 'Inherited complete frozen 270-storm / 1473-daily-issue cohort; no forecast-error selection. '
|
| 176 |
+
'1.1 native inference requires finite current wind and pressure; excluded inputs are reported, not repaired.',
|
| 177 |
+
'evaluation_label': 'Development comparison, not an unused holdout: older storms overlap original 1.1 training; '
|
| 178 |
+
'the later 1.2 fitting period makes earlier hindcasts retrospective. Pipelines differ.',
|
| 179 |
+
'truth_policy': 'Exact SID and valid UTC; native USA pressure, TOKYO pressure separately. '
|
| 180 |
+
'USA one-minute wind diagnostic, never mixed with JMA ten-minute wind; blanks remain null.',
|
| 181 |
+
'v12_policy': 'Verify original saved pressure SHA, replay same seeds 2043+source_row*100+member, '
|
| 182 |
+
'same nine analyses, detail masks, issue inputs and frozen preprocessing. Require replayed mean pressure match.',
|
| 183 |
+
'v11_policy': 'Original public frozen nine experts and frozen calibration, including original validation-fit coefficients; no new fit.'}
|
| 184 |
+
write(output/'protocol.json', plan)
|
| 185 |
+
return plan
|
| 186 |
+
|
| 187 |
+
|
| 188 |
+
def run(project, output, chunk, limit):
|
| 189 |
+
import torch
|
| 190 |
+
output.mkdir(parents=True, exist_ok=True)
|
| 191 |
+
if not str(output.resolve()).startswith('/Volumes/D/'):
|
| 192 |
+
raise ValueError('Artifacts must stay on /Volumes/D')
|
| 193 |
+
lock = (output/'run.lock').open('a')
|
| 194 |
+
try:
|
| 195 |
+
fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
| 196 |
+
except BlockingIOError:
|
| 197 |
+
raise RuntimeError('This intensity benchmark is already running')
|
| 198 |
+
if not torch.backends.mps.is_available():
|
| 199 |
+
raise RuntimeError('Requested Mac GPU benchmark requires MPS')
|
| 200 |
+
plan = json.loads((output/'protocol.json').read_text()) if (output/'protocol.json').exists() else prepare(project, output)
|
| 201 |
+
for key, item in plan['source_hashes'].items():
|
| 202 |
+
if sha(item['path']) != item['sha256']:
|
| 203 |
+
raise ValueError('Frozen source changed: '+key)
|
| 204 |
+
sys.path.insert(0, str(project/'public-release'))
|
| 205 |
+
from trackformer_1_1_intensity import Trackformer11IntensityEnsemble
|
| 206 |
+
sys.path.insert(0, str(project))
|
| 207 |
+
import benchmark_ensemble50_field as ens
|
| 208 |
+
with np.load(project/'track_build/track_windows_v13.npz', allow_pickle=False) as z:
|
| 209 |
+
track, times, ids, lat, lon = (z[k] for k in ['track', 'base_time', 'storm_id', 'base_lat', 'base_lon'])
|
| 210 |
+
track = track.astype('float32'); raw_track = track*z['track_std']+z['track_mean']
|
| 211 |
+
local_fields = np.load(project/'cache/dlm4_q.npy', mmap_mode='r')
|
| 212 |
+
lookup = {(str(s), int(t)): i for i, (s, t) in enumerate(zip(ids, times))}
|
| 213 |
+
source = project/'benchmark_daily_storms_1_2/cases'
|
| 214 |
+
obs = observations(project/'data/ibtracs/ibtracs.WP.list.v04r01.csv', {c['storm_id'] for c in plan['cases']})
|
| 215 |
+
truth_by_case = {}
|
| 216 |
+
# Labels are not passed to either inference function.
|
| 217 |
+
for c in plan['cases']:
|
| 218 |
+
issue = datetime.fromisoformat(c['issue_time_utc'].replace('Z', '+00:00'))
|
| 219 |
+
rows = [obs.get((c['storm_id'], (issue+timedelta(hours=h)).strftime('%Y-%m-%dT%H:%M:%SZ')), {}) for h in LEADS]
|
| 220 |
+
truth_by_case[c['case_index']] = {'pressure_USA_hpa': [number(r, 'USA_PRES', 800, 1100) for r in rows],
|
| 221 |
+
'pressure_JMA_hpa': [number(r, 'TOKYO_PRES', 800, 1100) for r in rows],
|
| 222 |
+
'auxiliary_wind_vs_USA_1min_kt': [number(r, 'USA_WIND', 0, 249) for r in rows]}
|
| 223 |
+
model_root = project/'public-release/models/trackformer_1_1'
|
| 224 |
+
old = Trackformer11IntensityEnsemble(model_root, model_root/'trackformer_1_1_calibration.json', device='mps')
|
| 225 |
+
print(json.dumps({'event': 'started', 'pid': os.getpid(), 'device': 'mps',
|
| 226 |
+
'cohort': len(plan['cases']), 'eligible': sum(c['initial_intensity_available'] for c in plan['cases'])}), flush=True)
|
| 227 |
+
(output/'cases').mkdir(exist_ok=True)
|
| 228 |
+
for c in plan['cases']:
|
| 229 |
+
index, row = c['case_index'], c['source_row']
|
| 230 |
+
dest = output/'cases'/f'{index:05d}.json'
|
| 231 |
+
if dest.exists():
|
| 232 |
+
continue
|
| 233 |
+
original = json.loads((source/f'{index:05d}.json').read_text())
|
| 234 |
+
archive = source/f'{index:05d}.npz'
|
| 235 |
+
if original['forecast_sha256'] != sha(archive) or original['cohort_sha256'] != plan['cohort_sha256'] or original['members'] != 50:
|
| 236 |
+
raise ValueError('Original fifty-member forecast changed')
|
| 237 |
+
with np.load(archive, allow_pickle=False) as z:
|
| 238 |
+
if int(z['source_row']) != row:
|
| 239 |
+
raise ValueError('Original forecast row mismatch')
|
| 240 |
+
pressure = z['central_pressure_hpa'].tolist()
|
| 241 |
+
result = {**c, 'v12_pressure_hpa': pressure, 'original_forecast_sha256': sha(archive),
|
| 242 |
+
'truth': truth_by_case[index], 'errors': {}, 'v11': None,
|
| 243 |
+
'excluded_reason': None if c['initial_intensity_available'] else 'Original 1.1 pipeline lacks valid issue wind/pressure; no future fill.'}
|
| 244 |
+
if c['initial_intensity_available']:
|
| 245 |
+
history = np.zeros((8, 17, 17), dtype='float32'); available = np.zeros(2, dtype='float32'); history_rows = []
|
| 246 |
+
for j, h in enumerate((12, 24)):
|
| 247 |
+
past = lookup.get((str(ids[row]), int(times[row])-h*HOUR))
|
| 248 |
+
history_rows.append(past)
|
| 249 |
+
if past is not None:
|
| 250 |
+
history[j*4:(j+1)*4] = np.clip(local_fields[past].astype('float32')/31.75, -4, 4)
|
| 251 |
+
available[j] = 1
|
| 252 |
+
raw = raw_track[row]
|
| 253 |
+
predicted, provenance = old.predict(track[row], np.clip(local_fields[row].astype('float32')/31.75, -4, 4),
|
| 254 |
+
float(raw[-1, 4]), float(raw[-1, 5]), float(raw[-2, 4]), float(raw[-2, 5]),
|
| 255 |
+
current_structure=np.r_[raw[-1, 6], raw[-1, 8:20]], history_field=history, history_available=available)
|
| 256 |
+
result.update(v11=predicted, v11_provenance=provenance, v11_past_source_rows=history_rows,
|
| 257 |
+
v11_input_sha256=hashlib.sha256(track[row].tobytes()+local_fields[row].tobytes()+history.tobytes()).hexdigest())
|
| 258 |
+
old_pressure = [p['central_pressure_hpa'] for p in predicted]
|
| 259 |
+
for key in ('pressure_USA_hpa', 'pressure_JMA_hpa'):
|
| 260 |
+
result['errors'][key] = common_errors(old_pressure, pressure, result['truth'][key], low=800, high=1100)
|
| 261 |
+
write(dest, result)
|
| 262 |
+
if index % 50 == 0:
|
| 263 |
+
summarize(output, plan, 'original_1_1_native_pressure')
|
| 264 |
+
summarize(output, plan, 'recovering_original_1_2_auxiliary_wind')
|
| 265 |
+
del old
|
| 266 |
+
torch.mps.empty_cache()
|
| 267 |
+
sys.path.insert(0, str(project/'v173'))
|
| 268 |
+
from model import CoreForecaster
|
| 269 |
+
payload = torch.load(project/'v173/checkpoints/epoch_004.pt', map_location='cpu', weights_only=False)
|
| 270 |
+
if (payload['version'], payload['architecture'], payload['epoch']) != ('1.2.73', 'v173-moving-core-multiscale-attention', 4):
|
| 271 |
+
raise ValueError('Wrong release architecture')
|
| 272 |
+
contract = payload['data_contract']
|
| 273 |
+
model = CoreForecaster(contract).to('mps').eval(); model.load_state_dict(payload['model'], strict=True)
|
| 274 |
+
del payload
|
| 275 |
+
with np.load(project/'track_build/basin_all_int8.npz', allow_pickle=False) as z:
|
| 276 |
+
atlas, scale, offset = z['time'], z['scale'], z['offset']
|
| 277 |
+
q = np.load(project/'data/v164_reuse/basin_q_verified.npy', mmap_mode='r')
|
| 278 |
+
slp = np.load(project/'track_build/basin_slp_atlas_float16.npy', mmap_mode='r')
|
| 279 |
+
native = np.load(project/'data/v164_reuse/pressure_hpa.npy', mmap_mode='r')
|
| 280 |
+
patches = {int(r['track_archive_row']): (i, r) for i, r in enumerate(json.loads((project/'data/v164_reuse/plan.json').read_text())['rows'])}
|
| 281 |
+
geography = np.load(project/'data/v164_pressure_geography/geography.npz', allow_pickle=False)
|
| 282 |
+
static = ens.static(geography, np.asarray(contract['global_lat']), np.asarray(contract['global_lon']))
|
| 283 |
+
done = 0
|
| 284 |
+
for c in plan['cases']:
|
| 285 |
+
if not c['initial_intensity_available']:
|
| 286 |
+
continue
|
| 287 |
+
index, row = c['case_index'], c['source_row']; dest = output/'cases'/f'{index:05d}.json'
|
| 288 |
+
result = json.loads(dest.read_text())
|
| 289 |
+
if result.get('v12_auxiliary_wind_kt') is not None:
|
| 290 |
+
continue
|
| 291 |
+
started = time.monotonic(); ai = int(np.searchsorted(atlas, times[row]))
|
| 292 |
+
wanted = int(times[row])+np.arange(-8, 1)*6*HOUR
|
| 293 |
+
if ai < 8 or not np.array_equal(atlas[ai-8:ai+1].astype('int64'), wanted):
|
| 294 |
+
raise ValueError('Nine exact causal analyses required')
|
| 295 |
+
weather = np.concatenate([slp[ai-8:ai+1, None].astype('float32'),
|
| 296 |
+
q[ai-8:ai+1].astype('float32')*scale[None, :, None, None]+offset[None, :, None, None]], axis=1)
|
| 297 |
+
patch = patches.get(row)
|
| 298 |
+
if patch:
|
| 299 |
+
pi, pm = patch
|
| 300 |
+
if int(pm['issue_ns']) != int(times[row]): raise ValueError('Native patch issue mismatch')
|
| 301 |
+
rlat = float(pm['center_lat'])+np.linspace(15, -15, 121, dtype='float32')
|
| 302 |
+
rlon = float(pm['center_lon'])+np.linspace(-15, 15, 121, dtype='float32')
|
| 303 |
+
regional = native[pi, :9].astype('float32'); detail = 1.
|
| 304 |
+
else:
|
| 305 |
+
rlat = round(float(lat[row])*4)/4+np.linspace(15, -15, 121, dtype='float32')
|
| 306 |
+
rlon = round(float(lon[row])*4)/4+np.linspace(-15, 15, 121, dtype='float32')
|
| 307 |
+
regional = np.zeros((9, 121, 121), dtype='float32'); detail = 0.
|
| 308 |
+
previous = lookup.get((str(ids[row]), int(times[row])-6*HOUR))
|
| 309 |
+
motion = np.zeros(2, dtype='float32') if previous is None else np.array([
|
| 310 |
+
((lon[row]-lon[previous]+180)%360-180)*111.2*np.cos(np.deg2rad(lat[row])),
|
| 311 |
+
(lat[row]-lat[previous])*111.2], dtype='float32')
|
| 312 |
+
base = ens.normalized_inputs(contract, static, [{'global': weather, 'regional': regional,
|
| 313 |
+
'regional_static': ens.static(geography, rlat, rlon), 'detail': detail,
|
| 314 |
+
'center': np.array([lat[row], lon[row]], dtype='float32'), 'motion': motion,
|
| 315 |
+
'intensity': raw_track[row, -1, 4:6].copy(), 'mask': np.ones(2, dtype='float32')}])
|
| 316 |
+
ens.NOISE_SEED_BASE = 2043+row*100
|
| 317 |
+
wind_members, pressure_members, input_hashes = [], [], []
|
| 318 |
+
for first in range(0, 50, chunk):
|
| 319 |
+
inputs = ens.member_inputs(base, list(range(first, min(50, first+chunk))))
|
| 320 |
+
for j in range(len(inputs['center'])):
|
| 321 |
+
input_hashes.append(hashlib.sha256(inputs['global_history'][j].tobytes()+inputs['regional_history'][j].tobytes()).hexdigest())
|
| 322 |
+
tensors = {k: torch.from_numpy(v.astype('float32', copy=False)).to('mps') for k, v in inputs.items()}
|
| 323 |
+
with torch.inference_mode():
|
| 324 |
+
state = model.initial(tensors); outputs = []
|
| 325 |
+
for _ in LEADS:
|
| 326 |
+
state, values = model.step(state); outputs.append(values)
|
| 327 |
+
wind_members.append(torch.stack([v['vmax'] for v in outputs], 1).cpu().numpy())
|
| 328 |
+
pressure_members.append(torch.stack([v['pressure'] for v in outputs], 1).cpu().numpy())
|
| 329 |
+
del state, outputs, tensors
|
| 330 |
+
wind = np.concatenate(wind_members); pressure = np.concatenate(pressure_members)
|
| 331 |
+
if wind.shape != (50, 20) or pressure.shape != (50, 20) or len(set(input_hashes)) != 50 or not np.isfinite(wind).all():
|
| 332 |
+
raise ValueError('Invalid real-member wind replay')
|
| 333 |
+
mean_pressure = pressure.mean(0, dtype='float64')
|
| 334 |
+
delta = float(np.max(np.abs(mean_pressure-np.asarray(result['v12_pressure_hpa']))))
|
| 335 |
+
if delta > 1e-3:
|
| 336 |
+
raise ValueError(f'Original fifty-member mean differs on replay: {delta} hPa; no scoring changed inputs')
|
| 337 |
+
wind_mean = wind.mean(0, dtype='float64')
|
| 338 |
+
result.update(v12_auxiliary_wind_kt=wind_mean.tolist(), pressure_replay_max_difference_hpa=delta,
|
| 339 |
+
v12_causal_analysis_times_ns=wanted.tolist(), v12_distinct_input_members=50,
|
| 340 |
+
v12_member_input_sha256=input_hashes, v12_member_seeds=list(range(ens.NOISE_SEED_BASE, ens.NOISE_SEED_BASE+50)))
|
| 341 |
+
result['errors']['auxiliary_wind_vs_USA_1min_kt'] = common_errors(
|
| 342 |
+
[p['vmax_kt'] for p in result['v11']], wind_mean, result['truth']['auxiliary_wind_vs_USA_1min_kt'], low=0, high=249)
|
| 343 |
+
saved = output/'cases'/f'{index:05d}_wind_members.npz'
|
| 344 |
+
np.savez_compressed(saved, wind_kt=wind, pressure_hpa=pressure)
|
| 345 |
+
result['wind_member_file_sha256'] = sha(saved)
|
| 346 |
+
write(dest, result); report = summarize(output, plan, 'recovering_original_1_2_auxiliary_wind'); done += 1
|
| 347 |
+
print(json.dumps({'event': 'wind_case_complete', 'case': index,
|
| 348 |
+
'wind_replays_completed': report['wind_replays_completed'], 'pressure_replay_difference_hpa': delta,
|
| 349 |
+
'seconds': round(time.monotonic()-started, 2)}), flush=True)
|
| 350 |
+
if limit and done >= limit:
|
| 351 |
+
break
|
| 352 |
+
report = summarize(output, plan, 'finished' if not limit else 'bounded_run')
|
| 353 |
+
print(json.dumps({'event': 'run_finished', 'status': report['status']}), flush=True)
|
| 354 |
+
|
| 355 |
+
|
| 356 |
+
if __name__ == '__main__':
|
| 357 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 358 |
+
parser.add_argument('--project', type=Path, required=True)
|
| 359 |
+
parser.add_argument('--output', type=Path, required=True)
|
| 360 |
+
parser.add_argument('--chunk', type=int, default=10, choices=range(1, 11))
|
| 361 |
+
parser.add_argument('--limit', type=int, default=0)
|
| 362 |
+
args = parser.parse_args()
|
| 363 |
+
run(args.project.resolve(), args.output.resolve(), args.chunk, args.limit)
|
release_tools/export_structure_public.py
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Export already audited plots and small public diagnostic receipts.
|
| 2 |
+
|
| 3 |
+
No inference, fitting, weather download, or modification of source forecasts.
|
| 4 |
+
Raw members remain in their immutable source folders; the public receipts give
|
| 5 |
+
their hashes and complete-member summaries, not fictional resolved radii.
|
| 6 |
+
"""
|
| 7 |
+
import argparse
|
| 8 |
+
import hashlib
|
| 9 |
+
import json
|
| 10 |
+
from pathlib import Path
|
| 11 |
+
import shutil
|
| 12 |
+
|
| 13 |
+
|
| 14 |
+
def sha(path):
|
| 15 |
+
with path.open('rb') as stream:
|
| 16 |
+
return hashlib.file_digest(stream, 'sha256').hexdigest()
|
| 17 |
+
|
| 18 |
+
|
| 19 |
+
def main():
|
| 20 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 21 |
+
parser.add_argument('--plots', type=Path, required=True)
|
| 22 |
+
parser.add_argument('--output', type=Path, required=True)
|
| 23 |
+
args = parser.parse_args()
|
| 24 |
+
args.output.mkdir(parents=True, exist_ok=True)
|
| 25 |
+
verification = json.loads((args.plots/'verification.json').read_text())
|
| 26 |
+
cases = []
|
| 27 |
+
for slug in ('fung_wong', 'soudelor', 'mangkhut', 'meranti'):
|
| 28 |
+
source = args.plots/f'{slug}_structure.json'
|
| 29 |
+
report = json.loads(source.read_text())
|
| 30 |
+
if report['actual_members'] != 50 or not report['physical_50_member_means_verified'] or not report['observed_plus_zero_alignment_verified']:
|
| 31 |
+
raise ValueError('Requires real audited 50-member source')
|
| 32 |
+
# Retain the immutable member-archive digest even though the large raw
|
| 33 |
+
# members are not redundantly copied into the website package.
|
| 34 |
+
public = {k: v for k, v in report.items() if k not in ('member_diagnostics_by_lead', 'source_forecast_folder')}
|
| 35 |
+
public['source_receipt_sha256'] = sha(source)
|
| 36 |
+
public['source_reference'] = 'Original immutable /Volumes/D member archive; original files unchanged.'
|
| 37 |
+
destination = args.output/f'{slug}_structure.json'
|
| 38 |
+
destination.write_text(json.dumps(public, indent=2, allow_nan=False)+'\n')
|
| 39 |
+
image = args.plots/f'{slug}_wind_radius.png'
|
| 40 |
+
matches = [v for k, v in verification['output_sha256'].items() if Path(k).name == image.name]
|
| 41 |
+
if len(matches) != 1 or sha(image) != matches[0]:
|
| 42 |
+
raise ValueError('Changed audited image')
|
| 43 |
+
shutil.copy2(image, args.output/image.name)
|
| 44 |
+
cases.append({'slug': slug, 'name': slug.replace('_', '-').title(), 'storm_id': report['storm_id'],
|
| 45 |
+
'issue_time_utc': report['issue_time_utc'], 'members': 50, 'image': image.name,
|
| 46 |
+
'image_sha256': sha(image), 'receipt': destination.name, 'receipt_sha256': sha(destination),
|
| 47 |
+
'coverage': report['coverage'], 'rmw_method': 'issue-time persistence, not a future RMW forecast'})
|
| 48 |
+
overview = args.plots/'four_storm_wind_candidate.png'
|
| 49 |
+
overview_matches = [v for k, v in verification['output_sha256'].items() if Path(k).name == overview.name]
|
| 50 |
+
if len(overview_matches) != 1 or sha(overview) != overview_matches[0]:
|
| 51 |
+
raise ValueError('Changed audited overview')
|
| 52 |
+
shutil.copy2(overview, args.output/overview.name)
|
| 53 |
+
index = {'schema': 'audited-structure-examples-v1', 'cases': cases,
|
| 54 |
+
'source_verification_sha256': sha(args.plots/'verification.json'),
|
| 55 |
+
'overview': overview.name, 'overview_sha256': sha(overview), 'experimental': True,
|
| 56 |
+
'native_radius_skill_claim': False, 'forecast_weights_changed': False,
|
| 57 |
+
'note': '50 actual member pressure diagnostics. Fung-Wong is a separate fresh replay, not the old MP4 output. '
|
| 58 |
+
'RMW is persistence; USA and JMA wind periods stay separate; no radius-skill score.'}
|
| 59 |
+
(args.output/'index.json').write_text(json.dumps(index, indent=2)+'\n')
|
| 60 |
+
print(json.dumps({'exported_cases': len(cases), 'path': str(args.output), 'actual_members': 50}))
|
| 61 |
+
|
| 62 |
+
|
| 63 |
+
if __name__ == '__main__':
|
| 64 |
+
main()
|
release_tools/forecast_historical_video50_mac.py
CHANGED
|
@@ -8,6 +8,7 @@ import argparse
|
|
| 8 |
import csv
|
| 9 |
import hashlib
|
| 10 |
import json
|
|
|
|
| 11 |
from datetime import timedelta
|
| 12 |
from pathlib import Path
|
| 13 |
|
|
@@ -19,6 +20,7 @@ from ensemble_forecast import array_hash, run_ensemble, mean_outputs
|
|
| 19 |
from build_fung_wong_video import distances
|
| 20 |
|
| 21 |
CASES = {
|
|
|
|
| 22 |
'soudelor': ('SOUDELOR', '2015211N13162', '2015-08-05T00:00:00Z'),
|
| 23 |
'mangkhut': ('MANGKHUT', '2018250N12170', '2018-09-11T00:00:00Z'),
|
| 24 |
'meranti': ('MERANTI', '2016253N13144', '2016-09-10T00:00:00Z'),
|
|
@@ -77,13 +79,42 @@ def observations(rows, issue):
|
|
| 77 |
return np.asarray(route), np.asarray(pressure[1:])
|
| 78 |
|
| 79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
def main():
|
| 81 |
ap = argparse.ArgumentParser(description=__doc__)
|
| 82 |
ap.add_argument('--project', type=Path, required=True)
|
| 83 |
ap.add_argument('--output', type=Path, required=True)
|
| 84 |
-
ap.add_argument('--storm', choices=list(CASES), action='append'
|
|
|
|
|
|
|
| 85 |
ap.add_argument('--chunk', type=int, default=5)
|
| 86 |
args = ap.parse_args()
|
|
|
|
| 87 |
if not str(args.output.resolve()).startswith('/Volumes/D/'):
|
| 88 |
raise ValueError('New artifacts must stay on /Volumes/D')
|
| 89 |
if not torch.backends.mps.is_available():
|
|
@@ -113,8 +144,8 @@ def main():
|
|
| 113 |
# subsets to the hash-verified original encoded source before inference.
|
| 114 |
q_mmap = np.load(args.project/'data/v164_reuse/basin_q_verified.npy', mmap_mode='r')
|
| 115 |
q_original = z['q']
|
| 116 |
-
for slug in
|
| 117 |
-
idx = exact_history_indices(times,
|
| 118 |
if not np.array_equal(q_mmap[idx], q_original[idx]):
|
| 119 |
raise ValueError('Decoded weather cache differs from original')
|
| 120 |
del q_original
|
|
@@ -122,28 +153,37 @@ def main():
|
|
| 122 |
csvpath = args.project/'data/ibtracs/ibtracs.WP.list.v04r01.csv'
|
| 123 |
csvhash = sha(csvpath)
|
| 124 |
with csvpath.open() as stream:
|
| 125 |
-
all_rows = [r for r in csv.DictReader(stream) if r['SID'] in {
|
| 126 |
coastpath = args.project/'trackformer-weatherlab-site/public/data/history/coastlines.json'
|
| 127 |
coastlines = json.loads(coastpath.read_text())
|
| 128 |
geo = np.load(args.project/'output/automatic-forecast-cache/geography.npz', allow_pickle=False)
|
| 129 |
torch.set_num_threads(4)
|
| 130 |
model = auto.CoreForecaster(contract).eval()
|
| 131 |
model.load_state_dict(torch.load(weights, map_location='cpu', weights_only=True), strict=True)
|
| 132 |
-
for slug in
|
| 133 |
dest = args.output/slug
|
| 134 |
# A finished issue is immutable, even when rerunning the command.
|
| 135 |
if (dest/'verification.json').exists():
|
| 136 |
receipt = json.loads((dest/'verification.json').read_text())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 137 |
for filename, expected in receipt['files_sha256'].items():
|
| 138 |
if sha(dest/filename) != expected:
|
| 139 |
raise ValueError('Completed artifact changed: '+filename)
|
| 140 |
print(json.dumps({'storm': slug, 'reused_verified_complete': True}), flush=True)
|
| 141 |
continue
|
| 142 |
dest.mkdir(parents=True, exist_ok=True)
|
| 143 |
-
name, sid, issue =
|
| 144 |
rows = {r['ISO_TIME']: r for r in all_rows if r['SID'] == sid}
|
| 145 |
if len(rows) != sum(r['SID'] == sid for r in all_rows):
|
| 146 |
raise ValueError('Duplicate storm observation timestamp')
|
|
|
|
|
|
|
|
|
|
|
|
|
| 147 |
row = issue_row(rows, name, sid, issue)
|
| 148 |
idx = exact_history_indices(times, issue)
|
| 149 |
weather = np.concatenate((np.asarray(slp[idx], dtype='float32')[:, None],
|
|
|
|
| 8 |
import csv
|
| 9 |
import hashlib
|
| 10 |
import json
|
| 11 |
+
import re
|
| 12 |
from datetime import timedelta
|
| 13 |
from pathlib import Path
|
| 14 |
|
|
|
|
| 20 |
from build_fung_wong_video import distances
|
| 21 |
|
| 22 |
CASES = {
|
| 23 |
+
'fung_wong': ('FUNG-WONG', '2025308N09144', '2025-11-07T00:00:00Z'),
|
| 24 |
'soudelor': ('SOUDELOR', '2015211N13162', '2015-08-05T00:00:00Z'),
|
| 25 |
'mangkhut': ('MANGKHUT', '2018250N12170', '2018-09-11T00:00:00Z'),
|
| 26 |
'meranti': ('MERANTI', '2016253N13144', '2016-09-10T00:00:00Z'),
|
|
|
|
| 79 |
return np.asarray(route), np.asarray(pressure[1:])
|
| 80 |
|
| 81 |
|
| 82 |
+
def requested_cases(storms, custom_cases):
|
| 83 |
+
"""Accept any explicit WP storm issue, not a preselected four-storm list.
|
| 84 |
+
|
| 85 |
+
Exact archive availability/domain checks remain mandatory in main. This
|
| 86 |
+
does not download missing weather or expand the cloud backfill plan.
|
| 87 |
+
"""
|
| 88 |
+
selected = {slug: CASES[slug] for slug in (storms or [])}
|
| 89 |
+
for slug, sid, issue in custom_cases or []:
|
| 90 |
+
if not re.fullmatch(r'[a-z][a-z0-9_-]{0,63}', slug):
|
| 91 |
+
raise ValueError('Use a safe lowercase output slug')
|
| 92 |
+
if not re.fullmatch(r'\d{7}[NS]\d{5}', sid):
|
| 93 |
+
raise ValueError('Use an exact IBTrACS storm SID')
|
| 94 |
+
if not re.fullmatch(r'\d{4}-\d{2}-\d{2}T(?:00|06|12|18):00:00Z', issue):
|
| 95 |
+
raise ValueError('Use an exact six-hour UTC issue YYYY-MM-DDTHH:00:00Z')
|
| 96 |
+
auto.parse(issue) # reject impossible dates, not just syntax
|
| 97 |
+
if slug in selected:
|
| 98 |
+
raise ValueError('Duplicate output slug: '+slug)
|
| 99 |
+
selected[slug] = (slug.upper(), sid, issue)
|
| 100 |
+
if not selected:
|
| 101 |
+
raise ValueError('Choose --storm or provide --case SLUG SID ISSUE_UTC')
|
| 102 |
+
identities = [(sid, issue) for _, sid, issue in selected.values()]
|
| 103 |
+
if len(set(identities)) != len(identities):
|
| 104 |
+
raise ValueError('Do not duplicate a storm issue under a second slug')
|
| 105 |
+
return selected
|
| 106 |
+
|
| 107 |
+
|
| 108 |
def main():
|
| 109 |
ap = argparse.ArgumentParser(description=__doc__)
|
| 110 |
ap.add_argument('--project', type=Path, required=True)
|
| 111 |
ap.add_argument('--output', type=Path, required=True)
|
| 112 |
+
ap.add_argument('--storm', choices=list(CASES), action='append')
|
| 113 |
+
ap.add_argument('--case', nargs=3, action='append', metavar=('SLUG', 'SID', 'ISSUE_UTC'),
|
| 114 |
+
help='Any explicit WP storm issue with nine exact local analyses')
|
| 115 |
ap.add_argument('--chunk', type=int, default=5)
|
| 116 |
args = ap.parse_args()
|
| 117 |
+
cases = requested_cases(args.storm, args.case)
|
| 118 |
if not str(args.output.resolve()).startswith('/Volumes/D/'):
|
| 119 |
raise ValueError('New artifacts must stay on /Volumes/D')
|
| 120 |
if not torch.backends.mps.is_available():
|
|
|
|
| 144 |
# subsets to the hash-verified original encoded source before inference.
|
| 145 |
q_mmap = np.load(args.project/'data/v164_reuse/basin_q_verified.npy', mmap_mode='r')
|
| 146 |
q_original = z['q']
|
| 147 |
+
for slug in cases:
|
| 148 |
+
idx = exact_history_indices(times, cases[slug][2])
|
| 149 |
if not np.array_equal(q_mmap[idx], q_original[idx]):
|
| 150 |
raise ValueError('Decoded weather cache differs from original')
|
| 151 |
del q_original
|
|
|
|
| 153 |
csvpath = args.project/'data/ibtracs/ibtracs.WP.list.v04r01.csv'
|
| 154 |
csvhash = sha(csvpath)
|
| 155 |
with csvpath.open() as stream:
|
| 156 |
+
all_rows = [r for r in csv.DictReader(stream) if r['SID'] in {cases[s][1] for s in cases}]
|
| 157 |
coastpath = args.project/'trackformer-weatherlab-site/public/data/history/coastlines.json'
|
| 158 |
coastlines = json.loads(coastpath.read_text())
|
| 159 |
geo = np.load(args.project/'output/automatic-forecast-cache/geography.npz', allow_pickle=False)
|
| 160 |
torch.set_num_threads(4)
|
| 161 |
model = auto.CoreForecaster(contract).eval()
|
| 162 |
model.load_state_dict(torch.load(weights, map_location='cpu', weights_only=True), strict=True)
|
| 163 |
+
for slug in cases:
|
| 164 |
dest = args.output/slug
|
| 165 |
# A finished issue is immutable, even when rerunning the command.
|
| 166 |
if (dest/'verification.json').exists():
|
| 167 |
receipt = json.loads((dest/'verification.json').read_text())
|
| 168 |
+
saved = json.loads((dest/f'{slug}_video.json').read_text())
|
| 169 |
+
_, requested_sid, requested_issue = cases[slug]
|
| 170 |
+
if (saved['storm_id'] != requested_sid or saved['issue_time_utc'] != requested_issue
|
| 171 |
+
or saved['checkpoint_sha256'] != auto.CHECKPOINT or saved['members'] != 50):
|
| 172 |
+
raise ValueError('Completed slug belongs to another immutable storm issue: '+slug)
|
| 173 |
for filename, expected in receipt['files_sha256'].items():
|
| 174 |
if sha(dest/filename) != expected:
|
| 175 |
raise ValueError('Completed artifact changed: '+filename)
|
| 176 |
print(json.dumps({'storm': slug, 'reused_verified_complete': True}), flush=True)
|
| 177 |
continue
|
| 178 |
dest.mkdir(parents=True, exist_ok=True)
|
| 179 |
+
name, sid, issue = cases[slug]
|
| 180 |
rows = {r['ISO_TIME']: r for r in all_rows if r['SID'] == sid}
|
| 181 |
if len(rows) != sum(r['SID'] == sid for r in all_rows):
|
| 182 |
raise ValueError('Duplicate storm observation timestamp')
|
| 183 |
+
stamp = auto.parse(issue).strftime('%Y-%m-%d %H:%M:%S')
|
| 184 |
+
if stamp not in rows:
|
| 185 |
+
raise ValueError('Missing exact issue-time storm report: '+sid+' '+issue)
|
| 186 |
+
name = rows[stamp]['NAME'].strip() or name
|
| 187 |
row = issue_row(rows, name, sid, issue)
|
| 188 |
idx = exact_history_indices(times, issue)
|
| 189 |
weather = np.concatenate((np.asarray(slp[idx], dtype='float32')[:, None],
|
release_tools/plot_intensity_benchmark.py
ADDED
|
@@ -0,0 +1,346 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Verify and plot daily -> storm -> equal-storm intensity/curve diagnostics.
|
| 2 |
+
|
| 3 |
+
This is a read-only postprocessor for the separately frozen GPU runner. It
|
| 4 |
+
never changes its inputs, weights, member sampling, calibration or cases.
|
| 5 |
+
Native 1.2 has no radius output: absent bars are N/A, never zero error.
|
| 6 |
+
"""
|
| 7 |
+
from __future__ import annotations
|
| 8 |
+
|
| 9 |
+
import argparse
|
| 10 |
+
from collections import defaultdict
|
| 11 |
+
from datetime import datetime, timedelta, timezone
|
| 12 |
+
import hashlib
|
| 13 |
+
import json
|
| 14 |
+
from pathlib import Path
|
| 15 |
+
|
| 16 |
+
import numpy as np
|
| 17 |
+
|
| 18 |
+
MODELS = ('1.1', '1.2')
|
| 19 |
+
LEADS = list(range(6, 121, 6))
|
| 20 |
+
QUADRANTS = ('NE', 'SE', 'SW', 'NW')
|
| 21 |
+
CURVE_PROTOCOL = {
|
| 22 |
+
'version': 'unshifted-six-hour-intensity-curves-v1',
|
| 23 |
+
'minimum_curve_points': 6,
|
| 24 |
+
'shape_error': '(1 - centred cosine similarity) / 2; exact common UTC leads; '
|
| 25 |
+
'remove mean and scalar magnitude, preserve time order and sign; '
|
| 26 |
+
'no lag optimization, time warping, shift or fit; flat truth or '
|
| 27 |
+
'either flat model makes both shape scores unavailable.',
|
| 28 |
+
'trend_error': 'Fraction of adjacent exact six-hour changes with a different '
|
| 29 |
+
'sign, including flat vs non-flat. Sign deadband = 0 '
|
| 30 |
+
'(strict native changes); no joining across missing leads.',
|
| 31 |
+
'tendency_mae': 'MAE of predicted minus observed adjacent six-hour changes, '
|
| 32 |
+
'in kt/6h, hPa/6h or km/6h.',
|
| 33 |
+
'aggregation': 'Paired common lead mask -> daily issue mean -> mean of days '
|
| 34 |
+
'per storm -> equal storm weights, same as track. Radius '
|
| 35 |
+
'quadrants are averaged within the daily issue; no pooling '
|
| 36 |
+
'long-lived storms or quadrant counts across storms.',
|
| 37 |
+
'radius': 'Native 1.1 RMW and NE/SE/SW/NW R34/R50/R64 kilometre outputs '
|
| 38 |
+
'versus exact USA reports in nautical miles * 1.852; radii, not '
|
| 39 |
+
'diameters. No native 1.2 radius head: do not score experimental '
|
| 40 |
+
'pressure radii as a calibrated official equivalent. RMW must '
|
| 41 |
+
'be positive; reported zero wind-radius extents are valid.',
|
| 42 |
+
'uncertainty': 'Whole-storm bootstrap, fixed 2000 replicates, seed 4712; '
|
| 43 |
+
'development uncertainty, not untouched-holdout certification.',
|
| 44 |
+
}
|
| 45 |
+
|
| 46 |
+
|
| 47 |
+
def sha(path):
|
| 48 |
+
with Path(path).open('rb') as stream:
|
| 49 |
+
return hashlib.file_digest(stream, 'sha256').hexdigest()
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
def write(path, value):
|
| 53 |
+
path = Path(path)
|
| 54 |
+
path.parent.mkdir(parents=True, exist_ok=True)
|
| 55 |
+
temporary = path.with_suffix(path.suffix + '.tmp')
|
| 56 |
+
temporary.write_text(json.dumps(value, indent=2, allow_nan=False) + '\n')
|
| 57 |
+
temporary.replace(path)
|
| 58 |
+
|
| 59 |
+
|
| 60 |
+
def numeric(values):
|
| 61 |
+
return np.array([np.nan if v is None else float(v) for v in values], dtype=float)
|
| 62 |
+
|
| 63 |
+
|
| 64 |
+
def curve_scores(predictions, truth, *, low, high):
|
| 65 |
+
"""Return per-issue scores with exactly the same mask for both models."""
|
| 66 |
+
truth = numeric(truth)
|
| 67 |
+
predicted = {m: numeric(v) for m, v in predictions.items()}
|
| 68 |
+
if not predicted or any(v.shape != truth.shape for v in predicted.values()):
|
| 69 |
+
raise ValueError('Curve lengths differ')
|
| 70 |
+
valid = np.isfinite(truth) & (truth >= low) & (truth <= high)
|
| 71 |
+
for values in predicted.values():
|
| 72 |
+
valid &= np.isfinite(values)
|
| 73 |
+
adjacent = valid[:-1] & valid[1:]
|
| 74 |
+
output = {m: {'mae': None, 'shape_error': None, 'trend_error': None,
|
| 75 |
+
'tendency_mae': None} for m in predicted}
|
| 76 |
+
if not valid.any():
|
| 77 |
+
return output, {'valid_leads': 0, 'valid_adjacent_steps': 0}
|
| 78 |
+
centred_truth = truth[valid] - truth[valid].mean()
|
| 79 |
+
centred = {m: v[valid] - v[valid].mean() for m, v in predicted.items()}
|
| 80 |
+
shape_ok = valid.sum() >= CURVE_PROTOCOL['minimum_curve_points']
|
| 81 |
+
shape_ok &= np.linalg.norm(centred_truth) > 1e-6
|
| 82 |
+
shape_ok &= all(np.linalg.norm(v) > 1e-6 for v in centred.values())
|
| 83 |
+
truth_change = np.diff(truth)[adjacent]
|
| 84 |
+
for model, values in predicted.items():
|
| 85 |
+
output[model]['mae'] = float(np.abs(values[valid] - truth[valid]).mean())
|
| 86 |
+
if shape_ok:
|
| 87 |
+
cosine = float(np.dot(centred[model], centred_truth) /
|
| 88 |
+
(np.linalg.norm(centred[model]) * np.linalg.norm(centred_truth)))
|
| 89 |
+
output[model]['shape_error'] = float((1 - np.clip(cosine, -1, 1)) / 2)
|
| 90 |
+
if adjacent.any():
|
| 91 |
+
change = np.diff(values)[adjacent]
|
| 92 |
+
output[model]['trend_error'] = float((np.sign(change) != np.sign(truth_change)).mean())
|
| 93 |
+
output[model]['tendency_mae'] = float(np.abs(change - truth_change).mean())
|
| 94 |
+
return output, {'valid_leads': int(valid.sum()), 'valid_adjacent_steps': int(adjacent.sum()),
|
| 95 |
+
'shape_available': bool(shape_ok)}
|
| 96 |
+
|
| 97 |
+
|
| 98 |
+
def aggregate_daily(records, models=MODELS):
|
| 99 |
+
grouped = defaultdict(list)
|
| 100 |
+
for record in records:
|
| 101 |
+
grouped[record['storm_id']].append(record)
|
| 102 |
+
result = {}
|
| 103 |
+
for key in ('mae', 'shape_error', 'trend_error', 'tendency_mae'):
|
| 104 |
+
storms = []
|
| 105 |
+
count = 0
|
| 106 |
+
for sid, days in grouped.items():
|
| 107 |
+
paired = [r for r in days if all(r['models'][m].get(key) is not None for m in models)]
|
| 108 |
+
if paired:
|
| 109 |
+
count += len(paired)
|
| 110 |
+
storms.append({'storm_id': sid, 'daily_issues': len(paired),
|
| 111 |
+
'models': {m: float(np.mean([r['models'][m][key] for r in paired])) for m in models}})
|
| 112 |
+
scores = {}
|
| 113 |
+
for model in models:
|
| 114 |
+
values = np.array([s['models'][model] for s in storms])
|
| 115 |
+
if len(values):
|
| 116 |
+
rng = np.random.default_rng(4712)
|
| 117 |
+
boot = values[rng.integers(0, len(values), (2000, len(values)))].mean(1)
|
| 118 |
+
scores[model] = {'equal_storm_mean': float(values.mean()),
|
| 119 |
+
'bootstrap_95_percent_interval': np.quantile(boot, [.025, .975]).tolist()}
|
| 120 |
+
result[key] = {'valid_storms': len(storms), 'valid_daily_issues': count,
|
| 121 |
+
'models': scores, 'storm_scores': storms}
|
| 122 |
+
if len(models) == 2 and storms:
|
| 123 |
+
delta = np.array([s['models']['1.2'] - s['models']['1.1'] for s in storms])
|
| 124 |
+
rng = np.random.default_rng(4712)
|
| 125 |
+
boot = delta[rng.integers(0, len(delta), (2000, len(delta)))].mean(1)
|
| 126 |
+
result[key]['paired_delta_1_2_minus_1_1'] = {'mean': float(delta.mean()),
|
| 127 |
+
'bootstrap_95_percent_interval': np.quantile(boot, [.025, .975]).tolist()}
|
| 128 |
+
return result
|
| 129 |
+
|
| 130 |
+
|
| 131 |
+
def observation_number(row, name, low, high):
|
| 132 |
+
try:
|
| 133 |
+
v = float(row.get(name, ''))
|
| 134 |
+
return v if np.isfinite(v) and low <= v <= high else None
|
| 135 |
+
except (ValueError, TypeError):
|
| 136 |
+
return None
|
| 137 |
+
|
| 138 |
+
|
| 139 |
+
def summarize_radius(records, observations):
|
| 140 |
+
by_type = defaultdict(list)
|
| 141 |
+
for record in records:
|
| 142 |
+
if record.get('v11') is None:
|
| 143 |
+
continue
|
| 144 |
+
issue = datetime.fromisoformat(record['issue_time_utc'].replace('Z', '+00:00'))
|
| 145 |
+
rows = [observations.get((record['storm_id'],
|
| 146 |
+
(issue + timedelta(hours=h)).strftime('%Y-%m-%dT%H:%M:%SZ')), {}) for h in LEADS]
|
| 147 |
+
for target in ('RMW', 'R34', 'R50', 'R64'):
|
| 148 |
+
daily = []
|
| 149 |
+
components = ['RMW'] if target == 'RMW' else list(QUADRANTS)
|
| 150 |
+
for component in components:
|
| 151 |
+
column = 'USA_RMW' if target == 'RMW' else f'USA_{target}_{component}'
|
| 152 |
+
obs = [observation_number(r, column, 0.001 if target == 'RMW' else 0, 1000) for r in rows]
|
| 153 |
+
obs = [None if v is None else v*1.852 for v in obs]
|
| 154 |
+
component_index = None if target == 'RMW' else (('R34', 'R50', 'R64').index(target)*4 + QUADRANTS.index(component))
|
| 155 |
+
values = [p['rmw_km'] if component_index is None else p['wind_radii_km'][component_index] for p in record['v11']]
|
| 156 |
+
scored, coverage = curve_scores({'1.1': values}, obs, low=0, high=1852)
|
| 157 |
+
daily.append(scored['1.1'])
|
| 158 |
+
# Equal component weight inside one issue. Missing components remain
|
| 159 |
+
# absent; a zero observed extent is included in its lead error.
|
| 160 |
+
combined = {key: float(np.mean(v)) if (v := [d[key] for d in daily if d[key] is not None]) else None
|
| 161 |
+
for key in ('mae', 'shape_error', 'trend_error', 'tendency_mae')}
|
| 162 |
+
by_type[target].append({'storm_id': record['storm_id'], 'case_index': record['case_index'],
|
| 163 |
+
'models': {'1.1': combined}})
|
| 164 |
+
return {target: aggregate_daily(days, ('1.1',)) for target, days in by_type.items()}
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
def verify_and_summarize(source, project):
|
| 168 |
+
from benchmark_intensity_v12_v11 import observations
|
| 169 |
+
plan = json.loads((source/'protocol.json').read_text())
|
| 170 |
+
report = json.loads((source/'report.json').read_text())
|
| 171 |
+
if report['status'] != 'complete':
|
| 172 |
+
raise ValueError('Do not publish partial wind replay scores as final')
|
| 173 |
+
if report['protocol_sha256'] != sha(source/'protocol.json'):
|
| 174 |
+
raise ValueError('Protocol hash mismatch')
|
| 175 |
+
for name, item in plan['source_hashes'].items():
|
| 176 |
+
if sha(item['path']) != item['sha256']:
|
| 177 |
+
raise ValueError('Source changed: '+name)
|
| 178 |
+
records = [json.loads(p.read_text()) for p in sorted((source/'cases').glob('*.json'))]
|
| 179 |
+
if len(records) != len(plan['cases']) or {r['case_index'] for r in records} != {c['case_index'] for c in plan['cases']}:
|
| 180 |
+
raise ValueError('Frozen case coverage differs')
|
| 181 |
+
verified_wind, maximum_delta = 0, 0.
|
| 182 |
+
for record in records:
|
| 183 |
+
original = project/'benchmark_daily_storms_1_2/cases'/f"{record['case_index']:05d}.npz"
|
| 184 |
+
if sha(original) != record['original_forecast_sha256']:
|
| 185 |
+
raise ValueError('Original forecast mutated')
|
| 186 |
+
if not record['initial_intensity_available']:
|
| 187 |
+
if record['v11'] is not None or record.get('v12_auxiliary_wind_kt') is not None:
|
| 188 |
+
raise ValueError('Excluded issue unexpectedly has intensity outputs')
|
| 189 |
+
continue
|
| 190 |
+
members_path = source/'cases'/f"{record['case_index']:05d}_wind_members.npz"
|
| 191 |
+
if sha(members_path) != record['wind_member_file_sha256'] or record['v12_distinct_input_members'] != 50:
|
| 192 |
+
raise ValueError('Member proof mismatch')
|
| 193 |
+
if len(set(record['v12_member_input_sha256'])) != 50:
|
| 194 |
+
raise ValueError('Duplicate input members')
|
| 195 |
+
wanted = record['issue_ns'] + np.arange(-8, 1, dtype=np.int64)*6*3600*10**9
|
| 196 |
+
if not np.array_equal(wanted, record['v12_causal_analysis_times_ns']):
|
| 197 |
+
raise ValueError('Noncausal analysis history')
|
| 198 |
+
with np.load(members_path, allow_pickle=False) as z:
|
| 199 |
+
if z['wind_kt'].shape != (50, 20) or z['pressure_hpa'].shape != (50, 20):
|
| 200 |
+
raise ValueError('Member lead shape mismatch')
|
| 201 |
+
if not np.isfinite(z['wind_kt']).all() or not np.isfinite(z['pressure_hpa']).all():
|
| 202 |
+
raise ValueError('Nonfinite member output')
|
| 203 |
+
if not np.allclose(z['wind_kt'].mean(0, dtype='float64'), record['v12_auxiliary_wind_kt'], rtol=0, atol=1e-8):
|
| 204 |
+
raise ValueError('Wind mean mismatch')
|
| 205 |
+
delta = float(np.max(np.abs(z['pressure_hpa'].mean(0, dtype='float64') - record['v12_pressure_hpa'])))
|
| 206 |
+
if delta > 1e-3:
|
| 207 |
+
raise ValueError('Original pressure replay differs')
|
| 208 |
+
maximum_delta = max(maximum_delta, delta)
|
| 209 |
+
verified_wind += 1
|
| 210 |
+
metrics = {}
|
| 211 |
+
specifications = [
|
| 212 |
+
('pressure_USA_hpa', 'USA central pressure', 'hPa', 800, 1100),
|
| 213 |
+
('pressure_JMA_hpa', 'JMA central pressure', 'hPa', 800, 1100),
|
| 214 |
+
('auxiliary_wind_vs_USA_1min_kt', 'Wind against USA 1-minute reference', 'kt', 0, 249),
|
| 215 |
+
]
|
| 216 |
+
for key, label, unit, low, high in specifications:
|
| 217 |
+
days = []
|
| 218 |
+
for record in records:
|
| 219 |
+
if record['v11'] is None:
|
| 220 |
+
continue
|
| 221 |
+
forecast = {'1.1': [p['vmax_kt' if unit == 'kt' else 'central_pressure_hpa'] for p in record['v11']],
|
| 222 |
+
'1.2': record['v12_auxiliary_wind_kt' if unit == 'kt' else 'v12_pressure_hpa']}
|
| 223 |
+
scores, coverage = curve_scores(forecast, record['truth'][key], low=low, high=high)
|
| 224 |
+
days.append({'storm_id': record['storm_id'], 'case_index': record['case_index'],
|
| 225 |
+
'models': scores, 'coverage': coverage})
|
| 226 |
+
metrics[key] = {'label': label, 'unit': unit, **aggregate_daily(days)}
|
| 227 |
+
# The independent postprocessor must reproduce the runner's MAE.
|
| 228 |
+
for model in MODELS:
|
| 229 |
+
actual = metrics[key]['mae']['models'][model]['equal_storm_mean']
|
| 230 |
+
expected = report[key]['models'][model]['equal_storm_mae']
|
| 231 |
+
if not np.isclose(actual, expected, rtol=0, atol=1e-9):
|
| 232 |
+
raise ValueError('Equal-storm aggregation differs from frozen runner')
|
| 233 |
+
obs = observations(project/'data/ibtracs/ibtracs.WP.list.v04r01.csv', {r['storm_id'] for r in records})
|
| 234 |
+
return {'status': 'complete_verified', 'created_at_utc': datetime.now(timezone.utc).isoformat(),
|
| 235 |
+
'cohort_storms': plan['storm_count'], 'cohort_daily_issues': len(plan['cases']),
|
| 236 |
+
'eligible_intensity_daily_issues': verified_wind,
|
| 237 |
+
'excluded_missing_current_intensity': len(records)-verified_wind,
|
| 238 |
+
'protocol_sha256': sha(source/'protocol.json'), 'runner_report_sha256': sha(source/'report.json'),
|
| 239 |
+
'postprocessor_sha256': sha(__file__), 'curve_protocol': CURVE_PROTOCOL,
|
| 240 |
+
'source_hashes': {k: v['sha256'] for k, v in plan['source_hashes'].items()},
|
| 241 |
+
'verification': {'all_frozen_original_forecasts_sha256_valid': True,
|
| 242 |
+
'actual_distinct_input_members_per_replay': 50, 'verified_member_replays': verified_wind,
|
| 243 |
+
'maximum_original_pressure_difference_hpa': maximum_delta,
|
| 244 |
+
'all_wind_means_from_members_verified': True},
|
| 245 |
+
'metrics': metrics, 'native_1_1_radius_USA_km': summarize_radius(records, obs),
|
| 246 |
+
'native_1_2_radius': {'status': 'unavailable', 'reason': 'No native radius head; not zero error.'},
|
| 247 |
+
'limits': [plan['evaluation_label'], report['wind_note'], report['radius_note'],
|
| 248 |
+
'Temporal shape ignores level and amplitude. Read it with MAE and unshifted timelines.',
|
| 249 |
+
'Curve metric protocol is a separately versioned post-hoc descriptive addition, '
|
| 250 |
+
'not a preregistered untouched-test hypothesis. No selection or fitting on forecast errors.']}
|
| 251 |
+
|
| 252 |
+
|
| 253 |
+
def plot(report, runner, output):
|
| 254 |
+
import matplotlib
|
| 255 |
+
matplotlib.use('Agg')
|
| 256 |
+
import matplotlib.pyplot as plt
|
| 257 |
+
plt.rcParams.update({'font.family': 'DejaVu Sans', 'font.size': 10,
|
| 258 |
+
'axes.spines.top': False, 'axes.spines.right': False})
|
| 259 |
+
colors = ['#65758b', '#007d78']
|
| 260 |
+
metrics = report['metrics']
|
| 261 |
+
keys = list(metrics)
|
| 262 |
+
titles = ['USA pressure', 'JMA pressure', 'Wind / USA 1-minute']
|
| 263 |
+
fig, axes = plt.subplots(2, 3, figsize=(14, 8.8))
|
| 264 |
+
for j, (key, title) in enumerate(zip(keys, titles)):
|
| 265 |
+
for i, score in enumerate(('mae', 'shape_error')):
|
| 266 |
+
ax = axes[i, j]
|
| 267 |
+
result = metrics[key][score]
|
| 268 |
+
values = [result['models'][m]['equal_storm_mean'] for m in MODELS]
|
| 269 |
+
intervals = [result['models'][m]['bootstrap_95_percent_interval'] for m in MODELS]
|
| 270 |
+
error = np.array([[max(0, v-p[0]) for v, p in zip(values, intervals)],
|
| 271 |
+
[max(0, p[1]-v) for v, p in zip(values, intervals)]])
|
| 272 |
+
bars = ax.bar(['1.1', '1.2 · mean of 50'], values, yerr=error, capsize=5, width=.55, color=colors)
|
| 273 |
+
ax.bar_label(bars, labels=[f'{v:.2f}' if i == 0 else f'{v:.3f}' for v in values], padding=25, fontweight='bold')
|
| 274 |
+
ax.set_title(title + ('\nMagnitude error ↓' if i == 0 else '\nTime-curve shape error ↓'), loc='left', fontweight='bold', fontsize=11)
|
| 275 |
+
ax.set_ylabel(metrics[key]['unit'] if i == 0 else '(1 − centred cosine) / 2')
|
| 276 |
+
ax.set_ylim(0, max(max(p[1] for p in intervals)*1.42, .05))
|
| 277 |
+
ax.grid(axis='y', alpha=.16); ax.set_axisbelow(True)
|
| 278 |
+
ax.text(.02, .95, f"{result['valid_storms']} storms · {result['valid_daily_issues']} days", transform=ax.transAxes, va='top', color='#526174', fontsize=9)
|
| 279 |
+
fig.suptitle('Intensity comparison | same daily → storm → equal-storm method as track', x=.06, ha='left', fontsize=16, fontweight='bold')
|
| 280 |
+
fig.text(.06, .927, f"Frozen 270-storm / 1,473-day plan · {report['eligible_intensity_daily_issues']} starts usable by native 1.1 intensity · +6 to +120 h", color='#526174')
|
| 281 |
+
fig.text(.06, .018, 'Development comparison, not untouched test; different pipelines. Error bars: whole-storm bootstrap 95%.\nWind is an auxiliary scalar diagnostic, not certified surface wind. Shape removes level/scale but never shifts time.', color='#526174', fontsize=9)
|
| 282 |
+
fig.subplots_adjust(top=.84, bottom=.13, left=.06, right=.98, hspace=.43, wspace=.33)
|
| 283 |
+
fig.savefig(output/'intensity_error_bars.png', dpi=175, facecolor='white'); plt.close(fig)
|
| 284 |
+
|
| 285 |
+
fig, axes = plt.subplots(2, 3, figsize=(14, 8.8))
|
| 286 |
+
for j, (key, title) in enumerate(zip(keys, titles)):
|
| 287 |
+
ax = axes[0, j]
|
| 288 |
+
for model, color in zip(MODELS, colors):
|
| 289 |
+
ax.plot(LEADS, runner[key]['models'][model]['equal_storm_mae_by_lead'], label=model, color=color, lw=2.4)
|
| 290 |
+
ax.set_title(title + '\nPer-lead MAE ↓', loc='left', fontweight='bold', fontsize=11)
|
| 291 |
+
ax.set_ylabel(metrics[key]['unit']); ax.set_xlabel('Forecast lead · h'); ax.legend(frameon=False)
|
| 292 |
+
ax.set_xticks([6, 24, 48, 72, 96, 120]); ax.grid(alpha=.18)
|
| 293 |
+
ax = axes[1, j]; result = metrics[key]['trend_error']
|
| 294 |
+
vals = [100*result['models'][m]['equal_storm_mean'] for m in MODELS]
|
| 295 |
+
bars = ax.bar(['1.1', '1.2 · mean of 50'], vals, width=.55, color=colors)
|
| 296 |
+
ax.bar_label(bars, labels=[f'{v:.1f}%' for v in vals], padding=6, fontweight='bold')
|
| 297 |
+
ax.set_ylim(0, 100); ax.set_ylabel('% adjacent changes with different sign')
|
| 298 |
+
ax.set_title(title + '\nTrend-direction mismatch ↓', loc='left', fontweight='bold', fontsize=11)
|
| 299 |
+
ax.grid(axis='y', alpha=.16); ax.set_axisbelow(True)
|
| 300 |
+
ax.text(.02, .95, f"{result['valid_storms']} storms · {result['valid_daily_issues']} days", transform=ax.transAxes, va='top', fontsize=9, color='#526174')
|
| 301 |
+
fig.suptitle('Intensity lead errors & six-hour change direction', x=.06, ha='left', fontsize=17, fontweight='bold')
|
| 302 |
+
fig.text(.06, .927, 'No time shifting, nearest labels or wind-period conversion · same common valid masks for both systems', color='#526174')
|
| 303 |
+
fig.text(.06, .024, 'Changes are scored only across adjacent valid six-hour leads; flat vs changing counts as a mismatch.\nUSA and JMA pressure references remain separate; USA 1-minute and JMA 10-minute winds are not pooled.', color='#526174', fontsize=9)
|
| 304 |
+
fig.subplots_adjust(top=.84, bottom=.12, left=.06, right=.98, hspace=.49, wspace=.35)
|
| 305 |
+
fig.savefig(output/'intensity_leads_and_trends.png', dpi=175, facecolor='white'); plt.close(fig)
|
| 306 |
+
|
| 307 |
+
fig, axes = plt.subplots(2, 4, figsize=(15, 8.5))
|
| 308 |
+
for j, (target, result) in enumerate(report['native_1_1_radius_USA_km'].items()):
|
| 309 |
+
for i, score in enumerate(('mae', 'shape_error')):
|
| 310 |
+
ax = axes[i, j]; r = result[score]
|
| 311 |
+
value = r['models'].get('1.1', {}).get('equal_storm_mean')
|
| 312 |
+
if value is not None:
|
| 313 |
+
bars = ax.bar([0], [value], color=colors[0], width=.55)
|
| 314 |
+
ax.bar_label(bars, labels=[f'{value:.1f}' if i == 0 else f'{value:.3f}'], padding=6, fontweight='bold')
|
| 315 |
+
ax.set_xlim(-.6, 1.6); ax.set_xticks([0, 1], ['1.1', '1.2'])
|
| 316 |
+
ax.set_ylim(0, max((value or 0)*1.45, .08))
|
| 317 |
+
ax.text(1, .28, 'N/A\nNo radius head', transform=ax.get_xaxis_transform(), ha='center', color='#a24537', fontsize=10, fontweight='bold')
|
| 318 |
+
ax.set_title(target + (' · radius MAE ↓' if i == 0 else ' · curve shape error ↓'), loc='left', fontsize=11, fontweight='bold')
|
| 319 |
+
ax.set_ylabel('km' if i == 0 else '(1 − centred cosine) / 2')
|
| 320 |
+
ax.grid(axis='y', alpha=.16); ax.set_axisbelow(True)
|
| 321 |
+
ax.text(.03, .97, f"{r['valid_storms']} storms\n{r['valid_daily_issues']} days", transform=ax.transAxes, va='top', fontsize=9, color='#526174')
|
| 322 |
+
fig.suptitle('Radius error | native 1.1 vs matching USA definitions; 1.2 unavailable', x=.06, ha='left', fontsize=15, fontweight='bold')
|
| 323 |
+
fig.text(.06, .92, 'RMW; R34 / R50 / R64 NE–SE–SW–NW maximum quadrant extents · nmi × 1.852 = km · radii, not diameters', color='#526174', fontsize=10)
|
| 324 |
+
fig.text(.06, .018, 'Same daily → storm → equal-storm hierarchy as track, using valid reports. Native 1.2 N/A is NOT zero error.\nSeparate pressure-scaled experimental radius examples are not substituted into this official-definition score.', color='#526174', fontsize=9)
|
| 325 |
+
fig.subplots_adjust(top=.83, bottom=.13, left=.06, right=.98, hspace=.42, wspace=.44)
|
| 326 |
+
fig.savefig(output/'native_radius_error_bars.png', dpi=175, facecolor='white'); plt.close(fig)
|
| 327 |
+
|
| 328 |
+
|
| 329 |
+
if __name__ == '__main__':
|
| 330 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 331 |
+
parser.add_argument('--source', type=Path, required=True)
|
| 332 |
+
parser.add_argument('--project', type=Path, required=True)
|
| 333 |
+
parser.add_argument('--output', type=Path, required=True)
|
| 334 |
+
args = parser.parse_args()
|
| 335 |
+
if not str(args.output.resolve()).startswith('/Volumes/D/'):
|
| 336 |
+
raise ValueError('Artifacts must stay on D')
|
| 337 |
+
args.output.mkdir(parents=True, exist_ok=True)
|
| 338 |
+
summary = verify_and_summarize(args.source, args.project)
|
| 339 |
+
write(args.output/'intensity_final.json', summary)
|
| 340 |
+
plot(summary, json.loads((args.source/'report.json').read_text()), args.output)
|
| 341 |
+
receipt = {'status': 'complete_verified', 'summary_sha256': sha(args.output/'intensity_final.json'),
|
| 342 |
+
'images': {p.name: sha(p) for p in sorted(args.output.glob('*.png'))},
|
| 343 |
+
'aggregation': CURVE_PROTOCOL['aggregation'], 'native_1_2_radius_status': 'unavailable, not zero'}
|
| 344 |
+
write(args.output/'verification.json', receipt)
|
| 345 |
+
print(json.dumps({'status': summary['status'], 'verified_replays': summary['verification']['verified_member_replays'],
|
| 346 |
+
'output': str(args.output), 'receipt': receipt}, indent=2))
|
release_tools/plot_storm_wind_radius.py
ADDED
|
@@ -0,0 +1,360 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Draw any IBTrACS WP storm; optionally diagnose genuine saved 1.2 members.
|
| 2 |
+
|
| 3 |
+
This is a local renderer, not a website deployment or an archive-wide inference
|
| 4 |
+
job. Observational charts need no model forecast. Model charts require hashed
|
| 5 |
+
member archives and exact issue-time inputs, never a mean-field substitution.
|
| 6 |
+
"""
|
| 7 |
+
from __future__ import annotations
|
| 8 |
+
|
| 9 |
+
import argparse
|
| 10 |
+
import csv
|
| 11 |
+
import hashlib
|
| 12 |
+
import html
|
| 13 |
+
import json
|
| 14 |
+
import os
|
| 15 |
+
from datetime import datetime, timedelta, timezone
|
| 16 |
+
from pathlib import Path
|
| 17 |
+
|
| 18 |
+
import numpy as np
|
| 19 |
+
|
| 20 |
+
from storm_structure_diagnostics import (
|
| 21 |
+
initialize, ambient_pressure, diagnose, summarize, number, radius_km,
|
| 22 |
+
QUADRANTS, THRESHOLDS, METRICS, DEFINITIONS, VERSION, REFERENCES,
|
| 23 |
+
)
|
| 24 |
+
|
| 25 |
+
ROOT = Path(__file__).resolve().parents[1]
|
| 26 |
+
CHECKPOINT = 'f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0'
|
| 27 |
+
BLUE, RED, BLACK = '#2166b0', '#c33c47', '#203247'
|
| 28 |
+
QC = {'NE':'#2166b0', 'SE':'#cc6831', 'SW':'#008475', 'NW':'#9753a7'}
|
| 29 |
+
|
| 30 |
+
|
| 31 |
+
def sha(path):
|
| 32 |
+
with Path(path).open('rb') as stream:
|
| 33 |
+
return hashlib.file_digest(stream,'sha256').hexdigest()
|
| 34 |
+
|
| 35 |
+
|
| 36 |
+
def utc(value):
|
| 37 |
+
return value.astimezone(timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
def write_json(path, value):
|
| 41 |
+
path.write_text(json.dumps(value, indent=2, allow_nan=False)+'\n')
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
def read_catalogue(path, selected):
|
| 45 |
+
"""Stream all storms into a coverage index; retain only requested rows."""
|
| 46 |
+
catalogue, rows = {}, {sid:{} for sid in selected}
|
| 47 |
+
with path.open() as stream:
|
| 48 |
+
for row in csv.DictReader(stream):
|
| 49 |
+
sid = row['SID']
|
| 50 |
+
if sid in ('', ' ') or not sid[:4].isdigit() or int(sid[:4]) < 1970:
|
| 51 |
+
continue
|
| 52 |
+
stamp = row['ISO_TIME']
|
| 53 |
+
if not stamp or stamp == ' ':
|
| 54 |
+
continue
|
| 55 |
+
if sid not in catalogue:
|
| 56 |
+
catalogue[sid] = dict(storm_id=sid, name=row['NAME'].strip(),
|
| 57 |
+
year=int(row['SEASON']), first_utc=stamp, last_utc=stamp,
|
| 58 |
+
reports=0, usa_wind_reports=0, jma_wind_reports=0, rmw_reports=0,
|
| 59 |
+
r34_full_quadrant_reports=0, r50_full_quadrant_reports=0,
|
| 60 |
+
r64_full_quadrant_reports=0, source_agencies=set(),
|
| 61 |
+
chart_supported=True, model_forecast_not_implied=True)
|
| 62 |
+
item = catalogue[sid]
|
| 63 |
+
item['first_utc'],item['last_utc'] = min(item['first_utc'],stamp), max(item['last_utc'],stamp)
|
| 64 |
+
item['reports'] += 1
|
| 65 |
+
item['usa_wind_reports'] += number(row,'USA_WIND',0,250) is not None
|
| 66 |
+
item['jma_wind_reports'] += number(row,'TOKYO_WIND',0,250) is not None
|
| 67 |
+
item['rmw_reports'] += radius_km(row,'USA_RMW',rmw=True) is not None
|
| 68 |
+
item['source_agencies'].add(row['USA_AGENCY'].strip() or 'missing')
|
| 69 |
+
for t in THRESHOLDS:
|
| 70 |
+
item[f'r{t}_full_quadrant_reports'] += all(radius_km(row,f'USA_R{t}_{q}') is not None for q in QUADRANTS)
|
| 71 |
+
if sid in rows:
|
| 72 |
+
if stamp in rows[sid]:
|
| 73 |
+
raise ValueError('Duplicate selected storm UTC report: '+sid+' '+stamp)
|
| 74 |
+
rows[sid][stamp] = row
|
| 75 |
+
for item in catalogue.values():
|
| 76 |
+
item['source_agencies'] = sorted(item['source_agencies'])
|
| 77 |
+
return sorted(catalogue.values(), key=lambda item:item['first_utc'], reverse=True), rows
|
| 78 |
+
|
| 79 |
+
|
| 80 |
+
def observation_series(rows, times):
|
| 81 |
+
records = [rows.get(t.strftime('%Y-%m-%d %H:%M:%S'),{}) for t in times]
|
| 82 |
+
values = dict(
|
| 83 |
+
pressure=np.array([number(r,'TOKYO_PRES',800,1100) for r in records],dtype=float),
|
| 84 |
+
wind_usa=np.array([number(r,'USA_WIND',0,250) for r in records],dtype=float),
|
| 85 |
+
wind_jma=np.array([number(r,'TOKYO_WIND',0,250) for r in records],dtype=float),
|
| 86 |
+
rmw=np.array([radius_km(r,'USA_RMW',rmw=True) for r in records],dtype=float))
|
| 87 |
+
for t in THRESHOLDS:
|
| 88 |
+
for q in QUADRANTS:
|
| 89 |
+
values[f'r{t}_{q}'] = np.array([radius_km(r,f'USA_R{t}_{q}') for r in records],dtype=float)
|
| 90 |
+
return values
|
| 91 |
+
|
| 92 |
+
|
| 93 |
+
def load_forecast(folder, rows, contract, csv_hash):
|
| 94 |
+
receipt_path = folder/'verification.json'
|
| 95 |
+
receipt = json.loads(receipt_path.read_text())
|
| 96 |
+
if receipt['checkpoint_sha256'] != CHECKPOINT or receipt['members'] != 50:
|
| 97 |
+
raise ValueError('Requires verified released 1.2, actual 50 members')
|
| 98 |
+
for filename, expected in receipt['files_sha256'].items():
|
| 99 |
+
if Path(filename).name != filename or sha(folder/filename) != expected:
|
| 100 |
+
raise ValueError('Immutable forecast file hash mismatch: '+filename)
|
| 101 |
+
candidates = list(folder.glob('*_video.json'))
|
| 102 |
+
if len(candidates) != 1:
|
| 103 |
+
raise ValueError('Expected one exact forecast issue per folder')
|
| 104 |
+
metadata = json.loads(candidates[0].read_text())
|
| 105 |
+
if metadata['observed_csv_sha256'] != csv_hash:
|
| 106 |
+
raise ValueError('IBTrACS file differs from the forecast receipt')
|
| 107 |
+
sid, issue_text = metadata['storm_id'],metadata['issue_time_utc']
|
| 108 |
+
issue = datetime.fromisoformat(issue_text.replace('Z','+00:00'))
|
| 109 |
+
current = rows[sid].get(issue.strftime('%Y-%m-%d %H:%M:%S'))
|
| 110 |
+
if current is None:
|
| 111 |
+
raise ValueError('No exact issue-time initialization report')
|
| 112 |
+
with np.load(folder/'ensemble-members.npz',allow_pickle=False) as z:
|
| 113 |
+
members={k:z[k] for k in z.files}
|
| 114 |
+
with np.load(folder/'weather-history.npz',allow_pickle=False) as z:
|
| 115 |
+
weather,history_times=z['physical_weather'],z['time_ns']
|
| 116 |
+
wanted=np.datetime64(issue_text.replace('Z',''),'ns').astype('int64')+np.arange(-8,1)*6*3600*10**9
|
| 117 |
+
if weather.shape!=(9,8,25,33) or not np.array_equal(history_times,wanted):
|
| 118 |
+
raise ValueError('Nine exact causal analyses required')
|
| 119 |
+
if members['center'].shape!=(50,20,2) or members['basin'].shape!=(50,20,25,33):
|
| 120 |
+
raise ValueError('Wrong actual physical member shapes')
|
| 121 |
+
if members['pressure'].shape!=(50,20) or len(set(members['seeds'].tolist()))!=50:
|
| 122 |
+
raise ValueError('Twenty outputs from fifty distinct seeds required')
|
| 123 |
+
if len(set(metadata['ensemble_policy']['input_sha256']))!=50:
|
| 124 |
+
raise ValueError('Repeated input members are not an ensemble')
|
| 125 |
+
if (len(set(metadata['ensemble_policy']['route_sha256']))!=50
|
| 126 |
+
or len(set(metadata['ensemble_policy']['basin_field_sha256']))!=50):
|
| 127 |
+
raise ValueError('Repeated routes/fields are not fifty physical members')
|
| 128 |
+
lat,lon=contract['global_lat'],contract['global_lon']
|
| 129 |
+
origin=np.array([float(current['LAT']),float(current['LON'])])
|
| 130 |
+
issue_pressure=number(current,'TOKYO_PRES',800,1100)
|
| 131 |
+
recorded=metadata['source_inputs']['issue_observation']
|
| 132 |
+
if recorded['pressure_hpa']!=issue_pressure or not np.allclose([recorded['lat'],recorded['lon']],origin,atol=1e-5,rtol=0):
|
| 133 |
+
raise ValueError('Changed issue-time model inputs')
|
| 134 |
+
with np.load(candidates[0].with_suffix('.npz'),allow_pickle=False) as video:
|
| 135 |
+
if not np.allclose(video['forecast_lat_lon'][0],origin,atol=1e-5,rtol=0):
|
| 136 |
+
raise ValueError('Saved forecast +0 does not match the observed issue origin')
|
| 137 |
+
for member_key,video_key in (('pressure','central_pressure_hpa'),
|
| 138 |
+
('basin','basin_pressure_hpa'),
|
| 139 |
+
('regional','regional_pressure_hpa')):
|
| 140 |
+
actual=members[member_key].mean(0,dtype=np.float64).astype('float32')
|
| 141 |
+
if not np.array_equal(actual,video[video_key]):
|
| 142 |
+
raise ValueError('Saved physical fifty-member mean mismatch: '+video_key)
|
| 143 |
+
if not np.array_equal(members['center'].mean(0,dtype=np.float64).astype('float32'),video['forecast_lat_lon'][1:]):
|
| 144 |
+
raise ValueError('Saved member-mean route mismatch')
|
| 145 |
+
initial_ambient=ambient_pressure(weather[-1,0],lat,lon,origin)
|
| 146 |
+
initial=initialize(current,issue_text,initial_ambient['value_hpa'])
|
| 147 |
+
points,raw=[],[]
|
| 148 |
+
for index in range(20):
|
| 149 |
+
diagnostics=[]
|
| 150 |
+
for member in range(50):
|
| 151 |
+
ambient=ambient_pressure(members['basin'][member,index],lat,lon,members['center'][member,index])
|
| 152 |
+
diagnostics.append(diagnose(initial,float(members['pressure'][member,index]),ambient,
|
| 153 |
+
track_valid=bool(members['track_valid'][member,index])))
|
| 154 |
+
summary=summarize(diagnostics,expected_members=50)
|
| 155 |
+
points.append(dict(lead_hours=(index+1)*6,valid_time_utc=utc(issue+timedelta(hours=(index+1)*6)),summary=summary))
|
| 156 |
+
raw.append(diagnostics)
|
| 157 |
+
times=[issue+timedelta(hours=6*i) for i in range(21)]
|
| 158 |
+
obs=observation_series(rows[sid],times)
|
| 159 |
+
case=dict(slug=candidates[0].stem.removesuffix('_video'), name=metadata['storm'],
|
| 160 |
+
sid=sid,issue=issue_text,x=np.arange(0,121,6),obs=obs,
|
| 161 |
+
source_agencies=sorted({r['USA_AGENCY'].strip() or 'missing' for r in rows[sid].values()}),
|
| 162 |
+
model_pressure=np.r_[issue_pressure,members['pressure'].mean(0,dtype=np.float64)],
|
| 163 |
+
auxiliary_wind=np.r_[np.nan,members['vmax'].mean(0,dtype=np.float64)],
|
| 164 |
+
initial=initial,points=points,model={},bands={},metadata=metadata,
|
| 165 |
+
source_folder=str(folder))
|
| 166 |
+
for key in METRICS:
|
| 167 |
+
anchor=initial['input_wind_kt'] if key=='wind_estimate_kt' else (
|
| 168 |
+
initial['rmw_persistence_km'] if key=='rmw_persistence_km' else None)
|
| 169 |
+
# Do NOT hide that estimated absent isotachs at +0 are parametric. Native
|
| 170 |
+
# issue reports appear in the solid official curves, not model anchors.
|
| 171 |
+
case['model'][key]=np.array([anchor]+[p['summary']['estimates'][key]['mean'] for p in points],dtype=float)
|
| 172 |
+
case['bands'][key]=np.array([[np.nan]+[p['summary']['estimates'][key][q] for p in points] for q in ('p10','p90')],dtype=float)
|
| 173 |
+
digest={filename:sha(folder/filename) for filename in receipt['files_sha256']}
|
| 174 |
+
report=dict(model='frozen Trackformer 1.2 pressure + separate experimental structure candidate',
|
| 175 |
+
method=VERSION,storm_id=sid,issue_time_utc=issue_text,actual_members=50,
|
| 176 |
+
checkpoint_sha256=CHECKPOINT,source_forecast_folder=str(folder),
|
| 177 |
+
source_file_sha256=digest,observed_csv_sha256=csv_hash,
|
| 178 |
+
future_labels_used_for_diagnostics=False,initial=initial,initial_ambient=initial_ambient,
|
| 179 |
+
definitions=DEFINITIONS,points=points,member_diagnostics_by_lead=raw,
|
| 180 |
+
official_wind_or_radius_skill_score=None,
|
| 181 |
+
physical_50_member_means_verified=True, observed_plus_zero_alignment_verified=True,
|
| 182 |
+
coverage={key:sum(p['summary']['estimates'][key]['mean'] is not None for p in points) for key in METRICS},
|
| 183 |
+
warning='Retrospective development examples, not untouched tests. RMW is persistence; no validated wind-period calibration.')
|
| 184 |
+
return case,report
|
| 185 |
+
|
| 186 |
+
|
| 187 |
+
def plot_environment(output):
|
| 188 |
+
os.environ.setdefault('MPLCONFIGDIR',str(output/'matplotlib-cache'))
|
| 189 |
+
import matplotlib
|
| 190 |
+
matplotlib.use('Agg')
|
| 191 |
+
import matplotlib.pyplot as plt
|
| 192 |
+
plt.rcParams.update({'font.family':'DejaVu Sans','font.size':10,
|
| 193 |
+
'axes.spines.top':False,'axes.spines.right':False,'axes.facecolor':'#fbfcfe',
|
| 194 |
+
'grid.color':'#d9e1ea','axes.edgecolor':'#bbc8d5','savefig.facecolor':'white'})
|
| 195 |
+
return plt
|
| 196 |
+
|
| 197 |
+
|
| 198 |
+
def line(ax,x,y,label,color,*,style='-',band=None):
|
| 199 |
+
ax.plot(x,y,linestyle=style,color=color,lw=2,label=label)
|
| 200 |
+
if band is not None:
|
| 201 |
+
ax.fill_between(x,band[0],band[1],color=color,alpha=.12,lw=0)
|
| 202 |
+
|
| 203 |
+
|
| 204 |
+
def decorate(ax,x,ylabel):
|
| 205 |
+
ax.set(xlabel='Hours after initialization' if max(x)<=120 else 'Hours from first report',
|
| 206 |
+
ylabel=ylabel,xlim=(min(x),max(x) if max(x)>min(x) else min(x)+1))
|
| 207 |
+
ax.grid(alpha=.55)
|
| 208 |
+
ax.legend(fontsize=8,loc='best')
|
| 209 |
+
if not any(np.isfinite(line.get_ydata()).any() for line in ax.lines):
|
| 210 |
+
ax.set_yticks([])
|
| 211 |
+
ax.set_ylim(0,1)
|
| 212 |
+
legend=ax.get_legend()
|
| 213 |
+
if legend is not None: legend.remove()
|
| 214 |
+
ax.text(.5,.5,'No reported/supported data — not zero',ha='center',transform=ax.transAxes,color='#697c8e')
|
| 215 |
+
|
| 216 |
+
|
| 217 |
+
def draw_case(case,output,plt,*,observed_only=False):
|
| 218 |
+
fig,axes=plt.subplots(3,2,figsize=(13,11))
|
| 219 |
+
x,obs=case['x'],case['obs']
|
| 220 |
+
for ax in axes.ravel(): ax.set_axisbelow(True)
|
| 221 |
+
line(axes[0,0],x,obs['pressure'],'JMA pressure',BLACK)
|
| 222 |
+
line(axes[0,1],x,obs['wind_usa'],'USA wind · 1 min',BLACK)
|
| 223 |
+
line(axes[0,1],x,obs['wind_jma'],'JMA wind · 10 min','#9aa7b5',style=':')
|
| 224 |
+
line(axes[1,0],x,obs['rmw'],'Reported USA RMW',BLACK)
|
| 225 |
+
if not observed_only:
|
| 226 |
+
line(axes[0,0],x,case['model_pressure'],'1.2 · actual mean of 50',BLUE)
|
| 227 |
+
line(axes[0,1],x,case['model']['wind_estimate_kt'],'Pressure-driven candidate · 50',RED,
|
| 228 |
+
style='--',band=case['bands']['wind_estimate_kt'])
|
| 229 |
+
line(axes[0,1],x,case['auxiliary_wind'],'Old auxiliary wind · uncalibrated','#3a9071',style=':')
|
| 230 |
+
line(axes[1,0],x,case['model']['rmw_persistence_km'],'RMW persistence ONLY',RED,style='--')
|
| 231 |
+
for t,ax in zip(THRESHOLDS,(axes[1,1],axes[2,0],axes[2,1])):
|
| 232 |
+
for q in QUADRANTS:
|
| 233 |
+
line(ax,x,obs[f'r{t}_{q}'],q+' reported',QC[q])
|
| 234 |
+
if not observed_only:
|
| 235 |
+
key=f'r{t}_{q}_estimate_km'
|
| 236 |
+
line(ax,x,case['model'][key],q+' candidate',QC[q],style='--')
|
| 237 |
+
ax.set_title(f'R{t}: quadrant maximum extent · radius, not diameter',fontsize=11)
|
| 238 |
+
decorate(ax,x,'Radius (km)')
|
| 239 |
+
for ax,title,ylabel in ((axes[0,0],'Central pressure','hPa'),
|
| 240 |
+
(axes[0,1],'Maximum sustained wind · periods kept separate','knots'),
|
| 241 |
+
(axes[1,0],'Reported USA RMW' if observed_only else 'RMW · future candidate is persistence','Radius (km)')):
|
| 242 |
+
ax.set_title(title,fontsize=11)
|
| 243 |
+
decorate(ax,x,ylabel)
|
| 244 |
+
kind='Reported observations only' if observed_only else 'Experimental pressure-driven structure — not a validated wind forecast'
|
| 245 |
+
fig.suptitle(f"{case['name']} | {case['issue'][:10]} UTC\n{kind}",fontsize=18,fontweight='bold',y=.995)
|
| 246 |
+
source='Sources: '+', '.join(case['source_agencies'])
|
| 247 |
+
footer=source+' · blank reports stay missing; native USA quadrants converted nm → km.'
|
| 248 |
+
if not observed_only:
|
| 249 |
+
footer+='\nSolid = reported reference; dashed = candidate. RMW is explicitly held constant. Wind/radius skill scores disabled.'
|
| 250 |
+
fig.text(.06,.012,footer,fontsize=9,color='#52677c')
|
| 251 |
+
fig.tight_layout(rect=(.01,.06,.99,.92),h_pad=2.1)
|
| 252 |
+
filename=case['slug']+'_wind_radius.png'
|
| 253 |
+
fig.savefig(output/filename,dpi=160)
|
| 254 |
+
plt.close(fig)
|
| 255 |
+
return filename
|
| 256 |
+
|
| 257 |
+
|
| 258 |
+
def draw_overview(cases,output,plt):
|
| 259 |
+
cols=min(2,len(cases));rows=(len(cases)+cols-1)//cols
|
| 260 |
+
fig,axes=plt.subplots(rows,cols,figsize=(13,4.5*rows),squeeze=False)
|
| 261 |
+
for ax,case in zip(axes.ravel(),cases):
|
| 262 |
+
x=case['x']
|
| 263 |
+
line(ax,x,case['obs']['wind_usa'],'USA reference · 1 min',BLACK)
|
| 264 |
+
line(ax,x,case['obs']['wind_jma'],'JMA reference · 10 min','#9aa7b5',style=':')
|
| 265 |
+
line(ax,x,case['model']['wind_estimate_kt'],'Pressure-driven candidate · 50',RED,
|
| 266 |
+
style='--',band=case['bands']['wind_estimate_kt'])
|
| 267 |
+
line(ax,x,case['auxiliary_wind'],'Old auxiliary · uncalibrated','#3a9071',style=':')
|
| 268 |
+
ax.set_title(case['name']+' · '+case['issue'][:10],loc='left',fontweight='bold')
|
| 269 |
+
decorate(ax,x,'Wind (knots)')
|
| 270 |
+
for ax in axes.ravel()[len(cases):]: ax.set_visible(False)
|
| 271 |
+
fig.suptitle('All four storms draw wind curves',fontsize=21,fontweight='bold',y=.99)
|
| 272 |
+
fig.text(.5,.94,'Separate experimental pressure-driven estimate; actual 50-member diagnostics. No 1-min calibration or skill claim.',
|
| 273 |
+
ha='center',fontsize=10,color='#52677c')
|
| 274 |
+
fig.text(.06,.012,'Fung-Wong: fresh Mac GPU replay, not the older video forecast. Other three: original saved video members.\n'
|
| 275 |
+
'USA reports may be provisional (Fung-Wong: TCVitals). No future wind/radius observations enter the candidate.',fontsize=9,color='#52677c')
|
| 276 |
+
fig.tight_layout(rect=(.01,.07,.99,.91),h_pad=2)
|
| 277 |
+
fig.savefig(output/'four_storm_wind_candidate.png',dpi=160)
|
| 278 |
+
plt.close(fig)
|
| 279 |
+
|
| 280 |
+
|
| 281 |
+
def observed_case(sid,rows):
|
| 282 |
+
if not rows:
|
| 283 |
+
raise ValueError('No IBTrACS reports for '+sid)
|
| 284 |
+
stamps=sorted(rows)
|
| 285 |
+
times=[datetime.strptime(t,'%Y-%m-%d %H:%M:%S').replace(tzinfo=timezone.utc) for t in stamps]
|
| 286 |
+
name=rows[stamps[0]]['NAME'].strip() or sid
|
| 287 |
+
return dict(slug=sid+'_observed',name=name,sid=sid,issue=utc(times[0]),
|
| 288 |
+
x=np.array([(t-times[0]).total_seconds()/3600 for t in times]),
|
| 289 |
+
obs=observation_series(rows,times),
|
| 290 |
+
source_agencies=sorted({r['USA_AGENCY'].strip() or 'missing' for r in rows.values()}))
|
| 291 |
+
|
| 292 |
+
|
| 293 |
+
def main():
|
| 294 |
+
parser=argparse.ArgumentParser(description=__doc__)
|
| 295 |
+
parser.add_argument('--ibtracs',type=Path,required=True)
|
| 296 |
+
parser.add_argument('--output',type=Path,required=True)
|
| 297 |
+
parser.add_argument('--forecast-folder',type=Path,action='append',default=[])
|
| 298 |
+
parser.add_argument('--observed-storm',action='append',default=[],help='Any exact WP IBTrACS SID; no inference')
|
| 299 |
+
parser.add_argument('--catalogue-only',action='store_true')
|
| 300 |
+
args=parser.parse_args()
|
| 301 |
+
if not str(args.output.resolve()).startswith('/Volumes/D/'):
|
| 302 |
+
raise ValueError('New artifacts/cache must stay on /Volumes/D')
|
| 303 |
+
args.output.mkdir(parents=True,exist_ok=True)
|
| 304 |
+
selected=set(args.observed_storm)
|
| 305 |
+
for folder in args.forecast_folder:
|
| 306 |
+
paths=list(folder.glob('*_video.json'))
|
| 307 |
+
if len(paths)!=1: raise ValueError('Expected one forecast metadata file')
|
| 308 |
+
selected.add(json.loads(paths[0].read_text())['storm_id'])
|
| 309 |
+
catalogue,rows=read_catalogue(args.ibtracs,selected)
|
| 310 |
+
write_json(args.output/'storm_catalogue.json',dict(scope='IBTrACS Western Pacific, 1970 onward',
|
| 311 |
+
observations_only_not_forecast_coverage=True,storms=catalogue))
|
| 312 |
+
csv_hash=sha(args.ibtracs)
|
| 313 |
+
if args.catalogue_only:
|
| 314 |
+
print(json.dumps(dict(storms=len(catalogue),output=str(args.output/'storm_catalogue.json'))))
|
| 315 |
+
return
|
| 316 |
+
contract=json.loads((ROOT/'models/trackformer_1_2_field/manifest.json').read_text())['data_contract']
|
| 317 |
+
manifest=json.loads((ROOT/'models/trackformer_1_2_field/manifest.json').read_text())
|
| 318 |
+
for filename,expected in manifest['source_module_sha256'].items():
|
| 319 |
+
if sha(ROOT/'models/trackformer_1_2_field'/filename)!=expected:
|
| 320 |
+
raise ValueError('Frozen neural model source changed: '+filename)
|
| 321 |
+
plt=plot_environment(args.output)
|
| 322 |
+
cases,images,reports=[],[],[]
|
| 323 |
+
for folder in args.forecast_folder:
|
| 324 |
+
case,report=load_forecast(folder,rows,contract,csv_hash)
|
| 325 |
+
filename=draw_case(case,args.output,plt)
|
| 326 |
+
report['chart']=filename
|
| 327 |
+
write_json(args.output/(case['slug']+'_structure.json'),report)
|
| 328 |
+
cases.append(case);images.append((case['name'],filename));reports.append(report)
|
| 329 |
+
print(json.dumps(dict(storm=case['name'],wind_leads=report['coverage']['wind_estimate_kt'],
|
| 330 |
+
r34_quadrant_leads={q:report['coverage'][f'r34_{q}_estimate_km'] for q in QUADRANTS})),flush=True)
|
| 331 |
+
for sid in args.observed_storm:
|
| 332 |
+
case=observed_case(sid,rows[sid])
|
| 333 |
+
filename=draw_case(case,args.output,plt,observed_only=True)
|
| 334 |
+
images.append((case['name']+' · observations only',filename))
|
| 335 |
+
if cases:
|
| 336 |
+
draw_overview(cases,args.output,plt)
|
| 337 |
+
images.insert(0,('Wind overview','four_storm_wind_candidate.png'))
|
| 338 |
+
panels=''.join(f'<section><h2>{html.escape(name)}</h2><a href="{html.escape(filename)}"><img src="{html.escape(filename)}" alt="{html.escape(name)} plots"></a></section>' for name,filename in images)
|
| 339 |
+
page='''<!doctype html><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
| 340 |
+
<title>Storm wind and radius comparisons</title><style>body{font:16px system-ui;background:#edf2f7;color:#203247;max-width:1280px;margin:40px auto;padding:0 20px}section{background:white;margin:24px 0;padding:18px;border-radius:16px}img{width:100%;height:auto}a{color:#2166b0}p{line-height:1.6}</style>
|
| 341 |
+
<h1>Storm wind & radius plots</h1><p>Solid curves are agency reports. Dashed curves are an experimental pressure-driven candidate, not validated wind forecasts. RMW is persistence only. Blank reports remain missing; reported zero is not a missing value.</p>
|
| 342 |
+
<p>Actual 50-member diagnostics, never a diagnostic of a mean pressure map. Released model weights and original videos are unchanged. Fung-Wong is a separately saved fresh replay. USA quadrants are 1-minute targets, JMA winds are 10-minute references; no cross-period conversion or strict radius skill score.</p>'''
|
| 343 |
+
page+=panels+'<p><a href="storm_catalogue.json">All WP storms: data coverage catalogue</a> · <a href="verification.json">Verification receipt</a></p>'
|
| 344 |
+
(args.output/'index.html').write_text(page)
|
| 345 |
+
receipt=dict(method=VERSION,checkpoint_sha256=CHECKPOINT,storm_count=len(cases),
|
| 346 |
+
observed_only_storms=args.observed_storm,wp_catalogue_storms=len(catalogue),
|
| 347 |
+
observed_csv_sha256=csv_hash,actual_member_count=50 if cases else None,
|
| 348 |
+
future_wind_radius_labels_used_for_candidate=False,
|
| 349 |
+
neural_weights_changed=False,original_forecasts_overwritten=False,
|
| 350 |
+
official_wind_radius_scoring_allowed=False,references=list(REFERENCES),
|
| 351 |
+
charts=[filename for _,filename in images],
|
| 352 |
+
coverage={r['storm_id']:r['coverage'] for r in reports})
|
| 353 |
+
receipt['source_code_sha256']={p.name:sha(p) for p in (Path(__file__),ROOT/'release_tools/storm_structure_diagnostics.py')}
|
| 354 |
+
receipt['output_sha256']={p.name:sha(p) for p in args.output.iterdir() if p.is_file() and p.name!='verification.json'}
|
| 355 |
+
write_json(args.output/'verification.json',receipt)
|
| 356 |
+
print(json.dumps(dict(output=str(args.output/'index.html'),catalogue_storms=len(catalogue))),flush=True)
|
| 357 |
+
|
| 358 |
+
|
| 359 |
+
if __name__=='__main__':
|
| 360 |
+
main()
|
release_tools/storm_structure_diagnostics.py
ADDED
|
@@ -0,0 +1,227 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Reusable, unvalidated pressure-driven wind/structure candidate.
|
| 2 |
+
|
| 3 |
+
Not a change to released neural weights or pressure fields. The initialization
|
| 4 |
+
uses ONLY the exact issue-time USA 1-minute wind and reported quadrant radii.
|
| 5 |
+
Future pressure deficits come from each genuine forecast member. An initialized
|
| 6 |
+
outer wind envelope is scaled by sqrt(deficit / issue deficit), motivated by
|
| 7 |
+
gradient-wind/Holland balance. RMW is explicitly PERSISTENCE, not a measured or
|
| 8 |
+
learned future RMW. Missing observations are never invented as reference data.
|
| 9 |
+
|
| 10 |
+
Nominal targets match USA radius units, thresholds and quadrant-max geometry,
|
| 11 |
+
but this candidate has no validated 1-minute/10-m wind calibration. Strict
|
| 12 |
+
official wind/radius skill scores MUST remain disabled.
|
| 13 |
+
"""
|
| 14 |
+
from __future__ import annotations
|
| 15 |
+
|
| 16 |
+
from datetime import datetime
|
| 17 |
+
import math
|
| 18 |
+
|
| 19 |
+
import numpy as np
|
| 20 |
+
|
| 21 |
+
VERSION = 'pressure-scaled-issue-structure-experimental-v1'
|
| 22 |
+
QUADRANTS = ('NE', 'SE', 'SW', 'NW')
|
| 23 |
+
THRESHOLDS = (34, 50, 64)
|
| 24 |
+
METRICS = ('wind_estimate_kt', 'rmw_persistence_km') + tuple(
|
| 25 |
+
f'r{t}_{q}_estimate_km' for t in THRESHOLDS for q in QUADRANTS)
|
| 26 |
+
MAX_RADIUS_KM = 1500.0
|
| 27 |
+
REFERENCES = (
|
| 28 |
+
'https://noaa-ocs-modeling.github.io/PaHM/html/models.html',
|
| 29 |
+
'https://www.ncei.noaa.gov/sites/default/files/2025-09/IBTrACS_v04r01_column_documentation.pdf',
|
| 30 |
+
)
|
| 31 |
+
DEFINITIONS = dict(
|
| 32 |
+
units='km', quantity_kind='radius_not_diameter',
|
| 33 |
+
thresholds_kt=list(THRESHOLDS), quadrant_order=list(QUADRANTS),
|
| 34 |
+
quadrant_statistic='maximum_extent_within_quadrant',
|
| 35 |
+
target_wind_averaging_seconds=60,
|
| 36 |
+
validated_wind_averaging_seconds=None,
|
| 37 |
+
validated_surface_height_m=None,
|
| 38 |
+
rmw='issue-time reported RMW carried forward unchanged; persistence baseline',
|
| 39 |
+
official_scoring_allowed=False,
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
def number(row, key, low=0.0, high=10000.0):
|
| 44 |
+
try:
|
| 45 |
+
value = float(row.get(key, '').strip())
|
| 46 |
+
except (TypeError, ValueError, AttributeError):
|
| 47 |
+
return None
|
| 48 |
+
return value if math.isfinite(value) and low <= value <= high else None
|
| 49 |
+
|
| 50 |
+
|
| 51 |
+
def radius_km(row, key, *, rmw=False):
|
| 52 |
+
"""IBTrACS USA radii are nautical-mile radii, not diameters."""
|
| 53 |
+
value = number(row, key, 0.001 if rmw else 0.0, 999.0)
|
| 54 |
+
return None if value is None else value * 1.852
|
| 55 |
+
|
| 56 |
+
|
| 57 |
+
def ambient_pressure(field, latitude, longitude, center):
|
| 58 |
+
"""Use actual coarse-model cells for ambient pressure, not inner-core size.
|
| 59 |
+
|
| 60 |
+
Median available cells 600..1000 km from the predicted center; require
|
| 61 |
+
>=2 physical cells in each quadrant. Record sample count/coverage. Missing
|
| 62 |
+
quadrants, out-of-domain centers and nonphysical values fail closed.
|
| 63 |
+
"""
|
| 64 |
+
p = np.asarray(field, dtype=float)
|
| 65 |
+
lat, lon, c = (np.asarray(a, dtype=float) for a in (latitude, longitude, center))
|
| 66 |
+
if p.shape != (len(lat), len(lon)) or c.shape != (2,):
|
| 67 |
+
raise ValueError('Pressure grid/coordinate shape mismatch')
|
| 68 |
+
if not np.isfinite(c).all() or not (0 < c[0] < 60 and 100 < c[1] < 180):
|
| 69 |
+
return dict(value_hpa=None, status='outside_model_domain', cells=0)
|
| 70 |
+
yy, xx = np.meshgrid(lat, lon, indexing='ij')
|
| 71 |
+
a, b = np.deg2rad(yy-c[0]), np.deg2rad(xx-c[1])
|
| 72 |
+
h = np.sin(a/2)**2 + np.cos(np.deg2rad(yy))*np.cos(np.deg2rad(c[0]))*np.sin(b/2)**2
|
| 73 |
+
distance = 2*6371.0088*np.arcsin(np.sqrt(np.clip(h, 0, 1)))
|
| 74 |
+
mask = (600 <= distance) & (distance <= 1000)
|
| 75 |
+
physical = np.isfinite(p) & (800 <= p) & (p <= 1100)
|
| 76 |
+
qmask = ((yy >= c[0]) & (xx >= c[1]), (yy < c[0]) & (xx >= c[1]),
|
| 77 |
+
(yy < c[0]) & (xx < c[1]), (yy >= c[0]) & (xx < c[1]))
|
| 78 |
+
counts = [int((mask & physical & q).sum()) for q in qmask]
|
| 79 |
+
usable = mask & physical
|
| 80 |
+
result = dict(cells=int(usable.sum()), candidate_cells=int(mask.sum()),
|
| 81 |
+
quadrant_cells=dict(zip(QUADRANTS, counts)),
|
| 82 |
+
annulus_km=[600, 1000], statistic='median_available_physical_cells')
|
| 83 |
+
if min(counts) < 2:
|
| 84 |
+
return dict(result, value_hpa=None, status='insufficient_ambient_coverage')
|
| 85 |
+
return dict(result, value_hpa=float(np.median(p[usable])), status='available')
|
| 86 |
+
|
| 87 |
+
|
| 88 |
+
def initialize(row, issue_time_utc, ambient_hpa):
|
| 89 |
+
"""Allowlisted fields from ONE exact issue row; no future labels accepted."""
|
| 90 |
+
issue = datetime.fromisoformat(issue_time_utc.replace('Z', '+00:00'))
|
| 91 |
+
if issue.utcoffset() is None or issue.utcoffset().total_seconds() != 0:
|
| 92 |
+
raise ValueError('Issue time must be UTC')
|
| 93 |
+
if row.get('ISO_TIME') != issue.strftime('%Y-%m-%d %H:%M:%S'):
|
| 94 |
+
raise ValueError('Initialization is not the exact issue-time report')
|
| 95 |
+
# Model pressure is initialized from TOKYO_PRES in the released runner.
|
| 96 |
+
# USA wind/radii are a NEW diagnostic input, not silently injected into the
|
| 97 |
+
# neural issue_intensity tensor, and not obtained from future observations.
|
| 98 |
+
wind = number(row, 'USA_WIND', 0.01, 249.0)
|
| 99 |
+
pressure = number(row, 'TOKYO_PRES', 800.0, 1100.0)
|
| 100 |
+
rmw = radius_km(row, 'USA_RMW', rmw=True)
|
| 101 |
+
pn = float(ambient_hpa) if ambient_hpa is not None else None
|
| 102 |
+
if pn is not None and not (math.isfinite(pn) and 800 <= pn <= 1100):
|
| 103 |
+
raise ValueError('Invalid issue ambient pressure')
|
| 104 |
+
radii = {f'r{t}_{q}': radius_km(row, f'USA_R{t}_{q}')
|
| 105 |
+
for t in THRESHOLDS for q in QUADRANTS}
|
| 106 |
+
deficit = pn-pressure if pn is not None and pressure is not None else None
|
| 107 |
+
b = None
|
| 108 |
+
if wind is not None and deficit is not None and deficit > 1:
|
| 109 |
+
# Fixed literature-motivated shape range, not selected on these storms.
|
| 110 |
+
b = float(np.clip(1.15*math.e*(wind*.514444444444/.8)**2/(deficit*100), 1, 2.5))
|
| 111 |
+
return dict(method=VERSION, storm_id=row.get('SID'), issue_time_utc=issue_time_utc,
|
| 112 |
+
input_wind_kt=wind, input_model_pressure_hpa=pressure,
|
| 113 |
+
ambient_pressure_hpa=pn, pressure_deficit_hpa=deficit,
|
| 114 |
+
rmw_persistence_km=rmw, native_quadrant_radii_km=radii,
|
| 115 |
+
holland_inspired_tail_b=b, source_agency=row.get('USA_AGENCY', '').strip(),
|
| 116 |
+
source_track_type=row.get('TRACK_TYPE', '').strip(),
|
| 117 |
+
usa_reference_center=[number(row, 'USA_LAT', -90, 90), number(row, 'USA_LON', -180, 180)],
|
| 118 |
+
model_origin=[number(row, 'LAT', -90, 90), number(row, 'LON', -180, 180)],
|
| 119 |
+
definitions=DEFINITIONS,
|
| 120 |
+
mixed_agency_initialization='USA 1-minute wind/radii; model TOKYO pressure. No conversion between wind periods.',
|
| 121 |
+
calibration='none; initialization is issue assimilation, not future-target fitting')
|
| 122 |
+
|
| 123 |
+
|
| 124 |
+
def envelope(initial, quadrant):
|
| 125 |
+
"""Strictly decreasing outer envelope; expose inconsistent issue reports."""
|
| 126 |
+
vmax, rmw = initial['input_wind_kt'], initial['rmw_persistence_km']
|
| 127 |
+
if vmax is None or rmw is None:
|
| 128 |
+
return None, ['missing_issue_wind_or_rmw']
|
| 129 |
+
points = [(float(rmw), float(vmax))]
|
| 130 |
+
candidates, warnings = [], []
|
| 131 |
+
for t in reversed(THRESHOLDS):
|
| 132 |
+
r = initial['native_quadrant_radii_km'][f'r{t}_{quadrant}']
|
| 133 |
+
if r is None:
|
| 134 |
+
continue
|
| 135 |
+
if r == 0:
|
| 136 |
+
# Reported absence is not a blank. A constant-peak quadrant envelope
|
| 137 |
+
# cannot honor an absent lower isotach: fail closed for this quadrant.
|
| 138 |
+
if t <= vmax:
|
| 139 |
+
return None, [f'reported_zero_r{t}_incompatible_with_constant_peak_envelope']
|
| 140 |
+
continue
|
| 141 |
+
if t >= vmax or r <= rmw:
|
| 142 |
+
warnings.append(f'inconsistent_initial_r{t}_{quadrant}_not_assimilated')
|
| 143 |
+
continue
|
| 144 |
+
candidates.append((r, float(t)))
|
| 145 |
+
for radius, value in sorted(candidates):
|
| 146 |
+
if radius <= points[-1][0] or value >= points[-1][1]:
|
| 147 |
+
warnings.append('nonmonotonic_issue_isotach_not_assimilated')
|
| 148 |
+
else:
|
| 149 |
+
points.append((radius, value))
|
| 150 |
+
return points, warnings
|
| 151 |
+
|
| 152 |
+
|
| 153 |
+
def outer_radius(points, initial_b, initial_threshold):
|
| 154 |
+
"""Solve the analytic outer envelope; do not fabricate a grid-edge crossing."""
|
| 155 |
+
if initial_threshold <= 0:
|
| 156 |
+
return None
|
| 157 |
+
if initial_threshold > points[0][1]:
|
| 158 |
+
return 0.0 # complete candidate envelope never reaches the threshold
|
| 159 |
+
for (r0, v0), (r1, v1) in zip(points[:-1], points[1:]):
|
| 160 |
+
if v1 <= initial_threshold <= v0:
|
| 161 |
+
fraction = math.log(initial_threshold/v0)/math.log(v1/v0)
|
| 162 |
+
return math.exp(math.log(r0) + fraction*math.log(r1/r0))
|
| 163 |
+
r, v = points[-1]
|
| 164 |
+
# Holland's far-field wind asymptote V~r^(-B/2); this is an explicit
|
| 165 |
+
# parametric extrapolation, not a native resolved wind or pressure field.
|
| 166 |
+
result = r*(v/initial_threshold)**(2/initial_b)
|
| 167 |
+
return float(result) if result <= MAX_RADIUS_KM else None
|
| 168 |
+
|
| 169 |
+
|
| 170 |
+
def diagnose(initial, pressure_hpa, ambient, *, track_valid=True):
|
| 171 |
+
result = {key: None for key in METRICS}
|
| 172 |
+
result.update(method=VERSION, experimental=True, status='unavailable', warnings=[],
|
| 173 |
+
official_scoring_allowed=False, ambient=ambient)
|
| 174 |
+
if not track_valid or ambient['status'] == 'outside_model_domain':
|
| 175 |
+
result['status'] = 'outside_model_domain_or_invalid_track'
|
| 176 |
+
return result
|
| 177 |
+
wind, d0 = initial['input_wind_kt'], initial['pressure_deficit_hpa']
|
| 178 |
+
if wind is None or d0 is None or d0 <= 1:
|
| 179 |
+
result['status'] = 'missing_issue_wind_or_positive_pressure_deficit'
|
| 180 |
+
return result
|
| 181 |
+
if ambient['value_hpa'] is None or not math.isfinite(pressure_hpa) or not 800 <= pressure_hpa <= 1100:
|
| 182 |
+
result['status'] = 'missing_physical_model_pressure'
|
| 183 |
+
return result
|
| 184 |
+
future_deficit = ambient['value_hpa']-pressure_hpa
|
| 185 |
+
if future_deficit <= 0:
|
| 186 |
+
result['status'] = 'model_has_no_positive_vortex_pressure_deficit'
|
| 187 |
+
return result
|
| 188 |
+
scale = math.sqrt(future_deficit/d0)
|
| 189 |
+
predicted_wind = wind*scale
|
| 190 |
+
if not math.isfinite(predicted_wind) or predicted_wind >= 250:
|
| 191 |
+
result['status'] = 'wind_outside_candidate_physical_range'
|
| 192 |
+
return result
|
| 193 |
+
result.update(wind_estimate_kt=float(predicted_wind), status='experimental_issue_anchored_estimate',
|
| 194 |
+
pressure_deficit_hpa=float(future_deficit), pressure_scaling=float(scale),
|
| 195 |
+
rmw_persistence_km=initial['rmw_persistence_km'])
|
| 196 |
+
for quadrant in QUADRANTS:
|
| 197 |
+
points, warnings = envelope(initial, quadrant)
|
| 198 |
+
result['warnings'] += warnings
|
| 199 |
+
if points is None:
|
| 200 |
+
continue # wind remains usable even if structure was not observed
|
| 201 |
+
for threshold in THRESHOLDS:
|
| 202 |
+
radius = outer_radius(points, initial['holland_inspired_tail_b'], threshold/scale)
|
| 203 |
+
result[f'r{threshold}_{quadrant}_estimate_km'] = radius
|
| 204 |
+
if radius is None:
|
| 205 |
+
result['warnings'].append(f'r{threshold}_{quadrant}_beyond_{MAX_RADIUS_KM:g}_km_candidate_range')
|
| 206 |
+
return result
|
| 207 |
+
|
| 208 |
+
|
| 209 |
+
def summarize(members, *, expected_members):
|
| 210 |
+
if len(members) != expected_members or expected_members < 1:
|
| 211 |
+
raise ValueError('Actual member diagnostics do not match the claimed count')
|
| 212 |
+
summary = dict(method=VERSION, members=len(members), definitions=DEFINITIONS,
|
| 213 |
+
aggregation='diagnose each physical forecast member then equal-weight mean',
|
| 214 |
+
estimates={}, official_scoring_allowed=False)
|
| 215 |
+
for key in METRICS:
|
| 216 |
+
values = [m[key] for m in members if m[key] is not None and math.isfinite(m[key])]
|
| 217 |
+
complete = len(values) == expected_members
|
| 218 |
+
summary['estimates'][key] = dict(
|
| 219 |
+
mean=float(np.mean(values)) if complete else None,
|
| 220 |
+
p10=float(np.quantile(values, .1)) if complete else None,
|
| 221 |
+
p90=float(np.quantile(values, .9)) if complete else None,
|
| 222 |
+
valid_members=len(values), total_members=expected_members)
|
| 223 |
+
return summary
|
| 224 |
+
|
| 225 |
+
|
| 226 |
+
def official_radius_mae(*_args, **_kwargs):
|
| 227 |
+
raise ValueError('Strict official scoring blocked: no validated surface-wind averaging-period calibration; RMW is persistence')
|
release_tools/test_intensity_benchmark.py
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import unittest
|
| 2 |
+
from benchmark_intensity_v12_v11 import aggregate, common_errors, initial_available
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
class IntensityProtocolTests(unittest.TestCase):
|
| 6 |
+
def test_initial_missing_pressure_is_not_filled(self):
|
| 7 |
+
self.assertFalse(initial_available([40, 0]))
|
| 8 |
+
self.assertFalse(initial_available([float('nan'), 990]))
|
| 9 |
+
self.assertTrue(initial_available([0, 1000]))
|
| 10 |
+
|
| 11 |
+
def test_common_masks_retain_zero_wind(self):
|
| 12 |
+
result = common_errors([0, 2, 3], [1, float('nan'), 4], [0, 1, None], low=0, high=249)
|
| 13 |
+
self.assertEqual(result, {'1.1': [0., None, None], '1.2': [1., None, None]})
|
| 14 |
+
|
| 15 |
+
def test_equal_storm_not_equal_issue(self):
|
| 16 |
+
rows = []
|
| 17 |
+
for sid, old, new in [('a', 10, 4), ('a', 10, 4), ('b', 20, 12)]:
|
| 18 |
+
rows.append({'storm_id': sid, 'errors': {'p': {'1.1': [old]*20, '1.2': [new]*20}}})
|
| 19 |
+
report = aggregate(rows, 'p')
|
| 20 |
+
self.assertEqual(report['models']['1.1']['equal_storm_mae'], 15)
|
| 21 |
+
self.assertEqual(report['models']['1.2']['equal_storm_mae'], 8)
|
| 22 |
+
self.assertEqual(report['valid_daily_issues'], 3)
|
| 23 |
+
|
| 24 |
+
def test_missing_leads_remain_unavailable(self):
|
| 25 |
+
report = aggregate([{'storm_id': 'a', 'errors': {'p': {'1.1': [1]+[None]*19, '1.2': [2]+[None]*19}}}], 'p')
|
| 26 |
+
self.assertEqual(report['models']['1.1']['equal_storm_mae_by_lead'], [1]+[None]*19)
|
| 27 |
+
self.assertEqual(report['paired_issue_leads_by_lead'], [1]+[0]*19)
|
| 28 |
+
|
| 29 |
+
|
| 30 |
+
if __name__ == '__main__':
|
| 31 |
+
unittest.main()
|
release_tools/test_intensity_curves.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""Score definitions and coverage guards, with no model inference."""
|
| 2 |
+
import unittest
|
| 3 |
+
from plot_intensity_benchmark import aggregate_daily, curve_scores
|
| 4 |
+
|
| 5 |
+
|
| 6 |
+
class CurveTests(unittest.TestCase):
|
| 7 |
+
def test_bias_is_not_shape_accuracy(self):
|
| 8 |
+
scores, coverage = curve_scores({'1.1': [1,2,3,4,5,6], '1.2': [11,12,13,14,15,16]},
|
| 9 |
+
[1,2,3,4,5,6], low=0, high=200)
|
| 10 |
+
self.assertEqual(scores['1.2']['mae'], 10)
|
| 11 |
+
self.assertAlmostEqual(scores['1.2']['shape_error'], 0)
|
| 12 |
+
self.assertEqual(scores['1.2']['trend_error'], 0)
|
| 13 |
+
self.assertEqual(coverage['valid_adjacent_steps'], 5)
|
| 14 |
+
|
| 15 |
+
def test_missing_never_zero_or_jump(self):
|
| 16 |
+
scores, coverage = curve_scores({'1.1': [1,2,3,4,5,6], '1.2': [1,None,3,4,None,6]},
|
| 17 |
+
[1,2,3,4,5,6], low=0, high=200)
|
| 18 |
+
self.assertEqual(coverage['valid_leads'], 4)
|
| 19 |
+
self.assertEqual(coverage['valid_adjacent_steps'], 1)
|
| 20 |
+
self.assertIsNone(scores['1.1']['shape_error'])
|
| 21 |
+
self.assertEqual(scores['1.1']['mae'], scores['1.2']['mae'])
|
| 22 |
+
|
| 23 |
+
def test_flat_not_perfect_shape(self):
|
| 24 |
+
scores, _ = curve_scores({'1.1': [1]*6, '1.2': [1,2,3,4,5,6]}, [1]*6, low=0, high=200)
|
| 25 |
+
self.assertIsNone(scores['1.1']['shape_error'])
|
| 26 |
+
self.assertIsNone(scores['1.2']['shape_error'])
|
| 27 |
+
self.assertEqual(scores['1.1']['trend_error'], 0)
|
| 28 |
+
self.assertEqual(scores['1.2']['trend_error'], 1)
|
| 29 |
+
|
| 30 |
+
def test_opposite_curves(self):
|
| 31 |
+
scores, _ = curve_scores({'1.1': [1,2,3,4,5,6], '1.2': [6,5,4,3,2,1]}, [1,2,3,4,5,6], low=0, high=200)
|
| 32 |
+
self.assertAlmostEqual(scores['1.2']['shape_error'], 1)
|
| 33 |
+
self.assertEqual(scores['1.2']['trend_error'], 1)
|
| 34 |
+
|
| 35 |
+
def test_daily_then_equal_storm(self):
|
| 36 |
+
records = [{'storm_id':'long','models':{'1.1':{'mae':0},'1.2':{'mae':10}}} for _ in range(10)]
|
| 37 |
+
records += [{'storm_id':'short','models':{'1.1':{'mae':100},'1.2':{'mae':100}}}]
|
| 38 |
+
scores = aggregate_daily(records)['mae']
|
| 39 |
+
self.assertEqual(scores['models']['1.1']['equal_storm_mean'], 50)
|
| 40 |
+
self.assertEqual(scores['models']['1.2']['equal_storm_mean'], 55)
|
| 41 |
+
self.assertEqual(scores['valid_daily_issues'], 11)
|
| 42 |
+
self.assertEqual(scores['valid_storms'], 2)
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
if __name__ == '__main__':
|
| 46 |
+
unittest.main()
|
release_tools/test_storm_structure_diagnostics.py
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import copy
|
| 2 |
+
import unittest
|
| 3 |
+
|
| 4 |
+
import numpy as np
|
| 5 |
+
|
| 6 |
+
from forecast_historical_video50_mac import requested_cases, exact_history_indices
|
| 7 |
+
from storm_structure_diagnostics import (
|
| 8 |
+
initialize, radius_km, envelope, outer_radius, diagnose, summarize,
|
| 9 |
+
ambient_pressure, official_radius_mae, THRESHOLDS, QUADRANTS, METRICS,
|
| 10 |
+
)
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
class StormStructureTests(unittest.TestCase):
|
| 14 |
+
def row(self):
|
| 15 |
+
row = dict(SID='2015211N13162', ISO_TIME='2015-08-05 00:00:00',
|
| 16 |
+
USA_WIND='100', TOKYO_PRES='950', USA_RMW='20',
|
| 17 |
+
LAT='20', LON='135', USA_LAT='20', USA_LON='135',
|
| 18 |
+
USA_AGENCY='jtwc_wp', TRACK_TYPE='main')
|
| 19 |
+
for t, r in ((34, 140), (50, 80), (64, 50)):
|
| 20 |
+
for i, q in enumerate(QUADRANTS):
|
| 21 |
+
row[f'USA_R{t}_{q}'] = str(r+i*5)
|
| 22 |
+
return row
|
| 23 |
+
|
| 24 |
+
def initial(self, row=None):
|
| 25 |
+
return initialize(row or self.row(), '2015-08-05T00:00:00Z', 1010)
|
| 26 |
+
|
| 27 |
+
def member(self, cp=950, initial=None):
|
| 28 |
+
return diagnose(initial or self.initial(), cp, {'value_hpa':1010, 'status':'available'})
|
| 29 |
+
|
| 30 |
+
def test_nautical_miles_are_radius_not_diameter(self):
|
| 31 |
+
self.assertAlmostEqual(radius_km({'USA_RMW':'12'}, 'USA_RMW', rmw=True), 22.224)
|
| 32 |
+
self.assertEqual(radius_km({'USA_R34_NE':'0'}, 'USA_R34_NE'), 0)
|
| 33 |
+
self.assertIsNone(radius_km({'USA_R34_NE':''}, 'USA_R34_NE'))
|
| 34 |
+
self.assertIsNone(radius_km({'USA_RMW':'0'}, 'USA_RMW', rmw=True))
|
| 35 |
+
|
| 36 |
+
def test_exact_issue_only_and_no_future_influence(self):
|
| 37 |
+
before = self.initial()
|
| 38 |
+
row = self.row()
|
| 39 |
+
row.update(future_wind='999', future_r34='1', USA_EYE='700', TOKYO_R30_LONG='900')
|
| 40 |
+
self.assertEqual(before, self.initial(row))
|
| 41 |
+
row['ISO_TIME'] = '2015-08-05 06:00:00'
|
| 42 |
+
with self.assertRaises(ValueError):
|
| 43 |
+
self.initial(row)
|
| 44 |
+
|
| 45 |
+
def test_native_quadrant_isotachs_initialized_without_rms_or_period_conversion(self):
|
| 46 |
+
initial = self.initial()
|
| 47 |
+
for q in QUADRANTS:
|
| 48 |
+
points, warnings = envelope(initial, q)
|
| 49 |
+
self.assertEqual(warnings, [])
|
| 50 |
+
for t in THRESHOLDS:
|
| 51 |
+
self.assertAlmostEqual(outer_radius(points, initial['holland_inspired_tail_b'], t),
|
| 52 |
+
initial['native_quadrant_radii_km'][f'r{t}_{q}'])
|
| 53 |
+
result = self.member()
|
| 54 |
+
self.assertNotEqual(result['r34_NE_estimate_km'], result['r34_SW_estimate_km'])
|
| 55 |
+
self.assertEqual(initial['definitions']['target_wind_averaging_seconds'], 60)
|
| 56 |
+
self.assertIsNone(initial['definitions']['validated_wind_averaging_seconds'])
|
| 57 |
+
|
| 58 |
+
def test_pressure_drives_future_and_does_not_change_rmw_persistence(self):
|
| 59 |
+
initial = self.initial()
|
| 60 |
+
before = copy.deepcopy(initial)
|
| 61 |
+
weak, strong = self.member(980, initial), self.member(900, initial)
|
| 62 |
+
self.assertGreater(strong['wind_estimate_kt'], weak['wind_estimate_kt'])
|
| 63 |
+
self.assertGreater(strong['r34_NE_estimate_km'], weak['r34_NE_estimate_km'])
|
| 64 |
+
self.assertEqual(strong['rmw_persistence_km'], weak['rmw_persistence_km'])
|
| 65 |
+
self.assertEqual(initial, before)
|
| 66 |
+
|
| 67 |
+
def test_missing_rmw_does_not_block_wind_or_invent_a_radius(self):
|
| 68 |
+
row = self.row()
|
| 69 |
+
row['USA_RMW'] = ''
|
| 70 |
+
result = self.member(initial=self.initial(row))
|
| 71 |
+
self.assertIsNotNone(result['wind_estimate_kt'])
|
| 72 |
+
self.assertIsNone(result['rmw_persistence_km'])
|
| 73 |
+
self.assertTrue(all(result[f'r{t}_{q}_estimate_km'] is None for t in THRESHOLDS for q in QUADRANTS))
|
| 74 |
+
|
| 75 |
+
def test_below_threshold_is_candidate_zero_not_missing_reference(self):
|
| 76 |
+
result = self.member(1005)
|
| 77 |
+
self.assertLess(result['wind_estimate_kt'], 34)
|
| 78 |
+
self.assertEqual(result['r34_NE_estimate_km'], 0)
|
| 79 |
+
self.assertIsNone(outer_radius([(30, 100)], 1, 1)) # no last-edge substitute
|
| 80 |
+
|
| 81 |
+
def test_missing_zero_or_inconsistent_initial_quadrant_is_visible(self):
|
| 82 |
+
row = self.row()
|
| 83 |
+
row['USA_R34_NE'] = '0'
|
| 84 |
+
result = self.member(initial=self.initial(row))
|
| 85 |
+
self.assertIsNone(result['r34_NE_estimate_km'])
|
| 86 |
+
self.assertIsNotNone(result['r34_SE_estimate_km'])
|
| 87 |
+
self.assertIn('reported_zero', result['warnings'][0])
|
| 88 |
+
row['USA_R34_NE'] = '1'
|
| 89 |
+
points, warnings = envelope(self.initial(row), 'NE')
|
| 90 |
+
self.assertTrue(any('inconsistent' in w for w in warnings))
|
| 91 |
+
self.assertTrue(points)
|
| 92 |
+
|
| 93 |
+
def test_missing_pressure_invalid_tracks_do_not_create_wind(self):
|
| 94 |
+
initial = self.initial()
|
| 95 |
+
for cp, ambient, valid in ((np.nan, {'value_hpa':1010, 'status':'available'}, True),
|
| 96 |
+
(950, {'value_hpa':None, 'status':'insufficient_ambient_coverage'}, True),
|
| 97 |
+
(950, {'value_hpa':1010, 'status':'available'}, False)):
|
| 98 |
+
result = diagnose(initial, cp, ambient, track_valid=valid)
|
| 99 |
+
self.assertTrue(all(result[k] is None for k in METRICS))
|
| 100 |
+
|
| 101 |
+
def test_true_member_mean_noncommutativity_and_partial_members(self):
|
| 102 |
+
a, b = self.member(980), self.member(900)
|
| 103 |
+
result = summarize([a,b], expected_members=2)['estimates']['wind_estimate_kt']
|
| 104 |
+
self.assertAlmostEqual(result['mean'], (a['wind_estimate_kt']+b['wind_estimate_kt'])/2)
|
| 105 |
+
self.assertNotAlmostEqual(result['mean'], self.member(940)['wind_estimate_kt'], places=3)
|
| 106 |
+
broken = dict(a, wind_estimate_kt=None)
|
| 107 |
+
result = summarize([a]*49+[broken], expected_members=50)['estimates']['wind_estimate_kt']
|
| 108 |
+
self.assertIsNone(result['mean'])
|
| 109 |
+
self.assertEqual(result['valid_members'],49)
|
| 110 |
+
with self.assertRaises(ValueError):
|
| 111 |
+
summarize([a,b], expected_members=50)
|
| 112 |
+
|
| 113 |
+
def test_ambient_uses_physical_grid_cells_and_fails_closed_at_domain(self):
|
| 114 |
+
lat, lon = np.linspace(60,0,25), np.linspace(100,180,33)
|
| 115 |
+
p = np.full((25,33),1010.)
|
| 116 |
+
before = p.copy()
|
| 117 |
+
result = ambient_pressure(p,lat,lon,[20,135])
|
| 118 |
+
self.assertEqual(result['value_hpa'],1010)
|
| 119 |
+
self.assertGreaterEqual(min(result['quadrant_cells'].values()),2)
|
| 120 |
+
self.assertIsNone(ambient_pressure(p,lat,lon,[20,181])['value_hpa'])
|
| 121 |
+
self.assertIsNone(ambient_pressure(p*np.nan,lat,lon,[20,135])['value_hpa'])
|
| 122 |
+
np.testing.assert_array_equal(p,before)
|
| 123 |
+
|
| 124 |
+
def test_strict_skill_gate_not_bypassed_by_matching_units_or_targets(self):
|
| 125 |
+
with self.assertRaisesRegex(ValueError,'calibration'):
|
| 126 |
+
official_radius_mae(self.member(),self.row())
|
| 127 |
+
|
| 128 |
+
def test_generic_forecast_case_validation_and_causal_exact_history(self):
|
| 129 |
+
cases=requested_cases(None,[['nari','2001248N22135','2001-09-08T00:00:00Z']])
|
| 130 |
+
self.assertEqual(len(cases),1)
|
| 131 |
+
for slug, sid, issue in (('../bad','2001248N22135','2001-09-08T00:00:00Z'),
|
| 132 |
+
('nari','wrong','2001-09-08T00:00:00Z'),
|
| 133 |
+
('nari','2001248N22135','2001-09-08T03:00:00Z')):
|
| 134 |
+
with self.assertRaises(ValueError):
|
| 135 |
+
requested_cases(None,[[slug,sid,issue]])
|
| 136 |
+
hour=3600*10**9
|
| 137 |
+
end=np.datetime64('2001-09-08T00:00:00','ns').astype('int64')
|
| 138 |
+
times=end+np.arange(-8,2)*6*hour
|
| 139 |
+
indices=exact_history_indices(times,'2001-09-08T00:00:00Z')
|
| 140 |
+
self.assertEqual(int(times[indices[-1]]),end)
|
| 141 |
+
with self.assertRaises(ValueError):
|
| 142 |
+
exact_history_indices(np.delete(times,4),'2001-09-08T00:00:00Z')
|
| 143 |
+
|
| 144 |
+
|
| 145 |
+
if __name__=='__main__':
|
| 146 |
+
unittest.main()
|