@aguacerowx/react-native 0.0.53 → 0.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/LICENSE +21 -0
  2. package/android/src/main/java/com/aguacerowx/reactnative/NexradRadarLayerView.java +14 -2
  3. package/android/src/main/java/com/aguacerowx/reactnative/WeatherFrameProcessorModule.java +77 -0
  4. package/index.js +1 -1
  5. package/ios/WeatherFrameProcessorModule.m +19 -15
  6. package/ios/WeatherFrameProcessorModule.swift +65 -0
  7. package/lib/commonjs/AguaceroContext.js +0 -4
  8. package/lib/commonjs/AguaceroContext.js.map +1 -1
  9. package/lib/commonjs/GridRenderLayer.js +62 -76
  10. package/lib/commonjs/GridRenderLayer.js.map +1 -1
  11. package/lib/commonjs/MapManager.js +110 -224
  12. package/lib/commonjs/MapManager.js.map +1 -1
  13. package/lib/commonjs/MapRegistry.js +21 -33
  14. package/lib/commonjs/MapRegistry.js.map +1 -1
  15. package/lib/commonjs/NexradRadarLayer.android.js +28 -100
  16. package/lib/commonjs/NexradRadarLayer.android.js.map +1 -1
  17. package/lib/commonjs/NexradRadarLayer.ios.js +26 -97
  18. package/lib/commonjs/NexradRadarLayer.ios.js.map +1 -1
  19. package/lib/commonjs/NexradSitesMapLayer.js +41 -61
  20. package/lib/commonjs/NexradSitesMapLayer.js.map +1 -1
  21. package/lib/commonjs/SatelliteLayer.android.js +26 -38
  22. package/lib/commonjs/SatelliteLayer.android.js.map +1 -1
  23. package/lib/commonjs/SatelliteLayer.ios.js +30 -42
  24. package/lib/commonjs/SatelliteLayer.ios.js.map +1 -1
  25. package/lib/commonjs/StyleApplicator.js +129 -175
  26. package/lib/commonjs/StyleApplicator.js.map +1 -1
  27. package/lib/commonjs/WeatherLayerManager.js +995 -1646
  28. package/lib/commonjs/WeatherLayerManager.js.map +1 -1
  29. package/lib/commonjs/aguaceroCoreDebugHooks.js +58 -130
  30. package/lib/commonjs/aguaceroCoreDebugHooks.js.map +1 -1
  31. package/lib/commonjs/aguaceroRnDebug.js +147 -288
  32. package/lib/commonjs/aguaceroRnDebug.js.map +1 -1
  33. package/lib/commonjs/cdnAuthenticatedFetch.js +104 -0
  34. package/lib/commonjs/cdnAuthenticatedFetch.js.map +1 -0
  35. package/lib/commonjs/dispatchViewManagerCommandCompat.js +51 -88
  36. package/lib/commonjs/dispatchViewManagerCommandCompat.js.map +1 -1
  37. package/lib/commonjs/gridCdnAuth.js +41 -50
  38. package/lib/commonjs/gridCdnAuth.js.map +1 -1
  39. package/lib/commonjs/index.js +14 -0
  40. package/lib/commonjs/index.js.map +1 -1
  41. package/lib/commonjs/nexrad/nexradAndroidController.js +851 -863
  42. package/lib/commonjs/nexrad/nexradAndroidController.js.map +1 -1
  43. package/lib/commonjs/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js +62 -85
  44. package/lib/commonjs/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js.map +1 -1
  45. package/lib/commonjs/nexrad/nexradDiag.js +32 -148
  46. package/lib/commonjs/nexrad/nexradDiag.js.map +1 -1
  47. package/lib/commonjs/nexrad/nexradLevel2Keys.js +261 -0
  48. package/lib/commonjs/nexrad/nexradLevel2Keys.js.map +1 -0
  49. package/lib/commonjs/nexrad/nexradLutBuild.js +64 -111
  50. package/lib/commonjs/nexrad/nexradLutBuild.js.map +1 -1
  51. package/lib/commonjs/nexrad/nexradMapboxFrameOpts.bundled.js +136 -164
  52. package/lib/commonjs/nexrad/nexradMapboxFrameOpts.bundled.js.map +1 -1
  53. package/lib/commonjs/nexrad/nexradSdkImports.js +51 -0
  54. package/lib/commonjs/nexrad/nexradSdkImports.js.map +1 -0
  55. package/lib/commonjs/nexrad/radarArchiveCore.bundled.js +2848 -4455
  56. package/lib/commonjs/nexrad/radarArchiveCore.bundled.js.map +1 -1
  57. package/lib/commonjs/nexrad/radarDecode.worker.bundled.js +445 -648
  58. package/lib/commonjs/nexrad/radarDecode.worker.bundled.js.map +1 -1
  59. package/lib/commonjs/nexrad/radarFrameGpuMatch.bundled.js +52 -68
  60. package/lib/commonjs/nexrad/radarFrameGpuMatch.bundled.js.map +1 -1
  61. package/lib/commonjs/nexradNativeCommandIds.js +24 -0
  62. package/lib/commonjs/nexradNativeCommandIds.js.map +1 -0
  63. package/lib/commonjs/nws/NwsAlertsOverlay.android.js.map +1 -1
  64. package/lib/commonjs/nws/NwsAlertsOverlay.ios.js.map +1 -1
  65. package/lib/commonjs/nws/NwsAlertsOverlay.js +3 -3
  66. package/lib/commonjs/nws/NwsAlertsOverlay.js.map +1 -1
  67. package/lib/commonjs/nws/NwsAlertsOverlay.native.js +235 -361
  68. package/lib/commonjs/nws/NwsAlertsOverlay.native.js.map +1 -1
  69. package/lib/commonjs/nws/eventSourceRnPolyfill.js +92 -146
  70. package/lib/commonjs/nws/eventSourceRnPolyfill.js.map +1 -1
  71. package/lib/commonjs/nws/nwsAndroidConstants.js +2 -8
  72. package/lib/commonjs/nws/nwsAndroidConstants.js.map +1 -1
  73. package/lib/commonjs/satellite/satelliteAndroidController.js +117 -202
  74. package/lib/commonjs/satellite/satelliteAndroidController.js.map +1 -1
  75. package/lib/commonjs/satelliteBridgeDiag.js +3 -13
  76. package/lib/commonjs/satelliteBridgeDiag.js.map +1 -1
  77. package/lib/commonjs/satelliteRnDebug.js +117 -218
  78. package/lib/commonjs/satelliteRnDebug.js.map +1 -1
  79. package/lib/module/AguaceroContext.js +2 -7
  80. package/lib/module/AguaceroContext.js.map +1 -1
  81. package/lib/module/GridRenderLayer.js +66 -80
  82. package/lib/module/GridRenderLayer.js.map +1 -1
  83. package/lib/module/MapManager.js +125 -239
  84. package/lib/module/MapManager.js.map +1 -1
  85. package/lib/module/MapRegistry.js +21 -33
  86. package/lib/module/MapRegistry.js.map +1 -1
  87. package/lib/module/NexradRadarLayer.android.js +32 -104
  88. package/lib/module/NexradRadarLayer.android.js.map +1 -1
  89. package/lib/module/NexradRadarLayer.ios.js +30 -101
  90. package/lib/module/NexradRadarLayer.ios.js.map +1 -1
  91. package/lib/module/NexradSitesMapLayer.js +44 -63
  92. package/lib/module/NexradSitesMapLayer.js.map +1 -1
  93. package/lib/module/SatelliteLayer.android.js +32 -44
  94. package/lib/module/SatelliteLayer.android.js.map +1 -1
  95. package/lib/module/SatelliteLayer.ios.js +36 -48
  96. package/lib/module/SatelliteLayer.ios.js.map +1 -1
  97. package/lib/module/StyleApplicator.js +144 -191
  98. package/lib/module/StyleApplicator.js.map +1 -1
  99. package/lib/module/WeatherLayerManager.js +1024 -1675
  100. package/lib/module/WeatherLayerManager.js.map +1 -1
  101. package/lib/module/aguaceroCoreDebugHooks.js +59 -130
  102. package/lib/module/aguaceroCoreDebugHooks.js.map +1 -1
  103. package/lib/module/aguaceroRnDebug.js +151 -292
  104. package/lib/module/aguaceroRnDebug.js.map +1 -1
  105. package/lib/module/cdnAuthenticatedFetch.js +97 -0
  106. package/lib/module/cdnAuthenticatedFetch.js.map +1 -0
  107. package/lib/module/dispatchViewManagerCommandCompat.js +52 -90
  108. package/lib/module/dispatchViewManagerCommandCompat.js.map +1 -1
  109. package/lib/module/gridCdnAuth.js +38 -50
  110. package/lib/module/gridCdnAuth.js.map +1 -1
  111. package/lib/module/index.js +9 -7
  112. package/lib/module/index.js.map +1 -1
  113. package/lib/module/nexrad/nexradAndroidController.js +865 -876
  114. package/lib/module/nexrad/nexradAndroidController.js.map +1 -1
  115. package/lib/module/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js +62 -85
  116. package/lib/module/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js.map +1 -1
  117. package/lib/module/nexrad/nexradDiag.js +31 -145
  118. package/lib/module/nexrad/nexradDiag.js.map +1 -1
  119. package/lib/module/nexrad/nexradLevel2Keys.js +245 -0
  120. package/lib/module/nexrad/nexradLevel2Keys.js.map +1 -0
  121. package/lib/module/nexrad/nexradLutBuild.js +64 -110
  122. package/lib/module/nexrad/nexradLutBuild.js.map +1 -1
  123. package/lib/module/nexrad/nexradMapboxFrameOpts.bundled.js +136 -163
  124. package/lib/module/nexrad/nexradMapboxFrameOpts.bundled.js.map +1 -1
  125. package/lib/module/nexrad/nexradSdkImports.js +4 -0
  126. package/lib/module/nexrad/nexradSdkImports.js.map +1 -0
  127. package/lib/module/nexrad/radarArchiveCore.bundled.js +2839 -4448
  128. package/lib/module/nexrad/radarArchiveCore.bundled.js.map +1 -1
  129. package/lib/module/nexrad/radarDecode.worker.bundled.js +445 -648
  130. package/lib/module/nexrad/radarDecode.worker.bundled.js.map +1 -1
  131. package/lib/module/nexrad/radarFrameGpuMatch.bundled.js +50 -66
  132. package/lib/module/nexrad/radarFrameGpuMatch.bundled.js.map +1 -1
  133. package/lib/module/nexradNativeCommandIds.js +18 -0
  134. package/lib/module/nexradNativeCommandIds.js.map +1 -0
  135. package/lib/module/nws/NwsAlertsOverlay.android.js +1 -1
  136. package/lib/module/nws/NwsAlertsOverlay.android.js.map +1 -1
  137. package/lib/module/nws/NwsAlertsOverlay.ios.js +1 -1
  138. package/lib/module/nws/NwsAlertsOverlay.ios.js.map +1 -1
  139. package/lib/module/nws/NwsAlertsOverlay.js +5 -5
  140. package/lib/module/nws/NwsAlertsOverlay.js.map +1 -1
  141. package/lib/module/nws/NwsAlertsOverlay.native.js +248 -373
  142. package/lib/module/nws/NwsAlertsOverlay.native.js.map +1 -1
  143. package/lib/module/nws/eventSourceRnPolyfill.js +92 -146
  144. package/lib/module/nws/eventSourceRnPolyfill.js.map +1 -1
  145. package/lib/module/nws/nwsAndroidConstants.js +2 -8
  146. package/lib/module/nws/nwsAndroidConstants.js.map +1 -1
  147. package/lib/module/satellite/satelliteAndroidController.js +123 -208
  148. package/lib/module/satellite/satelliteAndroidController.js.map +1 -1
  149. package/lib/module/satelliteBridgeDiag.js +3 -13
  150. package/lib/module/satelliteBridgeDiag.js.map +1 -1
  151. package/lib/module/satelliteRnDebug.js +123 -223
  152. package/lib/module/satelliteRnDebug.js.map +1 -1
  153. package/lib/typescript/AguaceroContext.d.ts +0 -4
  154. package/lib/typescript/AguaceroContext.d.ts.map +1 -1
  155. package/lib/typescript/GridRenderLayer.d.ts.map +1 -1
  156. package/lib/typescript/MapManager.d.ts +0 -12
  157. package/lib/typescript/MapManager.d.ts.map +1 -1
  158. package/lib/typescript/MapRegistry.d.ts +10 -12
  159. package/lib/typescript/MapRegistry.d.ts.map +1 -1
  160. package/lib/typescript/NexradRadarLayer.android.d.ts.map +1 -1
  161. package/lib/typescript/NexradRadarLayer.ios.d.ts.map +1 -1
  162. package/lib/typescript/NexradSitesMapLayer.d.ts +4 -10
  163. package/lib/typescript/NexradSitesMapLayer.d.ts.map +1 -1
  164. package/lib/typescript/SatelliteLayer.android.d.ts.map +1 -1
  165. package/lib/typescript/SatelliteLayer.ios.d.ts.map +1 -1
  166. package/lib/typescript/StyleApplicator.d.ts +1 -1
  167. package/lib/typescript/StyleApplicator.d.ts.map +1 -1
  168. package/lib/typescript/WeatherLayerManager.d.ts.map +1 -1
  169. package/lib/typescript/aguaceroCoreDebugHooks.d.ts +2 -9
  170. package/lib/typescript/aguaceroCoreDebugHooks.d.ts.map +1 -1
  171. package/lib/typescript/aguaceroRnDebug.d.ts +47 -66
  172. package/lib/typescript/aguaceroRnDebug.d.ts.map +1 -1
  173. package/lib/typescript/cdnAuthenticatedFetch.d.ts +10 -0
  174. package/lib/typescript/cdnAuthenticatedFetch.d.ts.map +1 -0
  175. package/lib/typescript/dispatchViewManagerCommandCompat.d.ts +1 -17
  176. package/lib/typescript/dispatchViewManagerCommandCompat.d.ts.map +1 -1
  177. package/lib/typescript/gridCdnAuth.d.ts +16 -21
  178. package/lib/typescript/gridCdnAuth.d.ts.map +1 -1
  179. package/lib/typescript/index.d.ts +1 -0
  180. package/lib/typescript/nexrad/nexradAndroidController.d.ts +39 -89
  181. package/lib/typescript/nexrad/nexradAndroidController.d.ts.map +1 -1
  182. package/lib/typescript/nexrad/nexradCrossSectionSampleAtLatLon.bundled.d.ts +2 -1
  183. package/lib/typescript/nexrad/nexradCrossSectionSampleAtLatLon.bundled.d.ts.map +1 -1
  184. package/lib/typescript/nexrad/nexradDiag.d.ts +13 -101
  185. package/lib/typescript/nexrad/nexradDiag.d.ts.map +1 -1
  186. package/lib/typescript/nexrad/nexradLevel2Keys.d.ts +36 -0
  187. package/lib/typescript/nexrad/nexradLevel2Keys.d.ts.map +1 -0
  188. package/lib/typescript/nexrad/nexradLutBuild.d.ts +3 -10
  189. package/lib/typescript/nexrad/nexradLutBuild.d.ts.map +1 -1
  190. package/lib/typescript/nexrad/nexradMapboxFrameOpts.bundled.d.ts +4 -3
  191. package/lib/typescript/nexrad/nexradMapboxFrameOpts.bundled.d.ts.map +1 -1
  192. package/lib/typescript/nexrad/nexradSdkImports.d.ts +2 -0
  193. package/lib/typescript/nexrad/nexradSdkImports.d.ts.map +1 -0
  194. package/lib/typescript/nexrad/radarArchiveCore.bundled.d.ts +12 -7
  195. package/lib/typescript/nexrad/radarArchiveCore.bundled.d.ts.map +1 -1
  196. package/lib/typescript/nexrad/radarDecode.worker.bundled.d.ts +20 -20
  197. package/lib/typescript/nexrad/radarDecode.worker.bundled.d.ts.map +1 -1
  198. package/lib/typescript/nexrad/radarFrameGpuMatch.bundled.d.ts +4 -3
  199. package/lib/typescript/nexrad/radarFrameGpuMatch.bundled.d.ts.map +1 -1
  200. package/lib/typescript/nexradNativeCommandIds.d.ts +2 -0
  201. package/lib/typescript/nexradNativeCommandIds.d.ts.map +1 -0
  202. package/lib/typescript/nws/NwsAlertsOverlay.native.d.ts +6 -17
  203. package/lib/typescript/nws/NwsAlertsOverlay.native.d.ts.map +1 -1
  204. package/lib/typescript/nws/eventSourceRnPolyfill.d.ts +0 -3
  205. package/lib/typescript/nws/eventSourceRnPolyfill.d.ts.map +1 -1
  206. package/lib/typescript/nws/nwsAndroidConstants.d.ts +0 -5
  207. package/lib/typescript/nws/nwsAndroidConstants.d.ts.map +1 -1
  208. package/lib/typescript/satellite/satelliteAndroidController.d.ts +9 -47
  209. package/lib/typescript/satellite/satelliteAndroidController.d.ts.map +1 -1
  210. package/lib/typescript/satelliteBridgeDiag.d.ts +1 -5
  211. package/lib/typescript/satelliteBridgeDiag.d.ts.map +1 -1
  212. package/lib/typescript/satelliteRnDebug.d.ts +24 -30
  213. package/lib/typescript/satelliteRnDebug.d.ts.map +1 -1
  214. package/package.json +75 -74
  215. package/src/AguaceroContext.js +1 -7
  216. package/src/GridRenderLayer.js +1 -128
  217. package/src/MapManager.js +1 -277
  218. package/src/MapRegistry.js +1 -56
  219. package/src/NexradRadarLayer.android.js +1 -121
  220. package/src/NexradRadarLayer.ios.js +1 -115
  221. package/src/NexradSitesMapLayer.js +1 -75
  222. package/src/SatelliteLayer.android.js +1 -63
  223. package/src/SatelliteLayer.ios.js +1 -70
  224. package/src/StyleApplicator.js +1 -241
  225. package/src/WeatherLayerManager.js +1 -2045
  226. package/src/aguaceroCoreDebugHooks.js +1 -142
  227. package/src/aguaceroRnDebug.js +1 -336
  228. package/src/cdnAuthenticatedFetch.js +1 -0
  229. package/src/dispatchViewManagerCommandCompat.js +1 -100
  230. package/src/gridCdnAuth.js +1 -56
  231. package/src/index.js +1 -27
  232. package/src/nexrad/nexradAndroidController.js +1 -1078
  233. package/src/nexrad/nexradCrossSectionSampleAtLatLon.bundled.js +1 -91
  234. package/src/nexrad/nexradDiag.js +1 -150
  235. package/src/nexrad/nexradLevel2Keys.js +1 -0
  236. package/src/nexrad/nexradLutBuild.js +1 -126
  237. package/src/nexrad/nexradMapboxFrameOpts.bundled.js +1 -245
  238. package/src/nexrad/nexradSdkImports.js +1 -0
  239. package/src/nexrad/radarArchiveCore.bundled.js +1 -7085
  240. package/src/nexrad/radarDecode.worker.bundled.js +1 -813
  241. package/src/nexrad/radarFrameGpuMatch.bundled.js +1 -79
  242. package/src/nexradNativeCommandIds.js +1 -0
  243. package/src/nws/NwsAlertsOverlay.android.js +1 -1
  244. package/src/nws/NwsAlertsOverlay.ios.js +1 -1
  245. package/src/nws/NwsAlertsOverlay.js +1 -7
  246. package/src/nws/NwsAlertsOverlay.native.js +1 -463
  247. package/src/nws/eventSourceRnPolyfill.js +7 -193
  248. package/src/nws/nwsAndroidConstants.js +1 -8
  249. package/src/satellite/satelliteAndroidController.js +1 -257
  250. package/src/satelliteBridgeDiag.js +1 -15
  251. package/src/satelliteRnDebug.js +1 -269
  252. package/lib/commonjs/nexrad/nexradNativeCommandIds.js +0 -51
  253. package/lib/commonjs/nexrad/nexradNativeCommandIds.js.map +0 -1
  254. package/lib/module/nexrad/nexradNativeCommandIds.js +0 -44
  255. package/lib/module/nexrad/nexradNativeCommandIds.js.map +0 -1
  256. package/lib/typescript/nexrad/nexradNativeCommandIds.d.ts +0 -9
  257. package/lib/typescript/nexrad/nexradNativeCommandIds.d.ts.map +0 -1
  258. package/src/nexrad/nexradNativeCommandIds.js +0 -44
  259. /package/lib/commonjs/{nexrad/nexradSitesUs.json → nexradSitesUs.json} +0 -0
  260. /package/lib/module/{nexrad/nexradSitesUs.json → nexradSitesUs.json} +0 -0
  261. /package/src/{nexrad/nexradSitesUs.json → nexradSitesUs.json} +0 -0
@@ -4,129 +4,82 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.buildNexradLutRgba = buildNexradLutRgba;
7
- var _javascriptSdk = require("@aguacerowx/javascript-sdk");
8
- /**
9
- * NEXRAD 256×1 RGBA LUT — same rules as mapsgl {@code MapboxRadarLayer.buildLutTextureData}.
10
- */
11
-
12
- const LUT_SIZE = 256;
13
- function getRefc0DefaultColormap() {
14
- const cm = _javascriptSdk.DEFAULT_COLORMAPS?.refc_0?.units?.dBZ?.colormap;
15
- return Array.isArray(cm) && cm.length >= 2 ? cm : null;
7
+ const M = 256;
8
+ function h(t) {
9
+ const o = String(t || "").trim(),
10
+ u = /^#?([0-9a-f]{6,8})$/i.exec(o);
11
+ if (!u) return [0, 0, 0, 255];
12
+ const n = u[1];
13
+ return n.length === 8 ? [parseInt(n.slice(0, 2), 16), parseInt(n.slice(2, 4), 16), parseInt(n.slice(4, 6), 16), parseInt(n.slice(6, 8), 16)] : [parseInt(n.slice(0, 2), 16), parseInt(n.slice(2, 4), 16), parseInt(n.slice(4, 6), 16), 255];
16
14
  }
17
- function parseHex(hex) {
18
- const m = String(hex ?? '').match(/^#?([a-fA-F0-9]{8}|[a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/);
19
- if (!m) return [0, 0, 0, 255];
20
- const s = m[1];
21
- let r = 0;
22
- let g = 0;
23
- let b = 0;
24
- let a = 255;
25
- if (s.length === 8) {
26
- r = parseInt(s.slice(0, 2), 16);
27
- g = parseInt(s.slice(2, 4), 16);
28
- b = parseInt(s.slice(4, 6), 16);
29
- a = parseInt(s.slice(6, 8), 16);
30
- } else if (s.length === 6) {
31
- r = parseInt(s.slice(0, 2), 16);
32
- g = parseInt(s.slice(2, 4), 16);
33
- b = parseInt(s.slice(4, 6), 16);
34
- } else {
35
- r = parseInt(s[0] + s[0], 16);
36
- g = parseInt(s[1] + s[1], 16);
37
- b = parseInt(s[2] + s[2], 16);
15
+ function g(t) {
16
+ const o = [];
17
+ if (!t || t.length < 2) return o;
18
+ for (let u = 0; u < t.length - 1; u += 2) {
19
+ const n = Number(t[u]),
20
+ r = t[u + 1];
21
+ if (!Number.isFinite(n) || r == null) continue;
22
+ const [e, l, c, i] = h(r);
23
+ o.push({
24
+ value: n,
25
+ color: [e, l, c, i]
26
+ });
38
27
  }
39
- return [r, g, b, a];
28
+ return o;
40
29
  }
41
- function shouldUseDiscreteIntegerLut(stops, lutValueMin, lutValueMax, interpolateColormap) {
42
- if (interpolateColormap || stops.length < 2) return false;
43
- const lo = lutValueMin;
44
- const hi = lutValueMax;
45
- if (!Number.isFinite(lo) || !Number.isFinite(hi)) return false;
46
- const nExp = Math.round(hi - lo + 1);
47
- if (stops.length !== nExp) return false;
48
- if (Math.abs(Math.round(lo) - lo) > 1e-3 || Math.abs(Math.round(hi) - hi) > 1e-3) return false;
49
- for (let i = 0; i < stops.length; i++) {
50
- if (Math.abs(stops[i].value - (lo + i)) > 1e-3) return false;
51
- }
52
- return true;
30
+ function b(t, o, u, n) {
31
+ if (n || t.length < 2) return !1;
32
+ const r = o,
33
+ e = u;
34
+ if (!Number.isFinite(r) || !Number.isFinite(e)) return !1;
35
+ const l = Math.round(e - r + 1);
36
+ if (t.length !== l || Math.abs(Math.round(r) - r) > .001 || Math.abs(Math.round(e) - e) > .001) return !1;
37
+ for (let c = 0; c < t.length; c++) if (Math.abs(t[c].value - (r + c)) > .001) return !1;
38
+ return !0;
53
39
  }
54
- function sampleStops(stops, value, interpolate) {
55
- if (value <= stops[0].value) return stops[0].color;
56
- if (value >= stops[stops.length - 1].value) return stops[stops.length - 1].color;
57
- for (let i = 1; i < stops.length; i++) {
58
- if (interpolate) {
59
- if (value <= stops[i].value) {
60
- const low = stops[i - 1];
61
- const high = stops[i];
62
- const t = (value - low.value) / Math.max(high.value - low.value, 1e-5);
63
- return [Math.round(low.color[0] + (high.color[0] - low.color[0]) * t), Math.round(low.color[1] + (high.color[1] - low.color[1]) * t), Math.round(low.color[2] + (high.color[2] - low.color[2]) * t), Math.round(low.color[3] + (high.color[3] - low.color[3]) * t)];
64
- }
65
- } else if (value < stops[i].value) {
66
- return stops[i - 1].color;
40
+ function d(t, o, u) {
41
+ if (o <= t[0].value) return t[0].color;
42
+ if (o >= t[t.length - 1].value) return t[t.length - 1].color;
43
+ for (let n = 1; n < t.length; n++) if (u) {
44
+ if (o <= t[n].value) {
45
+ const r = t[n - 1],
46
+ e = t[n],
47
+ l = (o - r.value) / Math.max(e.value - r.value, 1e-5);
48
+ return [Math.round(r.color[0] + (e.color[0] - r.color[0]) * l), Math.round(r.color[1] + (e.color[1] - r.color[1]) * l), Math.round(r.color[2] + (e.color[2] - r.color[2]) * l), Math.round(r.color[3] + (e.color[3] - r.color[3]) * l)];
67
49
  }
68
- }
69
- return stops[stops.length - 1].color;
50
+ } else if (o < t[n].value) return t[n - 1].color;
51
+ return t[t.length - 1].color;
70
52
  }
71
-
72
- /**
73
- * @param {number[]|null|undefined} colormapFlat - [v0,c0,v1,c1,...]
74
- * @param {number} lutValueMin
75
- * @param {number} lutValueMax
76
- * @param {boolean} interpolateColormap
77
- * @returns {{ bytes: Uint8Array, discreteIntegerLut: number }}
78
- */
79
- function buildNexradLutRgba(colormapFlat, lutValueMin, lutValueMax, interpolateColormap) {
80
- const cm = Array.isArray(colormapFlat) && colormapFlat.length >= 2 ? colormapFlat : getRefc0DefaultColormap();
81
- const stops = [];
82
- if (cm && cm.length >= 2) {
83
- for (let i = 0; i < cm.length; i += 2) {
84
- const value = Number(cm[i]);
85
- const hex = String(cm[i + 1] ?? '');
86
- const [r, g, b, a] = parseHex(hex);
87
- stops.push({
88
- value,
89
- color: [r, g, b, a]
90
- });
91
- }
92
- }
93
- const out = new Uint8Array(LUT_SIZE * 4);
94
- if (stops.length === 0) {
95
- return {
96
- bytes: out,
97
- discreteIntegerLut: 0
98
- };
99
- }
100
- const discrete = shouldUseDiscreteIntegerLut(stops, lutValueMin, lutValueMax, interpolateColormap) ? 1 : 0;
101
- if (discrete) {
102
- const n = stops.length;
103
- for (let i = 0; i < LUT_SIZE; i++) {
104
- const u = (i + 0.5) / LUT_SIZE;
105
- const bin = Math.min(Math.floor(u * n), n - 1);
106
- const c = stops[bin].color;
107
- const idx = i * 4;
108
- out[idx] = c[0];
109
- out[idx + 1] = c[1];
110
- out[idx + 2] = c[2];
111
- out[idx + 3] = c[3];
53
+ function buildNexradLutRgba(t, o, u, n) {
54
+ const r = g(t),
55
+ e = new Uint8Array(256 * 4);
56
+ if (r.length === 0) return {
57
+ bytes: e,
58
+ discreteIntegerLut: !1
59
+ };
60
+ if (b(r, o, u, n)) {
61
+ const l = r.length;
62
+ for (let c = 0; c < 256; c++) {
63
+ const i = (c + .5) / 256,
64
+ s = Math.min(Math.floor(i * l), l - 1),
65
+ a = r[s].color,
66
+ f = c * 4;
67
+ e[f] = a[0], e[f + 1] = a[1], e[f + 2] = a[2], e[f + 3] = a[3];
112
68
  }
113
69
  return {
114
- bytes: out,
115
- discreteIntegerLut: 1
70
+ bytes: e,
71
+ discreteIntegerLut: !0
116
72
  };
117
73
  }
118
- for (let i = 0; i < LUT_SIZE; i++) {
119
- const value = lutValueMin + i / (LUT_SIZE - 1) * (lutValueMax - lutValueMin);
120
- const color = sampleStops(stops, value, interpolateColormap);
121
- const idx = i * 4;
122
- out[idx] = color[0];
123
- out[idx + 1] = color[1];
124
- out[idx + 2] = color[2];
125
- out[idx + 3] = color[3];
74
+ for (let l = 0; l < 256; l++) {
75
+ const c = o + l / 255 * (u - o),
76
+ i = d(r, c, n),
77
+ s = l * 4;
78
+ e[s] = i[0], e[s + 1] = i[1], e[s + 2] = i[2], e[s + 3] = i[3];
126
79
  }
127
80
  return {
128
- bytes: out,
129
- discreteIntegerLut: 0
81
+ bytes: e,
82
+ discreteIntegerLut: !1
130
83
  };
131
84
  }
132
85
  //# sourceMappingURL=nexradLutBuild.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_javascriptSdk","require","LUT_SIZE","getRefc0DefaultColormap","cm","DEFAULT_COLORMAPS","refc_0","units","dBZ","colormap","Array","isArray","length","parseHex","hex","m","String","match","s","r","g","b","a","parseInt","slice","shouldUseDiscreteIntegerLut","stops","lutValueMin","lutValueMax","interpolateColormap","lo","hi","Number","isFinite","nExp","Math","round","abs","i","value","sampleStops","interpolate","color","low","high","t","max","buildNexradLutRgba","colormapFlat","push","out","Uint8Array","bytes","discreteIntegerLut","discrete","n","u","bin","min","floor","c","idx"],"sourceRoot":"..\\..\\..\\src","sources":["nexrad/nexradLutBuild.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["M","h","t","o","String","trim","u","exec","n","length","parseInt","slice","g","Number","r","isFinite","e","l","c","i","push","value","color","b","Math","round","abs","d","max","buildNexradLutRgba","Uint8Array","bytes","discreteIntegerLut","s","min","floor","a","f"],"sourceRoot":"..\\..\\..\\src","sources":["nexrad/nexradLutBuild.js"],"mappings":";;;;;;AAAA,MAAMA,CAAC,GAAC,GAAG;AAAC,SAASC,CAACA,CAACC,CAAC,EAAC;EAAC,MAAMC,CAAC,GAACC,MAAM,CAACF,CAAC,IAAE,EAAE,CAAC,CAACG,IAAI,CAAC,CAAC;IAACC,CAAC,GAAC,sBAAsB,CAACC,IAAI,CAACJ,CAAC,CAAC;EAAC,IAAG,CAACG,CAAC,EAAC,OAAM,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,EAAC,GAAG,CAAC;EAAC,MAAME,CAAC,GAACF,CAAC,CAAC,CAAC,CAAC;EAAC,OAAOE,CAAC,CAACC,MAAM,KAAG,CAAC,GAAC,CAACC,QAAQ,CAACF,CAAC,CAACG,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAACD,QAAQ,CAACF,CAAC,CAACG,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAACD,QAAQ,CAACF,CAAC,CAACG,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAACD,QAAQ,CAACF,CAAC,CAACG,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,GAAC,CAACD,QAAQ,CAACF,CAAC,CAACG,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAACD,QAAQ,CAACF,CAAC,CAACG,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAACD,QAAQ,CAACF,CAAC,CAACG,KAAK,CAAC,CAAC,EAAC,CAAC,CAAC,EAAC,EAAE,CAAC,EAAC,GAAG,CAAC;AAAA;AAAC,SAASC,CAACA,CAACV,CAAC,EAAC;EAAC,MAAMC,CAAC,GAAC,EAAE;EAAC,IAAG,CAACD,CAAC,IAAEA,CAAC,CAACO,MAAM,GAAC,CAAC,EAAC,OAAON,CAAC;EAAC,KAAI,IAAIG,CAAC,GAAC,CAAC,EAACA,CAAC,GAACJ,CAAC,CAACO,MAAM,GAAC,CAAC,EAACH,CAAC,IAAE,CAAC,EAAC;IAAC,MAAME,CAAC,GAACK,MAAM,CAACX,CAAC,CAACI,CAAC,CAAC,CAAC;MAACQ,CAAC,GAACZ,CAAC,CAACI,CAAC,GAAC,CAAC,CAAC;IAAC,IAAG,CAACO,MAAM,CAACE,QAAQ,CAACP,CAAC,CAAC,IAAEM,CAAC,IAAE,IAAI,EAAC;IAAS,MAAK,CAACE,CAAC,EAACC,CAAC,EAACC,CAAC,EAACC,CAAC,CAAC,GAAClB,CAAC,CAACa,CAAC,CAAC;IAACX,CAAC,CAACiB,IAAI,CAAC;MAACC,KAAK,EAACb,CAAC;MAACc,KAAK,EAAC,CAACN,CAAC,EAACC,CAAC,EAACC,CAAC,EAACC,CAAC;IAAC,CAAC,CAAC;EAAA;EAAC,OAAOhB,CAAC;AAAA;AAAC,SAASoB,CAACA,CAACrB,CAAC,EAACC,CAAC,EAACG,CAAC,EAACE,CAAC,EAAC;EAAC,IAAGA,CAAC,IAAEN,CAAC,CAACO,MAAM,GAAC,CAAC,EAAC,OAAM,CAAC,CAAC;EAAC,MAAMK,CAAC,GAACX,CAAC;IAACa,CAAC,GAACV,CAAC;EAAC,IAAG,CAACO,MAAM,CAACE,QAAQ,CAACD,CAAC,CAAC,IAAE,CAACD,MAAM,CAACE,QAAQ,CAACC,CAAC,CAAC,EAAC,OAAM,CAAC,CAAC;EAAC,MAAMC,CAAC,GAACO,IAAI,CAACC,KAAK,CAACT,CAAC,GAACF,CAAC,GAAC,CAAC,CAAC;EAAC,IAAGZ,CAAC,CAACO,MAAM,KAAGQ,CAAC,IAAEO,IAAI,CAACE,GAAG,CAACF,IAAI,CAACC,KAAK,CAACX,CAAC,CAAC,GAACA,CAAC,CAAC,GAAC,IAAI,IAAEU,IAAI,CAACE,GAAG,CAACF,IAAI,CAACC,KAAK,CAACT,CAAC,CAAC,GAACA,CAAC,CAAC,GAAC,IAAI,EAAC,OAAM,CAAC,CAAC;EAAC,KAAI,IAAIE,CAAC,GAAC,CAAC,EAACA,CAAC,GAAChB,CAAC,CAACO,MAAM,EAACS,CAAC,EAAE,EAAC,IAAGM,IAAI,CAACE,GAAG,CAACxB,CAAC,CAACgB,CAAC,CAAC,CAACG,KAAK,IAAEP,CAAC,GAACI,CAAC,CAAC,CAAC,GAAC,IAAI,EAAC,OAAM,CAAC,CAAC;EAAC,OAAM,CAAC,CAAC;AAAA;AAAC,SAASS,CAACA,CAACzB,CAAC,EAACC,CAAC,EAACG,CAAC,EAAC;EAAC,IAAGH,CAAC,IAAED,CAAC,CAAC,CAAC,CAAC,CAACmB,KAAK,EAAC,OAAOnB,CAAC,CAAC,CAAC,CAAC,CAACoB,KAAK;EAAC,IAAGnB,CAAC,IAAED,CAAC,CAACA,CAAC,CAACO,MAAM,GAAC,CAAC,CAAC,CAACY,KAAK,EAAC,OAAOnB,CAAC,CAACA,CAAC,CAACO,MAAM,GAAC,CAAC,CAAC,CAACa,KAAK;EAAC,KAAI,IAAId,CAAC,GAAC,CAAC,EAACA,CAAC,GAACN,CAAC,CAACO,MAAM,EAACD,CAAC,EAAE,EAAC,IAAGF,CAAC,EAAC;IAAC,IAAGH,CAAC,IAAED,CAAC,CAACM,CAAC,CAAC,CAACa,KAAK,EAAC;MAAC,MAAMP,CAAC,GAACZ,CAAC,CAACM,CAAC,GAAC,CAAC,CAAC;QAACQ,CAAC,GAACd,CAAC,CAACM,CAAC,CAAC;QAACS,CAAC,GAAC,CAACd,CAAC,GAACW,CAAC,CAACO,KAAK,IAAEG,IAAI,CAACI,GAAG,CAACZ,CAAC,CAACK,KAAK,GAACP,CAAC,CAACO,KAAK,EAAC,IAAI,CAAC;MAAC,OAAM,CAACG,IAAI,CAACC,KAAK,CAACX,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,GAAC,CAACN,CAAC,CAACM,KAAK,CAAC,CAAC,CAAC,GAACR,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,IAAEL,CAAC,CAAC,EAACO,IAAI,CAACC,KAAK,CAACX,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,GAAC,CAACN,CAAC,CAACM,KAAK,CAAC,CAAC,CAAC,GAACR,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,IAAEL,CAAC,CAAC,EAACO,IAAI,CAACC,KAAK,CAACX,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,GAAC,CAACN,CAAC,CAACM,KAAK,CAAC,CAAC,CAAC,GAACR,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,IAAEL,CAAC,CAAC,EAACO,IAAI,CAACC,KAAK,CAACX,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,GAAC,CAACN,CAAC,CAACM,KAAK,CAAC,CAAC,CAAC,GAACR,CAAC,CAACQ,KAAK,CAAC,CAAC,CAAC,IAAEL,CAAC,CAAC,CAAC;IAAA;EAAC,CAAC,MAAK,IAAGd,CAAC,GAACD,CAAC,CAACM,CAAC,CAAC,CAACa,KAAK,EAAC,OAAOnB,CAAC,CAACM,CAAC,GAAC,CAAC,CAAC,CAACc,KAAK;EAAC,OAAOpB,CAAC,CAACA,CAAC,CAACO,MAAM,GAAC,CAAC,CAAC,CAACa,KAAK;AAAA;AAAQ,SAASO,kBAAkBA,CAAC3B,CAAC,EAACC,CAAC,EAACG,CAAC,EAACE,CAAC,EAAC;EAAC,MAAMM,CAAC,GAACF,CAAC,CAACV,CAAC,CAAC;IAACc,CAAC,GAAC,IAAIc,UAAU,CAAC,GAAG,GAAC,CAAC,CAAC;EAAC,IAAGhB,CAAC,CAACL,MAAM,KAAG,CAAC,EAAC,OAAM;IAACsB,KAAK,EAACf,CAAC;IAACgB,kBAAkB,EAAC,CAAC;EAAC,CAAC;EAAC,IAAGT,CAAC,CAACT,CAAC,EAACX,CAAC,EAACG,CAAC,EAACE,CAAC,CAAC,EAAC;IAAC,MAAMS,CAAC,GAACH,CAAC,CAACL,MAAM;IAAC,KAAI,IAAIS,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,GAAG,EAACA,CAAC,EAAE,EAAC;MAAC,MAAMC,CAAC,GAAC,CAACD,CAAC,GAAC,EAAE,IAAE,GAAG;QAACe,CAAC,GAACT,IAAI,CAACU,GAAG,CAACV,IAAI,CAACW,KAAK,CAAChB,CAAC,GAACF,CAAC,CAAC,EAACA,CAAC,GAAC,CAAC,CAAC;QAACmB,CAAC,GAACtB,CAAC,CAACmB,CAAC,CAAC,CAACX,KAAK;QAACe,CAAC,GAACnB,CAAC,GAAC,CAAC;MAACF,CAAC,CAACqB,CAAC,CAAC,GAACD,CAAC,CAAC,CAAC,CAAC,EAACpB,CAAC,CAACqB,CAAC,GAAC,CAAC,CAAC,GAACD,CAAC,CAAC,CAAC,CAAC,EAACpB,CAAC,CAACqB,CAAC,GAAC,CAAC,CAAC,GAACD,CAAC,CAAC,CAAC,CAAC,EAACpB,CAAC,CAACqB,CAAC,GAAC,CAAC,CAAC,GAACD,CAAC,CAAC,CAAC,CAAC;IAAA;IAAC,OAAM;MAACL,KAAK,EAACf,CAAC;MAACgB,kBAAkB,EAAC,CAAC;IAAC,CAAC;EAAA;EAAC,KAAI,IAAIf,CAAC,GAAC,CAAC,EAACA,CAAC,GAAC,GAAG,EAACA,CAAC,EAAE,EAAC;IAAC,MAAMC,CAAC,GAACf,CAAC,GAACc,CAAC,GAAC,GAAG,IAAEX,CAAC,GAACH,CAAC,CAAC;MAACgB,CAAC,GAACQ,CAAC,CAACb,CAAC,EAACI,CAAC,EAACV,CAAC,CAAC;MAACyB,CAAC,GAAChB,CAAC,GAAC,CAAC;IAACD,CAAC,CAACiB,CAAC,CAAC,GAACd,CAAC,CAAC,CAAC,CAAC,EAACH,CAAC,CAACiB,CAAC,GAAC,CAAC,CAAC,GAACd,CAAC,CAAC,CAAC,CAAC,EAACH,CAAC,CAACiB,CAAC,GAAC,CAAC,CAAC,GAACd,CAAC,CAAC,CAAC,CAAC,EAACH,CAAC,CAACiB,CAAC,GAAC,CAAC,CAAC,GAACd,CAAC,CAAC,CAAC,CAAC;EAAA;EAAC,OAAM;IAACY,KAAK,EAACf,CAAC;IAACgB,kBAAkB,EAAC,CAAC;EAAC,CAAC;AAAA","ignoreList":[]}
@@ -3,187 +3,159 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mapboxFrameUploadOptionsForNexradState = mapboxFrameUploadOptionsForNexradState;
7
- exports.nexradLevel3S3ProductForSiteTilt = nexradLevel3S3ProductForSiteTilt;
8
- exports.nexradLevel3UsesTiltIndexedS3Products = nexradLevel3UsesTiltIndexedS3Products;
6
+ exports.mapboxFrameUploadOptionsForNexradState = E;
7
+ exports.nexradLevel3S3ProductForSiteTilt = s;
8
+ exports.nexradLevel3UsesTiltIndexedS3Products = c;
9
9
  var _javascriptSdk = require("@aguacerowx/javascript-sdk");
10
- // src/nexrad/nexradMapboxFrameOpts.ts
11
-
12
- // src/nexrad/nexradLevel3Products.ts
13
-
14
- var NEXRAD_LEVEL3_MENU = [{
15
- radarKey: "VEL",
16
- product: "N0G",
17
- menuLabel: "Storm Relative Velocity",
18
- fldKey: "nexrad_vel",
19
- cmapPropertyKey: "nexrad_vel",
20
- decodeMode: "velocity",
21
- stormRelativeVelocity: true
22
- }, {
23
- radarKey: "KDP",
24
- product: "N0K",
25
- menuLabel: "Specific Differential Phase",
26
- fldKey: "nexrad_l3_n0k",
27
- cmapPropertyKey: "nexrad_kdp",
28
- defaultUnit: "deg/km",
29
- decodeMode: "generic_physical"
30
- }, {
31
- radarKey: "N0H",
32
- product: "N0H",
33
- menuLabel: "Hydrometeor Classification",
34
- fldKey: "nexrad_l3_n0h",
35
- cmapPropertyKey: "nexrad_l3_n0h",
36
- defaultUnit: "None",
37
- decodeMode: "categorical"
38
- }, {
39
- radarKey: "HHC",
40
- product: "HHC",
41
- menuLabel: "Hybrid Hydrometeor Classification",
42
- fldKey: "nexrad_l3_hhc",
43
- cmapPropertyKey: "nexrad_l3_hhc",
44
- defaultUnit: "None",
45
- decodeMode: "categorical"
46
- }, {
47
- radarKey: "EET",
48
- product: "EET",
49
- menuLabel: "Enhanced Echo Tops",
50
- fldKey: "nexrad_l3_eet",
51
- cmapPropertyKey: "nexrad_l3_eet",
52
- defaultUnit: "kft",
53
- decodeMode: "tops_kft"
54
- }, {
55
- radarKey: "DVL",
56
- product: "DVL",
57
- menuLabel: "Vertically Integrated Liquid",
58
- fldKey: "nexrad_l3_dvl",
59
- cmapPropertyKey: "nexrad_l3_dvl",
60
- defaultUnit: "kg/m\xB2",
61
- decodeMode: "vil"
62
- }, {
63
- radarKey: "DAA",
64
- product: "DAA",
65
- menuLabel: "1-Hour Precipitation",
66
- fldKey: "nexrad_l3_daa",
67
- cmapPropertyKey: "tp_0_1",
68
- defaultUnit: "in",
69
- decodeMode: "precip"
70
- }, {
71
- radarKey: "DU3",
72
- product: "DU3",
73
- menuLabel: "3-Hour Precipitation",
74
- fldKey: "nexrad_l3_du3",
75
- cmapPropertyKey: "tp_0_total",
76
- defaultUnit: "in",
77
- decodeMode: "precip"
78
- }, {
79
- radarKey: "DTA",
80
- product: "DTA",
81
- menuLabel: "Storm Total Precipitation",
82
- fldKey: "nexrad_l3_dta",
83
- cmapPropertyKey: "tp_0_total",
84
- defaultUnit: "in",
85
- decodeMode: "precip"
86
- }];
87
- var byRadarKey = /* @__PURE__ */new Map();
88
- for (const e of NEXRAD_LEVEL3_MENU) {
89
- byRadarKey.set(e.radarKey, e);
90
- if (e.radarKey === "DVL") byRadarKey.set("NVL", e);
10
+ var H = [{
11
+ radarKey: "VEL",
12
+ product: "N0G",
13
+ menuLabel: "Storm Relative Velocity",
14
+ fldKey: "nexrad_vel",
15
+ cmapPropertyKey: "nexrad_vel",
16
+ decodeMode: "velocity",
17
+ stormRelativeVelocity: !0
18
+ }, {
19
+ radarKey: "KDP",
20
+ product: "N0K",
21
+ menuLabel: "Specific Differential Phase",
22
+ fldKey: "nexrad_l3_n0k",
23
+ cmapPropertyKey: "nexrad_kdp",
24
+ defaultUnit: "deg/km",
25
+ decodeMode: "generic_physical"
26
+ }, {
27
+ radarKey: "N0H",
28
+ product: "N0H",
29
+ menuLabel: "Hydrometeor Classification",
30
+ fldKey: "nexrad_l3_n0h",
31
+ cmapPropertyKey: "nexrad_l3_n0h",
32
+ defaultUnit: "None",
33
+ decodeMode: "categorical"
34
+ }, {
35
+ radarKey: "HHC",
36
+ product: "HHC",
37
+ menuLabel: "Hybrid Hydrometeor Classification",
38
+ fldKey: "nexrad_l3_hhc",
39
+ cmapPropertyKey: "nexrad_l3_hhc",
40
+ defaultUnit: "None",
41
+ decodeMode: "categorical"
42
+ }, {
43
+ radarKey: "EET",
44
+ product: "EET",
45
+ menuLabel: "Enhanced Echo Tops",
46
+ fldKey: "nexrad_l3_eet",
47
+ cmapPropertyKey: "nexrad_l3_eet",
48
+ defaultUnit: "kft",
49
+ decodeMode: "tops_kft"
50
+ }, {
51
+ radarKey: "DVL",
52
+ product: "DVL",
53
+ menuLabel: "Vertically Integrated Liquid",
54
+ fldKey: "nexrad_l3_dvl",
55
+ cmapPropertyKey: "nexrad_l3_dvl",
56
+ defaultUnit: "kg/m\xB2",
57
+ decodeMode: "vil"
58
+ }, {
59
+ radarKey: "DAA",
60
+ product: "DAA",
61
+ menuLabel: "1-Hour Precipitation",
62
+ fldKey: "nexrad_l3_daa",
63
+ cmapPropertyKey: "tp_0_1",
64
+ defaultUnit: "in",
65
+ decodeMode: "precip"
66
+ }, {
67
+ radarKey: "DU3",
68
+ product: "DU3",
69
+ menuLabel: "3-Hour Precipitation",
70
+ fldKey: "nexrad_l3_du3",
71
+ cmapPropertyKey: "tp_0_total",
72
+ defaultUnit: "in",
73
+ decodeMode: "precip"
74
+ }, {
75
+ radarKey: "DTA",
76
+ product: "DTA",
77
+ menuLabel: "Storm Total Precipitation",
78
+ fldKey: "nexrad_l3_dta",
79
+ cmapPropertyKey: "tp_0_total",
80
+ defaultUnit: "in",
81
+ decodeMode: "precip"
82
+ }],
83
+ p = new Map();
84
+ for (const e of H) p.set(e.radarKey, e), e.radarKey === "DVL" && p.set("NVL", e);
85
+ var h = ["NXK", "NYK", "NZK", "N0K", "NAK", "N1K", "NBK", "N2K", "N3K"],
86
+ L = ["NXH", "NYH", "NZH", "N0H", "NAH", "N1H", "NBH", "N2H", "N3H"],
87
+ g = h.slice(3),
88
+ F = L.slice(3),
89
+ b = ["NXG", "NYG", "NZG", "N0G", "NAG", "N1G", "NBG", "N2G", "N3G"],
90
+ P = b.slice(3),
91
+ M = g.length;
92
+ function D(e) {
93
+ return (0, _javascriptSdk.getRadarTilts)(e, "VEL").slice(0, M);
91
94
  }
92
- var NEXRAD_LEVEL3_KDP_PRODUCTS = ["NXK", "NYK", "NZK", "N0K", "NAK", "N1K", "NBK", "N2K", "N3K"];
93
- var NEXRAD_LEVEL3_DHC_PRODUCTS = ["NXH", "NYH", "NZH", "N0H", "NAH", "N1H", "NBH", "N2H", "N3H"];
94
- var NEXRAD_LEVEL3_KDP_PRODUCTS_FOR_MANIFEST = NEXRAD_LEVEL3_KDP_PRODUCTS.slice(3);
95
- var NEXRAD_LEVEL3_DHC_PRODUCTS_FOR_MANIFEST = NEXRAD_LEVEL3_DHC_PRODUCTS.slice(3);
96
- var NEXRAD_LEVEL3_VELOCITY_PRODUCTS = ["NXG", "NYG", "NZG", "N0G", "NAG", "N1G", "NBG", "N2G", "N3G"];
97
- var NEXRAD_LEVEL3_VELOCITY_PRODUCTS_FOR_MANIFEST = NEXRAD_LEVEL3_VELOCITY_PRODUCTS.slice(3);
98
- var NEXRAD_LEVEL3_MANIFEST_TILT_COUNT = NEXRAD_LEVEL3_KDP_PRODUCTS_FOR_MANIFEST.length;
99
- function getNexradLevel3RadarTiltsForVelocity(siteId) {
100
- return (0, _javascriptSdk.getRadarTilts)(siteId, "VEL").slice(0, NEXRAD_LEVEL3_MANIFEST_TILT_COUNT);
95
+ function T(e, r) {
96
+ const t = P,
97
+ a = D(e);
98
+ if (!a.length) return t[0];
99
+ const n = (0, _javascriptSdk.clampNexradTiltForVariable)(e, "VEL", r);
100
+ let o = a.indexOf(n);
101
+ return o === -1 && (o = a.reduce((d, l, i) => Math.abs(l - n) < Math.abs(a[d] - n) ? i : d, 0)), o = Math.min(o, t.length - 1), t[o];
101
102
  }
102
- function nexradLevel3S3VelocityProductForSiteTilt(siteId, tilt) {
103
- const products = NEXRAD_LEVEL3_VELOCITY_PRODUCTS_FOR_MANIFEST;
104
- const tilts = getNexradLevel3RadarTiltsForVelocity(siteId);
105
- if (!tilts.length) {
106
- return products[0];
107
- }
108
- const clamped = (0, _javascriptSdk.clampNexradTiltForVariable)(siteId, "VEL", tilt);
109
- let idx = tilts.indexOf(clamped);
110
- if (idx === -1) {
111
- idx = tilts.reduce((bestI, t, i) => Math.abs(t - clamped) < Math.abs(tilts[bestI] - clamped) ? i : bestI, 0);
103
+ var K = ["N0K", "NAK", "N1K", "NBK", "N2K", "N3K"],
104
+ v = ["N0H", "NAH", "N1H", "NBH", "N2H", "N3H"],
105
+ U = K.length;
106
+ function V(e, r) {
107
+ if (!e.length) return r;
108
+ let t = e[0],
109
+ a = Math.abs(t - r);
110
+ for (let n = 1; n < e.length; n++) {
111
+ const o = e[n],
112
+ d = Math.abs(o - r);
113
+ (d < a || d === a && o < t) && (t = o, a = d);
112
114
  }
113
- idx = Math.min(idx, products.length - 1);
114
- return products[idx];
115
+ return t;
115
116
  }
116
-
117
- // src/nexrad/nexradMapboxFrameOpts.ts
118
- var NEXRAD_LEVEL3_KDP_PRODUCTS_FOR_MANIFEST2 = ["N0K", "NAK", "N1K", "NBK", "N2K", "N3K"];
119
- var NEXRAD_LEVEL3_DHC_PRODUCTS_FOR_MANIFEST2 = ["N0H", "NAH", "N1H", "NBH", "N2H", "N3H"];
120
- var NEXRAD_LEVEL3_MANIFEST_TILT_COUNT2 = NEXRAD_LEVEL3_KDP_PRODUCTS_FOR_MANIFEST2.length;
121
- function nearestTiltInSortedList(tilts, target) {
122
- if (!tilts.length) return target;
123
- let best = tilts[0];
124
- let bestD = Math.abs(best - target);
125
- for (let i = 1; i < tilts.length; i++) {
126
- const t = tilts[i];
127
- const d = Math.abs(t - target);
128
- if (d < bestD || d === bestD && t < best) {
129
- best = t;
130
- bestD = d;
131
- }
132
- }
133
- return best;
117
+ function N(e, r) {
118
+ return (0, _javascriptSdk.getRadarTilts)(e, r).slice(0, U);
134
119
  }
135
- function getNexradLevel3RadarTilts(siteId, radarVariable) {
136
- return (0, _javascriptSdk.getRadarTilts)(siteId, radarVariable).slice(0, NEXRAD_LEVEL3_MANIFEST_TILT_COUNT2);
120
+ function c(e) {
121
+ const r = e || "";
122
+ return r === "KDP" || r === "N0H";
137
123
  }
138
- function nexradLevel3UsesTiltIndexedS3Products(radarVariable) {
139
- const v = radarVariable || "";
140
- return v === "KDP" || v === "N0H";
124
+ function A(e, r, t) {
125
+ if (!c(r)) return (0, _javascriptSdk.clampNexradTiltForVariable)(e, r, t);
126
+ const a = N(e, r),
127
+ n = (0, _javascriptSdk.clampNexradTiltForVariable)(e, r, t);
128
+ return a.length ? V(a, n) : n;
141
129
  }
142
- function clampTiltForLevel3CompositeKey(siteId, radarVariable, tilt) {
143
- if (!nexradLevel3UsesTiltIndexedS3Products(radarVariable)) {
144
- return (0, _javascriptSdk.clampNexradTiltForVariable)(siteId, radarVariable, tilt);
145
- }
146
- const tilts = getNexradLevel3RadarTilts(siteId, radarVariable);
147
- const c = (0, _javascriptSdk.clampNexradTiltForVariable)(siteId, radarVariable, tilt);
148
- if (!tilts.length) return c;
149
- return nearestTiltInSortedList(tilts, c);
150
- }
151
- function nexradLevel3S3ProductForSiteTilt(siteId, radarVariable, tilt) {
152
- const products = radarVariable === "KDP" ? NEXRAD_LEVEL3_KDP_PRODUCTS_FOR_MANIFEST2 : NEXRAD_LEVEL3_DHC_PRODUCTS_FOR_MANIFEST2;
153
- const tilts = getNexradLevel3RadarTilts(siteId, radarVariable);
154
- if (!tilts.length) {
155
- return products[0];
156
- }
157
- const clamped = clampTiltForLevel3CompositeKey(siteId, radarVariable, tilt);
158
- let idx = tilts.indexOf(clamped);
159
- if (idx === -1) {
160
- idx = tilts.reduce((bestI, t, i) => Math.abs(t - clamped) < Math.abs(tilts[bestI] - clamped) ? i : bestI, 0);
161
- }
162
- idx = Math.min(idx, products.length - 1);
163
- return products[idx];
130
+ function s(e, r, t) {
131
+ const a = r === "KDP" ? K : v,
132
+ n = N(e, r);
133
+ if (!n.length) return a[0];
134
+ const o = A(e, r, t);
135
+ let d = n.indexOf(o);
136
+ return d === -1 && (d = n.reduce((l, i, f) => Math.abs(i - o) < Math.abs(n[l] - o) ? f : l, 0)), d = Math.min(d, a.length - 1), a[d];
164
137
  }
165
- function mapboxFrameUploadOptionsForNexradState(state) {
166
- if (!state) return {
138
+ function E(e) {
139
+ if (!e) return {
167
140
  geometryLayoutKey: "canonical"
168
141
  };
169
- if (state.nexradDataSource !== "level3") return {
142
+ if (e.nexradDataSource !== "level3") return {
170
143
  geometryLayoutKey: "canonical"
171
144
  };
172
- const site = state.nexradSite;
173
- const radarVar = (state.nexradProduct || "REF").toUpperCase();
174
- if (nexradLevel3UsesTiltIndexedS3Products(radarVar) && site) {
175
- const tilt = Number.isFinite(state.nexradTilt) ? Number(state.nexradTilt) : (0, _javascriptSdk.getDefaultRadarTilt)(site);
176
- const kind = radarVar === "KDP" ? "KDP" : "N0H";
177
- const mnemonic = nexradLevel3S3ProductForSiteTilt(site, kind, tilt);
145
+ const r = e.nexradSite,
146
+ t = (e.nexradProduct || "REF").toUpperCase();
147
+ if (c(t) && r) {
148
+ const a = Number.isFinite(e.nexradTilt) ? Number(e.nexradTilt) : (0, _javascriptSdk.getDefaultRadarTilt)(r),
149
+ n = s(r, t === "KDP" ? "KDP" : "N0H", a);
178
150
  return {
179
- geometryLayoutKey: `${site}|${radarVar}|${mnemonic}`
151
+ geometryLayoutKey: `${r}|${t}|${n}`
180
152
  };
181
153
  }
182
- if (radarVar === "VEL" && site) {
183
- const tilt = Number.isFinite(state.nexradTilt) ? Number(state.nexradTilt) : (0, _javascriptSdk.getDefaultRadarTilt)(site);
184
- const mnemonic = nexradLevel3S3VelocityProductForSiteTilt(site, tilt);
154
+ if (t === "VEL" && r) {
155
+ const a = Number.isFinite(e.nexradTilt) ? Number(e.nexradTilt) : (0, _javascriptSdk.getDefaultRadarTilt)(r),
156
+ n = T(r, a);
185
157
  return {
186
- geometryLayoutKey: `${site}|${radarVar}|${mnemonic}`
158
+ geometryLayoutKey: `${r}|${t}|${n}`
187
159
  };
188
160
  }
189
161
  return {