Spatiotemporal Reconstruction of Global Radiation from Sparse Sensor Sequences
Organizations: Nuclear, Plasma and Radiological Engineering, The Grainger College of Engineering, University of Illinois Urbana-Champaign, IL, USA. · Department of Applied Mechanics, Indian Institute of Technology Delhi, New Delhi, India. · Civil and Urban Engineering Department, New York University Abu Dhabi, Abu Dhabi, UAE. · National Center for Supercomputing Applications, 1205 W Clark St,, Urbana, 61801, IL, USA. ·
Abstract
Much of the physical world is inaccessible to direct measurement and can be reached only through the sparse traces it leaves in other observable variables. Here we introduce the Temporal Radiation Operator Network (TRON), a spatiotemporal neural operator that learns proxy-to-field mappings, reconstructing otherwise unobserved physical fields from sparse, indirect sensor histories. For cosmic-radiation mapping, TRON reconstructs sea-level effective dose at 65,341 locations from histories of 12 neutron monitors, achieving 0.096% mean relative error against EXPACS-generated reference fields in a chronologically held-out year; batched GPU inference evaluates a global field in approximately 1ms, compared with 57.6s for EXPACS on one CPU thread. On measured weather networks, TRON reconstructs temperature at held-out stations from thermometer or barometer histories, outperforming interpolation, calendar-based and hypsometric baselines. These results establish proxy-to-field reconstruction as a general route to recovering spatially distributed physical information beyond the direct reach of sparse sensor networks.
Figures & tables
| Model | Type | # Branches | Input Size | Hidden Dim. | # layers | # parameters | |
|---|---|---|---|---|---|---|---|
| S-GRU | GRU | 1 | 12 | 128 | 4 | 128 | 401,921 |
| S-LSTM | LSTM | 1 | 12 | 128 | 4 | 128 | 519,169 |
| M-GRU | GRU | 12 | 1 (per sensor) | 128 | 4 | 128 | 4,404,865 |
| M-LSTM | LSTM | 12 | 1 (per sensor) | 128 | 4 | 128 | 5,794,945 |
| Station Code | Location | Country | Lat. | Lon. | (GV) | References |
|---|---|---|---|---|---|---|
| ATHN | Athens | Greece | [ 40 , 41 , 42 ] | |||
| JUNG | Jungfraujoch | Switzerland | [ 43 ] | |||
| NEWK | Newark | USA | [ 44 ] | |||
| KERG | Kerguelen | France | [ 45 ] | |||
| OULU | Oulu | Finland | [ 46 ] | |||
| APTY | Apatity | Russia | [ 47 ] |
| Data Set | Sequence Length ( ) | |||
|---|---|---|---|---|
| 7 | 30 | 60 | 90 | |
| Training | 7664 | 7641 | 7611 | 7581 |
| Validation | 365 | 365 | 365 | 365 |
| Test | 365 | 365 | 365 | 365 |
| Seq | Model | Relative Error (%) | RMSE | MAE | SSIM |
|---|---|---|---|---|---|
| 7 | Static-branch DeepONet | ||||
| S-GRU | |||||
| S-LSTM | |||||
| M-GRU | |||||
| M-LSTM | |||||
| GNO |
| Type | Variation | # of trainable parameters |
|---|---|---|
| Linear Regressions | Static | 849,433 |
| Temporal | 23,588,101 | |
| Neural Operators | Static-branch DeepONet | 84,609 |
| GNO | 1,558,765 | |
| GINO | 6,596,995 | |
| TRON | S-GRU | 401,921 |
| Method | Simulation (s) | Inference time (ms), input window (days) | |||
|---|---|---|---|---|---|
| 7 | 30 | 60 | 90 | ||
| EXPACS (one CPU thread) | 57.6 | - | - | - | - |
| DeepONet | - | 0.981 | 1.256 | 0.987 | 1.007 |
| Single-branch GRU | - | 0.993 | 1.006 | 1.016 | 1.025 |
| Single-branch LSTM | - | 1.005 | 1.021 | 1.032 | 1.054 |
| Multi-branch GRU | - | 1.262 | 1.309 | 1.444 | 1.532 |
| Predictor | Trained for the task | Relative error (%) | SSIM |
|---|---|---|---|
| Reference field of the previous day (persistence) a | no | 0.291 | 0.9999 |
| TRON nowcast of the previous day, carried forward | no | 0.314 | 0.9994 |
| Static-branch DeepONet | yes | 0.546 | 0.9919 |
| TRON (S-LSTM) | yes | 0.805 | 0.9978 |
| TRON (S-LSTM), dropout 0.2, mean of 50 samples | yes | 0.864 | 0.9976 |
| Adaptation window (days) | Evaluation days | O (12 stations) | A (13-ch adapted) | B (MXCO masked) |
|---|---|---|---|---|
| 7 | 358 | 0.126% | 0.134% | 0.134% |
| 14 | 351 | 0.127% | 0.136% | 0.136% |
| 30 | 335 | 0.128% | 0.141% | 0.141% |
| Adaptation window (days) | Evaluation days | O (12 stations) | A (13-ch adapted) | B (MXCO masked) |
|---|---|---|---|---|
| 7 | 358 | 0.097% | 0.104% | 0.104% |
| 14 | 351 | 0.097% | 0.107% | 0.107% |
| 30 | 335 | 0.098% | 0.110% | 0.110% |
| Component | Explained variance ratio | Cumulative |
|---|---|---|
| PC1 | ||
| PC2 | ||
| PC3 | ||
| PC4 | ||
| PC5, PC6 |
| GHCN TMAX | PeakWeather pressure 2 m temperature | PeakWeather degree-hours | |
|---|---|---|---|
| Target (unit) | daily maximum temperature, TMAX ( ∘ C) | hourly 2 m temperature ( ∘ C) | heating degree-hours below 18 ∘ C summed over the past 24, 48 or 72 h ( ∘ C h); instantaneous 2 m temperature as control |
| Branch input | TMAX at 12 input stations, 14-day window | station pressure (QFE) at 30 barometers, 24 h window; no thermometer | 2 m temperature at 30 thermometers, 72 h window |
| Indirect input | no (same quantity) | yes (pressure for temperature) | no (same quantity; target is a window functional of it) |
| Source; license | GHCN-Daily [ 28 , 29 ] ; CC0-1.0 | PeakWeather [ 30 ] ; CC-BY-4.0, attribution to MeteoSwiss | PeakWeather [ 30 ] ; CC-BY-4.0, attribution to MeteoSwiss |
| Stations: input / held-out / training | 12 / 100 / 886 | 30 / 40 / 105 | 30 / 40 / 105 |
| Station splits | 3 random splits (0, 1, 2) | 1 held-out split; 3 overlapping barometer draws (0, 1, 2) | 1 held-out split |
| RMSE by split ( ∘ C) | |||||||
| method | clock | 0 | 1 | 2 | RMSE ( ∘ C) | pooled | |
| S-LSTM | off | 9 | 3.430 | 3.459 | 3.571 | 3.487 0.066 | 0.912 0.003 |
| S-LSTM | on | 9 | 3.423 | 3.434 | 3.489 | 3.449 0.036 | 0.914 0.004 |
| S-GRU | off | 9 | 3.383 | 3.437 | 3.562 | 3.461 0.080 | 0.914 0.002 |
| S-GRU | on | 9 | 3.394 | 3.386 | 3.518 | 3.433 0.068 | 0.915 0.003 |
| flattened-window DeepONet | off | 9 | 3.448 | 3.481 | 3.562 | 3.497 0.058 | 0.912 0.003 |
| contrast | clock | split | RMSE ( ∘ C) | 95% CI | stations better | outcome |
|---|---|---|---|---|---|---|
| S-LSTM two-stage | off | 0 | 0.119 | [ 0.270, 0.008] | 50/100 | Better |
| S-LSTM two-stage | off | 1 | 0.052 | [ 0.113, 0.008] | 53/100 | Unresolved |
| S-LSTM two-stage | off | 2 | 0.008 | [ 0.101, 0.081] | 43/100 | Unresolved |
| S-LSTM two-stage | on | 0 | 0.101 | [ 0.241, 0.001] | 50/100 | Unresolved |
| S-LSTM two-stage | on | 1 | 0.048 | [ 0.108, 0.013] | 59/100 | Unresolved |
| S-LSTM two-stage | on | 2 | 0.082 | [ 0.185, 0.012] | 45/100 | Unresolved |
| method | input | clock | RMSE ( ∘ C) | range ( ∘ C) | pooled | |
|---|---|---|---|---|---|---|
| S-LSTM | pressure | off | 9 | 1.897 0.034 | 1.853–1.964 | 0.949 0.002 |
| S-LSTM | pressure | on | 9 | 1.866 0.045 | 1.802–1.952 | 0.950 0.002 |
| S-GRU | pressure | off | 9 | 1.891 0.036 | 1.844–1.959 | 0.949 0.002 |
| S-GRU | pressure | on | 9 | 1.832 0.026 | 1.787–1.870 | 0.952 0.001 |
| flattened-window DeepONet | pressure | off | 9 | 2.008 0.070 | 1.924–2.132 | 0.942 0.004 |
| flattened-window DeepONet | pressure | on | 9 | 2.104 0.075 | 1.988–2.227 | 0.937 0.004 |
| test | cell | runs | value ( ∘ C) | 95% CI | thresh. | stations | outcome |
|---|---|---|---|---|---|---|---|
| S1 | S-LSTM pressure, clock on | 9 | 1.866 | – | 3.546 | – | pass |
| H1 | S-LSTM pressure, clock on | 18 | 2.098 | [ 2.442, 1.767] | 0.000 | – | supported |
| H2 | S-LSTM pressure, clock on | 9 | 0.040 | [ 0.151, 0.073] | 0.100 | 27/40 | Unresolved |
| H2, per draw | S-LSTM pressure, clock on, draw 0 | 3 | 0.006 | [ 0.117, 0.104] | 0.100 | – | Unresolved |
| H2, per draw | S-LSTM pressure, clock on, draw 1 | 3 | 0.041 | [ 0.157, 0.078] | 0.100 | – | Unresolved |
| H2, per draw | S-LSTM pressure, clock on, draw 2 | 3 | 0.073 | [ 0.212, 0.064] | 0.100 | – | Unresolved |
| target | clock | S-LSTM | S-GRU | flat.-window | static-branch |
|---|---|---|---|---|---|
| RMSE, mean s.d. | |||||
| instantaneous ( ∘ C) | off | 1.770 0.070 | 1.949 0.064 | 1.807 0.043 | 1.689 0.070 |
| instantaneous ( ∘ C) | on | 1.854 0.173 | 1.980 0.378 | 1.775 0.085 | 1.715 0.038 |
| 24 h ( ∘ C h) | off | 27.2 1.0 | 29.9 3.0 | 29.7 1.5 | 39.5 0.3 |
| 24 h ( ∘ C h) | on | 28.8 1.7 | 30.5 5.9 | 27.9 0.3 | 37.7 0.5 |
| 48 h ( ∘ C h) | on | 52.4 3.1 | 60.4 2.6 | 51.8 2.4 | 87.1 0.7 |
| dataset | input target | key numbers | runs | reason |
|---|---|---|---|---|
| NOAA OI SST, weekly [ 31 ] | SST at 12 grid cells SST at withheld grid cells | random 20% of cells: held-out relative error (%) S-LSTM 5.94 0.44; S-GRU 5.99 0.05; flat.-window 5.55 0.24; static-branch 5.74 0.04; sensor-free IDW climatology 4.38 (skill against it 0.88 to 0.61). 20% in 10 ∘ blocks: held-out relative error (%) S-LSTM 6.92 0.33; S-GRU 6.95 0.07; flat.-window 6.54 0.20; static-branch 6.79 0.24; sensor-free IDW climatology 6.36 (skill against it 0.20 to 0.06) | 24 runs (4 branches 2 designs 3 seeds) | no network beats a climatology that uses no sensors |
| SNOTEL [ 32 ] | snow-pillow SWE and fluxes SWE at 40 manual snow courses | regional, flux inputs, 26-day window, 3 seeds: S-LSTM 0.237 0.078; S-GRU 0.233 0.055; flat.-window 0.181 0.025; static-branch 0.079 0.083; spatial mean of training courses 0.163 (single fit). Seed-mean over all 24 branch configuration cells: 0.06 to 0.38 | 32 runs | weak reconstruction by every method |
| PeakWeather, instantaneous [ 30 ] | 2 m temperature at 12 thermometers 40 held-out stations (clock off, 24 h window) | held-out : S-LSTM 0.929 0.009; S-GRU 0.936 0.007; flat.-window 0.942 0.005; static-branch 0.941 0.003; per-hour lapse-rate fit 0.929 (single fit). RMSE: S-LSTM 2.16 0.14; S-GRU 2.05 0.11; flat.-window 1.96 0.08; static-branch 1.98 0.06; lapse-rate fit 2.17 ∘ C | 12 runs (4 branches 3 seeds) | little gain over a per-hour lapse-rate fit |
| TAO/TRITON CMEMS SLA | mooring winds sea-level anomaly at block-held-out 1 ∘ cells | G-T1 (planned: moorings at % valid daily wind in every split and % of days jointly usable): 14 moorings qualify individually, but the best 10-mooring set is jointly usable on 0.237 of the days of its worst split (best 12-mooring set 0.159); the largest set reaching 0.40 has 7 moorings. Fail; replaced post hoc by an input-availability rule. G-T2 (planned: two-stage lagged-ridge skill against a harmonic climatology, 60-day window, test years, block-held-out cells): 0.053 / 0.049 / 0.264 in partitions 0 / 1 / 2 (ORACLE ridge 0.273 / 0.212 / 0.301). Fail | no network run | dropped at gates G-T1 and G-T2 |
| dataset | window | batch | cap | pat. | LR | seeds | runs | h | hardware |
| GHCN TMAX | 14 d | 32 | 300 | 20 | 0.001 | def., 11, 22 | 72 | 1.4 | RTX PRO 4000 Blackwell; host not recorded |
| PeakWeather pressure 2 m temperature | 24 h | 32 | 300 | 20 | 0.001 | def., 11, 22 | 114 | 8.8 | RTX PRO 4000 Blackwell (workstation) |
| PeakWeather degree-hours | 72 h | 32 | 300 | 20 | 0.001 | def., 11, 22 | 109 | 7.7 | workstation GPUs 0 and 2 (queue scripts); model not recorded |
| NOAA OI SST (audit) | various | – | – | 10/15/20/40 | – | – | 290 | 38.4 | not recorded |
| PeakWeather (audit) | various | – | – | 10/20/30/cap30ep | – | – | 312 | 12.5 | not recorded |
| GHCN (audit) | various | – | – | 20 | – | – | 116 | 2.6 | not recorded |
Neural Operators
Neural operators learn mappings between functions, enabling fast surrogates for PDEs and other continuous physical systems.
See all 310 papers