I get what you're saying. By training, I am also an earth-scientist
(physical oceanography).

In sqlite, all floating point numbers are stored as a big-endian IEEE
754-2008 64-bit floating point number. Doesn't matter whether it is a nice
"round" number or not ---- they all take the same amount of space.

One can be led astray by the formatting algorithms used by sqlite3. When
you see "61.2", what you're actually seeing is a shorthand for
61.2000000000000, which is just as absurd in its precision claims
as 61.1737982063856. The only difference is that sqlite3 chose to truncate
all those zeros but, inside the computer, they are both first-class, 64 bit
numbers, albeit with slightly different bit patterns. The difference is in
the formatting convention that is used when the number ends in a bunch of
zeroes, versus when it does not.

I would stick with sprintf() and forget about what's inside the computer!

-tk








On Sun, Aug 16, 2020 at 4:48 PM Ken Waters <satwatch...@gmail.com> wrote:

> Tom,
>
> Thanks for your useful response.
>
> Here in the desert (and especially during the southwest monsoon) dewpoints
> are scrutinized carefully for trends showing surface moisture surges.
>
> I write mostly in Python and Perl and do additional analyses such as
> average daily dewpoint (not shown in the standard NOAA-format tables
> produced with Weewx) as well as 24-hour trend charts using SQL calls and
> Gnuplot (example: http://satwatcher.us/wxstation/trend/).  I do use
> standard sprintf calls to format the output but I just always felt it
> strange to have to do that when the temperature was nnn.n format.  Also, as
> a scientist it just rattles me every time I see a number with too many
> significant figures.  :-)  Lastly, I'm interested in the resulting
> reduction of the size of the database file for efficiency.
>
> On a related note, I do see a lot of variation in the dewpoint trace,
> often jumping 1 or 2 degrees back and forth.  As a meteorologist I do
> understand that dewpoint typically has a higher variability than
> temperature but I don't think it's that much, with the sole exception of a
> sudden wind shift or gust of wind.  Now you got me thinking if maybe making
> this change will actually lead to a more stable value for dewpoint.
>
> I will try this change and let you know what happens.
>
> Thanks,
>
> Ken
>
>
> On Sun, Aug 16, 2020 at 4:24 PM Tom Keffer <tkef...@gmail.com> wrote:
>
>> Archive records are what are stored in the database. A Vantage station
>> produces its own archive record (unless record_generation is set to
>> 'software'). However, for whatever reason, Vantage stations do not include
>> dewpoint in the hardware generated record, so WeeWX must calculate it. By
>> default, WeeWX calculates the average dewpoint seen over the archive
>> interval. If dewpoint changes over the interval, the average is not
>> necessarily an even number.
>>
>> One way around this is to have WeeWX calculate the last value seen,
>> instead of the average. Add this to the end of your weewx.conf file:
>>
>> [Accumulator]
>>   [[dewpoint]]
>>     extractor = last
>>
>> Alternatively, what sort of external programs are you writing? Does the
>> language you are using provide a way to format decimal output?
>>
>> -tk
>>
>>
>> On Sun, Aug 16, 2020 at 3:16 PM satwa...@gmail.com <satwatch...@gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> I searched the group for this subject and couldn't find anything so I am
>>> posting.
>>>
>>> I have the Vantage Pro 2, serial interface to Weewx 3.9.2 run on an
>>> Ubuntu server.
>>>
>>> Below is a sample line from the archive database (broke into individual
>>> lines due to width) using the command:
>>>    sqlite3 -header -csv /var/lib/weewx/weewx.sdb "select * from archive;"
>>>
>>> One line from the output:
>>> 1597612740,1,1,29.617,28.0238601652778,29.7814033867068,83.7,*115.4*,
>>> 38.0,18.0,0.0,,1.0,225.0,0.0,0.0,*61.1737982063856*,115.4,
>>> 115.4,0.0,,,,,,,,,,,,,,,,,,,,93.9583333333333,0.0,5.31,,,,,,,,,,
>>>
>>> Note the temperature is reported as 115.4 degs (ugh...this is Arizona).
>>> The dewpoint is reported as 61.1737982063856.  All dewpoint values in the
>>> database have a decimal precision of 13 places, clearly outside the sensor
>>> quality range. The sensor documentation indicates that it provides Relative
>>> Humidity values so apparently the console software derives the dewpoint
>>> value as it can be displayed on the console. I write a lot of external
>>> programs and have to repeatedly reduce the precision for this variable.
>>>
>>> Is there an easy way to modify my Weewx to store only 1 decimal place
>>> for dewpoint or other variables?  I did check /etc/weewx/weewx.conf and
>>> could not find any obvious setting for this.
>>>
>>> Thanks for any assistance,
>>>
>>> Ken
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "weewx-user" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to weewx-user+unsubscr...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/weewx-user/20d1b87c-afd9-4f1c-b00c-88f9011057d8n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/weewx-user/20d1b87c-afd9-4f1c-b00c-88f9011057d8n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "weewx-user" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to weewx-user+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEBuz-FwYAt2z6YT4mZ39WipiBhLny4zwnbd3FZYkRci1Q%40mail.gmail.com
>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEBuz-FwYAt2z6YT4mZ39WipiBhLny4zwnbd3FZYkRci1Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "weewx-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to weewx-user+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-user/CACZLRFphCbvBFDwGJm-ahMaWz%3D9SdXc9LJ6nQdFPqyZ%3DVhm2GQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/weewx-user/CACZLRFphCbvBFDwGJm-ahMaWz%3D9SdXc9LJ6nQdFPqyZ%3DVhm2GQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/CAPq0zEDFWdDtmrG7bjgnw-jp36V59-37ahLc_AQUOSWEojMhNg%40mail.gmail.com.

Reply via email to