1/Vtot = Σ 1/Vi.I modelli meteorologici numerici come ICON-CH1-EPS simulano l'atmosfera su una griglia regolare. ICON-CH1-EPS ha una risoluzione di circa 1 km: ogni cella rappresenta un quadrato di 1 km di lato, con un'unica quota media che "liscia" il terreno reale. Per San Marino, dove in meno di 1 km si passa dai 50 m della pianura ai 750 m di Monte Titano, questa approssimazione può causare errori importanti nella previsione.
Il downscaling ICON-CH1-DS-SM trasforma le previsioni dalla griglia originale a 1 km a una griglia a 90 m di risoluzione, utilizzando un modello digitale del terreno (DEM) ad alta risoluzione e diverse correzioni fisiche. Il risultato è una previsione che "vede" le valli, le creste, i versanti esposti al sole e quelli in ombra.
| Proprietà | Valore |
|---|---|
| Modello sorgente | ICON-CH1-EPS (MeteoSwiss, Svizzera) |
| Risoluzione sorgente | ~1 km (griglia icosaedrica, ~1,15 milioni di punti) |
| Risoluzione target | 90 m (griglia regolare UTM32N) |
| Dominio | San Marino e dintorni (~30 × 40 km) |
| Orizzonte previsionale | 0–33 ore (fino a 45 ore per il ciclo delle 03 UTC) |
| Aggiornamento | Ogni 3 ore (cicli 00, 03, 06, 09, 12, 15, 18, 21 UTC) |
| Mappe prodotte DS-SM 90 m | 48 in 7 settori (parametri fisicamente downscalabili via DEM) |
| Mappe prodotte ICON-CH1-EPS nativo | 23 aggiuntive in 6 settori (diagnostica convettiva + livelli pressione, ensemble 11 membri) |
| Formato output | WebP lossless (migrazione PNG→WebP completata 18 aprile 2026) |
| Parametro | Unità | Metodo di downscaling |
|---|---|---|
| Temperatura a 2 m | °C | Correzione altimetrica con gradiente termico locale (9 correzioni fisiche) |
| Punto di rugiada a 2 m | °C | Gradiente termico ridotto (−1,8 °C/km) |
| Umidità relativa | % | Derivata da temperatura e punto di rugiada (formula di Magnus) |
| Vento medio a 10 m | km/h | WindNinja: modello fluidodinamico che simula l'effetto del terreno sul flusso d'aria |
| Direzione del vento | ° | WindNinja: deviazione del flusso attorno a creste, valli, selle |
| Raffica massima | km/h | Modello di raffica Beljaars (1987) / Schulz (2008) applicato al vento WindNinja |
| Altezza neve | cm | Gradiente altimetrico positivo (più neve in quota) |
| Irraggiamento solare GTI | W/m² | Modello fisico a 3 componenti (diretta + diffusa + riflessa) |
| Irraggiamento solare GHI | W/m² | Ombre orografiche + fattore di vista del cielo |
| Precipitazione oraria | mm/h | Interpolazione spaziale dalla griglia ICON (IDW) |
| Precipitazione cumulata | mm | Accumulo progressivo dall'inizio della previsione |
| Tipo di precipitazione | — | Classificazione basata sul profilo di temperatura wet-bulb |
GEN — Meteo base (uso generale)
| Parametro | Formula / Metodo |
|---|---|
| Temperatura apparente | Wind Chill (Osczevski 2005) sotto 10 °C + Heat Index (NWS Rothfusz) sopra 27 °C |
| Tmin rolling 24 h | Minimo delle ultime 24 ore di T2m downscalato (ring buffer). Mostra le sacche di gelo a 90 m. Raggruppata con T2m nel segmented control "ist / min 24h / max 24h" del frontend |
| Tmax rolling 24 h | Massimo delle ultime 24 ore di T2m downscalato |
| Escursione termica 24 h | Tmax − Tmin dalle 24 h rolling. Rilevante per qualità viticola (polifenoli) |
| Temperatura bulbo umido | Equazione psicrometrica WMO (Newton-Raphson, Buck 1981), corretta per pressione locale da DEM. Precisione < 0,001 °C |
| Zero termico | Quota alla quale la temperatura raggiunge 0 °C (dal gradiente locale) |
| Base nubi (LCL) [novità 2026-04-18] | Altezza base nubi s.l.m. per pixel, calcolata con formula di Bolton (1980) eq. 22 da T2m e Td2m downscalati: TLCL = 1/[1/(Td−56) + ln(T/Td)/800] + 56, poi hLCL = cp(T−TLCL)/g. Accuratezza ±0,1 K |
| Cella nella nube [novità 2026-04-18] | Flag binario: pixel con quota DEM ≥ LCL_MSL e CLCT ≥ 50% sono fisicamente immersi nella nube. Colormap rosso semi-trasparente (alpha 60%) per evidenziarle su un territorio dove la cresta del Monte Titano (749 m) emerge spesso sopra valli a 200–400 m |
PRP — Precipitazione e neve (viabilità, turismo montano)
| Parametro | Formula / Metodo |
|---|---|
| Neve fresca 1 h | Variazione oraria della neve al suolo, corretta per altitudine |
| Neve fresca cumulata | Accumulo progressivo dall'inizio della previsione |
| Quota neve a 90 m | Confronto quota neve prevista (wet-bulb, Matsuo 1981) con DEM: pioggia / transizione / neve |
AGR — Agricoltura e zootecnia
| Parametro | Formula / Metodo |
|---|---|
| ET0 (evapotraspirazione) | Penman-Monteith ASCE oraria standard (radiazione piatta) |
| ET0 aspect-corrected [novità 2026-04-18] | FAO-56 / ASCE-PM hourly (Allen et al. 1998 eq. 6) ma con radiazione netta calcolata dal GTI downscalato 90m (rad_gti include aspect+slope+ombre+anisotropia). Il termine radiativo Rn = (1−α)·rad_gti + athb_s ICON. Risultato: versante sud +30 a +50% ET0 vs nord, fondovalle mattutino −30% in presenza di inversione |
| Rischio brina | Temperatura minima + ristagno aria fredda + stabilità atmosferica |
| Bagnatura fogliare | Modello Sentelhas (umidità, precipitazione, punto di rugiada) |
| Condizioni irrorazione | Composito vento < 15 km/h, 5–35 °C, RH 40–95%, no pioggia → 4 classi |
| Temperatura suolo | T_SO dal modello, interpolata a 90 m (livello superficiale) |
| Potenziale essiccazione | Basato su VPD (70%) + vento (30%). Corretto per Clausius-Clapeyron (Penman 1948) |
| THI (stress bestiame) | 0,8×T + RH×(T−14,4)/100 + 46,4 (NRC 1971). Soglie: 72 lieve, 78 moderato, 84 grave |
NRG — Energia e radiazione
| Parametro | Formula / Metodo |
|---|---|
| Resa fotovoltaico | GTI con efficienza variabile in funzione della temperatura del pannello |
SAF — Sicurezza e comfort (lavoro, turismo, droni)
| Parametro | Formula / Metodo |
|---|---|
| WBGT al sole | Bilancio energetico globo nero (Liljegren et al. 2008) |
| WBGT all'ombra | Come sopra, senza radiazione diretta |
| Allerta calore | Soglie esposizione lavorativa ISO 7243 su WBGT |
| UTCI al sole | Polinomio completo a 210 termini (Bröde et al. 2012), Tmrt da GHI (Matzarakis 2010) |
| UTCI all'ombra | Stesso polinomio con Tmrt = T (senza radiazione diretta). Confronto sole/ombra a 90 m |
| Rischio ghiaccio stradale | T superficie proxy + umidità + vento, 4 livelli (0 = nessuno, 3 = certo). Correzione raffreddamento radiativo notti calme |
| Indice UV | Da radiazione CAMS + fattore altitudine |
| Nebbia a 90 m (legacy) | Immersione nella nube: confronto ceiling MSL con DEM (dall'analisi CLC su 80 livelli modello) |
| Nebbia radiativa [novità 2026-04-18] | Probabilità [0–1] di nebbia di irraggiamento notturno. Fuzzy logic (Tag & Peak 1996): media geometrica di 6 membership smooth_step su {notte, vento calmo, RH > 95%, cielo sereno, CAPI > 0, Tsuperficie ≤ Td}. Il CAPI a 90 m identifica i fondovalle dove l'aria fredda ristagna |
| Nebbia di versante [novità 2026-04-18] | Probabilità [0–1] di nebbia orografica (upslope). Fuzzy logic su 4 condizioni: LCLMSL ≤ quota DEM (la nube intercetta il pendio), CLCL ICON > 10%, vento 2m > 0,5 m/s, componente upslope cos(wdir − aspect) > 0. Distingue la nebbia di versante dalla nebbia di fondovalle |
| Visibilità (m) [novità 2026-04-18] | Visibilità orizzontale al suolo [m], combinazione di 3 contributi via equazione di Koschmieder: 1/Vtot = 1/Vfog + 1/Vprecip + 1/Vaerosol. Vfog da Gultepe et al. (2006) eq. 8 (applicata solo a RH ≥ 80%), Vprecip da Stoelinga & Warner (1999) distingue rain da snow, Vaerosol = 30 km baseline. Boost fog_radiative: quando la probabilità di nebbia è alta, Vfog viene ridotto fino al 50% per compensare errori di downscaling sulla saturazione locale |
FIR — Incendi boschivi (protezione civile)
| Parametro | Formula / Metodo |
|---|---|
| FWI (pericolo incendio) | Sistema canadese completo (Van Wagner 1987) |
| ISI (propagazione) | Velocità iniziale di propagazione del fuoco |
| FFMC (umidità lettiera) | Contenuto di umidità della lettiera fine |
CNV — Convezione (parametri con valore aggiunto orografico 90 m)
| Parametro | Formula / Metodo |
|---|---|
| CAPE Surface-Based (J/kg) | Energia potenziale convettiva disponibile con parcel T2m/Td2m locali downscalati 90 m. Alta sui versanti sud riscaldati (riscaldamento differenziale), bassa nei fondovalle freddi mattutini (inversione termica). Integrale pseudoadiabatico con conservazione θe Bolton 1980 eq. 38, Tv correction ovunque. Unico CAPE che beneficia realmente del downscaling 90 m (stato termodinamico iniziale varia per pixel grazie a T2m/Td2m 90 m). |
| CIN Surface-Based (J/kg) | Energia di inibizione convettiva del parcel superficiale: rappresenta quanto forzante dinamico (fronte, convergenza) serve per innescare la convezione. Alta nelle ore notturne con inversione, bassa dopo riscaldamento pomeridiano. |
Il cuore del sistema è una catena di correzioni che trasformano il valore a 1 km nel valore a 90 m. Ogni correzione aggiunge un'informazione fisica che il modello originale non risolve.
Ogni pixel a 90 m riceve un valore interpolato dai 4 punti ICON più vicini, pesati per l'inverso della distanza al quadrato. Questo produce un campo liscio — la stessa temperatura per il fondovalle e per la cresta.
La temperatura diminuisce con la quota, ma non in modo costante: il gradiente varia nello spazio e nel tempo. Per la temperatura a 2 m, il sistema calcola il gradiente direttamente dal profilo verticale del modello: la regressione lineare della temperatura sui 5 livelli più bassi (da ~50 a ~500 m sopra il suolo) fornisce il gradiente atmosferico puro, senza contaminazione da effetti di superficie. Questo gradiente viene poi applicato alla differenza di quota tra il DEM a 90 m e l'orografia del modello:
T_90m = T_interpolata + gradiente_atmosferico × (quota_DEM − quota_modello)
Il vantaggio di usare il profilo verticale anziché la regressione spaziale (metodo precedente, basato su 12 punti ICON vicini a quote diverse) è che separa nettamente la componente atmosferica da quella superficiale (uso del suolo, esposizione, ristagno freddo), evitando il doppio conteggio con le correzioni 4–7 che correggono specificamente gli effetti di superficie.
Se i dati del profilo verticale non sono disponibili, il sistema ricade automaticamente sulla regressione spaziale a 12 vicini.
Nota importante: questa correzione è aggiuntiva rispetto al gradiente lineare del passo 2, non alternativa. Il passo 2 applica un gradiente costante (ad esempio −6,5 °C/km) lungo tutta la colonna d'aria. Ma in realtà il profilo termico reale non è mai perfettamente lineare: nelle notti serene si formano inversioni — strati dove la temperatura aumenta con la quota.
Per catturare queste strutture, il sistema usa i dati di temperatura ai 21 livelli verticali più bassi del modello (dal suolo fino a ~2000 m) per ricostruire il profilo reale. Poi calcola la differenza tra ciò che dice il profilo reale e ciò che dice il gradiente lineare già applicato al passo 2:
ΔT = T_profilo_reale(quota_DEM) − T_gradiente_lineare(quota_DEM)
Questa differenza è zero quando il profilo è effettivamente lineare (nessuna correzione aggiuntiva), e diventa significativa solo in presenza di inversioni o strati isotermi. Può valere fino a +5 °C nelle valli in condizioni di inversione notturna.
In sintesi: il passo 2 stabilisce la pendenza media del profilo, il passo 3 ne corregge le deviazioni.
Riferimenti: Whiteman (2000), Sheridan et al. (2014), Lundquist et al. (2008).
Le valli strette e i fondovalle accumulano aria fredda per gravità: l'aria più densa scivola verso il basso lungo i pendii (flusso catabatico). L'intensità del fenomeno dipende dalla morfologia del terreno (indice CAPI, pre-calcolato dal DEM) e dalla stabilità dello strato limite atmosferico (flusso di calore sensibile dal modello). Quando lo strato è stabile (aria più calda sopra aria più fredda), il ristagno si intensifica.
Riferimenti: Holden et al. (2011), Lundquist et al. (2008).
Il raffreddamento radiativo a onda lunga (la radiazione infrarossa emessa dalla superficie verso lo spazio) controlla l'intensità del ristagno freddo notturno. In notti serene, la superficie perde molto calore per irraggiamento (−100 W/m²) e il ristagno freddo si amplifica del 50%. In notti nuvolose, le nubi restituiscono parte della radiazione (−20 W/m²) e il ristagno si riduce al 30%.
L'irraggiamento solare varia enormemente a 90 m: un versante esposto a sud riceve fino a 5 volte più energia di un fondovalle in ombra. Il sistema calcola l'anomalia di irraggiamento rispetto alla media del dominio e la converte in differenza di temperatura. L'effetto è attenuato gradualmente nelle celle immerse nella nube, in base allo spessore ottico della copertura nuvolosa (indice CLDEPTH).
Riferimenti: Barry & Hall (1982), Foley et al. (2003).
Superfici diverse rispondono diversamente al riscaldamento e al raffreddamento: l'urbano si scalda e si raffredda velocemente, il bosco attenua le escursioni, l'acqua stabilizza la temperatura. Il sistema usa la carta dell'uso del suolo CORINE Land Cover a 100 m per modulare l'effetto della temperatura superficiale prevista dal modello.
Riferimenti: Oke (1987), Stull (1988).
Novità 2026. Il sistema calcola l'altezza della base delle nubi (ceiling) dalla copertura nuvolosa su 80 livelli verticali del modello e la confronta con il DEM a 90 m. Se la quota del terreno supera la base della nube, quel pixel si trova dentro la nube.
La base delle nubi è un campo atmosferico che varia lentamente nello spazio (su scala chilometrica), quindi si presta bene all'interpolazione da 1 km a 90 m. La variabilità del terreno è catturata interamente dal DEM ad alta risoluzione: il sistema distingue una cresta che emerge dalla nube da una valle che ne è immersa.
Effetti sulle celle immerse:
L'algoritmo per il calcolo del ceiling è identico a quello utilizzato dal servizio meteorologico tedesco (DWD) nel modello ICON: la base della nube corrisponde al primo livello dal basso in cui la copertura nuvolosa supera il 50%.
Il campo di vento è downscalato con WindNinja, un modello fluidodinamico sviluppato dal Servizio Forestale degli Stati Uniti (USFS) specificamente per simulare il flusso d'aria su terreni complessi. WindNinja risolve le equazioni del moto su una griglia tridimensionale ancorata al DEM a 90 m, producendo velocità e direzione del vento che riflettono la canalizzazione nelle valli, l'accelerazione sulle creste e le deviazioni attorno ai rilievi.
Le raffiche vengono stimate applicando al campo di vento medio il modello di Beljaars (1987) nella formulazione adottata da ICON (Schulz 2008), che calcola un fattore di raffica in funzione della rugosità del terreno.
Il modello solare a 90 m è il componente più sofisticato. Separa la radiazione in tre contributi fisici:
Componente diretta: il raggio solare diretto, attenuato dalle ombre del terreno. Le ombre sono calcolate con angoli d'orizzonte pre-computati su 72 direzioni e fino a 18 km di distanza, con transizione graduale (penombra ±0,5°) per evitare ombre binarie irrealistiche.
Componente diffusa: la luce diffusa dal cielo, calcolata con il modello Hay-Davies (1980). Distingue tra componente isotropica (cielo uniforme) e circumsolare (concentrata attorno al disco solare). È pesata per il fattore di vista del cielo (SVF): in un fondovalle stretto il cielo visibile è ridotto, quindi la radiazione diffusa è minore.
Componente riflessa: la luce riflessa dal terreno circostante, con trattamento anisotropo (il versante illuminato dal sole riflette di più del versante in ombra). L'albedo (la capacità di riflessione della superficie) varia con il mese e l'altitudine: da 0,18 per erba e roccia a 0,55 per neve invecchiata.
L'LCL (Lifting Condensation Level) è la quota alla quale una particella d'aria sollevata dal suolo raggiunge la saturazione. Fisicamente corrisponde alla base inferiore delle nubi cumuliformi (stratocumuli, cumuli) generate per convezione termica. A differenza del metodo "ceiling" del passo 8 (che usa la copertura nuvolosa su 80 livelli ICON), l'LCL calcolato localmente può essere più basso di 100–500 m nei fondovalle freddi umidi, catturando strutture che ICON a 1 km non risolve.
La formula di Bolton (1980) eq. 22 è un'approssimazione empirica con accuratezza ±0,1 K, calcolata da T2m e Td2m già downscalati a 90 m (quindi include lapse rate locale e inversioni ML):
T_LCL [K] = 1 / [1/(T_d − 56) + ln(T/T_d)/800] + 56
h_LCL_AGL = c_p · (T − T_LCL) / g (c_p = 1005,7 J/kg/K, g = 9,81 m/s²)
LCL_MSL = h_LCL_AGL + z_DEM
Il flag cloud_in_cloud combina LCL_MSL con il DEM a 90 m e con la copertura nuvolosa ICON (CLCT ≥ 50%): restituisce 1 dove il terreno supera l'altezza base nubi e c'è effettiva copertura. Questo è il parametro più utile per il Monte Titano (749 m): permette di distinguere "cresta nella nube" da "valle sotto la nube". Visualizzazione: rosso semi-trasparente (alpha 60%) per lasciare visibile il terreno sottostante.
Riferimento: Bolton D. (1980). The computation of equivalent potential temperature. Mon. Weather Rev. 108, 1046–1053.
Il vecchio parametro fog monolitico (basato su immersione nella nube) non distingueva tra due fenomeni fisicamente molto diversi, che richiedono condizioni e previsioni diverse:
Il downscaling a 90 m è particolarmente adatto a distinguerli: l'indice CAPI morfologico (Holden et al. 2011) identifica precisamente i fondovalle, l'aspect del DEM determina se un versante è esposto al vento, e la combinazione LCL + DEM dà la quota di intercettazione della nube per-pixel.
Il metodo usa fuzzy logic (Tag & Peak 1996): ogni condizione è valutata con una "membership function" smooth_step che restituisce un grado di adesione in [0,1], e la probabilità finale è la media geometrica dei gradi:
fog_radiative = (μ_notte · μ_calma · μ_umidità · μ_cielo_sereno · μ_CAPI · μ_saturazione)^(1/6)
fog_slope = (μ_intercetto · μ_CLCL · μ_vento_advettivo · μ_upslope)^(1/4)
Riferimenti: Whiteman C.D. (2000) Mountain Meteorology cap. 6, Oxford Univ. Press. Tag P.M., Peak T.E. (1996) Machine learning of maritime fog forecast rules. J. Appl. Meteorol. 35, 714–724.
La visibilità orizzontale in metri è calcolata combinando tre contributi fisici tramite l'equazione di Koschmieder (1924):
1/V_tot = 1/V_fog + 1/V_precip + 1/V_aerosol
Vfog dalla formula empirica di Gultepe et al. (2006) eq. 8, validata dal progetto FRAM-L (Fog Remote sensing and modeling):
V_fog [km] = 41,66 · RH^(-0,7155) · exp(-0,0024 · C)
con RH in % e C = intensità precipitazione in mm/h. Applicata solo per RH ≥ 80% (regime fog), altrove Vfog → ∞.
Vprecip dal modello RUC (Rapid Update Cycle) di Stoelinga & Warner (1999), che distingue pioggia da neve:
V_rain = 1,1 · P^(-0,75) [km]
V_snow = 1,0 · P^(-1,00) [km]
Vaerosol è una costante (30 km) che rappresenta l'attenuazione dovuta a polveri e aerosol in aria relativamente pulita (rural background).
Boost fog_radiative: quando la diagnosi fuzzy del passo 12 dà alta probabilità di nebbia radiativa, la Vfog viene ridotta fino al 50% (V_fog_boosted = V_fog · (1 − 0,5 · prob_nebbia)). Questo compensa il caso in cui l'RH2m downscalato non cattura esattamente la saturazione (es. errore Td dell'ordine di 1–2 K) ma le altre condizioni fisiche indicano chiaramente la presenza di nebbia.
Unità di misura: metri (standard WMO, coerente con AROME-PI nowcasting). Range fisico: da 20 m (nebbia fittissima) a 50 km (aria limpidissima). I valori interni del modello sono calcolati in km e convertiti in metri per coerenza con le altre mappe di visibilità del sito.
Riferimenti: Gultepe I. et al. (2006) Pure Appl. Geophys. 164, 1121–1159. Stoelinga M., Warner T. (1999) J. Appl. Meteorol. 38, 385–404. Koschmieder H. (1924) Theorie der horizontalen Sichtweite. Beitr. Phys. Atmos. 12.
Questo passo descrive ora solo la parte che resta in DS-SM 90 m, ovvero il CAPE/CIN Surface-Based (SB). Le varianti Most-Unstable (MU), LFC, EL sono state migrate al modello ICON-CH1-EPS nativo a 1 km (vedi sezione “ICON-CH1-EPS Convection Diagnostics” in fondo).
Il CAPE (Convective Available Potential Energy) e il CIN (Convective INhibition) misurano rispettivamente la quantità di energia che un’ascesa convettiva può liberare e quella che deve essere vinta prima dell’innesco. Il valore aggiunto del downscaling 90 m per il Surface-Based sta nel parcel iniziale: i fondovalle freddi mattutini hanno CAPE fortemente ridotto e CIN amplificato rispetto ai versanti sud già riscaldati dal sole. ICON a 1 km media questi contrasti; il DS-SM a 90 m li risolve pixel per pixel grazie a T2m/Td2m downscalati ai quali il parcel aderisce.
Il parcel ambientale sopra il suolo (profilo T + QV ai livelli modello 60–80) è lo stesso per tutto il dominio San Marino (~10×7 km) — varia poco a scala sub-kilometrica. Il metodo “B-lite” usa un profilo per ogni pixel ICON nativo (~1 km) e associa ogni pixel DEM 90 m al pixel ICON più vicino (nearest-neighbor via KDTree in coordinate WGS84). Questa scelta scala naturalmente a domini più grandi (es. Romagna, 80×60 km, dove il gradiente sinottico tra costa Adriatica e crinale Appennino richiede profili distinti).
Due tipologie di parcel:
Ascesa del parcel — pseudoadiabatica WMO:
Integrazione:
CAPE = g · ∫(LFC → EL) (Tv_parcel − Tv_env) / Tv_env dz [positivo, J/kg]
CIN = g · ∫(start → LFC) (Tv_env − Tv_parcel) / Tv_env dz dove buoyancy < 0
L’LFC (Level of Free Convection) è il primo crossing dove il parcel diventa più caldo dell’ambiente, interpolato linearmente tra i due livelli adiacenti. L’EL (Equilibrium Level) è l’ultimo crossing dove il parcel torna negativo (non il primo, per non fermarsi a oscillazioni minori della curva): questo allinea il nostro calcolo con SPC e MetPy.
La pressione ai livelli ambientali è calcolata dalla formula ISA standard dalle altezze HHL (già disponibili). L’uso di P ICON effettiva (già scaricato, non ancora usato qui) è previsto come miglioramento successivo: ridurrebbe l’errore su CAPE di ~50 J/kg in anticicloni/cicloni estremi.
Output DS-SM 90 m: 2 mappe in categoria CNV — cape_sb, cin_sb (le uniche dove il downscaling 90 m ha valore fisico reale grazie ai parcel T2m/Td2m downscalati).
Test fisici: 9 test pytest validano contro valori pubblicati: sounding analitico Weisman-Klemp (1982) con CAPE ~2200 J/kg riprodotto entro ±400 J/kg; inversione superficiale notturna con CIN > 30 J/kg; aria secca stabile con CAPE = 0; parcel elevato con MU_CAPE sensibilmente maggiore di SB_CAPE.
Riferimenti: Bolton D. (1980) Mon. Weather Rev. 108, 1046–1053 (θe eq. 38, T_LCL eq. 21/22). Emanuel K.A. (1994) Atmospheric Convection, Oxford Univ. Press. Weisman M.L., Klemp J.B. (1982) Mon. Weather Rev. 110, 504–520 (sounding analitico per test). Doswell C.A., Rasmussen E.N. (1994) Weather Forecasting 9, 625–629 (Tv correction).
L'evapotraspirazione di riferimento ET0 standard utilizza la radiazione globale orizzontale (GHI), trattando il terreno come un piano. Ma su un territorio con forte variabilità orografica come San Marino, la radiazione reale ricevuta da una coltura dipende fortemente dall'inclinazione e dall'esposizione del versante.
Il DS-SM ha già un modello solare a 3 componenti che produce il GTI (Global Tilted Irradiance): la radiazione effettiva su superficie inclinata reale, che include aspect, slope, ombre dell'orizzonte e riflessione anisotropa. La versione aspect-corrected dell'ET0 semplicemente sostituisce GHI con GTI nel bilancio radiativo della Penman-Monteith oraria (ASCE 2005 eq. 1):
ET0 = [0,408 · Δ · (R_n − G) + γ · (C_n/(T+273)) · u_2 · (e_s − e_a)]
---------------------------------------------------------------
Δ + γ · (1 + C_d · u_2)
R_n = (1 − α) · rad_gti + athb_s_ICON (versione DS-SM)
R_n = (1 − α) · rad_ghi − R_nl (versione standard piatta)
dove Δ è la pendenza della curva di saturazione (kPa/°C), γ la costante psicrometrica, Cn=37 e Cd=0,24 (diurno) o 0,96 (notturno) sono i coefficienti FAO-56 Tab. 1 per short reference crop. La pressione atmosferica è calcolata dalla quota DEM con formula ISA standard.
Il risultato è che nelle ore centrali della giornata:
Questa informazione è rilevante per la programmazione irrigua locale e per la gestione differenziata dei vigneti esposti diversamente (resa e qualità del grappolo).
Riferimenti: Allen R.G., Pereira L.S., Raes D., Smith M. (1998) FAO Irrigation and Drainage Paper 56, eq. 6. ASCE-EWRI (2005) Standardized Reference Evapotranspiration, Walter I.A. et al., eq. 1.
Parametri precedentemente in DS-SM, ora calcolati sul modello ICON-CH1-EPS nativo a 1 km (dove il profilo verticale CLC risiede fisicamente). Vedi “ICON-CH1-EPS Convection Diagnostics” in fondo. La descrizione tecnica del calcolo resta valida:
Due mappe diagnostiche derivate dal profilo verticale di copertura nuvolosa (CLC) ai 80 livelli modello ICON, già scaricato per il calcolo del ceiling (passo 8 “Immersione nella nube”).
CLC ≥ 50%. È il complemento del ceiling (base nubi) già calcolato.cloud_top − ceiling_msl, clampato a non negativo. Indicatore convezione vs stratificazione: < 500 m tipico di strati bassi (stratocumulo, nebbia stratiforme), 500–3000 m convezione moderata (cumuli), > 3 km tipico di cumulonembo/altocumulus castellanus (instabilità profonda).Entrambe sono calcolate su cesta durante l'estrazione dei profili ICON (nessun GRIB aggiuntivo da scaricare: CLC già presente). Propagate dai pixel ICON 1 km ai pixel DEM 90 m via nearest-neighbor (B-lite), stessa logica delle altre diagnostiche ML.
Utilità operativa: aviazione VFR/IFR (quota sommità per decisione di volo), parapendio (rilevamento strati di convezione potenziale, termiche in sviluppo), turismo montano (previsione “mare di nubi” visibile dalle creste).
Il passo 2 (“Correzione di quota”) descrive come il gradiente verticale del punto di rugiada Td sia stato esteso dal metodo “12 vicini spaziali” al metodo verticale basato sull'umidità specifica QV ricostruita per ciascun livello modello (fix 18 aprile). La formula richiede la pressione ai livelli, che inizialmente era stimata con l'atmosfera standard ISA.
Dal 19 aprile il sistema scarica ed estrae anche la pressione effettiva ICON (shortName p) ai 31 livelli modello 50–80, già disponibile come variabile downloadata dal pacchetto STAC MeteoSwiss. La funzione compute_ml_lapse_rate_td() ora preferisce la pressione ICON effettiva se presente nel NPZ, con fallback automatico a ISA se assente.
Accuratezza attesa: +0.2 °C su Td in condizioni anticicloniche (P sfc > 1020 hPa) o cicloniche (P sfc < 990 hPa), dove lo scostamento da ISA (1013 hPa) ha effetto non trascurabile sul calcolo di e_vapor = P · QV / (ε + QV). In regime barometrico normale la correzione è marginale.
Parametro precedentemente in DS-SM 90 m, ora fornito dal modello nativo come TWATER (Total Column Water, includes vapor + liquid + ice + precip): campo single-level nativo MeteoSwiss, disponibile per tutti 11 membri ensemble, zero calcolo custom. Vedi “ICON-CH1-EPS Convection Diagnostics” in fondo.
PWAT (Precipitable Water) è la quantità d'acqua totale presente nella colonna atmosferica verticale, espressa come altezza di acqua equivalente (mm). Se tutta l'umidità dell'atmosfera sopra un punto condensasse e precipitasse, PWAT sarebbe la pioggia totale teoricamente possibile.
PWAT = (1/g) · ∫sfctop QV dp [kg/m² = mm con ρacqua=1000]
Discretizzazione trapezoidal sui 31 livelli modello 50–80:
PWAT = (1/g) · Σi 0.5 · (QVi + QVi+1) · |Pi − Pi+1|
Range tipici: 5–15 mm in inverno (aria fredda secca), 15–30 mm in estate mediterranea, > 40 mm solo in avvezioni umide sub-tropicali estreme (“atmospheric rivers”). PWAT è un indicatore chiave di intensità precipitativa potenziale: a parità di shear e CAPE, temporali con PWAT più alto producono più pioggia per unità di tempo.
Utilità: monitoring siccità atmosferica, confronto con osservazioni GNSS-PWAT (ZTD da ricevitori GPS), identificazione flussi umidi di origine marina. Mappa in categoria MSC, scala colormap BuPu (bianco = secco, viola scuro = umido).
Riferimento: AMS Glossary — Precipitable Water.
Parametri precedentemente calcolati in DS-SM 90 m (shear 0-1/0-3 km, BRN, wind @ 850 hPa), ora migrati al modello ICON-CH1-EPS nativo a 1 km — dove sono calcolati sui profili U/V multilivello di tutti 11 membri ensemble, abilitando mean/spread/probabilità. È stato aggiunto anche shear 0-6 km (deep-layer shear, utile per mesocicloni) e wind @ 500/700 hPa (jet stream, analisi sinottica). Vedi sezione finale.
Sfruttando il download di U/V (vento zonale/meridionale) ai 31 livelli modello 50–80, il sistema produce 5 nuove mappe diagnostiche per la previsione di temporali organizzati e per l'analisi del vento in quota.
Il forcing del vento al suolo è invariato: WindNinja CFD continua a ricevere come input U/V a 10 m ICON. Le nuove mappe sono diagnostiche pure aggiunte accanto alla pipeline esistente, non sostituiscono nulla.
Wind @ 850 hPa (modulo km/h + direzione °): il vento alla quota di circa 1500 m AGL, classico livello di riferimento meteorologico per l'analisi sinottica (fronti, avvezione termica). Calcolato per interpolazione log-pressione sui livelli modello. Utile per vedere la struttura del flusso atmosferico senza il disturbo dell'orografia presente nel vento a 10 m.
Bulk wind shear (m/s): modulo vettoriale della differenza di vento tra due quote sopra il suolo locale (AGL):
shearA→B = √((uB − uA)² + (vB − vA)²)
BRN (Bulk Richardson Number): indice dimensionale che misura il rapporto tra l'energia termodinamica convettiva (CAPE) e l'energia dinamica (shear):
BRN = CAPEMU / (0.5 · shear0−3km²)
Classificazione operativa (Weisman & Klemp 1982, NOAA SPC):
Il BRN combina CAPE_MU già calcolato nella mappa CAPE (passo 14) con il nuovo shear 0–3 km: zero costo aggiuntivo di estrazione. È classificato in categoria CNV (Convezione) perché è direttamente collegato alla previsione di temporali.
Scelte di design: (a) il profilo U/V ambientale è unico per pixel ICON 1 km e propagato via nearest-neighbor ai pixel 90 m (metodo B-lite, scalabile automaticamente al futuro dominio Romagna); (b) shear 0–6 km è volutamente non prodotto — il regime SPC-classico “deep-layer shear” richiederebbe livelli modello più alti (45 o inferiore) ed è poco rilevante per la convezione mediterranea/appenninica, più shallow-based; (c) lo Storm-Relative Helicity (SRH) è escluso perché richiede un vettore di moto della tempesta parametrico (Bunkers et al. 2000) che ha scarso valore discriminante alle nostre latitudini.
Riferimenti: Weisman M.L., Klemp J.B. (1982) Mon. Weather Rev. 110, 504–520 (BRN supercell regimes). Rasmussen E.N., Blanchard D.O. (1998) Weather Forecasting 13, 1148–1164 (parametri sondaggi convezione). NOAA SPC Mesoscale Analysis (shear operational).
Nota 18 aprile 2026: la limitazione precedentemente elencata qui (gradiente del punto di rugiada stimato da 12 punti spaziali anziché dal profilo verticale) è stata risolta. Ora il sistema scarica l'umidità specifica QV ai livelli modello 60–80 e calcola Td ai livelli via QV + T + P_ISA, applicando la stessa regressione verticale usata per T. Vedi passo 2 in "Come funziona: le correzioni fisiche".
alb_rad, già scaricato e mappato) per aggiornare la riflettività in tempo reale dopo ogni nevicata.La domanda fondamentale: il downscaling a 90 m è più accurato della previsione originale a 1 km?
| Prodotto | Sigla | Descrizione |
|---|---|---|
| ICON-CH1-EPS grezzo | RAW | Valore al punto griglia ICON più vicino (1 km) |
| Point Forecast con MOS | PF | Previsione puntuale con correzione statistica (filtro di Kalman) basata sulle osservazioni passate della stazione |
| Downscaling 90 m | DS | Valore dal pixel DS-SM più vicino alla stazione di validazione |
| Metrica | Formula | Cosa misura |
|---|---|---|
| Bias (errore sistematico) | media(previsione − osservazione) | Se la previsione tende a sovrastimare o sottostimare |
| MAE (errore medio assoluto) | media(|previsione − osservazione|) | L'errore tipico in valore assoluto |
| RMSE (radice dell'errore quadratico medio) | √(media((prev − oss)²)) | Penalizza gli errori grandi più di quelli piccoli |
| Correlazione | Pearson(prev, oss) | Quanto bene la previsione segue la variabilità osservata |
Il downscaling dovrebbe migliorare di più in certe condizioni. La validazione va suddivisa per:
| Condizione | Downscaling migliore del modello originale? | Perché |
|---|---|---|
| Notte serena, fondovalle | Sì, miglioramento forte | Ristagno freddo + inversione + modulazione infrarossa |
| Notte serena, cresta | Sì, moderato | Inversione dal profilo verticale corregge il gradiente |
| Giorno soleggiato, versante sud | Sì, forte | Riscaldamento solare differenziale (ombre, esposizione) |
| Giorno coperto, pianura | No o minimo | Nessuna correzione attiva (il campo è già uniforme) |
| Nebbia in valle | Sì, moderato | Immersione nella nube (novità 2026) |
| Vento in terreno complesso | Sì | WindNinja simula canalizzazione e accelerazione orografica |
| Precipitazione | Minimo | Solo interpolazione spaziale, senza correzione orografica |
Il downscaling non dovrebbe peggiorare la previsione in nessuna condizione. Se lo fa, indica un errore nel codice o un coefficiente da ricalibrare.
A partire dal 20 aprile 2026, la diagnostica convettiva “non-downscalabile a 90 m” è stata spostata dal dominio DS-SM 90 m al modello sinottico ICON-CH1-EPS nativo a 1 km, dove gira sull'intera area alpi-europa-centrale (~1800×1300 km) e sfrutta l'ensemble 11 membri per produrre statistiche probabilistiche (mean, spread, P>soglia).
Il downscaling 90 m aggiunge valore fisico solo dove il DEM ad alta risoluzione influenza realmente il risultato: temperatura (gradiente + inversioni + CAPI), vento (WindNinja CFD), radiazione (aspect + ombre + SVF), CAPE Surface-Based (parcel T2m/Td2m locale).
I parametri che dipendono dal profilo verticale del modello (CAPE_MU con parcel elevato, LFC, EL, shear, BRN, PWAT, cloud_top da CLC ai 80 livelli, wind a quote pressione) variano sulla scala del km del modello madre — non sub-chilometrica. Il downscaling a 90 m produceva solo mappe monocromatiche tipo “celle Voronoi 1 km interpolate” senza informazione nuova. Portandoli sul modello nativo:
Il catalogo ufficiale params_icon-ch1-eps.csv di MeteoSwiss elenca 64 parametri. Di questi, 9 rilevanti per convezione/moisture erano già calcolati da MeteoSwiss ma non scaricati dal nostro sistema. Sono stati aggiunti all'ensemble download (11 membri per ciascuno):
| Parametro | Unità | Categoria | Descrizione |
|---|---|---|---|
LCL_ML | m AGL | CNV | Lifted Condensation Level (altezza base nube convettiva da mixed-layer parcel, calcolato da MeteoSwiss) |
LFC_ML | m AGL | CNV | Level of Free Convection (altezza libera convezione, MeteoSwiss) |
CAPE_MU | J/kg | CNV | Convective Available Potential Energy, most unstable parcel (ora in ensemble, già scaricato ma solo ctrl prima) |
CIN_MU | J/kg | CNV | Convective Inhibition, most unstable parcel |
SI | K | CNV | Showalter Index (Showalter 1953): SI<0 instabile, SI<−3 severa |
SLI | K | CNV | Surface Lifted Index (Galway 1956): SLI<−4 temporali possibili, SLI<−8 severi |
SDI_2 | s−1 | CNV | Supercell Detection Index 2 (solo updrafts rotanti): > 0.003 regime supercella (Ramsay & Doswell 2005) |
CEILING | m | GEN | Altezza base nube più bassa (aviazione VFR/IFR) |
TWATER | kg/m² | MSC | Total Column Water (vapor+liquid+ice+precip): proxy flash-flood potenziale. Sostituisce PWAT precedentemente ricalcolato da QV. |
DBZ_850 | dBZ | PRP | Riflettività radar a 850 hPa (~1500 m AGL): precipitazione attiva a bassa quota |
13 parametri derivati via nuovo modulo python/mapgen/convection_diagnostics.py, chiamato da batch_native_maps.py dopo il plot principale. Funzioni pure vectorized su 1.15 M celle icosaedriche. U/V multilivello sono ora scaricati per tutti 11 membri (abilitando shear/wind@P ensemble); T/QV/CLC/P multilivello restano solo sul membro ctrl.
| Parametro | Calcolo | Ensemble | Categoria |
|---|---|---|---|
shear_0_1km | |V(1 km AGL) − V(surface)| da U/V multilivello + HHL | 11 membri | WND |
shear_0_3km | |V(3 km AGL) − V(surface)| | 11 membri | WND |
shear_0_6km | |V(6 km AGL) − V(surface)| — deep-layer shear (mesocicloni) | 11 membri | WND |
brn | CAPEMU / (0.5 · shear0-6km²). Regime supercellulare: 10-50 | 11 membri (combinazione CAPE_MU × shear) | CNV |
el | Equilibrium Level: integrazione CAPE parcel θe (Bolton 1980) → ultimo crossing sopra LFC_ML | ctrl-only | CNV |
wind_500hpa_mag, _dir | Interpolazione log-lineare U/V multilivello alla quota con P=500 hPa (~5500 m) | 11 membri | PL |
wind_700hpa_mag, _dir | Idem a 700 hPa (~3000 m) | 11 membri | PL |
wind_850hpa_mag, _dir | Idem a 850 hPa (~1500 m) | 11 membri | PL |
cloud_top_msl | Max altitudine con CLC > 50% dal profilo 80 livelli | ctrl-only | GEN |
cloud_thickness | top − base (gap-inclusive) | ctrl-only | CLD |
Per ogni parametro ensemble-enabled, oltre a mean e spread (std dev) vengono calcolate probabilità P(X>soglia) o P(X<soglia):
CAPE_MU: soglie 500, 1000, 1500, 2500 J/kg (regimi weak/marginal/moderate/strong instability)CIN_MU: P(CIN > −50 J/kg) = capping quasi assente, convezione possibileSI: P(SI < 0), P(SI < −3) — Showalter thresholdsSLI: P(SLI < 0), P(SLI < −4), P(SLI < −8) — Galway/NWS thresholdsSDI_2: P(SDI_2 > 0.003) — regime supercellulare (Ramsay & Doswell)TWATER: soglie 30, 40, 50 kg/m² (flash-flood proxy, eventi estremi > 40)DBZ_850: P(dBZ > 30), P(dBZ > 45) (precip leggera / heavy)shear_0_3km, shear_0_6km, wind_500hpa_mag, brn: soglie operative storm-forecastingpython/mapgen/convection_diagnostics.py — funzioni pure numpy vectorized (shear, BRN, EL, cloud_top/thickness, interp_wind_at_pressure). Performance: 0.42 s per shear su 1.15 M celle.compute_all() chiama tutte le funzioni con input (T, QV, U/V×11 membri, P, CLC, HHL, HSURF, CAPE_MU×11 membri, LFC_ML) e restituisce dict strutturato con ctrl + ensemble members.generate_convection_diagnostic_maps() in batch_native_maps.py, dispatchato via YAML composite “convection_diagnostics” nel modello ICON-CH1-EPS. Pattern mirror del composite cloud_diagnostics esistente.tests/test_convection_diagnostics.py. Include Weisman-Klemp analytic sounding per validazione EL, linear shear synthetic per validazione shear_bulk, log-linear profile per interp_wind_at_pressure, BRN regimi Weisman 1982.Solo i parametri dove il DEM 90 m aggiunge informazione fisica reale:
cape_sb, cin_sb (parcel T2m/Td2m 90 m downscalati)cloud_base (LCL calcolato localmente da T2m/Td2m 90 m con Bolton 1980)cloud_in_cloud (flag DEM vs LCL)fog_radiative, fog_slope (fuzzy logic con CAPI 90 m, aspect 90 m)visibility (Gultepe con fog boost 90 m)et0_aspect (Penman-Monteith con GTI 90 m aspect/slope/shadows)run_wind_shear_downscaling.py, run_pwat_downscaling.pyrun_cape_downscaling.py (solo SB), run_cloud_diag_downscaling.py (solo cloud_base/cloud_in_cloud)variable_mapping obsolete da icon-ch1-ds-sm.yamlbin/process-cycle-incremental.shDocumento di design e plan implementativo: docs/superpowers/specs/2026-04-19-icon-ch1-eps-convection-diagnostics-design.md + docs/superpowers/plans/2026-04-20-icon-ch1-eps-convection-diagnostics-plan.md.
data.geo.admin.ch/api/stac/v1/collections/ch.meteoschweiz.ogd-forecasting-icon-ch1. [native parameters catalog]