I am sorry, Francis, but I am unable to reproduce this.

I modified a copy of the simulator to emit an out-of-range value for "rain"
randomly about 5% of the time. After letting it run for 40 minutes, I
looked at the database. There was nothing but zeros in both the archive
table and in the daily summaries:

sqlite> select datetime(dateTime, 'unixepoch', 'localtime'), rain, rainRate
from archive;

2025-01-14 16:10:00|0.0|0.0

2025-01-14 16:15:00|0.0|0.0

2025-01-14 16:20:00|0.0|0.0

2025-01-14 16:25:00|0.0|0.0

2025-01-14 16:30:00|0.0|0.0

2025-01-14 16:35:00|0.0|0.0

2025-01-14 16:40:00|0.0|0.0

2025-01-14 16:45:00|0.0|0.0

sqlite> select datetime(dateTime, 'unixepoch', 'localtime'), sum, max from
archive_day_rain;

2025-01-14 00:00:00|0.0|0.0

sqlite> select datetime(dateTime, 'unixepoch', 'localtime'), sum, max from
archive_day_rainRate;

2025-01-14 00:00:00|0.0|0.0

There is something peculiar about your setup, but I don't know what it is.
If you can send me a configuration that reproduces the behavior by using
the simulator, I'm happy to take another look.

-tk

On Mon, Jan 13, 2025 at 8:17 AM Francis Perea <[email protected]>
wrote:

> Hi again Tom,
>
> Definitely not enough with my new StdQC configuration. I still get wrong
> observations into my DB.
>
> Just now I have this in my weewx.conf:
>
> [StdQC]
>
>     [[MinMax]]
>         rain = 0, 10, mm
>         rainRate = 0, 3, mm_per_hour
>
> And I still get messages like these:
> ene 13 16:10:17 meteopi weewxd[193488]: WARNING weewx.qc: 2025-01-13
> 16:10:00 CET (1736781000) Archive value 'rainRate' 4.046533333333339
> outside limits (0.0, 0.11811023609999999)
>
> ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: 2025-01-13
> 17:00:00 CET (1736784000) Archive value 'rain' 0.539 outside limits (0.0,
> 0.3937007874015748)
> ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: Discarding
> observation
> ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: 2025-01-13
> 17:00:00 CET (1736784000) Archive value 'rainRate' 4.399999999999997
> outside limits (0.0, 0.11811023609999999)
> ene 13 17:00:17 meteopi weewxd[193488]: WARNING weewx.qc: Discarding
> observation
>
> Which generate these values into my DB:
>
> dateTime               rain
>  rainRate
> 1736781000 0.09899999999999998 3.079999999999999
> 1736784000 NULL                                 4.3119999999999985
>
> It seems that the rainRate filter is not correct or not filtering.
>
> Any clue?
>
> Thanks once again for your help.
>
>
> El domingo, 12 de enero de 2025 a las 18:51:15 UTC+1, Francis Perea
> escribió:
>
>> Hi Tom,
>>
>> I get what you mean. I have been making all kind of tests to avoid wrong
>> observations to get into the data base and I even think I began setting
>> min-max values for rainRate, but I'll try again.
>>
>> What I get from your excellent explanation is that I should try to filter
>> rainRate, not rain, and see if that keeps "pollution" out of the DB, isn't
>> it?
>>
>> I think I'll use this:
>>
>> rainRate = 0, 3
>>
>> Do you think it would be enough? Or would you suggest me any other way of
>> filtering? Do you think I should also try to modify the rain_period
>> parameter from its default 1800 seconds?
>>
>> Regarding the [[RainRate]] section you see in my config, I've to be
>> honest and say that because of my desperation I even asked ChatGPT how to
>> proceed and this is what he propossed. I have already removed it.
>>
>> Thanks again for your support and patience.
>>
>>
>> El sábado, 11 de enero de 2025 a las 23:56:00 UTC+1, Tom Keffer escribió:
>>
>>> It looks like the field "rain" was nulled out (otherwise, it would be
>>> 0.0, not NULL), so no bug.
>>>
>>> The field rainRate is not null, *however* the fields "rain" and
>>> "rainRate" are completely different. The former represents the amount of
>>> rain that fell, the latter how fast it fell. The field rainRate may be
>>> emitted from your device, in which case, by default, WeeWX uses that value.
>>> I suspect your byows hardware does not do this, so WeeWX will calculate it
>>> using a *running average* over 15 minutes. So, if you get a bad rain
>>> value, it will continue to "pollute" the rainRate value for up to 15
>>> minutes afterwards. You need to filter rainRate as well, or set its running
>>> average window, given by option rain_period
>>> <https://www.weewx.com/docs/5.1/reference/weewx-options/stdwxcalculate/#rainrater>,
>>> to something shorter.
>>>
>>> [StdQC]
>>>>
>>>
>>>>
>>>>     [[RainRate]]
>>>>         min = 0
>>>>         max = 3
>>>>         min_delta = 0
>>>>         max_delta = 3
>>>>         reject = True
>>>>
>>>
>>> I don't know what any of this is. Did you write an addition to StdQC? If
>>> so, you're going to have to debug it!
>>>
>>> -tk
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "weewx-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/weewx-development/91ec157e-5f06-406b-8c16-f55fb40cd694n%40googlegroups.com
> <https://groups.google.com/d/msgid/weewx-development/91ec157e-5f06-406b-8c16-f55fb40cd694n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-development/CAPq0zEBXUQbRRtnjRExTTpMmDdD7atfjL_Z7Pz%3D7fbDTda2H0A%40mail.gmail.com.

Reply via email to