Software > WeeWX
Tema para especialistas en BBDD weewx
jmviper:
Weewx guarda los datos que graba en cada generación en la tabla archive y los diarios de cada valor en sus tablas archive_day_valor (archive_day_rain por ejemplo)
Que se modifique una no significa que se modifique la otra por lo que si en la tabla archive modificamos valores de temperatura máxima o de lluvia por ejemplo éstos no se van a cambiar en su tabla diaria correspondiente... tendríamos que hacerlo manualmente.
La utilidad wee_database de weewx tiene dos funciones para manejar esto. wee_database --drop-daily borra todas las tablas diarias y para reconstruirlas se hace con wee_database --rebuild-daily.
--drop-daily no suele usarse y para modificar los diarios si solo modificamos un día o varios wee_database --rebuild-daily acepta periodos de fechas para reconstruir.
Más info como siempre en la documentación de weewx:
http://www.weewx.com/docs/utilities.htm#Action_--rebuild-daily
miguelru:
Voy ha cambiar próximamente la estación PCE FWS-20, funcionando desde 2015 por una Ecowitt que ya tengo en pruebas y sin problemas. Pero quería aprovechar para cambiar el horario a UTC, aprovechando la base de datos anterior.
Me dijeron, tiempo atrás, que no había ningún problema pues se graba siempre en horario Epoch. Pero yo si encuentro un problema. Weewx genera el registro del día a las 00:00 que con horario local son las 22:00 UTC.
Al poner en marcha weewx con hora UTC a partir de la base datos anterior (se genero en horario Local) provoca que en los NOAA aparezcan registros desde un día antes por los registros a las 22:00 UTC y todos los registros los desplaza un día. Supongo que con datos de lluvia u otros en ese rango de 22:00 a 00:00 cambian los totales diarios.
Lo que me preocupa es que al enviar y cotejar las plantillas no cuadrarán con los datos registrados en Meteoclimatic y tendré miles de inconsistencias. Por que no creo que activando simplemente la pestaña de envío en horario UTC, en mi ficha de estación en Meteoclimatic haga que se adapten los datos registrados desde 2015 y cuadren con la plantilla actual sin generar inconsistencias.
No sé si tiene arreglo mas o menos asumible, si alguien lo ha hecho. Mi nivel en BB.DD. es bajo. ¿Mejor la dejo en horario local para siempre?
Saludos.
PD. He releído hilos y la guía de weewx sobre base de datos sin encontrar respuesta.
jantoni:
Bueno, no acabo de entender muy bien el problema.
Veamos. La base de datos está siempre, como dices, en formato epoch, por lo que podernos asumir que es UTC, aunque no lo es al 100%
Modificar el tiempo epoch, es fácil, le sumas a cada registro los segundos que correspondan, una o dos horas. Cambiar registros en SQL es sencillo.
Ahora bien, una cosa es que sea sencillo, y otra cosa es que cambiar una base de datos con miles, o decenas de miles de registros, y cada uno con un "offset" diferente, una o dos horas, no sea tarea de mucho, muchísimo tiempo.
Bueno, en realidad sólo hay que calcular el epoch de los cambios de hora y hacer cambios de registros selectivos.
Pero..... Es meterse en un berenjenal muy gordo *+* *+* *+*
Por meteoclimatic no ese problema, o no lo es tanto
Y ello es porque a meteoclimatic, solo se le informa, en la plantilla de los datos actuales, diarios, mensuales y anuales
Por tanto, solo podría tener inconsistencias en el mes actual y en el año actual.
Nada que no podrías corregir fácilmente, pues estamos a mediados de mes y a primeros de año.
La verdad es que nunca me había planteado el problema. Desde el principio de los principios, siempre he manejado el día con formato UTC y todos mis ordenadores estén en formato UTC, salvo el mierda Windows.
Espero haberte ayudado.....a pesar de que no he dicho nada *+*
jmviper:
Veamos, puntualizaciones....si pones weewx en UTC te generará informes, reseteo de máx/mín etc a la 1:00 hora local (0:00 UTC), en horario de verano a las 2:00 hora local.
La gran ventaja de weewx como decís es que los registros de la tabla archive los guarda en epoch, así no pierde ninguno en los cambios de fecha y genera informes, reseteos y demás cosas covirtiéndolos a la zona horaria que tengamos en el sistema.
Siempre, como he explicado en el mensaje anterior de más arriba, se pueden reconstruir las tablas diarias con wee_database --rebuild-daily desde cuando se quieran cambiar como es tu caso. Por ejemplo wee_database --rebuild-daily --from=2021-01-01 recrearía las tablas de diarios con el nuevo horario.
Como siempre las pruebas mejor hacerlas haciendo copia de seguridad de la base de datos antes.
Y como siempre digo menos mal que no vivimos en China por ejemplo. Si allí pones horario UTC la lluvia del día sería la recogida desde las 7 de la mañana hasta las 7 de la mañana del día siguiente, nada que ver con la habría caído en el día local aparte de máximas mínimas de temperatura etc
Aquí con una hora de diferencia en invierno y dos en verano es poca la diferencia pero haberla hayla....por mi parte lo tengo claro y es lo que me gusta de weewx... registros en epoch y generaciones de días en local.
jantoni:
Anda mira
Eso no lo sabía. Será porque no he tenido que tocar la base de datos más que una o dos veces....y era cuando estaba con la PCE antigua......aunque creo que era cuando usaba Wview.....
Una magnífica utilidad.
Gracias máster.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa