Gruppo Meteo/RFC-rmap obsolete

Da raspibo.
Jump to navigation Jump to search

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