Autor Tema: Tutorial: cómo introducir valores iniciales en Meteohub (recuperado)  (Leído 4320 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Ubik

  • Administrator
  • Hero Member
  • ******
  • Mensajes: 1.903
    • Ver Perfil
  • Estación: Villavieja de Yeltes ESCYL3700000037260A
Tutorial original del forero Tervingo, de fecha 05/05/2009



atención: hecha MODIFICACIÓN referente a significado datos sensor Wind  10-jun-09
Introducción

Meteohub es un excelente programa que, funcionando sobre un NLSU2 u otro dispositivo que pueda hacer de servidor pasivo, permite recibir datos de una estación meteorológica automática, procesarlos y enviarlos en los formatos apropiados a páginas web personales o a webs especializadas en meteorología, como Meteoclimatic, Weather Underground, etc.

El problema con el que todos los usuarios de Meteohub nos hemos encontrado, por lo menos hasta la versión existente en el momento de escribir esto (versión 4.2e, abril de 2009), es la de introducir valores iniciales (máximos y mínimos de temperaturas, viento y presión, cantidades acumuladas de lluvia, etc.) registrados por la estación antes de instalar Meteohub. Por el momento, Meteohub no cuenta con ninguna herramienta para hacer esto de una forma fácil e inmediata.
En el foro de Meteoclimatic se han presentado algunas soluciones a este problema (p.ej. utilizando la herramienta de calibración de Meteohub). Este tutorial presenta una solución que es relativamente sencilla y, hasta donde la he probado, parece que funciona correctamente.
En el tutorial se hace referencia a la versión 4.2 de Meteohub, descargada el 9 de abril de 2009 y actualizada con la actualización 4.2e. Se supone que se ha configurado el interfaz de usuario en castellano. Para hacer esto hay que descargar el fichero de idioma spanish-utf.lang desde la zona de desacargas de la web de Meteohub (aquí) y poner este fichero en los directorios public/transfer y public/graphs de nuestro sistema Meteohub y después hay que ir a la pantalla Settings y seleccionar Language->Espanol->Save).

Finalmente, se supone que la estación automática (que en en mi caso es una Oregon Scientific WMR-200, aunque el proceso que se describe a continuación debería funcionar para cualquier estación automática) envía datos desde cuatro sensores:

 
•Temperatura y humedad exterior: identificador de sensor en Meteohub: th0
 
•Temperatura y humedad interior + presión atmosférica: identificador de sensor en Meteohub: thb0
 
•Anemómetro: identificador de sensor en Meteohub: wind0
 
•Pluviómetro: identificador de sensor en Meteohub: rain0



Se supone también que el dispositivo sobre el que Meteohub está instalado (en mi caso particular un NLSU2) es accesible desde un PC (en mi caso con Windows Xp) dentro de la red local a través de un navegador de Internet y que el sistema de ficheros de Meteohub es accesible desde el explorador de ficheros del PC (ver sección siguiente).

Cómo almacena Meteohub la información procedente de la estación

Estructura de directorios

Una vez correctamente instalado y configurado Meteohub, desde el explorador de ficheros del PC de sobremesa conectado a la red local, bajo "Mis sitios de red" deberá aparecer un directorio con el nombre "public en Samba 3.0.23c (Meteohub)". Al hacer click sobre este directorio nos aparecerá una ventana que nos pedirá usuario y contraseña (normalmente "meteohub" y "meteohub") y entonces aparecerá la siguiente estructura de directorios bajo un directorio \Meteohub\public\:



Para este tutorial nos interesa concretamente el directorio weather. Bajo ese directorio se encuentran:

 
•Por una parte, directamente debajo de weather, una serie de ficheros donde Meteohub guarda la información que calcula a partir de los datos que recibe de la estación automática:



 
•Por otra un directorio que tendrá un nombre con el formato AAAAMM, donde AAAA es el año y MM es el mes en que nuestra instalación de Meteohub ha comenzado a funcionar. En mi caso, eso ocurrió el 9 de abril de 2009, y por lo tanto el nombre de ese directorio en mi instalación era 200904.
Debajo de ese directorio hay un fichero llamado raw que es "la madre del cordero" de todo el asunto.



El fichero raw

En el fichero raw del directorio correspondiente al mes y año actual Meteohub va almacenando los datos que va recibiendo constantemente de la estación meteorológica. Es importante tener claro que estos datos son "tal cual" los envía la estación meteorológica y (todavía) no están sometidos a ningún tipo de filtro ni de calibración por parte de Meteohub. Cada línea de este fichero recoge los datos de un sensor en un momento dado. Siempre tienen el mismo formato:

AAAAMMDDHHMMSS ID-SENSOR DATOS-SENSOR, p.ej.

20090419171755 th0 190 46 0071
20090419171759 wind0 270 0 0 0190
20090419171759 rain0 0 0 2012
20090419171803 thb0 228 52 0124 10090 6 10200

donde AAAA es el año (2009), MM es el mes (04), DD es el día (19), HH es la hora (17), MM son los minutos (17-18) y SS son los segundos (55, 59 y 03) de la lectura en cuestión. La hora corresponde a la hora "UTC", que en horario de verano corresponde (en España) a la hora local menos dos horas.

Es importante tener en cuenta que este fichero tiene un formato ANSI de UNIX, es decir que cada línea está terminada con un carácter LF pero NO con un caracter CR que lo acompañe. Si hay que editar ficheros raw existentes o crear ficheros raw nuevos, mi recomendación es utilizar Notepad++, un editor de uso libre que se puede conseguir aquí. El aspecto que debe presentar el fichero cuando se abre con Notepad++ y se selecciona la opción "Ver->Mostrar todos los caracteres" es el siguiente:


 
 
Formato de las entradas para cada sensor

El formato de datos de cada sensor en las líneas de un fichero raw viene explicado en el apéndice C (Appendix C: Format of raw Data) del manual de Meteohub V4.2, que se puede descargar de la web de Meteohub. A continuación se presenta el formato de datos para los 4 sensores que estamos contemplando:

Temperatura y humedad exteriores: th0 TTT HH RRRR (p.ej. th0 190 46 0071)

donde TTT es la temperatura exterior enviada por la estación multiplicada por 10 (en el ejemplo, 19,0º), HH es la humedad realtiva (en el ejemplo, 46%) y RRRR es la temperatura de punto de rocío multiplicada por 10 y con un 0 delante (en el ejemplo, 7,1º).

Temperatura y humedad interiores y presión atmosférica: thb0 TTT HH RRRR PPPPP X MMMMM (p.ej. thb0 228 52 0124 10090 6 10200)

donde TTT es la temperatura interior multiplicada por 10 (en el ejemplo, 22,8º), HH es la humedad relativa (en el ejemplo 52%), RRRR es la temperatura de punto de rocío multiplicada por 10 y con un 0 delante (en el ejemplo 12,4º), PPPPP es el valor absoluto de presión atmosférica detectado por la estación, multiplicado por 10 (en el ejemplo 1.009 hPa), X es un valor de pronóstico [cuya interpretación desconozco] y MMMMM es el valor de presión atmosférica corregido a nivel del mar (en el ejemplo 1.020 hPa).

Anemómetro: wind0 DDD VR VM SSS (p.ej. wind0 270 45 14 0190)  ! velocidad se leerá como (1/10 m/s)

donde DDD es la dirección del viento en grados (en el ejemplo, 270º = W), VR es la velocidad de racha del viento entrada en  factor multp. 10* (el ejemplo indica 4.5 m/s 45 kph), VM es la velocidad media del viento (en el ejemplo, 1.4 m/s 14 kph) y SSS es la temperatura de sensación de frío multiplicada por 10 y con un 0 delante (en el ejemplo, 19º).

Pluviómetro: rain0 TT XX AAAA (p. ej. rain0 0 9 2129)

donde TT y XX son valores que tienen que ver con la tasa de lluvia y acumulados parciales, pero no sé exactamente su significado, mientras que AAAA es el total de lluvia acumulado hasta la fecha en mm. multiplicado por 10 (en el ejemplo, 212,9 mm.).

Proceso de recálculo de datos

Aparte de los complejos cálculos parciales que continuamente va efectuando Meteohub sobre los datos presentes en raw (véase comentarios de Boira y de CalFred en http://forum.meteoclimatic.net/index.php/topic,2708.0.html), existe la posibilidad de forzar a que Meteohub realice un recálculo total de datos. Esto se hace haciendo click en el botón "Recalcular" (a la derecha del rótulo "Histórico de Datos Meteorológicos") desde la pantalla Mantenimiento del panel de control de Meteohub:



Además es conveniente tener en cuenta dos cosas:

•Meteohub efectúa "por su cuenta" recálculos totales en ciertas circunstancias (p.ej. cuando se inserta una nueva calibración sobre algún sensor desde la opción Configuración.)
 
•Cuanto más tiempo haya pasado desde que nuestra instalación de Meteohub ha empezado a funcionar, más tiempo tardará el proceso de recálculo total (desde unos pocos minutos para una instalación de unos pocos días, hasta varias horas en una instalación de meses).

Una vez arrancado el proceso de recálculo, se puede seguir su progresión desde la ventana de Información del Sistema:



¿Qué es lo que hace Meteohub durante el proceso de recálculo? Básicamente, va leyendo los ficheros raw de los subdirectorios mensuales que cuelgan del directorio weather y, en base a los datos de estos ficheros raw, regenera todos los ficheros que cuelgan del directorio weather (hist-alltime, hist-year1, etc.). Durante este proceso hay que tener en cuenta un par de cosas:

•Los ficheros raw se van procesando por orden cronológico de subdirectorio mensual. Es decir, si existen 4 subdirectorios para enero, febrero, marzo y abril (200901, 200902, 200903 y 200904) se leerán primero los datos del fichero raw de 200901, luego los del fichero raw de 200902, luego los de 200903 y finalmente los de 200904.
 
•Los datos extraídos de los ficheros raw se recalculan según las calibraciones que puedan haberse definido en la página Settings. Por ejemplo, si hemos definido una calibración que multiplica la temperatura exterior por 0,95 (f(x) = ax +b, donde a=0,95 y b=0) a partir de 20090420040000 (es decir, a partir de las 04 horas UTC del 20 de abril de 2009), todos los datos de temperatura externa posteriores a esa hora y fecha se guardarán en los ficheros que cuelgan de weather multiplicados por 0,95 (y en consecuencia, será ese valor resultante el que se muestre en los gráficos o se envíe en la plantilla de Meteoclimatic, por ejemplo).

Cómo introducir valores extremos de temperatura, presión y viento

Si lo que queremos es introducir valores extremos de temperatura, presión y/o viento previos a la puesta en marcha de nuestra instalación de Meteohub, y no nos importa que quede registrada la fecha en que ocurrieron, sino tan sólo los valores, lo más fácil es seguir los siguientes pasos:

 
•Debajo del directorio weather crear un subdirectorio que corresponda al mes previo al que nuestro Meteohub ha comenzado a funcionar. Así, si lo ha hecho en abril de 2009, deberemos crear un subdirectorio para marzo de 2009, es decir, con el nombre 200903.
 
•Debajo del subdirectorio que acabamos de crear (../weather/200903/), deberemos crear un fichero nuevo con el nombre raw (lo mejor es usar Notepad++ como editor y crear el fichero con formato ANSI de UNIX).
 
•En este nuevo fichero raw insertaremos las líneas con los valores extremos deseados de los diferentes sensores con un timestamp de una fecha y hora cualesquiera del mes del subdirectorio en que estamos (en este caso marzo).
 
•Una vez hecho esto, deberemos forzar un recálculo total de Meteohub desde la página Mantenimiento, con el botón Recalcular.


Por ejemplo, si queremos introducir los siguientes valores
Temperatura mínima = 0,5º, Humedad máxima 96%, Humedad mínima = 23%, Presión mínima = 995 hPa, Presión máxima = 1024 hPa, Racha máxima de viento = 9.6 m/s, Velocidad media del viento = 2.5 m/s,

podemos insertar las siguientes líneas en el nuevo fichero raw de marzo de 2009:
20090320060000 th0 005 96 001
20090320150000 th0 100 23 050

20090320150100 tbh0 200 50 150 09840 6 09950
20090325150000 tbh0 200 50 150 10170 6 10280
20090325160000 wind0 270 96 25 0150

En el caso de la presión atmosférica, normalmente los valores máximos y/o mínimos que queremos introducir serán los correspondientes a la presión corregida a nivel del mar, que dependerá de la altitud que hayamos introducido en la consola de nuestra estación y son los que figuran en último lugar de la línea: 20090325150000 tbh0 200 50 150 10170 6 10280

Los valores introducidos en las líneas anteriores corresponderán a lecturas "ficticias" tomadas el 20 de marzo de 2009 a las 06:00:00, a las 15:00:00 y a las 15:01:00 y el 25 de marzo de 2009 a las 15:00:00 y las 16:00:00. Es importante tener en cuenta que las horas son UTC, es decir que corresponden a una hora menos (horario de invierno) o a dos horas menos (horario de verano) respecto a nuestra hora local.

Cómo introducir valores acumulados de lluvia

Para introducir acumulados de lluvia, la cosa se complica un poco. Al empezar a registrar datos desde la estación con Meteohub y empezar a enviarlos a páginas web, aplicaciones como weather Display Live o portales de meteorología (como Meteoclimátic) el dato que aparece es que toda la precipitación que nuestra estación ha registrado desde principios de año aparece como caída durante el mes en el que se ha comenzado a trabajar con Meteohub. Lo que hay que hacer para repartir este acumulado anual en acumulados mensuales es ir restando los acumulados parciales mensuales de los acumulados totales que aparecen en los registros del sensor de lluvia (en este caso rain0). Veamos una forma de hacer esto con un ejemplo práctico.

Supongamos que el día que iniciamos Meteohub es un 9 de abril a las 17:00 horas (UTC) y éste registra un acumulado de lluvia total de 205,5 mm (que de momento aparecerán como caídos todos en abril). Si miramos el primer registro rain0 del fichero raw del directorio weather/200904 veremos algo así como esto:

20090409170000 rain0 0 0 2055

Ahora, supongamos que queremos introducir los siguientes acumulados mensuales (son datos ficticios):

Enero de 2009: 30,9 mm
Febrero de 2009: 118,6 mm
Marzo de 2009: 15,8 mm
Abril de 2009 (hasta el día 9): 40,2 mm

Ahora tenemos que seguir los siguientes pasos (se asume que ya se han creado ficheros raw artificiales bajo los subdirectorios weather/200903, weather/200902 y weather/200901):


 
•Restar 40,2 mm del total actual de 205,5 mm y apuntar ese dato (es mejor trabajar siempre con valores de mm x 10): 2055 - 402 = 1653 (165,3 mm)
 
•En el fichero raw de marzo (directorio weather/200903) introducir un registro, p.ej., el día 30 a las 15:00 con ese acumulado parcial: 20090330150000 rain0 0 0 1653
 
•Restar el acumulado de marzo del nuevo acumulado total: 1653 - 158 = 1495 (149,5 mm) e introducir un registro en el fichero raw de marzo para el día 1 de marzo a las 15:00: 20090301150000 rain0 0 0 1495.
 
•En el fichero raw de febrero (directorio weather/200902) introducir un registro, p.ej., el día 28 a las 15:00 con el nuevo acumulado parcial: 20090228150000 rain0 0 0 1495
 
•Restar el acumulado de febrero del nuevo acumulado total: 1495 - 1186 = 309 (30,9 mm) e introducir un registro en el fichero raw de febrero para el día 1 de febrero a las 15:00: 20090201150000 rain0 0 0309 .
 
•En el fichero raw de enero (directorio weather/200901) introducir un registro, p.ej., el día 30 a las 15:00 con el nuevo acumulado parcial: 20090330150000 rain0 0 0 0309
 
•Finalmente introducir un registro en el fichero raw de enero el día 1 de ener con un acumulado de 0: 20090101150000 rain0 0 0 0010 (el valor debería ser 0000, pero cuando lo probé con este valor no funcionó bien. Cuando probé con un valor inicial de 1 mm funcionó correctamente).
 
•En estos últimos pasos hay que ir con cuidado: desde la página de Mantenimiento de Meteohub pulsar sobre el botón Parar (a la derecha del rótulo "Proceso de Adquisición de Datos") para detener el registro de datos.
 
•Editar el fichero raw del mes de abril (que es el "fichero raw activo" donde Meteohub introduce ahora los datos de la estación), buscar el primer registro que haya del sensor rain0 y cambiar el valor final por 1653 (los 205,5 mm acumulados totales actuales menos los 30,9 mm caídos desde que comenzó abril). El primer registro del fichero raw de abril debe quedar como 20090409170000 rain0 0 0 1653. Asegurarse de que haya registros posteriores del sensor rain0 con el valor acumulado total, es decir 20090409170000 rain0 0 0 2055. Salvar el fichero raw de abril.
 
•Desde la página de Mantenimiento de Meteohub pulsar sobre el botón Empezar (a la derecha del rótulo "Proceso de Adquisición de Datos") para reanudar el registro de datos.
 
•Desde la página de Mantenimiento de Meteohub pulsar sobre el botón Recalcular para forzar un recálculo total de Meteohub. Una vez finalizado este proceso (se puede ir siguiendo desde la pantalla Información de Sistema, en la parte inferior) los datos de los ficheros históricos (/weather/hist-alltime, hist-year1, hist-month1, etc.) ya tendrán los valores máximos y mínimos introducidos.
                         
Davis pro2+cumulus+W7+Lenovo
 
Web http://www.meteovillavieja.es