SUVI-Forecast AI Phase I SBIR
NOAA GOES-18 SUVI L2 Thematic Maps · HexaF Innovations LLC · platform.hexaf.io/suvi-ai/
Source
Mock
Storm
Moderate
Phase
Main
Mock
⚡ Data Connection
Source
GOES-18 SUVI L2 Thematic Map archive · 4-min cadence · ~1.6 MB/file Open NOAA archive ↗
📄 — click ⬇ Fetch to load via this page's PHP backend
⚠ Filenames are generated algorithmically at 4-min intervals — the PHP backend fetches the actual FITS from NOAA and parses it. Files that don't exist on NOAA will return an error.
🔍 Connection diagnosis
Showing mock data — click Live API and ⬇ Fetch to load real GOES-18 SUVI data, or ⚡ Try sample to preview with realistic live-shaped records
⏱ Cadence
⚡ Storm intensity
🔀 Compare
🤖 Forecasts
🔄 Refresh
Bright Region
Coronal Hole
Flare Activity
1h Skill
vs persistence
Codex model
3h Skill
vs persistence
Codex model
6h Skill
vs persistence
Codex model
📈 Solar Feature Evolution
5-min cadence · main phase
🤖 AI Forecast vs Actual — Bright Region
Codex-trained model · 1h / 3h / 6h lead times
⚡ Storm Intensity Comparison
Feature area fractions by storm class
Quiet Moderate Strong
🕸 Feature Profile Radar
Storm feature fingerprint
🌊 Storm Phase Dependency — Bright Region Evolution Click card to activate phase
📊 Forecast Skill Summary
TargetLeadMAERMSEROC-AUCBrier vs Persistencevs Climatology
🤖
Codex-trained model. Random forest + logistic regression ensemble on SUVI L2 thematic map feature sequences. With Live API mode the fc1/fc3/fc6 fields in each record will carry your Codex model's actual predictions once you wire them in.

API Overview

This page is its own backend. All API calls are handled by the same index.php via the ?api= query parameter. Responses are JSON with Access-Control-Allow-Origin: * so the dashboard (or any other client) can fetch them cross-origin.

Endpoints

GET https://platform.hexaf.io/suvi-ai/?api=health

Health check. Returns {"status":"ok"} when the PHP backend is reachable. The dashboard's 🔍 Ping button calls this endpoint.

GET https://platform.hexaf.io/suvi-ai/?api=features

Fetch GOES-18 SUVI L2 Thematic Map feature metrics for a given date. The PHP backend downloads FITS files from NOAA, parses the binary pixel arrays, and returns per-class area fractions.

datestringYYYY-MM-DD (UTC). Required.
cadenceintMinutes between files. Default 4 (native). Min 4, max 60.
limitintMax files to fetch. Default 24. Max 360. For testing use 6.
filestringSpecific FITS filename from the NOAA browser. Returns 1 record.

Example response

{
  "source":      "goes18",
  "date":        "2026-08-20",
  "cadence_min": 4,
  "storm_class": "moderate",
  "phase":       "main",
  "n_records":   24,
  "errors":      [],
  "records": [
    {
      "t":    "2026-08-20T00:00:00+00:00",
      "file": "dn_suvi-l2-thmap_g18_s20260820T000000Z_e20260820T000400Z_v1-0-3.fits",
      "qflag": 0,
      "br":  0.2341,   // bright_region   class 3
      "ch":  0.0876,   // coronal_hole    class 6
      "fl":  0.0012,   // flare           class 9
      "qs":  0.6541,   // quiet_sun       class 7
      "fm":  0.0231,   // filament        class 4
      "pr":  0.0112,   // prominence      class 5
      "lm":  0.0112,   // limb            class 8
      "fc1": 0.2341,   // 1h Codex forecast (persistence placeholder)
      "fc3": 0.2341,   // 3h forecast
      "fc6": 0.2341    // 6h forecast
    }
  ]
}

Caching

Parsed FITS records are cached to disk for 10 minutes (/tmp/suvi_cache). This means a second request for the same file is instant — only the first fetch hits NOAA.

Plugging in your Codex model

In process_file() near the bottom of the PHP section, replace the three placeholder lines with your model's inference:

// Replace these three lines:
'fc1' => $fracs['br'],
'fc3' => $fracs['br'],
'fc6' => $fracs['br'],

// With your Codex model output:
'fc1' => codex_predict($fracs, lead_h: 1),
'fc3' => codex_predict($fracs, lead_h: 3),
'fc6' => codex_predict($fracs, lead_h: 6),

FITS class IDs

SUVI L2 Thematic Map pixel values and their solar features:

0 → unlabeled   3 → bright_region (br)   6 → coronal_hole (ch)
1 → outer_space  4 → filament (fm)         7 → quiet_sun (qs)
              5 → prominence (pr)        8 → limb (lm)
                                         9 → flare (fl)

SUVI-Forecast AI

A machine-learning testbed for short-term solar-feature forecasting using NOAA GOES-R Solar Ultraviolet Imager (SUVI) Level-2 Thematic Map products. Developed by HexaF Innovations LLC under a NOAA-aligned Phase I SBIR concept.

Research Objective

Investigate whether time sequences of SUVI L2 Thematic Maps can be used to forecast the short-term evolution of solar features relevant to space-weather operations, moving from passive feature identification to probabilistic forecasting with 1h, 3h, and 6h lead times.

Forecast Targets

Bright-region area fraction, coronal-hole area, flare present flag, and flare pixel count — all derived from SUVI class-labeled solar feature maps.

Baseline Models

Persistence, climatology, logistic regression, random forest, XGBoost (optional), and a ConvLSTM scaffold. Codex-trained model provides 1h/3h/6h lead forecasts.

Data Source

NOAA GOES-18 SUVI L2 Thematic Map products at 4-minute cadence. Archived at data.ngdc.noaa.gov/.../suvi-l2-thmap/. Each file is ~1.6 MB binary FITS; this backend parses them without any Python dependency.

Contact

Muhammad Fraz Bashir, Ph.D. — Founder & CEO, HexaF Innovations LLC
frazbashir@hexaf.io · platform.hexaf.io