OceanTensorCube and ST-MMT: A Multimodal Data and Transformer System for Seven-Day Forecasting of Pyropia Bleaching
Organizations: NCS Instructor, Smart Human Resources Development Institute, Republic of Korea · NH Networks LLC, Republic of Korea · DreamTech Co., Ltd., Republic of Korea
Abstract
Bleaching of cultured Pyropia (laver) causes losses in Korean seaweed farming. We present a system that forecasts bleaching seven days ahead for farm clusters. OceanTensorCube aligns 32 channels from public marine, meteorological, ocean-model and satellite sources on a 30 m grid, and ST-MMT, a 9.2-million-parameter spatiotemporal transformer with hub-style multi-head cross-attention between variable groups, maps a 14-day input window to a seven-day-ahead bleaching probability. On the validation set, a six-seed ensemble detects every reported positive at a false-alarm rate of at most 3.5%, an upper bound because the report-based labels are positive-unlabeled. A same-date control on separately trained models indicates that the architecture discriminates between clusters when the calendar is held fixed. We also report the system's weaknesses: skill falls steeply as the quarterly nutrient survey ages (ROC-AUC 0.94 at 30 days, 0.53 at 129 days), and a single LSTM on cluster-average series outperforms a single ST-MMT, with only the ensemble leading at the operating point. We describe the labeling procedure, the evaluation protocol and the operational gate that withholds forecasts when inputs are stale. The forecasting service is operated at https://oceantensor.ai.kr.
Figures & tables
| Source | Variables (channels) | Type | Cadence |
| KOEM monitoring network | SST, DIN, DIP, SiO 2 , salinity, chlorophyll, DO, pH, NO 3 , NH 4 , suspended solids (11) | point stations | quarterly surveys |
| KMA ASOS | precipitation, solar radiation, wind speed, wind direction (sin, cos), air temperature (6) | point stations | hourly daily |
| HYCOM / KHOA; ocean model | surface current ; mixed-layer depth (3) | model grid / stations | sub-daily daily |
| Sentinel-2 L2A | near-infrared index (1) | 30 m imagery | 8-day composite |
| Derived | N:P ratio, SST anomaly, 7- and 30-day means, SST gradient, current speed, days since rain, NIR daily change (9) | computed | as parents |
| Calendar | month sine and cosine (2) | static | monthly |
| ch | Name | Source | Unit | ch | Name | Source | Unit |
| 0 | SST | KOEM | ∘ C | 16 | Wind speed | KMA | m/s |
| 1 | DIN | KOEM | mol/L | 17 | Wind direction (sin) | KMA | – |
| 2 | DIP | KOEM | mol/L | 18 | Wind direction (cos) | KMA | – |
| 3 | SiO 2 | KOEM | mol/L | 19 | Air temperature | KMA | ∘ C |
| 4 | DIN/DIP ratio | derived | ratio | 20 | pH | KOEM | – |
| 5 | Salinity | KOEM | psu | 21 | NO 3 | KOEM | mol/L |
| Factor | Channel | Condition | |
| DIN deficit | ch1 | below the regional lower quartile, exponentially weighted over 10 days | 30 |
| DIP deficit | ch2 | below the regional lower quartile, exponentially weighted over 10 days | 15 |
| N:P imbalance | ch4 | (nitrogen-limited) or (phosphorus-limited) | 15 |
| SST anomaly | ch12 | outside C of normal during the growing season | 15 |
| Short-term chlorophyll drop | ch28 | 7-day mean at least 30% below the 14-day mean | 15 |
| Rain deficit | ch14 | more than 14 days since rain | 10 |
| All samples | Validation (8 clusters 2 years) | |||||
| Period | Positive | Negative | Year | Total | Positive | Negative |
| 2024, Jan–Dec | 0 | 18,144 | 2024 | 1,568 | 0 | 1,568 |
| 2025, Jan–May | 0 | 12,052 | 2025 | 1,224 | 176 | 1,048 |
| 2025, 1–20 Oct (2 clusters) | 40 | 0 | ||||
| 2025, 1–17 Nov (20 clusters) | 340 | 0 | ||||
| Total | 380 | 30,196 | Total | 2,792 | 176 | 2,616 |
| Input | Hidden size | 256 | |
| Horizon | 7 days | Attention heads | 8 |
| Patch size | (256 tokens) | Joint / group ST blocks | 4 / 2 |
| Groups (A/B/C) | 20 / 7 / 3 channels (+2 calendar) | Cross-attention | A B, then C |
| Loss | focal, , class weights 0.5/1.5 | Fusion | |
| Ensemble | 6 seeds, mean probability | Parameters | 9,218,179 |
| Metric | Value | Predicted + | Predicted | |
| ROC-AUC | 0.9940 | Reported positive | 176 | 0 |
| PR-AUC (average precision) | 0.9097 | Negative (2024) | 92 | 1,476 |
| Recall at | 100.0% | Negative (2025) | 0 | 1,048 |
| Precision at | 65.7% | Negative, total | 92 | 2,524 |
| False-alarm rate at a | 3.5% | |||
| F1 at | 0.7928 |
| Replicate a | Within-date AUC | Bootstrap lower bound |
| 1 | 0.9778 | 0.9466 |
| 2 | 0.9763 | 0.9429 |
| 3 | 0.9857 | 0.9621 |
| Model | Parameters | ROC-AUC | PR-AUC | Precision | False alarm | MCC |
| XGBoost (3 seeds) | – a | 0.9150 | 0.6288 | 14.62% | 39.67% | 0.2970 |
| VGG16 (3 seeds) b | 39,913,602 | 0.9810 | 0.7704 | 41.49% | 36.44% | 0.7505 |
| LSTM (3 seeds) | 823,810 | 0.9953 | 0.9487 | 60.15% | 4.74% | 0.7550 |
| ST-MMT (6 single seeds) | 9,218,179 | 0.9907 | 0.8583 | 48.71% | 7.67% | 0.6681 |
| ST-MMT (6-seed ensemble) c | 9,218,179 | 0.9940 | 0.9096 | 65.67% | 3.52% | 0.7960 |
| Condition | ROC-AUC | Detection | False alarm | False alarm 2024 | Verdict |
| Original | 0.9940 | 100.0% | 3.5% | 5.9% | reference |
| Nine channels flattened in time | 0.9943 | 100.0% | 3.9% | 6.4% | usable |
| Nine channels set to zero | 0.9778 | 88.6% | 3.1% | 5.2% | not usable |
| Check | Previous pack | Regenerated pack |
| Share severe, September 2024 | 100% | 0.0% |
| Share severe, October 2024 | 92.5% | 0.0% |
| Share severe, November 2025 | 10.9% | 43.8% |
| Share of “early” grade | 0.0% (all 17 months) | 9.9% |
| Range across clusters, 1 Nov 2025 | 0.013 | 0.509 |
| Source | Latest nutrient value | Age (days) | Note |
| KOEM monitoring network | 28 May 2026 | 132 | August survey not yet published |
| NIFS serial oceanographic stations | 16 Dec 2025 | 295 | no 2026 nutrient records |
| NIFS fishing-ground stations | 5 Nov 2025 | 336 | sparse responses |
| NIFS real-time stations | – | – | temperature only |
| CMEMS biogeochemistry (model) | 5 Oct 2026 | 2 | daily; not used in training |
| (days) | Samples | ROC-AUC | Detection | False alarm | False alarm 2024 |
| 0 | 2,792 | 0.9940 | 100.0% | 3.5% | 5.9% |
| 30 | 2,537 | 0.9405 | 97.7% | 12.1% | 19.7% |
| 60 | 2,087 | 0.8333 | 67.6% | 24.4% | 37.6% |
| 90 | 1,637 | 0.6778 | 87.5% | 42.7% | 60.6% |
| 129 | 1,052 | 0.5267 | – | 67.4% | 78.0% |
| 180 | 820 | 0.3964 | – | 84.9% | 84.9% |
| Statistic | Value |
| NO 2 share, median / mean / 95th percentile | 5.26% / 8.07% / 23.84% |
| Median relative error, sum of species vs. reported DIN | 0.0000 |
| Samples with relative error | 1,278 (5.2%) |
| Correction factor for NO 3 +NH 4 (median / 95th percentile) | 1.055 / 1.313 |
| Group | Channel | 2024 | 2025 |
| Same survey (cannot fill the gap) | NO 3 (ch21) | 0.945 | 0.894 |
| DIP (ch2) | 0.800 | 0.809 | |
| SiO 2 (ch3) | 0.710 | 0.842 | |
| Daily (candidates) | Air temperature (ch19) | ||
| Month cosine (ch26) | 0.461 | 0.168 | |
| Month sine (ch25) | 0.345 | 0.046 |
| Stage | Rule | Default |
| 1. Freshness | block if the newest nutrient observation is older than the limit | 60 days |
| 2. Data quality | require declared valid channels; otherwise mark the forecast “unknown” | – |
| 3. Persistence | raise a grade after consecutive exceedances, lower it after consecutive clear days | 2 / 5 / 7 days |
| Configuration | ROC-AUC | F1 (recall 100%) | Nov./summer ratio | Alarm days 2024 |
| Original patches (22 valid channels) | 0.9825 | 0.7756 | – | – |
| Moving averages and currents restored (29) | 1.41 | 132 | ||
| Empty clusters excluded, SST anomaly and MLD | 9.42 | 0 | ||
| KOEM nutrients replaced by CMEMS | – | – |
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
| Configuration | Change | Params | ROC-AUC | PR-AUC | F1 | Precision |
| v7 (Wando only, 30 ch) | recall-100% threshold introduced | – | 0.903–0.927 | – | 0.907–0.926 | 83.3–86.2% |
| v13 | two tiles | – | 0.9071 | 0.8522 | 0.9193 | 87.72% |
| v14 | + Jindo (three tiles) | – | 0.8378 | 0.8091 | 0.7408 | 70.80% |
| v16 | + Goheung, 2016 event (four tiles) | – | 0.7790 | 0.7212 | 0.7580 † | – |
| v19 | N:P ratio bug fixed; self-attention | 3,819,650 | 0.8716 | 0.8516 | 0.8953 | 84.75% |
| xattn_v1 | 3-group hub cross-attention | 5,922,690 | 0.9191 | 0.9110 | 0.8013 | 75.36% |
| Measurement | Procedure | Date |
| Overall metrics and confusion matrix (Table 6 ) | validation set, 6-seed ensemble, | 2026-10-04/05 |
| Same-date control (Table 7 ) | separate 5-fold CV training, within-date AUC, cluster bootstrap | 2026-10-04/05 |
| Inference port check | element-wise comparison with training path | 2026-10-04 |
| Experiments A and B (Tables 9 , 12 ) | ablation script with pre-registered criteria | 2026-10-06 |
| 2026 patch channel audit | zero-fraction check across machines | 2026-10-07 |
| Nutrient freshness (Table 11 ) | per-source latest record | 2026-10-07 |
Time Series Forecasting
Time series forecasting predicts future values from ordered observations using statistical, neural, and probabilistic models to support decisions under uncertainty.
See all 839 papers