euler314 commited on
Commit
2c8fbd7
·
verified ·
1 Parent(s): 33341f3

Add verified 50-member Soudelor, Mangkhut and Meranti films; refresh Fung-wong

Browse files
.gitattributes CHANGED
@@ -176,3 +176,12 @@ evaluation/history-tick-inputs-1996-v2/weather-2024.npz filter=lfs diff=lfs merg
176
  evaluation/history-tick-inputs-1996-v2/weather-2025.npz filter=lfs diff=lfs merge=lfs -text
177
  evaluation/history-tick-inputs-1996-v2/weather-2026.npz filter=lfs diff=lfs merge=lfs -text
178
  evaluation/history-tick-inputs-1996-v2/weather-requested-1986228N19120.npz filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
176
  evaluation/history-tick-inputs-1996-v2/weather-2025.npz filter=lfs diff=lfs merge=lfs -text
177
  evaluation/history-tick-inputs-1996-v2/weather-2026.npz filter=lfs diff=lfs merge=lfs -text
178
  evaluation/history-tick-inputs-1996-v2/weather-requested-1986228N19120.npz filter=lfs diff=lfs merge=lfs -text
179
+ docs/trackformer_1_2_soudelor.mp4 filter=lfs diff=lfs merge=lfs -text
180
+ evaluation/trackformer_1_2_soudelor_video_poster.png filter=lfs diff=lfs merge=lfs -text
181
+ evaluation/release_data/soudelor_video.npz filter=lfs diff=lfs merge=lfs -text
182
+ docs/trackformer_1_2_mangkhut.mp4 filter=lfs diff=lfs merge=lfs -text
183
+ evaluation/trackformer_1_2_mangkhut_video_poster.png filter=lfs diff=lfs merge=lfs -text
184
+ 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
README.md CHANGED
@@ -87,12 +87,38 @@ Mean track error is **41.0% lower** for 1.2 on this cohort. Direction, shape and
87
 
88
  **[Play or download the Fung-wong MP4](https://yu314-coder.github.io/typhoon-predict/trackformer_1_2_fung_wong.mp4)** · 23 seconds · +6 to +120 h · **50-member mean**. Click the preview above to play it; inline video playback depends on the Markdown host.
89
 
90
- The forecast starts **7 November 2025 at 00 UTC**. Actual saved model-generated pressure with **4 hPa isobars** is shown alongside the mean forecast route and observed best track, at matching valid times and on the same geographic map. Neither route nor field is shifted or rescaled to improve alignment. The central-pressure timeline compares the forecast to **JMA best-track pressure from IBTrACS TOKYO_PRES**, not a JMA forecast.
91
 
92
  This is the user-selected **Fung-wong route-and-pressure example**, not a claim of typical or untouched-test performance. The curves follow a similar broad path but do not perfectly overlap; timing and position differences remain. Central-pressure MAE is **7.36 hPa** across 20 valid labels, with an imperfect intensification and weakening cycle. For context, mean geographic position error is 130.9 km and +120 h error is 142.3 km; those distances alone do not establish route overlap. These scores use exact observed coordinates and great-circle distances, separately from the saved local-coordinate benchmark scores above.
93
 
94
  Native-detail input history was unavailable; the regional pressure reconstruction uses 0.25° output sampling, not native resolution. **From +66 h the forecast centre is outside the fixed regional patch**, so only the saved coarse basin field is displayed there. The video labels this coverage limit; it does not invent an extended detailed core. Member-mean central pressure still comes from each model member's moving-core readout, not the minimum of the displayed mean map. [Data, source hashes and video provenance](evaluation/release_data/fung_wong_video.json).
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  ### Illustrated technical paper
97
 
98
  The **[Trackformer 1.2 technical paper (PDF)](paper/trackformer.pdf)** explains the input tensors, multiscale attention, recurrent basin transport, moving pressure core, centre association, objectives and 50-member means. It includes a **model-structure diagram**, **1.2-versus-1.1 benchmark bars and lead-error curves**, and the selected **Fung-wong route, central-pressure timeline and model-generated isobar map**. Development-data limitations, short-lead regressions and pressure failures are reported alongside improvements. [Editable, self-contained LaTeX source](paper/trackformer.tex) · [Figure reproduction utility](release_tools/build_paper_figures.py). Historical material is recoverable from Git history and the [1.1 release](https://github.com/yu314-coder/typhoon-predict/releases/tag/trackformer-1.1).
 
87
 
88
  **[Play or download the Fung-wong MP4](https://yu314-coder.github.io/typhoon-predict/trackformer_1_2_fung_wong.mp4)** · 23 seconds · +6 to +120 h · **50-member mean**. Click the preview above to play it; inline video playback depends on the Markdown host.
89
 
90
+ The forecast starts **7 November 2025 at 00 UTC**. The updated MP4 uses **blue for low pressure and red for high pressure**, with the unnecessary map grid and faint future-path overlays removed. Actual saved model-generated pressure with **4 hPa isobars** is shown alongside the mean forecast route and observed best track, at matching valid times and on the same geographic map. Neither route nor field is shifted or rescaled to improve alignment. The central-pressure timeline compares the forecast to **JMA best-track pressure from IBTrACS TOKYO_PRES**, not a JMA forecast.
91
 
92
  This is the user-selected **Fung-wong route-and-pressure example**, not a claim of typical or untouched-test performance. The curves follow a similar broad path but do not perfectly overlap; timing and position differences remain. Central-pressure MAE is **7.36 hPa** across 20 valid labels, with an imperfect intensification and weakening cycle. For context, mean geographic position error is 130.9 km and +120 h error is 142.3 km; those distances alone do not establish route overlap. These scores use exact observed coordinates and great-circle distances, separately from the saved local-coordinate benchmark scores above.
93
 
94
  Native-detail input history was unavailable; the regional pressure reconstruction uses 0.25° output sampling, not native resolution. **From +66 h the forecast centre is outside the fixed regional patch**, so only the saved coarse basin field is displayed there. The video labels this coverage limit; it does not invent an extended detailed core. Member-mean central pressure still comes from each model member's moving-core readout, not the minimum of the displayed mean map. [Data, source hashes and video provenance](evaluation/release_data/fung_wong_video.json).
95
 
96
+ ## More historical pressure forecasts — MP4
97
+
98
+ Each film shows a **Western Pacific pressure overview**, a larger **unshifted forecast-versus-observed route close-up**, and a central-pressure comparison with JMA best track. All three were freshly forecast on the Mac GPU using the frozen **Trackformer 1.2** release and **50 distinct seeded input perturbations**. The displayed physical pressure fields, routes and central pressures are separately averaged over all 50 members. Each 23-second MP4 contains 20 genuine six-hour forecast states through **+120 h**, with blue lows, red highs and 4 hPa isobars; no interpolated forecast states.
99
+
100
+ ### Soudelor (2015) — issue 5 August 2015, 00 UTC
101
+
102
+ <video controls playsinline preload="metadata" width="100%" poster="https://huggingface.co/euler314/typhoon-predict/resolve/main/evaluation/trackformer_1_2_soudelor_video_poster.png" src="https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_soudelor.mp4"></video>
103
+
104
+ [Play / download Soudelor MP4](https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_soudelor.mp4) · [Provenance](evaluation/release_data/soudelor_video.json)
105
+
106
+ ### Mangkhut (2018) — issue 11 September 2018, 00 UTC
107
+
108
+ <video controls playsinline preload="metadata" width="100%" poster="https://huggingface.co/euler314/typhoon-predict/resolve/main/evaluation/trackformer_1_2_mangkhut_video_poster.png" src="https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_mangkhut.mp4"></video>
109
+
110
+ [Play / download Mangkhut MP4](https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_mangkhut.mp4) · [Provenance](evaluation/release_data/mangkhut_video.json)
111
+
112
+ ### Meranti (2016) — issue 10 September 2016, 00 UTC
113
+
114
+ <video controls playsinline preload="metadata" width="100%" poster="https://huggingface.co/euler314/typhoon-predict/resolve/main/evaluation/trackformer_1_2_meranti_video_poster.png" src="https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_meranti.mp4"></video>
115
+
116
+ [Play / download Meranti MP4](https://huggingface.co/euler314/typhoon-predict/resolve/main/docs/trackformer_1_2_meranti.mp4) · [Provenance](evaluation/release_data/meranti_video.json)
117
+
118
+ **These are calendar-selected historical development examples, not untouched tests or representative skill claims.** Their dates were fixed before inference, without choosing the lowest-error starts, but may overlap the checkpoint's fitting/validation years. Inputs are nine exact six-hour retrospective NCEP analyses through issue time, current intensity and past motion. Future observations are comparison labels only. Native-detail history is not supplied to these runs and remains masked; the regional reconstruction has 0.25° sampling, while outside that fixed patch only the 2.5° basin field is shown. Meranti's issue-time wind was missing and remains masked, not filled from future data. No wind-radii forecast is implied.
119
+
120
+ [50-member mean and MP4 audit](evaluation/release_data/historical_video50_verification.json) · [Mac GPU forecast preparation](release_tools/forecast_historical_video50_mac.py) · [Video renderer](release_tools/build_fung_wong_video.py)
121
+
122
  ### Illustrated technical paper
123
 
124
  The **[Trackformer 1.2 technical paper (PDF)](paper/trackformer.pdf)** explains the input tensors, multiscale attention, recurrent basin transport, moving pressure core, centre association, objectives and 50-member means. It includes a **model-structure diagram**, **1.2-versus-1.1 benchmark bars and lead-error curves**, and the selected **Fung-wong route, central-pressure timeline and model-generated isobar map**. Development-data limitations, short-lead regressions and pressure failures are reported alongside improvements. [Editable, self-contained LaTeX source](paper/trackformer.tex) · [Figure reproduction utility](release_tools/build_paper_figures.py). Historical material is recoverable from Git history and the [1.1 release](https://github.com/yu314-coder/typhoon-predict/releases/tag/trackformer-1.1).
docs/trackformer_1_2_fung_wong.mp4 CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:df5b04c0bdff6a0f126a3328dafd6fb7f986788e2622d4ea9667084db5c075b5
3
- size 7257323
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:472f1752c812aa474fa581ef575b35816fe363dc41dc0621c6ec0d83bc99517b
3
+ size 7090864
docs/trackformer_1_2_mangkhut.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a609f7dda0cb42ed5dc17e543c838489f7632317e40d7f29038ee69d691eacbb
3
+ size 9263233
docs/trackformer_1_2_meranti.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e12a83b0e129e5a5accb3a8d396481ea6f72979777d70d17fc9a18e6ad810a59
3
+ size 9489597
docs/trackformer_1_2_soudelor.mp4 ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5fcc26588a75007c50255e92a55ff7442b405995072324850632258a40443bce
3
+ size 9034556
evaluation/release_data/fung_wong_video.json CHANGED
@@ -136,7 +136,7 @@
136
  "forecast_states": 20,
137
  "codec": "H.264",
138
  "encoder": "h264_videotoolbox",
139
- "sha256": "df5b04c0bdff6a0f126a3328dafd6fb7f986788e2622d4ea9667084db5c075b5",
140
  "playback": "Each six-hour state held for 1 second; final frame held 3 seconds extra. No interpolated forecast states."
141
  }
142
  }
 
136
  "forecast_states": 20,
137
  "codec": "H.264",
138
  "encoder": "h264_videotoolbox",
139
+ "sha256": "472f1752c812aa474fa581ef575b35816fe363dc41dc0621c6ec0d83bc99517b",
140
  "playback": "Each six-hour state held for 1 second; final frame held 3 seconds extra. No interpolated forecast states."
141
  }
142
  }
evaluation/release_data/historical_video50_verification.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"verified":true,"storms":{"soudelor":{"storm_id":"2015211N13162","issue_time_utc":"2015-08-05T00:00:00Z","model":"Trackformer 1.2","checkpoint_sha256":"f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0","members":50,"distinct_inputs":50,"distinct_member_outputs":{"center":50,"pressure":50,"basin":50,"regional":50},"max_mean_difference":{"center":0.0,"pressure":0.0,"basin":0.0,"regional":0.0},"causal_nine_analyses_verified":true,"observed_plus_zero_alignment_verified":true,"future_observations_not_in_model_packet":true,"masked_native_history_verified":true,"native_history_available":false,"route_points":21,"pressure_states":20,"mp4_duration_seconds":23.0,"mp4_dimensions":[1600,1000],"files_sha256":{"mean_fields":"bed5425496abde931d81af06e1ef1438504c82468d5577c6bac5dc131a07e91f","mp4":"5fcc26588a75007c50255e92a55ff7442b405995072324850632258a40443bce","individual_members":"161e2a5d8def6ef6f555031ba6ba1b21f16ccf4390366d0360c5bbd06edcd31c","model_inputs":"2cad11d38a54c0ab41c8366793b2bae7febecae89609aeda3e016180df8b1ccd"},"evaluation_limit":"Calendar-selected historical development examples, not untouched holdouts."},"mangkhut":{"storm_id":"2018250N12170","issue_time_utc":"2018-09-11T00:00:00Z","model":"Trackformer 1.2","checkpoint_sha256":"f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0","members":50,"distinct_inputs":50,"distinct_member_outputs":{"center":50,"pressure":50,"basin":50,"regional":50},"max_mean_difference":{"center":0.0,"pressure":0.0,"basin":0.0,"regional":0.0},"causal_nine_analyses_verified":true,"observed_plus_zero_alignment_verified":true,"future_observations_not_in_model_packet":true,"masked_native_history_verified":true,"native_history_available":false,"route_points":21,"pressure_states":20,"mp4_duration_seconds":23.0,"mp4_dimensions":[1600,1000],"files_sha256":{"mean_fields":"f06c857dc0e7edaa67a2e7262324fa0a9ebad684ce5a8ffa1610c27717c35b71","mp4":"a609f7dda0cb42ed5dc17e543c838489f7632317e40d7f29038ee69d691eacbb","individual_members":"5ba1e2325867bc71c48b9f94b8afa02925261e07c175d9c360a71b8334a9f43d","model_inputs":"7a180f3ec9f216b5cb8e9e5e1fdebb60bff779586d42054e10477edd23fdfccd"},"evaluation_limit":"Calendar-selected historical development examples, not untouched holdouts."},"meranti":{"storm_id":"2016253N13144","issue_time_utc":"2016-09-10T00:00:00Z","model":"Trackformer 1.2","checkpoint_sha256":"f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0","members":50,"distinct_inputs":50,"distinct_member_outputs":{"center":50,"pressure":50,"basin":50,"regional":50},"max_mean_difference":{"center":0.0,"pressure":0.0,"basin":0.0,"regional":0.0},"causal_nine_analyses_verified":true,"observed_plus_zero_alignment_verified":true,"future_observations_not_in_model_packet":true,"masked_native_history_verified":true,"native_history_available":false,"route_points":21,"pressure_states":20,"mp4_duration_seconds":23.0,"mp4_dimensions":[1600,1000],"files_sha256":{"mean_fields":"565343166656155e8f227372cce2947536afe83593820c89790606e5ac909baf","mp4":"e12a83b0e129e5a5accb3a8d396481ea6f72979777d70d17fc9a18e6ad810a59","individual_members":"d04b729f31733e63f937ad6a523e8a034cc9e93c6b2775dc1d18ceeb2ad9987b","model_inputs":"5a65f65e765edd48adfa45938d4d452fbec001f7e567afe1b930b5d44e14f9e6"},"evaluation_limit":"Calendar-selected historical development examples, not untouched holdouts."}}}
evaluation/release_data/mangkhut_coastlines.json ADDED
@@ -0,0 +1 @@
 
 
1
+ [[[117.882035,4.137551],[117.313232,3.234428],[118.04833,2.28769],[117.875627,1.827641],[118.996747,0.902219],[117.811858,0.784242],[117.478339,0.102475],[117.521644,-0.803723],[116.560048,-1.487661],[116.533797,-2.483517],[116.148084,-4.012726],[116.000858,-3.657037],[114.864803,-4.106984],[114.468652,-3.495704],[113.755672,-3.43917],[113.256994,-3.118776],[112.068126,-3.478392],[111.703291,-2.994442],[111.04824,-3.049426],[110.223846,-2.934032],[110.070936,-1.592874],[109.571948,-1.314907],[109.091874,-0.459507],[108.952658,0.415375],[109.069136,1.341934],[109.66326,2.006467],[109.830227,1.338136],[110.514061,0.773131],[111.159138,0.976478],[111.797548,0.904441],[112.380252,1.410121],[112.859809,1.49779],[113.80585,1.217549],[114.621355,1.430688],[115.134037,2.821482],[115.519078,3.169238],[115.865517,4.306559],[117.015214,4.306094],[117.882035,4.137551]],[[127.932378,2.174596],[128.004156,1.628531],[128.594559,1.540811],[128.688249,1.132386],[128.635952,0.258486],[128.12017,0.356413],[127.968034,-0.252077],[128.379999,-0.780004],[128.100016,-0.899996],[127.696475,-0.266598],[127.39949,1.011722],[127.600512,1.810691],[127.932378,2.174596]],[[122.927567,0.875192],[124.077522,0.917102],[125.065989,1.643259],[125.240501,1.419836],[124.437035,0.427881],[123.685505,0.235593],[122.723083,0.431137],[121.056725,0.381217],[120.183083,0.237247],[120.04087,-0.519658],[120.935905,-1.408906],[121.475821,-0.955962],[123.340565,-0.615673],[123.258399,-1.076213],[122.822715,-0.930951],[122.38853,-1.516858],[121.508274,-1.904483],[122.454572,-3.186058],[122.271896,-3.5295],[123.170963,-4.683693],[123.162333,-5.340604],[122.628515,-5.634591],[122.236394,-5.282933],[122.719569,-4.464172],[121.738234,-4.851331],[121.489463,-4.574553],[121.619171,-4.188478],[120.898182,-3.602105],[120.972389,-2.627643],[120.305453,-2.931604],[120.390047,-4.097579],[120.430717,-5.528241],[119.796543,-5.6734],[119.366906,-5.379878],[119.653606,-4.459417],[119.498835,-3.494412],[119.078344,-3.487022],[118.767769,-2.801999],[119.180974,-2.147104],[119.323394,-1.353147],[119.825999,0.154254],[120.035702,0.566477],[120.885779,1.309223],[121.666817,1.013944],[122.927567,0.875192]],[[104.369991,-1.084843],[104.53949,-1.782372],[104.887893,-2.340425],[105.622111,-2.428844],[106.108593,-3.061777],[105.857446,-4.305525],[105.817655,-5.852356],[104.710384,-5.873285],[103.868213,-5.037315],[102.584261,-4.220259],[102.156173,-3.614146],[101.399113,-2.799777],[100.902503,-2.050262],[100.141981,-0.650348],[99.26374,0.183142],[98.970011,1.042882],[98.601351,1.823507],[97.699598,2.453184],[97.176942,3.308791],[96.424017,3.86886],[95.380876,4.970782],[95.293026,5.479821],[95.936863,5.439513],[97.484882,5.246321],[98.369169,4.26837],[99.142559,3.59035],[99.693998,3.174329],[100.641434,2.099381],[101.658012,2.083697],[102.498271,1.3987],[103.07684,0.561361],[103.838396,0.104542],[103.437645,-0.711946],[104.010789,-1.059212],[104.369991,-1.084843]],[[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[48.584353,41.808869],[47.987283,41.405819],[47.815666,41.151416],[47.373315,41.219732],[46.686071,41.827137],[46.404951,41.860675],[45.7764,42.09244],[45.470279,42.502781],[44.537623,42.711993],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.076965,43.553104],[39.955009,43.434998],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.223538,47.10219],[38.255112,47.5464],[38.77057,47.82562],[39.738278,47.898937],[39.89562,48.23241],[39.67465,48.78382],[40.080789,49.30743],[40.06904,49.60105],[38.594988,49.926462],[38.010631,49.915662],[37.39346,50.383953],[36.626168,50.225591],[35.356116,50.577197],[35.37791,50.77394],[35.022183,51.207572],[34.224816,51.255993],[34.141978,51.566413],[34.391731,51.768882],[33.7527,52.335075],[32.715761,52.238465],[32.412058,52.288695],[32.15944,52.06125],[31.785992,52.101678],[31.78597,52.10168],[31.540018,52.742052],[31.305201,53.073996],[31.49764,53.16743],[32.304519,53.132726],[32.693643,53.351421],[32.405599,53.618045],[31.731273,53.794029],[31.791424,53.974639],[31.384472,54.157056],[30.757534,54.811771],[30.971836,55.081548],[30.873909,55.550976],[29.896294,55.789463],[29.371572,55.670091],[29.229513,55.918344],[28.176709,56.16913],[27.855282,56.759326],[27.770016,57.244258],[27.288185,57.474528],[27.716686,57.791899],[27.42015,58.72457],[28.131699,59.300825],[27.98112,59.47537],[27.981127,59.475373],[29.1177,60.02805],[28.070002,60.503519],[28.07,60.50352],[30.211107,61.780028],[31.139991,62.357693],[31.516092,62.867687],[30.035872,63.552814],[30.444685,64.204453],[29.54443,64.948672],[30.21765,65.80598],[29.054589,66.944286],[29.977426,67.698297],[28.445944,68.364613],[28.59193,69.064777],[29.39955,69.15692],[31.101042,69.558101],[31.10108,69.55811],[32.13272,69.90595],[33.77547,69.30142],[36.51396,69.06342],[40.29234,67.9324],[41.05987,67.45713],[41.12595,66.79158],[40.01583,66.26618],[38.38295,65.99953],[33.91871,66.75961],[33.18444,66.63253],[34.81477,65.90015],[34.878574,65.436213],[34.94391,64.41437],[36.23129,64.10945],[37.01273,63.84983],[37.14197,64.33471],[36.539579,64.76446],[37.17604,65.14322],[39.59345,64.52079],[40.4356,64.76446],[39.7626,65.49682],[42.09309,66.47623],[43.01604,66.41858],[43.94975,66.06908],[44.53226,66.75634],[43.69839,67.35245],[44.18795,67.95051],[43.45282,68.57079],[46.25,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202,67.01005],[46.34915,66.66767],[47.89416,66.88455],[48.13876,67.52238],[50.22766,67.99867],[53.71743,68.85738],[54.47171,68.80815],[53.48582,68.20131],[54.72628,68.09702],[55.44268,68.43866],[57.31702,68.46628],[58.802,68.88082],[59.94142,68.27844],[61.07784,68.94069],[60.03,69.52],[60.55,69.85],[63.504,69.54739],[64.888115,69.234835],[68.51216,68.09233],[69.18068,68.61563],[68.16444,69.14436],[68.13522,69.35649],[66.93008,69.45461],[67.25976,69.92873],[66.72492,70.70889],[66.69466,71.02897],[68.54006,71.9345],[69.19636,72.84336],[69.94,73.04],[72.58754,72.77629],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.5647,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.32],[72.42301,66.17267],[72.82077,66.53267],[73.92099,66.78946],[74.18651,67.28429],[75.052,67.76047],[74.46926,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187,69.62763],[74.3998,70.63175],[73.1011,71.44717],[74.89082,72.12119],[74.65926,72.83227],[75.15801,72.85497],[75.68351,72.30056],[75.28898,71.33556],[76.35911,71.15287],[75.90313,71.87401],[77.57665,72.26717],[79.65202,72.32011],[81.5,71.75],[80.61071,72.58285],[80.51109,73.6482],[82.25,73.85],[84.65526,73.80591],[86.8223,73.93688],[86.00956,74.45967],[87.16682,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421,76.0472],[95.86,76.14],[96.67821,75.91548],[98.92254,76.44689],[100.75967,76.43028],[101.03532,76.86189],[101.99084,77.28754],[104.3516,77.69792],[106.06664,77.37389],[104.705,77.1274],[106.97013,76.97419],[107.24,76.48],[108.1538,76.72335],[111.07726,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779],[112.77918,75.03186],[110.15125,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774],[113.01954,73.97693],[113.52958,73.33505],[113.96881,73.59488],[115.56782,73.75285],[118.77633,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777,73.73503],[125.38,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599,71.19304],[131.28858,70.78699],[132.2535,71.8363],[133.85766,71.38642],[135.56193,71.65525],[137.49755,71.34763],[138.23409,71.62803],[139.86983,71.48783],[139.14791,72.41619],[140.46817,72.84941],[149.5,72.2],[150.35118,71.60643],[152.9689,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031,70.45324],[159.70866,69.72198],[160.94053,69.43728],[162.27907,69.64204],[164.05248,69.66823],[165.94037,69.47199],[167.83567,69.58269],[169.57763,68.6938],[170.81688,69.01363],[170.0082,69.65276],[170.45345,70.09703],[173.64391,69.81743],[175.72403,69.87725],[178.6,69.4],[180,68.963636],[180,64.979709],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.780005,42.22001],[130.780004,42.220008],[130.78,42.22],[130.779992,42.22001],[130.64,42.395],[130.64,42.395024],[130.633866,42.903015],[131.144688,42.92999],[131.288555,44.11152],[131.02519,44.96796],[131.883454,45.321162],[133.09712,45.14409],[133.769644,46.116927],[134.11235,47.21248],[134.50081,47.57845],[135.026311,48.47823],[133.373596,48.183442],[132.50669,47.78896],[130.98726,47.79013],[130.582293,48.729687],[129.397818,49.4406],[127.6574,49.76027],[127.287456,50.739797],[126.939157,51.353894],[126.564399,51.784255],[125.946349,52.792799],[125.068211,53.161045],[123.57147,53.4588],[122.245748,53.431726],[121.003085,53.251401],[120.177089,52.753886],[120.725789,52.516226],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.288461,50.142883],[117.879244,49.510983],[116.678801,49.888531],[115.485695,49.805177],[114.96211,50.140247],[114.362456,50.248303],[112.89774,49.543565],[111.581231,49.377968],[110.662011,49.130128],[109.402449,49.292961],[108.475167,49.282548],[107.868176,49.793705],[106.888804,50.274296],[105.886591,50.406019],[104.62158,50.27532],[103.676545,50.089966],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.516856],[99.981732,51.634006],[98.861491,52.047366],[97.82574,51.010995],[98.231762,50.422401],[97.25976,49.72605],[95.81402,49.97746],[94.815949,50.013433],[94.147566,50.480537],[93.10421,50.49529],[92.234712,50.802171],[90.713667,50.331812],[88.805567,49.470521],[87.751264,49.297198],[87.35997,49.214981],[86.829357,49.826675],[85.54127,49.692859],[85.11556,50.117303],[84.416377,50.3114],[83.935115,50.889246],[83.383004,51.069183],[81.945986,50.812196],[80.568447,51.388336],[80.03556,50.864751],[77.800916,53.404415],[76.525179,54.177003],[76.8911,54.490524],[74.38482,53.54685],[73.425679,53.48981],[73.508516,54.035617],[72.22415,54.376655],[71.180131,54.133285],[70.865267,55.169734],[69.068167,55.38525],[68.1691,54.970392],[65.66687,54.60125],[65.178534,54.354228],[61.4366,54.00625],[60.978066,53.664993],[61.699986,52.979996],[60.739993,52.719986],[60.927269,52.447548],[59.967534,51.96042],[61.588003,51.272659],[61.337424,50.79907],[59.932807,50.842194],[59.642282,50.545442],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.532878,51.02624],[52.328724,51.718652],[50.766648,51.692762],[48.702382,50.605128],[48.577841,49.87476],[47.54948,50.454698],[46.751596,49.356006],[47.043672,49.152039],[46.466446,48.394152],[47.31524,47.71585],[48.05725,47.74377],[48.694734,47.075628],[48.59325,46.56104],[49.10116,46.39933]],[[142.914616,53.704578],[143.260848,52.74076],[143.235268,51.75666],[143.648007,50.7476],[144.654148,48.976391],[143.173928,49.306551],[142.558668,47.861575],[143.533492,46.836728],[143.505277,46.137908],[142.747701,46.740765],[142.09203,45.966755],[141.906925,46.805929],[142.018443,47.780133],[141.904445,48.859189],[142.1358,49.615163],[142.179983,50.952342],[141.594076,51.935435],[141.682546,53.301966],[142.606934,53.762145],[142.209749,54.225476],[142.654786,54.365881],[142.914616,53.704578]],[[102.584932,12.186595],[102.348099,13.394247],[102.988422,14.225721],[104.281418,14.416743],[105.218777,14.273212],[106.043946,13.881091],[106.496373,14.570584],[107.382727,14.202441],[107.614548,13.535531],[107.491403,12.337206],[105.810524,11.567615],[106.24967,10.961812],[105.199915,10.88931],[104.334335,10.486544],[103.49728,10.632555],[103.09069,11.153661],[102.584932,12.186595]],[[105.218777,14.273212],[104.281418,14.416743],[102.988422,14.225721],[102.348099,13.394247],[102.584932,12.186595],[101.687158,12.64574],[100.83181,12.627085],[100.978467,13.412722],[100.097797,13.406856],[100.018733,12.307001],[99.478921,10.846367],[99.153772,9.963061],[99.222399,9.239255],[99.873832,9.207862],[100.279647,8.295153],[100.459274,7.429573],[101.017328,6.856869],[101.623079,6.740622],[102.141187,6.221636],[101.814282,5.810808],[101.154219,5.691384],[101.075516,6.204867],[100.259596,6.642825],[100.085757,6.464489],[99.690691,6.848213],[99.519642,7.343454],[98.988253,7.907993],[98.503786,8.382305],[98.339662,7.794512],[98.150009,8.350007],[98.25915,8.973923],[98.553551,9.93296],[99.038121,10.960546],[99.587286,11.892763],[99.196354,12.804748],[99.212012,13.269294],[99.097755,13.827503],[98.430819,14.622028],[98.192074,15.123703],[98.537376,15.308497],[98.903348,16.177824],[98.493761,16.837836],[97.859123,17.567946],[97.375896,18.445438],[97.797783,18.62708],[98.253724,19.708203],[98.959676,19.752981],[99.543309,20.186598],[100.115988,20.41785],[100.548881,20.109238],[100.606294,19.508344],[101.282015,19.462585],[101.035931,18.408928],[101.059548,17.512497],[102.113592,18.109102],[102.413005,17.932782],[102.998706,17.961695],[103.200192,18.309632],[103.956477,18.240954],[104.716947,17.428859],[104.779321,16.441865],[105.589039,15.570316],[105.544338,14.723934],[105.218777,14.273212]],[[107.382727,14.202441],[106.496373,14.570584],[106.043946,13.881091],[105.218777,14.273212],[105.544338,14.723934],[105.589039,15.570316],[104.779321,16.441865],[104.716947,17.428859],[103.956477,18.240954],[103.200192,18.309632],[102.998706,17.961695],[102.413005,17.932782],[102.113592,18.109102],[101.059548,17.512497],[101.035931,18.408928],[101.282015,19.462585],[100.606294,19.508344],[100.548881,20.109238],[100.115988,20.41785],[100.329101,20.786122],[101.180005,21.436573],[101.270026,21.201652],[101.80312,21.174367],[101.652018,22.318199],[102.170436,22.464753],[102.754896,21.675137],[103.203861,20.766562],[104.435,20.758733],[104.822574,19.886642],[104.183388,19.624668],[103.896532,19.265181],[105.094598,18.666975],[105.925762,17.485315],[106.556008,16.604284],[107.312706,15.908538],[107.564525,15.202173],[107.382727,14.202441]],[[100.115988,20.41785],[99.543309,20.186598],[98.959676,19.752981],[98.253724,19.708203],[97.797783,18.62708],[97.375896,18.445438],[97.859123,17.567946],[98.493761,16.837836],[98.903348,16.177824],[98.537376,15.308497],[98.192074,15.123703],[98.430819,14.622028],[99.097755,13.827503],[99.212012,13.269294],[99.196354,12.804748],[99.587286,11.892763],[99.038121,10.960546],[98.553551,9.93296],[98.457174,10.675266],[98.764546,11.441292],[98.428339,12.032987],[98.509574,13.122378],[98.103604,13.64046],[97.777732,14.837286],[97.597072,16.100568],[97.16454,16.928734],[96.505769,16.427241],[95.369352,15.71439],[94.808405,15.803454],[94.188804,16.037936],[94.533486,17.27724],[94.324817,18.213514],[93.540988,19.366493],[93.663255,19.726962],[93.078278,19.855145],[92.368554,20.670883],[92.303234,21.475485],[92.652257,21.324048],[92.672721,22.041239],[93.166128,22.27846],[93.060294,22.703111],[93.286327,23.043658],[93.325188,24.078556],[94.106742,23.850741],[94.552658,24.675238],[94.603249,25.162495],[95.155153,26.001307],[95.124768,26.573572],[96.419366,27.264589],[97.133999,27.083774],[97.051989,27.699059],[97.402561,27.882536],[97.327114,28.261583],[97.911988,28.335945],[98.246231,27.747221],[98.68269,27.508812],[98.712094,26.743536],[98.671838,25.918703],[97.724609,25.083637],[97.60472,23.897405],[98.660262,24.063286],[98.898749,23.142722],[99.531992,22.949039],[99.240899,22.118314],[99.983489,21.742937],[100.416538,21.558839],[101.150033,21.849984],[101.180005,21.436573],[100.329101,20.786122],[100.115988,20.41785]],[[104.334335,10.486544],[105.199915,10.88931],[106.24967,10.961812],[105.810524,11.567615],[107.491403,12.337206],[107.614548,13.535531],[107.382727,14.202441],[107.564525,15.202173],[107.312706,15.908538],[106.556008,16.604284],[105.925762,17.485315],[105.094598,18.666975],[103.896532,19.265181],[104.183388,19.624668],[104.822574,19.886642],[104.435,20.758733],[103.203861,20.766562],[102.754896,21.675137],[102.170436,22.464753],[102.706992,22.708795],[103.504515,22.703757],[104.476858,22.81915],[105.329209,23.352063],[105.811247,22.976892],[106.725403,22.794268],[106.567273,22.218205],[107.04342,21.811899],[108.05018,21.55238],[106.715068,20.696851],[105.881682,19.75205],[105.662006,19.058165],[106.426817,18.004121],[107.361954,16.697457],[108.269495,16.079742],[108.877107,15.276691],[109.33527,13.426028],[109.200136,11.666859],[108.36613,11.008321],[107.220929,10.364484],[106.405113,9.53084],[105.158264,8.59976],[104.795185,9.241038],[105.076202,9.918491],[104.334335,10.486544]],[[130.780004,42.220008],[130.780005,42.22001],[130.780007,42.220007],[130.780004,42.220008]],[[130.64,42.395024],[130.64,42.395],[130.779992,42.22001],[130.400031,42.280004],[129.965949,41.941368],[129.667362,41.601104],[129.705189,40.882828],[129.188115,40.661808],[129.0104,40.485436],[128.633368,40.189847],[127.967414,40.025413],[127.533436,39.75685],[127.50212,39.323931],[127.385434,39.213472],[127.783343,39.050898],[128.349716,38.612243],[128.205746,38.370397],[127.780035,38.304536],[127.073309,38.256115],[126.68372,37.804773],[126.237339,37.840378],[126.174759,37.749686],[125.689104,37.94001],[125.568439,37.752089],[125.27533,37.669071],[125.240087,37.857224],[124.981033,37.948821],[124.712161,38.108346],[124.985994,38.548474],[125.221949,38.665857],[125.132859,38.848559],[125.38659,39.387958],[125.321116,39.551385],[124.737482,39.660344],[124.265625,39.928493],[125.079942,40.569824],[126.182045,41.107336],[126.869083,41.816569],[127.343783,41.503152],[128.208433,41.466772],[128.052215,41.994285],[129.596669,42.424982],[129.994267,42.985387],[130.64,42.395024]],[[126.174759,37.749686],[126.237339,37.840378],[126.68372,37.804773],[127.073309,38.256115],[127.780035,38.304536],[128.205746,38.370397],[128.349716,38.612243],[129.21292,37.432392],[129.46045,36.784189],[129.468304,35.632141],[129.091377,35.082484],[128.18585,34.890377],[127.386519,34.475674],[126.485748,34.390046],[126.37392,34.93456],[126.559231,35.684541],[126.117398,36.725485],[126.860143,36.893924],[126.174759,37.749686]],[[87.751264,49.297198],[88.805567,49.470521],[90.713667,50.331812],[92.234712,50.802171],[93.10421,50.49529],[94.147566,50.480537],[94.815949,50.013433],[95.81402,49.97746],[97.25976,49.72605],[98.231762,50.422401],[97.82574,51.010995],[98.861491,52.047366],[99.981732,51.634006],[100.88948,51.516856],[102.06521,51.25991],[102.25589,50.51056],[103.676545,50.089966],[104.62158,50.27532],[105.886591,50.406019],[106.888804,50.274296],[107.868176,49.793705],[108.475167,49.282548],[109.402449,49.292961],[110.662011,49.130128],[111.581231,49.377968],[112.89774,49.543565],[114.362456,50.248303],[114.96211,50.140247],[115.485695,49.805177],[116.678801,49.888531],[116.191802,49.134598],[115.485282,48.135383],[115.742837,47.726545],[116.308953,47.85341],[117.295507,47.697709],[118.064143,48.06673],[118.866574,47.74706],[119.772824,47.048059],[119.66327,46.69268],[118.874326,46.805412],[117.421701,46.672733],[116.717868,46.388202],[115.985096,45.727235],[114.460332,45.339817],[113.463907,44.808893],[112.436062,45.011646],[111.873306,45.102079],[111.348377,44.457442],[111.667737,44.073176],[111.829588,43.743118],[111.129682,43.406834],[110.412103,42.871234],[109.243596,42.519446],[107.744773,42.481516],[106.129316,42.134328],[104.964994,41.59741],[104.522282,41.908347],[103.312278,41.907468],[101.83304,42.514873],[100.845866,42.663804],[99.515817,42.524691],[97.451757,42.74889],[96.349396,42.725635],[95.762455,43.319449],[95.306875,44.241331],[94.688929,44.352332],[93.480734,44.975472],[92.133891,45.115076],[90.94554,45.286073],[90.585768,45.719716],[90.970809,46.888146],[90.280826,47.693549],[88.854298,48.069082],[88.013832,48.599463],[87.751264,49.297198]],[[109.47521,18.197701],[108.655208,18.507682],[108.626217,19.367888],[109.119056,19.821039],[110.211599,20.101254],[110.786551,20.077534],[111.010051,19.69593],[110.570647,19.255879],[110.339188,18.678395],[109.47521,18.197701]],[[80.25999,42.349999],[80.18015,42.920068],[80.866206,43.180362],[79.966106,44.917517],[81.947071,45.317027],[82.458926,45.53965],[83.180484,47.330031],[85.16429,47.000956],[85.720484,47.452969],[85.768233,48.455751],[86.598776,48.549182],[87.35997,49.214981],[87.751264,49.297198],[88.013832,48.599463],[88.854298,48.069082],[90.280826,47.693549],[90.970809,46.888146],[90.585768,45.719716],[90.94554,45.286073],[92.133891,45.115076],[93.480734,44.975472],[94.688929,44.352332],[95.306875,44.241331],[95.762455,43.319449],[96.349396,42.725635],[97.451757,42.74889],[99.515817,42.524691],[100.845866,42.663804],[101.83304,42.514873],[103.312278,41.907468],[104.522282,41.908347],[104.964994,41.59741],[106.129316,42.134328],[107.744773,42.481516],[109.243596,42.519446],[110.412103,42.871234],[111.129682,43.406834],[111.829588,43.743118],[111.667737,44.073176],[111.348377,44.457442],[111.873306,45.102079],[112.436062,45.011646],[113.463907,44.808893],[114.460332,45.339817],[115.985096,45.727235],[116.717868,46.388202],[117.421701,46.672733],[118.874326,46.805412],[119.66327,46.69268],[119.772824,47.048059],[118.866574,47.74706],[118.064143,48.06673],[117.295507,47.697709],[116.308953,47.85341],[115.742837,47.726545],[115.485282,48.135383],[116.191802,49.134598],[116.678801,49.888531],[117.879244,49.510983],[119.288461,50.142883],[119.27939,50.58292],[120.18208,51.64355],[120.7382,51.96411],[120.725789,52.516226],[120.177089,52.753886],[121.003085,53.251401],[122.245748,53.431726],[123.57147,53.4588],[125.068211,53.161045],[125.946349,52.792799],[126.564399,51.784255],[126.939157,51.353894],[127.287456,50.739797],[127.6574,49.76027],[129.397818,49.4406],[130.582293,48.729687],[130.98726,47.79013],[132.50669,47.78896],[133.373596,48.183442],[135.026311,48.47823],[134.50081,47.57845],[134.11235,47.21248],[133.769644,46.116927],[133.09712,45.14409],[131.883454,45.321162],[131.02519,44.96796],[131.288555,44.11152],[131.144688,42.92999],[130.633866,42.903015],[130.64,42.395024],[129.994267,42.985387],[129.596669,42.424982],[128.052215,41.994285],[128.208433,41.466772],[127.343783,41.503152],[126.869083,41.816569],[126.182045,41.107336],[125.079942,40.569824],[124.265625,39.928493],[122.86757,39.637788],[122.131388,39.170452],[121.054554,38.897471],[121.585995,39.360854],[121.376757,39.750261],[122.168595,40.422443],[121.640359,40.94639],[120.768629,40.593388],[119.639602,39.898056],[119.023464,39.252333],[118.042749,39.204274],[117.532702,38.737636],[118.059699,38.061476],[118.87815,37.897325],[118.911636,37.448464],[119.702802,37.156389],[120.823457,37.870428],[121.711259,37.481123],[122.357937,37.454484],[122.519995,36.930614],[121.104164,36.651329],[120.637009,36.11144],[119.664562,35.609791],[119.151208,34.909859],[120.227525,34.360332],[120.620369,33.376723],[121.229014,32.460319],[121.908146,31.692174],[121.891919,30.949352],[121.264257,30.676267],[121.503519,30.142915],[122.092114,29.83252],[121.938428,29.018022],[121.684439,28.225513],[121.125661,28.135673],[120.395473,27.053207],[119.585497,25.740781],[118.656871,24.547391],[117.281606,23.624501],[115.890735,22.782873],[114.763827,22.668074],[114.152547,22.22376],[113.80678,22.54834],[113.241078,22.051367],[111.843592,21.550494],[110.785466,21.397144],[110.444039,20.341033],[109.889861,20.282457],[109.627655,21.008227],[109.864488,21.395051],[108.522813,21.715212],[108.05018,21.55238],[107.04342,21.811899],[106.567273,22.218205],[106.725403,22.794268],[105.811247,22.976892],[105.329209,23.352063],[104.476858,22.81915],[103.504515,22.703757],[102.706992,22.708795],[102.170436,22.464753],[101.652018,22.318199],[101.80312,21.174367],[101.270026,21.201652],[101.180005,21.436573],[101.150033,21.849984],[100.416538,21.558839],[99.983489,21.742937],[99.240899,22.118314],[99.531992,22.949039],[98.898749,23.142722],[98.660262,24.063286],[97.60472,23.897405],[97.724609,25.083637],[98.671838,25.918703],[98.712094,26.743536],[98.68269,27.508812],[98.246231,27.747221],[97.911988,28.335945],[97.327114,28.261583],[96.248833,28.411031],[96.586591,28.83098],[96.117679,29.452802],[95.404802,29.031717],[94.56599,29.277438],[93.413348,28.640629],[92.503119,27.896876],[91.696657,27.771742],[91.258854,28.040614],[90.730514,28.064954],[90.015829,28.296439],[89.47581,28.042759],[88.814248,27.299316],[88.730326,28.086865],[88.120441,27.876542],[86.954517,27.974262],[85.82332,28.203576],[85.011638,28.642774],[84.23458,28.839894],[83.898993,29.320226],[83.337115,29.463732],[82.327513,30.115268],[81.525804,30.422717],[81.111256,30.183481],[79.721367,30.882715],[78.738894,31.515906],[78.458446,32.618164],[79.176129,32.48378],[79.208892,32.994395],[78.811086,33.506198],[78.912269,34.321936],[77.837451,35.49401],[76.192848,35.898403],[75.896897,36.666806],[75.158028,37.133031],[74.980002,37.41999],[74.829986,37.990007],[74.864816,38.378846],[74.257514,38.606507],[73.928852,38.505815],[73.675379,39.431237],[73.960013,39.660008],[73.822244,39.893973],[74.776862,40.366425],[75.467828,40.562072],[76.526368,40.427946],[76.904484,41.066486],[78.187197,41.185316],[78.543661,41.582243],[80.11943,42.123941],[80.25999,42.349999]],[[121.777818,24.394274],[121.175632,22.790857],[120.74708,21.970571],[120.220083,22.814861],[120.106189,23.556263],[120.69468,24.538451],[121.495044,25.295459],[121.951244,24.997596],[121.777818,24.394274]],[[120.833896,12.704496],[120.323436,13.466413],[121.180128,13.429697],[121.527394,13.06959],[121.26219,12.20556],[120.833896,12.704496]],[[122.586089,9.981045],[122.837081,10.261157],[122.947411,10.881868],[123.49885,10.940624],[123.337774,10.267384],[124.077936,11.232726],[123.982438,10.278779],[123.623183,9.950091],[123.309921,9.318269],[122.995883,9.022189],[122.380055,9.713361],[122.586089,9.981045]],[[126.376814,8.414706],[126.478513,7.750354],[126.537424,7.189381],[126.196773,6.274294],[125.831421,7.293715],[125.363852,6.786485],[125.683161,6.049657],[125.396512,5.581003],[124.219788,6.161355],[123.93872,6.885136],[124.243662,7.36061],[123.610212,7.833527],[123.296071,7.418876],[122.825506,7.457375],[122.085499,6.899424],[121.919928,7.192119],[122.312359,8.034962],[122.942398,8.316237],[123.487688,8.69301],[123.841154,8.240324],[124.60147,8.514158],[124.764612,8.960409],[125.471391,8.986997],[125.412118,9.760335],[126.222714,9.286074],[126.306637,8.782487],[126.376814,8.414706]],[[118.504581,9.316383],[117.174275,8.3675],[117.664477,9.066889],[118.386914,9.6845],[118.987342,10.376292],[119.511496,11.369668],[119.689677,10.554291],[119.029458,10.003653],[118.504581,9.316383]],[[122.336957,18.224883],[122.174279,17.810283],[122.515654,17.093505],[122.252311,16.262444],[121.662786,15.931018],[121.50507,15.124814],[121.728829,14.328376],[122.258925,14.218202],[122.701276,14.336541],[123.950295,13.782131],[123.855107,13.237771],[124.181289,12.997527],[124.077419,12.536677],[123.298035,13.027526],[122.928652,13.55292],[122.671355,13.185836],[122.03465,13.784482],[121.126385,13.636687],[120.628637,13.857656],[120.679384,14.271016],[120.991819,14.525393],[120.693336,14.756671],[120.564145,14.396279],[120.070429,14.970869],[119.920929,15.406347],[119.883773,16.363704],[120.286488,16.034629],[120.390047,17.599081],[120.715867,18.505227],[121.321308,18.504065],[121.937601,18.218552],[122.246006,18.47895],[122.336957,18.224883]],[[122.03837,11.415841],[121.883548,11.891755],[122.483821,11.582187],[123.120217,11.58366],[123.100838,11.165934],[122.637714,10.741308],[122.00261,10.441017],[121.967367,10.905691],[122.03837,11.415841]],[[125.502552,12.162695],[125.783465,11.046122],[125.011884,11.311455],[125.032761,10.975816],[125.277449,10.358722],[124.801819,10.134679],[124.760168,10.837995],[124.459101,10.88993],[124.302522,11.495371],[124.891013,11.415583],[124.87799,11.79419],[124.266762,12.557761],[125.227116,12.535721],[125.502552,12.162695]],[[100.085757,6.464489],[100.259596,6.642825],[101.075516,6.204867],[101.154219,5.691384],[101.814282,5.810808],[102.141187,6.221636],[102.371147,6.128205],[102.961705,5.524495],[103.381215,4.855001],[103.438575,4.181606],[103.332122,3.726698],[103.429429,3.382869],[103.502448,2.791019],[103.854674,2.515454],[104.247932,1.631141],[104.228811,1.293048],[103.519707,1.226334],[102.573615,1.967115],[101.390638,2.760814],[101.27354,3.270292],[100.695435,3.93914],[100.557408,4.76728],[100.196706,5.312493],[100.30626,6.040562],[100.085757,6.464489]],[[117.882035,4.137551],[117.015214,4.306094],[115.865517,4.306559],[115.519078,3.169238],[115.134037,2.821482],[114.621355,1.430688],[113.80585,1.217549],[112.859809,1.49779],[112.380252,1.410121],[111.797548,0.904441],[111.159138,0.976478],[110.514061,0.773131],[109.830227,1.338136],[109.66326,2.006467],[110.396135,1.663775],[111.168853,1.850637],[111.370081,2.697303],[111.796928,2.885897],[112.995615,3.102395],[113.712935,3.893509],[114.204017,4.525874],[114.659596,4.007637],[114.869557,4.348314],[115.347461,4.316636],[115.4057,4.955228],[115.45071,5.44773],[116.220741,6.143191],[116.725103,6.924771],[117.129626,6.928053],[117.643393,6.422166],[117.689075,5.98749],[118.347691,5.708696],[119.181904,5.407836],[119.110694,5.016128],[118.439727,4.966519],[118.618321,4.478202],[117.882035,4.137551]],[[115.45071,5.44773],[115.4057,4.955228],[115.347461,4.316636],[114.869557,4.348314],[114.659596,4.007637],[114.204017,4.525874],[114.599961,4.900011],[115.45071,5.44773]],[[141.884601,39.180865],[140.959489,38.174001],[140.976388,37.142074],[140.59977,36.343983],[140.774074,35.842877],[140.253279,35.138114],[138.975528,34.6676],[137.217599,34.606286],[135.792983,33.464805],[135.120983,33.849071],[135.079435,34.596545],[133.340316,34.375938],[132.156771,33.904933],[130.986145,33.885761],[132.000036,33.149992],[131.33279,31.450355],[130.686318,31.029579],[130.20242,31.418238],[130.447676,32.319475],[129.814692,32.61031],[129.408463,33.296056],[130.353935,33.604151],[130.878451,34.232743],[131.884229,34.749714],[132.617673,35.433393],[134.608301,35.731618],[135.677538,35.527134],[136.723831,37.304984],[137.390612,36.827391],[138.857602,37.827485],[139.426405,38.215962],[140.05479,39.438807],[139.883379,40.563312],[140.305783,41.195005],[141.368973,41.37856],[141.914263,39.991616],[141.884601,39.180865]],[[144.613427,43.960883],[145.320825,44.384733],[145.543137,43.262088],[144.059662,42.988358],[143.18385,41.995215],[141.611491,42.678791],[141.067286,41.584594],[139.955106,41.569556],[139.817544,42.563759],[140.312087,43.333273],[141.380549,43.388825],[141.671952,44.772125],[141.967645,45.551483],[143.14287,44.510358],[143.910162,44.1741],[144.613427,43.960883]],[[132.371176,33.463642],[132.924373,34.060299],[133.492968,33.944621],[133.904106,34.364931],[134.638428,34.149234],[134.766379,33.806335],[134.203416,33.201178],[133.79295,33.521985],[133.280268,33.28957],[133.014858,32.704567],[132.363115,32.989382],[132.371176,33.463642]]]
evaluation/release_data/mangkhut_video.json ADDED
@@ -0,0 +1,473 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Trackformer 1.2",
3
+ "storm": "MANGKHUT",
4
+ "storm_id": "2018250N12170",
5
+ "issue_time_utc": "2018-09-11T00:00:00Z",
6
+ "members": 50,
7
+ "device": "mps",
8
+ "checkpoint_sha256": "f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0",
9
+ "inference_weights_sha256": "db49f36e85a3766defc4c172746897a1f783705d1ce8e6f9dfb8e87ae1d902cb",
10
+ "source_module_sha256": {
11
+ "model.py": "5dab06c20224cf48c51302122455ee7e16948f977bf4b760fd8aff5d443ab0bc",
12
+ "baseline_model.py": "6c05941fd93baaca04508877edc69f8f0394b70e0a64e734ef0d2c1e8832246a",
13
+ "v165_base.py": "5c9473993a19d0fed00055494b5c1f50c1006aaf46551ff50145f67048c3374a"
14
+ },
15
+ "data_sha256": "f06c857dc0e7edaa67a2e7262324fa0a9ebad684ce5a8ffa1610c27717c35b71",
16
+ "ensemble_policy": {
17
+ "method": "seeded causal input-perturbation ensemble, not latent samples",
18
+ "member_count": 50,
19
+ "member_ids": [
20
+ 0,
21
+ 1,
22
+ 2,
23
+ 3,
24
+ 4,
25
+ 5,
26
+ 6,
27
+ 7,
28
+ 8,
29
+ 9,
30
+ 10,
31
+ 11,
32
+ 12,
33
+ 13,
34
+ 14,
35
+ 15,
36
+ 16,
37
+ 17,
38
+ 18,
39
+ 19,
40
+ 20,
41
+ 21,
42
+ 22,
43
+ 23,
44
+ 24,
45
+ 25,
46
+ 26,
47
+ 27,
48
+ 28,
49
+ 29,
50
+ 30,
51
+ 31,
52
+ 32,
53
+ 33,
54
+ 34,
55
+ 35,
56
+ 36,
57
+ 37,
58
+ 38,
59
+ 39,
60
+ 40,
61
+ 41,
62
+ 42,
63
+ 43,
64
+ 44,
65
+ 45,
66
+ 46,
67
+ 47,
68
+ 48,
69
+ 49
70
+ ],
71
+ "seeds": [
72
+ 2043,
73
+ 2044,
74
+ 2045,
75
+ 2046,
76
+ 2047,
77
+ 2048,
78
+ 2049,
79
+ 2050,
80
+ 2051,
81
+ 2052,
82
+ 2053,
83
+ 2054,
84
+ 2055,
85
+ 2056,
86
+ 2057,
87
+ 2058,
88
+ 2059,
89
+ 2060,
90
+ 2061,
91
+ 2062,
92
+ 2063,
93
+ 2064,
94
+ 2065,
95
+ 2066,
96
+ 2067,
97
+ 2068,
98
+ 2069,
99
+ 2070,
100
+ 2071,
101
+ 2072,
102
+ 2073,
103
+ 2074,
104
+ 2075,
105
+ 2076,
106
+ 2077,
107
+ 2078,
108
+ 2079,
109
+ 2080,
110
+ 2081,
111
+ 2082,
112
+ 2083,
113
+ 2084,
114
+ 2085,
115
+ 2086,
116
+ 2087,
117
+ 2088,
118
+ 2089,
119
+ 2090,
120
+ 2091,
121
+ 2092
122
+ ],
123
+ "weights": [
124
+ 0.02,
125
+ 0.02,
126
+ 0.02,
127
+ 0.02,
128
+ 0.02,
129
+ 0.02,
130
+ 0.02,
131
+ 0.02,
132
+ 0.02,
133
+ 0.02,
134
+ 0.02,
135
+ 0.02,
136
+ 0.02,
137
+ 0.02,
138
+ 0.02,
139
+ 0.02,
140
+ 0.02,
141
+ 0.02,
142
+ 0.02,
143
+ 0.02,
144
+ 0.02,
145
+ 0.02,
146
+ 0.02,
147
+ 0.02,
148
+ 0.02,
149
+ 0.02,
150
+ 0.02,
151
+ 0.02,
152
+ 0.02,
153
+ 0.02,
154
+ 0.02,
155
+ 0.02,
156
+ 0.02,
157
+ 0.02,
158
+ 0.02,
159
+ 0.02,
160
+ 0.02,
161
+ 0.02,
162
+ 0.02,
163
+ 0.02,
164
+ 0.02,
165
+ 0.02,
166
+ 0.02,
167
+ 0.02,
168
+ 0.02,
169
+ 0.02,
170
+ 0.02,
171
+ 0.02,
172
+ 0.02,
173
+ 0.02
174
+ ],
175
+ "global_noise_normalized_std": 0.025,
176
+ "regional_noise_normalized_std": 0.015,
177
+ "global_smoothing_kernel": 5,
178
+ "regional_smoothing_kernel": 9,
179
+ "native_detail_available": false,
180
+ "missing_native_history_remains_masked": true,
181
+ "input_sha256": [
182
+ "690ccf7cfbefd4fabb96dd2a7064045ec2231abe36cb38a671fb8a4353785740",
183
+ "ee66f59be2788df7b59ddb5529bd1631069c3420cdad1325d577420c565b5a3e",
184
+ "9e08fe681d82a516546a03b4950ee050863c6a55e05679e00b9ebe59a9d53580",
185
+ "a09db74dc739ed26d96773bbec2107074f3f8ac7e6640fa4d2b1392d910b6abc",
186
+ "75bbc8d0afb68f99428754986e819adf9e8504d8ad4a9d58617b7cb2f0775e92",
187
+ "6547c4adfba667e1aeca322cbb943c96ee531940970c91e88bc67b03585cff8c",
188
+ "783d074aca68ac90b8ab9ee76544d71f6488f11bd087d44832fc8cfd0b962395",
189
+ "dfca797a534e1b2ebf7d5e61a821fc44fec7f9ac92a387aacaec13a858250fb7",
190
+ "6331aa287831c25e6495045428fa1274f998baa8ba00c3e1320dba2265c2b1a2",
191
+ "5773e32cf25cfac8701607795c8ce153ac654e2052512d0eb4835de1c9469c02",
192
+ "fcbf6161420fadd979befcbb30060f0879ffb1f31a958ea7dafd41edf9bcdb5b",
193
+ "81bca70e93f43c3d2ae3fd16600cef5e467e7c61c41eabe8db88624cdded8c41",
194
+ "f02d5396e99e7fe31ffcfa1c68040e5d986b081500b48a873a943d64dd99975d",
195
+ "4c90b3f18a02726f33ae77b3476a160aff0b4707e4df517575780bb36bb815b7",
196
+ "db181c7953a86f392d7f1b8f517b3459e8f8beb656dd2de96e5ec67f948471a9",
197
+ "5f147e69858a3815cf191ef8d9f5e0b5b5459f730bd5b748a0d07e37677f274b",
198
+ "6acae892c328e2714e483ef9e03fdbfa8d14e9674e54c2e4ac4699169f6a9cbc",
199
+ "47c94868f59ea6845171c868c0a06c12ff319e29f3185be11a84d4c173f17568",
200
+ "66e32a3a94220722a217bbfb843701416a941483ee7f0d0e55f56116630fda22",
201
+ "434e0455202b6423d80bacc0a9b8f685572aa03ad108dc97291f8b80468b26f9",
202
+ "b9fa426a56cffb7afbbedf04ebbb17151cc93b056154f5b44aec5eff1aa4e717",
203
+ "ac5119c2b6d2c76ec411d593520fa22ee40c769810ee5556be09120108e9b3ff",
204
+ "abbf4cd27f9037b89bd2ab0b0d31dc293db279e23da7cda33f5163cd2e3d1084",
205
+ "19a039f0c4e03b2b956d70b00c57176d0ae4fce69f47e0a69b1fc47931647cf9",
206
+ "d5c27c461b11924c3bec6cdde494d86d93cb5cd2b2244dee07312e3c420741d3",
207
+ "0ac8e56ffb487952229af64da264acf34bee2c7326365c4a84f003e884db9d8b",
208
+ "d5d56c4eb1fe906036ac424f67af9adcc8ebbb134c61774900406c38bc5a0799",
209
+ "ef4dec655c8b2db666a13323713a40a7dcbfd8a61d0008378b9fae0bd151f0c9",
210
+ "acd844481e416569d88d23f81d76db5a4a30f3b144a79ad67735a1bc919b2d98",
211
+ "8cdbafbb4282fb99d608a7deff79648045c746e88df86b78fdcbd03f678e41d9",
212
+ "4d4b83606d84c3f32b53c8b7eb4dc60caa23dc591f7dcfd9dc98c97a0e202544",
213
+ "3ab94849134aec597505fdca1282963de2b2a94135e1729a0ef8ccaf75a27c2b",
214
+ "736ccc1e895306dbdf27328337c20ce920bd780bf69a73175d9015d0d1df74f8",
215
+ "9e27b2e22606a50fd57e7b97ed19f84c5a85f7d0c4ea1e0a4ea1dbb220e0ddcf",
216
+ "b64766d01e496500d3b812bd01416c19362576f87e8d7867aa31052b44c5d87f",
217
+ "dc7dc9ac4032d1b86f09b29f13ae7c9005a0f6939c0fca0286fd39ef0e3819b5",
218
+ "39965b5d1c5da1886b1c578260a0c6cbcfdd5af6c2b1d92f85a876328af41bc3",
219
+ "66325deea7c22747758fb72e0c884b1d4c0f18588e86c75dbefbc1ef125ba21d",
220
+ "f8a5805ae9759a9d812f74e6035063fd462d1b8af338ad8642e73e701cfbe4db",
221
+ "cc92fcde602d7d5a43ce86db5012028fc0ad36e52a653b3332e6381d3db4f79f",
222
+ "17b1ce2676ccbdbfd20cd1035ea8ad248c4747a09469a875ddc8273bad1cba1c",
223
+ "14b2dfbb3b723fbd61182be93fb852206a1bf4c72b2b19315f3ee04107b9e131",
224
+ "fc8c890b376136af901df9f462f6c0b414408fb3336778cb939eefe3e0e1729b",
225
+ "ea2483e7980843e63788a1c61216e528b13680d4c5a1963d8bcd331aa1e4faf7",
226
+ "6f35d5e33812cc1c4aa4f9ed7a5cec56c15a51feab4eb7807b6b132e096227c7",
227
+ "b902d9fec1bc216fe2531a7c70c0dd3d20a8ca8c63a6663167fe79c1c4f86b81",
228
+ "565328f83948b2ee4f8b93e8ef81891a39727504145f8c177a535bc23b933a30",
229
+ "5b244303c45f335af63fbf73b5ac612b8dc189347d57b6ae6aed747602d6d14d",
230
+ "915041461c8a56691a2e56be40ba29e612320ca0e0fdc0d57e19926c30a921b5",
231
+ "19f8adf60b5c0a75adfc55acc1d78c646cb8700a92ff069a86487867103ece98"
232
+ ],
233
+ "route_sha256": [
234
+ "db21c9f417b9ba8f78b2019b754c078e2b366cc96b91df59ddad4b30f7f26f04",
235
+ "6e1fd6a7bd8dc7a36455df448ca1bf6cd2952974462970309913e13669eff4ee",
236
+ "397446cfed2943daa7b94e7284076f3baefa58c213bfb6be6edd544c1b7be717",
237
+ "0c7590febf1bd0cdce140a0b6d07319f2b6d1489e03ffc4f83d5553a1d322ed1",
238
+ "3b9537d227180d7e689606364f8b398d15e06c016ab186c8b1d97f9854673834",
239
+ "9aa621fca7d762529e3475e37f63d2b47e19e3ed4e06f5aa6f69fb8d26457569",
240
+ "14ba7a3a079da30e84c8d025bbe68f988aa7c58db87d34d25df3d9204e1e7e6d",
241
+ "11f0fde39c6469f6589211249795264c17343a6e787e844d49fac76ee400f89b",
242
+ "9d949874c8649ded973ef8b55a8e7653c2e59f21dcd32144b260afe33aff3cb2",
243
+ "0b176e17d38295027c8e00cfbb71a005df179119bde5fa14c4c007e99597c62b",
244
+ "590c348f53f7d8d12448170d40927e22a69eb5fe9af6a2e69e18badb0f729e24",
245
+ "18685ab64814b3db124d78c71404e1d6fd339b8c08dac7990e52ee3e1dc42948",
246
+ "fb8263524c649fa2f8b533e70ce9d58978b29edda42fcbaed4d7a2a0997b41f4",
247
+ "59acf0a35ef195fe92f913a5136b67a57533cfff8c008674b71c55f9a52b2ae0",
248
+ "137aca6f1aca213eaa79a1bc93047f9803ca3536ee53b660b9fce9c5e4d2505c",
249
+ "2307cbffa477f241ebdf4e32c97735c510e1b00b9fd07ba6ab9edf70302af5a2",
250
+ "d5f718dd784365d96567df6e876f6c11201197d80f20262d517e2fa36a0ea640",
251
+ "800a66f078a9992dfd4cfa1701e7ed75d52b3c63a03b79f9977bca77612c9b00",
252
+ "1313199f81953217b6b940e4aec361c68c204cb4087c34350853c9d189b1594c",
253
+ "c7306db1e3b5f1f519a1bbb07b05e541ccf9d5f31d8bf4c1fb5ee061bb65df35",
254
+ "ca232cc52a19975307bc46d957e066f45c179a6708bed304b5ef9f4a935dfc42",
255
+ "fe86cb2d959c141b8be2c12d4e676c61a7096d84c68d50efb774c5d17fc56017",
256
+ "fc985324b46c5315d75316c90ebfa026e6fc0caced452f7eeafa25ba56f11325",
257
+ "318dcd0c92763abbc3cc21931e5f8a8dd90fea1ae50ae34328917e7c72cda8dc",
258
+ "25e35ec2980154240a82a63c744cdf032c8367bfa5319c9a49a68a414bbb7591",
259
+ "15d67c3655ba166ffb364c4235e9c0d0f19ea14e4f0392ee3c5d02191bffeca3",
260
+ "c47179d7191b3e187dba56ad8e38479cb7a0598f63642fda60f6de31ea507ff4",
261
+ "7f765737a28a3e526550f4d7ac7b6428a18f46cdafaae7656135379702c2041d",
262
+ "e14490b2d77ddb9c91b40fbc441735135aee66bdf7a04f9c6213e6b87428e982",
263
+ "960e5da19439733c8e72294b8f627d3b1310d1813218d7baf370ace3d74e2655",
264
+ "10f1791fca7cb5902e8f5c76156b4ac4810bcab6feee29a107458da6405e36cf",
265
+ "08b7371e1fbb8dc597aee2945bb90d50477b24a8eec98d5ff8f875a83fd16ae1",
266
+ "8dd13f315687f54e833d86da7a4bc9679880237e5a9dd3b1cf79cb279837b53e",
267
+ "2109a93573845870144781c1143a4ac631c99efa79c8d5e5f3d713259911999e",
268
+ "ff032166bebe64c3b82d6e24313fd5d6fe465620dc1450807ad4ecf2d316fb05",
269
+ "88c0bacee57408648452b4bc47e96d16018f416ea9a4292f0392a3e46d2c7495",
270
+ "bd8bb21aa188fe2d5f747a10636634de7df841961072e8c2f5227690c10d0afc",
271
+ "8d95a8268a3c104ea1154e7187ce0e839ba3ebc54d2f775c8f86af619518f2d2",
272
+ "da3df612945702fb12114c311da50483b8b6382a240d456d874cb1a49b849eaf",
273
+ "d9a8012537bb08ab358a9cc3e69aa6b7ca0fa68d0856ba9baff298620a989643",
274
+ "1e63d0c09c398b0fa1d317010ef4472e3d2e6183f79b1bf83778ec508579cc53",
275
+ "7949f53ee228585da4ce341f33850b0d56416860e098f5eeb823ecf8fc6172ad",
276
+ "05bc016f6f94d4bebf00b84be9ff4b6aab97efbb9b41608c475a768a408ded03",
277
+ "86a11a0672fc32ddd2679ac1ba19e728ab1a50769575a1c7f496f022f5e6c5c7",
278
+ "93f89662ca852fd2170fb0638ff8e09ea21002420911427a567c99b81fc7013d",
279
+ "23bbd1227fc0db13a555b895f4bc218cb6770f5fee006e29e945990367ec379a",
280
+ "b1e2487eb6e808af637bf68382d19ea3a4ff7deec66002b6a02e2388467610a2",
281
+ "e3ea54b9eb9b5e70f3a28f9d4f8a00f47e87c35882de43c1eee8461f5136ff69",
282
+ "400cc5a239645d4b31ac61a907250412470c1041e4839d1e9fada06e8b112380",
283
+ "7c8f937b23ce082a319279d5155ed2cc258a8e66799d2a8d1276a71d06def094"
284
+ ],
285
+ "basin_field_sha256": [
286
+ "6344cbd121db183cca969fd28b7ea83d50ee26254a58bd13fa62969fec380627",
287
+ "992051ee31f610238dbb7ab19ab2a997c7c160aa3edac584da1e74ce69fd05f0",
288
+ "89c6506b310acb123dfa0e53725e85a8507e30b40226203519e21b21422540ea",
289
+ "e1e3f5d645533d14faafa885ffa13e0de3ab22c53ea626708b93a7690b8cd730",
290
+ "95489efc81d9677b6db3111557af451fe4707ffd54028f221cb75d9eb8b2defb",
291
+ "8136c31e1f646eebc20e0046eb0c15b5497e124760bf2c8871d23e71fa20428b",
292
+ "f36ce045ca4400dbd6bf43623bd694e93c5ebcd7f158b2d0cfe5cb2fe77a3a8b",
293
+ "6f65232ffb53d37548cd6f775be29f847a22eeb213c0befd37869f1234631a78",
294
+ "250d8a91ed217f35e5bd69a12ab0fe88fa52dce9d5698ba2a024141fccf5d004",
295
+ "e99493a4dba527a15d5f27243b94b7a6161ded0e6ec7c3f27250b9a83cea8a71",
296
+ "c3bcc1979782bbcd5e5b55b7e00e274cd4ff344d1c7466a2eea02e7f643e50ba",
297
+ "968a75c0ddacf6171dcb9dd66d4fdebc341f5acc2c6ee49886ced5d75ee2c984",
298
+ "e32bb4ed9dd6ac3c9945494b7a2ca2c7fe36ae0382dd2104e99ad2a9ecbb6e4c",
299
+ "0fe89c22aaf99d21f128eb9bf460a6406b85be1a9cd87f047fd9f38feade4cdb",
300
+ "dda831239a8cf6b32ed0e8f2782b5b966b3c9145e91f08abfe41827a6f0a1948",
301
+ "5dba6f8f29398c4e11b8f0fec58b56b8a120b3cc8d680ea614233169cb50748f",
302
+ "8eb539d600248d9399e915434e9485d16adbec9d509ceeb2f614ff3f0edb90d0",
303
+ "b0a2a2b064567fe10ffecee3703ea542877d4a0236052ba3aa7b43b25c1e4967",
304
+ "3930ab46c1d5a82a537542fd9c85aa5ec96f36c896fb4948ea5e8dc103410384",
305
+ "fb4abb99acc4be620c97f0db8befecac42cfa07e569a2bb5986e57f32d534241",
306
+ "e4778f633dca26234033c7e09f360dfef9225d9200cdeed37d254f509f16218b",
307
+ "512c137ef6e4c8120a66bd458a7b4ebcb4afc46e7807e297fac391d321314171",
308
+ "a99e92b510ae720b3af333cedb20b2dd8d4fa45e82e2cfa2fbee7a0600e44548",
309
+ "322e821cab63608a4b4156a0e326d3d908ec8e52509898ec5c8bd3d5813c4300",
310
+ "e40c1e6ef7ec382f2affe1f0f880b3c0277aac6256d6a8a6ca6ef6ab5b0c7055",
311
+ "5000f5304d5ee5c941c24470d98352d5566839f85cc0afc1701336fc7ee7bd06",
312
+ "ab18fed5e8eede5653ac5c56504606989cdb1fff3f63c951e1d88ac1064dde2a",
313
+ "7e950e84694cd0820d2c3b858cd518116880129351f87bf1ba6b9ba0b7592c64",
314
+ "6f5f4996b873b5db41abac7a2061ba381bd581e75d27625afd3fa44745085597",
315
+ "cda69edf10aeac53e4dfd5f672061223c4d9f5a71aa4b2883b390a40572c31a1",
316
+ "537b20317bdd27a135161013bbb5e6bfde8362ad04ce4b79fdacd23c086cf8b0",
317
+ "28c3deff6729dc94b59c5fbc227235bf031677600b514f5062ebdba810cef723",
318
+ "f19bfc3a27e491e7b7e4e177f9abde2c4ff6b69d778ba8d25df7b3b7a4b42deb",
319
+ "9054d181ef8bf7600e5ad4df1c36160472468891bb16bfb99d2c2c124befafe9",
320
+ "e7ab3cf1414e27efa8d292d59706e7d70c1bd7b48f4f9b57679eef7fda155fbf",
321
+ "e1b569b5550df7545a352c8e5cb273b1b4f3756f27c25cbf0a7d722bc8303226",
322
+ "6db2f51bf81c952ace60ebacebad57d58951eff8b5dd8fe7d92989efecf7fda9",
323
+ "53d84f18c347e1158bd8c0354ab5f9be4e6e7a5e2320407e86cf8aaf98dffb00",
324
+ "1f8325fccfcce7a1b56afbb5651de60eb7c553e2ebc7efcaf8d8e123cb1f6b0f",
325
+ "ac18a3af7ff0c71b70c43aa136afb253ad1aae1de176cca718253236d86a769c",
326
+ "7b853c498ae6aae5a6a28f48694504da633205850d4445e0682cdb7376d75919",
327
+ "a267b1e43c934e06920621ec9e207b7c2a82e384761c0bf54441d4f9009fec57",
328
+ "0564cdcf56c828ce5271a083b8bedcf143a754e053a90ec7e3e6c5ac48a07db8",
329
+ "70129cee082cd9378c8c571d28e342c9ced9b08cbf0ac55ab4af16597aa5bc23",
330
+ "8d25fcad7807bcbc5773feca7d8f0f4f66733afcafbaff0c63fc67a669bfe7db",
331
+ "9b92bc545b9bcbfcf36438c7ff90893ddd78fed9c57164bb3c28191bc8284f5e",
332
+ "6aa86b795cea402e35333b948ee041b56886718df9245acd5865809862abe3c1",
333
+ "fb63b73a74cd1cf2f6ac70d9ff77e1ac2eb741744c1296a21464762eb3572116",
334
+ "6776a0a90790bc107851455146d7a16668395032678a596507db2a5c428e954b",
335
+ "9f96f9a1b9173683eed4eaced6f2b2a9ede323777922d46d0645e83e119ffbe4"
336
+ ],
337
+ "mean_policy": "Equal-weight physical basin and fixed-issue regional grids; member-mean coordinates and central pressures separately. Moving-core grids are not directly averaged.",
338
+ "inference_seconds": 10.995
339
+ },
340
+ "leads_hours": [
341
+ 6,
342
+ 12,
343
+ 18,
344
+ 24,
345
+ 30,
346
+ 36,
347
+ 42,
348
+ 48,
349
+ 54,
350
+ 60,
351
+ 66,
352
+ 72,
353
+ 78,
354
+ 84,
355
+ 90,
356
+ 96,
357
+ 102,
358
+ 108,
359
+ 114,
360
+ 120
361
+ ],
362
+ "display_bounds": [
363
+ 100,
364
+ 180,
365
+ 0,
366
+ 60
367
+ ],
368
+ "source_inputs": {
369
+ "source": "Existing exact NOAA NCEP Reanalysis-1 basin atlas; retrospective analyses.",
370
+ "channels": [
371
+ "mslp",
372
+ "hgt500",
373
+ "uwnd850",
374
+ "vwnd850",
375
+ "uwnd500",
376
+ "vwnd500",
377
+ "uwnd200",
378
+ "vwnd200"
379
+ ],
380
+ "units": [
381
+ "hPa",
382
+ "m",
383
+ "m/s",
384
+ "m/s",
385
+ "m/s",
386
+ "m/s",
387
+ "m/s",
388
+ "m/s"
389
+ ],
390
+ "analysis_times_utc": [
391
+ "2018-09-09T00:00:00Z",
392
+ "2018-09-09T06:00:00Z",
393
+ "2018-09-09T12:00:00Z",
394
+ "2018-09-09T18:00:00Z",
395
+ "2018-09-10T00:00:00Z",
396
+ "2018-09-10T06:00:00Z",
397
+ "2018-09-10T12:00:00Z",
398
+ "2018-09-10T18:00:00Z",
399
+ "2018-09-11T00:00:00Z"
400
+ ],
401
+ "source_sha256": {
402
+ "track_build/basin_all_int8.npz": "71e5f1bb46c44e5936c506a3f8af021c1fe94c238ed030c05c66e8f342374b6d",
403
+ "track_build/basin_slp_atlas_float16.npy": "9f6a4ec7b2f6beadfa1075af9176d2a653e39a824d504d989e5e56e19c571521",
404
+ "output/automatic-forecast-cache/geography.npz": "f5471471da4a1e15f85fbfb2529065806281357c8e50cb272fcd2b02e8553b96"
405
+ },
406
+ "subset_sha256": "ae33a5f42b3342a41e6567c8bea6f12f8a1175ef62e2dd845a5efc6a2f73b358",
407
+ "physical_weather_sha256": "132f69d0e199da8f92e8b6bf2881fb8bdf526baa85ecacae7cb8da4d78b2c2c1",
408
+ "normalized_input_sha256": "7a180f3ec9f216b5cb8e9e5e1fdebb60bff779586d42054e10477edd23fdfccd",
409
+ "issue_observation": {
410
+ "name": "MANGKHUT",
411
+ "storm_id": "2018250N12170",
412
+ "issue_time_utc": "2018-09-11T00:00:00Z",
413
+ "lat": 14.0,
414
+ "lon": 141.2,
415
+ "motion": [
416
+ -161.84532714283623,
417
+ 0.0
418
+ ],
419
+ "pressure_hpa": 935.0,
420
+ "wind_kt": 95.0
421
+ },
422
+ "motion_note": "Only current and exact previous six-hour observed coordinates; east/north km per six hours.",
423
+ "causal": true,
424
+ "future_labels_used_for_inference": false
425
+ },
426
+ "observed_csv_sha256": "4348af2679b4be0d53ec630bccda759044663a1f57e2bbd5c1d19428aab562fc",
427
+ "observed_route_source": "Exact matching-timestamp IBTrACS LAT/LON; display verification only.",
428
+ "observed_pressure_source": "IBTrACS TOKYO_PRES JMA best track, not JMA forecasts; missing labels remain missing.",
429
+ "field_source": "Equal-weight physical means of all 50 basin and fixed-issue regional fields; no directly averaged moving grids.",
430
+ "native_history_available": false,
431
+ "grid_note": "0.25-degree regional reconstruction sampling, not native effective resolution. Basin sampling is 2.5 degrees. Coarse basin only outside the fixed regional patch.",
432
+ "regional_bounds": [
433
+ 126.25,
434
+ 156.25,
435
+ -1.0,
436
+ 29.0
437
+ ],
438
+ "first_forecast_lead_outside_regional_hours": 78,
439
+ "metrics": {
440
+ "mean_track_error_km": 77.47351113275661,
441
+ "track_error_120h_km": 191.70061661021862,
442
+ "central_pressure_mae_hpa": 7.39349365234375,
443
+ "pressure_valid_leads": 20,
444
+ "position_valid_leads": 20
445
+ },
446
+ "selection": "Calendar issue chosen before running these forecasts, without screening errors. Historical development showcase; dates may overlap checkpoint fitting/validation years. Not an untouched test or evidence of no overfitting.",
447
+ "video": {
448
+ "file": "docs/trackformer_1_2_mangkhut.mp4",
449
+ "duration_seconds": 23,
450
+ "forecast_states": 20,
451
+ "codec": "H.264",
452
+ "encoder": "h264_videotoolbox",
453
+ "sha256": "a609f7dda0cb42ed5dc17e543c838489f7632317e40d7f29038ee69d691eacbb",
454
+ "playback": "Each six-hour state held for 1 second; final frame held 3 seconds extra. No interpolated forecast states."
455
+ },
456
+ "video_layout": {
457
+ "overview_bounds": [
458
+ 100,
459
+ 180,
460
+ 0,
461
+ 60
462
+ ],
463
+ "closeup_bounds": [
464
+ 112.0,
465
+ 145.0,
466
+ 10.0,
467
+ 24.0
468
+ ],
469
+ "pressure_colors": "Blue below 1013.25 hPa; red above. Fixed range throughout each film.",
470
+ "map_graticule": false,
471
+ "geographic_route_adjustment": false
472
+ }
473
+ }
evaluation/release_data/mangkhut_video.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f06c857dc0e7edaa67a2e7262324fa0a9ebad684ce5a8ffa1610c27717c35b71
3
+ size 784243
evaluation/release_data/meranti_coastlines.json ADDED
@@ -0,0 +1 @@
 
 
1
+ [[[117.882035,4.137551],[117.313232,3.234428],[118.04833,2.28769],[117.875627,1.827641],[118.996747,0.902219],[117.811858,0.784242],[117.478339,0.102475],[117.521644,-0.803723],[116.560048,-1.487661],[116.533797,-2.483517],[116.148084,-4.012726],[116.000858,-3.657037],[114.864803,-4.106984],[114.468652,-3.495704],[113.755672,-3.43917],[113.256994,-3.118776],[112.068126,-3.478392],[111.703291,-2.994442],[111.04824,-3.049426],[110.223846,-2.934032],[110.070936,-1.592874],[109.571948,-1.314907],[109.091874,-0.459507],[108.952658,0.415375],[109.069136,1.341934],[109.66326,2.006467],[109.830227,1.338136],[110.514061,0.773131],[111.159138,0.976478],[111.797548,0.904441],[112.380252,1.410121],[112.859809,1.49779],[113.80585,1.217549],[114.621355,1.430688],[115.134037,2.821482],[115.519078,3.169238],[115.865517,4.306559],[117.015214,4.306094],[117.882035,4.137551]],[[127.932378,2.174596],[128.004156,1.628531],[128.594559,1.540811],[128.688249,1.132386],[128.635952,0.258486],[128.12017,0.356413],[127.968034,-0.252077],[128.379999,-0.780004],[128.100016,-0.899996],[127.696475,-0.266598],[127.39949,1.011722],[127.600512,1.810691],[127.932378,2.174596]],[[122.927567,0.875192],[124.077522,0.917102],[125.065989,1.643259],[125.240501,1.419836],[124.437035,0.427881],[123.685505,0.235593],[122.723083,0.431137],[121.056725,0.381217],[120.183083,0.237247],[120.04087,-0.519658],[120.935905,-1.408906],[121.475821,-0.955962],[123.340565,-0.615673],[123.258399,-1.076213],[122.822715,-0.930951],[122.38853,-1.516858],[121.508274,-1.904483],[122.454572,-3.186058],[122.271896,-3.5295],[123.170963,-4.683693],[123.162333,-5.340604],[122.628515,-5.634591],[122.236394,-5.282933],[122.719569,-4.464172],[121.738234,-4.851331],[121.489463,-4.574553],[121.619171,-4.188478],[120.898182,-3.602105],[120.972389,-2.627643],[120.305453,-2.931604],[120.390047,-4.097579],[120.430717,-5.528241],[119.796543,-5.6734],[119.366906,-5.379878],[119.653606,-4.459417],[119.498835,-3.494412],[119.078344,-3.487022],[118.767769,-2.801999],[119.180974,-2.147104],[119.323394,-1.353147],[119.825999,0.154254],[120.035702,0.566477],[120.885779,1.309223],[121.666817,1.013944],[122.927567,0.875192]],[[104.369991,-1.084843],[104.53949,-1.782372],[104.887893,-2.340425],[105.622111,-2.428844],[106.108593,-3.061777],[105.857446,-4.305525],[105.817655,-5.852356],[104.710384,-5.873285],[103.868213,-5.037315],[102.584261,-4.220259],[102.156173,-3.614146],[101.399113,-2.799777],[100.902503,-2.050262],[100.141981,-0.650348],[99.26374,0.183142],[98.970011,1.042882],[98.601351,1.823507],[97.699598,2.453184],[97.176942,3.308791],[96.424017,3.86886],[95.380876,4.970782],[95.293026,5.479821],[95.936863,5.439513],[97.484882,5.246321],[98.369169,4.26837],[99.142559,3.59035],[99.693998,3.174329],[100.641434,2.099381],[101.658012,2.083697],[102.498271,1.3987],[103.07684,0.561361],[103.838396,0.104542],[103.437645,-0.711946],[104.010789,-1.059212],[104.369991,-1.084843]],[[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[48.584353,41.808869],[47.987283,41.405819],[47.815666,41.151416],[47.373315,41.219732],[46.686071,41.827137],[46.404951,41.860675],[45.7764,42.09244],[45.470279,42.502781],[44.537623,42.711993],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.076965,43.553104],[39.955009,43.434998],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.223538,47.10219],[38.255112,47.5464],[38.77057,47.82562],[39.738278,47.898937],[39.89562,48.23241],[39.67465,48.78382],[40.080789,49.30743],[40.06904,49.60105],[38.594988,49.926462],[38.010631,49.915662],[37.39346,50.383953],[36.626168,50.225591],[35.356116,50.577197],[35.37791,50.77394],[35.022183,51.207572],[34.224816,51.255993],[34.141978,51.566413],[34.391731,51.768882],[33.7527,52.335075],[32.715761,52.238465],[32.412058,52.288695],[32.15944,52.06125],[31.785992,52.101678],[31.78597,52.10168],[31.540018,52.742052],[31.305201,53.073996],[31.49764,53.16743],[32.304519,53.132726],[32.693643,53.351421],[32.405599,53.618045],[31.731273,53.794029],[31.791424,53.974639],[31.384472,54.157056],[30.757534,54.811771],[30.971836,55.081548],[30.873909,55.550976],[29.896294,55.789463],[29.371572,55.670091],[29.229513,55.918344],[28.176709,56.16913],[27.855282,56.759326],[27.770016,57.244258],[27.288185,57.474528],[27.716686,57.791899],[27.42015,58.72457],[28.131699,59.300825],[27.98112,59.47537],[27.981127,59.475373],[29.1177,60.02805],[28.070002,60.503519],[28.07,60.50352],[30.211107,61.780028],[31.139991,62.357693],[31.516092,62.867687],[30.035872,63.552814],[30.444685,64.204453],[29.54443,64.948672],[30.21765,65.80598],[29.054589,66.944286],[29.977426,67.698297],[28.445944,68.364613],[28.59193,69.064777],[29.39955,69.15692],[31.101042,69.558101],[31.10108,69.55811],[32.13272,69.90595],[33.77547,69.30142],[36.51396,69.06342],[40.29234,67.9324],[41.05987,67.45713],[41.12595,66.79158],[40.01583,66.26618],[38.38295,65.99953],[33.91871,66.75961],[33.18444,66.63253],[34.81477,65.90015],[34.878574,65.436213],[34.94391,64.41437],[36.23129,64.10945],[37.01273,63.84983],[37.14197,64.33471],[36.539579,64.76446],[37.17604,65.14322],[39.59345,64.52079],[40.4356,64.76446],[39.7626,65.49682],[42.09309,66.47623],[43.01604,66.41858],[43.94975,66.06908],[44.53226,66.75634],[43.69839,67.35245],[44.18795,67.95051],[43.45282,68.57079],[46.25,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202,67.01005],[46.34915,66.66767],[47.89416,66.88455],[48.13876,67.52238],[50.22766,67.99867],[53.71743,68.85738],[54.47171,68.80815],[53.48582,68.20131],[54.72628,68.09702],[55.44268,68.43866],[57.31702,68.46628],[58.802,68.88082],[59.94142,68.27844],[61.07784,68.94069],[60.03,69.52],[60.55,69.85],[63.504,69.54739],[64.888115,69.234835],[68.51216,68.09233],[69.18068,68.61563],[68.16444,69.14436],[68.13522,69.35649],[66.93008,69.45461],[67.25976,69.92873],[66.72492,70.70889],[66.69466,71.02897],[68.54006,71.9345],[69.19636,72.84336],[69.94,73.04],[72.58754,72.77629],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.5647,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.32],[72.42301,66.17267],[72.82077,66.53267],[73.92099,66.78946],[74.18651,67.28429],[75.052,67.76047],[74.46926,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187,69.62763],[74.3998,70.63175],[73.1011,71.44717],[74.89082,72.12119],[74.65926,72.83227],[75.15801,72.85497],[75.68351,72.30056],[75.28898,71.33556],[76.35911,71.15287],[75.90313,71.87401],[77.57665,72.26717],[79.65202,72.32011],[81.5,71.75],[80.61071,72.58285],[80.51109,73.6482],[82.25,73.85],[84.65526,73.80591],[86.8223,73.93688],[86.00956,74.45967],[87.16682,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421,76.0472],[95.86,76.14],[96.67821,75.91548],[98.92254,76.44689],[100.75967,76.43028],[101.03532,76.86189],[101.99084,77.28754],[104.3516,77.69792],[106.06664,77.37389],[104.705,77.1274],[106.97013,76.97419],[107.24,76.48],[108.1538,76.72335],[111.07726,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779],[112.77918,75.03186],[110.15125,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774],[113.01954,73.97693],[113.52958,73.33505],[113.96881,73.59488],[115.56782,73.75285],[118.77633,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777,73.73503],[125.38,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599,71.19304],[131.28858,70.78699],[132.2535,71.8363],[133.85766,71.38642],[135.56193,71.65525],[137.49755,71.34763],[138.23409,71.62803],[139.86983,71.48783],[139.14791,72.41619],[140.46817,72.84941],[149.5,72.2],[150.35118,71.60643],[152.9689,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031,70.45324],[159.70866,69.72198],[160.94053,69.43728],[162.27907,69.64204],[164.05248,69.66823],[165.94037,69.47199],[167.83567,69.58269],[169.57763,68.6938],[170.81688,69.01363],[170.0082,69.65276],[170.45345,70.09703],[173.64391,69.81743],[175.72403,69.87725],[178.6,69.4],[180,68.963636],[180,64.979709],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.780005,42.22001],[130.780004,42.220008],[130.78,42.22],[130.779992,42.22001],[130.64,42.395],[130.64,42.395024],[130.633866,42.903015],[131.144688,42.92999],[131.288555,44.11152],[131.02519,44.96796],[131.883454,45.321162],[133.09712,45.14409],[133.769644,46.116927],[134.11235,47.21248],[134.50081,47.57845],[135.026311,48.47823],[133.373596,48.183442],[132.50669,47.78896],[130.98726,47.79013],[130.582293,48.729687],[129.397818,49.4406],[127.6574,49.76027],[127.287456,50.739797],[126.939157,51.353894],[126.564399,51.784255],[125.946349,52.792799],[125.068211,53.161045],[123.57147,53.4588],[122.245748,53.431726],[121.003085,53.251401],[120.177089,52.753886],[120.725789,52.516226],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.288461,50.142883],[117.879244,49.510983],[116.678801,49.888531],[115.485695,49.805177],[114.96211,50.140247],[114.362456,50.248303],[112.89774,49.543565],[111.581231,49.377968],[110.662011,49.130128],[109.402449,49.292961],[108.475167,49.282548],[107.868176,49.793705],[106.888804,50.274296],[105.886591,50.406019],[104.62158,50.27532],[103.676545,50.089966],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.516856],[99.981732,51.634006],[98.861491,52.047366],[97.82574,51.010995],[98.231762,50.422401],[97.25976,49.72605],[95.81402,49.97746],[94.815949,50.013433],[94.147566,50.480537],[93.10421,50.49529],[92.234712,50.802171],[90.713667,50.331812],[88.805567,49.470521],[87.751264,49.297198],[87.35997,49.214981],[86.829357,49.826675],[85.54127,49.692859],[85.11556,50.117303],[84.416377,50.3114],[83.935115,50.889246],[83.383004,51.069183],[81.945986,50.812196],[80.568447,51.388336],[80.03556,50.864751],[77.800916,53.404415],[76.525179,54.177003],[76.8911,54.490524],[74.38482,53.54685],[73.425679,53.48981],[73.508516,54.035617],[72.22415,54.376655],[71.180131,54.133285],[70.865267,55.169734],[69.068167,55.38525],[68.1691,54.970392],[65.66687,54.60125],[65.178534,54.354228],[61.4366,54.00625],[60.978066,53.664993],[61.699986,52.979996],[60.739993,52.719986],[60.927269,52.447548],[59.967534,51.96042],[61.588003,51.272659],[61.337424,50.79907],[59.932807,50.842194],[59.642282,50.545442],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.532878,51.02624],[52.328724,51.718652],[50.766648,51.692762],[48.702382,50.605128],[48.577841,49.87476],[47.54948,50.454698],[46.751596,49.356006],[47.043672,49.152039],[46.466446,48.394152],[47.31524,47.71585],[48.05725,47.74377],[48.694734,47.075628],[48.59325,46.56104],[49.10116,46.39933]],[[142.914616,53.704578],[143.260848,52.74076],[143.235268,51.75666],[143.648007,50.7476],[144.654148,48.976391],[143.173928,49.306551],[142.558668,47.861575],[143.533492,46.836728],[143.505277,46.137908],[142.747701,46.740765],[142.09203,45.966755],[141.906925,46.805929],[142.018443,47.780133],[141.904445,48.859189],[142.1358,49.615163],[142.179983,50.952342],[141.594076,51.935435],[141.682546,53.301966],[142.606934,53.762145],[142.209749,54.225476],[142.654786,54.365881],[142.914616,53.704578]],[[102.584932,12.186595],[102.348099,13.394247],[102.988422,14.225721],[104.281418,14.416743],[105.218777,14.273212],[106.043946,13.881091],[106.496373,14.570584],[107.382727,14.202441],[107.614548,13.535531],[107.491403,12.337206],[105.810524,11.567615],[106.24967,10.961812],[105.199915,10.88931],[104.334335,10.486544],[103.49728,10.632555],[103.09069,11.153661],[102.584932,12.186595]],[[105.218777,14.273212],[104.281418,14.416743],[102.988422,14.225721],[102.348099,13.394247],[102.584932,12.186595],[101.687158,12.64574],[100.83181,12.627085],[100.978467,13.412722],[100.097797,13.406856],[100.018733,12.307001],[99.478921,10.846367],[99.153772,9.963061],[99.222399,9.239255],[99.873832,9.207862],[100.279647,8.295153],[100.459274,7.429573],[101.017328,6.856869],[101.623079,6.740622],[102.141187,6.221636],[101.814282,5.810808],[101.154219,5.691384],[101.075516,6.204867],[100.259596,6.642825],[100.085757,6.464489],[99.690691,6.848213],[99.519642,7.343454],[98.988253,7.907993],[98.503786,8.382305],[98.339662,7.794512],[98.150009,8.350007],[98.25915,8.973923],[98.553551,9.93296],[99.038121,10.960546],[99.587286,11.892763],[99.196354,12.804748],[99.212012,13.269294],[99.097755,13.827503],[98.430819,14.622028],[98.192074,15.123703],[98.537376,15.308497],[98.903348,16.177824],[98.493761,16.837836],[97.859123,17.567946],[97.375896,18.445438],[97.797783,18.62708],[98.253724,19.708203],[98.959676,19.752981],[99.543309,20.186598],[100.115988,20.41785],[100.548881,20.109238],[100.606294,19.508344],[101.282015,19.462585],[101.035931,18.408928],[101.059548,17.512497],[102.113592,18.109102],[102.413005,17.932782],[102.998706,17.961695],[103.200192,18.309632],[103.956477,18.240954],[104.716947,17.428859],[104.779321,16.441865],[105.589039,15.570316],[105.544338,14.723934],[105.218777,14.273212]],[[107.382727,14.202441],[106.496373,14.570584],[106.043946,13.881091],[105.218777,14.273212],[105.544338,14.723934],[105.589039,15.570316],[104.779321,16.441865],[104.716947,17.428859],[103.956477,18.240954],[103.200192,18.309632],[102.998706,17.961695],[102.413005,17.932782],[102.113592,18.109102],[101.059548,17.512497],[101.035931,18.408928],[101.282015,19.462585],[100.606294,19.508344],[100.548881,20.109238],[100.115988,20.41785],[100.329101,20.786122],[101.180005,21.436573],[101.270026,21.201652],[101.80312,21.174367],[101.652018,22.318199],[102.170436,22.464753],[102.754896,21.675137],[103.203861,20.766562],[104.435,20.758733],[104.822574,19.886642],[104.183388,19.624668],[103.896532,19.265181],[105.094598,18.666975],[105.925762,17.485315],[106.556008,16.604284],[107.312706,15.908538],[107.564525,15.202173],[107.382727,14.202441]],[[100.115988,20.41785],[99.543309,20.186598],[98.959676,19.752981],[98.253724,19.708203],[97.797783,18.62708],[97.375896,18.445438],[97.859123,17.567946],[98.493761,16.837836],[98.903348,16.177824],[98.537376,15.308497],[98.192074,15.123703],[98.430819,14.622028],[99.097755,13.827503],[99.212012,13.269294],[99.196354,12.804748],[99.587286,11.892763],[99.038121,10.960546],[98.553551,9.93296],[98.457174,10.675266],[98.764546,11.441292],[98.428339,12.032987],[98.509574,13.122378],[98.103604,13.64046],[97.777732,14.837286],[97.597072,16.100568],[97.16454,16.928734],[96.505769,16.427241],[95.369352,15.71439],[94.808405,15.803454],[94.188804,16.037936],[94.533486,17.27724],[94.324817,18.213514],[93.540988,19.366493],[93.663255,19.726962],[93.078278,19.855145],[92.368554,20.670883],[92.303234,21.475485],[92.652257,21.324048],[92.672721,22.041239],[93.166128,22.27846],[93.060294,22.703111],[93.286327,23.043658],[93.325188,24.078556],[94.106742,23.850741],[94.552658,24.675238],[94.603249,25.162495],[95.155153,26.001307],[95.124768,26.573572],[96.419366,27.264589],[97.133999,27.083774],[97.051989,27.699059],[97.402561,27.882536],[97.327114,28.261583],[97.911988,28.335945],[98.246231,27.747221],[98.68269,27.508812],[98.712094,26.743536],[98.671838,25.918703],[97.724609,25.083637],[97.60472,23.897405],[98.660262,24.063286],[98.898749,23.142722],[99.531992,22.949039],[99.240899,22.118314],[99.983489,21.742937],[100.416538,21.558839],[101.150033,21.849984],[101.180005,21.436573],[100.329101,20.786122],[100.115988,20.41785]],[[104.334335,10.486544],[105.199915,10.88931],[106.24967,10.961812],[105.810524,11.567615],[107.491403,12.337206],[107.614548,13.535531],[107.382727,14.202441],[107.564525,15.202173],[107.312706,15.908538],[106.556008,16.604284],[105.925762,17.485315],[105.094598,18.666975],[103.896532,19.265181],[104.183388,19.624668],[104.822574,19.886642],[104.435,20.758733],[103.203861,20.766562],[102.754896,21.675137],[102.170436,22.464753],[102.706992,22.708795],[103.504515,22.703757],[104.476858,22.81915],[105.329209,23.352063],[105.811247,22.976892],[106.725403,22.794268],[106.567273,22.218205],[107.04342,21.811899],[108.05018,21.55238],[106.715068,20.696851],[105.881682,19.75205],[105.662006,19.058165],[106.426817,18.004121],[107.361954,16.697457],[108.269495,16.079742],[108.877107,15.276691],[109.33527,13.426028],[109.200136,11.666859],[108.36613,11.008321],[107.220929,10.364484],[106.405113,9.53084],[105.158264,8.59976],[104.795185,9.241038],[105.076202,9.918491],[104.334335,10.486544]],[[130.780004,42.220008],[130.780005,42.22001],[130.780007,42.220007],[130.780004,42.220008]],[[130.64,42.395024],[130.64,42.395],[130.779992,42.22001],[130.400031,42.280004],[129.965949,41.941368],[129.667362,41.601104],[129.705189,40.882828],[129.188115,40.661808],[129.0104,40.485436],[128.633368,40.189847],[127.967414,40.025413],[127.533436,39.75685],[127.50212,39.323931],[127.385434,39.213472],[127.783343,39.050898],[128.349716,38.612243],[128.205746,38.370397],[127.780035,38.304536],[127.073309,38.256115],[126.68372,37.804773],[126.237339,37.840378],[126.174759,37.749686],[125.689104,37.94001],[125.568439,37.752089],[125.27533,37.669071],[125.240087,37.857224],[124.981033,37.948821],[124.712161,38.108346],[124.985994,38.548474],[125.221949,38.665857],[125.132859,38.848559],[125.38659,39.387958],[125.321116,39.551385],[124.737482,39.660344],[124.265625,39.928493],[125.079942,40.569824],[126.182045,41.107336],[126.869083,41.816569],[127.343783,41.503152],[128.208433,41.466772],[128.052215,41.994285],[129.596669,42.424982],[129.994267,42.985387],[130.64,42.395024]],[[126.174759,37.749686],[126.237339,37.840378],[126.68372,37.804773],[127.073309,38.256115],[127.780035,38.304536],[128.205746,38.370397],[128.349716,38.612243],[129.21292,37.432392],[129.46045,36.784189],[129.468304,35.632141],[129.091377,35.082484],[128.18585,34.890377],[127.386519,34.475674],[126.485748,34.390046],[126.37392,34.93456],[126.559231,35.684541],[126.117398,36.725485],[126.860143,36.893924],[126.174759,37.749686]],[[87.751264,49.297198],[88.805567,49.470521],[90.713667,50.331812],[92.234712,50.802171],[93.10421,50.49529],[94.147566,50.480537],[94.815949,50.013433],[95.81402,49.97746],[97.25976,49.72605],[98.231762,50.422401],[97.82574,51.010995],[98.861491,52.047366],[99.981732,51.634006],[100.88948,51.516856],[102.06521,51.25991],[102.25589,50.51056],[103.676545,50.089966],[104.62158,50.27532],[105.886591,50.406019],[106.888804,50.274296],[107.868176,49.793705],[108.475167,49.282548],[109.402449,49.292961],[110.662011,49.130128],[111.581231,49.377968],[112.89774,49.543565],[114.362456,50.248303],[114.96211,50.140247],[115.485695,49.805177],[116.678801,49.888531],[116.191802,49.134598],[115.485282,48.135383],[115.742837,47.726545],[116.308953,47.85341],[117.295507,47.697709],[118.064143,48.06673],[118.866574,47.74706],[119.772824,47.048059],[119.66327,46.69268],[118.874326,46.805412],[117.421701,46.672733],[116.717868,46.388202],[115.985096,45.727235],[114.460332,45.339817],[113.463907,44.808893],[112.436062,45.011646],[111.873306,45.102079],[111.348377,44.457442],[111.667737,44.073176],[111.829588,43.743118],[111.129682,43.406834],[110.412103,42.871234],[109.243596,42.519446],[107.744773,42.481516],[106.129316,42.134328],[104.964994,41.59741],[104.522282,41.908347],[103.312278,41.907468],[101.83304,42.514873],[100.845866,42.663804],[99.515817,42.524691],[97.451757,42.74889],[96.349396,42.725635],[95.762455,43.319449],[95.306875,44.241331],[94.688929,44.352332],[93.480734,44.975472],[92.133891,45.115076],[90.94554,45.286073],[90.585768,45.719716],[90.970809,46.888146],[90.280826,47.693549],[88.854298,48.069082],[88.013832,48.599463],[87.751264,49.297198]],[[109.47521,18.197701],[108.655208,18.507682],[108.626217,19.367888],[109.119056,19.821039],[110.211599,20.101254],[110.786551,20.077534],[111.010051,19.69593],[110.570647,19.255879],[110.339188,18.678395],[109.47521,18.197701]],[[80.25999,42.349999],[80.18015,42.920068],[80.866206,43.180362],[79.966106,44.917517],[81.947071,45.317027],[82.458926,45.53965],[83.180484,47.330031],[85.16429,47.000956],[85.720484,47.452969],[85.768233,48.455751],[86.598776,48.549182],[87.35997,49.214981],[87.751264,49.297198],[88.013832,48.599463],[88.854298,48.069082],[90.280826,47.693549],[90.970809,46.888146],[90.585768,45.719716],[90.94554,45.286073],[92.133891,45.115076],[93.480734,44.975472],[94.688929,44.352332],[95.306875,44.241331],[95.762455,43.319449],[96.349396,42.725635],[97.451757,42.74889],[99.515817,42.524691],[100.845866,42.663804],[101.83304,42.514873],[103.312278,41.907468],[104.522282,41.908347],[104.964994,41.59741],[106.129316,42.134328],[107.744773,42.481516],[109.243596,42.519446],[110.412103,42.871234],[111.129682,43.406834],[111.829588,43.743118],[111.667737,44.073176],[111.348377,44.457442],[111.873306,45.102079],[112.436062,45.011646],[113.463907,44.808893],[114.460332,45.339817],[115.985096,45.727235],[116.717868,46.388202],[117.421701,46.672733],[118.874326,46.805412],[119.66327,46.69268],[119.772824,47.048059],[118.866574,47.74706],[118.064143,48.06673],[117.295507,47.697709],[116.308953,47.85341],[115.742837,47.726545],[115.485282,48.135383],[116.191802,49.134598],[116.678801,49.888531],[117.879244,49.510983],[119.288461,50.142883],[119.27939,50.58292],[120.18208,51.64355],[120.7382,51.96411],[120.725789,52.516226],[120.177089,52.753886],[121.003085,53.251401],[122.245748,53.431726],[123.57147,53.4588],[125.068211,53.161045],[125.946349,52.792799],[126.564399,51.784255],[126.939157,51.353894],[127.287456,50.739797],[127.6574,49.76027],[129.397818,49.4406],[130.582293,48.729687],[130.98726,47.79013],[132.50669,47.78896],[133.373596,48.183442],[135.026311,48.47823],[134.50081,47.57845],[134.11235,47.21248],[133.769644,46.116927],[133.09712,45.14409],[131.883454,45.321162],[131.02519,44.96796],[131.288555,44.11152],[131.144688,42.92999],[130.633866,42.903015],[130.64,42.395024],[129.994267,42.985387],[129.596669,42.424982],[128.052215,41.994285],[128.208433,41.466772],[127.343783,41.503152],[126.869083,41.816569],[126.182045,41.107336],[125.079942,40.569824],[124.265625,39.928493],[122.86757,39.637788],[122.131388,39.170452],[121.054554,38.897471],[121.585995,39.360854],[121.376757,39.750261],[122.168595,40.422443],[121.640359,40.94639],[120.768629,40.593388],[119.639602,39.898056],[119.023464,39.252333],[118.042749,39.204274],[117.532702,38.737636],[118.059699,38.061476],[118.87815,37.897325],[118.911636,37.448464],[119.702802,37.156389],[120.823457,37.870428],[121.711259,37.481123],[122.357937,37.454484],[122.519995,36.930614],[121.104164,36.651329],[120.637009,36.11144],[119.664562,35.609791],[119.151208,34.909859],[120.227525,34.360332],[120.620369,33.376723],[121.229014,32.460319],[121.908146,31.692174],[121.891919,30.949352],[121.264257,30.676267],[121.503519,30.142915],[122.092114,29.83252],[121.938428,29.018022],[121.684439,28.225513],[121.125661,28.135673],[120.395473,27.053207],[119.585497,25.740781],[118.656871,24.547391],[117.281606,23.624501],[115.890735,22.782873],[114.763827,22.668074],[114.152547,22.22376],[113.80678,22.54834],[113.241078,22.051367],[111.843592,21.550494],[110.785466,21.397144],[110.444039,20.341033],[109.889861,20.282457],[109.627655,21.008227],[109.864488,21.395051],[108.522813,21.715212],[108.05018,21.55238],[107.04342,21.811899],[106.567273,22.218205],[106.725403,22.794268],[105.811247,22.976892],[105.329209,23.352063],[104.476858,22.81915],[103.504515,22.703757],[102.706992,22.708795],[102.170436,22.464753],[101.652018,22.318199],[101.80312,21.174367],[101.270026,21.201652],[101.180005,21.436573],[101.150033,21.849984],[100.416538,21.558839],[99.983489,21.742937],[99.240899,22.118314],[99.531992,22.949039],[98.898749,23.142722],[98.660262,24.063286],[97.60472,23.897405],[97.724609,25.083637],[98.671838,25.918703],[98.712094,26.743536],[98.68269,27.508812],[98.246231,27.747221],[97.911988,28.335945],[97.327114,28.261583],[96.248833,28.411031],[96.586591,28.83098],[96.117679,29.452802],[95.404802,29.031717],[94.56599,29.277438],[93.413348,28.640629],[92.503119,27.896876],[91.696657,27.771742],[91.258854,28.040614],[90.730514,28.064954],[90.015829,28.296439],[89.47581,28.042759],[88.814248,27.299316],[88.730326,28.086865],[88.120441,27.876542],[86.954517,27.974262],[85.82332,28.203576],[85.011638,28.642774],[84.23458,28.839894],[83.898993,29.320226],[83.337115,29.463732],[82.327513,30.115268],[81.525804,30.422717],[81.111256,30.183481],[79.721367,30.882715],[78.738894,31.515906],[78.458446,32.618164],[79.176129,32.48378],[79.208892,32.994395],[78.811086,33.506198],[78.912269,34.321936],[77.837451,35.49401],[76.192848,35.898403],[75.896897,36.666806],[75.158028,37.133031],[74.980002,37.41999],[74.829986,37.990007],[74.864816,38.378846],[74.257514,38.606507],[73.928852,38.505815],[73.675379,39.431237],[73.960013,39.660008],[73.822244,39.893973],[74.776862,40.366425],[75.467828,40.562072],[76.526368,40.427946],[76.904484,41.066486],[78.187197,41.185316],[78.543661,41.582243],[80.11943,42.123941],[80.25999,42.349999]],[[121.777818,24.394274],[121.175632,22.790857],[120.74708,21.970571],[120.220083,22.814861],[120.106189,23.556263],[120.69468,24.538451],[121.495044,25.295459],[121.951244,24.997596],[121.777818,24.394274]],[[120.833896,12.704496],[120.323436,13.466413],[121.180128,13.429697],[121.527394,13.06959],[121.26219,12.20556],[120.833896,12.704496]],[[122.586089,9.981045],[122.837081,10.261157],[122.947411,10.881868],[123.49885,10.940624],[123.337774,10.267384],[124.077936,11.232726],[123.982438,10.278779],[123.623183,9.950091],[123.309921,9.318269],[122.995883,9.022189],[122.380055,9.713361],[122.586089,9.981045]],[[126.376814,8.414706],[126.478513,7.750354],[126.537424,7.189381],[126.196773,6.274294],[125.831421,7.293715],[125.363852,6.786485],[125.683161,6.049657],[125.396512,5.581003],[124.219788,6.161355],[123.93872,6.885136],[124.243662,7.36061],[123.610212,7.833527],[123.296071,7.418876],[122.825506,7.457375],[122.085499,6.899424],[121.919928,7.192119],[122.312359,8.034962],[122.942398,8.316237],[123.487688,8.69301],[123.841154,8.240324],[124.60147,8.514158],[124.764612,8.960409],[125.471391,8.986997],[125.412118,9.760335],[126.222714,9.286074],[126.306637,8.782487],[126.376814,8.414706]],[[118.504581,9.316383],[117.174275,8.3675],[117.664477,9.066889],[118.386914,9.6845],[118.987342,10.376292],[119.511496,11.369668],[119.689677,10.554291],[119.029458,10.003653],[118.504581,9.316383]],[[122.336957,18.224883],[122.174279,17.810283],[122.515654,17.093505],[122.252311,16.262444],[121.662786,15.931018],[121.50507,15.124814],[121.728829,14.328376],[122.258925,14.218202],[122.701276,14.336541],[123.950295,13.782131],[123.855107,13.237771],[124.181289,12.997527],[124.077419,12.536677],[123.298035,13.027526],[122.928652,13.55292],[122.671355,13.185836],[122.03465,13.784482],[121.126385,13.636687],[120.628637,13.857656],[120.679384,14.271016],[120.991819,14.525393],[120.693336,14.756671],[120.564145,14.396279],[120.070429,14.970869],[119.920929,15.406347],[119.883773,16.363704],[120.286488,16.034629],[120.390047,17.599081],[120.715867,18.505227],[121.321308,18.504065],[121.937601,18.218552],[122.246006,18.47895],[122.336957,18.224883]],[[122.03837,11.415841],[121.883548,11.891755],[122.483821,11.582187],[123.120217,11.58366],[123.100838,11.165934],[122.637714,10.741308],[122.00261,10.441017],[121.967367,10.905691],[122.03837,11.415841]],[[125.502552,12.162695],[125.783465,11.046122],[125.011884,11.311455],[125.032761,10.975816],[125.277449,10.358722],[124.801819,10.134679],[124.760168,10.837995],[124.459101,10.88993],[124.302522,11.495371],[124.891013,11.415583],[124.87799,11.79419],[124.266762,12.557761],[125.227116,12.535721],[125.502552,12.162695]],[[100.085757,6.464489],[100.259596,6.642825],[101.075516,6.204867],[101.154219,5.691384],[101.814282,5.810808],[102.141187,6.221636],[102.371147,6.128205],[102.961705,5.524495],[103.381215,4.855001],[103.438575,4.181606],[103.332122,3.726698],[103.429429,3.382869],[103.502448,2.791019],[103.854674,2.515454],[104.247932,1.631141],[104.228811,1.293048],[103.519707,1.226334],[102.573615,1.967115],[101.390638,2.760814],[101.27354,3.270292],[100.695435,3.93914],[100.557408,4.76728],[100.196706,5.312493],[100.30626,6.040562],[100.085757,6.464489]],[[117.882035,4.137551],[117.015214,4.306094],[115.865517,4.306559],[115.519078,3.169238],[115.134037,2.821482],[114.621355,1.430688],[113.80585,1.217549],[112.859809,1.49779],[112.380252,1.410121],[111.797548,0.904441],[111.159138,0.976478],[110.514061,0.773131],[109.830227,1.338136],[109.66326,2.006467],[110.396135,1.663775],[111.168853,1.850637],[111.370081,2.697303],[111.796928,2.885897],[112.995615,3.102395],[113.712935,3.893509],[114.204017,4.525874],[114.659596,4.007637],[114.869557,4.348314],[115.347461,4.316636],[115.4057,4.955228],[115.45071,5.44773],[116.220741,6.143191],[116.725103,6.924771],[117.129626,6.928053],[117.643393,6.422166],[117.689075,5.98749],[118.347691,5.708696],[119.181904,5.407836],[119.110694,5.016128],[118.439727,4.966519],[118.618321,4.478202],[117.882035,4.137551]],[[115.45071,5.44773],[115.4057,4.955228],[115.347461,4.316636],[114.869557,4.348314],[114.659596,4.007637],[114.204017,4.525874],[114.599961,4.900011],[115.45071,5.44773]],[[141.884601,39.180865],[140.959489,38.174001],[140.976388,37.142074],[140.59977,36.343983],[140.774074,35.842877],[140.253279,35.138114],[138.975528,34.6676],[137.217599,34.606286],[135.792983,33.464805],[135.120983,33.849071],[135.079435,34.596545],[133.340316,34.375938],[132.156771,33.904933],[130.986145,33.885761],[132.000036,33.149992],[131.33279,31.450355],[130.686318,31.029579],[130.20242,31.418238],[130.447676,32.319475],[129.814692,32.61031],[129.408463,33.296056],[130.353935,33.604151],[130.878451,34.232743],[131.884229,34.749714],[132.617673,35.433393],[134.608301,35.731618],[135.677538,35.527134],[136.723831,37.304984],[137.390612,36.827391],[138.857602,37.827485],[139.426405,38.215962],[140.05479,39.438807],[139.883379,40.563312],[140.305783,41.195005],[141.368973,41.37856],[141.914263,39.991616],[141.884601,39.180865]],[[144.613427,43.960883],[145.320825,44.384733],[145.543137,43.262088],[144.059662,42.988358],[143.18385,41.995215],[141.611491,42.678791],[141.067286,41.584594],[139.955106,41.569556],[139.817544,42.563759],[140.312087,43.333273],[141.380549,43.388825],[141.671952,44.772125],[141.967645,45.551483],[143.14287,44.510358],[143.910162,44.1741],[144.613427,43.960883]],[[132.371176,33.463642],[132.924373,34.060299],[133.492968,33.944621],[133.904106,34.364931],[134.638428,34.149234],[134.766379,33.806335],[134.203416,33.201178],[133.79295,33.521985],[133.280268,33.28957],[133.014858,32.704567],[132.363115,32.989382],[132.371176,33.463642]]]
evaluation/release_data/meranti_video.json ADDED
@@ -0,0 +1,473 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Trackformer 1.2",
3
+ "storm": "MERANTI",
4
+ "storm_id": "2016253N13144",
5
+ "issue_time_utc": "2016-09-10T00:00:00Z",
6
+ "members": 50,
7
+ "device": "mps",
8
+ "checkpoint_sha256": "f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0",
9
+ "inference_weights_sha256": "db49f36e85a3766defc4c172746897a1f783705d1ce8e6f9dfb8e87ae1d902cb",
10
+ "source_module_sha256": {
11
+ "model.py": "5dab06c20224cf48c51302122455ee7e16948f977bf4b760fd8aff5d443ab0bc",
12
+ "baseline_model.py": "6c05941fd93baaca04508877edc69f8f0394b70e0a64e734ef0d2c1e8832246a",
13
+ "v165_base.py": "5c9473993a19d0fed00055494b5c1f50c1006aaf46551ff50145f67048c3374a"
14
+ },
15
+ "data_sha256": "565343166656155e8f227372cce2947536afe83593820c89790606e5ac909baf",
16
+ "ensemble_policy": {
17
+ "method": "seeded causal input-perturbation ensemble, not latent samples",
18
+ "member_count": 50,
19
+ "member_ids": [
20
+ 0,
21
+ 1,
22
+ 2,
23
+ 3,
24
+ 4,
25
+ 5,
26
+ 6,
27
+ 7,
28
+ 8,
29
+ 9,
30
+ 10,
31
+ 11,
32
+ 12,
33
+ 13,
34
+ 14,
35
+ 15,
36
+ 16,
37
+ 17,
38
+ 18,
39
+ 19,
40
+ 20,
41
+ 21,
42
+ 22,
43
+ 23,
44
+ 24,
45
+ 25,
46
+ 26,
47
+ 27,
48
+ 28,
49
+ 29,
50
+ 30,
51
+ 31,
52
+ 32,
53
+ 33,
54
+ 34,
55
+ 35,
56
+ 36,
57
+ 37,
58
+ 38,
59
+ 39,
60
+ 40,
61
+ 41,
62
+ 42,
63
+ 43,
64
+ 44,
65
+ 45,
66
+ 46,
67
+ 47,
68
+ 48,
69
+ 49
70
+ ],
71
+ "seeds": [
72
+ 2043,
73
+ 2044,
74
+ 2045,
75
+ 2046,
76
+ 2047,
77
+ 2048,
78
+ 2049,
79
+ 2050,
80
+ 2051,
81
+ 2052,
82
+ 2053,
83
+ 2054,
84
+ 2055,
85
+ 2056,
86
+ 2057,
87
+ 2058,
88
+ 2059,
89
+ 2060,
90
+ 2061,
91
+ 2062,
92
+ 2063,
93
+ 2064,
94
+ 2065,
95
+ 2066,
96
+ 2067,
97
+ 2068,
98
+ 2069,
99
+ 2070,
100
+ 2071,
101
+ 2072,
102
+ 2073,
103
+ 2074,
104
+ 2075,
105
+ 2076,
106
+ 2077,
107
+ 2078,
108
+ 2079,
109
+ 2080,
110
+ 2081,
111
+ 2082,
112
+ 2083,
113
+ 2084,
114
+ 2085,
115
+ 2086,
116
+ 2087,
117
+ 2088,
118
+ 2089,
119
+ 2090,
120
+ 2091,
121
+ 2092
122
+ ],
123
+ "weights": [
124
+ 0.02,
125
+ 0.02,
126
+ 0.02,
127
+ 0.02,
128
+ 0.02,
129
+ 0.02,
130
+ 0.02,
131
+ 0.02,
132
+ 0.02,
133
+ 0.02,
134
+ 0.02,
135
+ 0.02,
136
+ 0.02,
137
+ 0.02,
138
+ 0.02,
139
+ 0.02,
140
+ 0.02,
141
+ 0.02,
142
+ 0.02,
143
+ 0.02,
144
+ 0.02,
145
+ 0.02,
146
+ 0.02,
147
+ 0.02,
148
+ 0.02,
149
+ 0.02,
150
+ 0.02,
151
+ 0.02,
152
+ 0.02,
153
+ 0.02,
154
+ 0.02,
155
+ 0.02,
156
+ 0.02,
157
+ 0.02,
158
+ 0.02,
159
+ 0.02,
160
+ 0.02,
161
+ 0.02,
162
+ 0.02,
163
+ 0.02,
164
+ 0.02,
165
+ 0.02,
166
+ 0.02,
167
+ 0.02,
168
+ 0.02,
169
+ 0.02,
170
+ 0.02,
171
+ 0.02,
172
+ 0.02,
173
+ 0.02
174
+ ],
175
+ "global_noise_normalized_std": 0.025,
176
+ "regional_noise_normalized_std": 0.015,
177
+ "global_smoothing_kernel": 5,
178
+ "regional_smoothing_kernel": 9,
179
+ "native_detail_available": false,
180
+ "missing_native_history_remains_masked": true,
181
+ "input_sha256": [
182
+ "7811fae269a89d39055641c07a54a58c9a2138292770377facf10aa3c566c9f3",
183
+ "e705eca1caeb1894566529cee2033e7335c10aa82253d91232f55c2bd3182c83",
184
+ "1a8072a0058e98a7475d0f210fd1d1d263c613e0245e7ca560d84db57c69d84d",
185
+ "282b23faf709f9594f4b7cb0ee0ef167a5529b2c27ee9eaee44ae05b41962d7d",
186
+ "f4fa26e3ec9be3ad2c3308567a532640e03d32034a83f4a0c5a4f0818d0fdcdc",
187
+ "5d1a641aa5d1f78a2095635b7b07849a4f31f3460f03a1e68aea995c08eb3f36",
188
+ "9d104d15ca512617c8197c285b30583d4812698c8315b63f660a6b76a347a278",
189
+ "e81b5f19b3147cc2edd14f7001aa4756b2b0f341c516bd234560ebfe527c214f",
190
+ "5691c3f22a7ec3a3023f3b97fbe08424537e0ad3dba132515ed9100d1780e5d7",
191
+ "6193dfed568cc79f765cdf7bc821b5423ca81f2a30f8c4ce66f54f035cde349f",
192
+ "1bc0ce908f3b532f619a20c378e56249df9b098075f9f7a2d6cdcae8a1b908a2",
193
+ "e3abebe03f6c8a615b5f55d0787e09398df0f34ebc3ea0c5ef0c70b61447fae3",
194
+ "260454f6307ed3bf3bbfc8358f7b140a28c2156893c5f74162909e4505c0cf68",
195
+ "70f41244b0a0de529ec93bad2a784c30489598039ca55560578d11e3da0e2eba",
196
+ "e044f521b381e061709871e85263c0352ae181884d2991a3050493e26432ba8b",
197
+ "f5b58762df6e51d43552b7c2d5116f82486ac8f832eee0c0a5210dde663a11b4",
198
+ "cb96040ea782cd3c5c7c54299093521e45cc3971c7160e5ed75e059a463adadf",
199
+ "4c47df6c8a827bee3e3e727956ab01d5ca3947439a7ee232db5ac043953c13db",
200
+ "a8ad58f0247db2dd4dc7f98028cea32ff2b0ad8e5202b4317fac8bd3e72ce337",
201
+ "ac4d577c061d9e3bffcb6b5ebb96758fdeb2602eb13ad362528f19c35b4777dd",
202
+ "4ca38692adba785ae496c462046590f232c4483e0ebea88733a1063e1d87b2dd",
203
+ "21ff242455e1633beda06cc2ad68944983804f1160c35c6a5b4bf72122b163d5",
204
+ "7e1b9552d7af2d8cf4a6d076af06670c8e3889c7dafc96d1305fab251fbf02c6",
205
+ "ca3c6d1cd4d8343e136b42eb39d0103e6cfedbeb65a98e427d1c1c9ab1954264",
206
+ "7c9f5fd36c8860822fd79b3714073c77f27376e338bfced5daea1793a0cc10c2",
207
+ "f48f54e1cbf7b1ca274bd5481005564a31b5ff2c149ba033b5f05ad1422968c1",
208
+ "06802ff292cc1c13385962e92f6ada2579a5aca6649eafd26d2c4711f517f205",
209
+ "17d4e6e9ce51da36d7b1f9ccc41bd85e39e7d648c1d86e010575ab4ddd3e2b08",
210
+ "096f01647b9f1eeffc631ab647e8b317b54dbb560965245c23c5c8b06109fab8",
211
+ "7f5943f95ede82fba09dee0caec6375be6d7069c0064353fd98880f19f7fa940",
212
+ "4697c0a9303e5b05accbcc47a082f428ca7e2c8de97c6736c41aa4794c537e03",
213
+ "6680320024541de3032fab9ab03f031f79cefe90a58e02dbdf6a39019870cb87",
214
+ "dfac35b9d768e8a6ab9ada94f1812e6dcc236f02949cc38994d9cfbf336d70f9",
215
+ "11c4c1bdd09a68bdb2073406f121ae2d0eef08e7a92cdaee24b5200b4dd26367",
216
+ "20da8254bf5feccc9ef48b89187d21823e31dcfb7eb0edebaba6ce3bb7b888d6",
217
+ "ae79d06ee3d786008adfc606b97ea8732fbbc91c7454f6ca1785302179a527ad",
218
+ "07131e6a6e1062ba96e38a10c5e71fca497c43476974165bacc33379ec51dfe4",
219
+ "62ca876c719c831af34103987bd880eb95e7003ca22ad7c3fd7b6c611bf1713d",
220
+ "05538e92c1e5b0fd0731e3a65108e24ffb98e3378f0935c40907130576072699",
221
+ "c9af61929ceafa268b4075cef03c79b2890754d63f4fc65cf5195e29cac57dd1",
222
+ "d717f922f48ffe8b5d6eba4214b09c67200c00710e9ead010024ec61d9f47170",
223
+ "227c833d104f882d6d58f5ccb454447f226aaf97abb0a81b3a747edee6cddaa4",
224
+ "35302255aaf735aa68bff3bff6fe2b7cd2c0cc512562ab922da1ab32d158cbd1",
225
+ "43215bb6dfa6a57f65a7412286618b6a3a199d5bc3258139bc547445e816a0f9",
226
+ "16eaf4b083f5233206dd31133bfbc24289b6eb5353a4cec43073b3cd803cf0e9",
227
+ "adcc1791517adfa853e79c6915caaab725b40b16b7be7870289508a52c627a0e",
228
+ "c0dc2111a6bd3559b0975c2a44f9aa096688bb2ed5c079c16e757a275ee5172a",
229
+ "42072edbddd0b1d188fec8cce37d97b1977c998b3176c942f51e6ab8e05d0e54",
230
+ "34d9abce7ffb1b4191f6c5a45b9c8db96412c84f90e0b589cb74c3cbb804b8d3",
231
+ "ff7f7d5f2756dbf18b73f350426b945615e5233704a729f8e548087d4babe65c"
232
+ ],
233
+ "route_sha256": [
234
+ "fc408d9fd4110f294e0ca024224f61006ee99b8314c768a2237169ede55b56b8",
235
+ "c644d441a8d714c67b56581ca5c3fe14fdeab3b950cbcd1976755a4251dcbc9c",
236
+ "9a6544989c689958e1890c03bc1c4b5da9836ff0a622ba2bf932d4775d9c24e9",
237
+ "59a40639266c197d873721017c59cf96edddeb9898649edd335f3a13c8391ed6",
238
+ "246764e29e85b4b5f80c7c21797a4016303ed6a82fcaa4482c48257367b11996",
239
+ "8f25f330cb7cc1c3221eaf740264f0ed532f30e64b56e1cb90a2471cbce4007e",
240
+ "71ea6cb3adfde1e76f6091f43ab35b320a7519cdd215b9212fa50b89c30fe517",
241
+ "1160e3910ce6fbbffbd5d1450de40f593c98147be7341aa9159b562cc236d571",
242
+ "98ee47fd83e4a38ab4ce9a967f577927350376b398b94676dc3b1f8e4443e710",
243
+ "7fc706b5f358a19c14fe87ec1590f263afe2288b4e456d025cd99fb34996f7f1",
244
+ "d835dfe7a36f2dc807d9d5b6612121d956be47ef36e235809575e47e120b5d79",
245
+ "f9d3f8ed1a030e1120301cace862141a0ffdd2af9daa54f55271b81a992b6eda",
246
+ "5129e135cc320470d76b28fbea1800db14963e25f08be15d02c19ba9fda1dc41",
247
+ "a60a26c7b6e1fb98a99fa09b852fb0aa3ba7a0984e7b8dbd12f13396879c9ae5",
248
+ "e7d0c1f1363681d18ba3a7a248608aef1159e87c48b905f6168c20f0beb5843f",
249
+ "d3909a4458e597cf6c935e2012d962515d4ce8548c91db76a51c8cdaa84d1ab9",
250
+ "041467e346cf1f9582b35d3198ef811d4fe89265545b4ad469aa95e147cbb4a4",
251
+ "8665f716bfc10e136ee17d9292591cb3cea6773f76406499ca4fbea531b3e111",
252
+ "fd4aef7b3de6b84c4989643656478bd9b5603598b9733d1a478fdaff0a01cfc3",
253
+ "5a374d8fd2e661931a3f84001df784849efd4ac703164ea2e58a87998549071b",
254
+ "c4d4e0869ecce06f0a8510a506216c0c711fbfbbc3768413eb5616d7b8a0199e",
255
+ "b67312735977825c91711cef8a5f0457d798246d617963def5ac9a4197d1655f",
256
+ "380827250245972394a4d3379fcb894754ed7fa34e938df3e70cd69901b0afb3",
257
+ "3df1a69dd819c388e0a3889211e2bd02357b96500e78c9061ecfd1b94a0c80e8",
258
+ "6743d7dc402dca7084b05e3daf96dc0b2267050401a53b8e3adfa08a95612962",
259
+ "7d55064b8293edfb1c33b316dad057562df88b516324a57763ddeb14bff96424",
260
+ "257b16599c2e6c300cc7215a97f2b595944dd01a7bf41efd6042c9bf209c92e9",
261
+ "2995cc983dd502d39cdfbda287f29fad17a97f4fe796bf5a1d028d1e017f390d",
262
+ "d156dce43fb12eeea41d3d3cb497fed4c023bba5cfb37108e21992a35fe21bf8",
263
+ "b5380179a62883f503228c63e51399d5ff533524b76a2a103f1aecf2cdd866ee",
264
+ "483d67734b64bdda00bbf3d1465825b4316000273ee4d82f87f0454105e190e9",
265
+ "9d40677412282ff2a07f2f29ec9525149962cfc1735cf7acc2f69119ae143c3c",
266
+ "daa2dfbbaf80c6554c0cd3e925dcece06860f8271d010ef381576cd78598eb95",
267
+ "f0a57000e7b3c09205ea8f7450182ae0f4b17a0a070f8d49f8c1e79e65d1cec2",
268
+ "2466a6cfbf7aba621bed78bb19a7cb0f9694bd68e3dae0ec4828a14a5bba5427",
269
+ "998476b988e7285ae155683d919c90c66b13fffac490640d681637741d68798e",
270
+ "25ae956611d262d737996c500e81a85ae11f7d6de0968129f3d953bba4deea8d",
271
+ "a7934c4212448acc75c8a287017b5b66bedad58fa7596da333b607b932ce1585",
272
+ "5fb405beb1b11feffc736b2e8d578f0be86dcc52c50525c5298a26be4b09d22a",
273
+ "415292eb5366165c9cba9da1c190027e219e1fe2ad274160d8ba35bef58dbc8b",
274
+ "f0b2640e26652c420b135f2cbf77e175f47072e8cf3108daee1b03401316944a",
275
+ "47a90281f2f62573402172cd55253b9ffaaab37b1a6f1db34feeee37e67284b5",
276
+ "88d9c904e5b2e8bcea9eb8394a515afbcf515a681ea54cfab902cc3ff8e1ba19",
277
+ "b8ba83c9c18ea66a192f5a0f332a0e811abe5b6c3ba6726a8d6f105484b941f3",
278
+ "dca0a5ed52f643bbacd64d060e784c2d9ad8b6c46c566e64b405b4032bc266bd",
279
+ "533c9e65b4387cfaf84ddb29cf4c8b3bfc3178b137e1e08633f4c3a53ebfb004",
280
+ "fa302e6ce8a86b4b97f6756b5c0570ae706d0696116456dae270f3c85b946080",
281
+ "a014d615329126a9e66b4036c5d02c187fcec34a7d16a2b03b2c9fd7210390ce",
282
+ "7aff006d3000531a338a81ccb3fe86f73b52873ea7057775ff762f9a6b95d0d3",
283
+ "558301f329c97d9756c0eaed21c952ff3db3ad096cf6dcf19d4f9fd0405aa400"
284
+ ],
285
+ "basin_field_sha256": [
286
+ "6ff2b39473c08194db3c6325bd7d3a557beca9fce66c2e019414a4488fdc756d",
287
+ "9f3868816fa92ec24f7a48b2b0e128b3d4f6afc11fe120ba6348bbe60f848e75",
288
+ "5e7c38598681aae76c966ed3efba35ba58f8636201ad00e6803df4f94177d678",
289
+ "e7de19067b131edb4a0ffeb9d225c4ece73dc92e66efeb00b2bafb1e1fb0a8c9",
290
+ "7732e845bc3c0c268338e7ed824da01a2d94e88c1c85f12d0e630737d7a94105",
291
+ "9a4b53e08dd2a15a69eb5d1fba2939ec697a5498fcb5e94d19c0b1fb6ae7e4b7",
292
+ "73eccc752b949705108e434efbb958e5be821644c92f71f4f117e6733d1bf1d4",
293
+ "937c3151ee0a6e3c93ce23b9b4a8eddf6177fce5f7fdb411f795ec86610082f2",
294
+ "fdaca1af373e693b093a94c036d3084426721be601572ce2dc2d82c29bb30b88",
295
+ "9162e01dbd04b9a8b4394a10251f53536f98a69716bd898edd7a1a317e4a63c3",
296
+ "f79d86071a36afd6dd165724c895510f530785a40c339c345cda0166ff1144d7",
297
+ "41cee1ed62a14a1814f48a0342c5ee01f55daf4fe6706fdf74f225a31b1f5025",
298
+ "e845be1ff4152cc006c370f11b956925a8d3b0dde08067c581ed62d5dfd75c2d",
299
+ "adf3527d746510dbfa106a638e4c61a75b7f9759b5ef084fb3b91123d1a7a2d2",
300
+ "79d0aa98d880d891598050b6910f15a038a798039dbc3a3fb7ebddfe5279ee51",
301
+ "69ebf40dce7f9106f4a9d44f829b12a42f0e708200bdff62062d81a7a5ee93c8",
302
+ "7c60ae1bf94cfadd863dd2fe74160e1c601a5a8b3b6424c90370479cd0e4c0f9",
303
+ "9c84157bcc653ea41315e3d476f932b6f9232fc6923df292836547cb76d03c67",
304
+ "64d918d3d6eb97a851c5a51da7fa10cfb43c011568ced45f647eea6e2696831a",
305
+ "ee8e105b6aa57accfe3e2259ab97ee85caa51dc63ad9bdfc0092d9cb45cb129a",
306
+ "50b26fbce27bf3e3cae8dfa09a5f3afeae69c732104ec5c82253fc84d557fdb8",
307
+ "4fc48fd4963586943e1dc167b3b89ba108c041d48707d04137095ae76bbfda49",
308
+ "100ab46f9d92542d68ba3620d63685b5eb41dff532075d9ef136663cdfae8237",
309
+ "199b3ea7e72f7d846192c645dc8a8b62ac842578a2273a9ead1291aa4b978f32",
310
+ "052fdff6399414934f20d0c5b30b4d1187fe41f77c5ce9db86986e4a96acca69",
311
+ "3aa2f8ecb38959c01c1db85e5831a97913a3e91c27846c67b67feb3da917c74f",
312
+ "ded5011652cdb30186d074f9ec95363164db7ebc8c772995370f7d97d170fd77",
313
+ "5837fcfcd912a502f269ac647098b57ed845638aeb2cb797cd7bc37e93d55c7c",
314
+ "494ab352ca415187a9fb77a70b1f5a136ef9481535606605201d115f9037e806",
315
+ "1f16067eeb3cf699cfd31f475914d46b7264f426d87b163a3a3b073fb74bb577",
316
+ "f5b2fe586e4ab5293b69d2ac198c84a0a2fc6f341cb797ea7cdbde8407e9000e",
317
+ "c3f402d658a53533d4dd0345b04307ae395b592595235d46af6c3bb0999451a6",
318
+ "bec8ef4eafb04ebea7d2473d285938edca3ba2a256679645a69736a1415c93e0",
319
+ "bd87c845371eccad16c9035c1d34cd8024941e4597cf0c3b8b9cf33528bb8f9e",
320
+ "d04937d05d68063f64037bccd3841cc9efd88e92c9c5e423b38244bcc0e2d3e5",
321
+ "d95550d25078f66c8c3bca881c5e7e57e95e226160eaeea106a93ada92e978bc",
322
+ "91ba20f606ffcb5604d435d0d755466953c90b6c1e891647bb69a2c30db75942",
323
+ "98f8c78aa182607dbc07b574981af94f77ecc48a6e1e0dd89d0ff2406c78e5d4",
324
+ "f5de7c434feaa8a0ddf3b67817d6f41c77b70a222cc056b60ef4b98a639a81c0",
325
+ "6f3a52bfc1da970d02487b0c5cd9be8c6fd5a997baebe2a67ea60a88c8df6f39",
326
+ "9d79e4e215a98006f103461c984be1373701d12080d846bcf31860c8cf7742c2",
327
+ "2434ed82f09ae0593d4474bc471c1951182a640eba4fcf70fe3cff1942da962e",
328
+ "cae0233a0652f2cb9a761cb27f9434930ca2848c95fcadbec95eab9c6150e7b0",
329
+ "86182d92d17c6e34d2a16b456d63763c93e4b09e509533135666b932eb858aa1",
330
+ "74d062511ad43489d03f79301ddfdd0c98d1fc7ed06f2fcd2f51ec9869410cf2",
331
+ "a7d50b9be76db57c9e014d7456f87619a7f5bd5743fe684280a4f5763a8e21ac",
332
+ "bc7640b7f0fffaa1e18923c465893ff7d5447399ed017f7c8bf7aee1a650497c",
333
+ "5fb9d1cbdb4b5d0e428593569543c462e81daa26d89137730421397c6520d3f7",
334
+ "cc7be6805c7cccb072ab3bb1b6f0f6c73c97827b4b603472a45ca0df329431d5",
335
+ "f58ed77a21382578021b4072c1f308baf22d7179f8cf37bfb8b100b127284d86"
336
+ ],
337
+ "mean_policy": "Equal-weight physical basin and fixed-issue regional grids; member-mean coordinates and central pressures separately. Moving-core grids are not directly averaged.",
338
+ "inference_seconds": 11.704
339
+ },
340
+ "leads_hours": [
341
+ 6,
342
+ 12,
343
+ 18,
344
+ 24,
345
+ 30,
346
+ 36,
347
+ 42,
348
+ 48,
349
+ 54,
350
+ 60,
351
+ 66,
352
+ 72,
353
+ 78,
354
+ 84,
355
+ 90,
356
+ 96,
357
+ 102,
358
+ 108,
359
+ 114,
360
+ 120
361
+ ],
362
+ "display_bounds": [
363
+ 100,
364
+ 180,
365
+ 0,
366
+ 60
367
+ ],
368
+ "source_inputs": {
369
+ "source": "Existing exact NOAA NCEP Reanalysis-1 basin atlas; retrospective analyses.",
370
+ "channels": [
371
+ "mslp",
372
+ "hgt500",
373
+ "uwnd850",
374
+ "vwnd850",
375
+ "uwnd500",
376
+ "vwnd500",
377
+ "uwnd200",
378
+ "vwnd200"
379
+ ],
380
+ "units": [
381
+ "hPa",
382
+ "m",
383
+ "m/s",
384
+ "m/s",
385
+ "m/s",
386
+ "m/s",
387
+ "m/s",
388
+ "m/s"
389
+ ],
390
+ "analysis_times_utc": [
391
+ "2016-09-08T00:00:00Z",
392
+ "2016-09-08T06:00:00Z",
393
+ "2016-09-08T12:00:00Z",
394
+ "2016-09-08T18:00:00Z",
395
+ "2016-09-09T00:00:00Z",
396
+ "2016-09-09T06:00:00Z",
397
+ "2016-09-09T12:00:00Z",
398
+ "2016-09-09T18:00:00Z",
399
+ "2016-09-10T00:00:00Z"
400
+ ],
401
+ "source_sha256": {
402
+ "track_build/basin_all_int8.npz": "71e5f1bb46c44e5936c506a3f8af021c1fe94c238ed030c05c66e8f342374b6d",
403
+ "track_build/basin_slp_atlas_float16.npy": "9f6a4ec7b2f6beadfa1075af9176d2a653e39a824d504d989e5e56e19c571521",
404
+ "output/automatic-forecast-cache/geography.npz": "f5471471da4a1e15f85fbfb2529065806281357c8e50cb272fcd2b02e8553b96"
405
+ },
406
+ "subset_sha256": "262bdd148cbfcc5a9e2d03809d5a8ae4f51cedaba00607d66b59e8cb44860d21",
407
+ "physical_weather_sha256": "243324bbd2f33bd1e9da8e6d930fccef29fe29124f64a4ee71982e2b4a68697f",
408
+ "normalized_input_sha256": "5a65f65e765edd48adfa45938d4d452fbec001f7e567afe1b930b5d44e14f9e6",
409
+ "issue_observation": {
410
+ "name": "MERANTI",
411
+ "storm_id": "2016253N13144",
412
+ "issue_time_utc": "2016-09-10T00:00:00Z",
413
+ "lat": 14.5,
414
+ "lon": 140.0,
415
+ "motion": [
416
+ -118.42381937104953,
417
+ 22.23999999999992
418
+ ],
419
+ "pressure_hpa": 1004.0,
420
+ "wind_kt": null
421
+ },
422
+ "motion_note": "Only current and exact previous six-hour observed coordinates; east/north km per six hours.",
423
+ "causal": true,
424
+ "future_labels_used_for_inference": false
425
+ },
426
+ "observed_csv_sha256": "4348af2679b4be0d53ec630bccda759044663a1f57e2bbd5c1d19428aab562fc",
427
+ "observed_route_source": "Exact matching-timestamp IBTrACS LAT/LON; display verification only.",
428
+ "observed_pressure_source": "IBTrACS TOKYO_PRES JMA best track, not JMA forecasts; missing labels remain missing.",
429
+ "field_source": "Equal-weight physical means of all 50 basin and fixed-issue regional fields; no directly averaged moving grids.",
430
+ "native_history_available": false,
431
+ "grid_note": "0.25-degree regional reconstruction sampling, not native effective resolution. Basin sampling is 2.5 degrees. Coarse basin only outside the fixed regional patch.",
432
+ "regional_bounds": [
433
+ 125.0,
434
+ 155.0,
435
+ -0.5,
436
+ 29.5
437
+ ],
438
+ "first_forecast_lead_outside_regional_hours": 84,
439
+ "metrics": {
440
+ "mean_track_error_km": 192.93618137804032,
441
+ "track_error_120h_km": 453.3382857069367,
442
+ "central_pressure_mae_hpa": 13.897787475585938,
443
+ "pressure_valid_leads": 20,
444
+ "position_valid_leads": 20
445
+ },
446
+ "selection": "Calendar issue chosen before running these forecasts, without screening errors. Historical development showcase; dates may overlap checkpoint fitting/validation years. Not an untouched test or evidence of no overfitting.",
447
+ "video": {
448
+ "file": "docs/trackformer_1_2_meranti.mp4",
449
+ "duration_seconds": 23,
450
+ "forecast_states": 20,
451
+ "codec": "H.264",
452
+ "encoder": "h264_videotoolbox",
453
+ "sha256": "e12a83b0e129e5a5accb3a8d396481ea6f72979777d70d17fc9a18e6ad810a59",
454
+ "playback": "Each six-hour state held for 1 second; final frame held 3 seconds extra. No interpolated forecast states."
455
+ },
456
+ "video_layout": {
457
+ "overview_bounds": [
458
+ 100,
459
+ 180,
460
+ 0,
461
+ 60
462
+ ],
463
+ "closeup_bounds": [
464
+ 114.0,
465
+ 143.0,
466
+ 11.0,
467
+ 29.0
468
+ ],
469
+ "pressure_colors": "Blue below 1013.25 hPa; red above. Fixed range throughout each film.",
470
+ "map_graticule": false,
471
+ "geographic_route_adjustment": false
472
+ }
473
+ }
evaluation/release_data/meranti_video.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:565343166656155e8f227372cce2947536afe83593820c89790606e5ac909baf
3
+ size 809673
evaluation/release_data/soudelor_coastlines.json ADDED
@@ -0,0 +1 @@
 
 
1
+ [[[117.882035,4.137551],[117.313232,3.234428],[118.04833,2.28769],[117.875627,1.827641],[118.996747,0.902219],[117.811858,0.784242],[117.478339,0.102475],[117.521644,-0.803723],[116.560048,-1.487661],[116.533797,-2.483517],[116.148084,-4.012726],[116.000858,-3.657037],[114.864803,-4.106984],[114.468652,-3.495704],[113.755672,-3.43917],[113.256994,-3.118776],[112.068126,-3.478392],[111.703291,-2.994442],[111.04824,-3.049426],[110.223846,-2.934032],[110.070936,-1.592874],[109.571948,-1.314907],[109.091874,-0.459507],[108.952658,0.415375],[109.069136,1.341934],[109.66326,2.006467],[109.830227,1.338136],[110.514061,0.773131],[111.159138,0.976478],[111.797548,0.904441],[112.380252,1.410121],[112.859809,1.49779],[113.80585,1.217549],[114.621355,1.430688],[115.134037,2.821482],[115.519078,3.169238],[115.865517,4.306559],[117.015214,4.306094],[117.882035,4.137551]],[[127.932378,2.174596],[128.004156,1.628531],[128.594559,1.540811],[128.688249,1.132386],[128.635952,0.258486],[128.12017,0.356413],[127.968034,-0.252077],[128.379999,-0.780004],[128.100016,-0.899996],[127.696475,-0.266598],[127.39949,1.011722],[127.600512,1.810691],[127.932378,2.174596]],[[122.927567,0.875192],[124.077522,0.917102],[125.065989,1.643259],[125.240501,1.419836],[124.437035,0.427881],[123.685505,0.235593],[122.723083,0.431137],[121.056725,0.381217],[120.183083,0.237247],[120.04087,-0.519658],[120.935905,-1.408906],[121.475821,-0.955962],[123.340565,-0.615673],[123.258399,-1.076213],[122.822715,-0.930951],[122.38853,-1.516858],[121.508274,-1.904483],[122.454572,-3.186058],[122.271896,-3.5295],[123.170963,-4.683693],[123.162333,-5.340604],[122.628515,-5.634591],[122.236394,-5.282933],[122.719569,-4.464172],[121.738234,-4.851331],[121.489463,-4.574553],[121.619171,-4.188478],[120.898182,-3.602105],[120.972389,-2.627643],[120.305453,-2.931604],[120.390047,-4.097579],[120.430717,-5.528241],[119.796543,-5.6734],[119.366906,-5.379878],[119.653606,-4.459417],[119.498835,-3.494412],[119.078344,-3.487022],[118.767769,-2.801999],[119.180974,-2.147104],[119.323394,-1.353147],[119.825999,0.154254],[120.035702,0.566477],[120.885779,1.309223],[121.666817,1.013944],[122.927567,0.875192]],[[104.369991,-1.084843],[104.53949,-1.782372],[104.887893,-2.340425],[105.622111,-2.428844],[106.108593,-3.061777],[105.857446,-4.305525],[105.817655,-5.852356],[104.710384,-5.873285],[103.868213,-5.037315],[102.584261,-4.220259],[102.156173,-3.614146],[101.399113,-2.799777],[100.902503,-2.050262],[100.141981,-0.650348],[99.26374,0.183142],[98.970011,1.042882],[98.601351,1.823507],[97.699598,2.453184],[97.176942,3.308791],[96.424017,3.86886],[95.380876,4.970782],[95.293026,5.479821],[95.936863,5.439513],[97.484882,5.246321],[98.369169,4.26837],[99.142559,3.59035],[99.693998,3.174329],[100.641434,2.099381],[101.658012,2.083697],[102.498271,1.3987],[103.07684,0.561361],[103.838396,0.104542],[103.437645,-0.711946],[104.010789,-1.059212],[104.369991,-1.084843]],[[49.10116,46.39933],[48.64541,45.80629],[47.67591,45.64149],[46.68201,44.6092],[47.59094,43.66016],[47.49252,42.98658],[48.58437,41.80888],[48.584353,41.808869],[47.987283,41.405819],[47.815666,41.151416],[47.373315,41.219732],[46.686071,41.827137],[46.404951,41.860675],[45.7764,42.09244],[45.470279,42.502781],[44.537623,42.711993],[43.93121,42.55496],[43.75599,42.74083],[42.3944,43.2203],[40.92219,43.38215],[40.076965,43.553104],[39.955009,43.434998],[38.68,44.28],[37.53912,44.65721],[36.67546,45.24469],[37.40317,45.40451],[38.23295,46.24087],[37.67372,46.63657],[39.14767,47.04475],[39.1212,47.26336],[38.223538,47.10219],[38.255112,47.5464],[38.77057,47.82562],[39.738278,47.898937],[39.89562,48.23241],[39.67465,48.78382],[40.080789,49.30743],[40.06904,49.60105],[38.594988,49.926462],[38.010631,49.915662],[37.39346,50.383953],[36.626168,50.225591],[35.356116,50.577197],[35.37791,50.77394],[35.022183,51.207572],[34.224816,51.255993],[34.141978,51.566413],[34.391731,51.768882],[33.7527,52.335075],[32.715761,52.238465],[32.412058,52.288695],[32.15944,52.06125],[31.785992,52.101678],[31.78597,52.10168],[31.540018,52.742052],[31.305201,53.073996],[31.49764,53.16743],[32.304519,53.132726],[32.693643,53.351421],[32.405599,53.618045],[31.731273,53.794029],[31.791424,53.974639],[31.384472,54.157056],[30.757534,54.811771],[30.971836,55.081548],[30.873909,55.550976],[29.896294,55.789463],[29.371572,55.670091],[29.229513,55.918344],[28.176709,56.16913],[27.855282,56.759326],[27.770016,57.244258],[27.288185,57.474528],[27.716686,57.791899],[27.42015,58.72457],[28.131699,59.300825],[27.98112,59.47537],[27.981127,59.475373],[29.1177,60.02805],[28.070002,60.503519],[28.07,60.50352],[30.211107,61.780028],[31.139991,62.357693],[31.516092,62.867687],[30.035872,63.552814],[30.444685,64.204453],[29.54443,64.948672],[30.21765,65.80598],[29.054589,66.944286],[29.977426,67.698297],[28.445944,68.364613],[28.59193,69.064777],[29.39955,69.15692],[31.101042,69.558101],[31.10108,69.55811],[32.13272,69.90595],[33.77547,69.30142],[36.51396,69.06342],[40.29234,67.9324],[41.05987,67.45713],[41.12595,66.79158],[40.01583,66.26618],[38.38295,65.99953],[33.91871,66.75961],[33.18444,66.63253],[34.81477,65.90015],[34.878574,65.436213],[34.94391,64.41437],[36.23129,64.10945],[37.01273,63.84983],[37.14197,64.33471],[36.539579,64.76446],[37.17604,65.14322],[39.59345,64.52079],[40.4356,64.76446],[39.7626,65.49682],[42.09309,66.47623],[43.01604,66.41858],[43.94975,66.06908],[44.53226,66.75634],[43.69839,67.35245],[44.18795,67.95051],[43.45282,68.57079],[46.25,68.25],[46.82134,67.68997],[45.55517,67.56652],[45.56202,67.01005],[46.34915,66.66767],[47.89416,66.88455],[48.13876,67.52238],[50.22766,67.99867],[53.71743,68.85738],[54.47171,68.80815],[53.48582,68.20131],[54.72628,68.09702],[55.44268,68.43866],[57.31702,68.46628],[58.802,68.88082],[59.94142,68.27844],[61.07784,68.94069],[60.03,69.52],[60.55,69.85],[63.504,69.54739],[64.888115,69.234835],[68.51216,68.09233],[69.18068,68.61563],[68.16444,69.14436],[68.13522,69.35649],[66.93008,69.45461],[67.25976,69.92873],[66.72492,70.70889],[66.69466,71.02897],[68.54006,71.9345],[69.19636,72.84336],[69.94,73.04],[72.58754,72.77629],[72.79603,72.22006],[71.84811,71.40898],[72.47011,71.09019],[72.79188,70.39114],[72.5647,69.02085],[73.66787,68.4079],[73.2387,67.7404],[71.28,66.32],[72.42301,66.17267],[72.82077,66.53267],[73.92099,66.78946],[74.18651,67.28429],[75.052,67.76047],[74.46926,68.32899],[74.93584,68.98918],[73.84236,69.07146],[73.60187,69.62763],[74.3998,70.63175],[73.1011,71.44717],[74.89082,72.12119],[74.65926,72.83227],[75.15801,72.85497],[75.68351,72.30056],[75.28898,71.33556],[76.35911,71.15287],[75.90313,71.87401],[77.57665,72.26717],[79.65202,72.32011],[81.5,71.75],[80.61071,72.58285],[80.51109,73.6482],[82.25,73.85],[84.65526,73.80591],[86.8223,73.93688],[86.00956,74.45967],[87.16682,75.11643],[88.31571,75.14393],[90.26,75.64],[92.90058,75.77333],[93.23421,76.0472],[95.86,76.14],[96.67821,75.91548],[98.92254,76.44689],[100.75967,76.43028],[101.03532,76.86189],[101.99084,77.28754],[104.3516,77.69792],[106.06664,77.37389],[104.705,77.1274],[106.97013,76.97419],[107.24,76.48],[108.1538,76.72335],[111.07726,76.71],[113.33151,76.22224],[114.13417,75.84764],[113.88539,75.32779],[112.77918,75.03186],[110.15125,74.47673],[109.4,74.18],[110.64,74.04],[112.11919,73.78774],[113.01954,73.97693],[113.52958,73.33505],[113.96881,73.59488],[115.56782,73.75285],[118.77633,73.58772],[119.02,73.12],[123.20066,72.97122],[123.25777,73.73503],[125.38,73.56],[126.97644,73.56549],[128.59126,73.03871],[129.05157,72.39872],[128.46,71.98],[129.71599,71.19304],[131.28858,70.78699],[132.2535,71.8363],[133.85766,71.38642],[135.56193,71.65525],[137.49755,71.34763],[138.23409,71.62803],[139.86983,71.48783],[139.14791,72.41619],[140.46817,72.84941],[149.5,72.2],[150.35118,71.60643],[152.9689,70.84222],[157.00688,71.03141],[158.99779,70.86672],[159.83031,70.45324],[159.70866,69.72198],[160.94053,69.43728],[162.27907,69.64204],[164.05248,69.66823],[165.94037,69.47199],[167.83567,69.58269],[169.57763,68.6938],[170.81688,69.01363],[170.0082,69.65276],[170.45345,70.09703],[173.64391,69.81743],[175.72403,69.87725],[178.6,69.4],[180,68.963636],[180,64.979709],[179.99281,64.97433],[178.7072,64.53493],[177.41128,64.60821],[178.313,64.07593],[178.90825,63.25197],[179.37034,62.98262],[179.48636,62.56894],[179.22825,62.3041],[177.3643,62.5219],[174.56929,61.76915],[173.68013,61.65261],[172.15,60.95],[170.6985,60.33618],[170.33085,59.88177],[168.90046,60.57355],[166.29498,59.78855],[165.84,60.16],[164.87674,59.7316],[163.53929,59.86871],[163.21711,59.21101],[162.01733,58.24328],[162.05297,57.83912],[163.19191,57.61503],[163.05794,56.15924],[162.12958,56.12219],[161.70146,55.28568],[162.11749,54.85514],[160.36877,54.34433],[160.02173,53.20257],[158.53094,52.95868],[158.23118,51.94269],[156.78979,51.01105],[156.42,51.7],[155.99182,53.15895],[155.43366,55.38103],[155.91442,56.76792],[156.75815,57.3647],[156.81035,57.83204],[158.36433,58.05575],[160.15064,59.31477],[161.87204,60.343],[163.66969,61.1409],[164.47355,62.55061],[163.25842,62.46627],[162.65791,61.6425],[160.12148,60.54423],[159.30232,61.77396],[156.72068,61.43442],[154.21806,59.75818],[155.04375,59.14495],[152.81185,58.88385],[151.26573,58.78089],[151.33815,59.50396],[149.78371,59.65573],[148.54481,59.16448],[145.48722,59.33637],[142.19782,59.03998],[138.95848,57.08805],[135.12619,54.72959],[136.70171,54.60355],[137.19342,53.97732],[138.1647,53.75501],[138.80463,54.25455],[139.90151,54.18968],[141.34531,53.08957],[141.37923,52.23877],[140.59742,51.23967],[140.51308,50.04553],[140.06193,48.44671],[138.55472,46.99965],[138.21971,46.30795],[136.86232,45.1435],[135.51535,43.989],[134.86939,43.39821],[133.53687,42.81147],[132.90627,42.79849],[132.27807,43.28456],[130.93587,42.55274],[130.780005,42.22001],[130.780004,42.220008],[130.78,42.22],[130.779992,42.22001],[130.64,42.395],[130.64,42.395024],[130.633866,42.903015],[131.144688,42.92999],[131.288555,44.11152],[131.02519,44.96796],[131.883454,45.321162],[133.09712,45.14409],[133.769644,46.116927],[134.11235,47.21248],[134.50081,47.57845],[135.026311,48.47823],[133.373596,48.183442],[132.50669,47.78896],[130.98726,47.79013],[130.582293,48.729687],[129.397818,49.4406],[127.6574,49.76027],[127.287456,50.739797],[126.939157,51.353894],[126.564399,51.784255],[125.946349,52.792799],[125.068211,53.161045],[123.57147,53.4588],[122.245748,53.431726],[121.003085,53.251401],[120.177089,52.753886],[120.725789,52.516226],[120.7382,51.96411],[120.18208,51.64355],[119.27939,50.58292],[119.288461,50.142883],[117.879244,49.510983],[116.678801,49.888531],[115.485695,49.805177],[114.96211,50.140247],[114.362456,50.248303],[112.89774,49.543565],[111.581231,49.377968],[110.662011,49.130128],[109.402449,49.292961],[108.475167,49.282548],[107.868176,49.793705],[106.888804,50.274296],[105.886591,50.406019],[104.62158,50.27532],[103.676545,50.089966],[102.25589,50.51056],[102.06521,51.25991],[100.88948,51.516856],[99.981732,51.634006],[98.861491,52.047366],[97.82574,51.010995],[98.231762,50.422401],[97.25976,49.72605],[95.81402,49.97746],[94.815949,50.013433],[94.147566,50.480537],[93.10421,50.49529],[92.234712,50.802171],[90.713667,50.331812],[88.805567,49.470521],[87.751264,49.297198],[87.35997,49.214981],[86.829357,49.826675],[85.54127,49.692859],[85.11556,50.117303],[84.416377,50.3114],[83.935115,50.889246],[83.383004,51.069183],[81.945986,50.812196],[80.568447,51.388336],[80.03556,50.864751],[77.800916,53.404415],[76.525179,54.177003],[76.8911,54.490524],[74.38482,53.54685],[73.425679,53.48981],[73.508516,54.035617],[72.22415,54.376655],[71.180131,54.133285],[70.865267,55.169734],[69.068167,55.38525],[68.1691,54.970392],[65.66687,54.60125],[65.178534,54.354228],[61.4366,54.00625],[60.978066,53.664993],[61.699986,52.979996],[60.739993,52.719986],[60.927269,52.447548],[59.967534,51.96042],[61.588003,51.272659],[61.337424,50.79907],[59.932807,50.842194],[59.642282,50.545442],[58.36332,51.06364],[56.77798,51.04355],[55.71694,50.62171],[54.532878,51.02624],[52.328724,51.718652],[50.766648,51.692762],[48.702382,50.605128],[48.577841,49.87476],[47.54948,50.454698],[46.751596,49.356006],[47.043672,49.152039],[46.466446,48.394152],[47.31524,47.71585],[48.05725,47.74377],[48.694734,47.075628],[48.59325,46.56104],[49.10116,46.39933]],[[142.914616,53.704578],[143.260848,52.74076],[143.235268,51.75666],[143.648007,50.7476],[144.654148,48.976391],[143.173928,49.306551],[142.558668,47.861575],[143.533492,46.836728],[143.505277,46.137908],[142.747701,46.740765],[142.09203,45.966755],[141.906925,46.805929],[142.018443,47.780133],[141.904445,48.859189],[142.1358,49.615163],[142.179983,50.952342],[141.594076,51.935435],[141.682546,53.301966],[142.606934,53.762145],[142.209749,54.225476],[142.654786,54.365881],[142.914616,53.704578]],[[102.584932,12.186595],[102.348099,13.394247],[102.988422,14.225721],[104.281418,14.416743],[105.218777,14.273212],[106.043946,13.881091],[106.496373,14.570584],[107.382727,14.202441],[107.614548,13.535531],[107.491403,12.337206],[105.810524,11.567615],[106.24967,10.961812],[105.199915,10.88931],[104.334335,10.486544],[103.49728,10.632555],[103.09069,11.153661],[102.584932,12.186595]],[[105.218777,14.273212],[104.281418,14.416743],[102.988422,14.225721],[102.348099,13.394247],[102.584932,12.186595],[101.687158,12.64574],[100.83181,12.627085],[100.978467,13.412722],[100.097797,13.406856],[100.018733,12.307001],[99.478921,10.846367],[99.153772,9.963061],[99.222399,9.239255],[99.873832,9.207862],[100.279647,8.295153],[100.459274,7.429573],[101.017328,6.856869],[101.623079,6.740622],[102.141187,6.221636],[101.814282,5.810808],[101.154219,5.691384],[101.075516,6.204867],[100.259596,6.642825],[100.085757,6.464489],[99.690691,6.848213],[99.519642,7.343454],[98.988253,7.907993],[98.503786,8.382305],[98.339662,7.794512],[98.150009,8.350007],[98.25915,8.973923],[98.553551,9.93296],[99.038121,10.960546],[99.587286,11.892763],[99.196354,12.804748],[99.212012,13.269294],[99.097755,13.827503],[98.430819,14.622028],[98.192074,15.123703],[98.537376,15.308497],[98.903348,16.177824],[98.493761,16.837836],[97.859123,17.567946],[97.375896,18.445438],[97.797783,18.62708],[98.253724,19.708203],[98.959676,19.752981],[99.543309,20.186598],[100.115988,20.41785],[100.548881,20.109238],[100.606294,19.508344],[101.282015,19.462585],[101.035931,18.408928],[101.059548,17.512497],[102.113592,18.109102],[102.413005,17.932782],[102.998706,17.961695],[103.200192,18.309632],[103.956477,18.240954],[104.716947,17.428859],[104.779321,16.441865],[105.589039,15.570316],[105.544338,14.723934],[105.218777,14.273212]],[[107.382727,14.202441],[106.496373,14.570584],[106.043946,13.881091],[105.218777,14.273212],[105.544338,14.723934],[105.589039,15.570316],[104.779321,16.441865],[104.716947,17.428859],[103.956477,18.240954],[103.200192,18.309632],[102.998706,17.961695],[102.413005,17.932782],[102.113592,18.109102],[101.059548,17.512497],[101.035931,18.408928],[101.282015,19.462585],[100.606294,19.508344],[100.548881,20.109238],[100.115988,20.41785],[100.329101,20.786122],[101.180005,21.436573],[101.270026,21.201652],[101.80312,21.174367],[101.652018,22.318199],[102.170436,22.464753],[102.754896,21.675137],[103.203861,20.766562],[104.435,20.758733],[104.822574,19.886642],[104.183388,19.624668],[103.896532,19.265181],[105.094598,18.666975],[105.925762,17.485315],[106.556008,16.604284],[107.312706,15.908538],[107.564525,15.202173],[107.382727,14.202441]],[[100.115988,20.41785],[99.543309,20.186598],[98.959676,19.752981],[98.253724,19.708203],[97.797783,18.62708],[97.375896,18.445438],[97.859123,17.567946],[98.493761,16.837836],[98.903348,16.177824],[98.537376,15.308497],[98.192074,15.123703],[98.430819,14.622028],[99.097755,13.827503],[99.212012,13.269294],[99.196354,12.804748],[99.587286,11.892763],[99.038121,10.960546],[98.553551,9.93296],[98.457174,10.675266],[98.764546,11.441292],[98.428339,12.032987],[98.509574,13.122378],[98.103604,13.64046],[97.777732,14.837286],[97.597072,16.100568],[97.16454,16.928734],[96.505769,16.427241],[95.369352,15.71439],[94.808405,15.803454],[94.188804,16.037936],[94.533486,17.27724],[94.324817,18.213514],[93.540988,19.366493],[93.663255,19.726962],[93.078278,19.855145],[92.368554,20.670883],[92.303234,21.475485],[92.652257,21.324048],[92.672721,22.041239],[93.166128,22.27846],[93.060294,22.703111],[93.286327,23.043658],[93.325188,24.078556],[94.106742,23.850741],[94.552658,24.675238],[94.603249,25.162495],[95.155153,26.001307],[95.124768,26.573572],[96.419366,27.264589],[97.133999,27.083774],[97.051989,27.699059],[97.402561,27.882536],[97.327114,28.261583],[97.911988,28.335945],[98.246231,27.747221],[98.68269,27.508812],[98.712094,26.743536],[98.671838,25.918703],[97.724609,25.083637],[97.60472,23.897405],[98.660262,24.063286],[98.898749,23.142722],[99.531992,22.949039],[99.240899,22.118314],[99.983489,21.742937],[100.416538,21.558839],[101.150033,21.849984],[101.180005,21.436573],[100.329101,20.786122],[100.115988,20.41785]],[[104.334335,10.486544],[105.199915,10.88931],[106.24967,10.961812],[105.810524,11.567615],[107.491403,12.337206],[107.614548,13.535531],[107.382727,14.202441],[107.564525,15.202173],[107.312706,15.908538],[106.556008,16.604284],[105.925762,17.485315],[105.094598,18.666975],[103.896532,19.265181],[104.183388,19.624668],[104.822574,19.886642],[104.435,20.758733],[103.203861,20.766562],[102.754896,21.675137],[102.170436,22.464753],[102.706992,22.708795],[103.504515,22.703757],[104.476858,22.81915],[105.329209,23.352063],[105.811247,22.976892],[106.725403,22.794268],[106.567273,22.218205],[107.04342,21.811899],[108.05018,21.55238],[106.715068,20.696851],[105.881682,19.75205],[105.662006,19.058165],[106.426817,18.004121],[107.361954,16.697457],[108.269495,16.079742],[108.877107,15.276691],[109.33527,13.426028],[109.200136,11.666859],[108.36613,11.008321],[107.220929,10.364484],[106.405113,9.53084],[105.158264,8.59976],[104.795185,9.241038],[105.076202,9.918491],[104.334335,10.486544]],[[130.780004,42.220008],[130.780005,42.22001],[130.780007,42.220007],[130.780004,42.220008]],[[130.64,42.395024],[130.64,42.395],[130.779992,42.22001],[130.400031,42.280004],[129.965949,41.941368],[129.667362,41.601104],[129.705189,40.882828],[129.188115,40.661808],[129.0104,40.485436],[128.633368,40.189847],[127.967414,40.025413],[127.533436,39.75685],[127.50212,39.323931],[127.385434,39.213472],[127.783343,39.050898],[128.349716,38.612243],[128.205746,38.370397],[127.780035,38.304536],[127.073309,38.256115],[126.68372,37.804773],[126.237339,37.840378],[126.174759,37.749686],[125.689104,37.94001],[125.568439,37.752089],[125.27533,37.669071],[125.240087,37.857224],[124.981033,37.948821],[124.712161,38.108346],[124.985994,38.548474],[125.221949,38.665857],[125.132859,38.848559],[125.38659,39.387958],[125.321116,39.551385],[124.737482,39.660344],[124.265625,39.928493],[125.079942,40.569824],[126.182045,41.107336],[126.869083,41.816569],[127.343783,41.503152],[128.208433,41.466772],[128.052215,41.994285],[129.596669,42.424982],[129.994267,42.985387],[130.64,42.395024]],[[126.174759,37.749686],[126.237339,37.840378],[126.68372,37.804773],[127.073309,38.256115],[127.780035,38.304536],[128.205746,38.370397],[128.349716,38.612243],[129.21292,37.432392],[129.46045,36.784189],[129.468304,35.632141],[129.091377,35.082484],[128.18585,34.890377],[127.386519,34.475674],[126.485748,34.390046],[126.37392,34.93456],[126.559231,35.684541],[126.117398,36.725485],[126.860143,36.893924],[126.174759,37.749686]],[[87.751264,49.297198],[88.805567,49.470521],[90.713667,50.331812],[92.234712,50.802171],[93.10421,50.49529],[94.147566,50.480537],[94.815949,50.013433],[95.81402,49.97746],[97.25976,49.72605],[98.231762,50.422401],[97.82574,51.010995],[98.861491,52.047366],[99.981732,51.634006],[100.88948,51.516856],[102.06521,51.25991],[102.25589,50.51056],[103.676545,50.089966],[104.62158,50.27532],[105.886591,50.406019],[106.888804,50.274296],[107.868176,49.793705],[108.475167,49.282548],[109.402449,49.292961],[110.662011,49.130128],[111.581231,49.377968],[112.89774,49.543565],[114.362456,50.248303],[114.96211,50.140247],[115.485695,49.805177],[116.678801,49.888531],[116.191802,49.134598],[115.485282,48.135383],[115.742837,47.726545],[116.308953,47.85341],[117.295507,47.697709],[118.064143,48.06673],[118.866574,47.74706],[119.772824,47.048059],[119.66327,46.69268],[118.874326,46.805412],[117.421701,46.672733],[116.717868,46.388202],[115.985096,45.727235],[114.460332,45.339817],[113.463907,44.808893],[112.436062,45.011646],[111.873306,45.102079],[111.348377,44.457442],[111.667737,44.073176],[111.829588,43.743118],[111.129682,43.406834],[110.412103,42.871234],[109.243596,42.519446],[107.744773,42.481516],[106.129316,42.134328],[104.964994,41.59741],[104.522282,41.908347],[103.312278,41.907468],[101.83304,42.514873],[100.845866,42.663804],[99.515817,42.524691],[97.451757,42.74889],[96.349396,42.725635],[95.762455,43.319449],[95.306875,44.241331],[94.688929,44.352332],[93.480734,44.975472],[92.133891,45.115076],[90.94554,45.286073],[90.585768,45.719716],[90.970809,46.888146],[90.280826,47.693549],[88.854298,48.069082],[88.013832,48.599463],[87.751264,49.297198]],[[109.47521,18.197701],[108.655208,18.507682],[108.626217,19.367888],[109.119056,19.821039],[110.211599,20.101254],[110.786551,20.077534],[111.010051,19.69593],[110.570647,19.255879],[110.339188,18.678395],[109.47521,18.197701]],[[80.25999,42.349999],[80.18015,42.920068],[80.866206,43.180362],[79.966106,44.917517],[81.947071,45.317027],[82.458926,45.53965],[83.180484,47.330031],[85.16429,47.000956],[85.720484,47.452969],[85.768233,48.455751],[86.598776,48.549182],[87.35997,49.214981],[87.751264,49.297198],[88.013832,48.599463],[88.854298,48.069082],[90.280826,47.693549],[90.970809,46.888146],[90.585768,45.719716],[90.94554,45.286073],[92.133891,45.115076],[93.480734,44.975472],[94.688929,44.352332],[95.306875,44.241331],[95.762455,43.319449],[96.349396,42.725635],[97.451757,42.74889],[99.515817,42.524691],[100.845866,42.663804],[101.83304,42.514873],[103.312278,41.907468],[104.522282,41.908347],[104.964994,41.59741],[106.129316,42.134328],[107.744773,42.481516],[109.243596,42.519446],[110.412103,42.871234],[111.129682,43.406834],[111.829588,43.743118],[111.667737,44.073176],[111.348377,44.457442],[111.873306,45.102079],[112.436062,45.011646],[113.463907,44.808893],[114.460332,45.339817],[115.985096,45.727235],[116.717868,46.388202],[117.421701,46.672733],[118.874326,46.805412],[119.66327,46.69268],[119.772824,47.048059],[118.866574,47.74706],[118.064143,48.06673],[117.295507,47.697709],[116.308953,47.85341],[115.742837,47.726545],[115.485282,48.135383],[116.191802,49.134598],[116.678801,49.888531],[117.879244,49.510983],[119.288461,50.142883],[119.27939,50.58292],[120.18208,51.64355],[120.7382,51.96411],[120.725789,52.516226],[120.177089,52.753886],[121.003085,53.251401],[122.245748,53.431726],[123.57147,53.4588],[125.068211,53.161045],[125.946349,52.792799],[126.564399,51.784255],[126.939157,51.353894],[127.287456,50.739797],[127.6574,49.76027],[129.397818,49.4406],[130.582293,48.729687],[130.98726,47.79013],[132.50669,47.78896],[133.373596,48.183442],[135.026311,48.47823],[134.50081,47.57845],[134.11235,47.21248],[133.769644,46.116927],[133.09712,45.14409],[131.883454,45.321162],[131.02519,44.96796],[131.288555,44.11152],[131.144688,42.92999],[130.633866,42.903015],[130.64,42.395024],[129.994267,42.985387],[129.596669,42.424982],[128.052215,41.994285],[128.208433,41.466772],[127.343783,41.503152],[126.869083,41.816569],[126.182045,41.107336],[125.079942,40.569824],[124.265625,39.928493],[122.86757,39.637788],[122.131388,39.170452],[121.054554,38.897471],[121.585995,39.360854],[121.376757,39.750261],[122.168595,40.422443],[121.640359,40.94639],[120.768629,40.593388],[119.639602,39.898056],[119.023464,39.252333],[118.042749,39.204274],[117.532702,38.737636],[118.059699,38.061476],[118.87815,37.897325],[118.911636,37.448464],[119.702802,37.156389],[120.823457,37.870428],[121.711259,37.481123],[122.357937,37.454484],[122.519995,36.930614],[121.104164,36.651329],[120.637009,36.11144],[119.664562,35.609791],[119.151208,34.909859],[120.227525,34.360332],[120.620369,33.376723],[121.229014,32.460319],[121.908146,31.692174],[121.891919,30.949352],[121.264257,30.676267],[121.503519,30.142915],[122.092114,29.83252],[121.938428,29.018022],[121.684439,28.225513],[121.125661,28.135673],[120.395473,27.053207],[119.585497,25.740781],[118.656871,24.547391],[117.281606,23.624501],[115.890735,22.782873],[114.763827,22.668074],[114.152547,22.22376],[113.80678,22.54834],[113.241078,22.051367],[111.843592,21.550494],[110.785466,21.397144],[110.444039,20.341033],[109.889861,20.282457],[109.627655,21.008227],[109.864488,21.395051],[108.522813,21.715212],[108.05018,21.55238],[107.04342,21.811899],[106.567273,22.218205],[106.725403,22.794268],[105.811247,22.976892],[105.329209,23.352063],[104.476858,22.81915],[103.504515,22.703757],[102.706992,22.708795],[102.170436,22.464753],[101.652018,22.318199],[101.80312,21.174367],[101.270026,21.201652],[101.180005,21.436573],[101.150033,21.849984],[100.416538,21.558839],[99.983489,21.742937],[99.240899,22.118314],[99.531992,22.949039],[98.898749,23.142722],[98.660262,24.063286],[97.60472,23.897405],[97.724609,25.083637],[98.671838,25.918703],[98.712094,26.743536],[98.68269,27.508812],[98.246231,27.747221],[97.911988,28.335945],[97.327114,28.261583],[96.248833,28.411031],[96.586591,28.83098],[96.117679,29.452802],[95.404802,29.031717],[94.56599,29.277438],[93.413348,28.640629],[92.503119,27.896876],[91.696657,27.771742],[91.258854,28.040614],[90.730514,28.064954],[90.015829,28.296439],[89.47581,28.042759],[88.814248,27.299316],[88.730326,28.086865],[88.120441,27.876542],[86.954517,27.974262],[85.82332,28.203576],[85.011638,28.642774],[84.23458,28.839894],[83.898993,29.320226],[83.337115,29.463732],[82.327513,30.115268],[81.525804,30.422717],[81.111256,30.183481],[79.721367,30.882715],[78.738894,31.515906],[78.458446,32.618164],[79.176129,32.48378],[79.208892,32.994395],[78.811086,33.506198],[78.912269,34.321936],[77.837451,35.49401],[76.192848,35.898403],[75.896897,36.666806],[75.158028,37.133031],[74.980002,37.41999],[74.829986,37.990007],[74.864816,38.378846],[74.257514,38.606507],[73.928852,38.505815],[73.675379,39.431237],[73.960013,39.660008],[73.822244,39.893973],[74.776862,40.366425],[75.467828,40.562072],[76.526368,40.427946],[76.904484,41.066486],[78.187197,41.185316],[78.543661,41.582243],[80.11943,42.123941],[80.25999,42.349999]],[[121.777818,24.394274],[121.175632,22.790857],[120.74708,21.970571],[120.220083,22.814861],[120.106189,23.556263],[120.69468,24.538451],[121.495044,25.295459],[121.951244,24.997596],[121.777818,24.394274]],[[120.833896,12.704496],[120.323436,13.466413],[121.180128,13.429697],[121.527394,13.06959],[121.26219,12.20556],[120.833896,12.704496]],[[122.586089,9.981045],[122.837081,10.261157],[122.947411,10.881868],[123.49885,10.940624],[123.337774,10.267384],[124.077936,11.232726],[123.982438,10.278779],[123.623183,9.950091],[123.309921,9.318269],[122.995883,9.022189],[122.380055,9.713361],[122.586089,9.981045]],[[126.376814,8.414706],[126.478513,7.750354],[126.537424,7.189381],[126.196773,6.274294],[125.831421,7.293715],[125.363852,6.786485],[125.683161,6.049657],[125.396512,5.581003],[124.219788,6.161355],[123.93872,6.885136],[124.243662,7.36061],[123.610212,7.833527],[123.296071,7.418876],[122.825506,7.457375],[122.085499,6.899424],[121.919928,7.192119],[122.312359,8.034962],[122.942398,8.316237],[123.487688,8.69301],[123.841154,8.240324],[124.60147,8.514158],[124.764612,8.960409],[125.471391,8.986997],[125.412118,9.760335],[126.222714,9.286074],[126.306637,8.782487],[126.376814,8.414706]],[[118.504581,9.316383],[117.174275,8.3675],[117.664477,9.066889],[118.386914,9.6845],[118.987342,10.376292],[119.511496,11.369668],[119.689677,10.554291],[119.029458,10.003653],[118.504581,9.316383]],[[122.336957,18.224883],[122.174279,17.810283],[122.515654,17.093505],[122.252311,16.262444],[121.662786,15.931018],[121.50507,15.124814],[121.728829,14.328376],[122.258925,14.218202],[122.701276,14.336541],[123.950295,13.782131],[123.855107,13.237771],[124.181289,12.997527],[124.077419,12.536677],[123.298035,13.027526],[122.928652,13.55292],[122.671355,13.185836],[122.03465,13.784482],[121.126385,13.636687],[120.628637,13.857656],[120.679384,14.271016],[120.991819,14.525393],[120.693336,14.756671],[120.564145,14.396279],[120.070429,14.970869],[119.920929,15.406347],[119.883773,16.363704],[120.286488,16.034629],[120.390047,17.599081],[120.715867,18.505227],[121.321308,18.504065],[121.937601,18.218552],[122.246006,18.47895],[122.336957,18.224883]],[[122.03837,11.415841],[121.883548,11.891755],[122.483821,11.582187],[123.120217,11.58366],[123.100838,11.165934],[122.637714,10.741308],[122.00261,10.441017],[121.967367,10.905691],[122.03837,11.415841]],[[125.502552,12.162695],[125.783465,11.046122],[125.011884,11.311455],[125.032761,10.975816],[125.277449,10.358722],[124.801819,10.134679],[124.760168,10.837995],[124.459101,10.88993],[124.302522,11.495371],[124.891013,11.415583],[124.87799,11.79419],[124.266762,12.557761],[125.227116,12.535721],[125.502552,12.162695]],[[100.085757,6.464489],[100.259596,6.642825],[101.075516,6.204867],[101.154219,5.691384],[101.814282,5.810808],[102.141187,6.221636],[102.371147,6.128205],[102.961705,5.524495],[103.381215,4.855001],[103.438575,4.181606],[103.332122,3.726698],[103.429429,3.382869],[103.502448,2.791019],[103.854674,2.515454],[104.247932,1.631141],[104.228811,1.293048],[103.519707,1.226334],[102.573615,1.967115],[101.390638,2.760814],[101.27354,3.270292],[100.695435,3.93914],[100.557408,4.76728],[100.196706,5.312493],[100.30626,6.040562],[100.085757,6.464489]],[[117.882035,4.137551],[117.015214,4.306094],[115.865517,4.306559],[115.519078,3.169238],[115.134037,2.821482],[114.621355,1.430688],[113.80585,1.217549],[112.859809,1.49779],[112.380252,1.410121],[111.797548,0.904441],[111.159138,0.976478],[110.514061,0.773131],[109.830227,1.338136],[109.66326,2.006467],[110.396135,1.663775],[111.168853,1.850637],[111.370081,2.697303],[111.796928,2.885897],[112.995615,3.102395],[113.712935,3.893509],[114.204017,4.525874],[114.659596,4.007637],[114.869557,4.348314],[115.347461,4.316636],[115.4057,4.955228],[115.45071,5.44773],[116.220741,6.143191],[116.725103,6.924771],[117.129626,6.928053],[117.643393,6.422166],[117.689075,5.98749],[118.347691,5.708696],[119.181904,5.407836],[119.110694,5.016128],[118.439727,4.966519],[118.618321,4.478202],[117.882035,4.137551]],[[115.45071,5.44773],[115.4057,4.955228],[115.347461,4.316636],[114.869557,4.348314],[114.659596,4.007637],[114.204017,4.525874],[114.599961,4.900011],[115.45071,5.44773]],[[141.884601,39.180865],[140.959489,38.174001],[140.976388,37.142074],[140.59977,36.343983],[140.774074,35.842877],[140.253279,35.138114],[138.975528,34.6676],[137.217599,34.606286],[135.792983,33.464805],[135.120983,33.849071],[135.079435,34.596545],[133.340316,34.375938],[132.156771,33.904933],[130.986145,33.885761],[132.000036,33.149992],[131.33279,31.450355],[130.686318,31.029579],[130.20242,31.418238],[130.447676,32.319475],[129.814692,32.61031],[129.408463,33.296056],[130.353935,33.604151],[130.878451,34.232743],[131.884229,34.749714],[132.617673,35.433393],[134.608301,35.731618],[135.677538,35.527134],[136.723831,37.304984],[137.390612,36.827391],[138.857602,37.827485],[139.426405,38.215962],[140.05479,39.438807],[139.883379,40.563312],[140.305783,41.195005],[141.368973,41.37856],[141.914263,39.991616],[141.884601,39.180865]],[[144.613427,43.960883],[145.320825,44.384733],[145.543137,43.262088],[144.059662,42.988358],[143.18385,41.995215],[141.611491,42.678791],[141.067286,41.584594],[139.955106,41.569556],[139.817544,42.563759],[140.312087,43.333273],[141.380549,43.388825],[141.671952,44.772125],[141.967645,45.551483],[143.14287,44.510358],[143.910162,44.1741],[144.613427,43.960883]],[[132.371176,33.463642],[132.924373,34.060299],[133.492968,33.944621],[133.904106,34.364931],[134.638428,34.149234],[134.766379,33.806335],[134.203416,33.201178],[133.79295,33.521985],[133.280268,33.28957],[133.014858,32.704567],[132.363115,32.989382],[132.371176,33.463642]]]
evaluation/release_data/soudelor_video.json ADDED
@@ -0,0 +1,473 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": "Trackformer 1.2",
3
+ "storm": "SOUDELOR",
4
+ "storm_id": "2015211N13162",
5
+ "issue_time_utc": "2015-08-05T00:00:00Z",
6
+ "members": 50,
7
+ "device": "mps",
8
+ "checkpoint_sha256": "f194a23d3f91ea76ad776dfad942fabd669eeae8b3fd665815463095367e9ee0",
9
+ "inference_weights_sha256": "db49f36e85a3766defc4c172746897a1f783705d1ce8e6f9dfb8e87ae1d902cb",
10
+ "source_module_sha256": {
11
+ "model.py": "5dab06c20224cf48c51302122455ee7e16948f977bf4b760fd8aff5d443ab0bc",
12
+ "baseline_model.py": "6c05941fd93baaca04508877edc69f8f0394b70e0a64e734ef0d2c1e8832246a",
13
+ "v165_base.py": "5c9473993a19d0fed00055494b5c1f50c1006aaf46551ff50145f67048c3374a"
14
+ },
15
+ "data_sha256": "bed5425496abde931d81af06e1ef1438504c82468d5577c6bac5dc131a07e91f",
16
+ "ensemble_policy": {
17
+ "method": "seeded causal input-perturbation ensemble, not latent samples",
18
+ "member_count": 50,
19
+ "member_ids": [
20
+ 0,
21
+ 1,
22
+ 2,
23
+ 3,
24
+ 4,
25
+ 5,
26
+ 6,
27
+ 7,
28
+ 8,
29
+ 9,
30
+ 10,
31
+ 11,
32
+ 12,
33
+ 13,
34
+ 14,
35
+ 15,
36
+ 16,
37
+ 17,
38
+ 18,
39
+ 19,
40
+ 20,
41
+ 21,
42
+ 22,
43
+ 23,
44
+ 24,
45
+ 25,
46
+ 26,
47
+ 27,
48
+ 28,
49
+ 29,
50
+ 30,
51
+ 31,
52
+ 32,
53
+ 33,
54
+ 34,
55
+ 35,
56
+ 36,
57
+ 37,
58
+ 38,
59
+ 39,
60
+ 40,
61
+ 41,
62
+ 42,
63
+ 43,
64
+ 44,
65
+ 45,
66
+ 46,
67
+ 47,
68
+ 48,
69
+ 49
70
+ ],
71
+ "seeds": [
72
+ 2043,
73
+ 2044,
74
+ 2045,
75
+ 2046,
76
+ 2047,
77
+ 2048,
78
+ 2049,
79
+ 2050,
80
+ 2051,
81
+ 2052,
82
+ 2053,
83
+ 2054,
84
+ 2055,
85
+ 2056,
86
+ 2057,
87
+ 2058,
88
+ 2059,
89
+ 2060,
90
+ 2061,
91
+ 2062,
92
+ 2063,
93
+ 2064,
94
+ 2065,
95
+ 2066,
96
+ 2067,
97
+ 2068,
98
+ 2069,
99
+ 2070,
100
+ 2071,
101
+ 2072,
102
+ 2073,
103
+ 2074,
104
+ 2075,
105
+ 2076,
106
+ 2077,
107
+ 2078,
108
+ 2079,
109
+ 2080,
110
+ 2081,
111
+ 2082,
112
+ 2083,
113
+ 2084,
114
+ 2085,
115
+ 2086,
116
+ 2087,
117
+ 2088,
118
+ 2089,
119
+ 2090,
120
+ 2091,
121
+ 2092
122
+ ],
123
+ "weights": [
124
+ 0.02,
125
+ 0.02,
126
+ 0.02,
127
+ 0.02,
128
+ 0.02,
129
+ 0.02,
130
+ 0.02,
131
+ 0.02,
132
+ 0.02,
133
+ 0.02,
134
+ 0.02,
135
+ 0.02,
136
+ 0.02,
137
+ 0.02,
138
+ 0.02,
139
+ 0.02,
140
+ 0.02,
141
+ 0.02,
142
+ 0.02,
143
+ 0.02,
144
+ 0.02,
145
+ 0.02,
146
+ 0.02,
147
+ 0.02,
148
+ 0.02,
149
+ 0.02,
150
+ 0.02,
151
+ 0.02,
152
+ 0.02,
153
+ 0.02,
154
+ 0.02,
155
+ 0.02,
156
+ 0.02,
157
+ 0.02,
158
+ 0.02,
159
+ 0.02,
160
+ 0.02,
161
+ 0.02,
162
+ 0.02,
163
+ 0.02,
164
+ 0.02,
165
+ 0.02,
166
+ 0.02,
167
+ 0.02,
168
+ 0.02,
169
+ 0.02,
170
+ 0.02,
171
+ 0.02,
172
+ 0.02,
173
+ 0.02
174
+ ],
175
+ "global_noise_normalized_std": 0.025,
176
+ "regional_noise_normalized_std": 0.015,
177
+ "global_smoothing_kernel": 5,
178
+ "regional_smoothing_kernel": 9,
179
+ "native_detail_available": false,
180
+ "missing_native_history_remains_masked": true,
181
+ "input_sha256": [
182
+ "3ddbf0fa441f94394b56ef00c89a5b6d8e223ef2b2cbe5f6151b46da1a87b7d0",
183
+ "e23eaadeeebb330c706c34a46225662a9e4bd487c6df6d2c8c495f16a30c1ba0",
184
+ "4bda89da0435d1abe59b4f9d928e63feda04470173a05244a2884a4a5bf76738",
185
+ "eb15739007342bcd0f26a588aacb37996977f8dfcf3d33e61a2c7e3076ad2597",
186
+ "9752b26984e56da121671c803bee910f4267dc60980ec1b76a2325cda9342ede",
187
+ "42e5b46312852b43939be9500924882ae436bcab4bece3af3414b8b8a80d795b",
188
+ "c461cca5083b62c6fad9750afbfa4067a1f3030c856b213833e96e0a961ad98b",
189
+ "85316667c5bf655b25ea8a41c99fee06cc3b14e829a971d36ab17c4698379dd0",
190
+ "ab05be6592333e83101a3349f1b58dd88bdd0fc0e3e6120d311ed41dcf3952bf",
191
+ "6629c86211bf416a905c14eee98d45c259d652166bcf5104d1b38a931f7504ce",
192
+ "1b68c59039a42750f464bdb42ea45d2856e4583d2c9082f9e2cc09ab9e8089cc",
193
+ "00e3c0d91e1d1ca5c577c3e79b3a3462011cb0c4f7d0b7d1208a6c23fa7b281e",
194
+ "9c17ad33eb69e2a7400ec6fcabb1937018351936a5b574a74d04c277f41040f8",
195
+ "b39444ed94c7198cd50f15cce42b7339fd006f66117af4c04670379691758af8",
196
+ "d416cc88058e380a7052f77f78d7f1fe21867e1c61bb5b35f64d409476925450",
197
+ "bcbc3e3d1e366535a6e1328f323d63440169ab4fa95acd0289affc9e2cdbcba1",
198
+ "9c6620d8b55cdb85100506314b7b68d48c2d14915f09bd4dd46aad28e65de5c0",
199
+ "048a9c5c3fd1b961f012c4ac53a759ed02d1f4c89d92269880373641a4883704",
200
+ "6c1f368b5134e7e42ea19fa805322d03528a9c01194692fddd2fe951c0789bce",
201
+ "9dcd6ac58d0cd00e8813a7922d402d9f201753cfaefbc9105ad7c8830d36b7d4",
202
+ "feb2d08ead5b7c98decbd6a2686fc39d326f60f92115c844831b9d6a86622149",
203
+ "aa517c1e088e215a8b695fc66535f5185e69ae1d90a84cea158ae851dcdfe200",
204
+ "87f3379527dd64c0b987023165532b285430a25f9af3ba5dc8b23adaa3290942",
205
+ "1565c0fcd1336ec5866ae9d5f53c846da70431f915d95fb7af030c90e2030b28",
206
+ "41f364551955690284d4f5da3adbcfcbb1f7b8837d87e9c22388d29b2cd3f3af",
207
+ "7eb041964f451b207db6968c70cff97c850edf013c0fee0fe6b00b73b0f0883c",
208
+ "c62895c39fdde424e10f8ca71cb46fe73e1bfae89237ff06db468df65b391c1b",
209
+ "ecd82083830e94b136ed5c9ab18451680f1c00da91195f50b4d76983d198b9d5",
210
+ "78c84fd428467adf03e1b53c1a0c5bfb4b8ae45b1ee52e6e057f2fdca29e14b6",
211
+ "2e57df58fe84fe29db80cee36bfe83dd56d86e653590acd277d42cde0f8ce21e",
212
+ "c07dc206e7c1421477b6135a3460c331376566e1e5b7cca5647830b79fed62e0",
213
+ "fd6a776781b85f16f6967221acebf354a6ff03a1a1963ee8c607ef1b933a1cf5",
214
+ "6edb3a5b6a3b1f1bc20d9ca72b0a15694a8b7e1915775a820ae4ceef7426d09c",
215
+ "7e890258575b5cf63a54e7ec9a8aa03ac0f229aa669291be80561d252e5d9083",
216
+ "e002d9c09a025ffd10768b64cb5a329c4ef3d202158a8a53abc98b6dffb55798",
217
+ "411b26a3287ebe4db29cd6e4c5c8379563395e2e0e6bb7ff36567b0a7bdd5fd0",
218
+ "696262e5f82ff0bf075d6c4a7de7e490eb95d2028194a2c51c72e74da519f121",
219
+ "6a7d25988dcb4a111129a1e06476235e09b2fd1931f84ac609732353f56ba1c7",
220
+ "8fe9458982595b5ca121e850cb2f83fea306119a1cb5496b00fe49e214f2f32b",
221
+ "430af66f173b912735508f11d7ef3f7efa103c2c01d205e70ee1808812a79b19",
222
+ "cf124775db4364b6c6ea4e9c7c325e2bc8baf3a027b783c6d32fe1046f1abd88",
223
+ "158ff7a5b33d080dc9c7ed135df067f0299f4a6eff5c0ec2cfa96741b7e0275d",
224
+ "c8d57be2f84b5a1edfc8085f70bb78a12b08cb41e5ab29023b35300d7538411f",
225
+ "c7cb590e22a3ca10ab123fb6928998b6f0b8c0f8d16f19a4a401658b0c1cabb8",
226
+ "afb219a96d80a183d4b85697d7ad1dc86db74a9fb8af0fe72df93344b1f4f0eb",
227
+ "651a9f1a6378ea02a8873c14a1794f2d5752135148ab132e0f8a7be86f7086ad",
228
+ "e0f0149d766580daf90365a3fde6e6188936d80c19585ca1f980636f4dced789",
229
+ "cd76c605263c3d6e2f8b708e0c02fc673152e70aa5e3e7c4c6050a6518ce67c6",
230
+ "61cd67fc66d4862bf635c52bab918e0aebb6f99e3ddf28f8e0d1db30637084ee",
231
+ "25392f079fe20156d8bd5aa7658750ccfc6f4124628a9e5790e17815c516aef3"
232
+ ],
233
+ "route_sha256": [
234
+ "1d74f2f801ceb51583a7ff4ad63adc36d80a8fa408e7ef720808d2fe95b53298",
235
+ "7ea87403a99510a932a2a5b425ff6afb75c2fad7de91112a0f317cf959135b7e",
236
+ "63e44f0f5299cfff28931c4b00c9ee6b283ab27637e70fe9af33fb928f4d165a",
237
+ "aa255dc269dec50d02d8bbc7967e482d20428b8f6f29b157a106e970e0894871",
238
+ "835766b6aa727a469ec188436e52b055e0140b27a83fe5d738789fdb785dc9be",
239
+ "a89d7f17e65e896842bad6324e81998d8f0e896c40c934479fd0a2aa9ab16fbe",
240
+ "3e39e643f534ec4828bf3d091835ee1a3df8cc9efc55abadaef3d884a320ac82",
241
+ "e5baa69e9d9db1aaaa4592107917ff7ac5820d9046501a728427b94248549a17",
242
+ "eb89f1d1206f678fc32847045d73124d5d33b2554fb4062a66a7573fef42f1ae",
243
+ "32ec3d2f57796ba5ec5d17fa47533cdaf88ecd95ac2a080da1239a1959cc4023",
244
+ "d08ae3e8491afe322320f398e904c87a25fa0d5e319dd9ed61357beae20667b5",
245
+ "b82e0a2912f13bee77f078cf84b429d02fe106f75618631e8d8af7a003756101",
246
+ "fe8020358aacadceb86bedb05510d51f95d9f1194b0e1badeceb917e85e177ef",
247
+ "19f3f516f0d4ed373cea70e2fadd04ccb1a4ae7a456e4c604168de2390233513",
248
+ "e990df2672611968db126b7d58a80fe16a1ff17e9051727efcc263fef7c55776",
249
+ "a5db74dd2730c2583a5c43fc85a62e9c1e3a1d6e0b89decbd43fdbf402843a4a",
250
+ "59a7006ae0b58897004593e9ba6f033a8dfe41999f0702117d77ab90fa37cf42",
251
+ "48da95538e4b93e88253b7843c5f74142cd3ee45e809093ece4d69db62e02bee",
252
+ "1d7bc423029547c522c451153b2dd3315d60aff04712dc6f124eb21880919306",
253
+ "32900fd44b28881b8ea21ff8009c163b9260a16046c3f16fb5ab799cb62b75c1",
254
+ "a080149fbcb903a51eeb23cd067b642ff40d9c5d5320c4469d2a549e3947e40e",
255
+ "c81c130093aedcb29aceaa13e0ba2acd6021cb4ed6896afcec0a22a3ddbf27c1",
256
+ "b6db4f7c85660a735d9aee03d97467e8da8e29a0e63ee519ad4c92fb19ee0949",
257
+ "28c116e27889f85dc2b213b268dbfd307f9dc0072a0d769ed275b444285bdbba",
258
+ "e813c7b48cbe08465d684c2717468bb94a1a2516c5e72ca6991baa1c17a402a6",
259
+ "682b79f017078b85c4af416c11ba62812520cdff7cc39c9976a1cde3e46edcdb",
260
+ "55ea3644c465aabca55b0ca48dfb6fe6a9335554f7497bda1c09dab8284d3572",
261
+ "5f2ba57f8b5c1642777096e879e64cbd8e70121f774f16830c41106e62585b9c",
262
+ "64332478a471fd3a5b5360a05da0e512492f25034fcc70f7ccacc3dd94136c02",
263
+ "d8a84008d1275ca51cfc28a140af0194801082f5f6fb6a9e1f260b4aac55d2bf",
264
+ "48e0be9d60118c97f9fd711c09330d23e754078b432e3defeb480be8259e0f9c",
265
+ "80135e95b571af07eea2ac90441819272fd58d214be91e8cced750721d610c8e",
266
+ "c19377769b64f6d536e484d8847532bcbe008a8d549c71a639407a7bc4f6f2a4",
267
+ "1af0a251d6933e05b36db00addee0c53633b6e449c1be8c52fd5717ff55720df",
268
+ "0f8ab047de5da135ab3e989a7793019021345adf942702071652d91efc9d2ce3",
269
+ "9b9e278a5037f860e0c6f19e513ab450d0a43ad6c571a9fce5df7afedb995a68",
270
+ "d455134f1cb6537660fd3695ff9032e05e09a3cd13770b88a901e2fc18ce2204",
271
+ "2664937b15512824208ef3c04c11fc277f2a831168dbe61221a4d83dc5562bd7",
272
+ "b9a129e8aa77e4a82881c099a9cec3345af1b490d257b0cfb4e818f64c8d30b6",
273
+ "e6c6797932bc2544261040334ebf986b9e026c4c32c75bac331cab3e8aa9d519",
274
+ "294e98d8e5f333b803fdcae03a6f3da4525f82b4c2d2242a645f000bc1618f2a",
275
+ "e460165d5358a548de7de55c57dfe5b3afe7f8138d110c936c5092c926701664",
276
+ "87aa2f8247c07b1a3f7931e8984a77f589734929fe9a0d7d3730159dd094b950",
277
+ "baa82b9acca438c5671032b88ac2442e6a83ad33a2ea68511f3a5a4e9298431d",
278
+ "13743a7a4e4f0476fcb45fa1635599c1fe49071d0c8290dc4aaa98006bd0b763",
279
+ "0479502a1b8941e0bcf387313e53729790b01ba1639fce5501fe853a9a8e1711",
280
+ "1fe42bee104a2f36ded7f7f29c2cbfe225d8c3d748ae966326c5e03c4327446b",
281
+ "c09c580f5cacd714bf3d960eba8ab8689b493e3a719142cfa7b0f48102385227",
282
+ "1077c961d6925619b11dfc9f5b2fae0cfe15d27fcfa0b15081ee40b17743852c",
283
+ "0e39a8cbc83d8ecbad55b113f52023cd077820687fe378c258819c9d1a26c8be"
284
+ ],
285
+ "basin_field_sha256": [
286
+ "251d569020029226dbb962c6adfcb21a5673f391336f4d6baf05294e5bea3ba7",
287
+ "ca163857983739e2bb72fe06f42461c7c24cb1cdb051b9cd7187f278e0ed6e10",
288
+ "6d1238a82be9bed6856da797304fb462767ae7a343159874deefb005264e3669",
289
+ "1c4f74f20abb0668c063a991ae29959049bae4bd7d8590aa4429b7c1a3e6b471",
290
+ "93b530eb6f30ae05f052c66282aebdc6c86e554b220f7cebb4253260efad95f9",
291
+ "d06fa9090d7a6c1fb6b278649ba4bbfbfb04e2d76ef5658200dffc88dcd6a161",
292
+ "fa8905525fea69d0d3fcdb86efc34b70b25113419ad3c9b455041e2fa7237a77",
293
+ "d47a27b91edae446d7545fe1609ba7293af06e683274e86e4f6dafd6f6a4c98f",
294
+ "2a56258203ab298911d18761cefef04a08da8bc7756a634cf636e9fa4aecbe49",
295
+ "805f9c2803fb59bcbbe3c9536292a8fdc1bc27a32c2161ff1c1f36ecc11edd06",
296
+ "1e0f5dcad6eac7e41f6ac6401c06e345ea54d2eb72b38dc09e9b1a5e44a636b2",
297
+ "1baafcb7ed66e66806a0e5e4bc427d4451811900768d5890a829d52009a7719a",
298
+ "72e9342d78282ebbd4aa52d9da679d1be70470c81a69f95ff0350829f1eeb4e8",
299
+ "ead864d118d9057cad3f11dac290b0f9931d7efd9f792f38f32db60c12568d21",
300
+ "5f4f9b71af2dde84fe5a4f2293a193ceaf26a28c5097805e01d56a957a707e94",
301
+ "acbd39c734216e8fc589ce8520a1f0b86bab65974f5cb9550dfdeaada77c0c43",
302
+ "d1c4d461672cec895681fdce02feda253b4f7daa93dc0f4e33d85bee79ed77d8",
303
+ "fb6f931b31a9be2e82fbd71c7f32b4aa230c54ea3057ad0c6b05479c5585fa6b",
304
+ "ebb28fa025db083cae22283bce971cd42a2479ebc3be308412c8c0d3164ad55f",
305
+ "cc1b0c5e0bbdfa7ed9225e71542650831c0912c4b09c2343d2b70a724e40b411",
306
+ "7d8750a939382597bc71a5f9b2cda3ce1c1dfe7ef70b96d5dc923b348f6153a8",
307
+ "5b48e54332bbd89d2bda3223b562977302374a35872e60336c2949d2a325f7f0",
308
+ "e4e97895c1438f08263027571e715e0b2c46f502d9bb77b2fcb5bae51f145321",
309
+ "858138375b19d0034e85af28f9bf4cb3ea88369aeee0a498e5e8cc64c0b9da94",
310
+ "e300859ecea183531b8e54a1e7b2d0abef9e7d079d792b0b19313f48bab54f42",
311
+ "d70b6df248cff8e5e873b9c2485de4e2e30526cceb35c080ad8453cc206a895b",
312
+ "71b350686a2a79448649e5cbfcdea48ccc15ed042151271cb300af7d2fe87607",
313
+ "9cd5dbf9de01c01624e3670844ab8e75b18f9f3f0e1c31f037de0eeb4ebd8fb0",
314
+ "9da4e93a12d77c7607632281221bb695cd3010c8b22dee1ccb0ec4a5d19c8482",
315
+ "13b37856cac223324162f3b6ffae883a9b8f43e60751a3ec3fef0ac615c5946f",
316
+ "fe5b611e4ff8901e6bfc88a5bcd14150a7fc69aec98ca387943a661d7eae2db2",
317
+ "3238a57b91f2241451b7dedb788459e0282a4b8763e3d0ab1de9300d52b7f2ef",
318
+ "dba34725e1472a05f1261e331d558c9d36142980082fa5c98b0b0c8a7c21e160",
319
+ "8a33fde1b044bf38fcc0797d20b7153044c97891d43b2d389a55fb0260ea237a",
320
+ "59eb885f0a8b438a01db230934ef7d30802a01e3ba3d529ca238572823275d77",
321
+ "41af6bac512b289f6f036d799afc3a4910d7924533a10253a22db00a066abaca",
322
+ "7a640351b2fb5e459eafd1f8d199aa9c9e18ac514282c237f137641ca8abb879",
323
+ "ad44cefafccd5b6a1023b9dfafb9864e235ea0759eaef3e4ac768397d7122afb",
324
+ "59449a725ffb1b03e6f9b121b745492358d9caf15870fda5c2807543bab1d0c1",
325
+ "4a7f0031e2b0ccc0b87c146087c56d05d5a2541b90bc6ab0e2b6c8af50edb367",
326
+ "53fce4ccc3e03658f0bfb37abcc1022e8d0c2e590a27792629dc3bc36d974020",
327
+ "74a3b6d97f5b9b08152bd9c3b50daad238931bc5b56b582f3dad2965edbfa32f",
328
+ "1ed0952764d233c6587dd3ea08d387e4573e1621f6dca358013d0fc6c01776d5",
329
+ "0c6f8b690a98e2bed251b4eb39b2bbd5339944f4a8e40553dea1b7f907ecf6c1",
330
+ "bea4c44da87a823370b20b687f1741cc78eb69704ad1784e4e0973f9a3e27a23",
331
+ "85ebbffb5cfac1fb5abcbe8e0303818c48d017124910240b7a871a7e95a71f63",
332
+ "6181eecc894fdf46cf02f61125b944b52f500b276cc7c14b11e6add60e25aefc",
333
+ "56989d9170065de8fbd8fc0b2c4e472f69cbd05200fec01fb5b0a14f778c48de",
334
+ "c3177546262025ab7e98edf1f5b3c2f29b8a8955963bf08414e707f16e2f9263",
335
+ "142cb26496b5720e19d8c464b3249ff28dd44125010af5cb39b067aca3ef8d06"
336
+ ],
337
+ "mean_policy": "Equal-weight physical basin and fixed-issue regional grids; member-mean coordinates and central pressures separately. Moving-core grids are not directly averaged.",
338
+ "inference_seconds": 11.915
339
+ },
340
+ "leads_hours": [
341
+ 6,
342
+ 12,
343
+ 18,
344
+ 24,
345
+ 30,
346
+ 36,
347
+ 42,
348
+ 48,
349
+ 54,
350
+ 60,
351
+ 66,
352
+ 72,
353
+ 78,
354
+ 84,
355
+ 90,
356
+ 96,
357
+ 102,
358
+ 108,
359
+ 114,
360
+ 120
361
+ ],
362
+ "display_bounds": [
363
+ 100,
364
+ 180,
365
+ 0,
366
+ 60
367
+ ],
368
+ "source_inputs": {
369
+ "source": "Existing exact NOAA NCEP Reanalysis-1 basin atlas; retrospective analyses.",
370
+ "channels": [
371
+ "mslp",
372
+ "hgt500",
373
+ "uwnd850",
374
+ "vwnd850",
375
+ "uwnd500",
376
+ "vwnd500",
377
+ "uwnd200",
378
+ "vwnd200"
379
+ ],
380
+ "units": [
381
+ "hPa",
382
+ "m",
383
+ "m/s",
384
+ "m/s",
385
+ "m/s",
386
+ "m/s",
387
+ "m/s",
388
+ "m/s"
389
+ ],
390
+ "analysis_times_utc": [
391
+ "2015-08-03T00:00:00Z",
392
+ "2015-08-03T06:00:00Z",
393
+ "2015-08-03T12:00:00Z",
394
+ "2015-08-03T18:00:00Z",
395
+ "2015-08-04T00:00:00Z",
396
+ "2015-08-04T06:00:00Z",
397
+ "2015-08-04T12:00:00Z",
398
+ "2015-08-04T18:00:00Z",
399
+ "2015-08-05T00:00:00Z"
400
+ ],
401
+ "source_sha256": {
402
+ "track_build/basin_all_int8.npz": "71e5f1bb46c44e5936c506a3f8af021c1fe94c238ed030c05c66e8f342374b6d",
403
+ "track_build/basin_slp_atlas_float16.npy": "9f6a4ec7b2f6beadfa1075af9176d2a653e39a824d504d989e5e56e19c571521",
404
+ "output/automatic-forecast-cache/geography.npz": "f5471471da4a1e15f85fbfb2529065806281357c8e50cb272fcd2b02e8553b96"
405
+ },
406
+ "subset_sha256": "d4088aa71e5f9d9b39f160993c312ab2f59a59dd057c2ba0dc27e307a7ffa1b2",
407
+ "physical_weather_sha256": "24ef01ade0ecc400388444dd45efe9deaaad5f52ed97d871895a145c0c681c81",
408
+ "normalized_input_sha256": "2cad11d38a54c0ab41c8366793b2bae7febecae89609aeda3e016180df8b1ccd",
409
+ "issue_observation": {
410
+ "name": "SOUDELOR",
411
+ "storm_id": "2015211N13162",
412
+ "issue_time_utc": "2015-08-05T00:00:00Z",
413
+ "lat": 19.5,
414
+ "lon": 134.9,
415
+ "motion": [
416
+ -136.26825395228352,
417
+ 22.23999999999992
418
+ ],
419
+ "pressure_hpa": 930.0,
420
+ "wind_kt": 95.0
421
+ },
422
+ "motion_note": "Only current and exact previous six-hour observed coordinates; east/north km per six hours.",
423
+ "causal": true,
424
+ "future_labels_used_for_inference": false
425
+ },
426
+ "observed_csv_sha256": "4348af2679b4be0d53ec630bccda759044663a1f57e2bbd5c1d19428aab562fc",
427
+ "observed_route_source": "Exact matching-timestamp IBTrACS LAT/LON; display verification only.",
428
+ "observed_pressure_source": "IBTrACS TOKYO_PRES JMA best track, not JMA forecasts; missing labels remain missing.",
429
+ "field_source": "Equal-weight physical means of all 50 basin and fixed-issue regional fields; no directly averaged moving grids.",
430
+ "native_history_available": false,
431
+ "grid_note": "0.25-degree regional reconstruction sampling, not native effective resolution. Basin sampling is 2.5 degrees. Coarse basin only outside the fixed regional patch.",
432
+ "regional_bounds": [
433
+ 120.0,
434
+ 150.0,
435
+ 4.5,
436
+ 34.5
437
+ ],
438
+ "first_forecast_lead_outside_regional_hours": 90,
439
+ "metrics": {
440
+ "mean_track_error_km": 120.55338024247541,
441
+ "track_error_120h_km": 354.3977091200638,
442
+ "central_pressure_mae_hpa": 9.860003662109374,
443
+ "pressure_valid_leads": 20,
444
+ "position_valid_leads": 20
445
+ },
446
+ "selection": "Calendar issue chosen before running these forecasts, without screening errors. Historical development showcase; dates may overlap checkpoint fitting/validation years. Not an untouched test or evidence of no overfitting.",
447
+ "video": {
448
+ "file": "docs/trackformer_1_2_soudelor.mp4",
449
+ "duration_seconds": 23,
450
+ "forecast_states": 20,
451
+ "codec": "H.264",
452
+ "encoder": "h264_videotoolbox",
453
+ "sha256": "5fcc26588a75007c50255e92a55ff7442b405995072324850632258a40443bce",
454
+ "playback": "Each six-hour state held for 1 second; final frame held 3 seconds extra. No interpolated forecast states."
455
+ },
456
+ "video_layout": {
457
+ "overview_bounds": [
458
+ 100,
459
+ 180,
460
+ 0,
461
+ 60
462
+ ],
463
+ "closeup_bounds": [
464
+ 113.0,
465
+ 138.0,
466
+ 16.0,
467
+ 33.0
468
+ ],
469
+ "pressure_colors": "Blue below 1013.25 hPa; red above. Fixed range throughout each film.",
470
+ "map_graticule": false,
471
+ "geographic_route_adjustment": false
472
+ }
473
+ }
evaluation/release_data/soudelor_video.npz ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bed5425496abde931d81af06e1ef1438504c82468d5577c6bac5dc131a07e91f
3
+ size 844519
evaluation/trackformer_1_2_fung_wong_video_poster.png CHANGED

Git LFS Details

  • SHA256: af166750a3d2a5d76ada33bf5e2c64d95f2b7d0d1da019451392a68a1fdc520d
  • Pointer size: 131 Bytes
  • Size of remote file: 212 kB

Git LFS Details

  • SHA256: e72dda06f27d70fb98af7c149ccdf5ea42af12148959105b05d530be062b927f
  • Pointer size: 131 Bytes
  • Size of remote file: 209 kB
evaluation/trackformer_1_2_mangkhut_video_poster.png ADDED

Git LFS Details

  • SHA256: 3ce1f53ea27c88addcc4633a52a6487ee92a3b6509e1ae078a668117d1db3bf0
  • Pointer size: 131 Bytes
  • Size of remote file: 291 kB
evaluation/trackformer_1_2_meranti_video_poster.png ADDED

Git LFS Details

  • SHA256: 017c69119ff01b1423f0e54838564d0e80031f2d2e5e78c5f953ce5ac80c0e1f
  • Pointer size: 131 Bytes
  • Size of remote file: 307 kB
evaluation/trackformer_1_2_soudelor_video_poster.png ADDED

Git LFS Details

  • SHA256: f7e738b7f24df6a0964e9664c2f8700e13a400bcd5956706cc971c016f3ec435
  • Pointer size: 131 Bytes
  • Size of remote file: 264 kB
release_tools/build_fung_wong_video.py CHANGED
@@ -1,6 +1,6 @@
1
- """Render the selected saved Fung-wong 50-member forecast, without model inference.
2
 
3
- Requires NumPy, Matplotlib and ffmpeg; --source-root prepares the public subset.
4
  Never shift the model field or route to improve alignment with observations.
5
  """
6
  import argparse
@@ -15,7 +15,7 @@ import numpy as np
15
  import matplotlib
16
  matplotlib.use('Agg')
17
  import matplotlib.pyplot as plt
18
- from matplotlib.patches import Rectangle
19
 
20
  REPO = Path(__file__).resolve().parents[1]
21
  DATA = REPO / 'evaluation/release_data'
@@ -101,69 +101,109 @@ def prepare(root):
101
  print(json.dumps(meta['metrics'], indent=2), flush=True)
102
 
103
 
104
- def build(work):
105
  work.mkdir(parents=True, exist_ok=True)
106
- meta = json.loads((DATA/'fung_wong_video.json').read_text())
107
- assert sha(DATA/'fung_wong_video.npz') == meta['data_sha256']
108
- with np.load(DATA/'fung_wong_video.npz', allow_pickle=False) as z:
 
 
109
  a = {k: z[k] for k in z.files}
110
- rings = json.loads((DATA/'fung_wong_coastlines.json').read_text())
111
  f, o, lat, lon = (a[k] for k in ('forecast_lat_lon', 'observed_lat_lon', 'latitude', 'longitude'))
112
- bounds = [115, 141, 8, 25]
113
- levels, contours = np.arange(936, 1017, 2), np.arange(936, 1017, 4)
 
 
 
 
 
 
 
 
 
 
 
114
  glat, glon, leads = np.linspace(60, 0, 25), np.linspace(100, 180, 33), np.arange(6, 121, 6)
115
  start = datetime.fromisoformat(meta['issue_time_utc'].replace('Z', '+00:00'))
 
 
 
 
 
 
 
 
 
 
 
116
  plt.rcParams.update({'font.size': 12, 'axes.titlesize': 15})
117
  for k, lead in enumerate(leads):
118
  fig = plt.figure(figsize=(16, 10), dpi=100, facecolor='#f8fafb')
119
- gs = fig.add_gridspec(2, 2, width_ratios=[3.9, 1.25], height_ratios=[4.5, 1.4],
120
- left=.055, right=.93, bottom=.155, top=.85, wspace=.25, hspace=.38)
121
- ax = fig.add_subplot(gs[0, :])
122
- ax.contourf(glon, glat, a['basin_pressure_hpa'][k], levels=levels, cmap='RdYlBu_r', extend='both')
123
- ax.contour(glon, glat, a['basin_pressure_hpa'][k], levels=contours, colors='#546971', linewidths=.45)
124
- im = ax.contourf(lon, lat, a['regional_pressure_hpa'][k], levels=levels, cmap='RdYlBu_r', extend='both')
125
- cs = ax.contour(lon, lat, a['regional_pressure_hpa'][k], levels=contours, colors='#354b58', linewidths=.65)
126
- ax.clabel(cs, levels=contours[::2], fmt='%d', fontsize=9)
127
- for ring in rings:
128
- xy = np.asarray(ring); ax.plot(xy[:, 0], xy[:, 1], c='#66716b', lw=.8)
129
- ax.add_patch(Rectangle((lon.min(), lat.min()), np.ptp(lon), np.ptp(lat), fill=False, edgecolor='#265b61', lw=1.2, ls=':'))
130
- for points, color, label, style in [(o, '#182f42', 'Observed best track', '--'), (f, '#b31565', 'Trackformer 1.2 mean of 50', '-')]:
131
- ax.plot(points[:, 1], points[:, 0], ls=style, c=color, alpha=.2, lw=1.6)
132
- ax.plot(points[:k+2, 1], points[:k+2, 0], ls=style, c=color, lw=2.8, label=label)
133
- ax.scatter(points[k+1, 1], points[k+1, 0], s=75, c=color, edgecolors='white', linewidths=1.8, zorder=6)
134
- ax.plot([f[k+1, 1], o[k+1, 1]], [f[k+1, 0], o[k+1, 0]], ':', c='#7a5a85', lw=1.4)
135
- ax.set(xlim=bounds[:2], ylim=bounds[2:], xlabel='Longitude °E', ylabel='Latitude °N')
136
- ax.set_aspect(1/np.cos(np.deg2rad(16.5))); ax.grid(alpha=.13)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  ax.legend(loc='lower left', fontsize=11, framealpha=.95)
138
  ax.text(.985, .035, 'Same map / same valid time\nNo route shifting or rescaling', transform=ax.transAxes,
139
  ha='right', va='bottom', fontsize=10, bbox={'facecolor': 'white', 'alpha': .9, 'edgecolor': 'none', 'pad': 5})
140
- fig.colorbar(im, cax=fig.add_axes([.952, .40, .014, .40]), label='Model mean sea-level pressure (hPa)')
141
- curve = fig.add_subplot(gs[1, 0])
 
142
  curve.plot(leads, a['central_pressure_hpa'], c='#b31565', lw=2, label='Model')
143
  curve.plot(leads, a['observed_pressure_hpa'], '--', c='#182f42', lw=2, label='Observed (JMA best track)')
144
  curve.axvline(lead, c='#688e98', lw=1.5)
145
  curve.scatter([lead], [a['central_pressure_hpa'][k]], c='#b31565', s=40, zorder=4)
146
  curve.set(xlim=(6, 120), xlabel='Forecast lead (hours)', ylabel='Central pressure (hPa)', xticks=[6, 24, 48, 72, 96, 120])
147
  curve.grid(alpha=.2); curve.legend(loc='lower left', fontsize=10)
148
- info = fig.add_subplot(gs[1, 1]); info.axis('off')
149
  inside = lon.min() <= f[k+1, 1] <= lon.max() and lat.min() <= f[k+1, 0] <= lat.max()
150
  coverage = 'Centre within regional field' if inside else 'Centre outside regional field\nCoarse pressure only here'
151
  info.text(0, 1, f"Position error: {a['track_error_km'][k]:.0f} km\nModel: {a['central_pressure_hpa'][k]:.1f} hPa\nObserved: {a['observed_pressure_hpa'][k]:.0f} hPa\n\n{coverage}", va='top', fontsize=12, color='#244754')
152
  valid = start+timedelta(hours=int(lead))
153
- fig.suptitle(f'Trackformer 1.2 / FUNG-WONG / +{lead:03d} h', x=.055, y=.97, ha='left', fontsize=24, fontweight='bold', color='#173947')
154
  fig.text(.055, .918, f'Issue: {start:%d %b %Y %H:%M} UTC | Valid: {valid:%d %b %Y %H:%M} UTC | 50-member mean', fontsize=14, color='#385865')
155
  fig.text(.055, .067, 'Actual model pressure with 4 hPa isobars. Observations are verification only; selected example, not typical skill.', fontsize=11, color='#47636d')
156
- fig.text(.055, .040, 'Dotted boundary: fixed regional reconstruction (no native-detail history). Outside: coarse basin field only.', fontsize=10, color='#47636d')
 
157
  fig.savefig(work/f'frame_{k:03d}.png', dpi=100)
158
- if k == 9: fig.savefig(REPO/'evaluation/trackformer_1_2_fung_wong_video_poster.png', dpi=100)
159
  plt.close(fig)
160
- output = REPO/'docs/trackformer_1_2_fung_wong.mp4'
161
  subprocess.run(['ffmpeg', '-y', '-hide_banner', '-loglevel', 'warning', '-framerate', '1', '-i', str(work/'frame_%03d.png'),
162
  '-vf', 'fps=30,tpad=stop_mode=clone:stop_duration=3', '-c:v', 'h264_videotoolbox', '-b:v', '4M', '-pix_fmt', 'yuv420p', '-movflags', '+faststart', '-an', str(output)], check=True)
163
- meta['video'] = {'file': 'docs/trackformer_1_2_fung_wong.mp4', 'duration_seconds': 23, 'forecast_states': 20,
164
  'codec': 'H.264', 'encoder': 'h264_videotoolbox', 'sha256': sha(output),
165
  'playback': 'Each six-hour state held for 1 second; final frame held 3 seconds extra. No interpolated forecast states.'}
166
- (DATA/'fung_wong_video.json').write_text(json.dumps(meta, indent=2)+'\n')
167
  print('Saved', output, output.stat().st_size, 'bytes', flush=True)
168
 
169
 
@@ -171,6 +211,11 @@ if __name__ == '__main__':
171
  p = argparse.ArgumentParser(description=__doc__)
172
  p.add_argument('--source-root', type=Path)
173
  p.add_argument('--work', type=Path, required=True)
 
 
174
  args = p.parse_args()
175
- if args.source_root: prepare(args.source_root)
176
- build(args.work)
 
 
 
 
1
+ """Render genuine saved Trackformer 1.2 50-member videos, without model inference.
2
 
3
+ Requires NumPy, Matplotlib and ffmpeg; --source-root prepares the Fung-wong subset.
4
  Never shift the model field or route to improve alignment with observations.
5
  """
6
  import argparse
 
15
  import matplotlib
16
  matplotlib.use('Agg')
17
  import matplotlib.pyplot as plt
18
+ from matplotlib.colors import TwoSlopeNorm
19
 
20
  REPO = Path(__file__).resolve().parents[1]
21
  DATA = REPO / 'evaluation/release_data'
 
101
  print(json.dumps(meta['metrics'], indent=2), flush=True)
102
 
103
 
104
+ def build(work, stem='fung_wong', data=DATA):
105
  work.mkdir(parents=True, exist_ok=True)
106
+ meta = json.loads((data/f'{stem}_video.json').read_text())
107
+ assert meta['model'] == 'Trackformer 1.2' and meta['members'] == 50
108
+ assert meta['checkpoint_sha256'] == CHECKPOINT
109
+ assert sha(data/f'{stem}_video.npz') == meta['data_sha256']
110
+ with np.load(data/f'{stem}_video.npz', allow_pickle=False) as z:
111
  a = {k: z[k] for k in z.files}
112
+ rings = json.loads((data/f'{stem}_coastlines.json').read_text())
113
  f, o, lat, lon = (a[k] for k in ('forecast_lat_lon', 'observed_lat_lon', 'latitude', 'longitude'))
114
+ if f.shape != (21, 2) or a['regional_pressure_hpa'].shape != (20, 121, 121) or a['basin_pressure_hpa'].shape != (20, 25, 33):
115
+ raise ValueError('Video requires exact +6 through +120-hour fields and route')
116
+ bounds = meta.get('display_bounds', [115, 141, 8, 25])
117
+ vmin, vmax = 936, 1016
118
+ if stem != 'fung_wong':
119
+ field_min = min(a['basin_pressure_hpa'].min(), a['regional_pressure_hpa'].min())
120
+ field_max = max(a['basin_pressure_hpa'].max(), a['regional_pressure_hpa'].max())
121
+ vmin, vmax = min(1008, 4*np.floor(field_min/4)), max(1020, 4*np.ceil(field_max/4))
122
+ levels, contours = np.arange(vmin, vmax+1, 2), np.arange(vmin, vmax+1, 4)
123
+ # Conventional diverging pressure colors: lows blue, highs red. The
124
+ # numeric colorbar remains explicit; this changes rendering, never fields.
125
+ pressure_norm = TwoSlopeNorm(vmin=vmin, vcenter=1013.25, vmax=vmax)
126
+ regional = np.ma.masked_where(np.broadcast_to(~a.get('regional_valid_mask', np.ones((121, 121), dtype=bool)), (20, 121, 121)), a['regional_pressure_hpa'])
127
  glat, glon, leads = np.linspace(60, 0, 25), np.linspace(100, 180, 33), np.arange(6, 121, 6)
128
  start = datetime.fromisoformat(meta['issue_time_utc'].replace('Z', '+00:00'))
129
+ overview_layout = stem != 'fung_wong'
130
+ if overview_layout:
131
+ # One fixed geographic close-up for the entire film, including both
132
+ # unshifted paths. Its crop affects display only, never model inference.
133
+ points = np.concatenate([f, o])
134
+ points = points[np.isfinite(points).all(axis=1)]
135
+ closeup = [max(100, np.floor(points[:, 1].min()-3)), min(180, np.ceil(points[:, 1].max()+3)),
136
+ max(0, np.floor(points[:, 0].min()-3)), min(60, np.ceil(points[:, 0].max()+3))]
137
+ meta['video_layout'] = {'overview_bounds': bounds, 'closeup_bounds': [float(v) for v in closeup],
138
+ 'pressure_colors': 'Blue below 1013.25 hPa; red above. Fixed range throughout each film.',
139
+ 'map_graticule': False, 'geographic_route_adjustment': False}
140
  plt.rcParams.update({'font.size': 12, 'axes.titlesize': 15})
141
  for k, lead in enumerate(leads):
142
  fig = plt.figure(figsize=(16, 10), dpi=100, facecolor='#f8fafb')
143
+ if overview_layout:
144
+ gs = fig.add_gridspec(2, 3, width_ratios=[2.6, 4.6, 1.4], height_ratios=[4.5, 1.4],
145
+ left=.065, right=.91, bottom=.16, top=.83, wspace=.34, hspace=.40)
146
+ small = fig.add_subplot(gs[0, 0])
147
+ ax = fig.add_subplot(gs[0, 1:])
148
+ maps = [(small, bounds, True), (ax, closeup, False)]
149
+ else:
150
+ gs = fig.add_gridspec(2, 2, width_ratios=[3.9, 1.25], height_ratios=[4.5, 1.4],
151
+ left=.055, right=.93, bottom=.155, top=.85, wspace=.25, hspace=.38)
152
+ ax = fig.add_subplot(gs[0, :])
153
+ maps = [(ax, bounds, False)]
154
+ for axis, extent, is_small in maps:
155
+ axis.contourf(glon, glat, a['basin_pressure_hpa'][k], levels=levels, cmap='RdYlBu_r', norm=pressure_norm, extend='both')
156
+ axis.contour(glon, glat, a['basin_pressure_hpa'][k], levels=contours, colors='#546971', linewidths=.4)
157
+ im = axis.contourf(lon, lat, regional[k], levels=levels, cmap='RdYlBu_r', norm=pressure_norm, extend='both')
158
+ cs = axis.contour(lon, lat, regional[k], levels=contours, colors='#354b58', linewidths=.6)
159
+ if not is_small:
160
+ axis.clabel(cs, levels=contours[::2], fmt='%d', fontsize=9)
161
+ for ring in rings:
162
+ xy = np.asarray(ring); axis.plot(xy[:, 0], xy[:, 1], c='#66716b', lw=.65 if is_small else .8)
163
+ for path, color, label, style in [(o, '#182f42', 'Observed best track', '--'), (f, '#b31565', 'Trackformer 1.2 mean of 50', '-')]:
164
+ axis.plot(path[:k+2, 1], path[:k+2, 0], ls=style, c=color, lw=1.8 if is_small else 2.8, label=label)
165
+ axis.scatter(path[k+1, 1], path[k+1, 0], s=28 if is_small else 75, c=color, edgecolors='white', linewidths=1.2, zorder=6)
166
+ axis.set(xlim=extent[:2], ylim=extent[2:], xlabel='Longitude °E', ylabel='Latitude °N')
167
+ axis.set_aspect(1/np.cos(np.deg2rad((extent[2]+extent[3])/2))); axis.grid(False)
168
+ if overview_layout:
169
+ axis.set_title('Western Pacific overview' if is_small else 'Route and model-pressure close-up', loc='left', pad=12)
170
+ if is_small:
171
+ axis.tick_params(labelsize=9)
172
+ axis.set_xticks([100, 140, 180])
173
+ axis.text(0, -.24, 'Same 50-member pressure mean\nBasin + fixed regional reconstruction\nNo decorative grid / no route shift',
174
+ transform=axis.transAxes, fontsize=10, color='#47636d', va='top')
175
  ax.legend(loc='lower left', fontsize=11, framealpha=.95)
176
  ax.text(.985, .035, 'Same map / same valid time\nNo route shifting or rescaling', transform=ax.transAxes,
177
  ha='right', va='bottom', fontsize=10, bbox={'facecolor': 'white', 'alpha': .9, 'edgecolor': 'none', 'pad': 5})
178
+ bar = fig.colorbar(im, cax=fig.add_axes([.943 if overview_layout else .952, .40, .011, .40]), label='Model mean MSLP (hPa)')
179
+ bar.ax.yaxis.set_label_position('left')
180
+ curve = fig.add_subplot(gs[1, :2] if overview_layout else gs[1, 0])
181
  curve.plot(leads, a['central_pressure_hpa'], c='#b31565', lw=2, label='Model')
182
  curve.plot(leads, a['observed_pressure_hpa'], '--', c='#182f42', lw=2, label='Observed (JMA best track)')
183
  curve.axvline(lead, c='#688e98', lw=1.5)
184
  curve.scatter([lead], [a['central_pressure_hpa'][k]], c='#b31565', s=40, zorder=4)
185
  curve.set(xlim=(6, 120), xlabel='Forecast lead (hours)', ylabel='Central pressure (hPa)', xticks=[6, 24, 48, 72, 96, 120])
186
  curve.grid(alpha=.2); curve.legend(loc='lower left', fontsize=10)
187
+ info = fig.add_subplot(gs[1, 2] if overview_layout else gs[1, 1]); info.axis('off')
188
  inside = lon.min() <= f[k+1, 1] <= lon.max() and lat.min() <= f[k+1, 0] <= lat.max()
189
  coverage = 'Centre within regional field' if inside else 'Centre outside regional field\nCoarse pressure only here'
190
  info.text(0, 1, f"Position error: {a['track_error_km'][k]:.0f} km\nModel: {a['central_pressure_hpa'][k]:.1f} hPa\nObserved: {a['observed_pressure_hpa'][k]:.0f} hPa\n\n{coverage}", va='top', fontsize=12, color='#244754')
191
  valid = start+timedelta(hours=int(lead))
192
+ fig.suptitle(f"Trackformer 1.2 / {meta['storm']} / +{lead:03d} h", x=.055, y=.97, ha='left', fontsize=24, fontweight='bold', color='#173947')
193
  fig.text(.055, .918, f'Issue: {start:%d %b %Y %H:%M} UTC | Valid: {valid:%d %b %Y %H:%M} UTC | 50-member mean', fontsize=14, color='#385865')
194
  fig.text(.055, .067, 'Actual model pressure with 4 hPa isobars. Observations are verification only; selected example, not typical skill.', fontsize=11, color='#47636d')
195
+ fig.text(.055, .040, 'Regional reconstruction has no native-detail history. Outside its coverage: saved coarse basin field only.', fontsize=10, color='#47636d')
196
+ fig.text(.93, .91, 'Blue: low (L) / Red: high (H)', ha='right', fontsize=12, color='#385865')
197
  fig.savefig(work/f'frame_{k:03d}.png', dpi=100)
198
+ if k == 9: fig.savefig(REPO/f'evaluation/trackformer_1_2_{stem}_video_poster.png', dpi=100)
199
  plt.close(fig)
200
+ output = REPO/f'docs/trackformer_1_2_{stem}.mp4'
201
  subprocess.run(['ffmpeg', '-y', '-hide_banner', '-loglevel', 'warning', '-framerate', '1', '-i', str(work/'frame_%03d.png'),
202
  '-vf', 'fps=30,tpad=stop_mode=clone:stop_duration=3', '-c:v', 'h264_videotoolbox', '-b:v', '4M', '-pix_fmt', 'yuv420p', '-movflags', '+faststart', '-an', str(output)], check=True)
203
+ meta['video'] = {'file': f'docs/trackformer_1_2_{stem}.mp4', 'duration_seconds': 23, 'forecast_states': 20,
204
  'codec': 'H.264', 'encoder': 'h264_videotoolbox', 'sha256': sha(output),
205
  'playback': 'Each six-hour state held for 1 second; final frame held 3 seconds extra. No interpolated forecast states.'}
206
+ (data/f'{stem}_video.json').write_text(json.dumps(meta, indent=2)+'\n')
207
  print('Saved', output, output.stat().st_size, 'bytes', flush=True)
208
 
209
 
 
211
  p = argparse.ArgumentParser(description=__doc__)
212
  p.add_argument('--source-root', type=Path)
213
  p.add_argument('--work', type=Path, required=True)
214
+ p.add_argument('--stem', choices=['fung_wong', 'soudelor', 'mangkhut', 'meranti'], default='fung_wong')
215
+ p.add_argument('--data', type=Path, default=DATA)
216
  args = p.parse_args()
217
+ if args.source_root:
218
+ if args.stem != 'fung_wong' or args.data != DATA:
219
+ p.error('--source-root prepares only the original saved Fung-wong dataset')
220
+ prepare(args.source_root)
221
+ build(args.work, args.stem, args.data)
release_tools/forecast_historical_video50_mac.py ADDED
@@ -0,0 +1,225 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Prepare honest 50-member historical video data using the frozen 1.2 on MPS.
2
+
3
+ Reads existing verified local analyses only; no downloads or model fitting.
4
+ Future best-track coordinates/pressures are attached AFTER model inference.
5
+ Each calendar-selected example is development evidence, not a holdout test.
6
+ """
7
+ import argparse
8
+ import csv
9
+ import hashlib
10
+ import json
11
+ from datetime import timedelta
12
+ from pathlib import Path
13
+
14
+ import numpy as np
15
+ import torch
16
+
17
+ import automatic_forecasts as auto
18
+ 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'),
25
+ }
26
+ SOURCE_HASHES = {
27
+ 'track_build/basin_all_int8.npz': '71e5f1bb46c44e5936c506a3f8af021c1fe94c238ed030c05c66e8f342374b6d',
28
+ 'track_build/basin_slp_atlas_float16.npy': '9f6a4ec7b2f6beadfa1075af9176d2a653e39a824d504d989e5e56e19c571521',
29
+ 'output/automatic-forecast-cache/geography.npz': 'f5471471da4a1e15f85fbfb2529065806281357c8e50cb272fcd2b02e8553b96',
30
+ }
31
+
32
+
33
+ def sha(path):
34
+ h = hashlib.sha256()
35
+ with Path(path).open('rb') as stream:
36
+ for block in iter(lambda: stream.read(8 * 1024**2), b''):
37
+ h.update(block)
38
+ return h.hexdigest()
39
+
40
+
41
+ def exact_history_indices(times, issue):
42
+ wanted = auto.ns(issue) + np.arange(-8, 1, dtype='int64') * 6 * auto.HOUR
43
+ indices = np.searchsorted(times, wanted)
44
+ if np.any(indices >= len(times)) or not np.array_equal(times[indices], wanted):
45
+ raise ValueError('Missing exact causal six-hour analysis; no nearest-date fill')
46
+ return indices
47
+
48
+
49
+ def number(row, key):
50
+ value = row.get(key, '').strip()
51
+ return float(value) if value else None
52
+
53
+
54
+ def issue_row(rows, name, sid, issue):
55
+ now = auto.parse(issue)
56
+ stamp = now.strftime('%Y-%m-%d %H:%M:%S')
57
+ p = rows[stamp]
58
+ lat, lon = float(p['LAT']), float(p['LON'])
59
+ prior = rows.get((now-timedelta(hours=6)).strftime('%Y-%m-%d %H:%M:%S'))
60
+ motion = [0., 0.] if prior is None else [
61
+ (lon-float(prior['LON']))*111.2*np.cos(np.deg2rad(lat)),
62
+ (lat-float(prior['LAT']))*111.2]
63
+ # Construct an allowlisted input row. No future display labels are attached.
64
+ return {'name': name, 'storm_id': sid, 'issue_time_utc': issue,
65
+ 'lat': lat, 'lon': lon, 'motion': motion,
66
+ 'pressure_hpa': number(p, 'TOKYO_PRES'), 'wind_kt': number(p, 'TOKYO_WIND')}
67
+
68
+
69
+ def observations(rows, issue):
70
+ route, pressure = [], []
71
+ now = auto.parse(issue)
72
+ for k in range(21):
73
+ row = rows.get((now+timedelta(hours=k*6)).strftime('%Y-%m-%d %H:%M:%S'))
74
+ route.append([float(row['LAT']), float(row['LON'])] if row else [np.nan, np.nan])
75
+ value = number(row, 'TOKYO_PRES') if row else None
76
+ pressure.append(value if value is not None and 800 < value < 1100 else np.nan)
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', required=True)
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():
90
+ raise RuntimeError('MPS GPU required; no silent CPU fallback')
91
+ args.output.mkdir(parents=True, exist_ok=True)
92
+ contract_meta = json.loads((auto.MODEL/'manifest.json').read_text())
93
+ contract = contract_meta['data_contract']
94
+ if contract_meta['public_version'] != '1.2' or contract_meta['source_checkpoint_sha256'] != auto.CHECKPOINT:
95
+ raise ValueError('Wrong release identity')
96
+ for filename, expected in SOURCE_HASHES.items():
97
+ if sha(args.project/filename) != expected:
98
+ raise ValueError('Local analysis/geography identity mismatch: '+filename)
99
+ for name, expected in contract_meta['source_module_sha256'].items():
100
+ if sha(auto.MODEL/name) != expected:
101
+ raise ValueError('Frozen release code changed: '+name)
102
+ weights = args.project/'output/automatic-forecast-cache/weights.pt'
103
+ if sha(weights) != contract_meta['inference_weights_sha256']:
104
+ raise ValueError('Wrong frozen model weights')
105
+ with np.load(args.project/'track_build/basin_all_int8.npz', allow_pickle=False) as z:
106
+ times = z['time'].astype('int64')
107
+ scale, offset = z['scale'].copy(), z['offset'].copy()
108
+ if list(z['channels']) != contract['channels'][1:]:
109
+ raise ValueError('Channel order mismatch')
110
+ if not np.array_equal(z['lat'], contract['global_lat']) or not np.array_equal(z['lon'], contract['global_lon']):
111
+ raise ValueError('Analysis grid mismatch')
112
+ # The mmap is only a decoded-cache optimization. Compare all requested
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 args.storm:
117
+ idx = exact_history_indices(times, CASES[slug][2])
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
121
+ slp = np.load(args.project/'track_build/basin_slp_atlas_float16.npy', mmap_mode='r')
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 {CASES[s][1] for s in args.storm}]
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 args.storm:
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 = CASES[slug]
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],
150
+ np.asarray(q_mmap[idx], dtype='float32')*scale[None, :, None, None]+offset[None, :, None, None]), axis=1)
151
+ x = auto.inputs(weather, times[idx], row, contract, geo)
152
+ if not np.array_equal(x['center'][0].numpy(), np.asarray([row['lat'], row['lon']], dtype='float32')):
153
+ raise ValueError('+0 observation alignment failed')
154
+ np.savez_compressed(dest/'weather-history.npz', physical_weather=weather, time_ns=times[idx])
155
+ np.savez_compressed(dest/'model-inputs.npz', **{k: v.numpy() for k, v in x.items()}, history_time_ns=times[idx])
156
+ print(json.dumps({'storm': slug, 'starting': issue, 'device': 'mps', 'members': 50}), flush=True)
157
+ output, policy = run_ensemble(model, x, contract, 'mps', args.chunk,
158
+ lambda done, total, elapsed: print(json.dumps({'storm': slug, 'members_done': done,
159
+ 'members': total, 'elapsed_seconds': elapsed}), flush=True))
160
+ means = mean_outputs(output)
161
+ for key in ('center', 'pressure', 'basin', 'regional'):
162
+ if not np.allclose(means[key], output[key].mean(axis=0, dtype=np.float64), rtol=0, atol=1e-4):
163
+ raise ValueError('Mean aggregation failed: '+key)
164
+ np.savez_compressed(dest/'ensemble-members.npz', **output, seeds=np.asarray(policy['seeds']))
165
+ # Attach future labels only after all forecast members have finished.
166
+ obs, truth_pressure = observations(rows, issue)
167
+ origin = np.array([row['lat'], row['lon']])
168
+ anchor = np.round(origin*4)/4
169
+ lat = anchor[0]+np.linspace(15, -15, 121)
170
+ lon = anchor[1]+np.linspace(-15, 15, 121)
171
+ route = np.vstack([origin, means['center']])
172
+ errors = distances(means['center'], obs[1:])
173
+ pressure_mask = np.isfinite(truth_pressure)
174
+ npz = dest/f'{slug}_video.npz'
175
+ np.savez_compressed(npz, forecast_lat_lon=route, observed_lat_lon=obs,
176
+ central_pressure_hpa=means['pressure'], observed_pressure_hpa=truth_pressure,
177
+ regional_pressure_hpa=means['regional'], basin_pressure_hpa=means['basin'],
178
+ latitude=lat, longitude=lon, track_error_km=errors,
179
+ regional_valid_mask=(lat[:, None] >= 0)&(lat[:, None] <= 60)&(lon[None, :] >= 100)&(lon[None, :] <= 180),
180
+ valid_member_counts=output['track_valid'].sum(axis=0))
181
+ rings = [r for r in coastlines if any(100 <= p[0] <= 180 and 0 <= p[1] <= 60 for p in r)]
182
+ (dest/f'{slug}_coastlines.json').write_text(json.dumps(rings, separators=(',', ':'))+'\n')
183
+ local_source = {name: value for name, value in SOURCE_HASHES.items()}
184
+ meta = {'model': 'Trackformer 1.2', 'storm': name, 'storm_id': sid, 'issue_time_utc': issue,
185
+ 'members': 50, 'device': 'mps', 'checkpoint_sha256': auto.CHECKPOINT,
186
+ 'inference_weights_sha256': contract_meta['inference_weights_sha256'],
187
+ 'source_module_sha256': contract_meta['source_module_sha256'],
188
+ 'data_sha256': sha(npz), 'ensemble_policy': policy,
189
+ 'leads_hours': list(range(6, 121, 6)), 'display_bounds': [100, 180, 0, 60],
190
+ 'source_inputs': {'source': 'Existing exact NOAA NCEP Reanalysis-1 basin atlas; retrospective analyses.',
191
+ 'channels': contract['channels'], 'units': contract['units'],
192
+ 'analysis_times_utc': [str(np.datetime64(int(t), 'ns').astype('datetime64[s]'))+'Z' for t in times[idx]],
193
+ 'source_sha256': local_source, 'subset_sha256': sha(dest/'weather-history.npz'),
194
+ 'physical_weather_sha256': array_hash(weather),
195
+ 'normalized_input_sha256': sha(dest/'model-inputs.npz'),
196
+ 'issue_observation': row,
197
+ 'motion_note': 'Only current and exact previous six-hour observed coordinates; east/north km per six hours.',
198
+ 'causal': True, 'future_labels_used_for_inference': False},
199
+ 'observed_csv_sha256': csvhash,
200
+ 'observed_route_source': 'Exact matching-timestamp IBTrACS LAT/LON; display verification only.',
201
+ 'observed_pressure_source': 'IBTrACS TOKYO_PRES JMA best track, not JMA forecasts; missing labels remain missing.',
202
+ 'field_source': 'Equal-weight physical means of all 50 basin and fixed-issue regional fields; no directly averaged moving grids.',
203
+ 'native_history_available': False,
204
+ 'grid_note': '0.25-degree regional reconstruction sampling, not native effective resolution. Basin sampling is 2.5 degrees. Coarse basin only outside the fixed regional patch.',
205
+ 'regional_bounds': [float(lon.min()), float(lon.max()), float(lat.min()), float(lat.max())],
206
+ 'first_forecast_lead_outside_regional_hours': next((6*(i+1) for i, point in enumerate(means['center'])
207
+ if not (lon.min() <= point[1] <= lon.max() and lat.min() <= point[0] <= lat.max())), None),
208
+ 'metrics': {'mean_track_error_km': float(np.nanmean(errors)),
209
+ 'track_error_120h_km': float(errors[-1]) if np.isfinite(errors[-1]) else None,
210
+ 'central_pressure_mae_hpa': float(np.abs(means['pressure'][pressure_mask]-truth_pressure[pressure_mask]).mean()) if pressure_mask.any() else None,
211
+ 'pressure_valid_leads': int(pressure_mask.sum()), 'position_valid_leads': int(np.isfinite(errors).sum())},
212
+ 'selection': 'Calendar issue chosen before running these forecasts, without screening errors. Historical development showcase; dates may overlap checkpoint fitting/validation years. Not an untouched test or evidence of no overfitting.'}
213
+ auto.write(dest/f'{slug}_video.json', meta)
214
+ names = ['weather-history.npz', 'model-inputs.npz', 'ensemble-members.npz',
215
+ f'{slug}_video.npz', f'{slug}_video.json', f'{slug}_coastlines.json']
216
+ auto.write(dest/'verification.json', {'model': 'Trackformer 1.2', 'device': 'mps', 'members': 50,
217
+ 'distinct_inputs': len(set(policy['input_sha256'])), 'distinct_routes': len(set(policy['route_sha256'])),
218
+ 'distinct_basin_fields': len(set(policy['basin_field_sha256'])), 'route_points': 21,
219
+ 'pressure_frames': 20, 'physical_means_verified': True, 'observed_plus_zero_verified': True,
220
+ 'checkpoint_sha256': auto.CHECKPOINT, 'files_sha256': {n: sha(dest/n) for n in names}})
221
+ print(json.dumps({'complete': slug, 'output': str(dest), 'metrics': meta['metrics']}), flush=True)
222
+
223
+
224
+ if __name__ == '__main__':
225
+ main()
release_tools/test_historical_video50_mac.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import unittest
2
+ import numpy as np
3
+
4
+ import automatic_forecasts as auto
5
+ from forecast_historical_video50_mac import exact_history_indices, issue_row, observations
6
+
7
+
8
+ class HistoricalVideoInputs(unittest.TestCase):
9
+ def setUp(self):
10
+ self.issue = '2016-09-10T00:00:00Z'
11
+ self.end = auto.ns(self.issue)
12
+ self.times = self.end + np.arange(-10, 3, dtype='int64')*6*auto.HOUR
13
+ self.rows = {
14
+ '2016-09-09 18:00:00': {'LAT': '14.1', 'LON': '140.5', 'TOKYO_PRES': '1006', 'TOKYO_WIND': ''},
15
+ '2016-09-10 00:00:00': {'LAT': '14.5', 'LON': '140.0', 'TOKYO_PRES': '1004', 'TOKYO_WIND': ' '},
16
+ '2016-09-10 06:00:00': {'LAT': '14.8', 'LON': '139.0', 'TOKYO_PRES': '1000', 'TOKYO_WIND': '35'},
17
+ }
18
+
19
+ def test_exact_history_ends_at_issue(self):
20
+ indices = exact_history_indices(self.times, self.issue)
21
+ np.testing.assert_array_equal(self.times[indices], self.end+np.arange(-8, 1)*6*auto.HOUR)
22
+
23
+ def test_missing_time_cannot_use_future_or_nearest(self):
24
+ with self.assertRaises(ValueError):
25
+ exact_history_indices(np.delete(self.times, 6), self.issue)
26
+
27
+ def test_future_labels_do_not_change_inputs(self):
28
+ initial = issue_row(self.rows, 'MERANTI', 'test', self.issue)
29
+ self.rows['2016-09-10 06:00:00'].update(LAT='50', LON='179', TOKYO_PRES='850')
30
+ self.assertEqual(initial, issue_row(self.rows, 'MERANTI', 'test', self.issue))
31
+ self.assertNotIn('observed', initial)
32
+
33
+ def test_missing_wind_remains_missing(self):
34
+ self.assertIsNone(issue_row(self.rows, 'MERANTI', 'test', self.issue)['wind_kt'])
35
+
36
+ def test_observations_are_exact_and_missing_stays_missing(self):
37
+ route, pressure = observations(self.rows, self.issue)
38
+ np.testing.assert_allclose(route[0], [14.5, 140.0])
39
+ self.assertEqual(pressure[0], 1000)
40
+ self.assertTrue(np.isnan(route[2:]).all())
41
+ self.assertTrue(np.isnan(pressure[1:]).all())
42
+
43
+
44
+ if __name__ == '__main__':
45
+ unittest.main()
release_tools/verify_historical_video50.py ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Check video identity, actual distinct member means, causal inputs and +0."""
2
+ import argparse
3
+ import json
4
+ import subprocess
5
+ from pathlib import Path
6
+
7
+ import numpy as np
8
+
9
+ import automatic_forecasts as auto
10
+ from ensemble_forecast import array_hash
11
+ from forecast_historical_video50_mac import CASES, sha
12
+
13
+
14
+ def verify(forecasts, repo):
15
+ report = {}
16
+ for slug, (name, sid, issue) in CASES.items():
17
+ saved = forecasts/slug
18
+ data = repo/'evaluation/release_data'
19
+ meta = json.loads((data/f'{slug}_video.json').read_text())
20
+ original = json.loads((saved/'verification.json').read_text())
21
+ for filename, expected in original['files_sha256'].items():
22
+ if sha(saved/filename) != expected:
23
+ raise ValueError('Original inference artifact changed: '+filename)
24
+ assert meta['checkpoint_sha256'] == auto.CHECKPOINT
25
+ assert (meta['storm'], meta['storm_id'], meta['issue_time_utc']) == (name, sid, issue)
26
+ assert meta['members'] == 50 and meta['leads_hours'] == list(range(6, 121, 6))
27
+ assert sha(data/f'{slug}_video.npz') == meta['data_sha256']
28
+ with np.load(saved/'model-inputs.npz', allow_pickle=False) as x:
29
+ np.testing.assert_array_equal(x['history_time_ns'], auto.ns(issue)+np.arange(-8, 1)*6*auto.HOUR)
30
+ assert not x['detail_available'].any()
31
+ origin = x['center'][0].copy()
32
+ counts, deltas = {}, {}
33
+ with np.load(saved/'ensemble-members.npz', allow_pickle=False) as members, np.load(data/f'{slug}_video.npz', allow_pickle=False) as mean:
34
+ np.testing.assert_array_equal(members['seeds'], np.arange(2043, 2093))
35
+ np.testing.assert_allclose(mean['forecast_lat_lon'][0], origin, atol=1e-5)
36
+ np.testing.assert_allclose(mean['observed_lat_lon'][0], origin, atol=1e-5)
37
+ for raw_key, mean_key in [('center', 'forecast_lat_lon'), ('pressure', 'central_pressure_hpa'),
38
+ ('basin', 'basin_pressure_hpa'), ('regional', 'regional_pressure_hpa')]:
39
+ raw = members[raw_key]
40
+ assert raw.shape[0] == 50 and raw.shape[1] == 20 and np.isfinite(raw).all()
41
+ if raw_key != 'center':
42
+ assert raw.min() >= 800 and raw.max() <= 1100
43
+ actual = mean[mean_key][1:] if raw_key == 'center' else mean[mean_key]
44
+ expected = raw.mean(axis=0, dtype=np.float64).astype('float32')
45
+ np.testing.assert_array_equal(actual, expected)
46
+ counts[raw_key] = len({array_hash(v) for v in raw})
47
+ assert counts[raw_key] == 50
48
+ deltas[raw_key] = float(np.max(np.abs(actual-expected)))
49
+ movie = repo/meta['video']['file']
50
+ if sha(movie) != meta['video']['sha256']:
51
+ raise ValueError('Video file SHA mismatch')
52
+ probe = json.loads(subprocess.check_output(['ffprobe', '-v', 'error', '-select_streams', 'v:0',
53
+ '-show_entries', 'stream=codec_name,width,height,nb_frames:format=duration', '-of', 'json', str(movie)]))
54
+ stream = probe['streams'][0]
55
+ assert (stream['codec_name'], stream['width'], stream['height'], int(stream['nb_frames'])) == ('h264', 1600, 1000, 690)
56
+ assert abs(float(probe['format']['duration'])-23) < .1
57
+ report[slug] = {'storm_id': sid, 'issue_time_utc': issue, 'model': 'Trackformer 1.2',
58
+ 'checkpoint_sha256': meta['checkpoint_sha256'], 'members': 50,
59
+ 'distinct_inputs': len(set(meta['ensemble_policy']['input_sha256'])),
60
+ 'distinct_member_outputs': counts, 'max_mean_difference': deltas,
61
+ 'causal_nine_analyses_verified': True, 'observed_plus_zero_alignment_verified': True,
62
+ 'future_observations_not_in_model_packet': True, 'masked_native_history_verified': True,
63
+ 'native_history_available': False, 'route_points': 21, 'pressure_states': 20,
64
+ 'mp4_duration_seconds': float(probe['format']['duration']), 'mp4_dimensions': [1600, 1000],
65
+ 'files_sha256': {'mean_fields': meta['data_sha256'], 'mp4': meta['video']['sha256'],
66
+ 'individual_members': sha(saved/'ensemble-members.npz'), 'model_inputs': sha(saved/'model-inputs.npz')},
67
+ 'evaluation_limit': 'Calendar-selected historical development examples, not untouched holdouts.'}
68
+ assert report[slug]['distinct_inputs'] == 50
69
+ return report
70
+
71
+
72
+ if __name__ == '__main__':
73
+ ap = argparse.ArgumentParser(description=__doc__)
74
+ ap.add_argument('--forecasts', type=Path, required=True)
75
+ ap.add_argument('--repo', type=Path, default=Path(__file__).resolve().parents[1])
76
+ ap.add_argument('--receipt', type=Path, required=True)
77
+ args = ap.parse_args()
78
+ if not str(args.receipt.resolve()).startswith('/Volumes/D/'):
79
+ raise ValueError('Verification receipt must stay on /Volumes/D')
80
+ report = verify(args.forecasts, args.repo)
81
+ auto.write(args.receipt, {'verified': True, 'storms': report})
82
+ print(json.dumps({'verified': list(report), 'members_per_storm': 50, 'mean_differences': 0,
83
+ 'receipt': str(args.receipt)}))