@aguacerowx/react-native 0.0.31 → 0.0.33

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 (34) hide show
  1. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AguaceroPackage.class.uniqueId1 +0 -0
  2. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{GridRenderLayer$VertexInfo.class.uniqueId0 → GridRenderLayer$VertexInfo.class.uniqueId2} +0 -0
  3. package/{lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 → android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId3} +0 -0
  4. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId4 +0 -0
  5. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderManager.class.uniqueId0 +0 -0
  6. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId5 +0 -0
  7. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AguaceroPackage.class.uniqueId1 +0 -0
  8. package/lib/{module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 → commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId2} +0 -0
  9. package/{android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId1 → lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer.class.uniqueId3} +0 -0
  10. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId4 +0 -0
  11. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderManager.class.uniqueId0 +0 -0
  12. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId5 +0 -0
  13. package/lib/commonjs/package.json +1 -1
  14. package/lib/commonjs/src/WeatherLayerManager.js +75 -3
  15. package/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  16. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/AguaceroPackage.class.uniqueId1 +0 -0
  17. package/lib/{commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId0 → module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayer$VertexInfo.class.uniqueId2} +0 -0
  18. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{GridRenderLayer.class.uniqueId1 → GridRenderLayer.class.uniqueId3} +0 -0
  19. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId4 +0 -0
  20. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderManager.class.uniqueId0 +0 -0
  21. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/InspectorModule.class.uniqueId5 +0 -0
  22. package/lib/module/lib/commonjs/ios/generated/AguaceroWxReactNativeSpec.h +0 -0
  23. package/lib/module/lib/commonjs/package.json +1 -1
  24. package/lib/module/lib/commonjs/src/WeatherLayerManager.js +75 -3
  25. package/lib/module/lib/commonjs/src/WeatherLayerManager.js.map +1 -1
  26. package/lib/module/package.json +1 -1
  27. package/lib/module/src/WeatherLayerManager.js +76 -4
  28. package/lib/module/src/WeatherLayerManager.js.map +1 -1
  29. package/lib/typescript/src/WeatherLayerManager.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/WeatherLayerManager.js +82 -7
  32. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  33. package/lib/commonjs/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
  34. package/lib/module/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GridRenderLayerView.class.uniqueId2 +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aguacerowx/react-native",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "description": "Native weather rendering for React Native",
5
5
  "license": "ISC",
6
6
  "author": "Michael Barletta",
@@ -89,6 +89,7 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
89
89
  initialVariable,
90
90
  autoRefresh,
91
91
  autoRefreshInterval,
92
+ initialModel,
92
93
  ...restProps
93
94
  } = props;
94
95
  const context = (0, _react.useContext)(_AguaceroContext.AguaceroContext);
@@ -100,7 +101,8 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
100
101
  // ADD: Pass layerOptions to the core's constructor
101
102
  layerOptions: {
102
103
  mode: initialMode,
103
- variable: initialVariable
104
+ variable: initialVariable,
105
+ model: initialModel
104
106
  }
105
107
  }), [apiKey]);
106
108
  const gridLayerRef = (0, _react.useRef)(null);
@@ -269,7 +271,6 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
269
271
  // Double-check currentFrame is valid
270
272
  if (currentFrame == null) {
271
273
  hasPreloadedRef.current = false;
272
- return;
273
274
  }
274
275
 
275
276
  // Reverse the frame order to load from last to first
@@ -312,10 +313,32 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
312
313
  baseUnit
313
314
  } = core._getColormapForVariable(variable);
314
315
  const toUnit = core._getTargetUnit(baseUnit, units);
316
+ const fieldInfo = _javascriptSdk.DICTIONARIES?.fld?.[variable] || {};
317
+ const serverDataUnit = fieldInfo.defaultUnit || baseUnit;
315
318
  let dataScale = result.scale;
316
319
  let dataOffset = result.offset;
317
320
  let convertedScale = dataScale;
318
321
  let convertedOffset = dataOffset;
322
+ if (serverDataUnit !== baseUnit) {
323
+ const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(serverDataUnit, baseUnit);
324
+ if (conversionFunc) {
325
+ if (result.scaleType === 'sqrt') {
326
+ const physicalAtOffset = dataOffset * dataOffset;
327
+ const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
328
+ const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
329
+ const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
330
+ convertedOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
331
+ const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
332
+ convertedScale = newOffsetPlusScale - convertedOffset;
333
+ } else {
334
+ convertedOffset = conversionFunc(dataOffset);
335
+ const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
336
+ convertedScale = convertedOffsetPlusScale - convertedOffset;
337
+ }
338
+ dataScale = convertedScale;
339
+ dataOffset = convertedOffset;
340
+ }
341
+ }
319
342
  if (baseUnit !== toUnit) {
320
343
  const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
321
344
  if (conversionFunc) {
@@ -365,7 +388,6 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
365
388
  } catch (error) {
366
389
  console.warn(`⚠️ [preloadAllFramesToDisk] Failed frame ${currentFrame}:`, error);
367
390
  hasPreloadedRef.current = false;
368
- return;
369
391
  }
370
392
  }
371
393
 
@@ -396,14 +418,42 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
396
418
  console.warn(`⚠️ [preloadAllFramesToDisk] Failed frame ${frame}: No filePath`);
397
419
  return;
398
420
  }
421
+
422
+ // ADD: Same two-step conversion as the current frame
399
423
  const {
400
424
  baseUnit
401
425
  } = core._getColormapForVariable(variable);
402
426
  const toUnit = core._getTargetUnit(baseUnit, units);
427
+ const fieldInfo = _javascriptSdk.DICTIONARIES?.fld?.[variable] || {};
428
+ const serverDataUnit = fieldInfo.defaultUnit || baseUnit;
403
429
  let dataScale = result.scale;
404
430
  let dataOffset = result.offset;
405
431
  let convertedScale = dataScale;
406
432
  let convertedOffset = dataOffset;
433
+
434
+ // Step 1: Convert from server unit to colormap base unit
435
+ if (serverDataUnit !== baseUnit) {
436
+ const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(serverDataUnit, baseUnit);
437
+ if (conversionFunc) {
438
+ if (result.scaleType === 'sqrt') {
439
+ const physicalAtOffset = dataOffset * dataOffset;
440
+ const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
441
+ const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
442
+ const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
443
+ convertedOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
444
+ const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
445
+ convertedScale = newOffsetPlusScale - convertedOffset;
446
+ } else {
447
+ convertedOffset = conversionFunc(dataOffset);
448
+ const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
449
+ convertedScale = convertedOffsetPlusScale - convertedOffset;
450
+ }
451
+ dataScale = convertedScale;
452
+ dataOffset = convertedOffset;
453
+ }
454
+ }
455
+
456
+ // Step 2: Convert from colormap base unit to target display unit
407
457
  if (baseUnit !== toUnit) {
408
458
  const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
409
459
  if (conversionFunc) {
@@ -814,8 +864,30 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
814
864
  baseUnit
815
865
  } = core._getColormapForVariable(variable);
816
866
  const toUnit = core._getTargetUnit(baseUnit, units);
867
+ const fieldInfo = _javascriptSdk.DICTIONARIES?.fld?.[variable] || {};
868
+ const serverDataUnit = fieldInfo.defaultUnit || baseUnit;
817
869
  let dataScale = cachedData.originalScale;
818
870
  let dataOffset = cachedData.originalOffset;
871
+ if (serverDataUnit !== baseUnit) {
872
+ const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(serverDataUnit, baseUnit);
873
+ if (conversionFunc) {
874
+ if (cachedData.scaleType === 'sqrt') {
875
+ const physicalAtOffset = dataOffset * dataOffset;
876
+ const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
877
+ const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
878
+ const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
879
+ const newOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
880
+ const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
881
+ dataScale = newOffsetPlusScale - newOffset;
882
+ dataOffset = newOffset;
883
+ } else {
884
+ const convertedOffset = conversionFunc(dataOffset);
885
+ const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
886
+ dataScale = convertedOffsetPlusScale - convertedOffset;
887
+ dataOffset = convertedOffset;
888
+ }
889
+ }
890
+ }
819
891
  if (baseUnit !== toUnit) {
820
892
  const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
821
893
  if (conversionFunc) {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_javascriptSdk","_AguaceroContext","_GridRenderLayer","_base64Js","_reactNative","_MapRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","findLatestModelRun","modelsData","modelName","model","availableDates","keys","sort","a","b","localeCompare","date","runs","availableRuns","length","run","WeatherFrameProcessorModule","InspectorModule","NativeModules","_generateColormapBytes","colormap","width","data","Uint8Array","stops","reduce","acc","_","value","color","minVal","maxVal","hexToRgb","hex","parseInt","slice","g","val","lower","upper","j","lowerRgb","upperRgb","rgb","map","c","idx","offset","Math","round","AguaceroCore","prototype","setMapCenter","center","emit","WeatherLayerManager","exports","forwardRef","props","ref","inspectorEnabled","onInspect","apiKey","customColormaps","initialMode","initialVariable","autoRefresh","autoRefreshInterval","restProps","context","useContext","AguaceroContext","core","useMemo","layerOptions","mode","variable","gridLayerRef","useRef","currentGridDataRef","autoRefreshIntervalId","preloadedDataCache","Map","cachedGeometry","cachedColormap","cachedDataRange","hasInitialLoad","hasPreloadedRef","lastProcessedState","previousStateRef","renderProps","setRenderProps","useState","opacity","dataRange","useImperativeHandle","setAutoRefresh","enabled","intervalSeconds","current","clearInterval","effectiveInterval","_checkForUpdates","setInterval","play","pause","togglePlay","step","direction","setPlaybackSpeed","speed","playbackSpeed","isPlaying","setOpacity","setUnits","units","switchMode","options","getAvailableVariables","getVariableDisplayName","code","setRun","runString","setState","split","newState","setMRMSTimestamp","timestamp","setSmoothing","refreshData","preloadAllFramesToDisk","state","isMRMS","availableHours","availableTimestamps","forecastHour","mrmsTimestamp","effectiveForecastHour","validHours","filter","hour","gridModel","corners","gridDef","_getGridCornersAndDef","updateGeometry","baseUnit","_getColormapForVariable","toUnit","_getTargetUnit","finalColormap","_convertColormapUnits","colormapBytes","colormapAsBase64","fromByteArray","updateColormapTexture","key","filteredHours","allFrames","currentFrame","reversedFrames","reverse","framesToPreload","frame","nx","ny","grid_params","currentCacheKey","resourcePath","frameDate","Date","y","getUTCFullYear","m","getUTCMonth","toString","padStart","d","getUTCDate","url","baseGridUrl","bundleId","result","processFrame","filePath","dataScale","scale","dataOffset","convertedScale","convertedOffset","conversionFunc","getUnitConversionFunction","scaleType","physicalAtOffset","physicalAtOffsetPlusScale","convertedPhysicalAtOffset","convertedPhysicalAtOffsetPlusScale","sqrt","abs","sign","newOffsetPlusScale","convertedOffsetPlusScale","frameData","missing","originalScale","originalOffset","updateDataTextureFromFile","error","console","warn","forEach","cacheKey","then","Platform","OS","primeGpuCache","frameInfoForGpu","catch","useEffect","interval","updateGPUWithCachedData","setActiveFrame","cachedData","colormapKey","prev","dataAsBase64","updateDataTexture","binaryString","atob","uint8Array","charCodeAt","updateDataParameters","handleStateChangeRef","debounceTimeoutRef","_emitStateChange","getValueAtPoint","lng","lat","gridIndices","_getGridIndexFromLngLat","getValueAtGridIndex","displayUnit","minThreshold","isFinite","unit","name","lngLat","currentModel","currentVariable","oldTimestamps","Set","mrmsStatus","fetchMRMSStatus","newTimestamps","newTimestampsToPreload","ts","newTimestampsSet","oldTs","delete","modelStatus","fetchModelStatus","latestRun","currentRunKey","latestRunKey","handleStateChange","onStateChange","variableChanged","setVariable","stateKey","isOpacityOnlyChange","isPlayStateOnlyChange","isUnitsOnlyChange","oldCacheKey","undefined","newOffset","scaleTypeValue","newCacheKey","needsFullLoad","clear","clearGpuCache","cancelAllFrames","success","stableHandler","clearTimeout","setTimeout","on","off","lastInspectorUpdateRef","INSPECTOR_THROTTLE_MS","handleMapMove","Array","isArray","now","longitude","latitude","payload","getCenter","triggerReinspection","mapRef","mapRegistry","getMap","_currentCenter","timer","handleCameraChange","addCameraListener","removeCameraListener","initialize","destroy","createElement","GridRenderLayer","belowID"],"sourceRoot":"..\\..\\..","sources":["src/WeatherLayerManager.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_javascriptSdk","_AguaceroContext","_GridRenderLayer","_base64Js","_reactNative","_MapRegistry","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","findLatestModelRun","modelsData","modelName","model","availableDates","keys","sort","a","b","localeCompare","date","runs","availableRuns","length","run","WeatherFrameProcessorModule","InspectorModule","NativeModules","_generateColormapBytes","colormap","width","data","Uint8Array","stops","reduce","acc","_","value","color","minVal","maxVal","hexToRgb","hex","parseInt","slice","g","val","lower","upper","j","lowerRgb","upperRgb","rgb","map","c","idx","offset","Math","round","AguaceroCore","prototype","setMapCenter","center","emit","WeatherLayerManager","exports","forwardRef","props","ref","inspectorEnabled","onInspect","apiKey","customColormaps","initialMode","initialVariable","autoRefresh","autoRefreshInterval","initialModel","restProps","context","useContext","AguaceroContext","core","useMemo","layerOptions","mode","variable","gridLayerRef","useRef","currentGridDataRef","autoRefreshIntervalId","preloadedDataCache","Map","cachedGeometry","cachedColormap","cachedDataRange","hasInitialLoad","hasPreloadedRef","lastProcessedState","previousStateRef","renderProps","setRenderProps","useState","opacity","dataRange","useImperativeHandle","setAutoRefresh","enabled","intervalSeconds","current","clearInterval","effectiveInterval","_checkForUpdates","setInterval","play","pause","togglePlay","step","direction","setPlaybackSpeed","speed","playbackSpeed","isPlaying","setOpacity","setUnits","units","switchMode","options","getAvailableVariables","getVariableDisplayName","code","setRun","runString","setState","split","newState","setMRMSTimestamp","timestamp","setSmoothing","refreshData","preloadAllFramesToDisk","state","isMRMS","availableHours","availableTimestamps","forecastHour","mrmsTimestamp","effectiveForecastHour","validHours","filter","hour","gridModel","corners","gridDef","_getGridCornersAndDef","updateGeometry","baseUnit","_getColormapForVariable","toUnit","_getTargetUnit","finalColormap","_convertColormapUnits","colormapBytes","colormapAsBase64","fromByteArray","updateColormapTexture","key","filteredHours","allFrames","currentFrame","reversedFrames","reverse","framesToPreload","frame","nx","ny","grid_params","currentCacheKey","resourcePath","frameDate","Date","y","getUTCFullYear","m","getUTCMonth","toString","padStart","d","getUTCDate","url","baseGridUrl","bundleId","result","processFrame","filePath","fieldInfo","DICTIONARIES","fld","serverDataUnit","defaultUnit","dataScale","scale","dataOffset","convertedScale","convertedOffset","conversionFunc","getUnitConversionFunction","scaleType","physicalAtOffset","physicalAtOffsetPlusScale","convertedPhysicalAtOffset","convertedPhysicalAtOffsetPlusScale","sqrt","abs","sign","newOffsetPlusScale","convertedOffsetPlusScale","frameData","missing","originalScale","originalOffset","updateDataTextureFromFile","error","console","warn","forEach","cacheKey","then","Platform","OS","primeGpuCache","frameInfoForGpu","catch","useEffect","interval","updateGPUWithCachedData","setActiveFrame","cachedData","colormapKey","prev","dataAsBase64","updateDataTexture","binaryString","atob","uint8Array","charCodeAt","updateDataParameters","handleStateChangeRef","debounceTimeoutRef","_emitStateChange","getValueAtPoint","lng","lat","gridIndices","_getGridIndexFromLngLat","getValueAtGridIndex","displayUnit","minThreshold","isFinite","unit","name","lngLat","currentModel","currentVariable","oldTimestamps","Set","mrmsStatus","fetchMRMSStatus","newTimestamps","newTimestampsToPreload","ts","newTimestampsSet","oldTs","delete","modelStatus","fetchModelStatus","latestRun","currentRunKey","latestRunKey","handleStateChange","onStateChange","variableChanged","setVariable","stateKey","isOpacityOnlyChange","isPlayStateOnlyChange","isUnitsOnlyChange","oldCacheKey","undefined","newOffset","scaleTypeValue","newCacheKey","needsFullLoad","clear","clearGpuCache","cancelAllFrames","success","stableHandler","clearTimeout","setTimeout","on","off","lastInspectorUpdateRef","INSPECTOR_THROTTLE_MS","handleMapMove","Array","isArray","now","longitude","latitude","payload","getCenter","triggerReinspection","mapRef","mapRegistry","getMap","_currentCenter","timer","handleCameraChange","addCameraListener","removeCameraListener","initialize","destroy","createElement","GridRenderLayer","belowID"],"sourceRoot":"..\\..\\..","sources":["src/WeatherLayerManager.js"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aguacerowx/react-native",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "description": "Native weather rendering for React Native",
5
5
  "license": "ISC",
6
6
  "author": "Michael Barletta",
@@ -108,6 +108,7 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
108
108
  initialVariable,
109
109
  autoRefresh,
110
110
  autoRefreshInterval,
111
+ initialModel,
111
112
  ...restProps
112
113
  } = props;
113
114
  const context = (0, _react.useContext)(_AguaceroContext.AguaceroContext);
@@ -119,7 +120,8 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
119
120
  // ADD: Pass layerOptions to the core's constructor
120
121
  layerOptions: {
121
122
  mode: initialMode,
122
- variable: initialVariable
123
+ variable: initialVariable,
124
+ model: initialModel
123
125
  }
124
126
  }), [apiKey]);
125
127
  const gridLayerRef = (0, _react.useRef)(null);
@@ -288,7 +290,6 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
288
290
  // Double-check currentFrame is valid
289
291
  if (currentFrame == null) {
290
292
  hasPreloadedRef.current = false;
291
- return;
292
293
  }
293
294
 
294
295
  // Reverse the frame order to load from last to first
@@ -331,10 +332,32 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
331
332
  baseUnit
332
333
  } = core._getColormapForVariable(variable);
333
334
  const toUnit = core._getTargetUnit(baseUnit, units);
335
+ const fieldInfo = _javascriptSdk.DICTIONARIES?.fld?.[variable] || {};
336
+ const serverDataUnit = fieldInfo.defaultUnit || baseUnit;
334
337
  let dataScale = result.scale;
335
338
  let dataOffset = result.offset;
336
339
  let convertedScale = dataScale;
337
340
  let convertedOffset = dataOffset;
341
+ if (serverDataUnit !== baseUnit) {
342
+ const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(serverDataUnit, baseUnit);
343
+ if (conversionFunc) {
344
+ if (result.scaleType === 'sqrt') {
345
+ const physicalAtOffset = dataOffset * dataOffset;
346
+ const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
347
+ const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
348
+ const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
349
+ convertedOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
350
+ const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
351
+ convertedScale = newOffsetPlusScale - convertedOffset;
352
+ } else {
353
+ convertedOffset = conversionFunc(dataOffset);
354
+ const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
355
+ convertedScale = convertedOffsetPlusScale - convertedOffset;
356
+ }
357
+ dataScale = convertedScale;
358
+ dataOffset = convertedOffset;
359
+ }
360
+ }
338
361
  if (baseUnit !== toUnit) {
339
362
  const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
340
363
  if (conversionFunc) {
@@ -384,7 +407,6 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
384
407
  } catch (error) {
385
408
  console.warn(`⚠️ [preloadAllFramesToDisk] Failed frame ${currentFrame}:`, error);
386
409
  hasPreloadedRef.current = false;
387
- return;
388
410
  }
389
411
  }
390
412
 
@@ -415,14 +437,42 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
415
437
  console.warn(`⚠️ [preloadAllFramesToDisk] Failed frame ${frame}: No filePath`);
416
438
  return;
417
439
  }
440
+
441
+ // ADD: Same two-step conversion as the current frame
418
442
  const {
419
443
  baseUnit
420
444
  } = core._getColormapForVariable(variable);
421
445
  const toUnit = core._getTargetUnit(baseUnit, units);
446
+ const fieldInfo = _javascriptSdk.DICTIONARIES?.fld?.[variable] || {};
447
+ const serverDataUnit = fieldInfo.defaultUnit || baseUnit;
422
448
  let dataScale = result.scale;
423
449
  let dataOffset = result.offset;
424
450
  let convertedScale = dataScale;
425
451
  let convertedOffset = dataOffset;
452
+
453
+ // Step 1: Convert from server unit to colormap base unit
454
+ if (serverDataUnit !== baseUnit) {
455
+ const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(serverDataUnit, baseUnit);
456
+ if (conversionFunc) {
457
+ if (result.scaleType === 'sqrt') {
458
+ const physicalAtOffset = dataOffset * dataOffset;
459
+ const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
460
+ const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
461
+ const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
462
+ convertedOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
463
+ const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
464
+ convertedScale = newOffsetPlusScale - convertedOffset;
465
+ } else {
466
+ convertedOffset = conversionFunc(dataOffset);
467
+ const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
468
+ convertedScale = convertedOffsetPlusScale - convertedOffset;
469
+ }
470
+ dataScale = convertedScale;
471
+ dataOffset = convertedOffset;
472
+ }
473
+ }
474
+
475
+ // Step 2: Convert from colormap base unit to target display unit
426
476
  if (baseUnit !== toUnit) {
427
477
  const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
428
478
  if (conversionFunc) {
@@ -833,8 +883,30 @@ const WeatherLayerManager = exports.WeatherLayerManager = /*#__PURE__*/(0, _reac
833
883
  baseUnit
834
884
  } = core._getColormapForVariable(variable);
835
885
  const toUnit = core._getTargetUnit(baseUnit, units);
886
+ const fieldInfo = _javascriptSdk.DICTIONARIES?.fld?.[variable] || {};
887
+ const serverDataUnit = fieldInfo.defaultUnit || baseUnit;
836
888
  let dataScale = cachedData.originalScale;
837
889
  let dataOffset = cachedData.originalOffset;
890
+ if (serverDataUnit !== baseUnit) {
891
+ const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(serverDataUnit, baseUnit);
892
+ if (conversionFunc) {
893
+ if (cachedData.scaleType === 'sqrt') {
894
+ const physicalAtOffset = dataOffset * dataOffset;
895
+ const physicalAtOffsetPlusScale = (dataOffset + dataScale) * (dataOffset + dataScale);
896
+ const convertedPhysicalAtOffset = conversionFunc(physicalAtOffset);
897
+ const convertedPhysicalAtOffsetPlusScale = conversionFunc(physicalAtOffsetPlusScale);
898
+ const newOffset = Math.sqrt(Math.abs(convertedPhysicalAtOffset)) * Math.sign(convertedPhysicalAtOffset);
899
+ const newOffsetPlusScale = Math.sqrt(Math.abs(convertedPhysicalAtOffsetPlusScale)) * Math.sign(convertedPhysicalAtOffsetPlusScale);
900
+ dataScale = newOffsetPlusScale - newOffset;
901
+ dataOffset = newOffset;
902
+ } else {
903
+ const convertedOffset = conversionFunc(dataOffset);
904
+ const convertedOffsetPlusScale = conversionFunc(dataOffset + dataScale);
905
+ dataScale = convertedOffsetPlusScale - convertedOffset;
906
+ dataOffset = convertedOffset;
907
+ }
908
+ }
909
+ }
838
910
  if (baseUnit !== toUnit) {
839
911
  const conversionFunc = (0, _javascriptSdk.getUnitConversionFunction)(baseUnit, toUnit);
840
912
  if (conversionFunc) {