Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere...

27
Quaderno Tecnico ARPA-SMR n° 08/2002 Manuale programmatore del filtro di Kalman Stefano Costa Andrea Selvini

Transcript of Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere...

Page 1: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

Quaderno Tecnico ARPA-SMR

n° 08/2002

Manuale programmatore del filtro di Kalman

Stefano CostaAndrea Selvini

Page 2: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

2

Autori Stefano Costa e Andrea Selvini giugno ’02

MANUALE PROGRAMMATORE DEL FILTRO DI KALMAN Premessa storica Riteniamo doveroso iniziare questa nota tecnica con una premessa storica nella quale si

illustrerà il corso delle previsioni di temperatura formulate utilizzando il metodo del filtro di Kalman presso il Servizio Meteorologico dell’Emilia-Romagna, perché si vuole riconoscere quanto di questo nuova versione si basi sulle idee e sul lavoro compiuto nel passato dai dipendenti e dai collaboratori del Servizio Meteorologico.

La prima suite operativa delle previsioni formulate con il filtro di Kalman risale al Gennaio

1992. Al dott. Carlo Cacciamani, responsabile della Sala Operativa, si deve lo studio della parte teorica statistica nonché la stesura dello schema di flusso del codice, a Paolo Patruno spetta il merito di avere scritto il codice fortran originale e di avere realizzato l’archivio ad indice delle previsioni formulate nonché le procedure di comandi che gestivano il flusso dei programmi.

Il programma originale accedeva all’archivio grid contenente le previsioni formulate dal

centro Europeo di Reading (su di un punto del modello che cadeva approssimativamente sulla città di Cremona) e all’archivio ad indice contenente le osservazioni di temperatura massima e minima calcolate utilizzando un programma di controllo di qualità ed interpolazione temporale dei dati mancanti, laddove ciò fosse possibile, ed all’archivio ad indice contenente le previsioni di riferimento passate ed i valori delle matrici dei pesi x e p utilizzati per correggere le nuove previsioni.

Nel 1993 il Dott. Stefano Costa ha realizzato la previsione dell’umidità relativa utilizzando

per la parte do post-elaborazione statistica lo stesso schema del filtro di Kalman formulato per prevedere le temperature estreme, variando alcuni parametri statistici di default.

Nel corso degli anni la manutenzione dei programmi è stata curata da Andrea Selvini che ha

gestito il trasferimento dei codici su diverse piattaforme, tutte con sistema operativo VMS, curando inoltre il passaggio dall’archivio dei dati previsti in formato Grid al nuovo archivio in formato Grib.

Nell’anno 2000 i Dottori Marco Lazzeri e Laura Sandri con la collaborazione del Dott. Cacciamani hanno compiuto nuovi studi relativi alla parte teorica del filtro di Kalman, realizzando una suite operativa in ambiente unix per la previsione delle temperature alle ore 0, 6 12 e 18 che partiva dalla previsione della temperatura formulata dal modello Lambo, corsa delle ore 00.

Nel 2002 lo spegnimento dell’ultima piattaforma del servizio Meteorologico operante in

VMS ha portato alla necessità di trasferire in ambiente unix il vecchio programma del filtro di Kalman, utilizzato quotidianamente dai previsori della sala operativa.

Ciò ha determinato la necessità di apportare molteplici modifiche alla vecchia suite

operativa, ed al ripensamento del vecchio codice, in particolare si è dovuto ovviare alla mancanza dei file ad indice utilizzati per archiviare le previsioni nella vecchia suite operativa.

Dapprima si è pensato di mutuare l’intera suite operativa realizzata da Laura Sandri e da

Marco Lazzeri, adattandola alle previsioni formulate dal centro Europeo, poi vista l’urgenza di portare il programma in ambiente unix si è invece deciso di utilizzare la vecchia sub-routine

Page 3: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

3

realizzata da Paolo Patruno riscrivendo per intero il codice principale del programma, vista l’intima conoscenza della performance del vecchio modulo acquisita da Stefano Costa ed Andrea Selvini, e dalla possibilità di utilizzare subroutine già esistenti per con estrazioni dati osservati e dati previsti prodotte in ambiente unix da Andrea Selvini.

Come progetto futuro si utilizzerà la suite operativa scritta per Lambo adattandola alle previsioni formulate da Lokal Model.

Metodo del Filtro di Kalman In un semplice caso unidimensionale, l’equazione generale che definisce il legame fra i predittori ed i predittandi è della forma: Уt = X º+ X ¹. DMOτ+ υt (1.1) Dove Уt è il predittando al tempo t (ad esempio la temperatura massima o minima, l’umidità relativa, l’intensità del vento, ...) DΜΟt il predittore al medesimo istante di tempo ( ad esempio altezza del geopotenziale a 500 hPa, temperatura a 850 hPa, ... ) Xº e X ¹ sono i coefficienti che possono essere valutati tramite regressione lineare e υt è l’errore dello schema di post-processing. Il filtro di Kalman a differenza di altri schemi di post-processing statistico non richiede lunghe serie di dati, ed inoltre non richiede di dovere alterare funzioni stabilite statisticamente in precedenza, per adattarlo alla variabilità temporale delle situazioni atmosferiche. Il filtro di Kalman introduce un modello per descrivere l’evoluzione temporale dei coefficienti delle relazioni funzionali, tenendo così presente la variabilità insita nel sistema atmosferico. Si può tenere conto della variabilità temporale considerando (a) i coefficienti Xº e X¹ nell’equazione come parametri che si evolvono nel tempo e (b) trovando una maniera di definire in corso d’opera i loro nuovi valori tenendo conto degli errori passati delle previsioni e delle attuali condizioni meteorologiche. Il filtro di Kalman permette di adattare il legame statistico tra i predittori ed i predittandi in maniera ricorsiva. I coefficienti possono essere considerati i componenti di un vettore di stato T X ≡ (Xº , X¹ ) e aggiornati ogni volta che la previsione viene emessa utilizzando t t t un’equazione di stato lineare della forma (la matrice trasposta si indica con il simbolo X t+1 = F t X t + Wt La matrice F t determina l’evoluzione nel tempo del vettore di stato X t , mentre il vett W t ≡ (ωº,ω¹) rappresenta la sua variabilità temporale.

T

)

(1.2)

ore

Page 4: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

4

L’equazione può essere riscritta usando una notazione matriciale (equazione dell’osservazione) Υt = H T

Nel nostro caso H t ≡ (1,DM Le quantità Vt e Wt hanno E ( Vt ) = E ( ) indica l’operatore di m Definendo: la varianza (al tempo t ) di Q t = E il vettore delle osservazioni a la stima del vettore di stato Xe a t-1 (prima dell’ultima o ^ Xt\t gli errori di queste stime com _ ^ X t\t = X t\t - X e le varianze di questi errori c _ P t\t = E( X è allora possibile ottenere ulineare della vecchia stima e ^ Xt\t =

T

t • Xt + Vt (1.3)

T

O t )

le p

E (

edia

Wt

( W

l tem

sserv

^; X

e : t\t

ome ^ t\t X

na ndell’

^Lt

e V t ≡ (ν t ) , Y t ≡ (Yt )

roprietà, per le medie e le covarianze nel tempo:

T Wt ) = E ( Wt · Vt+• ) = 0, • = 0 ±1, ± 2, ... (1.4)

nel tempo

e Vt

T T t Wt ) ; R t = E( V t V t ) (1.5)

po t, Υ : ( Υ ) s s

al tempoazione al t

t\t-1

_ ; X t\t-1

: t\t ) ; P

uova stimaultima oss

Xt\t-1 +

t

t (dopo l

empo t ) c

^ = X t\t - X

t\t-1 = E

del vettoervazione:

Mt Υt

t

ob ob

’ultima osservazione disponibile nel tempo t)

t ome:

(1.6)

t\t-1 (1.7)

_ ^ ( Xt\t X t\t-1 ) (1.8)

re di stato Xt tramite una combinazione

s

ob

(1.9)

Page 5: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

5

Le matrici L t e M t possono essere valutate imponendo che le stime del vettore di stato siano prive di errore sistematico (“unbiased”): _ _ E( Xt\t ) = E ( Xt\t-1 ) = 0 (1.10) e che la varianza di queste stime sia minima: Pt\t = min ; Pt\t-1 = min (1.11)

obs

Usando queste condizioni è possibile ottenere, dopo l’ultima osservazione Υ disponibile al tempo t, la nuova stima per il vettore di stato X t e per la varianza P t: ^ ^ Xt\t = Xt\t-1 + K υt (1.12)

Pt = ( I – Kt Ht ) Pt\t-1 (1.13) Dove I è la matrice identità, K il “guadagno di Kalman” e υ è il termine di innovazione, definiti come: T T -1 Kt = Pt\t-1 Ht ( Ht Pt\t-1 Ht + Rt ) (1.14) ^ υt = Υt

s

Dopo la fase di aggiornamento di stato Xt e della varianza Pt ^ Xt+1\t = Pt+1\t = Si può dimostrare, utilizzando essere scritta come: Kt = P In questa forma il significato dela varianza delle stime del vettoRt è grande rispetto a Pt | t. , leperciò le nuove stime del vettoquando il rapporto Pt | t / Rt èconseguenza le vecchie stime cpuò adattare la sua memoria stat Il filtro di Kalman può ess.Xt=X º= (xº0, x¹0) e di P0 . Lquanto riguarda la definizione dl’evoluzione nel tempo del vet

ob

- Ht Xt\t-1 (1.15)

al tempo t , è possibile avere una previsione della stima del vettore usando le equazioni (3.2) e (3.8) :

^ Ft Xt\t (1.16)

T Ft Pt\t Ft + Q (1.17)

l’equazione 1.13, che la matrice Kt del guadagno di Kalman può

T -1 t\t Ht R (1.18)

lla matrice Kt è più evidente. Questa matrice misura il rapporto fra re di stato Xt, , Pt | t e la varianza delle stime dell’osservazione, Rt Se “nuove” osservazioni Υ obs forniscono un’informazione limitata e re di stato non differiscono molto dalle vecchie. Nel caso opposto, grande , la nuova osservazione fornisce informazione utile e di

ambieranno considerevolmente. In questo modo il filtro di Kalman istica sulla base delle recenti prestazioni delle previsioni.

ere utilizzato partendo da una stima iniziale ( al tempo t=0) di e matrici di varianza Rt e Qt devono essere note all’inizio. Per ella matrice Ft, se non è possibile definire nessun modello fisico per tore di stato, è plausibile considerare questa evoluzione temporale

Page 6: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

6

come un semplice cammino casuale (“random walk”) e quindi prendere Ft uguale alla matrice identità. Criteri metodologici Dati Previsti Come già descritto nella nota introduttiva, il vecchio schema del filtro di Kalman utilizzava le previsioni formulate dal Centro Europeo di Reading su di un punto di griglia posto al centro della Valpadana per formulare previsioni di temperature estreme su di un set di 18 punti stazione presenti in Emilia-Romagna. Il porting del codice in ambiente unix con il conseguente abbandono degli archivi ad indice contenenti i dati necessari a fare girare il codice unitamente alla crescita delle necessità della sala operativa del servizio meteorologico della Regione Emilia-Romagna ha portato a riprogettare questo schema. Con il passare degli anni il network delle stazioni acquisite in tempo reale si è notevolmente arricchito ed i compiti della sala operativa del servizio meteorologico dell’Emilia-Romagna sono usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio Capital, ed alla luce della futura assistenza che dovremo fornire ad alcuni dei nascenti servizi regionali nell’ambito dei centri funzionali del servizio nazionale distribuito.

Quindi si è selezionato un set di circa 120 stazioni, con alta densità sulla regione Emilia-Romagna e con la risoluzione del network osservativo sinottico sull’Italia.

Page 7: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

7

Perciò si è stabilito un nuovo criterio per estrarre i punti di griglia necessari alla realizzazione delle previsioni. Per ogni punto stazione si estraggono i 4 punti del modello più prossimi. Dopo di che utilizzando la Land Sea Mask e l’orografia del modello di Reading si sceglie il punto di griglia più prossimo alla stazione, purché l’altezza del punto di griglia non disti più di 100 metri da quella del punto stazione, o purché il punto del modello non sia un punto di mare. Se tutti i e 4 i punti del modello sono di mare non viene estratta la previsione, viceversa se tutte le altezze dei punti di griglia superano la soglia prestabilita si sceglie il punto la cui altezza sia quella più prossima a quella del punto stazione. Questo comporta che per alcune stazioni di costa e soprattutto per le piccole isole non sia possibile formulare la previsione. Questo criterio è comodo perché consente di inserire nuovi punti stazione su cui formulare la previsione senza dovere apportare modifiche al codice di estrazione delle previsioni del centro Europeo, ma come tutti i criteri stabiliti a priori è opinabile.

Difatti si potrebbero utilizzare almeno altri tre criteri. Probabilmente dal punto di vista teorico il criterio migliore sarebbe quello di scegliere manualmente il punto modello che meglio rappresenta il punto stazione, svolgendo uno studio statistico sull’archivio dei dati previsti e sull’archivio dei dati osservati. Purtroppo questo studio richiederebbe molto lavoro, magari non darebbe risultati entusiasmanti, dovrebbe essere svolto ogni qualvolta si voglia inserire un nuovo punto stazione su cui formulare la previsione, ed inoltre sarebbe molto sensibile a successive variazioni nella fisica o nella risoluzione del modello.

Un’altra soluzione potrebbe essere quella di suddividere l’Italia in una serie di aree

rettangolari contigue climaticamente omogenee, scegliendo il punto del modello più rappresentativo dell’area, dopo di che ad ogni inserimento di una nuova stazione basterebbe verificare in quale finestra geografica ricada la stazione, per attribuirle automaticamente la previsione del punto selezionato. Questo schema assomiglia al vecchio schema che utilizzava un solo punto previsione per formulare la previsione su 18 stazioni sparse sul territorio Emiliano-Romagnolo. Avrebbe il pregio di consentire la previsione anche su punti stazione circondati solo da punti di mare, ma vista la complessa morfologia orografica del territorio italiano bisognerebbe suddividere l’Italia in numerosi rettangoli contigui, e la scelta del punto di griglia più rappresentativo dell’area non è assolutamente banale. Anche questo sistema sarebbe molto sensibile ad una variazione di risoluzione del modello. L’ultima possibilità valutata consisterebbe nell’interpolare la previsione sul punto stazione, ma questa soluzione potrebbe determinare una previsione mediamente mediocre, soprattutto per punti stazione pedemontani. Dati Osservati I dati osservati provengono da varie reti osservative e sono estratti dall’archivio Oracle residente sulla piattaforma Bea. Si estraggono dati provenienti dalla rete sinottica nazionale, dalla rete delle stazioni locali, dalla rete agrometeo, dalla rete SimnBo (Servizio idrografico ufficio di Bologna), dalla rete SimnPr (Servizio Idrografico ufficio di Parma) e dalla rete SpdsRa (Servizio provinciale difesa del suolo di Ravenna). Dalle stazioni synop si estraggono la Temperatura massima e la temperatura minima, valori riportati nel report delle ore 18 e delle ore 6 t.m.g. rispettivamente. Per le stazioni della rete locale e della rete agrometeo si ricerca il valore minimo assunto dalla temperatura minima nell’ambito orario compreso tra le ore 18 del giorno precedente e le ore 06 del giorno corrente, mentre la massima è ricavata ricercando il valore massimo della temperatura massima registrata tra le ore 06 e le ore 18 t.m.g. del giorno precedente. Per le stazioni delle reti SimnBo e SimnPr si ricerca negli stesi estremi orari utilizzati per la rete agrometeo e per la rete locale il valore massimo di temperatura semi-oraria ed il valore minimo

Page 8: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

8

della temperatura semi-oraria, mentre per la rete facente capo al SpdsRa si ricercano i valori massimi ed i valori minimi a partire dal report orario di temperatura. Per le stazioni Synop che non misurano direttamente l’umidità relativa si estrae la temperatura di rugiada delle ore 6 e delle ore 12 t.m.g. dopo di che utilizzando la temperatura minima e la temperatura massima si ricalcola l’umidità relativa rispettivamente massima e minima, invece per le stazioni facenti capo a tutte le altre reti si utilizza lo stesso criterio applicato al calcolo delle temperature massime e minime impiegando direttamente le misure di umidità massima e minima o le misure di umidità istantanea oraria o semi-oraria. Appena disponibile, sarà applicato il controllo di qualità ai dati estratti.

I programmi sono residenti sulla piattaforma PWSALOP nel direttorio principale KalmanECMWF

Struttura del direttorio e dei sotto direttori |-------------/bin ________/storico | |

| | |------------/dati---------------|-----------/dati_temp /usr2/ugo/KalmanECMWF -------- | | | |________/appoggio |-------------/log | | |-------------/src | | |-------------/end_user | | |-------------/agro

Nel direttorio bin sono contenute le procedure di comandi

Nel direttorio src sono contenuti i codici sorgente e gli eseguibili

Page 9: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

9

Nel direttorio log sono contenuti i file di log Nel direttorio dati sono contenuti sia i dati in input necessari per girare i programmi e le procedure che i dati in output generati dai programmi applicativi Nel direttorio end_user sono presenti i programmi che generano la visualizzazione delle previsioni formulate tramite filtro di Kalman e la parte di diagnostica delle previsioni formulate. Nel direttorio agro sono presenti i programmi che generano le previsioni orarie di temperatura e di umidità relativa per la Lotta Integrata

Schema di flusso della previsione formulata con il filtro di Kalman Default: Il metodo del filtro di Kalman utilizza le osservazioni di temperatura massima e minima su di un set di stazioni meteorologiche italiane, particolarmente fitto sull’Emilia-Romagna, contenute nel file allstaz.dat, che può essere aggiornato anche a regime, senza inficiare il corretto funzionamento del filtro.

Viene filtrata la previsione delle temperature dalla +24 alla +168 ore a passi di 12 ore

formulata dal centro Europeo di Reading. Come previsione di riferimento si utilizzano le vecchie previsioni formulate

precedentemente dal centro Europeo.

Sincronismo temporale – Le procedure partono da una data, che a regime è la data corrente, richiesta al sistema operativo (oggi ).

Il programma osservate estrae i dati osservati delle temperature minime di oggi e le massime di ieri.

Il programma estra_temp interpola le previsioni di temperatura del centro Europeo emesse

con la data di ieri sui punti stazione contenuti nel file allstaz.dat. Per interpolare le temperature previste che sono disponibili su di un grigliato regolare in

latitudine e longitudine avente 0.5 gradi centesimali di passo sui punti stazione si è scelta una logica che permetta di inserire nuovi punti stazioni senza dovere modificare in corso d’opera le procedure di comandi ed i programmi.

Page 10: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

10

Tale criterio era già stato stabilito da Marco Lazzeri e Laura Sandri per il filtro di Kalman

di Lambo esperimento Figlio. Catena Operativa:

Le procedure di comandi principali: $HOME/KalmanECMWF/bin/lancia_kalman.ksh oppure $HOME/KalmanECMWF/bin/recupera_kalman.ksh determinano l’attivazione di procedure secondarie e di programmi che generano la produzione delle previsione tramite filtro di Kalman, lancia_kalman.ksh viene attivata da crontab o manualmente, e funziona a regime producendo la previsione attuale a regime, recupera_kalman viene attivata solo manualmente e recupera vecchie previsioni se queste dovessero risultare mancanti.

Le due procedure differiscono solamente nel fatto che recupera_kalman.ksh richiede la data all’utente, mentre lancia_kalman.ksh richiede la data corrente al sistema operativo. Il primo programma eseguito è: $HOME/KalmanECMWF/src/scrivi_expansion Il programma riceve la data e scrive i file : $HOME/KalmanECMWF/bin/expansion.orog $HOME/KalmanECMWF/bin/expansion.lsm $HOME/KalmanECMWF/bin/expansion.temp $HOME/KalmanECMWF/bin/expansion.urel

In questi quattro file sono contenute le informazioni necessarie per potere estrarre dall’archivio xgrib residente su Bea i grib contenenti l’orografia del modello, la land sea mask del modello, le previsioni della temperatura e le previsioni dell’umidità relativa, relative alla data fornita dallo script principale. Scritti i file expansion vengono attivate in cascata le procedure $HOME/KalmanECMWF/bin/estra_orog.ksh $HOME/KalmanECMWF/bin/estra_temp.ksh $HOME/KalmanECMWF/bin/estra_urel.ksh $HOME/KalmanECMWF/bin/estra_lsm.ksh queste procedure estraggono i grib dall’archivio e li scrivono rispettivamente nei file $HOME/KalmanECMWF/dati/appoggio /grib.orog $HOME/KalmanECMWF/dati/appoggio/grib.temp $HOME/KalmanECMWF/dati/appoggio/grib.urel $HOME/KalmanECMWF/dati/appoggio/grib.lsm

Page 11: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

11

Estratti i grib viene lanciato il programma: $HOME/KalmanECMWF/src/interpola_ecmwf che interpola la land sea mask e l’orografia del modello sul grigliato per cui sono disponibili le previsioni di temperatura e temperatura di rugiada, scrivendo i file in formato matriciale $HOME/KalmanECMWF/src/lmask.dat $HOME/KalmanECMWF/src/orog.dat Scritti i file dei dati di orografia questi vengono codificati in formato grib dallo script principale utilizzando la procedura: gribbo che determina la produzione dei file formato grib $HOME/KalmanECMWF/src/lmask.grib $HOME/KalmanECMWF/src /orog.grib

Scritti i grib di orografia e di land sea mask sono eseguiti i programmi $HOME/KalmanECMWF/src/estra_temp $HOME/KalmanECMWF/src/estra_urel

che accedendo al file $HOME/KalmanECMWF/dati/appoggio/allstaz.dat, contenente il listato delle stazioni su cui formulare la previsione e leggendo i file grib contenenti le previsioni di temperatura e temperatura di rugiada, nonché i dati orografici producono i file circolari a ricopertura: $HOME/KalmanECMWF/dati/appoggio/today_12_024.dat $HOME/KalmanECMWF/dati/appoggio/today_12_036.dat $HOME/KalmanECMWF/dati/appoggio/today_12_048.dat $HOME/KalmanECMWF/dati/appoggio/today_12_072.dat $HOME/KalmanECMWF/dati/appoggio/today_12_084.dat $HOME/KalmanECMWF/dati/appoggio/today_12_096.dat $HOME/KalmanECMWF/dati/appoggio/today_12_108.dat $HOME/KalmanECMWF/dati/appoggio/today_12_120.dat $HOME/KalmanECMWF/dati/appoggio/today_12_132.dat $HOME/KalmanECMWF/dati/appoggio/today_12_144.dat $HOME/KalmanECMWF/dati/appoggio/today_12_156.dat $HOME/KalmanECMWF/dati/appoggio/today_12_168.dat $HOME/KalmanECMWF/dati/appoggio/today_12_024_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_036_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_048_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_072_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_084_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_096_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_108_trug.dat

Page 12: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

12

$HOME/KalmanECMWF/dati/appoggio/today_12_120_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_132_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_144_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_156_trug.dat $HOME/KalmanECMWF/dati/appoggio/today_12_168_trug.dat contenenti la previsione di temperatura prevista, o di temperatura di rugiada prevista alle varie scadenze sul set di stazioni elencate nel file allstaz.dat Estratte le previsioni sui punti stazioni viene eseguito il programma $HOME/KalmanECMWF/src/temp_urel_oss che accedendo ai file $HOME/KalmanECMWF/dati/appoggio/simnbo.dat $HOME/KalmanECMWF/dati/appoggio/simnpr.dat $HOME/KalmanECMWF/dati/appoggio/spdsra.dat $HOME/KalmanECMWF/dati/appoggio/synop.dat $HOME/KalmanECMWF/dati/appoggio/locali.dat $HOME/KalmanECMWF/dati/appoggio/agro.dat legge le liste delle stazioni per ogni diverso tipo di rete ed estrae dall’archivio Oracle i dati necessari per ottenere le temperature massime del giorno precedente, le temperature minime del giorno corrente, l’umidità relativa massima del giorno corrente e l’umidità relativa minima del giorno precedente, scrivendo i dati estratti rispettivamente nei file $HOME/KalmanECMWF/dati/appoggio/osservati.dat $HOME/KalmanECMWF/dati/appoggio/osservati_urel.dat ordinati secondo il file globale che contiene tutto l’elenco delle stazioni delle varie reti allstaz.dat, cosicché i file dei dati osservati ed i file dei dati previsti sono apparigliati secondo lo stesso ordine scandito dalle stazioni contenute nel file allstaz.dat. N.B. Il file $HOME/KalmanECMWF/dati/appoggio/allstaz.dat che viene letto da tutti i programmi successivi contiene l’insieme di tutti questi file, spacchettati per le varie tipologie per distinguere l’archivio corretto in fase di estrazione dati osservati. Per cui se si modifica uno dei detti file occorre modificare anche il file allstaz.dat. Estratte le osservazioni vengono eseguiti i programmi $HOME/KalmanECMWF/src/kalman_temp $HOME/KalmanECMWF/src/Kalman_urel

Page 13: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

13

Questi sono i due programmi che producono la previsione delle temperature e delle umidità relative con il metodo del filtro di Kalman. I main program sono stati completamente riscritti, l’unica parte che è rimasta invariata è la subroutine kal, che effettua la previsione ricevendo i nuovi parametri in input.

Lo schema di flusso del programma è il seguente:

Tramite getarg il programma riceve in input la data del giorno per cui si vuole produrre la

previsione- ( a regime tale data è la data corrente)

Ricalcola la data del giorno precedente. Legge le previsioni per le varie stazioni (apparigliate tramite utilizzo del file allastaz.dat) dai file /usr2/ugo/KalmanECMWF/dati/appoggio /today_012_sss.dat dove sss=scadenza previsioni (024-036-048-060-072-084-096-108-120-132-144-156-168) Controllando che la data sia quella del giorno precedente, poichè in tali file la data è quella di emissione della previsione di Reading, corsa delle 12 (quindi ieri rispetto al giorno corrente) - N.B. se non trova il file o la data non è quella giusta il programma va in STOP. Legge sequenzialmente il file /usr2/ugo/KalmanECMWF/dati /appoggio/osservati.dat contenente le temperature estreme osservate (temperatura minima del giorno corrente e massima del giorno precedente) ordinato secondo il file allstaz.dat, testando che la data (primo record del file) sia quella del giorno corrente (fa fede la data di verifica della temperatura minima) – se la stazione letta non coincide con la stazione letta in parallelo dal file allstaz.dat il programma va in STOP. N.B. se non trova il file o la data non è quella giusta il programma va in STOP. - Apre i file di riferimento (uno per stazione)– che sono dei file circolari in cui la nuova

previsione sarà scritta in coda, mentre i dati relativi alla previsione più vecchia, quella di 7 giorni prima, saranno eliminati

- Inoltre apre i file storici, uno per stazione dove ogni nuova previsione viene scritta in append –

(questi file servono per avere l’archivio delle vecchie previsioni per vari propositi, primo fra tutti la verifica della qualità delle previsioni) – Se il programma viene fatto girare più volte con la stessa data (possibilità non remota se ritarda l’arrivo dei dati osservati delle minime del giorno) verranno scritte più volte le previsioni- per ovviare al problema esiste il programma pulisci_storico che elimina i record doppi.

- Il programma testa l’esistenza dei file circolari di lavoro, se li trova vuole dire che la previsione

è a regime , altrimenti vuole dire che la previsione parte da zero, crea il file storico ed il file di lavoro per la stazione corrente, scrive i record dei 6 giorni precedenti, ponendo tutti i valori a dato mancante (-999.9) e scrive i dati previsti dal centro Europeo per quella stazione ed i dati osservati del giorno corrente. I nomi dei file circolari di lavoro sono i seguenti:

- $HOME/KalmanECMWF/dati /iiiii_temp.dat

Page 14: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

14

$HOME/KalmanECMWF/dati /iiiii_urel.dat dove iiiii è l’indicativo numerico di ogni singola stazione contenuta nel file allstaz.dat (p.es 16140=Bologna Borgo Panigale, 00005=Martorano) e producono rispettivamente la previsione con il metodo del filtro di Kalman di temperatura e di umidità relativa. Le previsioni vengono scritte sia nel file circolari di lavoro, eliminando i dati più vecchi, ossia quelli di 7 giorni prima, e scrivendo i dati nuovi, gli stessi dati vengono scritti in append nei file storici aventi lo stesso nome dei file circolari di lavoro, ma posti nel direttorio $HOME/KalmanECMWF/dati/storico Se il file è presente vuole dire che la previsione è a regime, quindi viene formulata la previsione tramite filtro di Kalman, con la regola che si vuole la serie storica di 6 giorni di osservazioni, altrimenti la previsione tramite filtro di Kalman non viene formulata, poiché sarebbe quella formulata dal centro Europeo. Questo sistema consente inoltre di spegnere le stazioni non funzionanti. Le previsioni per tutte le stazioni e tutte le scadenze vengono scritte in formato condensato nei file: $HOME/KalmanECMWF /dati/osser_kal_temp.dat $HOME/KalmanECMWF/dati/osser_kal_urel.dat contenenti rispettivamente sia i dati delle temperature estreme osservate che la previsione attuale di temperatura che le umidità estreme osservate e le umidità previste di tutte le stazioni, ordinate sempre secondo il file pilota allstaz.dat Prodotta la previsione di temperatura e di umidità relativa massime e minime da +24 a +168 ore vengono eseguiti i programmi $HOME/KalmanECMWF/agro/interpol_t $HOME/KalmanECMWF/agro/interpoli_t $HOME/KalmanECMWF/agro/interpol_ur $HOME/KalmanECMWF/agro/interpoli_ur Che accedendo ai file circolari di lavoro producono le previsioni orarie di umidità relativa e di temperatura a passi orari sia sulle stazioni della rete locale che della rete agrometeo (rispettivamente i programmi interpol_ur e interpol_t ), sia la previsione oraria di umidità relativa e di temperatura su di una serie di celle definite dalla Lotta Integrata. Il programma $HOME/KalmanECMWF/agro/interpol_t produce i file $HOME/KalmanECMWF/agro/iiiii_PRE_T.DAT dove iiiii è l’indicativo numerico di ogni singola stazione contenuta nei file $HOME/KalmanECMWF/dati/appoggio/locali.dat e $HOME/KalmanECMWF/dati/appoggio/agro.dat

Page 15: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

15

Il programma $HOME/KalmanECMWF/agro/interpoli_t produce i file $HOME/KalmanECMWF/agro/iiiii_PRE_T.TMP dove iiiii è l’indicativo numerico di ogni singola cella della Lotta Integrata contenuta nei file $HOME/KalmanECMWF/agro/mat_xxx.dat , che contengono le previsioni di temperatura oraria su ogni singola cella della lotta integrata Il programma $HOME/KalmanECMWF/agro/interpol_ur produce i file $HOME/KalmanECMWF/agro/iiiii_PRE_UR.DAT dove iiiii è l’indicativo numerico di ogni singola stazione contenuta nei file $HOME/KalmanECMWF/dati/appoggio/locali.dat e $HOME/KalmanECMWF/dati/appoggio/agro.dat Il programma $HOME/KalmanECMWF/agro/interpoli_t produce i file $HOME/KalmanECMWF/agro/iiiii_PRE_UR.TMP dove iiiii è l’indicativo numerico di ogni singola cella della Lotta Integrata contenuta nei file $HOME/KalmanECMWF/agro/mat_xxx.dat , che contengono le previsioni di umidità relativa oraria su ogni singola cella della lotta integrata Programmi accessori per la manipolazione degli archivi

L’impossibilità di potere utilizzare file ad indice per archiviare le previsioni ha determinato

la necessità di scrivere alcuni programmi ancillari che permettono di manipolare e di gestire gli archivi dei dati, particolarmente nel caso in cui si siano verificati degli inconvenienti nella catena operativa che gestisce la produzione delle previsioni delle temperature tramite filtro di Kalman.

In particolare il filtro di Kalman così come è congegnato deve girare tutti i giorni, non

riportare date doppie, ed avere le date sortate in ordine crescente, fattore assai problematico da gestire utilizzando file ascii sequenziali.

Il programma pulisci_storico riscrive i file storici, ripulendo eventuali dati doppi,

condizione che può verificarsi se viene fatta girare più volte in un giorno la procedura che genera la produzione delle previsioni di temperatura tramite filtro di Kalman.

Il programma ricrea_file_lavoro riscrive i file di lavoro a partire da una data voluta

dall’utente, unitamente al programma taglia_storico permette di fare ripartire il filtro di Kalman da una data voluta, se si sono verificati dei malfunzionamenti nella catena operativa.

Il programma taglia_storico taglia i file storici con estensione .dat , eliminando i record che

abbiano una data superiore a quella inserita dall’utente, scrivendo i nuovi file in file che hanno estensione .tmp

Il programma rinomina_file_storico serve per rinominare i file storici dopo avere fatto

girare il programma taglia_storico che scrive in file temporanei i file di archivio, tagliati dopo una

Page 16: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

16

data decisa dall’utente. I file vengono rinominati cambiando estensione da nomefile.tmp a nomefile.dat, dopo di che si dovranno cancellare i file con estensione nomefile.tmp.

Nel direttorio /bin è presente la procedura di comandi Start_up_kalman.ksh che serve per fare partire tutta la catena operativa di kalman per un mese. Serve per fare ripartire da zero la previsione del filtro di Kalman. Presentazione Prodotti della previsione di Umidità e Temperatura di Kalman -Direttorio end_user Nel direttorio end_user sono presenti i programmi che generano la produzione di tabelle, mappe e diagrammi per la fruizione delle previsioni formulate dal filtro di Kalman da parte degli utenti finali. Il programma tabella (che si linka tramite la shell linka, previo inserimento del nome file da linkare) genera una tabella in formato postscript che si chiama tabella.ps , realizzata utilizzando le routine GKS xelion. Nella tabella vengono riportate le previsioni formulate tramite filtro di Kalman sulle province dell’Emilia-Romagna. Si utilizzano tutte le stazioni di pianura che ricadono su ogni provincia, e da questo set di stazioni si calcola a tutte le scadenze, sia per le temperature massime, sia per le temperature minime, il valore massimo, minimo, e medio, e, laddove possibile, anche il valore del capoluogo di provincia. Inoltre la tabella riporta anche il valore medio climatologico della temperatura massima e minima del capoluogo di provincia. Vedi figura 1 Questo criterio permette di stabilire un range di valori previsti per ogni provincia, venendo incontro alle nuove specifiche del bollettino meteorologico che prevede la previsione a livello provinciale. Il programma tabella_ur (che si linka tramite la shell linka, previo inserimento del nome file da linkare) genera una tabella in formato postscript che si chiama tabella_ur.ps , realizzata utilizzando le routine GKS xelion. Nella tabella vengono riportate le previsioni formulate tramite filtro di Kalman sulle province dell’Emilia-Romagna. Si utilizzano tutte le stazioni di pianura che ricadono su ogni provincia, e da questo set di stazioni si calcola a tutte le scadenze, sia per l’umidità massima, sia per l’umidità minima, il valore massimo, minimo, e medio, e, laddove possibile, anche il valore del capoluogo di provincia. Vedi figura 2 Il programma kal_cont produce un file formato postscript che si chiama kal_cont.ps, utilizzando il pacchetto software magics, che presenta in 13 mappe le previsioni delle temperature estreme di temperatura sull’Emilia Romagna visualizzate tramite isolinee e riportando inoltre i valori numerici delle previsioni sui punti stazione. Questa realizzazione si è resa possibili grazie al network fitto di stazioni meteorologiche termo-pluviometriche sull’Emilia Romagna, e dalla disponibilità di previsioni sull’Italia, che consentono di avere punti al contorno. L’analisi viene realizzata utilizzando un metodo alle correzioni successive. Vedi figure 3 e 4

Page 17: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

17

Il programma verifica_on_line produce un file formato postscript che si chiama verifica.ps , utilizzando il pacchetto software magics. L’output grafico presenta nella stessa pagina due grafici. Nel primo grafico viene rappresentato l’errore delle previsioni emesse nei 7 giorni precedenti alla data in cui sono state registrate le temperature estreme relative al giorno richiesto dall’utente. Nel grafico successivo vengono rappresentati l’errore medio e l’errore sistematico delle temperature previste da +24 a +84 ore relativi ai 7 giorni precedenti la data impostata dall’utente. L’errore medio viene rappresentato da una curva solida di colore rosso, mentre l’errore sistematico viene rappresentato con una curva punteggiata di colore blu. Vedi figura 5 Il programma tabella_italia produce il file ascii kalman_italia.dat dove vengono riportate in versione tabellare le temperature massime e minime osservate, le temperature previste dal filtro di Kalman sui capoluoghi di regione italiani per la giornata odierna, per domani e per dopo domani, ed i valori climatologici di riferimento. Il programma previ_italia genera la produzione dell’output grafico previ_italia.ps, contenente 12 mappe che riportano i valori estremi di temperature previste dal filtro di Kalman dalla +24 alla +168 ore, riportati come valori puntuali. Vedi figura 6 Previsioni per la lotta integrata Nel sotto direttorio /agro sono presenti i programmi che generano l’interpolazione spaziale e temporale delle previsioni di temperatura e di umidità relative formulate tramite filtro di Kalman. I dati previsti sono interpolati spazialmente su di una serie di punti (denominati celle) forniti dalla Lotta Integrata e le previsioni sono interpolate a passo orario a partire dai valori estremi previsti. Per l’interpolazione spaziale si utilizza un metodo che ricerca i minimi triangoli i cui i cui vertici sono rappresentati dai punti stazione dove sono presenti le previsioni che racchiudano un punto (cella) su cui si vuole interpolare spazialmente la previsione. Per l’interpolazione temporale di temperatura e di umidità spaziale si utilizzano due schemi diversi. Per le temperature si utilizzano i coefficienti di una spline climatologica che rappresenta l’andamento medio stagionale delle temperature, che applicati alle temperature estreme previste permettono di interpolare a passo orario le previsioni orarie. Per l’umidità relativa si esegue un’interpolazione lineare nel tempo, poiché l’andamento dell’umidità relativa non può essere rappresentato con una spline, difatti ha più un andamento ad onda quadra. Inoltre i dati previsti tramite filtro di Kalman sulle stazioni agrometeo e locali vengono interpolati nel tempo a passo orario. I programmi che generano le previsioni interpolate sono : interpol_t che esegue l’interpolazione oraria sulle stazioni agrometeo delle temperature. Produce i file che hanno per estensione iiiiiPRE_T.DAT (dove iiiii è l’indicativo numerico della stazione - secondo la nuova logica delle tabelle di Oracle è il codice utente). I file sono uno per stazione, sono a ricopertura e contengono sequenzialmente le previsioni orarie di temperature ad iniziare dalle ore 06 del giorno fornito al programma per finire alle ore 12 di 5 giorni dopo (p.es se il giorno iniziale è il 25, le previsioni andranno dal 25 alle ore 6 al 30 alle ore 12). Il formato record è il seguente:

Page 18: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

18

aaaammgghhttttt (i4,i2.2,i2.2,i2.2,i5) aaaa=anno , mm=mese, gg=giorno, hh=ora di Greenwich, ttttt=temperatura prevista le temperature vengono riportate come intero in decimi di grado (p.es 180 = 18.0 °C), i dati mancanti vengono posti uguali a 999. interpoli_t che esegue l’interpolazione oraria e spaziale sulle celle della lotta integrata delle temperature Produce i file che hanno per estensione iiiiiPRE_T.TMP (dove iiiii è l’indicativo della cella della lotta integrata). I file sono uno per stazione, sono a ricopertura e contengono sequenzialmente le previsioni orarie di temperature ad iniziare dalle ore 06 del giorno fornito al programma per finire alle ore 12 di 5 giorni dopo (p.e. se il giorno iniziale è il 25, le previsioni andranno dal 25 alle ore 6 al 30 alle ore 12). Il formato record è il seguente: aammgghhttttt (i2,i2.2,i2.2,i2.2,i5) aa=anno con centinaia e migliaia sottintese , mm=mese, gg=giorno, hh=ora di Greenwich, ttttt=temperatura prevista interpol_ur che esegue l’interpolazione oraria sulle stazioni agrometeo dell’umidità relativa. Produce i file che hanno per estensione iiiiiPRE_UR.DAT (dove iiiii è l’indicativo numerico della stazione - secondo la nuova logica delle tabelle di Oracle è il codice utente). I file sono uno per stazione, sono a ricopertura e contengono sequenzialmente le previsioni orarie di umidità relativa ad iniziare dalle ore 06 del giorno fornito al programma per finire alle ore 12 di 5 giorni dopo (p.es se il giorno iniziale è il 25, le previsioni andranno dal 25 alle ore 6 al 30 alle ore 12) Il formato record è il seguente: aaaammgghhuuuuu (i4,i2.2,i2.2,i2.2,i5) aaaa=anno , mm=mese, gg=giorno, hh=ora di Greenwich, uuuuu=umidità relativa prevista le Umidità relative vengono riportate come intero senza parte decimale (p.e. 80 = 80.0 %), i dati mancanti vengono posti uguali a 999. interpoli_ur che esegue l’interpolazione oraria e spaziale sulle celle della lotta integrata dell’umidità relativa . Produce i file che hanno per estensione iiiiiPRE_UR.TMP (dove iiiii è l’indicativo della cella della lotta integrata). I file sono uno per stazione, sono a ricopertura e contengono sequenzialmente le previsioni orarie di umidità relativa ad iniziare dalle ore 06 del giorno fornito al programma per finire alle ore 12 di 5 giorni dopo (p.e. se il giorno iniziale è il 25, le previsioni andranno dal 25 alle ore 6 al 30 alle ore 12) Il formato record è il seguente: aammgghhuuuuu (i2,i2.2,i2.2,i2.2,i5) aa=anno con centinaia e migliaia sottintese , mm=mese, gg=giorno, hh=ora di Greenwich, uuuuu=umidità relativa prevista

Page 19: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

19

Per compilare e linkare i programmi alle librerie necessarie si utilizzi la shell compila.ksh , il comando è compila.ksh nome_eseguibile (il nome eseguibile deve essere uguale al nome del programma sorgente). File e namelist di input contenuti nel direttorio /agro: il file andamento_t_oraria.dat contiene i coefficienti climatologici della spline che rappresentano l’andamento medio orario mensile delle temperature. Il file mat_li.xxx contiene le coordinate delle celle della lotta integrata. Diagnosi delle temperature previste con il metodo di Kalman Per verificare l’affidabilità delle previsioni formulate con il filtro di Kalman è stato sviluppato il programma verifica situato nel direttorio /end_user. Il programma richiede in input stazione, data iniziale e data finale, estrae i dati relativi all’ambito della richiesta e produce un file ascii che riporta l’andamento dell’errore medio, dell’errore medio assoluto e dell’errore quadratico medio. Nelle seguente tabella si riporta la verifica delle previsioni formulate dalla vecchia procedura su piattaforma VMS comparate con le previsioni formulate dalla nuova suite operativa su di un set di stazioni comprese nella lista delle 18 stazioni su cui operava la vecchia procedura, per verificare il corretto funzionamento della nuova catena operativa.

Periodo Diagnosticato Dal : 01.06.2002 Al : 25.06.2002 Piacenza +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.2 -0.3 0.2 -0.5 0.3 -0.7 -0.1 -1.1 -0.8 -1.6 -1.3 BiasNew 0.0 -0.1 0.0 -0.1 0.1 -0.1 0.1 -0.3 0.0 -0.4 0.3 Mae 1.4 1.0 1.2 1.0 1.2 1.4 1.8 1.3 2.9 2.2 2.0 MaeNew 1.8 1.0 2.0 1.3 1.8 1.1 2.2 1.5 3.0 1.9 3.3 Parma +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.5 0.2 0.9 0.8 1.5 1.4 1.5 1.2 0.8 0.7 0.4 BiasNew 0.0 -0.2 0.1 -0.1 0.0 -0.2 0.2 -0.3 0.2 -0.3 0.4 Mae 1.3 1.2 1.5 1.5 1.9 2.0 2.1 1.7 2.7 2.3 2.0 MaeNew 1.8 1.3 2.0 1.5 1.9 1.3 2.5 1.8 3.4 2.2 3.7

Page 20: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

20

Rolo +24 Mx

+36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.5 0.2 0.9 0.8 1.5 1.4 1.5 1.2 0.8 0.7 0.4 BiasNew 0.0 0.0 0.2 0.1 0.3 0.4 0.3 0.2 0.5 0.4 0.4 Mae 1.3 1.2 1.5 1.5 1.9 2.0 2.1 1.7 2.7 2.3 2.0 MaeNew 1.4 1.2 1.8 1.4 1.8 1.5 2.0 1.2 3.3 2.5 3.1 Bologna +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.1 -0.2 0.0 -0.5 -0.1 -0.8 -0.5 -1.5 -1.3 -2.7 -1.8 BiasNew 0.1 -0.1 0.2 0.0 0.2 0.2 0.1 0.0 0.4 0.0 0.0 Mae 1.3 1.3 1.5 1.3 1.2 1.6 1.6 1.6 2.6 2.9 2.5 MaeNew 1.8 1.6 1.6 1.7 1.7 1.8 2.5 1.7 3.2 2.7 3.1 S.P.C. +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.1 0.0 0.2 0.4 0.3 0.1 0.2 -0.1 -0.5 -0.6 -0.9 BiasNew 0.0 -0.1 0.1 -0.1 0.0 0.0 -0.1 -0.5 0.2 -0.4 -0.2 Mae 1.1 1.4 1.2 1.4 1.1 1.3 1.3 1.2 2.4 1.6 3.2 MaeNew 1.4 1.6 1.8 1.7 1.7 1.8 1.9 1.5 3.3 3.1 2.4 Volano +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.1 0.5 0.3 0.8 0.6 0.9 0.7 1.0 0.4 -0.2 0.1 BiasNew 0.0 0.0 0.1 0.2 0.1 0.3 0.0 -0.1 0.3 0.1 -0.1 Mae 1.3 1.6 1.5 1.5 1.7 1.9 1.8 1.5 2.6 2.3 2.1 MaeNew 1.2 1.6 1.8 1.7 1.7 2.0 2.0 1.8 3.2 3.4 2.2 Cesena +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.1 -0.4 0.2 -0.4 -0.1 -0.7 -0.2 -1.4 -0.8 -2.2 -1.2 BiasNew 0.0 -0.1 0.0 -0.3 0.1 -0.2 0.1 -0.3 0.4 -0.3 0.3 Mae 1.3 1.2 1.7 1.4 1.6 1.6 1.7 2.0 2.3 2.9 2.1 MaeNew 1.5 1.4 1.9 1.8 1.9 2.2 2.1 2.3 3.5 3.3 3.0

Page 21: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

21

Ravenna +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.2 -0.1 0.4 -0.1 0.3 -0.5 0.1 -0.9 -0.6 -1.8 -1.0 BiasNew 0.0 0.1 0.1 0.1 0.2 0.2 0.3 0.2 0.7 0.3 0.5 Mae 1.2 1.3 1.5 1.2 1.5 1.6 1.5 1.1 2.5 2.6 2.2 MaeNew 1.3 1.7 1.5 2.1 1.3 2.6 1.9 2.3 3.3 3.2 2.8 Rimini +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.2 -0.2 0.3 0.1 0.3 0.1 0.2 -0.5 -0.3 -1.1 -0.7 BiasNew 0.0 -0.3 0.0 -0.3 -0.1 -0.4 -0.2 -0.6 0.0 -0.6 -0.1 Mae 1.3 1.5 1.8 1.9 2.0 1.7 1.8 1.9 2.2 2.4 2.2 MaeNew 1.1 1.6 1.2 1.6 1.4 1.5 1.9 1.7 2.3 2.6 2.0 Totale +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.2 -0.1 0.4 0.2 0.5 0.1 0.4 -0.2 -0.2 -1.0 -0.7 BiasNew 0.1 0.0 0.1 0.0 0.0 0.0 0.1 -0.1 -0.2 -0.1 0.1 Mae 1.3 1.3 1.5 1.4 1.4 1.7 1.8 1.6 2.5 2.4 2.5 MaeNew 1.4 1.4 1.6 1.6 1.7 1.9 2.1 1.7 3.1 2.7 2.8 Dalla tabella totale risulta che la vecchia catena operativa ha fornito per i primi 24 giorni del mese di giugno valori di errore medio inferiori alla nuova catena operativa, e valori di errore sistematico superiori a quelli della nuova catena operativa. Le previsioni sulla costa della nuova suite sono state migliori rispetto a quelle formulate nell’entroterra e a Rimini sono risultate migliori le nuove previsioni rispetto alle vecchie. Questo si spiega in parte con il fatto che le temperature osservate estratte dal nuovo archivio oracle non passano ancora il Quality Control che verrà in breve implementato da parte dell’ufficio informatica, ed in parte ciò è dovuto alla modalità con cui si estraggono i punti previsioni come si è potuto notare verificando casi in cui la nuova versione del filtro di Kalman ha fornito previsioni evidentemente sbagliate, quali la previsione di circa 40 gradi di temperatura massima per il giorno successivo su buona parte delle stazioni presenti nella Valpadana occidentale, formulata il giorno 26 giugno. Questo errore è da imputare al fatto che le temperature massime previste due giorni prima a +48 ore (valore di riferimento) dal centro europeo nell’entroterra della Valpadana hanno riportato valori di circa 16-17 gradi, fortemente sotto stimate, e ciò ha comportato un forte peso dell’errore con forte sopra stima nella correzione da apportare alla previsione del centro europeo il giorno seguente.

Page 22: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

22

Si vuole inoltre sottolineare che l’eccellente performance della vecchia procedura operativa (errore medio inferiore a 2 gradi fino a +108 ore), oscura in parte i pur buoni risultati ottenuti dalla nuova catena operativa. Nelle seguenti tabelle si riportano alcuni esempi di errore per il mese di giugno ’02 su alcune località italiane e su stazioni di montagna superiori ai 1500 metri di quota. Si può notare che la performance del modello è buona anche al di fuori della pianura Emiliano-Romagnola. Palermo +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.1 0.0 0.1 0.1 Mae 1.5 1.2 1.8 1.0 2.2 1.0 1.5 2.8 2.5 2.3 1.7 Napoli +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias -0.1 0.0 0.0 -0.1 0.0 0.1 -0.3 -0.1 -0.1 -0.2 -0.4 Mae 1.4 1.0 2.4 0.7 2.2 1.1 1.7 1.6 3.4 2.3 3.3 Brindisi +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias -0.1 0.0 -0.3 -0.1 -0.5 -0.4 -0.6 -0.5 -0.6 -0.4 -0.7 Mae 1.4 1.1 1.2 1.2 1.5 1.7 1.7 2.3 1.8 1.9 2.7 Monte Cimone

+24 Mx

+36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias -0.3 -0.2 -0.7 -0.2 -0.9 -0.4 -1.2 -0.8 -1.6 -1.3 -1.9 Mae 1.4 1.1 1.8 1.6 2.1 2.0 2.7 2.5 3.3 2.8 3.4 Lagdei +24

Mx +36 Mn

+48 Mx

+60 Mn

+72 Mx

+84 Mn

+96 Mx

+108 Mn

+120 Mx

+132 Mn

+144 Mx

Bias -0.1 -0.1 -0.1 -0.0 -0.3 -0.1 -0.5 -0.2 -0.9 -0.5 -1.0 Mae 1.4 1.2 2.1 1.5 1.8 1.4 2.4 1.7 3.0 2.1 3.5

Page 23: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

23

Figura 1- Tabella delle Temperature previste con filtro di Kalman sull’Emilia-Romagna

Page 24: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

24

Figura 2 – Tabella delle umidità previste con filtro di Kalman sull’Emilia-Romagna

Page 25: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

25

Figure 3 e 4 – Campi di temperature estreme prevista con metodo di Kalman

Page 26: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

26

figura 5 – Verifica delle previsioni di temperatura in tempo reale degli ultimi 7 giorni

Page 27: Manuale programmatore del filtro di Kalman€¦ · usciti dai confini regionali, dovendo assistere la protezione civile Nazionale, formulando previsioni a scala nazionale per radio

27 27

Figura 6- Previsioni puntuali di temperatura con filtro di Kalman sull’Italia