GribStream

Monitoraggio dei temporali basato su GFS

Questa dashboard segue il potenziale di temporali severi negli Stati Uniti continentali combinando Convective Available Potential Energy (CAPE) e Convective Inhibition (CIN) in un unico punteggio di severità convettiva. Nella richiesta, quel punteggio appare come storm_severity.

CAPE misura l'instabilità atmosferica. Rappresenta l'energia di galleggiamento che permette a particelle d'aria calda e umida di salire liberamente. Valori elevati di CAPE sono un segnale classico di un ambiente capace di sostenere forti correnti ascendenti, cumulonembi profondi e la pioggia intensa o grandine che spesso ne seguono.

CIN è l'altro lato dell'equazione. Esprime l'energia che una particella d'aria deve superare prima di iniziare a salire. Valori elevati di CIN agiscono come una cappa, impedendo la formazione dei temporali finché non viene erosa dal riscaldamento al suolo o da un'altra forzante.

Sommando CAPE e CIN si ottiene un controllo rapido dell'energia netta. Un punteggio di severità pari o superiore a 1200 indica che l'instabilità supera chiaramente l'inibizione. La mappa evidenzia ogni cella della griglia che raggiunge o supera quella soglia. La dimensione dei marcatori è proporzionale al punteggio, così gli ambienti più esplosivi emergono subito.

Un controllo temporale permette di percorrere le prossime 48 ore di previsione. Muovi il controllo per vedere i nuclei temporaleschi formarsi, crescere e spostarsi sulla mappa. Poiché i dati si aggiornano appena vengono pubblicati nuovi cicli del modello, questa vista funziona anche come monitoraggio quasi in tempo reale dei fenomeni convettivi severi.

Usa l'esempio curl sotto per estrarre lo stesso dataset direttamente dall'API GribStream e sperimentare con altre soglie, domini e risoluzioni.

Esempio di richiesta GribStream che alimenta la dashboard sotto:

curl -X POST 'https://gribstream.com/api/v2/gfs/timeseries' \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer [API_TOKEN]" \
    -d '{
    "fromTime": "2025-05-06T01:15:37.583Z",
    "untilTime": "2025-05-08T01:15:37.583Z",
    "minHorizon": 0,
    "maxHorizon": 500,
    "grid": {
            "minLatitude": 24.52,
            "maxLatitude": 49.38,
            "minLongitude": -124.77,
            "maxLongitude": -66.93,
            "step": 0.5
        },
        "variables": [
            {"name": "CAPE", "level": "180-0 mb above ground", "info": "", "alias": "cape"},
            {"name": "CIN", "level": "180-0 mb above ground", "info": "", "alias": "cin"}
        ],
        "expressions":[
            { "expression": "cape + cin", "alias": "storm_severity"},
            { "expression": "floor((date(forecasted_time) - date('\''2025-05-06T01:15:37.583Z'\'')).Hours())", "alias": "offset_hours"}
        ],
        "filter":{"expression": "storm_severity >= 1200"}
}'

Risultato:

forecasted_at,forecasted_time,lat,lon,name,cape,cin,offset_hours,storm_severity
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,36.5200,-74.7700,,1224.0000,-19.9896,0.0000,1204.0104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,36.0200,-74.7700,,1623.0000,-1.3896,0.0000,1621.6104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,36.0200,-74.2700,,1444.0000,0.0104,0.0000,1444.0104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,35.5200,-75.7700,,1270.0000,-7.2896,0.0000,1262.7104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,35.5200,-74.7700,,1686.0000,-0.2896,0.0000,1685.7104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,35.5200,-74.2700,,1307.0000,-0.0896,0.0000,1306.9104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,35.0200,-75.7700,,1298.0000,-4.9896,0.0000,1293.0104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,35.0200,-75.2700,,1220.0000,-6.6896,0.0000,1213.3104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,35.0200,-74.7700,,1377.0000,-0.1896,0.0000,1376.8104
2025-05-05T18:00:00Z,2025-05-06T02:00:00Z,35.0200,-74.2700,,1262.0000,-1.0896,0.0000,1260.9104
...