logo

Questa è una guida di riferimento alle utilità eseguibili fornite con Weewx:


  • • wee_config per modificare il file di configurazione e configurare nuovi driver di dispositivo;
  • • wee_database per riconfigurare il database;
  • • wee_debug per produrre report di debug per il supporto remoto;
  • • wee_device per configurare il tuo hardware;
  • • wee_extension per l'installazione e la rimozione delle estensioni;
  • • wee_import per l'importazione di dati storici da fonti esterne;
  • • wee_reports per eseguire report senza eseguire Weewx stesso;
  • • weewxd il programma principale di Weewx;
  • • wunderfixer per il rinvio dei dati mancanti sul sito Weather Underground.
 

WEE_CONFIG

 

Quando installi Weewx per la prima volta, il processo di installazione ti chiederà le opzioni più essenziali, come il tipo di hardware che stai usando, latitudine, longitudine o altitudine. Ma cosa succede se si desidera modificarli in un secondo momento? In particolare, cosa succede se si desidera modificare i driver di dispositivo? È possibile modificare manualmente il file di configurazione, weewx.conf , descritto in dettaglio nella Guida per l'utente , ma è un file grande con molte sfumature. In alternativa, se stai solo modificando qualcosa di semplice, potresti essere in grado di utilizzare l'utilità wee_config .

Prima di iniziare, vale la pena eseguirlo con l' opzione --help per vedere come viene utilizzato:

wee_config --help

Questo risulta in:

Usage: wee_config --help
       wee_config --version
       wee_config --list-drivers
       wee_config --reconfigure CONFIG_FILE|--config=CONFIG_FILE
           [--driver=DRIVER]  [--units=(us|metric)]
           [--latitude=yy.y] [--longitude=xx.x] [--altitude=zz.z,(foot|meter)]
           [--location="Home Sweet Home"] [--register=(y,n)]
           [--output=OUT_CONFIG] [--no-prompt] [--no-backup] [--verbosity=N]
       wee_config --install --dist-config=DIST_CONFIG --output=OUT_CONFIG
           [--driver=DRIVER]  [--units=(us|metric)]
           [--latitude=yy.y] [--longitude=xx.x] [--altitude=zz.z,(foot|meter)]
           [--location="Home Sweet Home"] [--register=(y,n)]
           [--no-prompt] [--no-backup] [--verbosity=N]
       wee_config --upgrade CONFIG_FILE|--config=CONFIG_FILE
           --dist-config=DIST_CONFIG
           [--output=OUT_CONFIG] [--no-prompt] [--no-backup]
           [--warn-on-error] [--verbosity=N]

User actions:

--version       Show the Weewx version, then exit.
--list-drivers  List the available Weewx device drivers, then exit.
--reconfigure   Modify an existing configuration file CONFIG_FILE with any
                specified station parameters.  Use this command with the
                --driver option to change the device driver.

System actions (not normally done by users):

--install       Install a new configuration file starting with the contents of
                DIST_CONFIG, prompting for station parameters.
--upgrade       Update the contents of configuration file CONFIG_FILE to the
                installed version, then merge the result with the contents of
                configuration file DIST_CONFIG.

Station parameters:

  --driver      --units
  --latitude    --longitude
  --altitude    --location
  --register


Options:
  -h, --help            show this help message and exit
  --version             Show the Weewx version then exit.
  --list-drivers        List the available device drivers.
  --reconfigure         Reconfigure an existing configuration file.
  --install             Install a new configuration file.
  --upgrade             Update an existing configuration file, then merge with
                        contents of DIST_CONFIG.
  --config=CONFIG_FILE  Use configuration file CONFIG_FILE.
  --dist-config=DIST_CONFIG
                        Use template configuration file DIST_CONFIG.
  --output=OUT_CONFIG   Save to configuration file OUT_CONFIG.  If not
                        specified then replace existing configuration file.
  --driver=DRIVER       Use the driver DRIVER. For example,
                        weewx.drivers.vantage
  --latitude=yy.y       The station latitude in decimal degrees.
  --longitude=xx.x      The station longitude in decimal degrees.
  --altitude=zz,(foot|meter)
                        The station altitude in either feet or meters. For
                        example, '750,foot' or '320,meter'
  --location=LOCATION   A text description of the station. For example,
                        "Santa's workshop, North Pole"
  --units=(metric|us)   Set display units to 'metric' or 'us'.
  --register=(y/n)      Register this station in the Weewx registry?
  --no-prompt           Do not prompt. Use default or specified values.
  --no-backup           When replacing an existing configuration file, do not
                        create a backup copy.
  --warn-on-error       Only warn if an update is not possible.  Default
                        behavior is to warn then exit.
  --debug               Show diagnostic information while running.
  --verbosity=N         How much status to display, 0-3

Azioni e opzioni


Azione --config

L'utilità è abbastanza buona per "indovinare" dove si trova il file di configurazione weewx.conf , ma se hai eseguito un'installazione insolita, potresti doverlo dire esplicitamente. Puoi farlo inserendo la posizione direttamente nella riga di comando:

wee_config /home/weewx/weewx.conf

o usando l'opzione --config :

wee_config --config=/home/weewx/weewx.conf

Azione --list-drivers

Usa questa azione per elencare quali driver di dispositivo sono disponibili sul tuo sistema. Per esempio:

wee_config --list-drivers

Ciò si tradurrà in qualcosa del tipo:

Module name              Driver name    Version  Status
  weewx.drivers.acurite    AcuRite        0.19     No module named usb
  weewx.drivers.cc3000     CC3000         0.3
  weewx.drivers.fousb      FineOffsetUSB  1.7      No module named usb
  weewx.drivers.simulator  Simulator      3.0
  weewx.drivers.te923      TE923          0.14     No module named usb
  weewx.drivers.ultimeter  Ultimeter      0.13
  weewx.drivers.vantage    Vantage        3.0
  weewx.drivers.wmr100     WMR100         3.0      No module named usb
  weewx.drivers.wmr9x8     WMR9x8         3.0
  weewx.drivers.ws1        WS1            0.19
  weewx.drivers.ws23xx     WS23xx         0.24
  weewx.drivers.ws28xx     WS28xx         0.34     No module named usb

La colonna Status può darti qualche indicazione se ti mancano dei moduli per usare questo driver. Non è completamente accurato, ma funziona per la maggior parte dei driver.

Azione --reconfigure

Questa azione viene utilizzata per modificare i parametri della stazione, incluso il driver del dispositivo. L'azione di riconfigurazione richiederà tutti i parametri della stazione richiesti.

wee_config --reconfigure

Se utilizzato con l' opzione --no-prompt , reconfigure modificherà parametri specifici senza alcuna interazione. Ad esempio, questo imposterebbe l'altitudine della stazione:

wee_config --reconfigure --altitude=35,foot --no-prompt

Questo cambierebbe il driver in un driver netatmo installato dall'utente:

wee_config --reconfigure --driver=user.netatmo --no-prompt

Esempio: cambiare il driver

Supponiamo che tu abbia originariamente installato Weewx con il simulatore. Ora hai acquistato una Davis Vantage e vuoi passare a quello. Innanzitutto, usa l'azione --list-drivers per vedere quali driver sono installati.

wee_config --list-drivers

Module name              Driver name    Version  Status
  weewx.drivers.acurite    AcuRite        0.19     
  weewx.drivers.cc3000     CC3000         0.3
  weewx.drivers.fousb      FineOffsetUSB  1.7      
  weewx.drivers.simulator  Simulator      3.0
  weewx.drivers.te923      TE923          0.14     
  weewx.drivers.ultimeter  Ultimeter      0.13
  weewx.drivers.vantage    Vantage        3.0
  weewx.drivers.wmr100     WMR100         3.0      
  weewx.drivers.wmr9x8     WMR9x8         3.0
  weewx.drivers.ws1        WS1            0.19
  weewx.drivers.ws23xx     WS23xx         0.24
  weewx.drivers.ws28xx     WS28xx         0.34

Dall'elenco, troverai che il nome del driver per Vantage è weewx.drivers.vantage . Ora esegui wee_config , con l' azione --reconfigure , specificando quel driver:

wee_config --reconfigure --driver=weewx.drivers.vantage

Puoi anche eseguire senza specificare il driver a priori :

wee_config --reconfigure

L'utilità esaminerà le opzioni selezionate in precedenza, come la descrizione della stazione, la latitudine, la longitudine, l'altitudine, ecc . Ad eccezione del driver del dispositivo appena specificato, tutti i valori selezionati in precedenza saranno i valori predefiniti. Quindi, tutto ciò che devi fare è continuare a premere Invio. Ecco com'era quando siamo passati dal simulatore al driver Vantage:

Using configuration file /home/weewx/weewx.conf
Enter a brief description of the station, such as its location.  For example:
Santa's Workshop, North Pole
description [My Little Town, Oregon]:

Specify altitude, with units 'foot' or 'meter'.  For example:
35, foot
12, meter
altitude [700, foot]:

Specify latitude in decimal degrees, negative for south.
latitude [0.00]:
Specify longitude in decimal degrees, negative for west.
longitude [0.00]:

You can register your station on Weewx.com, where it will be included
in a map. You will need a unique URL to identify your station (such as a
website, or WeatherUnderground link).
Include station in the station registry (y/n)? [y]:
Unique URL: [http://weewx.com]:

Indicate the preferred units for display: ['us', 'metric', 'metricwx']
units [us]:

Installed drivers include:
  0) AcuRite         (weewx.drivers.acurite)
  1) CC3000          (weewx.drivers.cc3000)
  2) FineOffsetUSB   (weewx.drivers.fousb)
  3) Simulator       (weewx.drivers.simulator)
  4) TE923           (weewx.drivers.te923)
  5) Ultimeter       (weewx.drivers.ultimeter)
  6) Vantage         (weewx.drivers.vantage)
  7) WMR100          (weewx.drivers.wmr100)
  8) WMR300          (weewx.drivers.wmr300)
  9) WMR9x8          (weewx.drivers.wmr9x8)
 10) WS1             (weewx.drivers.ws1)
 11) WS23xx          (weewx.drivers.ws23xx)
 12) WS28xx          (weewx.drivers.ws28xx)
choose a driver [3]:
Saved backup to /home/weewx/weewx.conf.20200328054724

Se questo è di troppo disturbo, puoi specificare l' opzione --no-prompt :

wee_config --reconfigure --driver=weewx.drivers.vantage --no-prompt

Questo accetterà tutte le impostazioni predefinite, incluso il nuovo driver del dispositivo, senza richiedere alcun input.

Azione --upgrade

Utilizzare questa azione per aggiornare un file di configurazione, come weewx.conf . Normalmente, questo viene fatto automaticamente dall'installatore, ma ci sono occasioni in cui deve essere fatto manualmente. In particolare, ciò può accadere quando si eseguono diverse istanze di weewxd sulla stessa macchina e ciascuna ha il proprio file di configurazione univoco. Quello denominato weewx.conf verrà aggiornato, ma non gli altri.

Supponi di avere un file di configurazione aggiuntivo, foo.conf , situato in /etc/weewx/foo.conf . Ecco come aggiornarlo:

  1. • Innanzitutto, individua il "file di configurazione della distribuzione". Questa è la versione di weewx.conf fornita con la nuova versione di Weewx.

    - Se hai utilizzato il metodo di installazione setup.py , sarà in /home/weewx/weewx.conf.XYZ , dove XYZ è il numero di versione.

    - Se hai utilizzato un programma di installazione del pacchetto, sarà in /etc/weewx/weewx.conf.dist .

  2. • Quindi utilizzare l'utilità per aggiornarlo:

    sudo wee_config --upgrade --config=/etc/weewx/foo.conf --dist-config=path-to-dist-config

    dove path-to-dist-config è il percorso del file di configurazione della distribuzione sopra identificato.

La tua vecchia versione di foo.conf verrà copiata in un backup con timestamp. Quindi, verrà aggiornato e i risultati sostituiranno la vecchia copia.

L'opzione --upgrade è idempotente. In altre parole, le chiamate successive non modificano il risultato (sebbene lasceranno indietro più backup).

 

WEE_DATABASE

 

Questa utilità di database semplifica le tipiche operazioni di manutenzione del database. Ad esempio, può ricostruire i riepiloghi giornalieri o controllare un database SQLite per le stringhe incorporate in cui sono previsti float.

Eseguire l'utilità con l' opzione --help per vedere come viene utilizzata:

wee_database --help

Ciò si tradurrà in un output simile a questo:

Usage: wee_database --help
       wee_database --create
       wee_database --reconfigure
       wee_database --transfer --dest-binding=BINDING_NAME [--dry-run]
       wee_database --add-column=NAME [--type=(REAL|INTEGER)]
       wee_database --rename-column=NAME --to-name=NEW_NAME
       wee_database --drop-columns=NAME1,NAME2,...
       wee_database --check
       wee_database --update [--dry-run]
       wee_database --drop-daily
       wee_database --rebuild-daily [--date=YYYY-mm-dd |
                                    [--from=YYYY-mm-dd] [--to=YYYY-mm-dd]]
                                    [--dry-run]
       wee_database --reweight [--date=YYYY-mm-dd |
                               [--from=YYYY-mm-dd] [--to=YYYY-mm-dd]]
                               [--dry-run]
       wee_database --calc-missing [--date=YYYY-mm-dd |
                                   [--from=YYYY-mm-dd[THH:MM]] [--to=YYYY-mm-dd[THH:MM]]]
       wee_database --check-strings
       wee_database --fix-strings [--dry-run]

Description:

Manipulate the Weewx database. Most of these operations are handled
automatically by Weewx, but they may be useful in special cases.

Options:
  -h, --help            show this help message and exit
  --create              Create the Weewx database and initialize it with the
                        schema.
  --reconfigure         Create a new database using configuration information
                        found in the configuration file. The new database will
                        have the same name as the old database, with a '_new'
                        on the end.
  --transfer            Transfer the Weewx archive from source database to
                        destination database.
  --add-column=NAME     Add new column NAME to database.
  --type=TYPE           New database column type (INTEGER|REAL) (option --add-
                        column only).  Default is 'REAL'.
  --rename-column=NAME  Rename the column with name NAME.
  --to-name=NEW_NAME    New name of the column (option --rename-column only).
  --drop-columns=NAME1,NAME2,...
                        Drop one or more columns. Names must be separated by
                        commas, with NO SPACES.
  --check               Check the calculations in the daily summary tables.
  --update              Update the daily summary tables if required and
                        recalculate the daily summary maximum windSpeed
                        values.
  --calc-missing        Calculate and store any missing derived observations.
  --check-strings       Check the archive table for null strings that may have
                        been introduced by a SQL editing program.
  --fix-strings         Fix any null strings in a SQLite database.
  --drop-daily          Drop the daily summary tables from a database.
  --rebuild-daily       Rebuild the daily summaries from data in the archive
                        table.
  --reweight            Recalculate the weighted sums in the daily summaries.
  --config=CONFIG_FILE  Use configuration file CONFIG_FILE.
  --date=YYYY-mm-dd     This date only (options --calc-missing and --rebuild-
                        daily only).
  --from=YYYY-mm-dd[THH:MM]
                        Start with this date or date-time (options --calc-
                        missing and --rebuild-daily only).
  --to=YYYY-mm-dd[THH:MM]
                        End with this date or date-time (options --calc-
                        missing and --rebuild-daily only).
  --binding=BINDING_NAME
                        The data binding to use. Default is 'wx_binding'.
  --dest-binding=BINDING_NAME
                        The destination data binding (option --transfer only).
  --dry-run             Print what would happen but do not do it. Default is
                        False.

Azioni e opzioni


Azione --create

Se il database non esiste già, questa azione lo creerà e lo inizializzerà con lo schema specificato nel file di configurazione di Weewx. Poiché Weewx lo fa automaticamente, questa azione è raramente necessaria.

wee_database --create

Azione --reconfigure

Questa azione è utile per modificare lo schema o il sistema di unità nel database.

Crea un nuovo database con lo stesso nome del vecchio, ma con il suffisso _new allegato alla fine (nominalmente, weewx.sdb_new se si utilizza SQLite, weewx_new se si utilizza MySQL). Quindi lo inizializza con lo schema specificato in weewx.conf . Infine, copia i dati dal vecchio database nel nuovo database.

wee_database --reconfigure

Vedere la sezione Modifica del sistema di unità del database in un database esistente nella Guida alla personalizzazione per istruzioni dettagliate sull'utilizzo di questa opzione.

Azione --transfer

Questa azione è utile per spostare il database da un tipo di database a un altro, ad esempio da SQLite a MySQL. Per usarlo, devi avere due associazioni specificate nel tuo file di configurazione weewx.conf . Uno servirà come fonte, l'altro come destinazione. Specificare l'associazione di origine con l'opzione --binding , l'associazione di destinazione con l'opzione --dest-binding . L' opzione --binding può essere omessa, nel qual caso verrà utilizzato il wx-binding predefinito.

wee_database --transfer --binding=source_binding --dest-binding=dest_binding 
wee_database --transfer --dest-binding=dest_binding

Azione --add-column

Questa azione aggiunge un nuovo tipo di osservazione del database (colonna) al database. Se utilizzato senza l' opzione --type , il tipo verrà impostato su REAL .

wee_database --add-column

Facoltativamente, l'opzione --type può essere utilizzata con un tipo SQL REAL , INTEGER o qualsiasi altra definizione di colonna SQL (come INTEGER DEFAULT 0 ).

wee_database --add-column=NAME --type=TYPE

Azione --rename-column

Utilizzare questa azione per rinominare un tipo di osservazione del database (colonna) con un nuovo nome. Richiede l'opzione --to-name .

wee_database --rename-column=NOME --to-name=NUOVO_NOME

Ad esempio, per rinominare la voce luminosity della colonna nello schema in illuminance :

wee_database --rename-column=luminosity --to-name=illuminance

Azione --drop-columns

Questa azione eliminerà uno o più tipi di osservazione (colonne) dal database. Se viene fornito più di un nome di colonna, devono essere separati da virgole e senza spazi .

È errato tentare di eliminare una colonna inesistente. In questo caso non farà nulla.

wee_database --drop-columns=NAME1,NAME2

Quando si eliminano colonne da un database SQLite, è necessario copiare l'intero database ad eccezione delle colonne eliminate. Poiché questo può essere piuttosto lento, se stai eliminando più di una colonna, è meglio eseguirle tutte in un unico passaggio. Questo è il motivo per cui l'opzione --drop-columns accetta più di un nome.

Azione --check

Questa azione controllerà i calcoli nelle tabelle di riepilogo giornaliere e controllerà l'archivio per stringhe nulle (fare riferimento a --check-strings ). Se le tabelle di riepilogo giornaliero contengono riepiloghi calcolati utilizzando un vecchio algoritmo, si consiglia all'utente di aggiornare le tabelle di riepilogo giornaliero utilizzando l' azione --update . Se vengono trovate stringhe nulle, si consiglia all'utente di correggerle utilizzando l' azione --fix-strings .

wee_database --check

Azione --update

Questa azione aggiorna le tabelle di riepilogo giornaliere per utilizzare calcoli ponderati per intervallo e ricalcolare i valori e gli orari massimi giornalieri di windSpeed . I calcoli ponderati per intervallo vengono applicati ai riepiloghi giornalieri solo se non applicati in precedenza. Il processo di aggiornamento è irreversibile e si consiglia agli utenti di eseguire il backup del proprio database prima di eseguire questa azione.

wee_database --update

Azione --drop-daily

Oltre ai normali dati di archivio, ogni database Weewx include anche una tabella riepilogativa giornaliera per ogni tipo di osservazione. Poiché possono esserci dozzine di tipi di osservazione, possono esserci dozzine di questi riepiloghi giornalieri. Non capita molto spesso, ma ci possono essere occasioni in cui è necessario scartarle tutte e poi ricostruirle. Farlo a mano sarebbe molto noioso! Questa azione li fa tutti in una volta.

wee_database --drop-daily

Azione --rebuild-daily

Questa azione è l'inverso dell'azione --drop-daily in quanto ricostruisce i riepiloghi giornalieri dai dati dell'archivio. Nella maggior parte dei casi non è necessario eliminare le tabelle di riepilogo giornaliere utilizzando l'azione --drop-daily prima di ricostruirle. L'azione --rebuild-daily accetta una serie di opzioni relative alla data, --date , --from e --to che consentono la ricostruzione selettiva dei riepiloghi giornalieri per uno o più giorni piuttosto che per l'intero storico dell'archivio. Queste opzioni possono essere utili se i dati fasulli sono stati rimossi dall'archivio coprendo un solo giorno o un periodo di pochi giorni. I riepiloghi giornalieri possono quindi essere ricostruiti solo per questo periodo, risultando in una ricostruzione più rapida e i valori minimi/massimi dettagliati e gli orari associati vengono conservati per i giorni non interessati. L' opzione --date limita la ricostruzione giornaliera del riepilogo alla data specificata. Le opzioni --from e --to possono essere utilizzate insieme o singolarmente per limitare la ricostruzione giornaliera del riepilogo a un periodo specificato. Se usato singolarmente --to ,l'opzione limita la ricostruzione al periodo compreso dalla prima data per la quale sono presenti dati nel database fino alla data specificata inclusa. Allo stesso modo, se utilizzata singolarmente, l' opzione --from limita la ricostruzione al periodo compreso dalla data specificata fino all'ultima data per la quale sono presenti dati nel database. Quando le opzioni --from e --to vengono utilizzate insieme, la ricostruzione giornaliera del riepilogo è limitata al periodo incluso specificato.

wee_database --rebuild-daily
wee_database --rebuild-daily --date=YYYY-mm-dd
wee_database --rebuild-daily --from=YYYY-mm-dd
wee_database --rebuild-daily --to=YYYY-mm-dd
wee_database --rebuild-daily --from=YYYY-mm-dd --to=YYYY-mm-dd

Sebbene le opzioni --from e --to accetteranno ora e minuti facoltativi nel formato THH:MM , tali opzioni di ora e minuti vengono ignorate dall'azione --rebuild poiché i riepiloghi giornalieri rappresentano solo giorni interi e non lo è possibile ricostruire parzialmente un riepilogo giornaliero.

Se utilizzato con l' azione --rebuild-daily, il periodo definito da --to e --from è compreso e le tabelle di riepilogo giornaliere verranno ricostruite per il giorno definito da --from e il giorno definito da --to e tutti giorni in mezzo.

Azione --reweight

In alternativa all'eliminazione e alla ricostruzione dei riepiloghi giornalieri, questa azione ricostruisce semplicemente le somme giornaliere ponderate (utilizzate per calcolare le medie) dai dati di archivio. Non tocca le massime e le minime. È molto più veloce di --rebuild-daily e ha il vantaggio che i massimi e i minimi rimangono invariati.

Altre opzioni sono come in --rebuild-daily .

Azione --calc-missing

Questa azione calcola le osservazioni derivate per i record di archivio nel database e quindi memorizza le osservazioni calcolate nel database. Ciò può essere utile se i dati di archivio errati vengono corretti o vengono aggiunti all'archivio dati osservativi aggiuntivi che possono alterare osservazioni derivate calcolate in precedenza o mancanti.

Il periodo in cui vengono calcolate le osservazioni derivate può essere limitato mediante l'uso delle opzioni --date , --from e/o --to . Se utilizzato senza nessuna di queste opzioni, --calc-missing calcolerà le osservazioni derivate per tutti i record di archivio nel database. L' opzione --date limita il calcolo delle osservazioni derivate solo alla data specificata. Le opzioni --from e --to possono essere utilizzate insieme per specificare rispettivamente la data e l'ora di inizio e di fine del periodo in cui verranno calcolate le osservazioni derivate. Se --from viene utilizzato da solo il periodo va dalla data-ora specificata fino all'ultimo record di archivio incluso nel database. Se --to viene utilizzato da solo, il periodo è il primo record di archivio nel database fino alla data-ora specificata.

wee_database --calc-missing
wee_database --calc-missing --date=YYYY-mm-dd
wee_database --calc-missing --from=YYYY-mm-dd[THH:MM]
wee_database --calc-missing --to=YYYY-mm-dd[THH:MM]
wee_database --calc-missing --from=YYYY-mm-dd[THH:MM] --to=YYYY-mm-dd[THH:MM]

Quando viene utilizzata una data YYYY-mm-dd come opzione --from , il periodo utilizzato da --calc-missing include i record dopo la mezzanotte all'inizio di YYYY-mm-dd , se un formato YYYY-mm-ddTHH:MM data-ora viene utilizzata come opzione --from il periodo include i record successivi a YYYY-mm-dd HH:MM . Quando viene utilizzata una data YYYY-mm-dd come opzione --to , il periodo include i record fino alla mezzanotte inclusa alla fine di YYYY-mm-dd , se viene utilizzata una data-ora in formato YYYY-mm-ddTHH:MM con l' opzione --to il periodo include i record fino a e incluso YYYY-mm-gg HH:MM . Quando si utilizza l' opzione --date il periodo è costituito da tutti i record dopo la mezzanotte all'inizio di YYYY-mm-dd fino alla mezzanotte inclusa alla fine di YYYY-mm-dd , in effetti lo stesso di --from=YYYY-mm-ddT00:00 --to=YYYY-mm-dd+1T00:00 .

--calc-missing utilizza il servizio StdWXCalculate per calcolare le osservazioni derivate mancanti. L'associazione dati utilizzata dal servizio StdWXCalculate dovrebbe normalmente corrispondere all'associazione dati del database utilizzato da --calc-missing . Gli utenti che utilizzano associazioni dati personalizzate o aggiuntive devono assicurarsi che le associazioni dati corrette vengano utilizzate sia da --calc-missing che dal servizio StdWXCalculate . Gli utenti che utilizzano l'associazione dati predefinita non devono prendere precauzioni speciali.

Azione --check-strings

Normalmente, tutte le voci nell'archivio sono numeri. Tuttavia, alcuni editor di database SQLite utilizzano una stringa nulla anziché un valore null durante l'eliminazione delle voci. Queste stringhe nulle possono causare problemi. Questa azione controlla il database per vedere se contiene stringhe nulle.

wee_database --check-strings

Azione --fix-strings

Questa azione controllerà eventuali stringhe null in un database SQLite e, se trovato, sostituirà un vero valore null.

wee_database --fix-strings
 

WEE_DEBUG

 

La risoluzione dei problemi durante l'esecuzione di Weewx spesso comporta l'analisi di un numero di parti di sistema apparentemente disparate e informazioni relative a Weewx. L' utilità wee_debug raccoglie tutte queste informazioni in un singolo output per semplificare la risoluzione dei problemi. L' utilità wee_debug è particolarmente utile per i nuovi utenti in quanto l'output può essere reindirizzato a un file quindi inviato tramite e-mail o pubblicato su un forum per assistere nella risoluzione dei problemi in remoto.

Eseguire l'utilità con l' opzione --help per vedere come viene utilizzata:

wee_debug --help

Questo risulta in:

Usage: wee_debug --help
       wee_debug --info
            [CONFIG_FILE|--config=CONFIG_FILE]
            [--output|--output DEBUG_PATH]
            [--verbosity=0|1|2]
       wee_debug --version

Description:

Generate a standard suite of system/weewx information to aid in remote
debugging. The wee_debug output consists of two parts, the first part containing
a snapshot of relevant system/weewx information and the second part a parsed and
obfuscated copy of weewx.conf. This output can be redirected to file and posted
when seeking assistance via forums or email.

Actions:

--info           Generate a debug report.

Options:
  -h, --help            show this help message and exit
  --config=CONFIG_FILE  Use configuration file CONFIG_FILE.
  --info                Generate Weewx debug output.
  --output              Write wee_debug output to DEBUG_PATH. DEBUG_PATH
                        includes path and file name. Default is
                        /var/tmp/weewx.debug.
  --verbosity=N         How much detail to display, 0-2, default=1.
  --version             Display wee_debug version number.

wee_debug will attempt to obfuscate obvious personal/private information in
weewx.conf such as user names, passwords and API keys; however, the user
should thoroughly check the generated output for personal/private information
before posting the information publicly.

Azioni e opzioni


Azione --config

L'utilità è abbastanza buona per "indovinare" dove si trova il file di configurazione weewx.conf , ma se hai eseguito un'installazione insolita, potresti doverlo dire esplicitamente. Puoi farlo inserendo la posizione direttamente nella riga di comando:

wee_debug /home/weewx/weewx.conf --info

o usando l'opzione --config :

wee_debug --config=/home/weewx/weewx.conf --info

Azione --info

Questa azione genera un rapporto che può essere inviato per il debug remoto.

wee_debug --info

L' output di wee_debug include una copia del file di configurazione di Weewx in uso (di solito weewx.conf ) e mentre wee_debug tenta di offuscare qualsiasi informazione personale o sensibile in weewx.conf , l'utente dovrebbe controllare attentamente l' output di wee_debug per qualsiasi informazione personale o sensibile rimanente prima di inviare un'e-mail o pubblicare l'output pubblicamente.

Ciò si traduce in un output simile a questo:

Using verbosity=1, displaying most info

wee_debug output will be sent to stdout(console)

Using configuration file /home/weewx/weewx.conf
Using database binding 'wx_binding', which is bound to database 'archive_mysql'

System info
  CPU implementer:        0x41
  Features:               half thumb fastmult vfp edsp java tls
  CPU architecture:       7
  BogoMIPS:               2.00
  Hardware:               BCM2708
  CPU revision:           7
  CPU part:               0xb76
  model name:             ARMv6-compatible processor rev 7 (v6l)
  Serial:                 000000009581b554
  processor:              0
  CPU variant:            0x0
  Revision:               000e

  Operating system:       debian 7.8
                          Linux rosella 4.1.6+ #810 PREEMPT Tue Aug 18 15:19:58 BST 2015 armv6l
  1 minute load average:  0.19
  5 minute load average:  0.15
  15 minute load average: 0.12

General Weewx info
  Weewx version 3.2.1 detected.

Station info
  Station type: Simulator
  Driver:       weewx.drivers.simulator

Driver info
[Simulator]
    # This section is for the weewx weather station simulator

    # The time (in seconds) between LOOP packets.
    loop_interval = 2.5

    # The simulator mode can be either 'simulator' or 'generator'.
    # Real-time simulator. Sleep between each LOOP packet.
    mode = simulator
    # Generator.  Emit LOOP packets as fast as possible (useful for testing).
    #mode = generator

    # The start time. If not specified, the default is to use the present time.
    #start = 2011-01-01 00:00

    # The driver to use:
    driver = weewx.drivers.simulator

Currently installed extensions
Extension Name    Version   Description
weewx-WD          1.2.0b1   Weewx support for Weather Display Live, SteelSeries Gauges and Carter Lake/Saratoga weather web site templates.

Archive info
  Database name:        weewx
  Table name:           archive
  Unit system:          16(METRIC)
  First good timestamp: 2013-01-01 00:00:00 AEST (1356962400)
  Last good timestamp:  2015-09-06 02:15:00 AEST (1441469700)
  Number of records:    281178
  Weewx (weewx.conf) is set to use an archive interval of 300 seconds.
  The station hardware was not interrogated in determining archive interval.

Databases configured in weewx.conf
  Database name:        weewx
  Database driver:      weedb.mysql
  Database host:        localhost

  Database name:        wdsupp
  Database driver:      weedb.mysql
  Database host:        localhost

  Database name:        weewxwd
  Database driver:      weedb.mysql
  Database host:        localhost


Parsed and obfuscated weewx.conf
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2015 Tom Keffer <tkeffer@gmail.com>
# See the file LICENSE.txt for your rights.

##############################################################################

# This section is for general configuration information.

... content removed for conciseness ...

#   This section configures the internal Weewx engine.

[Engine]

    [[Services]]
        # This section specifies the services that should be run. They are
        # grouped by type, and the order of services within each group
        # determines the order in which the services will be run.
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate, user.weewxwd3.WdWXCalculate
        archive_services = weewx.engine.StdArchive, user.weewxwd3.WdArchive, user.weewxwd3.WdSuppArchive
        restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS, user.sync.SyncService
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport

################################################################################

wee_debug report successfully generated

Azione --output

Per impostazione predefinita, wee_debug invia il suo output al sistema "standard output" ( stdout ) a meno che non venga utilizzata l'opzione --output .

L'opzione --output senza parametri invia l'output al file predefinito /var/tmp/weewx.debug . Esempio:

wee_debug --info --output

L'opzione --output con un file specificato lo invierà a quel file. Esempio:

wee_debug --info --output /home/weewx/another.debug

Azione --verbosity

La quantità di informazioni incluse nell'output di wee_debug può essere modificata utilizzando l' opzione --verbosity . L' opzione --verbosity può essere impostata su 0, 1 o 2 con ogni livello superiore che visualizza successivamente più informazioni. Il livello predefinito è 1. Le informazioni visualizzate per ciascun livello sono:

LIVELLO INFORMAZIONI INCLUSE
--verbosity 0 Percorso e nome del file di configurazione di Weewx usato (solitamente weewx.conf)
Nome dell'associazione al database Weewx utilizzata
Versione del sistema operativo
Numero di versione di Weewx
Tipo di stazione Weewx e nome del driver
Riepilogo delle estensioni attualmente installate
Sommario dell'archivio di Weewx
File di configurazione Weewx analizzato e offuscato (solitamente weewx.conf)
--verbosity 1 Come per --verbosity 0
Riepilogo delle informazioni sulla cpu
Medie di carico del sistema
Estratto della configurazione del driver dal file di configurazione di Weewx (solitamente weewx.conf)
Sommario dei database configurati nel file di configurazione di Weewx (solitamente weewx.conf)
--verbosity 2 Come per --verbosity 1
Elenco delle chiavi SQL supportate
Elenco dei tipi di osservazione supportati

 

WEE_DEVICE

 

L'utilità wee_device viene utilizzata per configurare le impostazioni hardware, come la dimensione del pluviometro, l'intervallo di archiviazione della stazione, l'altitudine, le costanti EEPROM, ecc. , sulla tua stazione. Per fare ciò, dipende dal codice opzionale presente nel driver hardware. Poiché non tutti i driver hanno questo codice, potrebbe non funzionare per il tuo dispositivo specifico. In caso contrario, dovrai consultare le istruzioni del produttore su come impostare queste opzioni tramite la tua console o altri mezzi.

wee_device utilizza l'opzione station_type in weewx.conf per determinare quale dispositivo stai utilizzando e quali opzioni visualizzare. Assicurati che sia impostato correttamente prima di tentare di utilizzare questa utility.

Poiché wee_device utilizza un codice specifico dell'hardware, le sue opzioni sono diverse per ogni tipo di stazione. Dovresti eseguirlo con --help per vedere come usarlo per la tua stazione specifica:

wee_device --help

L'utilità richiede un file weewx.conf . Se non viene specificato alcun file, cercherà weewx.conf nella posizione standard. Se il file di configurazione si trova in una posizione non standard, specificare il percorso del file di configurazione come primo argomento. Per esempio,

wee_device /path/to/weewx.conf --help

Per i dettagli sulle opzioni disponibili per ogni tipo di hardware, vedere la sezione hardware appropriata.

 

WEE_EXTENSION

 

L'utilità wee_extension viene utilizzata per aggiungere e rimuovere estensioni. Utilizzare l' opzione --help per vedere come viene utilizzata:

wee_extension --help

Questo risulta in:

Usage: wee_extension --help
       wee_extension --list
           [CONFIG_FILE|--config=CONFIG_FILE]
       wee_extension --install=(filename|directory)
           [CONFIG_FILE|--config=CONFIG_FILE]
           [--tmpdir==DIR] [--dry-run] [--verbosity=N]
       wee_extension --uninstall=EXTENSION
           [CONFIG_FILE|--config=CONFIG_FILE]
           [--verbosity=N]

Install, list, and uninstall extensions to Weewx.

Actions:

--list:      Show installed extensions.
--install:   Install the specified extension.
--uninstall: Uninstall the specified extension.

Options:
  -h, --help            show this help message and exit
  --list                Show installed extensions.
  --install=FILENAME|DIRECTORY
                        Install an extension contained in FILENAME  (such as
                        pmon.tar.gz), or from a DIRECTORY in which it has been
                        unpacked.
  --uninstall=EXTENSION
                        Uninstall the extension with name EXTENSION.
  --config=CONFIG_FILE  Use configuration file CONFIG_FILE.
  --tmpdir=DIR          Use temporary directory DIR.
  --bin-root=BIN_ROOT   Look in BIN_ROOT for Weewx executables.
  --dry-run             Print what would happen but do not do it.
  --verbosity=N         How much status to display, 0-3

Azioni e opzioni


Azione --install

Utilizzare questa azione per installare un'estensione. È necessario specificare il percorso di un archivio .zip, un archivio .tgz/.tar.gz o una directory. Se si tratta di una directory, l'estensione deve essere stata decompressa al suo interno.

wee_extension --install=examples/basic
wee_extension --install=basic.tar.gz

Azione --list

Questa azione elencherà tutte le estensioni che hai installato.

wee_extension --list

Azione --uninstall

Utilizzare questa azione per rimuovere un'estensione. È necessario specificare il nome dell'estensione, senza alcun numero di versione o estensione zip/tgz.

wee_extension --uninstall=base

Esempio: installare un'estensione

L' utilità wee_extension crea una copia di qualsiasi file o directory che modifica o sostituisce. Durante l'installazione, crea una directory chiamata installer nella directory dell'utente . Il contenuto della directory del programma di installazione viene utilizzato per enumerare e disinstallare le estensioni.

Proviamo ad installare una semplice estensione, cmon , usata per monitorare il tuo computer.

Prima scaricalo. Puoi farlo dal link fornito nel wiki o usando wget (che potresti dover installare):

wget -P /var/tmp http://lancet.mit.edu/mwall/projects/weather/releases/weewx-cmon-0.7.tgz

Questo inserirà il file tar weewx-cmon-0.7.tgz nella directory /var/tmp .

Ora installa l'estensione:

wee_extension --install=/var/tmp/weewx-cmon-0.7.tgz
Request to install '/var/tmp/weewx-cmon-0.7.tgz'
Extracting from tarball /var/tmp/weewx-cmon-0.7.tgz
Added new service user.cmon.ComputerMonitor to process_services
Saving installer file to /home/weewx/bin/user/installer/cmon
Saved configuration dictionary. Backup copy at /home/weewx/weewx.conf.20150430130322
Finished installing extension '/var/tmp/weewx-cmon-0.7.tgz'

Il programma di installazione ha fatto una serie di cose per te:

  1. • Mette una nuova skin, cmon , nella sottodirectory skins ;
  2. • Ha inserito un nuovo servizio, user.cmon.ComputerMonitor , nell'elenco dei servizi che devono essere eseguiti da Weewx;
  3. • Ha definito un nuovo database, cmon_sqlite , e un'associazione, cmon_binding , a quel database;
  4. • Ha aggiunto una "stanza" di primo livello [ComputerMonitor] al file di configurazione weewx.conf , che specifica l'associazione dati che cmon deve utilizzare.
  5. • E, infine, ha salvato i dettagli su come è stata installata l'estensione in modo da poterla rimuovere in seguito, se si sceglie di farlo.

Ora puoi usare l' azione --list per vedere quali estensioni sono installate:

wee_extension --list
Extension Name   Version  Description
cmon             0.7      Collect and display computer health indicators

Puoi vedere che elencava l'estensione che abbiamo appena installato, cmon .

Puoi rimuovere un'estensione utilizzando l' azione --uninstall :

wee_extension --uninstall=cmon
wee_extension --list
No extensions installed
 

WEE_IMPORT

 

Alcuni utenti di Weewx avranno dati storici da un'altra fonte (ad esempio, un altro software per stazioni meteorologiche o un file compilato manualmente) che desiderano importare in Weewx. Tali dati possono, a seconda della fonte, essere importati utilizzando l' utilità wee_import . Questa sezione descrive in dettaglio l'uso dell'utility wee_import .

L' utility wee_import supporta l'importazione di dati osservativi dalle seguenti fonti:

  • • Un singolo file in formato CSV (Comma Separated Values).
  • • Le osservazioni storiche di una stazione meteorologica personale Weather Underground
  • • Uno o più file di registro mensili di Cumulus
  • • Uno o più file di log mensili di Weather Display

Prima di iniziare, vale la pena eseguire l'utility con il flag --help per vedere come viene utilizzato wee_import :

wee_import --help

Ciò si tradurrà in un output simile a questo:

Usage: wee_import --help
       wee_import --version
       wee_import --import-config=IMPORT_CONFIG_FILE
            [--config=CONFIG_FILE]
            [--date=YYYY-mm-dd | --from=YYYY-mm-dd[THH:MM] --to=YYYY-mm-dd[THH:MM]]
            [--dry-run]
            [--verbose]
            [--no-prompt]
            [--suppress-warnings]


Import observation data into a Weewx archive.

Options:
  -h, --help            show this help message and exit
  --config=CONFIG_FILE  Use configuration file CONFIG_FILE.
  --import-config=IMPORT_CONFIG_FILE
                        Use import configuration file IMPORT_CONFIG_FILE.
  --dry-run             Print what would happen but do not do it.
  --date=YYYY-mm-dd     Import data for this date. Format is YYYY-mm-dd.
  --from=YYYY-mm-dd[THH:MM]
                        Import data starting at this date or date-time. Format
                        is YYYY-mm-dd[THH:MM].
  --to=YYYY-mm-dd[THH:MM]
                        Import data up until this date or date-time. Format is
                        YYYY-mm-dd[THH:MM].
  --verbose             Print and log useful extra output.
  --no-prompt           Do not prompt. Accept relevant defaults and all y/n
                        prompts.
  --suppress-warnings   Suppress warnings to stdout. Warnings are still
                        logged.
  --version             Display wee_import version number.

wee_import will import data from an external source into a Weewx
archive. Daily summaries are updated as each archive record is
imported so there should be no need to separately rebuild the daily
summaries using the wee_database utility.

Azioni e opzioni

Le azioni e le opzioni wee_import sono descritte più dettagliatamente di seguito:

Azione --config

L'utility è piuttosto brava a "indovinare" dove si trova il tuo file di configurazione weewx.conf , ma se hai eseguito un'installazione insolita, potresti doverlo dire esplicitamente. Puoi farlo usando l' opzione --config :

wee_import --config=/this/directory/weewx.conf --import-config=/directory/import.conf

Azione --import-config

wee_import utilizza un file di configurazione secondario, noto come file di configurazione di importazione, per memorizzare vari parametri di importazione. L' opzione --import-config è obbligatoria per tutte le importazioni. I file di configurazione di importazione di esempio per ogni tipo di importazione supportato da wee_import sono forniti nella directory /home/weewx/util/import se si utilizza il metodo di installazione setup.py. Se hai utilizzato un programma di installazione dei pacchetti, i file di configurazione di importazione di esempio saranno nella directory /etc/weewx/import . Questi file di esempio vengono utilizzati al meglio creando una copia del file di esempio applicabile in una directory di lavoro e quindi modificando il file duplicato in base alle proprie esigenze. L' opzione --import-config viene utilizzata come segue:

wee_import --import-config=/directory/import.conf

Azione --dry-run

L'inclusione dell'opzione --dry-run farà sì che l'importazione proceda ma nessun dato effettivo verrà salvato nel database. Questa è un'opzione utile da utilizzare quando si importano i dati per la prima volta.

wee_import --import-config=/directory/import.conf --dry-run

Azione --date

I record di una singola data possono essere importati utilizzando l' opzione --date . L' opzione --date accetta stringhe nel formato YYYY-mm-dd . Mentre l'uso dell'opzione --date limiterà i dati importati a quelli di una singola data, l'azione predefinita se l' opzione --date (e le opzioni --from e --to ) è omessa può variare a seconda della fonte . Il funzionamento dell'opzione --date è riassunto nella seguente tabella:

OPZIONE RECORD IMPORTATI PER UN'IMPORTAZIONE CSV, CUMULUS, WEATHER DISPLAY O WEATHERCAT RECORD IMPORTATI PER UN'IMPORTAZIONE WEATHER UNDERGROUND
omesso
(vale a dire, il valore predefinito)
Tutti i record disponibili Solo record di oggi
--date=22-12-2015 Tutti i record dal 2015-12-22 00:00 (escluso) al 2015-12-23 00:00 (incluso) Tutti i record dal 2015-12-22 00:00 (escluso) al 2015-12-23 00:00 (incluso)

Se le opzioni --date , --from e --to sono omesse, l'impostazione predefinita è importare i record di oggi solo quando si importa da Weather Underground o importare tutti i record disponibili quando si importa da qualsiasi altra fonte.

Weewx considera un record di archivio per rappresentare un'aggregazione di dati nell'intervallo di archiviazione che precede il timestamp del record di archivio. Per questo motivo le importazioni che devono essere limitate a una determinata data con l' opzione --date importeranno solo i record con timestamp dopo la mezzanotte all'inizio del giorno in questione e fino alla mezzanotte inclusa alla fine del giorno in questione.

Opzioni --from e --to

Mentre l' opzione --date consente di limitare i dati importati a una singola data, le opzioni --from e --to consentono un controllo più preciso importando solo i record che rientrano nella data o nell'intervallo data-ora specificato dall'opzione --from e --alle opzioni. L' opzione --from determina il primo (incluso) e l' opzione --to determina l'ultima (esclusiva), data o data-ora dei record importati. Le opzioni --from e --to accettano una stringa del formato YYYY-mm-dd[THH:MM] . Il letterale T è obbligatorio se si specifica una data-ora.

Le opzioni --from e --to devono essere utilizzate in coppia, non possono essere utilizzate singolarmente o insieme all'opzione --date .

Il funzionamento delle opzioni --from e --to è riassunto nella seguente tabella:

OPZIONE OPZIONE RECORD IMPORTATI PER UN'IMPORTAZIONE CSV, CUMULUS, WEATHER DISPLAY O WEATHERCAT RECORD IMPORTATI PER UN'IMPORTAZIONE WEATHER UNDERGROUND
omesso
(vale a dire, il valore predefinito)
omesso
(vale a dire, il valore predefinito)
Tutti i record disponibili Solo record di oggi
--from=2015-12-22 --to=29-12-2015 Tutti i record dal 2015-12-22 00:00 (escluso) al 2015-12-30 00:00 (incluso) Tutti i record dal 2015-12-22 00:00 (escluso) al 2015-12-30 00:00 (incluso)
--from=2016-7-18T15:29 --to=25-7-2016 Tutti i record dal 18-7-2016 15:29 (escluso) al 26-7-2016 00:00 (incluso) Tutti i record dal 18-7-2016 15:29 (escluso) al 26-7-2016 00:00 (incluso)
--from=2016-5-12 --to=2016-7-22T22:15 Tutti i record dal 12-5-2016 00:00 (escluso) al 22-7-2016 22:15 (incluso) Tutti i record dal 12-5-2016 00:00 (escluso) al 22-7-2016 22:15 (incluso)
--from=2016-3-18T15:29 --to=2016-6-20T22:00 Tutti i record dal 18-3-2016 15:29 (escluso) al 20-6-2016 22:00 (incluso) Tutti i record dal 18-3-2016 15:29 (escluso) al 20-6-2016 22:00 (incluso)

Se le opzioni --date , --from e --to sono omesse, l'impostazione predefinita è importare i record di oggi solo quando si importa da Weather Underground o importare tutti i record disponibili quando si importa da qualsiasi altra fonte.

Weewx considera un record di archivio per rappresentare un'aggregazione di dati nell'intervallo di archiviazione che precede il timestamp del record di archivio. Per questo motivo le importazioni che devono essere limitate a un determinato intervallo di tempo con le opzioni --from e --to importeranno solo record con timestamp dopo il timestamp rappresentato dall'opzione --from e fino al timestamp incluso rappresentato dall' opzione --to.

Azione --verbose

L'inclusione dell'opzione --verbose causerà la stampa di ulteriori informazioni durante l'esecuzione di wee_import .

wee_import --import-config=/directory/import.conf --verbose

Azione --no-prompt

L'inclusione dell'opzione --no-prompt eseguirà wee_import senza prompt. Verranno utilizzate le impostazioni predefinite pertinenti e tutti i prompt s/n vengono automaticamente accettati come 's'. Questo può essere utile per l'uso non presidiato di wee_import .

wee_import --import-config=/directory/import.conf --no-prompt

È necessario prestare attenzione quando si utilizza l' opzione --no-prompt poiché ignorare gli avvisi durante il processo di importazione può portare a risultati imprevisti. Sebbene i dati esistenti siano protetti, l'uso o l'accettazione di un parametro o di un valore predefinito errato o imprevisto può comportare l'importazione di quantità significative di dati indesiderati.

Azione --suppress-warnings

L' opzione --suppress-warnings sopprime i messaggi di avviso wee_import dalla visualizzazione sulla console durante l'importazione. wee_import può emettere una serie di avvertimenti durante l'importazione. Questi avvisi possono essere dovuti al fatto che la fonte contiene più di una voce per un determinato timestamp o che non sono stati trovati dati per un campo di importazione mappato. Questi avvisi non richiedono necessariamente un'azione, ma possono consistere in un output esteso e quindi rendere difficile seguire l'avanzamento dell'importazione. Indipendentemente dal fatto che --suppress-warnings sia utilizzato, tutti gli avvisi vengono inviati al log.

wee_import --import-config=/directory/import.conf --suppress-warnings

Il file di configurazione dell'importazione

wee_import richiede un secondo file di configurazione, il file di configurazione di importazione, oltre al file di configurazione standard di Weewx. Il file di configurazione dell'importazione specifica il tipo di importazione e le varie opzioni associate a ciascun tipo di importazione. Il file di configurazione dell'importazione viene specificato utilizzando l' opzione --import-config obbligatoria . Il modo in cui costruisci il file di configurazione dell'importazione dipende da te; tuttavia, il metodo consigliato è copiare uno dei file di configurazione di importazione di esempio che si trovano nella directory /home/weewx/util/import o /etc/weewx/import a seconda dei casi, modificare le opzioni di configurazione nel file appena copiato per adattarle all'importazione da eseguire e quindi utilizzare questo file come file di configurazione di importazione.

Di seguito è riportata la guida alle opzioni disponibili nel file di configurazione di importazione. I valori predefiniti sono forniti per una serie di opzioni, il che significa che se non sono elencate nel file di configurazione di importazione, wee_import sceglierà valori ragionevoli. Quando la documentazione seguente fornisce un "valore predefinito", questo è il valore che verrà utilizzato se l'opzione viene omessa.

Generale


source

L' opzione source determina il tipo di importazione che deve essere eseguita da wee_import . L'opzione è obbligatoria e deve essere impostata su uno dei seguenti valori:

  • • CSV da importare da un singolo file in formato CSV.
  • • WU per importare da una cronologia PWS di Weather Underground.
  • • Cumulus per importare da uno o più file di log mensili di Cumulus.
  • • WD per importare da uno o più file di registro mensili di Weather Display.
  • • WeatherCat per importare da uno o più file .cat mensili WeatherCat.

Non c'è un valore predefinito.

[CSV]

La sezione [CSV] contiene le opzioni relative all'importazione dei dati osservativi da un file in formato CSV.

file

Il file contenente i dati in formato CSV da utilizzare come origine durante l'importazione. Includi percorso completo e nome file. Non c'è un valore predefinito.

source_encoding

La codifica del file di origine. Questo parametro è facoltativo e deve essere utilizzato solo se il file di origine utilizza una codifica diversa da UTF-8 o una codifica compatibile con ASCII. Se utilizzata, l'impostazione utilizzata dovrebbe essere una codifica standard Python . Il valore predefinito è utf-8-sig .

delimiter

Il carattere utilizzato per separare i campi. L'impostazione predefinita è , (virgola).

decimal

Il carattere utilizzato come punto decimale nei file di origine. Viene spesso utilizzato un punto fermo, ma potrebbe essere un altro carattere. Questo parametro deve essere racchiuso tra virgolette. L'impostazione predefinita è '.' .

interval

Determina come viene derivato l'intervallo di tempo (tabella Weewx archive campo interval) tra osservazioni successive. L'intervallo può essere derivato da uno dei tre metodi:

  • • L'intervallo può essere calcolato come il tempo, arrotondato al minuto più vicino, tra la data e l'ora delle registrazioni successive. Questo metodo è adatto quando i dati sono stati registrati a intervalli fissi e NON ci sono record mancanti nei dati di origine. L'uso di questo metodo quando ci sono record mancanti nei dati di origine può compromettere l'integrità dei dati statistici di Weewx. Seleziona questo metodo impostando interval = derive .
  • • L'intervallo può essere impostato sullo stesso valore dell'impostazione archive_interval in [StdArchive] in weewx.conf . Questa impostazione è utile se i dati sono stati registrati a intervalli fissi ma ci sono alcuni record mancanti e l'intervallo fisso è lo stesso dell'impostazione archive_interval in [StdArchive] in weewx.conf . Seleziona questo metodo impostando interval = conf .
  • • L'intervallo può essere impostato su un numero fisso di minuti. Questa impostazione è utile se i dati di origine sono stati registrati a intervalli fissi ma ci sono alcuni record mancanti e l'intervallo fisso è diverso dall'impostazione archive_interval in [StdArchive] in weewx.conf . Selezionare questo metodo impostando interval = x dove x è un numero intero di minuti.

Il valore predefinito è derive . Se i record di dati di origine CSV sono equidistanti nel tempo, ma mancano alcuni record, è possibile ottenere un risultato migliore utilizzando conf o un'impostazione di intervallo fisso.

qc

Determina se i controlli di qualità semplici vengono applicati ai dati importati. Impostando qc = True , wee_import applicherà i controlli minimi e massimi di Weewx StdQC a qualsiasi osservazione importata. I controlli di qualità wee_import utilizzano le stesse impostazioni di configurazione e funzionano allo stesso modo del servizio StdQC . Ad esempio, per i controlli di qualità minimo/massimo, se un'osservazione non rientra nell'intervallo di controllo della qualità per tale osservazione, l'osservazione verrà impostata su None . In tali casi verrai avvisato tramite un breve messaggio simile a:

2016-01-12 10:00:00 AEST (1452556800) record value 'outTemp' 194.34 outside limits (0.0, 120.0)

Poiché le osservazioni derivate vengono calcolate dopo l'applicazione del controllo di qualità, le osservazioni derivate non sono soggette a controlli di qualità. Impostando qc = False , wee_import non applicherà i controlli di qualità ai dati importati. Il valore predefinito è True .

calc_missing

Determina se eventuali osservazioni derivate mancanti verranno calcolate dai dati importati. Impostando calc_missing = True, wee_import utilizzerà il servizio Weewx StdWXCalculate per calcolare eventuali osservazioni derivate mancanti dai dati importati. Impostando calc_missing=False Weewx lascerà tutte le osservazioni derivate mancanti come None . Le osservazioni che StdWXCalculate può calcolare sono elencate nella sezione [StdWXCalculate] della Guida per l'utente . Il valore predefinito è True .

ignore_invalid_data

Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione deve essere interrotta. Se vengono trovati dati non validi in un campo di origine e ignore_invalid_data è True , il corrispondente campo di destinazione di Weewx viene impostato su None e l'importazione continua. Se vengono trovati dati non validi in un campo di origine e ignore_invalid_data è False , l'importazione viene interrotta. Il valore predefinito è True .

tranche

Per velocizzare le operazioni del database, i record importati vengono inseriti nel database in gruppi di record piuttosto che individualmente. La dimensione del gruppo è impostata dal parametro tranche . L'aumento del parametro tranche può comportare un leggero aumento della velocità, ma a scapito di un maggiore utilizzo della memoria. La riduzione del parametro tranche comporterà un minore utilizzo della memoria, ma a scapito di un accesso più frequente al database e probabilmente di un tempo maggiore per l'importazione. Il valore predefinito è 250 che dovrebbe essere adatto alla maggior parte degli utenti.

UV_sensor

Weewx registra un valore None/null per UV quando non è installato alcun sensore UV, mentre alcuni software di stazioni meteorologiche registrano un valore pari a 0 per l'indice UV quando non è installato alcun sensore UV. Il parametro UV_sensor consente a wee_import di distinguere tra il caso in cui è presente un sensore UV e l'indice UV è 0 e il caso in cui non è presente alcun sensore UV e l'indice UV è 0. UV_sensor = False dovrebbe essere utilizzato quando non è stato utilizzato alcun sensore UV in produrre i dati di origine. UV_sensor = False comporterà la registrazione di None/null nel campo dell'archivio Weewx UV indipendentemente da eventuali osservazioni UV nei dati di origine. UV_sensor = True dovrebbe essere utilizzato quando è stato utilizzato un sensore UV nella produzione dei dati di origine. UV_sensor = True risulterà in osservazioni UV nei dati di origine memorizzati nel campo dell'archivio Weewx UV . Il valore predefinito è True .

solar_sensor

Weewx registra un valore None/null quando non è installato alcun sensore di radiazione solare, mentre alcuni software di stazioni meteorologiche registrano un valore pari a 0 per la radiazione solare quando non è installato alcun sensore di radiazione solare. Il parametro solar_sensor consente a wee_import di distinguere tra il caso in cui è presente un sensore di radiazione solare e la radiazione solare è 0 e il caso in cui non è presente alcun sensore di radiazione solare e la radiazione solare è 0. solar_sensor = False dovrebbe essere usato quando non era presente alcun sensore di radiazione solare utilizzato per produrre i dati di origine. solar_sensor = False comporterà la registrazione di None/null nell'archivio Weewx campo radiation indipendentemente da eventuali osservazioni di radiazione solare nei dati di origine. solar_sensor = True dovrebbe essere utilizzato quando un sensore di radiazione solare è stato utilizzato per produrre i dati di origine. solar_sensor=True comporterà che le osservazioni della radiazione solare nei dati di origine vengano memorizzate nell'archivio Weewx campo radiation . Il valore predefinito è True .

raw_datetime_format

Weewx registra ogni record con un unico timestamp unix epoch, mentre molte applicazioni di stazioni meteorologiche o fonti web esportano dati osservativi con una data-ora leggibile dall'uomo. Questa data-ora leggibile dall'uomo viene interpretata in base al formato impostato dall'opzione raw_datetime_format . Questa opzione consiste in codici di formato Python strptime() e caratteri letterali per rappresentare i dati di data e ora importati. Ad esempio, se i dati di origine utilizzano il formato 23 gennaio 2015 15:34, l'impostazione appropriata per raw_datetime_format sarebbe %d %B %Y %H:%M , 9:25:00 12/28/16 utilizzerà %H :%M:%S %m/%g/%a . Se i dati di origine forniscono un timestamp epoch unix come campo data-ora, il timestamp epoch unix viene utilizzato direttamente e l' opzione raw_datetime_format viene ignorata. L'impostazione predefinita è %Y-%m-%d %H:%M:%S .

wee_import non supporta la costruzione del timestamp del record univoco da campi data e ora separati, piuttosto le informazioni data-ora per ciascun record importato devono essere contenute in un singolo campo. I dati CSV contenenti campi data e ora separati possono richiedere un'ulteriore elaborazione manuale prima di poter essere importati.

rain

Il campo rain di Weewx registra le precipitazioni che sono state registrate nel periodo di archivio precedente, quindi per un periodo di archivio di cinque minuti il campo rain in ciascun record di archivio conterrebbe le precipitazioni totali cadute nei cinque minuti precedenti. Molte applicazioni di stazioni meteorologiche forniscono un totale giornaliero o annuale. wee_import può derivare il campo rain Weewx in due modi:

  • • Se i dati sulle precipitazioni importati sono un totale parziale, allora wee_import può ricavare il campo rain Weewx da totali successivi. Per questo metodo usa rain = cumulative .
  • • Se i dati sulle precipitazioni importati sono un valore discreto per periodo data-ora, è necessario utilizzare rain = discrete .

wee_import supporta solo dati di precipitazioni cumulative che si azzerano alla mezzanotte, dati di precipitazioni cumulative che si azzerano in un altro momento; ad esempio, 9am, non è supportato. In tali casi, i dati sulle precipitazioni dovranno essere convertiti in reset alla mezzanotte o in un valore discreto per periodo data-ora e rain = discrete utilizzato. Il primo può essere possibile selezionando un altro campo rain (se disponibile) nei dati di origine, altrimenti richiederà la manipolazione manuale dei dati di origine.

wind_direction

Weewx registra la direzione del vento in gradi come un numero compreso tra 0 e 360 inclusi (nessuna direzione del vento viene registrata come None/null ), mentre alcune fonti di dati possono fornire la direzione del vento come numero su un intervallo diverso (ad esempio, da -180 a +180) o può usare un valore particolare quando non c'è direzione del vento (ad esempio, 0 può rappresentare nessuna direzione del vento e 360 può rappresentare un vento da nord, o -9999 (o un numero simile chiaramente non valido) per indicare che non c'è direzione del vento). wee_import gestisce tali variazioni nei dati definendo un intervallo in cui vengono accettati i valori di direzione del vento importati. Qualsiasi valore al di fuori di questo intervallo viene trattato come assenza di direzione del vento e viene registrato come None/null. Qualsiasi valore all'interno dell'intervallo viene normalizzato nell'intervallo da 0 a 360 inclusi (ad esempio, -180 verrebbe normalizzato a 180). L' opzione wind_direction è composta da due numeri separati da virgola nel formato inferiore, superiore dove inferiore e superiore sono inclusi. Il funzionamento dell'opzione wind_direction è meglio illustrato attraverso la seguente tabella:

IMPOSTAZIONE DELL'OPZIONE WIND_DIRECTION VALORE DELLA DIREZIONE DEL VENTO DEI DATI DI ORIGINE VALORE DELLA DIREZIONE DEL VENTO IMPORTATO
0, 360 0
160
360
500
-45
-9999
Nessun dato
0
160
360
None/null
None/null
None/null
None/null
-360, 360 0
160
360
500
-45
-9999
Nessun dato
0
160
360
None/null
315
None/null
None/null
-180, 180 0
160
360
500
-45
-9999
Nessun dato
0
160
None/null
None/null
315
None/null
None/null

Il valore predefinito è 0, 360 .

[[FieldMap]]

La stanza [[FieldMap]] definisce la mappatura dai campi dei dati di origine ai campi dell'archivio Weewx. La mappa è costituita da una riga per campo importata utilizzando uno dei seguenti formati:

weewx_archive_field_name = csv_field_name, weewx_unit_name

O

weewx_archive_field_name = csv_field_name, text

Dove:

  • • weewx_archive_field_name è un nome di campo nello schema della tabella di archivio Weewx in uso
  • • csv_field_name è il nome di un campo dal file CSV
  • • weewx_unit_name è il nome dell'unità Weewx delle unità utilizzate da csv_field_name
  • • text è la parola letterale testo

Questa mappatura consente a wee_import di prendere un campo di dati di origine, eseguire la conversione di unità appropriata e memorizzare il valore risultante nel campo di archivio Weewx appropriato. I campi di testo dei dati di origine possono essere mappati a un campo di archivio di testo Weewx utilizzando la seconda forma della voce della mappatura del campo in cui il testo letterale viene utilizzato al posto del nome di un'unità Weewx. Non è richiesta una mappatura per ogni campo dell'archivio Weewx (ad esempio, la sorgente potrebbe non fornire la temperatura interna, quindi non è richiesta alcuna mappatura del campo inTemp ) e nemmeno ogni campo CSV deve essere incluso in una mappatura (ad esempio, il campo dati sorgente monthrain può non servire se il campo dati sorgente rain fornisce i dati per l'archivio Weewx campo rain). Le righe di mappatura dei campi non utilizzate non verranno utilizzate e potrebbero essere omesse.

L'importazione di dati di testo nei campi di testo nell'archivio Weewx è supportata solo per i campi dell'archivio Weewx che sono stati configurati come campi di testo.

Se i dati di origine includono un campo che contiene un codice di sistema dell'unità Weewx (ovvero l'equivalente del campo Weewx usUnits come può essere ottenuto dai dati Weewx o wview), allora questo campo può essere mappato al campo Weewx usUnits e utilizzato per impostare le unità utilizzate per tutti i campi importati. In tali casi la parte weewx_unit_name dei campi importati nella mappatura del campo non viene utilizzata e può essere omessa.

Ad esempio, i dati CSV di origine con la seguente struttura:

date_and_time,temp,humid,wind,dir,rainfall,rad,river
23 May 2018 13:00,17.4,56,3.0,45,0.0,956,340
23 May 2018 13:05,17.6,56,1.0,22.5,0.4,746,341

dove temp è la temperatura in Celsius, humid è l'umidità in percentuale, wind è la velocità del vento in km/h, dir è la direzione del vento in gradi, rain è la pioggia in mm, rad è la radiazione in watt per metro quadrato e rain è l'altezza della pioggia in mm potrebbe utilizzare una mappatura del campo come segue:

[[FieldMap]] 
    dateTime = date_and_time, unix_epoch 
    outTemp = temp, degree_C 
    outHumidity = humid, percent 
    windSpeed = wind, km_per_hour 
    windDir = dir, degree_compass 
    rain = rain = rain, mm 
    radiant = rad, watt_per_meter_squared

Se gli stessi dati CSV di origine includevano un campo unit_info che contiene i dati del sistema di unità Weewx come segue:

date_and_time,temp,humid,wind,dir,rainfall,rad,river,unit_info
23 May 2018 13:00,17.4,56,3.0,45,0.0,956,340,1
23 May 2018 13:05,17.6,56,1.0,22.5,0.4,746,341,16

quindi potrebbe essere utilizzata una mappatura del campo come la seguente:

[[FieldMap]]
    dateTime    = date_and_time, unix_epoch
    usUnits     = unit_info
    outTemp     = temp
    outHumidity = humid
    windSpeed   = wind
    windDir     = dir
    rain        = rainfall
    radiation   = rad

Tutti i campi dell'archivio Weewx che sono derivati (ad esempio, dewpoint ) e per i quali non esiste alcuna mappatura del campo possono essere calcolati durante l'importazione utilizzando l' opzione calc_missing nella sezione [CSV] del file di configurazione dell'importazione.

[WU]

La sezione [WU] contiene le opzioni relative all'importazione dei dati osservativi da una cronologia PWS di Weather Underground.

station_id

L'ID della stazione meteorologica Weather Underground della PWS da cui verranno importati i dati storici. Non c'è un valore predefinito.

api_key

La chiave API di Weather Underground da utilizzare per ottenere i dati della cronologia PWS. Non c'è un valore predefinito.

La chiave API è una stringa apparentemente casuale di 32 caratteri utilizzata per accedere alla nuova API Weather Underground (2019). I contributori PWS possono ottenere una chiave API accedendo al sito Internet di Weather Underground e accedendo a Impostazioni utente. Le chiavi API di 16 caratteri utilizzate con la precedente API Weather Underground non sono supportate.

interval

Determina come viene determinato l'intervallo di tempo (weewx database campo interval ) tra osservazioni successive. Questa opzione è identica nel funzionamento all'opzione dell'intervallo CSV , ma si applica solo alle importazioni Weather Underground. Poiché a volte la cronologia di Weather Underground PWS ha record mancanti, l'uso di interval = derive può fornire valori di intervallo errati o incoerenti. Risultati migliori possono essere ottenuti usando interval = conf se l'installazione corrente di Weewx ha lo stesso archive_interval dei dati di Weather Underground, o usando interval = x dove x è l'intervallo di tempo in minuti utilizzato per caricare i dati di Weather Underground. L'impostazione più appropriata dipenderà dalla completezza e dalla precisione (temporale) dei dati Weather Underground importati.

L'impostazione predefinita è derive .

qc

Determina se i controlli di qualità semplici vengono applicati ai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV qc ma si applica solo alle importazioni Weather Underground. Poiché le importazioni di Weather Underground a volte contengono valori senza senso, in particolare per campi per i quali nessun dato è stato caricato su Weather Underground dalla PWS, l'uso di controlli di qualità sui dati importati può impedire che questi valori senza senso vengano importati e contaminino il database di Weewx. Il valore predefinito è True .

calc_missing

Determina se eventuali osservazioni derivate mancanti verranno calcolate dai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV calc_missing ma si applica solo alle importazioni Weather Underground. Il valore predefinito è True .

ignore_invalid_data

Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione deve essere interrotta. Questa opzione è identica nel funzionamento all'opzione ignore_invalid_data CSV ma si applica solo alle importazioni Weather Underground. Il valore predefinito è True .

tranche

Il numero di record scritti nel database di Weewx in ogni transazione. Questa opzione è identica nel funzionamento all'opzione della tranche CSV , ma si applica solo alle importazioni Weather Underground. Il valore predefinito è 250 che dovrebbe essere adatto alla maggior parte degli utenti.

wind_direction

Determina l'intervallo di valori di direzione del vento accettabili in gradi. Questa opzione è identica nel funzionamento all'opzione CSV wind_direction ma si applica solo alle importazioni di Weather Underground. Il valore predefinito è 0, 360 che dovrebbe essere adatto alla maggior parte degli utenti.

[Cumulus]

La sezione [Cumulus] contiene le opzioni relative all'importazione dei dati osservativi dai file di log mensili di Cumulus.

directory

Il percorso completo della directory contenente i file di registro mensili di Cumulus da importare. Non includere una / finale. Non c'è un valore predefinito.

source_encoding

La codifica del file di registro mensile di Cumulus. Questa opzione è identica nel funzionamento all'opzione CSV source_encoding ma si applica solo alle importazioni Cumulus. L'impostazione predefinita è utf-8-sig .

interval

Determina come viene determinato l'intervallo di tempo (weewx database campo interval ) tra osservazioni successive. Questa opzione è identica nel funzionamento all'opzione Intervallo CSV , ma si applica solo alle importazioni di file di registro mensili Cumulus. Poiché i file di registro mensili di Cumulus possono, a volte, avere voci mancanti, l'uso di interval = derive può fornire valori di intervallo errati o incoerenti. Si possono ottenere risultati migliori usando interval = conf se archive_interval per l'installazione corrente di Weewx è uguale all'impostazione 'data log interval' di Cumulus usata per generare i file di log mensili di Cumulus, o usando interval = x dove x è l'intervallo di tempo in minuti utilizzato come impostazione dell'intervallo di registrazione dati di Cumulus. L'impostazione più appropriata dipenderà dalla completezza e dalla precisione (temporale) dei dati Cumulus importati.

L'impostazione predefinita è derive .

qc

Determina se i controlli di qualità semplici vengono applicati ai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV qc ma si applica solo alle importazioni Cumulus. Il valore predefinito è True .

calc_missing

Determina se eventuali osservazioni derivate mancanti verranno calcolate dai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV calc_missing ma si applica solo alle importazioni Cumulus. Il valore predefinito è True .

separator

Il carattere utilizzato come separatore del campo data nel file di registro mensile di Cumulus. Viene spesso utilizzato un solidus (/), ma potrebbe essere un altro carattere a seconda delle impostazioni sulla macchina che ha prodotto i file di registro mensili di Cumulus. Questo parametro deve essere racchiuso tra virgolette. Il valore predefinito è '/' .

delimiter

Il carattere utilizzato come delimitatore di campo nel file di registro mensile di Cumulus. Una virgola è usata frequentemente ma può essere un altro carattere a seconda delle impostazioni sulla macchina che ha prodotto i file di registro mensili di Cumulus. Questo parametro deve essere racchiuso tra virgolette. L'impostazione predefinita è ',' .

decimal

Il carattere utilizzato come punto decimale nei file di registro mensili di Cumulus. Viene spesso utilizzato un punto, ma potrebbe essere un altro carattere a seconda delle impostazioni sulla macchina che ha prodotto i file di registro mensili di Cumulus. Questo parametro deve essere racchiuso tra virgolette. L'impostazione predefinita è '.' .

ignore_invalid_data

Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione deve essere interrotta. Questa opzione è identica nel funzionamento all'opzione ignore_invalid_data CSV , ma si applica solo alle importazioni di file di log mensili di Cumulus. Il valore predefinito è True .

tranche

Il numero di record scritti nel database di Weewx in ogni transazione. Questa opzione è identica nel funzionamento all'opzione della tranche CSV , ma si applica solo alle importazioni di file di registro mensili Cumulus. Il valore predefinito è 250 che dovrebbe essere adatto alla maggior parte degli utenti.

UV_sensor

Consente a wee_import di distinguere tra il caso in cui è presente un sensore UV e l'indice UV è 0 e il caso in cui non è presente alcun sensore UV e l'indice UV è 0. Questa opzione è identica nel funzionamento all'opzione CSV UV_sensor ma si applica solo a importazioni di file registro mensili Cumulus. Il valore predefinito è True .

solar_sensor

Abilita wee_import a distinguere tra il caso in cui è presente un sensore di radiazione solare e la radiazione solare è 0 e il caso in cui non è presente alcun sensore di radiazione solare e la radiazione solare è 0. Questa opzione è identica nel funzionamento all'opzione CSV solar_sensor ma si applica a Solo importazioni di file di log mensili Cumulus. Il valore predefinito è True .

[[Units]]

La stanza [[Units]] definisce le unità utilizzate nei file di log mensili di Cumulus. Le impostazioni delle unità sono necessarie per temperatura , pressione , pioggia e velocità del vento. Il formato per ciascuna impostazione è:

obs_type = weewx_unit_name

Dove obs_type è uno di temperatura , pressione , pioggia o velocità del vento e weewx_unit_name è il nome dell'unità Weewx delle unità usate da quel particolare obs_type . Poiché Cumulus supporta una diversa suite di possibili unità, solo un sottoinsieme dei nomi di unità Weewx disponibili può essere utilizzato per alcune impostazioni.

[WD]

La sezione [WD] contiene le opzioni relative all'importazione dei dati osservativi dai file di log mensili di Weather Display.

directory

Il percorso completo della directory contenente i file di registro mensili di Weather Display da importare. Non includere una / finale. Non c'è un valore predefinito.

logs_to_process

I file di registro mensili da elaborare. Weather Display utilizza più file per registrare ogni mese di dati. I file di registro mensili prodotti dipendono dalla configurazione di WD e dalle capacità della stazione meteorologica. wee_import supporta i seguenti file di log mensili di Weather Display:

  • • MMYYYYlg.txt
  • • MMYYYYlgcsv.csv (versione in formato csv di MMYYYYlg.txt)
  • • MMYYYYvantagelog.txt
  • • MMYYYYvantagelogcsv.csv (versione in formato csv di MMYYYYvantagelog.txt)
  • • MMYYYYvantageextrasensorslog.csv

dove MM è un mese a una o due cifre e YYYY è un anno a quattro cifre

Il formato per l' impostazione logs_to_process è:

logs_to_process = [lg.txt, | logcsv.csv, | vantagelog.txt, | vantagelogcsv.csv, | vantageextrasensorslog.csv]

L'iniziale MMYYYY viene omesso quando si elencano i file di log mensili da elaborare utilizzando l' impostazione logs_to_process . L'inclusione del MMYYYY iniziale causerà l'esito negativo dell'importazione.

I file di registro MMYYYYlgcsv.csv e MMYYYYvantagelogcsv.csv sono rispettivamente versioni CSV di MMYYYYlg.txt e MMYYYYvantagelog.txt. Dovrebbe essere utilizzata la versione .txt o .csv di questi file, ma non entrambe.

I file di registro mensili selezionati per l'elaborazione devono essere scelti con attenzione in quanto i file di registro selezionati determineranno i campi di dati di Weather Display disponibili per l'importazione. wee_import è in grado di importare i seguenti dati dai file di log mensili indicati:

MMYYYYlg.txt/MMYYlgcsv.csv:
  • • average wind speed
  • • barometer
  • • date and time
  • • dew point
  • • heat index
  • • outside humidity
  • • outside temperature
  • • rain fall
  • • wind direction
  • • wind gust speed

MMYYYYvantagelog.txt/MMYYYYvantagelogcsv.csv:
  • • date and time
  • • soil moisture
  • • soil temperature
  • • solar radiation
  • • UV index

MMYYYYvantageextrasensorslog.csv:
  • • date and time
  • • extra humidity 1
  • • extra humidity 2
  • • extra humidity 3
  • • extra humidity 4
  • • extra humidity 5
  • • extra humidity 6
  • • extra temperature 1
  • • extra temperature 2
  • • extra temperature 3
  • • extra temperature 4
  • • extra temperature 5
  • • extra temperature 6

Sebbene i file di registro di cui sopra possano contenere i dati indicati, i dati possono essere importati solo in base a una mappatura del campo adatta e allo schema della tabella di archivio Weewx in uso (fare riferimento all'opzione [[ FieldMap]] ).

Il valore predefinito è lg.txt, vantagelog.txt, vantageextrasensorslog.csv .

source_encoding

Codifica del file di registro mensile Weather Display. Questa opzione è identica nel funzionamento all'opzione CSV source_encoding ma si applica solo alle importazioni di Weather Display. L'impostazione predefinita è utf-8-sig .

interval

Determina come viene determinato l'intervallo di tempo (weewx database campo interval ) tra osservazioni successive. Questa opzione è identica nel funzionamento all'opzione Intervallo CSV ma si applica solo alle importazioni di file di registro mensili di Weather Display. Poiché i file di registro di Weather Display hanno nominalmente voci a intervalli di un minuto, l'approccio consigliato è impostare interval = 1 . Poiché i file di registro mensili di Weather Display possono, a volte, avere voci mancanti, l'uso di interval = derive può fornire valori di intervallo errati o incoerenti. Se l' archive_interval per l'installazione corrente di Weewx è 1 minuto può essere usato interval = conf . Nella maggior parte dei casi sarà l'impostazione più appropriata interval = 1 .

Il valore predefinito è 1 .

qc

Determina se i controlli di qualità semplici vengono applicati ai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV qc ma si applica solo alle importazioni di Weather Display. Il valore predefinito è True .

calc_missing

Determina se eventuali osservazioni derivate mancanti verranno calcolate dai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV calc_missing ma si applica solo alle importazioni di Weather Display. Il valore predefinito è True .

txt_delimiter

Il carattere utilizzato come delimitatore di campo nei file di registro mensili in formato di testo Weather Display (file .txt). Normalmente viene utilizzato uno spazio, ma se necessario è possibile utilizzare un altro carattere. Questo parametro deve essere racchiuso tra virgolette. L'impostazione predefinita è ' ' .

csv_delimiter

Il carattere utilizzato come delimitatore di campo nei file di registro mensili in formato csv di Weather Display (file .csv). Normalmente viene utilizzata una virgola, ma se necessario è possibile utilizzare un altro carattere. Questo parametro deve essere racchiuso tra virgolette. L'impostazione predefinita è ',' .

decimal

Il carattere utilizzato come punto decimale nei file di registro mensili di Weather Display. Viene spesso utilizzato un punto fermo, ma se necessario è possibile utilizzare un altro carattere. Questo parametro deve essere racchiuso tra virgolette. L'impostazione predefinita è '.' .

ignore_Missing_log

Determina se i file di registro mancanti devono essere ignorati o se l'importazione deve essere interrotta. I file di registro di Weather Display sono completi di per sé e un file di registro mancante non avrà alcun effetto se non l'assenza di dati importati per il periodo coperto dal file di registro mancante. Il valore predefinito è True .

ignore_invalid_data

Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione deve essere interrotta. Questa opzione è identica nel funzionamento all'opzione ignore_invalid_data CSV ma si applica solo alle importazioni di file di log mensili di Weather Display. Il valore predefinito è True .

tranche

Il numero di record scritti nel database di Weewx in ogni transazione. Questa opzione è identica nel funzionamento all'opzione della tranche CSV , ma si applica solo alle importazioni di file di log mensili di Weather Display. Il valore predefinito è 250 che dovrebbe essere adatto alla maggior parte degli utenti.

UV_sensor

Abilita wee_import a distinguere tra il caso in cui è presente un sensore UV e l'indice UV è 0 e il caso in cui non è presente alcun sensore UV e l'indice UV è 0. Questa opzione è identica nel funzionamento all'opzione CSV UV_sensor ma si applica solo a importazioni di file di registro mensili Weather Display. Il valore predefinito è True .

solar_sensor

Abilita wee_import a distinguere tra il caso in cui è presente un sensore di radiazione solare e la radiazione solare è 0 e il caso in cui non è presente alcun sensore di radiazione solare e la radiazione solare è 0. Questa opzione è identica nel funzionamento all'opzione CSV solar_sensor ma si applica solo alle importazioni di file di registro mensili Weather Display. Il valore predefinito è True .

ignore_extreme_temp_hum

Determina se i valori estremi di temperatura e umidità vengono ignorati. I file di log di Weather Display registrano il valore 255 per i campi di temperatura e umidità se non è presente alcun sensore corrispondente. L'impostazione ignore_extreme_temp_hum = True farà sì che i valori di temperatura e umidità di 255 vengano ignorati. Impostando ignore_extreme_temp_hum = False , i valori di temperatura e umidità di 255 verranno trattati come dati validi da importare. Il valore predefinito è True .

L'impostazione ignore_extreme_temp_hum = False causerà l'importazione dei valori di temperatura e umidità di 255; tuttavia, questi valori possono essere respinti dai semplici controlli di qualità implementati se si utilizza qc = True .

[[Units]]

La stanza [[Units]] definisce le unità utilizzate nei file di log mensili di Weather Display. I file di registro mensili di Weather Display utilizzano normalmente unità metriche o statunitensi a seconda dell'impostazione del file di registro in Unità nella scheda Unità/Wind Chill di Weather Display Universal Setup . In tali casi, l' opzione di configurazione delle unità può essere impostata su Metric o US per selezionare le unità metriche o statunitensi consuete. Non c'è un valore predefinito.

È anche possibile specificare individualmente le unità del file di registro utilizzate per temperatura , pressione , pioggia e velocità del vento . Il formato per ciascuna impostazione è:

obs_type = weewx_unit_name

Dove obs_type è uno di temperatura , pressione , pioggia o velocità del vento e weewx_unit_name è il nome dell'unità Weewx delle unità usate da quel particolare obs_type . Poiché Weather Display supporta una diversa suite di possibili unità, solo un sottoinsieme dei nomi di unità Weewx disponibili può essere utilizzato per alcune impostazioni.

Il metodo preferito per definire le unità del file di log WD consiste nell'utilizzare l' opzione di configurazione delle unità . Quando si definiscono le unità del file di registro di importazione, è necessario utilizzare l'opzione di configurazione delle unità o definire le singole unità di temperatura , pressione , pioggia e velocità del vento, ma non entrambe. Se sono definite sia l' opzione di configurazione delle unità che le singole unità di temperatura , pressione , pioggia e velocità del vento, l'opzione di configurazione delle unità ha la precedenza e tutte le altre impostazioni delle unità vengono ignorate.

[[FieldMap]]

La stanza [[FieldMap]] definisce la mappatura dai campi dei dati del registro mensile di Weather Display ai campi dell'archivio Weewx. Per impostazione predefinita, i dati del Weather Display importati vengono mappati ai corrispondenti campi dell'archivio Weewx utilizzando una mappatura del campo predefinita. La mappatura del campo predefinita probabilmente si adatta alla maggior parte degli utenti; tuttavia, a seconda delle capacità della stazione e dello schema del database Weewx in uso, potrebbe essere necessaria una mappatura del campo personalizzata se i registri mensili di Weather Display contengono dati provenienti da sensori aggiuntivi che non possono essere archiviati nell'archivio Weewx utilizzando la mappatura del campo predefinita. Una mappatura del campo personalizzata consente inoltre di limitare i campi dei dati del registro mensile di Weather Display che vengono importati in Weewx.

La mappatura del campo è composta da una riga per campo utilizzando il formato:

weewx_archive_field_name = weather_display_field_name

Dove weewx_archive_field_name è un nome di campo nello schema della tabella di archivio Weewx in uso e weather_display_field_name è un nome di campo di importazione di Weather Display. I nomi disponibili per i campi di importazione di Weather Display sono elencati nella tabella seguente.

NOME CAMPO DESCRIZIONE
barometer Pressione
dewpoint Punto di rugiada
direction Direzione del vento
gustspeed Velocità raffica
heatindex Indice di calore
humidity Umidità esterna
hum1 Sensore umidità extra 1
hum2 Sensore umidità extra 2
hum3 Sensore umidità extra 3
hum4 Sensore umidità extra 4
hum5 Sensore umidità extra 5
hum6 Sensore umidità extra 6
radiation Radiazione solare
rainlastmin Pioggia nell'ultimo minuto
soilmoist Umidità del suolo
soiltemp Temperatura del suolo
temperature Temperatura esterna
temp1 Sensore temperatura extra 1
temp2 Sensore temperatura extra 2
temp3 Sensore temperatura extra 3
temp4 Sensore temperatura extra 4
temp5 Sensore temperatura extra 5
temp6 Sensore temperatura extra 6
uv Indice UV
windspeed Velocità media vento

Non è richiesta una mappatura per ogni campo dell'archivio Weewx (ad esempio, i log mensili di Weather Display potrebbero non fornire la temperatura interna, quindi non è richiesta alcuna mappatura del campo inTemp ) e nemmeno ogni campo di log mensile di Weather Display deve essere incluso in una mappatura (ad esempio, il campo del registro mensile Weather Display soiltemp potrebbe non avere dati poiché la stazione non ha una sonda per la temperatura del suolo).

Tutti i campi dell'archivio Weewx che sono derivati (es. dewpoint ) e per i quali non c'è alcuna mappatura del campo possono essere calcolati durante l'importazione usando l' opzione calc_missing nella sezione [WD] del file di configurazione dell'importazione.

Il file di configurazione di importazione di Weather Display di esempio che si trova nella directory /home/weewx/util/import o /etc/weewx/import contiene una mappatura del campo di esempio nei commenti del file di configurazione di importazione. Non c'è un valore predefinito.

[WeatherCat]

La sezione [WeatherCat] contiene le opzioni relative all'importazione dei dati osservativi dai file .cat mensili di WeatherCat.

directory

Il percorso completo della directory contenente le directory dell'anno che contengono i file .cat mensili di WeatherCat da importare. Non includere una / finale. Non c'è un valore predefinito.

source_encoding

La codifica del file .cat mensile di WeatherCat. Questa opzione è identica nel funzionamento all'opzione CSV source_encoding ma si applica solo alle importazioni WeatherCat. L'impostazione predefinita è utf-8-sig .

interval

Determina come viene determinato l'intervallo di tempo (weewx database campo interval ) tra osservazioni successive. Questa opzione è identica nel funzionamento all'opzione Intervallo CSV ma si applica solo alle importazioni WeatherCat. Poiché i file .cat mensili di WeatherCat possono, a volte, avere voci mancanti, l'uso di interval = derive può fornire valori di intervallo errati o incoerenti. Si possono ottenere risultati migliori usando interval = conf se l' interval_archive per l'installazione corrente di Weewx è lo stesso dell'intervallo di log del file WeatherCat .cat, o usando interval = x dove x è l'intervallo di tempo in minuti utilizzato nei file .cat mensili di WeatherCat. L'impostazione più appropriata dipenderà dalla completezza e dalla precisione (temporale) dei dati WeatherCat importati.

L'impostazione predefinita è derive .

qc

Determina se i controlli di qualità semplici vengono applicati ai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV qc ma si applica solo alle importazioni WeatherCat. Il valore predefinito è True .

calc_missing

Determina se eventuali osservazioni derivate mancanti verranno calcolate dai dati importati. Questa opzione è identica nel funzionamento all'opzione CSV calc_missing ma si applica solo alle importazioni WeatherCat. Il valore predefinito è True .

decimal

Il carattere utilizzato come punto decimale nei file .cat mensili di WeatherCat. Questo parametro deve essere racchiuso tra virgolette. L'impostazione predefinita è '.' .

tranche

Il numero di record scritti nel database di Weewx in ogni transazione. Questa opzione è identica nel funzionamento all'opzione tranche CSV ma si applica solo alle importazioni WeatherCat. Il valore predefinito è 250 che dovrebbe essere adatto alla maggior parte degli utenti.

UV_sensor

Consente a wee_import di distinguere tra il caso in cui è presente un sensore UV e l'indice UV è 0 e il caso in cui non è presente alcun sensore UV e l'indice UV è 0. Questa opzione è identica nel funzionamento all'opzione CSV UV_sensor ma si applica alle importazioni WeatherCat soltanto. Il valore predefinito è True .

solar_sensor

Abilita wee_import a distinguere tra il caso in cui è presente un sensore di radiazione solare e la radiazione solare è 0 e il caso in cui non è presente alcun sensore di radiazione solare e la radiazione solare è 0. Questa opzione è identica nel funzionamento all'opzione CSV solar_sensor ma si applica solo a importazioni WeatherCat. Il valore predefinito è True .

[[Units]]

La stanza [[Units]] definisce le unità utilizzate nei file .cat mensili di WeatherCat. Le impostazioni dell'unità sono necessarie per temperatura , pressione , pioggia e velocità del vento . Il formato per ciascuna impostazione è:

obs_type = weewx_unit_name

Dove obs_type è uno tra temperature , pressure , rain o speed e weewx_unit_name è il nome dell'unità Weewx delle unità utilizzate da quel particolare obs_type (fare riferimento all'appendice Unità nella Guida alla personalizzazione per i dettagli sui nomi delle unità Weewx disponibili). Poiché WeatherCat supporta una diversa suite di possibili unità, solo un sottoinsieme dei nomi di unità Weewx disponibili può essere utilizzato per alcune impostazioni.

Importazione da file CSV


L'esecuzione di Weewx durante una sessione wee_import può portare a un'interruzione anomala dell'importazione. Se Weewx deve rimanere in esecuzione (ad esempio, in modo che i dati in tempo reale non vengano persi) eseguire la sessione wee_import su un'altra macchina o su un secondo database e unire il database in uso e il secondo una volta completata l'importazione.

wee_import può importare dati da un singolo file CSV. Il file sorgente CSV deve essere strutturato come segue:

  • • Il file deve avere una riga di intestazione costituita da un elenco di nomi di campo separati da virgole. I nomi di campo possono essere qualsiasi stringa valida purché ogni nome di campo sia univoco all'interno dell'elenco. Non è necessario che i nomi dei campi siano in un ordine particolare purché lo stesso ordine venga utilizzato per le osservazioni su ciascuna riga del file. Questi nomi di campo verranno mappati ai nomi di campo di Weewx nella sezione [CSV] del file di configurazione dell'importazione.
  • • I dati di osservazione per una determinata data-ora devono essere elencati su un'unica riga con i singoli campi separati da una virgola. I campi devono essere nello stesso ordine dei nomi dei campi nella riga di intestazione.
  • • I campi vuoti sono rappresentati dall'uso dello spazio bianco o senza spazio solo tra le virgole.
  • • I dati di direzione importati possono essere rappresentati come gradi numerici o come una stringa che rappresenta le direzioni cardinali, intercardinali e/o secondarie .
  • • Deve essere presente un campo che rappresenta la data-ora delle osservazioni su ogni riga. Questo campo data-ora deve essere un timestamp Unix epoch o qualsiasi formato data-ora che può essere rappresentato utilizzando i codici di formato Python strptime() .

Un file CSV adatto per l'importazione tramite wee_import può avere il seguente aspetto:

Time,Barometer,Temp,Humidity,Windspeed,Dir,Gust,Dayrain,Radiation,Uv,Comment
28/11/2017 08:00:00,1016.9,24.6,84,1.8,113,8,0,359,3.8,"start of observations"
28/11/2017 08:05:00,1016.9,25.1,82,4.8,135,11.3,0,775,4.7,
28/11/2017 08:10:00,1016.9,25.4,80,4.4,127,11.3,0,787,5.1,"note temperature"
28/11/2017 08:15:00,1017,25.7,79,3.5,74,11.3,0,800,5.4,
28/11/2017 08:20:00,1016.9,25.9,79,1.6,95,9.7,0,774,5.5,
28/11/2017 08:25:00,1017,25.5,78,2.9,48,9.7,0,303,3.4,"forecast received"
28/11/2017 08:30:00,1017.1,25.1,80,3.1,54,9.7,0,190,3.6,

o questo:

Time,Barometer,Temp,Humidity,Windspeed,Dir,Gust,Dayrain,Radiation,Uv
2/1/2017 06:20:00,1006.4,4.8,48,2.8,NE,4,0,349,2.8
2/1/2017 06:25:00,1006.9,5.0,48,3.8,NNE,21.3,0,885,4.3
2/1/2017 06:30:00,1006.8,5.4,47,3.4,North,12.3,0,887,5.3
2/1/2017 06:35:00,1007,5.2,49,5.5,NNE,13.3,0,600,5.4
2/1/2017 06:40:00,1006.9,5.7,49,2.6,ESE,9.7,0,732,5.5
2/1/2017 06:45:00,1007,5.5,48,1.9,Southsoutheast,9.8,0,393,6.4
2/1/2017 06:50:00,1007.1,5.2,50,2.1,southeast,9.9,0,180,6.6

Le direzioni cardinali, intercardinali e/o secondarie possono essere rappresentate da abbreviazioni di una, due o tre lettere, ad esempio N, SE o SSW; da una singola parola es. Nord, Sudovest o Sudsudovest o da parole con trattino o spaziate es. Nord Ovest o Sud-sud-ovest. Le lettere maiuscole vengono ignorate così come eventuali spazi, trattini o altri spazi bianchi. Al momento sono supportate solo le abbreviazioni e le indicazioni inglesi.

Mappatura dei dati per archiviare i campi

I campi dell'archivio Weewx popolati durante un'importazione CSV dipendono dalle mappature dei campi da CSV a Weewx specificate nella stanza [[FieldMap]] nel file di configurazione dell'importazione. Se esiste una mappatura di campo valida, il campo Weewx esiste nello schema della tabella di archivio weewx e a condizione che il campo CSV mappato contenga dati validi, il campo weewx corrispondente verrà popolato. Si noti che l'importazione CSV è l'unica importazione supportata da wee_import che consente di compilare qualsiasi campo dell'archivio Weewx.

L'utilizzo dell'opzione calc_missing nel file di configurazione dell'importazione può comportare il calcolo di un numero di campi derivati dai dati importati. Se questi campi derivati esistono nello schema del database in uso, verranno salvati anche nel database.

Istruzioni passo passo

Per importare le osservazioni da un file CSV:

  1. • Assicurarsi che il file di dati di origine si trovi in una directory accessibile dal computer che eseguirà wee_import . Per gli scopi dei seguenti esempi verrà utilizzato il file di dati di origine data.csv che si trova nella directory /var/tmp .
  2. • Fai un backup del database di Weewx nel caso in cui l'importazione dovesse andare storta.
  3. • Crea un file di configurazione di importazione. In questo caso faremo una copia del file di configurazione di importazione CSV di esempio e lo salveremo come csv.conf nella directory /var/tmp :
    $ cp /home/weewx/util/import/csv-example.conf /var/tmp/csv.conf
  4. • Verifica che l' opzione di origine sia impostata su CSV:
    source = CSV
  5. • Verifica che le seguenti opzioni nella sezione [CSV] siano impostate:
    • - file . Il percorso completo e il nome file del file contenente i dati in formato CSV da importare.
    • - delimiter . Il singolo carattere utilizzato per separare i campi.
    • - interval . Determina come viene derivato il campo interval di Weewx.
    • - qc . Determina se i controlli qualità vengono eseguiti sui dati importati.
    • - calc_missing . Determina se le osservazioni derivate mancanti verranno calcolate dai dati importati.
    • - ignore_invalid_data . Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione è stata interrotta.
    • - tranche . Il numero di record scritti nel database di Weewx in ogni transazione.
    • - UV_sensor . Se è stato installato un sensore UV quando sono stati prodotti i dati di origine.
    • - solar_sensor . Se è stato installato un sensore di radiazione solare quando sono stati prodotti i dati di origine.
    • - raw_datetime_format . Il formato del campo data/ora importato.
    • - rain . Determina come viene derivato il campo rain di Weewx.
    • - wind_direction . Determina come vengono interpretati i campi di direzione del vento importati.
    • - [[FieldMap]] . Definisce la mappatura tra campi dati importati e campi archivio Weewx. Definisce inoltre le unità di misura per ogni campo importato.
  6. • Quando si importano i dati per la prima volta, è prudente eseguire un'importazione di prova prima che i dati vengano effettivamente importati. Un'importazione di prova eseguirà tutti i passaggi dell'importazione senza scrivere effettivamente i dati importati nel database di Weewx. Inoltre, è necessario prendere in considerazione eventuali opzioni aggiuntive come --date .

    Per eseguire un funzionamento di prova, immetti il seguente comando:

    wee_import --import-config=/var/tmp/csv.conf --dry-run
    

    L'output dovrebbe essere qualcosa del genere:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    A CSV import from source file '/var/tmp/data.csv' has been requested.
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    This is a dry run, imported data will not be saved to archive.
    Starting dry run import ...
    27337 records identified for import.
    Unique records processed: 27337; Last timestamp: 2018-03-03 06:00:00 AEST (1520020800)
    Finished dry run import
    27337 records were processed and 27337 unique records would have been imported.

    L'output include dettagli sull'origine dati, la destinazione dei dati importati e alcuni altri dettagli su come verranno elaborati i dati. L'importazione verrà quindi eseguita ma nessun dato verrà scritto nel database di Weewx. Al termine viene fornito un breve riepilogo delle registrazioni elaborate.

  7. Una volta che i risultati del test di prova sono soddisfacenti, i dati possono essere importati utilizzando il seguente comando:
    wee_import --import-config=/var/tmp/csv.conf

    Ciò si tradurrà in un breve preambolo simile a quello della corsa di prova. Alla fine del preambolo ci sarà un prompt:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    A CSV import from source file '/var/tmp/data.csv' has been requested.
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Starting import ...
    27337 records identified for import.
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?
  8. Se i parametri di importazione sono accettabili, immettere y per procedere con l'importazione o n per interrompere l'importazione. Se l'importazione viene confermata, i dati di origine verranno importati, elaborati e salvati nel database di Weewx. Le informazioni sullo stato di avanzamento dell'importazione verranno visualizzate in modo simile al seguente:
    Unique records processed: 3250; Last timestamp: 2017-12-09 14:45:00 AEST (1512794700)

    La riga che inizia con Unique records processed dovrebbe aggiornarsi man mano che i record vengono importati con le informazioni sull'avanzamento del numero di record elaborati, il numero di record univoci importati e la data e l'ora dell'ultimo record elaborato. Una volta completata l'importazione iniziale, wee_import , se richiesto, calcolerà eventuali osservazioni derivate mancanti e ricostruirà i riepiloghi giornalieri. Dovrebbe essere visualizzato un breve riepilogo simile al seguente:

    Calculating missing derived observations...
    Processing record: 27337; Last record: 2018-03-03 06:00:00 AEST (1520020800)
    Recalculating daily summaries...
    Records processed: 27337; Last date: 2018-03-03 06:00:00 AEST (1520020800)
    Finished recalculating daily summaries
    Finished calculating missing derived observations

    Al termine dell'importazione viene visualizzato un breve riepilogo simile al seguente:

    Finished import
    27337 records were processed and 27337 unique records imported in 113.91 seconds.
    Those records with a timestamp already in the archive will not have been
    imported. Confirm successful import in the Weewx log file.
  9. Mentre wee_import avviserà del numero di record elaborati e del numero di record univoci trovati, wee_import sa quanti record importati, se ce ne sono, sono stati salvati con successo nel database. Dovresti esaminare attentamente il file di log di Weewx che copre la sessione wee_import e prendere nota di tutti i record che non sono stati importati. Il motivo più comune per cui i record importati non vengono salvati nel database è perché esiste già un record con quel timestamp nel database, in questi casi nel registro verrà trovato qualcosa di simile al seguente:
    Aug 22 14:38:28 stretch12  wee_import[1226] ERROR weewx.manager: Unable to add record 2018-09-04 04:20:00 AEST (1535998800) to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime

    In tali casi è necessario prendere nota del timestamp del/i record interessato/i e decidere se eliminare il record preesistente e reimportarlo o conservare il record preesistente.

Importazione da Weather Underground


L'esecuzione di Weewx durante una sessione wee_import può portare a un'interruzione anomala dell'importazione. Se Weewx deve rimanere in esecuzione (ad esempio, in modo che i dati in tempo reale non vengano persi) eseguire la sessione wee_import su un'altra macchina o su un secondo database e unire il database in uso e il secondo una volta completata l'importazione.

wee_import può importare dati di osservazione storici per una PWS Weather Underground tramite l'API Weather Underground. L'API Weather Underground fornisce le osservazioni storiche delle stazioni meteorologiche ricevute da Weather Underground per le PWS interessate su base giornaliera. Pertanto, i dati sono analoghi alla tabella di archivio di Weewx. Quando wee_import importa i dati dall'API Weather Underground ogni giorno è considerato un 'periodo'. wee_import elabora un periodo alla volta in ordine cronologico (dal più vecchio al più recente) e fornisce i dati di riepilogo dell'importazione in base al periodo.

Mappatura per i campi dell'archivio

Un'importazione Weather Underground popolerà i campi dell'archivio di Weewx come segue:

  • • I dati forniti esistono per ogni campo restituito dall'API Weather Underground, i seguenti campi dell'archivio Weewx saranno popolati direttamente dai dati importati:
    • - dateTime
    • - barometer
    • - dewpoint
    • - heatindex
    • - outHumidity
    • - outTemp
    • - radiation
    • - rain
    • - rainRate
    • - UV
    • - windchill
    • - windDir
    • - windGust
    • - windSpeed

    Se un campo appropriato non viene restituito dall'API Weather Underground, il campo dell'archivio Weewx corrispondente non conterrà dati. Se l'API restituisce un campo appropriato ma senza dati, il campo dell'archivio Weewx corrispondente sarà impostato su None/null . Ad esempio, se la risposta API non ha un campo di radiazione solare, il campo dell'archivio radiation di Weewx non conterrà dati memorizzati. Tuttavia, se la risposta API ha un campo di radiazione solare ma non contiene dati, il campo dell'archivio di radiazione di Weewx sarà None/null .

  • • I seguenti campi dell'archivio di Weewx saranno popolati da altre impostazioni o opzioni di configurazione:
    • - interval
    • - usUnits
  • • I seguenti campi dell'archivio Weewx saranno popolati con valori derivati dai dati importati forniti se calc_missing = True è incluso nella sezione [WU] del file di configurazione dell'importazione e il campo esiste nello schema della tabella dell'archivio Weewx in uso.
    • - altimeter
    • - ET
    • - pressure

    Se calc_missing = False è incluso nella sezione [WU] del file di configurazione di importazione in uso, tutti i campi precedenti verranno impostati su None/null . L'impostazione predefinita dell'opzione calc_missing è True

Istruzioni passo passo

Per importare le osservazioni da una cronologia PWS di Weather Underground:

  1. • Ottenere l'ID della stazione meteorologica della PWS Weather Underground da cui importare i dati. L'identificativo della stazione sarà una sequenza di numeri e lettere maiuscole che di solito è lunga 11 o 12 caratteri. Ai fini dei seguenti esempi verrà utilizzato un ID stazione meteorologica di ISTATION123 .
  2. • Ottieni la chiave API da utilizzare per accedere all'API Weather Underground. Questa sarà una sequenza alfanumerica apparentemente casuale di 32 caratteri. Le chiavi API sono disponibili per i contributori di Weather Underground PWS accedendo al proprio account Weather Underground e accedendo a Impostazioni utente.
  3. • Fai un backup del database di Weewx nel caso in cui l'importazione dovesse andare storta.
  4. • Crea un file di configurazione di importazione. In questo caso faremo una copia del file di configurazione di importazione Weather Underground di esempio e lo salveremo come wu.conf nella directory /var/tmp :
    $ cp /home/weewx/util/import/wu-example.conf /var/tmp/wu.conf
  5. • Verificare che l' opzione di origine sia impostata su WU
    source = WU
  6. • Verificare che le seguenti opzioni nella sezione [WU] siano impostate correttamente:
    • - station_id . L'ID della stazione meteorologica di 11 o 12 caratteri della PWS Weather Underground che sarà la fonte dei dati importati.
    • - api_key . La chiave API di 32 caratteri da utilizzare per accedere all'API Weather Underground.
    • - interval . Determina come viene derivato il campo interval di Weewx.
    • - qc . Determina se i controlli qualità vengono eseguiti sui dati importati.

      Poiché le importazioni di Weather Underground a volte contengono valori senza senso, in particolare per i campi per i quali nessun dato è stato caricato su Weather Underground dalla PWS, l'uso di controlli qualità sui dati importati può impedire che questi valori senza senso vengano importati e contaminino il database di Weewx.

    • - calc_missing . Determina se le osservazioni derivate mancanti verranno calcolate dai dati importati.
    • - ignore_invalid_data . Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione sarà interrotta.
    • - tranche . Il numero di record scritti nel database di Weewx in ogni transazione.
    • - wind_direction . Determina come vengono interpretati i campi di direzione del vento importati.
  7. • Quando si importano i dati per la prima volta, è prudente eseguire un'importazione di prova prima che i dati vengano effettivamente importati. Un'importazione di prova eseguirà tutti i passaggi dell'importazione senza scrivere effettivamente i dati importati nel database di Weewx. Inoltre, è necessario prendere in considerazione eventuali opzioni aggiuntive da utilizzare come --date , --from o --to .

    Per eseguire un funzionamento di prova, immetti il seguente comando:

    wee_import --import-config=/var/tmp/wu.conf --from=2016-01-20T22:30 --to=2016-01-23T06:00 --dry-run
    

    In questo caso le opzioni --from e --to sono state utilizzate per importare i record di Weather Underground dalle 22:30 del 20 gennaio 2016 alle 6:00 del 23 gennaio 2016 compreso.

    Se l' opzione --date viene omessa o viene specificato un intervallo di date (non data-ora) utilizzando le opzioni --from e --to durante un'importazione Weather Underground, verranno importati uno o più giorni interi di dati cronologici . Ciò include i record con timestamp dalle 00:00 (compreso) all'inizio della giornata fino al record delle 00:00 (escluso ) alla fine dell'ultimo giorno. Poiché la registrazione con timestamp si riferisce alle osservazioni dell'intervallo precedente, tale importazione include effettivamente una registrazione con le osservazioni del giorno precedente (la registrazione delle 00:00 all'inizio della giornata). Anche se questo non rappresenterà un problema per wee_import poiché qualsiasi record importato con un timestamp già esistente nel database di Weewx viene ignorato, potresti voler utilizzare le opzioni --from e --to con un intervallo di data-ora adatto per controllare con precisione quali record vengono importati.

    wee_import ottiene i dati cronologici giornalieri di Weather Underground un giorno alla volta tramite una richiesta HTTP e pertanto l'importazione di grandi intervalli di tempo di dati potrebbe richiedere del tempo. Tali importazioni possono essere gestite al meglio come una serie di importazioni di periodi di tempo più brevi.

    Ciò si tradurrà in un breve preambolo con dettagli sull'origine dei dati, la destinazione dei dati importati e alcuni altri dettagli su come verranno elaborati i dati. L'importazione verrà quindi eseguita ma nessun dato verrà scritto nel database di Weewx.

    L'output dovrebbe essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Observation history for Weather Underground station 'ISTATION123' will be imported.
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Observations timestamped after 2016-01-20 22:30:00 AEST (1453293000) and up to and
    including 2016-01-23 06:00:00 AEST (1453492800) will be imported.
    This is a dry run, imported data will not be saved to archive.
    Starting dry run import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Unique records processed: 18; Last timestamp: 2016-01-20 23:55:00 AEST (1453298100)
    Period 2 ...
    Unique records processed: 284; Last timestamp: 2016-01-21 23:55:00 AEST (1453384500)
    Period 3 ...
    Unique records processed: 284; Last timestamp: 2016-01-22 23:55:00 AEST (1453470900)
    Period 4 ...
    Unique records processed: 71; Last timestamp: 2016-01-23 06:00:00 AEST (1453492800)
    Finished dry run import
    657 records were processed and 657 unique records would have been imported.

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno ignorati. La mancanza di dati può essere dovuta a un ID stazione errato, una data errata o problemi con l'API Weather Underground. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

  8. Una volta che i risultati del test di prova sono soddisfacenti, i dati di origine possono essere importati utilizzando il seguente comando:
    wee_import --import-config=/var/tmp/wu.conf --from=2016-01-20T22:30 --to=2016-01-23T06:00
    

    Ciò si tradurrà in un breve preambolo simile a quello di una corsa di prova. Alla fine del preambolo ci sarà un prompt:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Observation history for Weather Underground station 'ISTATION123' will be imported.
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Observations timestamped after 2016-01-20 22:30:00 AEST (1453293000) and up to and
    including 2016-01-23 06:00:00 AEST (1453492800) will be imported.
    Starting import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?

    wee_import ottiene i dati di Weather Underground un giorno alla volta tramite una richiesta HTTP e pertanto l'importazione di grandi intervalli di tempo di dati potrebbe richiedere del tempo. Tali importazioni possono essere gestite al meglio come una serie di importazioni di periodi di tempo più brevi.

  9. Se i parametri di importazione sono accettabili, immettere y per procedere con l'importazione o n per interrompere l'importazione. Se l'importazione viene confermata, i dati di origine verranno importati, elaborati e salvati nel database di Weewx. Le informazioni sullo stato di avanzamento dell'importazione verranno visualizzate in modo simile al seguente:
    Unique records processed: 18; Last timestamp: 2016-01-20 23:55:00 AEST (1453298100)
    Period 2 ...
    Unique records processed: 284; Last timestamp: 2016-01-21 23:55:00 AEST (1453384500)
    Period 3 ...
    Unique records processed: 284; Last timestamp: 2016-01-22 23:55:00 AEST (1453470900)

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno ignorati. La mancanza di dati può essere dovuta a un ID stazione errato, una data errata o problemi con l'API Weather Underground. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

    La riga che inizia con Unique records processed dovrebbe aggiornarsi man mano che i record vengono importati con le informazioni sull'avanzamento del numero di record elaborati, il numero di record univoci importati e la data e l'ora dell'ultimo record elaborato. Se l'importazione si estende su più giorni, viene creata una nuova riga period per ogni giorno.

    Una volta completata l'importazione iniziale, wee_import , se richiesto, calcolerà eventuali osservazioni derivate mancanti e ricostruirà i riepiloghi giornalieri. Dovrebbe essere visualizzato un breve riepilogo simile al seguente:

    Calculating missing derived observations ...
    Processing record: 204; Last record: 2016-01-22 23:55:00 AEST (1453470900)
    Recalculating daily summaries...
    Finished recalculating daily summaries
    Finished calculating missing derived observations

    Al termine dell'importazione viene visualizzato un breve riepilogo simile al seguente:

    Finished import
    657 records were processed and 657 unique records imported in 78.97 seconds.
    Those records with a timestamp already in the archive will not have been
    imported. Confirm successful import in the Weewx log file.

    La nuova API Weather Underground (2019) sembra presentare un problema durante l'ottenimento dei dati storici per il giorno corrente. La prima volta che viene interrogata l'API, l'API restituisce tutti i dati cronologici fino al record più recente incluso. Tuttavia, le successive query API durante lo stesso giorno restituiscono lo stesso set di record anziché tutti i record fino all'ora dell'ultima query API inclusa. Gli utenti che importano dati Weather Underground che includono dati del giorno corrente sono invitati a controllare attentamente il registro di Weewx per assicurarsi che tutti i record previsti siano stati importati. Se mancano alcuni record dal giorno corrente, provare a eseguire nuovamente un'importazione per il giorno corrente utilizzando --dateimpostazione delle opzioni. Se ciò non riesce, attendere fino al giorno successivo ed eseguire nuovamente un'altra importazione per il giorno in questione utilizzando l'opzione --date. In tutti i casi verificare quali dati sono stati importati facendo riferimento al log di Weewx.

  10. Mentre wee_import avviserà del numero di record elaborati e del numero di record univoci trovati, wee_import sa quanti record importati, se ce ne sono, sono stati salvati con successo nel database. Dovresti esaminare attentamente il file di log di Weewx che copre la sessione wee_import e prendere nota di tutti i record che non sono stati importati. Il motivo più comune per cui i record importati non vengono salvati nel database è perché esiste già un record con quel timestamp nel database, in questi casi nel registro verrà trovato qualcosa di simile al seguente:
    Aug 22 14:38:28 stretch12 weewx[863]: manager: unable to add record 2018-09-04 04:20:00 AEST (1535998800) to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime

    In tali casi è necessario prendere nota del timestamp del/i record interessato/i e decidere se eliminare il record preesistente e reimportarlo o conservare il record preesistente.

Importazione da Cumulus


L'esecuzione di Weewx durante una sessione wee_import può portare a un'interruzione anomala dell'importazione. Se Weewx deve rimanere in esecuzione (ad esempio, in modo che i dati in tempo reale non vengano persi) eseguire la sessione wee_import su un'altra macchina o su un secondo database e unire il database in uso e il secondo una volta completata l'importazione.

wee_import può importare dati osservativi da uno o più file di log mensili di Cumulus. Un file di registro mensile Cumulus registra le osservazioni della stazione meteorologica per un singolo mese. Questi file vengono accumulati nel tempo e possono essere considerati analoghi alla tabella di archivio di Weewx. Quando wee_import importa i dati dai file di log mensili di Cumulus, ogni file di log viene considerato un "periodo". wee_import elabora un periodo alla volta in ordine cronologico (dal più vecchio al più recente) e fornisce i dati di riepilogo dell'importazione in base al periodo.

Mappatura per i campi dell'archivio

Un file di registro mensile importato da Cumulus popolerà i campi dell'archivio di Weewx come segue:

  • • Se i dati forniti esistono per ogni campo nei registri mensili di Cumulus, i seguenti campi dell'archivio Weewx saranno popolati direttamente dai dati importati:
    • - dateTime
    • - barometer
    • - dewpoint
    • - heatindex
    • - inHumidity
    • - inTemp
    • - outHumidity
    • - outTemp
    • - radiation
    • - rain
    • - rainRate
    • - UV
    • - windDir
    • - windGust
    • - windSpeed
    • - windchill

    Se un campo nel file di registro mensile di Cumulus non contiene dati, il campo dell'archivio Weewx corrispondente sarà impostato su None/null .

  • • I seguenti campi dell'archivio di Weewx saranno popolati da altre impostazioni o opzioni di configurazione:
    • - interval
    • - usUnits
  • • I seguenti campi dell'archivio Weewx saranno popolati con valori derivati dai dati importati forniti se calc_missing = True è incluso nella sezione [Cumulus] del file di configurazione dell'importazione in uso e il campo esiste nello schema della tabella dell'archivio Weewx in uso.
    • - altimeter
    • - ET
    • - pressure

    Se calc_missing = False è incluso nella sezione [Cumulus] del file di configurazione di importazione in uso, tutti i campi precedenti verranno impostati su None/null . L'impostazione predefinita dell'opzione calc_missing è True

Istruzioni passo passo

Per importare le osservazioni da uno o più file di log mensili di Cumulus:

  1. • Assicurarsi che i file di registro mensili di Cumulus da utilizzare per l'importazione si trovino in una directory accessibile dal computer che eseguirà wee_import . Ai fini dei seguenti esempi, ci sono nove file di log mensili che coprono il periodo da ottobre 2016 a giugno 2017 inclusi, che si trovano nella directory /var/tmp/cumulus .
  2. • Fai un backup del database di Weewx nel caso in cui l'importazione dovesse andare storta.
  3. • Crea un file di configurazione di importazione. In questo caso faremo una copia del file di configurazione di importazione Cumulus di esempio e lo salveremo come cumulus.conf nella directory /var/tmp :
    $ cp /home/weewx/util/import/cumulus-example.conf /var/tmp/cumulus.conf
    
  4. • Verifica che l' opzione sorgente sia impostata su Cumulus:
    source = Cumulus
  5. • Verificare che le seguenti opzioni nella sezione [Cumulus] siano impostate correttamente:
    • - directory . Il percorso completo della directory contenente i file di log mensili di Cumulus da utilizzare come origine dei dati importati.
    • - interval . Determina come viene derivato il campo interval di Weewx.
    • - qc . Determina se i controlli di qualità vengono eseguiti sui dati importati.
    • - calc_missing . Determina se le osservazioni derivate mancanti verranno calcolate dai dati importati.
    • - separator . Il separatore del campo della data utilizzato nei file di registro mensili di Cumulus.
    • - delimiter . Il delimitatore di campo utilizzato nei file di log mensili di Cumulus.
    • - decimal . Il carattere separatore decimale utilizzato nei file di registro mensili di Cumulus.
    • - ignore_invalid_data . Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione sarà interrotta.
    • - tranche . Il numero di record scritti nel database di Weewx in ogni transazione.
    • - UV_sensor . Se è stato installato un sensore UV quando sono stati prodotti i dati di origine.
    • - solar_sensor . Se è stato installato un sensore di radiazione solare quando sono stati prodotti i dati di origine.
    • - [[Units]] . Definisce le unità utilizzate nei file di log mensili di Cumulus.
  6. • Quando si importano i dati per la prima volta, è prudente eseguire un'importazione di prova prima che i dati vengano effettivamente importati. Un'importazione di prova eseguirà tutti i passaggi dell'importazione senza scrivere effettivamente i dati importati nel database di Weewx. Inoltre, è necessario prendere in considerazione eventuali opzioni aggiuntive da utilizzare come --date .

    Per eseguire un funzionamento di prova, immetti il seguente comando:

    wee_import --import-config=/var/tmp/cumulus.conf --dry-run
    

    Ciò si tradurrà in un breve preambolo con dettagli sull'origine dei dati, la destinazione dei dati importati e alcuni altri dettagli su come verranno elaborati i dati. L'importazione verrà quindi eseguita ma nessun dato verrà scritto nel database di Weewx.

    L'output dovrebbe essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Cumulus monthly log files in the '/var/tmp/cumulus' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    This is a dry run, imported data will not be saved to archive.
    Starting dry run import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Unique records processed: 8858; Last timestamp: 2016-10-31 23:55:00 AEST (1477922100)
    Period 2 ...
    Unique records processed: 8636; Last timestamp: 2016-11-30 23:55:00 AEST (1480514100)
    Period 3 ...
    Unique records processed: 8925; Last timestamp: 2016-12-31 23:55:00 AEST (1483192500)
    Period 4 ...
    Unique records processed: 8908; Last timestamp: 2017-01-31 23:55:00 AEST (1485870900)
    Period 5 ...
    Unique records processed: 8029; Last timestamp: 2017-02-28 23:55:00 AEST (1488290100)
    Period 6 ...
    Unique records processed: 8744; Last timestamp: 2017-03-31 23:55:00 AEST (1490968500)
    Period 7 ...
    Unique records processed: 8489; Last timestamp: 2017-04-30 23:02:00 AEST (1493557320)
    Period 8 ...
    Unique records processed: 8754; Last timestamp: 2017-05-31 23:55:00 AEST (1496238900)
    Period 9 ...
    Unique records processed: 8470; Last timestamp: 2017-06-30 23:55:00 AEST (1498830900)
    Finished dry run import
    77813 records were processed and 77813 unique records would have been imported.

    I nove periodi corrispondono ai nove file di registro mensili utilizzati per questa importazione.

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno ignorati. La mancanza di dati potrebbe essere dovuta a un file di registro mensile di Cumulus mancante. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

  7. Una volta che i risultati del test di prova sono soddisfacenti, i dati possono essere importati utilizzando il seguente comando:
    wee_import --import-config=/var/tmp/cumulus.conf
    

    Ciò si tradurrà in un preambolo simile a quello di una corsa di prova. Alla fine del preambolo ci sarà un prompt:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Cumulus monthly log files in the '/var/tmp/cumulus' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Starting import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?

    Se è presente più di un file di registro mensile di Cumulus, wee_import fornirà informazioni di riepilogo in base al periodo durante l'importazione. Inoltre, se viene utilizzata l' opzione --date , i dati di origine che non rientrano nella data o nell'intervallo di date specificato con l' opzione --date vengono ignorati. In tali casi il preambolo può essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Cumulus monthly log files in the '/var/tmp/cumulus' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Starting import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Period 1 - no records identified for import.
    Period 2 ...
    Period 2 - no records identified for import.
    Period 3 ...
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?
  8. Se i parametri di importazione sono accettabili, immettere y per procedere con l'importazione o n per interrompere l'importazione. Se l'importazione viene confermata, i dati di origine verranno importati, elaborati e salvati nel database di Weewx. Le informazioni sullo stato di avanzamento dell'importazione verranno visualizzate in modo simile al seguente:
    Unique records processed: 2305; Last timestamp: 2016-12-30 00:00:00 AEST (1483020000)

    Anche in questo caso, se è presente più di un file di registro mensile di Cumulus e se viene utilizzata l'opzione --date , le informazioni sullo stato di avanzamento potrebbero invece essere simili a:

    Period 4 ...
    Unique records processed: 8908; Last timestamp: 2017-01-31 23:55:00 AEST (1485870900)
    Period 5 ...
    Unique records processed: 8029; Last timestamp: 2017-02-28 23:55:00 AEST (1488290100)
    Period 6 ...
    Unique records processed: 8744; Last timestamp: 2017-03-31 23:55:00 AEST (1490968500)

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno ignorati. La mancanza di dati potrebbe essere dovuta a un file di registro mensile di Cumulus mancante. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

    La riga che inizia con Unique records processed dovrebbe aggiornarsi man mano che i record vengono importati con le informazioni sull'avanzamento del numero di record elaborati, il numero di record univoci importati e la data e l'ora dell'ultimo record elaborato. Se l'importazione si estende su più mesi (ovvero più file di registro mensili), viene creata una nuova riga period per ogni mese.

    Una volta completata l'importazione iniziale, wee_import , se richiesto, calcolerà eventuali osservazioni derivate mancanti e ricostruirà i riepiloghi giornalieri. Dovrebbe essere visualizzato un breve riepilogo simile al seguente:

    Calculating missing derived observations ...
    Processing record: 77782; Last record: 2017-06-30 00:00:00 AEST (1519826400)
    Recalculating daily summaries...
    Records processed: 77000; Last date: 2017-06-28 11:45:00 AEST (1519811100)
    Finished recalculating daily summaries
    Finished calculating missing derived observations

    Al termine dell'importazione viene visualizzato un breve riepilogo simile al seguente:

    Finished import
    77813 records were processed and 77813 unique records imported in 106.96 seconds.
    Those records with a timestamp already in the archive will not have been
    imported. Confirm successful import in the Weewx log file.
  9. Mentre wee_import avviserà del numero di record elaborati e del numero di record univoci trovati, wee_import sa quanti record importati, se ce ne sono, sono stati salvati con successo nel database. Dovresti esaminare attentamente il file di log di Weewx che copre la sessione wee_import e prendere nota di tutti i record che non sono stati importati. Il motivo più comune per cui i record importati non vengono salvati nel database è perché esiste già un record con quel timestamp nel database, in questi casi nel registro verrà trovato qualcosa di simile al seguente:
    Aug 22 14:38:28 stretch12 weewx[863]: manager: unable to add record 2018-09-04 04:20:00 AEST (1535998800) to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime

    In tali casi, prendere nota della marcatura temporale del/i record interessato/i e decidere se eliminare il record preesistente e reimportarlo o conservare il record preesistente.

Importazione da Weather Display


L'esecuzione di Weewx durante una sessione wee_import può portare a un'interruzione anomala dell'importazione. Se Weewx deve rimanere in esecuzione (ad esempio, in modo che i dati in tempo reale non vengano persi) eseguire la sessione wee_import su un'altra macchina o su un secondo database e unire il database in uso e il secondo una volta completata l'importazione.

wee_import può importare dati osservativi da uno o più file di log mensili di Weather Display. Weather Display registra i dati osservativi su base mensile in un numero di file di testo delimitati da spazio (.txt) e/o separati da virgola (.csv). wee_import può importare dati osservativi dai seguenti file di log del Weather Display:

  • • MMYYYYlg.txt
  • • MMYYYYlgcsv.csv (versione in formato csv di MMYYYYlg.txt)
  • • MMYYYYvantagelog.txt
  • • MMYYYYvantagelogcsv.csv (versione in formato csv di MMYYYYvantagelog.txt)
  • • MMYYYYvantageextrasensorslog.csv

dove MM è un mese a una o due cifre e YYYY è un anno a quattro cifre

I file di registro mensili di Weather Display registrano i dati osservativi utilizzando un intervallo nominale di 1 minuto con ogni file che registra varie osservazioni per il mese e l'anno designati dai componenti MM e YYYY del nome del file. Questi file vengono accumulati nel tempo e possono essere considerati analoghi alla tabella di archivio di Weewx. Quando wee_import importa i dati dai file di log mensili di Weather Display, ogni set di file di log per un dato mese e anno è considerato un 'periodo'. wee_import elabora un periodo alla volta in ordine cronologico (dal più vecchio al più recente) e fornisce i dati di riepilogo dell'importazione in base al periodo.

Mappatura per i campi dell'archivio

I campi dell'archivio Weewx popolati durante l'importazione dei dati Weather Display dipendono dalla mappatura dei campi specificata nella stanza [[FieldMap]] nel file di configurazione dell'importazione. Un dato campo Weewx sarà popolato se:

  • • Esiste una mappatura campo valida,
  • • Il campo Weewx esiste nello schema della tabella dell'archivio Weewx e
  • • Il campo Weather Display mappato contiene dati validi.

I seguenti campi dell'archivio Weewx saranno popolati da altre impostazioni o opzioni di configurazione e non dovranno essere inclusi nella mappatura del campo:

  • • interval
  • • usUnits

  • I seguenti campi dell'archivio Weewx saranno popolati con valori derivati dai dati importati forniti se calc_missing = True è incluso nella sezione [WD] del file di configurazione dell'importazione in uso e il campo esiste nello schema della tabella dell'archivio Weewx in uso:
    • • altimeter
    • • pressure
    • • rainRate
    • • windchill

    Se calc_missing = False è incluso nella sezione [WD] del file di configurazione di importazione in uso, tutti i campi precedenti verranno impostati su None/null . L'impostazione predefinita dell'opzione calc_missing è True

Istruzioni passo passo

Per importare le osservazioni da uno o più file di registro mensili di Weather Display:

  1. • Assicurarsi che i file di registro mensili di Weather Display da utilizzare per l'importazione si trovino in una directory accessibile dal computer che eseguirà wee_import . Ai fini dei seguenti esempi, ci sono cinque mesi di file di log che coprono il periodo da settembre 2018 a gennaio 2019 inclusi situati nella directory /var/tmp/wd .
  2. • Fai un backup del database di Weewx nel caso in cui l'importazione dovesse andare storta.
  3. • Crea un file di configurazione di importazione, questo è facile da fare facendo una copia del file di configurazione di importazione Weather Display di esempio che si trova nella directory /home/weewx/util/import o /etc/weewx/import a seconda dei casi. In questo caso faremo una copia del file di configurazione di importazione Weather Display di esempio e lo salveremo come wd.conf nella directory /var/tmp :
    $ cp /home/weewx/util/import/wd-example.conf /var/tmp/wd.conf
  4. • Verifica che l' opzione sorgente sia impostata su WD:
    source = WD
  5. • Verificare che le seguenti opzioni nella sezione [WD] siano impostate correttamente:
    • - directory . Il percorso completo della directory contenente i file di registro mensili di Weather Display da utilizzare come origine dei dati importati.
    • - logs_to_process . Specifica i file di registro mensili di Weather Display da utilizzare per importare i dati.
    • - interval . Determina come viene derivato il campo interval di Weewx.
    • - qc . Determina se i controlli qualità vengono eseguiti sui dati importati.
    • - calc_missing . Determina se le osservazioni derivate mancanti verranno calcolate dai dati importati.
    • - txt_delimiter . Il delimitatore di campo utilizzato nei file di registro mensili delimitati dallo spazio di visualizzazione meteo (*.txt).
    • - csv_delimiter . Il delimitatore di campo utilizzato nei file di registro mensili di Weather Display con valori separati da virgola (*.csv).
    • - decimal . Il carattere separatore decimale utilizzato nei file di registro mensili di Weather Display.
    • - ignore_missing_log . Determina se i file di registro mancanti devono essere ignorati o se l'importazione deve essere interrotta.
    • - ignore_invalid_data . Determina se i dati non validi in un campo di origine vengono ignorati o se l'importazione deve essere interrotta.
    • - tranche . Il numero di record scritti nel database di Weewx in ogni transazione.
    • - UV_sensor . Se è stato installato un sensore UV quando sono stati prodotti i dati di origine.
    • - solar_sensor . Se è stato installato un sensore di radiazione solare quando sono stati prodotti i dati di origine.
    • - ignore_extreme_temp_hum . Determina se i valori di temperatura e umidità di 255 verranno ignorati.
    • - [[Units]] . Definisce le unità utilizzate nei file di registro mensili di Weather Display.
    • - [[FieldMap]] . Definisce la mappatura tra campi dati importati e campi archivio Weewx.
  6. • Quando si importano i dati per la prima volta, è prudente eseguire un'importazione di prova prima che i dati vengano effettivamente importati. Un'importazione di prova eseguirà tutti i passaggi dell'importazione senza scrivere effettivamente i dati importati nel database di Weewx. Inoltre, è necessario prendere in considerazione eventuali opzioni aggiuntive da utilizzare come --date .

    A causa di alcune peculiarità della struttura del registro di Weather Display, potrebbe essere prudente utilizzare l' opzione --suppress--warnings durante l'esecuzione di prova iniziale in modo da poter osservare l'avanzamento complessivo dell'importazione.

    Per eseguire un funzionamento di prova, immetti il seguente comando:

    wee_import --import-config=/var/tmp/wd.conf --dry-run --suppress-warnings
    

    Ciò si tradurrà in un breve preambolo con dettagli sull'origine dei dati, la destinazione dei dati importati e alcuni altri dettagli su come verranno elaborati i dati. L'importazione verrà quindi eseguita ma nessun dato verrà scritto nel database di Weewx.

    L'output dovrebbe essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Weather Display monthly log files in the '/var/tmp/WD' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    This is a dry run, imported data will not be saved to archive.
    Starting dry run import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Unique records processed: 43183; Last timestamp: 2018-09-30 23:59:00 AEST (1538315940)
    Period 2 ...
    Unique records processed: 44620; Last timestamp: 2018-10-31 23:59:00 AEST (1540994340)
    Period 3 ...
    Unique records processed: 43136; Last timestamp: 2018-11-30 23:59:00 AEST (1543586340)
    Period 4 ...
    Unique records processed: 44633; Last timestamp: 2018-12-31 23:59:00 AEST (1546264740)
    Period 5 ...
    Unique records processed: 8977; Last timestamp: 2019-01-07 05:43:00 AEST (1546803780)
    Finished dry run import
    184765 records were processed and 184549 unique records would have been imported.
    216 duplicate records were ignored.

    I cinque periodi corrispondono ai cinque mesi di file di registro utilizzati per questa importazione.

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno saltati. La mancanza di dati potrebbe essere dovuta a un file di registro di Weather Display mancante. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

  7. • Se è stata utilizzata l' opzione --suppress--warnings, potrebbe essere prudente eseguire un secondo test questa volta senza l' opzione --suppress--warnings . Ciò consentirà di osservare eventuali avvisi generati dall'importazione di prova:
    wee_import --import-config=/var/tmp/wd.conf --dry-run

    Ciò si tradurrà in un breve preambolo con dettagli sull'origine dei dati, la destinazione dei dati importati e alcuni altri dettagli su come verranno elaborati i dati. L'importazione verrà quindi eseguita ma nessun dato verrà scritto nel database di Weewx.

    L'output dovrebbe essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Weather Display monthly log files in the '/var/tmp/WD' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    This is a dry run, imported data will not be saved to archive.
    Starting dry run import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Warning: Import field 'radiation' is mapped to weewx field 'radiation' but the
             import field 'radiation' could not be found in one or more records.
             Weewx field 'radiation' will be set to 'None' in these records.
    Warning: Import field 'soiltemp' is mapped to weewx field 'soilTemp1' but the
             import field 'soiltemp' could not be found in one or more records.
             Weewx field 'soilTemp1' will be set to 'None' in these records.
    Warning: Import field 'soilmoist' is mapped to weewx field 'soilMoist1' but the
             import field 'soilmoist' could not be found in one or more records.
             Weewx field 'soilMoist1' will be set to 'None' in these records.
    Warning: Import field 'humidity' is mapped to weewx field 'outHumidity' but the
             import field 'humidity' could not be found in one or more records.
             Weewx field 'outHumidity' will be set to 'None' in these records.
    Warning: Import field 'heatindex' is mapped to weewx field 'heatindex' but the
             import field 'heatindex' could not be found in one or more records.
             Weewx field 'heatindex' will be set to 'None' in these records.
    Warning: Import field 'windspeed' is mapped to weewx field 'windSpeed' but the
             import field 'windspeed' could not be found in one or more records.
             Weewx field 'windSpeed' will be set to 'None' in these records.
    Warning: Import field 'barometer' is mapped to weewx field 'barometer' but the
             import field 'barometer' could not be found in one or more records.
             Weewx field 'barometer' will be set to 'None' in these records.
    Warning: Import field 'dewpoint' is mapped to weewx field 'dewpoint' but the
             import field 'dewpoint' could not be found in one or more records.
             Weewx field 'dewpoint' will be set to 'None' in these records.
    Warning: Import field 'rainlastmin' is mapped to weewx field 'rain' but the
             import field 'rainlastmin' could not be found in one or more records.
             Weewx field 'rain' will be set to 'None' in these records.
    Warning: Import field 'direction' is mapped to weewx field 'windDir' but the
             import field 'direction' could not be found in one or more records.
             Weewx field 'windDir' will be set to 'None' in these records.
    Warning: Import field 'temperature' is mapped to weewx field 'outTemp' but the
             import field 'temperature' could not be found in one or more records.
             Weewx field 'outTemp' will be set to 'None' in these records.
    Warning: Import field 'gustspeed' is mapped to weewx field 'windGust' but the
             import field 'gustspeed' could not be found in one or more records.
             Weewx field 'windGust' will be set to 'None' in these records.
    Unique records processed: 43183; Last timestamp: 2018-09-30 23:59:00 AEST (1538315940)
    Period 2 ...
    Unique records processed: 44620; Last timestamp: 2018-10-31 23:59:00 AEST (1540994340)
    Period 3 ...
    Unique records processed: 43136; Last timestamp: 2018-11-30 23:59:00 AEST (1543586340)
    Period 4 ...
    Unique records processed: 44633; Last timestamp: 2018-12-31 23:59:00 AEST (1546264740)
    Period 5 ...
    Unique records processed: 8977; Last timestamp: 2019-01-07 05:43:00 AEST (1546803780)
        6 duplicate records were identified in period 5:
            2019-01-04 10:31:00 AEST (1546561860)
            2019-01-04 10:32:00 AEST (1546561920)
            2019-01-04 10:33:00 AEST (1546561980)
            2019-01-04 10:34:00 AEST (1546562040)
            2019-01-04 10:35:00 AEST (1546562100)
            2019-01-04 10:36:00 AEST (1546562160)
    Finished dry run import
    184555 records were processed and 184549 unique records would have been imported.
    6 duplicate records were ignored.

    In questo caso sono evidenti le seguenti avvertenze:

    • - Il periodo uno aveva 12 avvisi per i campi di importazione che erano mappati ai campi di dati di Weewx ma per i quali non sono stati trovati dati. Questo potrebbe essere un segno che potrebbe mancare un intero mese di dati o una parte significativa del mese o potrebbe essere il caso che manchi solo il primo record del mese (è stato trovato un numero significativo di file di log mensili di Weather Display ma manca il primo record del mese). Nella maggior parte dei casi questo avviso può essere ignorato.
    • - Il quinto periodo mostra avvisi per sei voci nel periodo che hanno timestamp duplicati. Questo potrebbe essere un segno che c'è un problema in uno o più file di log mensili di Weather Display per quel mese. Tuttavia, aneddoticamente è stato riscontrato che spesso esistono voci duplicate in uno o più file di registro mensili di Weather Display. Se i duplicati devono essere ignorati, tali avvisi possono essere ignorati, altrimenti i dati errati devono essere rimossi dai file di registro interessati prima dell'importazione.
  8. • Una volta che i risultati del test di prova sono soddisfacenti, i dati possono essere importati utilizzando il seguente comando:
    wee_import --import-config=/var/tmp/wd.conf --suppress-warnings
    

    L' opzione --suppress--warnings è stata utilizzata per sopprimere gli avvisi rilevati in precedenza.

    Ciò si tradurrà in un preambolo simile a quello di una corsa di prova. Alla fine del preambolo ci sarà un prompt:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Weather Display monthly log files in the '/var/tmp/WD' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Starting import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?

    Se è presente più di un mese di file di log mensili di Weather Display, wee_import fornirà informazioni di riepilogo in base al periodo durante l'importazione. Inoltre, se viene utilizzata l' opzione --date , i dati di origine che non rientrano nella data o nell'intervallo di date specificato con l' opzione --date vengono ignorati. In tali casi il preambolo può essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    Weather Display monthly log files in the '/var/tmp/WD' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Observations timestamped after 2018-10-12 00:00:00 AEST (1539266400) and up to and
    including 2018-10-13 00:00:00 AEST (1539352800) will be imported.
    Starting import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Period 1 - no records identified for import.
    Period 2 ...
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?
  9. • Se i parametri di importazione sono accettabili, immettere y per procedere con l'importazione o n per interrompere l'importazione. Se l'importazione viene confermata, i dati di origine verranno importati, elaborati e salvati nel database di Weewx. Le informazioni sullo stato di avanzamento dell'importazione verranno visualizzate in modo simile al seguente:
    Unique records processed: 1250; Last timestamp: 2018-12-01 20:49:00 AEST (1543661340)

    Anche in questo caso, se è presente più di un mese di file di registro mensili di Weather Display e se viene utilizzata l'opzione --date , le informazioni sullo stato di avanzamento potrebbero invece essere simili a:

    Period 2 ...
    Unique records processed: 44620; Last timestamp: 2018-10-31 23:59:00 AEST (1540994340)
    Period 3 ...
    Unique records processed: 43136; Last timestamp: 2018-11-30 23:59:00 AEST (1543586340)
    Period 4 ...
    Unique records processed: 12000; Last timestamp: 2018-12-09 07:59:00 AEST (1544306340)

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno saltati. La mancanza di dati potrebbe essere dovuta a un file di registro di Weather Display mancante. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

    La riga che inizia con Unique records processed deve essere aggiornata man mano che i record vengono importati con le informazioni sull'avanzamento del numero di record univoci elaborati e la data e l'ora dell'ultimo record elaborato. Se l'importazione si estende su più mesi, viene creata una nuova riga period per ogni mese.

    Una volta completata l'importazione iniziale, wee_import , se richiesto, calcolerà eventuali osservazioni derivate mancanti e ricostruirà i riepiloghi giornalieri. Dovrebbe essere visualizzato un breve riepilogo simile al seguente:

    Calculating missing derived observations ...
    Processing record: 184549; Last record: 2019-01-08 00:00:00 AEST (1546869600)
    Recalculating daily summaries...
    Records processed: 184000; Last date: 2019-01-06 20:34:00 AEST (1546770840)
    Finished recalculating daily summaries
    Finished calculating missing derived observations

    Al termine dell'importazione viene visualizzato un breve riepilogo simile al seguente:

    Finished import
    184765 records were processed and 184549 unique records imported in 699.27 seconds.
    216 duplicate records were ignored.
    Those records with a timestamp already in the archive will not have been
    imported. Confirm successful import in the Weewx log file.
  10. • Mentre wee_import avviserà del numero di record univoci importati, wee_import sa quanti record importati, se ce ne sono, sono stati salvati con successo nel database. Dovresti esaminare attentamente il file di log di Weewx che copre la sessione wee_import e prendere nota di tutti i record che non sono stati importati. Il motivo più comune per cui i record importati non vengono salvati nel database è perché esiste già un record con quel timestamp nel database, in questi casi nel registro verrà trovato qualcosa di simile al seguente:
    Aug 22 14:38:28 stretch12 weewx[863]: manager: unable to add record 2018-09-04 04:20:00 AEST (1535998800) to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime

    In tali casi, prendere nota della marcatura temporale del/i record interessato/i e decidere se eliminare il record preesistente e reimportarlo o conservare il record preesistente.

Importazione da WeatherCat


L'esecuzione di Weewx durante una sessione wee_import può portare a un'interruzione anomala dell'importazione. Se Weewx deve rimanere in esecuzione (ad esempio, in modo che i dati in tempo reale non vengano persi) eseguire la sessione wee_import su un'altra macchina o su un secondo database e unire il database in uso e il secondo una volta completata l'importazione.

wee_import può importare dati osservativi da uno o più file .cat mensili di WeatherCat. Un file .cat mensile WeatherCat registra le osservazioni della stazione meteorologica per un solo mese. Questi file vengono accumulati nel tempo e possono essere considerati analoghi alla tabella archive di Weewx. Quando wee_import importa i dati dai file .cat mensili di WeatherCat, ogni file viene considerato un "periodo". wee_import elabora un periodo alla volta in ordine cronologico (dal più vecchio al più recente) e fornisce i dati di riepilogo dell'importazione in base al periodo.

Mappatura per i campi dell'archivio

Un'importazione WeatherCat popolerà i campi dell'archivio di Weewx come segue:

  • • I dati forniti esistono per ogni campo nei file .cat mensili di WeatherCat, i seguenti campi dell'archivio Weewx saranno popolati direttamente dai dati importati:
    • - dateTime
    • - barometer
    • - dewpoint
    • - heatindex
    • - inHumidity
    • - inTemp
    • - outHumidity
    • - outTemp
    • - radiation
    • - rain
    • - rainRate
    • - UV
    • - windDir
    • - windGust
    • - windSpeed
    • - windchill

    Se un campo nel file .cat mensile di WeatherCat non contiene dati, il campo dell'archivio Weewx corrispondente sarà impostato su None/null .

  • • I seguenti campi dell'archivio di Weewx saranno popolati da altre impostazioni o opzioni di configurazione:
    • - interval
    • - usUnits
  • • I seguenti campi dell'archivio Weewx saranno popolati con valori derivati dai dati importati forniti se calc_missing = True è incluso nella sezione [WeatherCat] del file di configurazione dell'importazione in uso e il campo esiste nello schema della tabella dell'archivio Weewx in uso.
    • - altimeter
    • - ET
    • - pressure

    Se calc_missing = False è incluso nella sezione [WeatherCat] del file di configurazione di importazione in uso, tutti i campi precedenti verranno impostati su None/null . L'impostazione predefinita dell'opzione calc_missing è True

Istruzioni passo passo

Per importare le osservazioni da uno o più file .cat mensili di WeatherCat:

  1. • Assicurarsi che i file .cat mensili di WeatherCat da utilizzare per l'importazione si trovino nelle directory dell'anno con le directory dell'anno a loro volta situate in una directory accessibile dal computer che eseguirà wee_import . Ai fini dei seguenti esempi, sono presenti nove file di log mensili che coprono il periodo da ottobre 2016 a giugno 2017 inclusi, situati rispettivamente nelle directory /var/tmp/wcat/2016 e /var/tmp/wcat/2017 .
  2. • Fai un backup del database di Weewx nel caso in cui l'importazione dovesse andare storta.
  3. • Crea un file di configurazione di importazione. In questo caso faremo una copia del file di configurazione di importazione WeatherCat di esempio e lo salveremo come wcat.conf nella directory /var/tmp :
    $ cp /home/weewx/util/import/weathercat-example.conf /var/tmp/wcat.conf
    
  4. • Verifica che l' opzione sorgente sia impostata su WeatherCat:
    source = WeatherCat
  5. • Verificare che le seguenti opzioni nella sezione [WeatherCat] siano impostate correttamente:
    • - directory . Il percorso completo della directory contenente le directory contenenti i file .cat mensili di WeatherCat da utilizzare come origine dei dati importati.
    • - interval . Determina come viene derivato il campo interval di weewx.
    • - qc . Determina se i controlli qualità vengono eseguiti sui dati importati.
    • - calc_missing . Determina se le osservazioni derivate mancanti verranno calcolate dai dati importati.
    • - decimal . Il carattere separatore decimale utilizzato nei file di registro mensili di WeatherCat.
    • - tranche . Il numero di record scritti nel database di Weewx in ogni transazione.
    • - UV_sensor . Se è stato installato un sensore UV quando sono stati prodotti i dati di origine.
    • - solar_sensor . Se è stato installato un sensore di radiazione solare quando sono stati prodotti i dati di origine.
    • - [[Units]] . Definisce le unità utilizzate nei file .cat mensili di WeatherCat.
  6. • Quando si importano i dati per la prima volta, è prudente eseguire un'importazione di prova prima che i dati vengano effettivamente importati. Un'importazione di prova eseguirà tutti i passaggi dell'importazione senza scrivere effettivamente i dati importati nel database di Weewx. Inoltre, è necessario prendere in considerazione eventuali opzioni aggiuntive da utilizzare come --date .

    Sebbene i file .cat mensili di WeatherCat utilizzino un insieme fisso di campi, l'inclusione di campi diversi da t (timestamp) e V (convalida) è facoltativa. Per questo motivo, la mappatura dei campi utilizzata per le importazioni WeatherCat include campi che potrebbero non esistere in alcuni file .cat mensili WeatherCat, con conseguente avviso da parte di wee_port che potrebbero mancare dati nell'origine di importazione. Questi avvisi possono essere estesi e possono pregiudicare la capacità dell'utente di monitorare l'avanzamento dell'importazione. Potrebbe essere prudente utilizzare l' opzione --suppress--warnings durante il test iniziale in modo che l'avanzamento complessivo dell'importazione possa essere osservato più facilmente.

    Per eseguire un funzionamento di prova, immetti il seguente comando:

    wee_import --import-config=/var/tmp/wcat.conf --dry-run --suppress-warnings
    

    Ciò si tradurrà in un breve preambolo con dettagli sull'origine dei dati, la destinazione dei dati importati e alcuni altri dettagli su come verranno elaborati i dati. L'importazione verrà quindi eseguita ma nessun dato verrà scritto nel database di Weewx.

    L'output dovrebbe essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    WeatherCat monthly .cat files in the '/var/tmp/wcat' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    This is a dry run, imported data will not be saved to archive.
    Starting dry run import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Unique records processed: 39555; Last timestamp: 2016-10-31 23:59:00 AEST (1477922340)
    Period 2 ...
    Unique records processed: 38284; Last timestamp: 2016-11-30 23:59:00 AEST (1480514340)
    Period 3 ...
    Unique records processed: 39555; Last timestamp: 2016-12-31 23:59:00 AEST (1483192740)
    Period 4 ...
    Unique records processed: 39555; Last timestamp: 2017-01-31 23:59:00 AEST (1485871140)
    Period 5 ...
    Unique records processed: 35598; Last timestamp: 2017-02-28 23:59:00 AEST (1488290340)
    Period 6 ...
    Unique records processed: 39555; Last timestamp: 2017-03-31 23:59:00 AEST (1490968740)
    Period 7 ...
    Unique records processed: 38284; Last timestamp: 2017-04-30 23:59:00 AEST (1493560740)
    Period 8 ...
    Unique records processed: 38284; Last timestamp: 2017-06-30 23:59:00 AEST (1498831140)
    Finished dry run import
    308670 records were processed and 308670 unique records would have been imported.

    Gli otto periodi corrispondono agli otto file .cat mensili utilizzati per questa importazione.

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno saltati. La mancanza di dati potrebbe essere dovuta a un file .cat mensile WeatherCat mancante. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

  7. • Se è stata utilizzata l' opzione --suppress--warnings, potrebbe essere prudente eseguire un secondo test questa volta senza l' opzione --suppress--warnings . Ciò consentirà di osservare eventuali avvisi generati dall'importazione di prova:
    wee_import --import-config=/var/tmp/wcat.conf --dry-run

    Ciò si tradurrà in un breve preambolo con dettagli sull'origine dei dati, la destinazione dei dati importati e alcuni altri dettagli su come verranno elaborati i dati. L'importazione verrà quindi eseguita ma nessun dato verrà scritto nel database di Weewx.

    L'output dovrebbe essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    WeatherCat monthly .cat files in the '/var/tmp/wcat' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    This is a dry run, imported data will not be saved to archive.
    Starting dry run import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Warning: Import field 'T1' is mapped to weewx field 'extraTemp1' but the
             import field 'T1' could not be found in one or more records.
             Weewx field 'extraTemp1' will be set to 'None' in these records.
    Warning: Import field 'T2' is mapped to weewx field 'extraTemp2' but the
             import field 'T2' could not be found in one or more records.
             Weewx field 'extraTemp2' will be set to 'None' in these records.
    Warning: Import field 'T3' is mapped to weewx field 'extraTemp3' but the
             import field 'T3' could not be found in one or more records.
             Weewx field 'extraTemp3' will be set to 'None' in these records.
    Warning: Import field 'H1' is mapped to weewx field 'extraHumid1' but the
             import field 'H1' could not be found in one or more records.
             Weewx field 'extraHumid1' will be set to 'None' in these records.
    Warning: Import field 'H2' is mapped to weewx field 'extraHumid2' but the
             import field 'H2' could not be found in one or more records.
             Weewx field 'extraHumid2' will be set to 'None' in these records.
    Warning: Import field 'Sm1' is mapped to weewx field 'soilMoist1' but the
             import field 'Sm1' could not be found in one or more records.
             Weewx field 'soilMoist1' will be set to 'None' in these records.
    Warning: Import field 'Sm2' is mapped to weewx field 'soilMoist2' but the
             import field 'Sm2' could not be found in one or more records.
             Weewx field 'soilMoist2' will be set to 'None' in these records.
    Warning: Import field 'Sm3' is mapped to weewx field 'soilMoist3' but the
             import field 'Sm3' could not be found in one or more records.
             Weewx field 'soilMoist3' will be set to 'None' in these records.
    Warning: Import field 'Sm4' is mapped to weewx field 'soilMoist4' but the
             import field 'Sm4' could not be found in one or more records.
             Weewx field 'soilMoist4' will be set to 'None' in these records.
    Warning: Import field 'Lw1' is mapped to weewx field 'leafWet1' but the
             import field 'Lw1' could not be found in one or more records.
             Weewx field 'leafWet1' will be set to 'None' in these records.
    Warning: Import field 'Lw2' is mapped to weewx field 'leafWet2' but the
             import field 'Lw2' could not be found in one or more records.
             Weewx field 'leafWet2' will be set to 'None' in these records.
    Warning: Import field 'St1' is mapped to weewx field 'soilTemp1' but the
             import field 'St1' could not be found in one or more records.
             Weewx field 'soilTemp1' will be set to 'None' in these records.
    Warning: Import field 'St2' is mapped to weewx field 'soilTemp2' but the
             import field 'St2' could not be found in one or more records.
             Weewx field 'soilTemp2' will be set to 'None' in these records.
    Warning: Import field 'St3' is mapped to weewx field 'soilTemp3' but the
             import field 'St3' could not be found in one or more records.
             Weewx field 'soilTemp3' will be set to 'None' in these records.
    Warning: Import field 'St4' is mapped to weewx field 'soilTemp4' but the
             import field 'St4' could not be found in one or more records.
             Weewx field 'soilTemp4' will be set to 'None' in these records.
    Warning: Import field 'Lt1' is mapped to weewx field 'leafTemp1' but the
             import field 'Lt1' could not be found in one or more records.
             Weewx field 'leafTemp1' will be set to 'None' in these records.
    Warning: Import field 'Lt2' is mapped to weewx field 'leafTemp2' but the
             import field 'Lt2' could not be found in one or more records.
             Weewx field 'leafTemp2' will be set to 'None' in these records.
    Unique records processed: 39555; Last timestamp: 2016-10-31 23:59:00 AEST (1477922340)
    Period 2 ...
    Warning: Import field 'T1' is mapped to weewx field 'extraTemp1' but the
             import field 'T1' could not be found in one or more records.
             Weewx field 'extraTemp1' will be set to 'None' in these records.
    Warning: Import field 'T2' is mapped to weewx field 'extraTemp2' but the
             import field 'T2' could not be found in one or more records.
             Weewx field 'extraTemp2' will be set to 'None' in these records.
    Warning: Import field 'T3' is mapped to weewx field 'extraTemp3' but the
             import field 'T3' could not be found in one or more records.
             Weewx field 'extraTemp3' will be set to 'None' in these records.
    Warning: Import field 'H1' is mapped to weewx field 'extraHumid1' but the
             import field 'H1' could not be found in one or more records.
             Weewx field 'extraHumid1' will be set to 'None' in these records.
    Warning: Import field 'H2' is mapped to weewx field 'extraHumid2' but the
             import field 'H2' could not be found in one or more records.
             Weewx field 'extraHumid2' will be set to 'None' in these records.
    Warning: Import field 'Sm1' is mapped to weewx field 'soilMoist1' but the
             import field 'Sm1' could not be found in one or more records.
             Weewx field 'soilMoist1' will be set to 'None' in these records.
    Warning: Import field 'Sm2' is mapped to weewx field 'soilMoist2' but the
             import field 'Sm2' could not be found in one or more records.
             Weewx field 'soilMoist2' will be set to 'None' in these records.
    Warning: Import field 'Sm3' is mapped to weewx field 'soilMoist3' but the
             import field 'Sm3' could not be found in one or more records.
             Weewx field 'soilMoist3' will be set to 'None' in these records.
    Warning: Import field 'Sm4' is mapped to weewx field 'soilMoist4' but the
             import field 'Sm4' could not be found in one or more records.
             Weewx field 'soilMoist4' will be set to 'None' in these records.
    Warning: Import field 'Lw1' is mapped to weewx field 'leafWet1' but the
             import field 'Lw1' could not be found in one or more records.
             Weewx field 'leafWet1' will be set to 'None' in these records.
    Warning: Import field 'Lw2' is mapped to weewx field 'leafWet2' but the
             import field 'Lw2' could not be found in one or more records.
             Weewx field 'leafWet2' will be set to 'None' in these records.
    Warning: Import field 'St1' is mapped to weewx field 'soilTemp1' but the
             import field 'St1' could not be found in one or more records.
             Weewx field 'soilTemp1' will be set to 'None' in these records.
    Warning: Import field 'St2' is mapped to weewx field 'soilTemp2' but the
             import field 'St2' could not be found in one or more records.
             Weewx field 'soilTemp2' will be set to 'None' in these records.
    Warning: Import field 'St3' is mapped to weewx field 'soilTemp3' but the
             import field 'St3' could not be found in one or more records.
             Weewx field 'soilTemp3' will be set to 'None' in these records.
    Warning: Import field 'St4' is mapped to weewx field 'soilTemp4' but the
             import field 'St4' could not be found in one or more records.
             Weewx field 'soilTemp4' will be set to 'None' in these records.
    Warning: Import field 'Lt1' is mapped to weewx field 'leafTemp1' but the
             import field 'Lt1' could not be found in one or more records.
             Weewx field 'leafTemp1' will be set to 'None' in these records.
    Warning: Import field 'Lt2' is mapped to weewx field 'leafTemp2' but the
             import field 'Lt2' could not be found in one or more records.
             Weewx field 'leafTemp2' will be set to 'None' in these records.
    Unique records processed: 38284; Last timestamp: 2016-11-30 23:59:00 AEST (1480514340)
    
    ... (identical entries for periods 3 to 7 omitted for conciseness)
    
    Period 8 ...
    Warning: Import field 'T1' is mapped to weewx field 'extraTemp1' but the
             import field 'T1' could not be found in one or more records.
             Weewx field 'extraTemp1' will be set to 'None' in these records.
    Warning: Import field 'T2' is mapped to weewx field 'extraTemp2' but the
             import field 'T2' could not be found in one or more records.
             Weewx field 'extraTemp2' will be set to 'None' in these records.
    Warning: Import field 'T3' is mapped to weewx field 'extraTemp3' but the
             import field 'T3' could not be found in one or more records.
             Weewx field 'extraTemp3' will be set to 'None' in these records.
    Warning: Import field 'H1' is mapped to weewx field 'extraHumid1' but the
             import field 'H1' could not be found in one or more records.
             Weewx field 'extraHumid1' will be set to 'None' in these records.
    Warning: Import field 'H2' is mapped to weewx field 'extraHumid2' but the
             import field 'H2' could not be found in one or more records.
             Weewx field 'extraHumid2' will be set to 'None' in these records.
    Warning: Import field 'Sm1' is mapped to weewx field 'soilMoist1' but the
             import field 'Sm1' could not be found in one or more records.
             Weewx field 'soilMoist1' will be set to 'None' in these records.
    Warning: Import field 'Sm2' is mapped to weewx field 'soilMoist2' but the
             import field 'Sm2' could not be found in one or more records.
             Weewx field 'soilMoist2' will be set to 'None' in these records.
    Warning: Import field 'Sm3' is mapped to weewx field 'soilMoist3' but the
             import field 'Sm3' could not be found in one or more records.
             Weewx field 'soilMoist3' will be set to 'None' in these records.
    Warning: Import field 'Sm4' is mapped to weewx field 'soilMoist4' but the
             import field 'Sm4' could not be found in one or more records.
             Weewx field 'soilMoist4' will be set to 'None' in these records.
    Warning: Import field 'Lw1' is mapped to weewx field 'leafWet1' but the
             import field 'Lw1' could not be found in one or more records.
             Weewx field 'leafWet1' will be set to 'None' in these records.
    Warning: Import field 'Lw2' is mapped to weewx field 'leafWet2' but the
             import field 'Lw2' could not be found in one or more records.
             Weewx field 'leafWet2' will be set to 'None' in these records.
    Warning: Import field 'St1' is mapped to weewx field 'soilTemp1' but the
             import field 'St1' could not be found in one or more records.
             Weewx field 'soilTemp1' will be set to 'None' in these records.
    Warning: Import field 'St2' is mapped to weewx field 'soilTemp2' but the
             import field 'St2' could not be found in one or more records.
             Weewx field 'soilTemp2' will be set to 'None' in these records.
    Warning: Import field 'St3' is mapped to weewx field 'soilTemp3' but the
             import field 'St3' could not be found in one or more records.
             Weewx field 'soilTemp3' will be set to 'None' in these records.
    Warning: Import field 'St4' is mapped to weewx field 'soilTemp4' but the
             import field 'St4' could not be found in one or more records.
             Weewx field 'soilTemp4' will be set to 'None' in these records.
    Warning: Import field 'Lt1' is mapped to weewx field 'leafTemp1' but the
             import field 'Lt1' could not be found in one or more records.
             Weewx field 'leafTemp1' will be set to 'None' in these records.
    Warning: Import field 'Lt2' is mapped to weewx field 'leafTemp2' but the
             import field 'Lt2' could not be found in one or more records.
             Weewx field 'leafTemp2' will be set to 'None' in these records.
    Unique records processed: 38284; Last timestamp: 2017-06-30 23:59:00 AEST (1498831140)
    Finished dry run import
    308670 records were processed and 308670 unique records would have been imported.

    In questo caso sono evidenti avvisi per numerose coppie di campi importazione/weewx mappati ma per i quali non è stato possibile trovare dati. Se gli avvisi si riferiscono a campi che non sono inclusi nei dati di origine dell'importazione, l'avviso può essere tranquillamente ignorato. Se l'avviso si riferisce a campi che l'utente si aspetta siano presenti nei dati di origine dell'importazione, il problema deve essere esaminato ulteriormente prima che l'importazione sia completata

  8. • Una volta che i risultati del test di prova sono soddisfacenti, i dati possono essere importati utilizzando il seguente comando:
    wee_import --import-config=/var/tmp/wcat.conf --suppress-warnings
    

    Ciò si tradurrà in un preambolo simile a quello di una corsa di prova. Alla fine del preambolo ci sarà un prompt:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    WeatherCat monthly .cat files in the '/var/tmp/wcat' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Starting import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?

    Se è presente più di un file .cat mensile di WeatherCat, wee_import fornirà informazioni di riepilogo in base al periodo durante l'importazione. Inoltre, se viene utilizzata l' opzione --date , i dati di origine che non rientrano nella data o nell'intervallo di date specificato con l' opzione --date vengono ignorati. In tali casi il preambolo può essere simile a:

    Using Weewx configuration file /home/weewx/weewx.conf
    Starting wee_import...
    WeatherCat monthly .cat files in the '/var/tmp/wcat' directory will be imported
    Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
    Destination table 'archive' unit system is '0x01' (US).
    Missing derived observations will be calculated.
    Starting import ...
    Records covering multiple periods have been identified for import.
    Period 1 ...
    Period 1 - no records identified for import.
    Period 2 ...
    Period 2 - no records identified for import.
    Period 3 ...
    Proceeding will save all imported records in the Weewx archive.
    Are you sure you want to proceed (y/n)?
  9. • Se i parametri di importazione sono accettabili, immettere y per procedere con l'importazione o n per interrompere l'importazione. Se l'importazione viene confermata, i dati di origine verranno importati, elaborati e salvati nel database di Weewx. Le informazioni sullo stato di avanzamento dell'importazione verranno visualizzate in modo simile al seguente:
    Unique records processed: 2305; Last timestamp: 2016-12-30 00:00:00 AEST (1483020000)

    Anche in questo caso, se è presente più di un file .cat mensile WeatherCat e se viene utilizzata l' opzione --date , le informazioni sull'avanzamento potrebbero invece essere simili a:

    Period 4 ...
    Unique records processed: 8908; Last timestamp: 2017-01-31 23:59:00 AEST (1485870900)
    Period 5 ...
    Unique records processed: 8029; Last timestamp: 2017-02-28 23:59:00 AEST (1488290100)
    Period 6 ...
    Unique records processed: 8744; Last timestamp: 2017-03-31 23:59:00 AEST (1490968500)

    Tutti i periodi per i quali non è stato possibile ottenere dati verranno saltati. La mancanza di dati potrebbe essere dovuta a un file .cat mensile WeatherCat mancante. Una breve nota esplicativa in tal senso verrà visualizzata a fronte del periodo interessato e una voce inserita nello storico.

    La riga che inizia con Unique records processed dovrebbe aggiornarsi man mano che i record vengono importati con le informazioni sull'avanzamento del numero di record elaborati, il numero di record univoci importati e la data e l'ora dell'ultimo record elaborato. Se l'importazione si estende su più mesi (ovvero più file .cat mensili), viene creata una nuova riga period per ogni mese.

    Una volta completata l'importazione iniziale, wee_import , se richiesto, calcolerà eventuali osservazioni derivate mancanti e ricostruirà i riepiloghi giornalieri. Dovrebbe essere visualizzato un breve riepilogo simile al seguente:

    Calculating missing derived observations ...
    Processing record: 77782; Last record: 2017-06-30 00:00:00 AEST (1519826400)
    Recalculating daily summaries...
    Records processed: 77000; Last date: 2017-06-28 11:45:00 AEST (1519811100)
    Finished recalculating daily summaries
    Finished calculating missing derived observations

    Al termine dell'importazione viene visualizzato un breve riepilogo simile al seguente:

    Finished import
    308670 records were processed and 308670 unique records imported in 1907.61 seconds.
    Those records with a timestamp already in the archive will not have been
    imported. Confirm successful import in the Weewx log file.
  10. • Mentre wee_import avviserà del numero di record elaborati e del numero di record univoci trovati, wee_import sa quanti record importati, se ce ne sono, sono stati salvati con successo nel database. Dovresti esaminare attentamente il file di log di Weewx che copre la sessione wee_import e prendere nota di tutti i record che non sono stati importati. Il motivo più comune per cui i record importati non vengono salvati nel database è perché esiste già un record con quel timestamp nel database, in questi casi nel registro verrà trovato qualcosa di simile al seguente:
    Aug 22 14:38:28 stretch12 weewx[863]: manager: unable to add record 2018-09-04 04:20:00 AEST (1535998800) to database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime

    In tali casi, prendere nota della marcatura temporale del/i record interessato/i e decidere se eliminare il record preesistente e reimportarlo o conservare il record preesistente.

Affrontare gli errori di importazione

A volte accadono imprevisti durante un'importazione.

Se sono stati riscontrati errori o se sospetti che il database di Weewx sia stato contaminato da dati errati, ecco alcune cose che puoi provare per sistemare le cose.

  • • Eliminare manualmente i dati contaminati. Usa i comandi SQL per manipolare i dati nel database dell'archivio di Weewx. La semplicità di questo processo dipenderà dalla tua capacità di utilizzare SQL, dalla quantità di dati importati e dal fatto che i dati importati siano stati dispersi tra quelli esistenti. Una volta rimossi i dati contaminati, le tabelle di riepilogo giornaliere dovranno essere ricostruite utilizzando l' utilità wee_database .
  • • Elimina il database e ricomincia. Per SQLite, è sufficiente eliminare il file del database. Per MySQL, elimina il database. Quindi riprovare l'importazione.

    L'eliminazione del file di database o l'eliminazione del database comporterà la perdita di tutti i dati nel database.

  • • Se i passaggi precedenti non sono appropriati, il database deve essere ripristinato dal backup. Hai fatto un backup prima di iniziare l'importazione?
 

WEE_REPORTS

 

Nel funzionamento normale, Weewx genera report su ogni intervallo di archiviazione, quando arrivano nuovi dati. L'utility report viene utilizzata per generare report su richiesta. Utilizza lo stesso file di configurazione utilizzato da Weewx.

Eseguire l'utilità con l' opzione --help per vedere come viene utilizzata:

wee_reports --help

Ciò si traduce in qualcosa del genere:

usage: wee_reports --help
       wee_reports [CONFIG_FILE | --config=CONFIG_FILE]
       wee_reports [CONFIG_FILE | --config=CONFIG_FILE] --epoch=TIMESTAMP
       wee_reports [CONFIG_FILE | --config=CONFIG_FILE] --date=YYYY-MM-DD --time=HH:MM

Run all reports defined in the specified configuration file. Use this utility to run reports immediately instead of waiting for the end of
an archive interval.

positional arguments:
  CONFIG_FILE

optional arguments:
  -h, --help            show this help message and exit
  --config CONFIG_FILE  Use the configuration file CONFIG_FILE
  --epoch EPOCH_TIME    Time of the report in unix epoch time
  --date YYYY-MM-DD     Date for the report
  --time HH:MM          Time of day for the report

Specify either the positional argument CONFIG_FILE, or the optional argument --config, but not both.

Per impostazione predefinita, i rapporti vengono generati a partire dall'ultimo timestamp nel database, tuttavia è possibile specificare un'ora esplicita utilizzando l'opzione --epoch o le opzioni --date e --time .

Opzioni


Azione --config

Un percorso facoltativo al file di configurazione (di solito, weewx.conf ) può essere fornito come argomento posizionale o utilizzando l'opzione --config (ma non entrambi). Se non specificato, verrà dedotta la posizione del file di configurazione.

Azione --epoch

Se fornito, genera i report in modo che siano aggiornati all'epoca unix specificata. Esempio:

wee_reports --epoch=1652367600

Ciò genererebbe un rapporto per l'epoca unix 1652367600 (12 maggio 2022 alle 8:00 PDT).

Azione --date
Azione --time

Se fornito, generare i report in modo che siano aggiornati alla data e all'ora specificate. La data deve essere indicata nel formato YYYY-MM-DD e l'ora nel formato HH:MM . Esempio:

wee_reports /home/weewx/weewx.conf --date=2022-05-12 --time=08:00

Ciò genererebbe un rapporto per il 12 maggio 2022 alle 8:00 (unix epoch time 1652367600).

 

WEEWXD

 

L' applicazione weewxd è il cuore di Weewx. Può essere eseguito direttamente o in background come demone.

Eseguire con l' opzione --help per vedere come viene utilizzata:

weewxd --help

Ciò si traduce in un output simile a:

Usage: weewxd --help
       weewxd --version
       weewxd config_file [--daemon] [--pidfile=PIDFILE] 
                          [--exit]   [--loop-on-init]
                          [--log-label=LABEL]
           
  Entry point to the Weewx weather program. Can be run directly, or as a daemon
  by specifying the '--daemon' option.

Arguments:
    config_file: The Weewx configuration file to be used.


Options:
  -h, --help            show this help message and exit
  -d, --daemon          Run as a daemon
  -p PIDFILE, --pidfile=PIDFILE
                        Store the process ID in PIDFILE
  -v, --version         Display version number then exit
  -x, --exit            Exit on I/O and database errors instead of restarting
  -r, --loop-on-init    Retry forever if device is not ready on startup
  -n LABEL, --log-label=LABEL
                        Label to use in syslog entries
 

WUNDERFIXER

 

Per una serie di motivi, la pubblicazione di dati di osservazione meteorologica su Weather Underground spesso comporta osservazioni mancanti. L' utilità wunderfixer può ripubblicare tali osservazioni mancanti. Questa sezione spiega come farlo.

wunderfixer utilizza la convenzione Weather Underground su ciò che è un giorno. In altre parole, un giorno va dal record con timestamp a mezzanotte all'ultimo record con timestamp dello stesso giorno. Con questa convenzione, il primo record è effettivamente un archivio per l'ultimo intervallo di archiviazione del giorno precedente.

Prima di iniziare, vale la pena eseguire l'utilità con il flag --help per vedere come viene utilizzato wunderfixer :

wunderfixer --help

Ciò si tradurrà in un output simile a questo:

Usage: wunderfixer CONFIG_FILE|--config=CONFIG_FILE
                  [--binding=BINDING]
                  [--station=STATION] [--password=PASSWORD] [--api-key=API_KEY]
                  [--date=YYYY-mm-dd] [--epsilon=SECONDS] [--upload-only=SECONDS]
                  [--verbose] [--test] [--query] [--timeout=SECONDS]
                  [--help]

This utility fills in missing data on the Weather Underground.  It goes through
all the records in a Weewx archive for a given day, comparing to see whether a
corresponding record exists on the Weather Underground. If not, it will publish
a new record on the Weather Underground with the missing data.

Be sure to use the --test switch first to see whether you like what it
proposes!

Options:
  -h, --help            show this help message and exit
  -c CONFIG_PATH, --config=CONFIG_PATH
                        Use configuration file CONFIG_PATH. Default is
                        /etc/weewx/weewx.conf or /home/weewx/weewx.conf.
  -b BINDING, --binding=BINDING
                        The database binding to be used. Default is
                        'wx_binding'.
  -s STATION, --station=STATION
                        Weather Underground station to check. Optional.
                        Default is to take from configuration file.
  -p PASSWORD, --password=PASSWORD
                        Weather Underground station password. Optional.
                        Default is to take from configuration file.
  -k API_KEY, --api-key=API_KEY
                        Weather Underground API key. Optional. Default is to
                        take from configuration file.
  -d YYYY-mm-dd, --date=YYYY-mm-dd
                        Date to check as a string of form YYYY-mm-dd. Default
                        is today.
  -e SECONDS, --epsilon=SECONDS
                        Timestamps within this value in seconds compare true.
                        Default is 120.
  -u SECONDS, --upload-only=SECONDS
                        Upload only records every SECONDS apart or more.
                        Default is 300.
  -v, --verbose         Print useful extra output.
  -l LOG_FACILITY, --log=LOG_FACILITY
                        OBSOLETE. Logging will always occur.
  -t, --test            Test what would happen, but don't do anything.
  -q, --query           For each record, query the user before making a
                        change.
  -o SECONDS, --timeout=SECONDS
                        Socket timeout in seconds. Default is 10.

Options 'station', 'password', and 'api-key' must be supplied either on the
command line, or in the configuration file.

Azioni e opzioni

Le opzioni di wunderfixer sono descritte più dettagliatamente di seguito:

Azione --config

L'utility è piuttosto brava a "indovinare" dove si trova il file di configurazione di Weewx, ma se hai eseguito un'installazione insolita, potresti doverlo dire esplicitamente. Puoi farlo usando l' opzione --config :

wunderfixer --config=/this/directory/weewx.conf

Azione --binding

Specifica l'associazione dati da utilizzare come origine dei dati per i record mancanti da pubblicare in Weather Underground. L'impostazione predefinita è wx_binding . L' opzione --binding viene utilizzata come segue:

wunderfixer --binding=another_binding

Azione --station

L'ID della stazione meteorologica di Weather Underground PWS. Il valore predefinito è la stazione specificata nella sezione [StdRESTful][[Wunderground]] del file di configurazione. L' opzione --station viene utilizzata come segue:

wunderfixer --station=AB123456789

Azione --password

La password corrispondente all'ID della stazione meteorologica. Il valore predefinito è la password specificata nella sezione [StdRESTful][[Wunderground]] del file di configurazione. L' opzione --password viene utilizzata come segue:

wunderfixer --station=AB123456789 --password=difficiledaindovinare

Azione --api-key

La tua chiave API da Weather Underground. Puoi trovare (o generare, se non ne hai una) la tua chiave API su https://www.wunderground.com/member/api-keys . Il valore predefinito è il valore per l'opzione api_key specificato nella sezione [StdRESTful][[Wunderground]] del file di configurazione. L' opzione --api-key viene utilizzata come segue:

wunderfixer --station=AB123456789 --api-key=04255779e9aa45b6e4579938630e67b

Azione --data

Per impostazione predefinita, wunderfixer controlla la data corrente in base alla data-ora del sistema. Utilizzare questa opzione per specificare una data diversa. Questa funzione è utile durante l'esecuzione come cron job. L' opzione --date accetta le date nel formato YYYY-mm-dd . Per esempio:

wunderfixer --date=2016-04-20

Azione --epsilon

A volte i record di Weather Underground possono avere una data-ora leggermente diversa dal timestamp del record come registrato da Weewx. L' opzione --epsilon consente di considerare uguali i timestamp che si trovano all'interno del valore --epsilon secondi l'uno dall'altro. Il valore predefinito è 120 . L' opzione --epsilon viene utilizzata come segue:

wunderfixer --epsilon=60

Azione --upload-only

The Weather Underground memorizzerà i record non più spesso di ogni 5 minuti. Se il tuo intervallo di archiviazione è inferiore a questo (ad esempio, 1 minuto), wunderfixer riporterà molti record "mancanti". Cercare di caricarli sarebbe inutile e richiederebbe larghezza di banda non necessaria, perché la WU li rifiuterebbe. Per questo motivo, per impostazione predefinita, wunderfixer caricherà i record non più frequentemente di ogni 300 secondi (5 minuti). Questa opzione ti consente di sovrascrivere questo. L'opzione viene utilizzata come segue:

wunderfixer --upload-only=60

Se l'intervallo di archiviazione è di 60 secondi, wunderfixer caricherà ogni record, invece di ogni 5 record. NB: purtroppo la WU non li memorizzerà.

Azione --verbose

L'uso dell'opzione --verbose fa sì che wunderfixer mostri utili informazioni aggiuntive durante l'esecuzione. L' opzione --verbose è di scarsa utilità quando wunderfixer viene eseguito come cron job.

Azione --log

L' opzione --log è obsoleta e non ha più alcun effetto, ma viene mantenuta per compatibilità con le versioni precedenti.

Azione --test

L' opzione --test farà in modo che wunderfixer faccia tutto tranne caricare i dati mancanti su Weather Underground. Verranno visualizzate informazioni di riepilogo su tutti i dati mancanti identificati.

Azione --query

L' opzione --query farà sì che wunderfixer richieda la conferma dell'utente prima che ogni record mancante venga caricato su Weather Underground. Quando richiesto, puoi rispondere con y per pubblicare il record, n per saltare il record senza pubblicare, a per pubblicare il record e pubblicare automaticamente tutti gli altri record o q per saltare il record e uscire da wunderfixer . L' opzione --query non dovrebbe essere usata come parte di un cron job.

Azione --timeout

Imposta il tempo di attesa per una risposta da Weather Underground. Nei periodi di utilizzo elevato, potrebbe essere utile aumentare questo valore. L'impostazione predefinita è 10 secondi.

wunderfixer --timeout=20

Eseguire direttamente

Esegui wunderfixer direttamente per pubblicare i dati mancanti per un solo giorno. Questo può essere utile se desideri ripristinare i dati da una breve interruzione della rete o problemi simili che hanno provocato la mancanza di dati Weather Underground. L'esecuzione diretta di wunderfixer è anche un utile esercizio in vista dell'esecuzione come cron job , in quanto consente di verificare il corretto funzionamento prima di automatizzare il processo.

Le seguenti istruzioni pubblicheranno i dati per il giorno corrente per la stazione le cui credenziali appaiono nella sezione [StdRESTful][[Wunderground]] di weewx.conf .

I dati per un'altra stazione o data possono essere pubblicati utilizzando le opzioni --station , --password e --date .

I campi di dati mostrati negli output di esempio riportati di seguito sono solo indicativi e l'output effettivo può includere o meno altri campi.

Per eseguire wunderfixer direttamente:

  1. Prima di pubblicare i dati mancanti per la prima volta, eseguire un test specificando l' opzione --test .
    wunderfixer --test

    Ciò si tradurrà in un output simile al seguente:

    Using configuration file /home/weewx/weewx.conf.
    Using database binding 'wx_binding', which is bound to database 'archive_sqlite'
    2016-09-22 06:30:00 AEST (1474489800); 29.920";  58.9F;  79%; 1.0 mph; 248 deg; 6.0 mph gust;  52.4F; 0.00" rain; 0.01" ... skipped.
    2016-09-22 07:35:00 AEST (1474493700); 29.931";  64.9F;  65%; 2.0 mph; 180 deg; 7.0 mph gust;  52.8F; 0.00" rain; 0.01" ... skipped.
    2016-09-22 07:55:00 AEST (1474494900); 29.934";  65.8F;  63%; 2.0 mph; 180 deg;10.0 mph gust;  52.8F; 0.00" rain; 0.01" ... skipped.
    2016-09-22 08:20:00 AEST (1474496400); 29.938";  66.5F;  59%; 5.0 mph; 180 deg;12.0 mph gust;  51.7F; 0.00" rain; 0.01" ... skipped.

    Questo output indica che quattro record sono mancanti. La parola "skipped" alla fine di ogni riga indica che mentre wunderfixer ha rilevato il record come mancante, il record è stato saltato e non pubblicato su Weather Underground. Se non sono stati trovati record mancanti, non verrà elencato alcun record.

    L'uso dell'opzione --verbose visualizzerà informazioni aggiuntive tra cui la stazione, la data e il numero di record.

  2. Una volta che i risultati del test sono soddisfacenti, pubblicare i record mancanti utilizzando il comando:
    wunderfixer

    Ciò si tradurrà in un output simile al seguente:

    Using configuration file /home/weewx/weewx.conf.
    Using database binding 'wx_binding', which is bound to database 'archive_sqlite'
    2016-09-22 06:30:00 AEST (1474489800); 29.920";  58.9F;  79%; 1.0 mph; 248 deg; 6.0 mph gust;  52.4F; 0.00" rain; 0.01" ... published.
    2016-09-22 07:35:00 AEST (1474493700); 29.931";  64.9F;  65%; 2.0 mph; 180 deg; 7.0 mph gust;  52.8F; 0.00" rain; 0.01" ... published.
    2016-09-22 07:55:00 AEST (1474494900); 29.934";  65.8F;  63%; 2.0 mph; 180 deg;10.0 mph gust;  52.8F; 0.00" rain; 0.01" ... published.
    2016-09-22 08:20:00 AEST (1474496400); 29.938";  66.5F;  59%; 5.0 mph; 180 deg;12.0 mph gust;  51.7F; 0.00" rain; 0.01" ... published.

    Questo output indica che quattro record sono mancanti. Questa volta la parola 'skipped' alla fine di ogni riga è stata sostituita con la parola 'published' che indica che wunderfixer ha pubblicato il record su Weather Underground. Se non sono stati trovati record mancanti, non verrà elencato alcun record.

    Se fosse stata utilizzata l' opzione --query , l'output sarebbe qualcosa del genere:

    Using configuration file /home/weewx/weewx.conf.
    Using database binding 'wx_binding', which is bound to database 'archive_sqlite'
    Weather Underground Station:   ABCDEFGH123
    Date to check:                 2016-09-22
    Number of archive records:     288
    Number of WU records:          284
    Number of missing records:     4
    
    Missing records:
    2016-09-22 06:30:00 AEST (1474489800); 29.920";  58.9F;  79%; 1.0 mph; 248 deg; 6.0 mph gust;  52.4F; 0.00" rain; 0.01" ...fix? (y/n/a/q):y
     ...published.
    2016-09-22 07:35:00 AEST (1474493700); 29.931";  64.9F;  65%; 2.0 mph; 180 deg; 7.0 mph gust;  52.8F; 0.00" rain; 0.01" ...fix? (y/n/a/q):y
     ...published.
    2016-09-22 07:55:00 AEST (1474494900); 29.934";  65.8F;  63%; 2.0 mph; 180 deg;10.0 mph gust;  52.8F; 0.00" rain; 0.01" ...fix? (y/n/a/q):y
     ...published.
    2016-09-22 08:20:00 AEST (1474496400); 29.938";  66.5F;  59%; 5.0 mph; 180 deg;12.0 mph gust;  51.7F; 0.00" rain; 0.01" ...fix? (y/n/a/q):

È possibile che due sessioni wunderfixer per la stessa stazione e la stessa data restituiscano due diverse serie di record mancanti. Questo è un capriccio di Weather Underground e non è motivo di preoccupazione. Se sei preoccupato che non tutti i record mancanti siano stati pubblicati, puoi eseguire nuovamente wunderfixer con le stesse impostazioni. La ripubblicazione di documenti già esistenti su Weather Underground non ha effetti negativi noti.

In esecuzione come cron job

A volte Weather Underground si rifiuta categoricamente di aggiornare le date più vecchie, in genere quelle vecchie di più di un paio di settimane. Per questo motivo è consigliabile eseguire wunderfixer utilizzando un cron job notturno. Per eseguire wunderfixer come cron job notturno:

  1. • Assicurarsi che wunderfixer funzioni come previsto quando viene eseguito direttamente .

    Attenzione che l'esecuzione di wunderfixer con l' opzione --test non utilizza la password della stazione. Quindi assicurati di eseguire almeno una volta senza l' opzione --test per assicurarti che siano stati specificati i parametri corretti della stazione e della password.

  2. • Decidi quanto spesso e quando eseguire wunderfixer . Dato l'uso del giorno da mezzanotte a mezzanotte, può essere prudente eseguire wunderfixer vicino alla mezzanotte della fine della giornata dopo il penultimo record di archivio del giorno (ricorda che l'ultimo record di archivio del giorno è a mezzanotte). Per un'installazione che utilizza un periodo di archiviazione di cinque minuti, questo dovrebbe essere compreso tra le 23:55 e mezzanotte. Inoltre, poiché Weather Underground a volte non aggiorna un record nonostante il "successo" restituito, potrebbe essere consigliabile eseguire wunderfixer più di una volta al giorno. Ai fini di queste istruzioni, imposteremo un cron job per eseguire wunderfixer ogni giorno alle 23:58.
  3. • Crea (se non esiste) o modifica un file crontab usando il seguente comando:
    crontab -e

    Il comando precedente creerà un file crontab per l'utente attualmente connesso. Tutti i comandi nel crontab verranno eseguiti come utente che possiede il crontab. Se l'utente attualmente connesso non dispone delle autorizzazioni adeguate per eseguire wunderfixer , potrebbe essere necessario utilizzare l'utente root crontab utilizzando il comando sudo crontab -e .

    Questo dovrebbe visualizzare un file crontab simile al seguente:

    # Edit this file to introduce tasks to be run by cron.
    #
    # Each task to run has to be defined through a single line
    # indicating with different fields when the task will be run
    # and what command to run for the task
    #
    # To define the time you can provide concrete values for
    # minute (m), hour (h), day of month (dom), month (mon),
    # and day of week (dow) or use '*' in these fields (for 'any').#
    # Notice that tasks will be started based on the cron's system
    # daemon's notion of time and timezones.
    #
    # Output of the crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    #
    # For example, you can run a backup of all your user accounts
    # at 5 a.m every week with:
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
    #
    # For more information see the manual pages of crontab(5) and cron(8)
    #
    # m h  dom mon dow   command
  4. • Per eseguire wunderfixer ogni giorno alle 23:58, inserisci le seguenti righe alla fine del file crontab:
    # Esegui wunderfixer ogni giorno alle 23:58 
    58 23 * * * /home/weewx/bin/wunderfixer --log weewx > /dev/null 2>&1
    

    Il comando precedente esegue wunderfixer ogni notte alle 23:58 e pubblica tutti i record mancanti per il giorno corrente per la stazione le cui credenziali appaiono nella sezione [StdRESTful][[Wunderground]] di weewx.conf . L'output del log di wunderfixer verrà inviato al file di log utilizzato da Weewx. La parte > /dev/null 2>&1 del comando sopprime qualsiasi output dello schermo di wunderfixer reindirizzando qualsiasi output dello schermo e dell'errore al dispositivo null.

  5. • Salva il file crontab ed esci dall'editor.
  6. - wunderfixer verrà ora eseguito tutti i giorni alle 23:58. Per eseguire di nuovo wunderfixer in un momento diverso, crea una nuova voce crontab o modifica la pianificazione della voce esistente per adattarla.
  7. - Verifica che wunderfixer venga eseguito da cron come previsto:
    • - Controlla il registro cron per verificare che wunderfixer sia stato eseguito all'ora prevista. La posizione del registro cron varia a seconda della distribuzione di Linux.
    • - Controlla il registro di wunderfixer per confermare quanti record, se ce ne sono, sono stati caricati su Weather Underground. La posizione del registro di wunderfixer dipenderà dall'opzione --log utilizzata e dalla tua distribuzione di Linux.
    • - Controlla la cronologia meteorologica di Weather Underground per la stazione interessata per assicurarti che eventuali dati mancanti siano stati accettati da Weather Underground.

Affrontare i fallimenti

Weather Underground è noto per una serie di stranezze nel comportamento, questo insieme a una sessione wunderfixer configurata in modo errato o dati di archivio Weewx incompleti può portare a risultati inaspettati quando si utilizza wunderfixer . Di seguito sono descritti in dettaglio alcuni dei problemi e degli errori che possono verificarsi e le possibili soluzioni.

I record aggiornati non vengono visualizzati su Weather Underground

Quello che sembra essere un record pubblicato con successo su Weather Underground potrebbe non apparire nella cronologia della stazione per una serie di motivi. Alcuni di questi motivi includono:

  1. • Weather Underground ha scelto di ignorare il post. In questo caso, usa wunderfixer per pubblicare nuovamente il record mancante.
  2. • Weather Underground non ha ancora aggiornato la cronologia delle stazioni. A volte Weather Underground impiega poco tempo per aggiornare la cronologia delle stazioni. Se il record non appare nella cronologia della stazione entro l'ora successiva, usa wunderfixer per pubblicare nuovamente il record mancante.
  3. • Non esiste un record corrispondente nell'archivio di Weewx. Controlla l'archivio di Weewx per vedere se il record in questione esiste. Se il record non esiste, deve essere ricreato prima che possa essere pubblicato da wunderfixer .
  4. • wunderfixer potrebbe essere stato eseguito con l' opzione --test , controllando solo i record mancanti e non pubblicandoli. In questo caso, eseguire di nuovo wunderfixer senza l' opzione --test .

Dati errati sono stati pubblicati su Weather Underground

Se hai pubblicato dati errati su Weather Underground, c'è poco da fare se non eliminare manualmente i dati di osservazione errati da Weather Underground. Weather Underground consente di modificare i dati di osservazione; tuttavia, l'unica opzione disponibile è eliminare l'osservazione o le osservazioni; non è possibile modificare il valore registrato rispetto a un'osservazione al valore corretto né è possibile eliminare un intero record. Sembra che quando vengono cancellate tutte le osservazioni per un dato record, Weather Underground conservi il record ma senza dati di osservazione. Di conseguenza, il successivo wunderfixer le sessioni che utilizzano i dati corretti non comporteranno la pubblicazione dei dati corretti poiché Weather Underground consente la pubblicazione di nuovi record ma non la ripubblicazione di record esistenti. Per questi motivi dovresti assicurarti che wunderfixer funzioni correttamente con l' opzione --test prima di pubblicare dati mancanti o eseguire wunderfixer come cron job.