Gruppo Meteo/RFC-rmap obsolete
RFC rmap
Definizioni
Campionamento e Osservazioni
- Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.
- Campione è una singola misura, tipicamente una di una serie di letture “spot” di un sistema di sensoristica.
- Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni.
- Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.
Data Level
- Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate
- Dati Level II, dati riconosciuti come variabili meteorologiche; possono essere ottenuti direttamente da strumenti o derivati dai dati Level I
- Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.
I dati scambiati a livello internazionale sono livello II o livello III
Protocolli per R-map
- MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.
- AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web
Metadati
Ogni dato è un valore associato a 6 metadati univoci.
- Time (date time della osservazione o di termine del periodo di osservazione)
- Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)
- Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)
- Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”
- Livello: le coordinate verticali (eventualmente strato)
- Variabile: parametro fisico
Ogni dato può essere dotato inoltre di attributi variabili nel tempo (controolo di qualità) E' inoltre possibile associare dei dati statici (anagrafica, ossia invariabili nel tempo, timerange e livello) con metadati longitudine, latitudine, identicativo, report
Tabella time range
Tabella Livello
Tabella variabile ( B table)
Metadati su MQTT
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale. Json è il formato per il payload.
Forma simbilica del topic: /IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR
- IDENT: identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata
- COORDS: nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo
- NETWORK: etichetta massimo 16 caratteri
- TRANGE: nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi
- LEVEL: nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi
- VAR: nella forma BXXYYY (come da codice BUFR WMO)
Il payload è in formato JSON: { “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }
- VALUE: valore in formato CREX
- TIME: formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali)
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali