Hello gjr80,
sorry for my late reply, it has been a busy week, and thanks for got tested
my data.
I was unable to dig out something useful from logs: we can consider them as
gone.
Anyway: checking my `/etc/weewx/weewx.conf` I remembered I have this
configuration:
[StdWXCalculate]
[[Calculations]]
pressure = hardware
altimeter = hardware
appTemp = prefer_hardware
barometer = prefer_hardware
cloudbase = prefer_hardware
dewpoint = hardware
ET = prefer_hardware
heatindex = hardware
humidex = prefer_hardware
inDewpoint = prefer_hardware
maxSolarRad = prefer_hardware
rainRate = prefer_hardware
windchill = hardware
windrun = prefer_hardware
so I'd bet the reason is that one.
The reason I have such configuration is because I have a Vantage VUE, and
I've chosen `loop_request=3` (i.e. alternate between LOOP1 and LOOP2) and
in that case the configuration above is suggested in the documentation:
https://www.weewx.com/docs/usersguide.htm#[Vantage]
I didn't think about it when I imported my data.
So, is there a way, now, to fix and recalculate those missing values, or I
have to
1. stop weewx
2. remove previously imported records from database
3. change the [StdWXCalculate] -> [[Calculations]] setting everything
to `prefer_hardware`
4. re-run the whole import process
5. restore everything as before
?
Thanks!
Il giorno martedì 9 agosto 2022 alle 13:58:44 UTC+2 gjr80 ha scritto:
> Sorry for the delay, I wanted to run your data and import config through
> wee_import before replying.
>
> I ran your data and import config through wee_import and the data was
> imported successfully and dewpoint, windchill and heatindex calculated
> correctly. altimeter and pressure were not calculated; the reason is a
> little complicated. Provided one of the pressures (altimeter, barometer
> or pressure) is present WeeWX can calculate the other two; however, when
> only altimeter or barometer is present pressure must be calculated first
> and pressure requires temperature from 12 hours earlier. In my case I did
> not have temperature from 12 hours earlier so pressure was not
> calculated. When calculating altimeter (or barometer) pressure must exist
> (hence why pressure is calculated first) so in my case altimeter could
> not be calculated either. In a typical import where temperature 12 hours
> ago is missing from the first 12 hours of import data you often see 12
> hours of two missing pressures before all three are calculated once the
> temperature 12 hours ago kicks in. I digress.
>
> I guess the next thing is to find your log entries. You are looking for
> whatever log file WeeWX logs to. That may be /var/log/syslog or perhaps
> /var/log/messages unless you have explicitly changed it. If using a RPi
> it will likely be /var/log/syslog. The wiki page where are my logs?
> <https://github.com/weewx/weewx/wiki/faq-where-are-my-logs> may help. If
> WeeWX is running the log should be very easily spotted as the most recent
> log file (whichever name it is) will contain clearly labelled WeeWX log
> entries. The wee_import entries will be clearly labelled as such, you
> should be looking for something like this:
>
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO __main__: Starting
> wee_import...
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.csvimport: A CSV
> import from source file '/var/tmp/test_data.csv' has been requested.
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.csvimport: Using
> database binding 'wx_binding', which is bound to database 'weewx.sdb'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.csvimport:
> Destination table 'archive' unit system is '0x01' (US).
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.csvimport:
> Missing derived observations will be calculated.
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.csvimport: All
> WeeWX UV fields will be set to None.
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.csvimport: All
> WeeWX radiation fields will be set to None.
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Obtaining raw import data for period 1 ...
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport: The
> following imported field-to-WeeWX field map will be used:
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'dateTime' in units 'unix_epoch' --> WeeWX field 'dateTime'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'barometer' in units 'hPa' --> WeeWX field 'barometer'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'insideTemp' in units 'degree_C' --> WeeWX field 'inTemp'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'outsideTemp' in units 'degree_C' --> WeeWX field 'outTemp'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'insideHum' in units 'percent' --> WeeWX field 'inHumidity'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'outsideHum' in units 'percent' --> WeeWX field 'outHumidity'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'windSpeed' in units 'km_per_hour' --> WeeWX field
> 'windSpeed'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'windDirection' in units 'degree_compass' --> WeeWX field
> 'windDir'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'hiWindSpeed' in units 'km_per_hour' --> WeeWX field
> 'windGust'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'hiWindDirection' in units 'degree_compass' --> WeeWX field
> 'windGustDir'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'hiRainRate' in units 'mm_per_hour' --> WeeWX field
> 'rainRate'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> source field 'rain' in units 'mm' --> WeeWX field 'rain'
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport: Raw
> import data read successfully for period 1.
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Mapping raw import data for period 1 ...
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Mapped 5 records.
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport: Raw
> import data mapped successfully for period 1.
> Aug 9 21:50:03 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Saving mapped data to archive for period 1 ...
> Aug 9 21:50:05 bullseye4 wee_import[1156] ERROR weewx.manager: Unable to
> add record 2021-08-01 00:01:00 AEST (1627740060) to database 'weewx.sdb':
> UNIQUE constraint failed: archive.dateTime
> Aug 9 21:50:05 bullseye4 wee_import[1156] ERROR weewx.manager: Unable to
> add record 2021-08-01 00:02:00 AEST (1627740120) to database 'weewx.sdb':
> UNIQUE constraint failed: archive.dateTime
> Aug 9 21:50:05 bullseye4 wee_import[1156] ERROR weewx.manager: Unable to
> add record 2021-08-01 00:03:00 AEST (1627740180) to database 'weewx.sdb':
> UNIQUE constraint failed: archive.dateTime
> Aug 9 21:50:05 bullseye4 wee_import[1156] ERROR weewx.manager: Unable to
> add record 2021-08-01 00:04:00 AEST (1627740240) to database 'weewx.sdb':
> UNIQUE constraint failed: archive.dateTime
> Aug 9 21:50:05 bullseye4 wee_import[1156] ERROR weewx.manager: Unable to
> add record 2021-08-01 00:05:00 AEST (1627740300) to database 'weewx.sdb':
> UNIQUE constraint failed: archive.dateTime
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Mapped data saved to archive successfully for period 1.
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Calculating missing derived observations ...
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.engine: StdConvert
> target unit is 0x1
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.wxservices:
> StdWXCalculate will use data binding wx_binding
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.engine: Archive will
> use data binding wx_binding
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.engine: Record
> generation will be attempted in 'hardware'
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.engine: Using
> archive interval of 60 seconds (specified by hardware)
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.restx:
> StationRegistry: Registration not requested.
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.restx: Wunderground:
> Posting not enabled.
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.restx: PWSweather:
> Posting not enabled.
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.restx: CWOP: Posting
> not enabled.
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.restx: WOW: Posting
> not enabled.
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.restx: AWEKAS:
> Posting not enabled.
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.engine: 'pyephem'
> detected, extended almanac data is available
> Aug 9 21:50:05 bullseye4 wee_import[1156] INFO weewx.wxservices:
> StdWXCalculate will use data binding wx_binding
> Aug 9 21:50:06 bullseye4 wee_import[1156] INFO weewx.manager: Starting
> backfill of daily summaries
> Aug 9 21:50:06 bullseye4 wee_import[1156] INFO weewx.manager: Processed 5
> records to backfill 1 day summaries in 0.01 seconds
> Aug 9 21:50:06 bullseye4 wee_import[1156] INFO weecfg.database: Processed
> 1 day consisting of 5 records. 1 day consisting of 5 records were updated
> in 0.04 seconds.
> Aug 9 21:50:06 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Finished calculating missing derived observations
> Aug 9 21:50:06 bullseye4 wee_import[1156] INFO weeimport.weeimport:
> Finished import
> Aug 9 21:50:06 bullseye4 wee_import[1156] INFO weeimport.weeimport: 5
> records were processed and 5 unique records imported in 2.45 seconds.
>
> (Note in this case the error lines are due to there already being records
> with the imported data timestamps in the archive) Please post all of the
> import logs, don't leave anything out.
>
> Gary
>
> On Monday, 8 August 2022 at 02:50:21 UTC+10 [email protected] wrote:
>
>> Thanks for your answer.
>> The two conditions you listed are satisfied: the necessary other values
>> are present in my csv, and no records were already existing for such period
>> in the database.
>>
>> Answering your questions:
>>
>> - Those are my data (a sample):
>> CSV data (more fields than used in the import process are present)
>>
>> dateTime,outsideTemp,hiOutsideTemp,lowOutsideTemp,outsideHum,windSpeed,windDirection,hiWindSpeed,hiWindDirection,barometer,rain,hiRainRate,insideTemp,insideHum,numWindSamples,archiveInterval
>>
>>
>> 2021-08-01T00:01,27.61,27.61,27.61,60.0,1.61,SW,3.22,SW,1006.30,0.00,0.00,30.33,49.0,22,1
>>
>>
>> 2021-08-01T00:02,27.56,27.61,27.56,60.0,1.61,W,1.61,SW,1006.16,0.00,0.00,30.33,49.0,24,1
>>
>>
>> 2021-08-01T00:03,27.50,27.56,27.50,60.0,1.61,W,1.61,W,1006.27,0.00,0.00,30.33,49.0,23,1
>>
>>
>> 2021-08-01T00:04,27.50,27.50,27.50,60.0,0.00,SW,3.22,SW,1006.33,0.00,0.00,30.33,49.0,22,1
>>
>>
>> 2021-08-01T00:05,27.50,27.50,27.50,60.0,3.22,WSW,4.83,WSW,1006.37,0.00,0.00,30.33,49.0,24,1
>>
>> Resulting db records (extracted querying the `archive`. I here
>> removed all null values for reading convenience)
>>
>> dateTime,usUnits,interval,appTemp,barometer,cloudbase,humidex,inDewpoint,inHumidity,inTemp,outHumidity,outTemp,rain,rainRate,windDir,windGust,windGustDir,windrun,windSpeed
>>
>>
>> 1627768860,16,1,30.5895137231874,1006.3,1167.77458102164,34.4779454220626,18.4017421866142,49,30.33,60,27.61,0,0,225,3.22,225,0.0268333333333333,1.61
>>
>>
>> 1627768920,16,1,30.5182757269146,1006.16,1167.3911940789,34.3910793180734,18.4017421866142,49,30.33,60,27.56,0,0,270,1.61,225,0.0268333333333333,1.61
>>
>>
>> 1627768980,16,1,30.4328612401526,1006.27,1166.93122058363,34.286968264113,18.4017421866142,49,30.33,60,27.5,0,0,270,1.61,270,0.0268333333333333,1.61
>>
>>
>> 1627769040,16,1,30.7459167959586,1006.33,1166.93122058363,34.286968264113,18.4017421866142,49,30.33,60,27.5,0,0,,3.22,225,0,0
>>
>>
>> 1627769100,16,1,30.1198056843466,1006.37,1166.93122058363,34.286968264113,18.4017421866142,49,30.33,60,27.5,0,0,247.5,4.83,247.5,0.0536666666666667,3.22
>>
>> - No data were already present for that period
>> - I checked resulting records by querying the database directly
>> - The query I ran (for the sample): SELECT * FROM archive WHERE dateTime
>> >= 1627768860 and dateTime < 1627769160 ORDER BY dateTime
>> - I imported data few weeks ago, so I cannot exactly say what the output
>> of the import command was, but - as I can remember - nothing remarkable was
>> printed out. I noticed just now that some fields are missing. Can I still
>> check those logs? how to?
>>
>> Thanks,
>> Andrea
>> Il giorno domenica 7 agosto 2022 alle 02:09:20 UTC+2 gjr80 ha scritto:
>>
>>> Your import config file is fine and provided a couple of conditions were
>>> met the missing fields should have been calculated. The two conditions are
>>> (1) any pre-requisites for calculating the fields concerned must exist, for
>>> example for heatindex, windchill and dewpoint you must have a non-None
>>> outTemp value. If a pre-requisite is missing the calculated value will
>>> be None. (2) Even if the calculated values were calculated there must be no
>>> record already existing in the archive with the same timestamp as the
>>> record being imported. If such a record already exists in the archive the
>>> imported record is discarded in it's entirety (not just the calculated
>>> fields). So if these conditions were met your imported data including
>>> calculated fields should have been imported and saved to archive, if they
>>> were not imported then something went wrong.
>>>
>>> A few questions to try to narrow down the cause. What does your data
>>> look like? Can you post some of the records here or if you don't want to
>>> can you reply privately to this post with your raw import data. Did records
>>> already exist in your archive for the period covered by the data you were
>>> importing? How did you check the imported data? Did you query the database
>>> archive table directly or rely on WeeWX generated output? If the former
>>> what command did you use and what results were presented? Did the other
>>> non-calculated fields import correctly? What was presented on-screen when
>>> you ran wee_import? Were there any errors or warnings? wee-import will
>>> have written some entries to the log at the time of the import, they should
>>> be clearly evident with a 'wee_import' label, what do these entries say?
>>>
>>> Gary
>>>
>>> On Sunday, 7 August 2022 at 00:23:31 UTC+10 [email protected] wrote:
>>>
>>>> I imported ~1 year of data from csv, using this `import.conf`
>>>> configuration:
>>>> source = CSV
>>>> [CSV]
>>>> file = my-data.csv
>>>> interval = 1
>>>> qc = True
>>>> calc_missing = True
>>>> ignore_invalid_data = True
>>>> tranche = 250
>>>> UV_sensor = False
>>>> solar_sensor = False
>>>> raw_datetime_format = %Y-%m-%dT%H:%M
>>>> rain = discrete
>>>> wind_direction = 0,360
>>>> [[FieldMap]]
>>>> dateTime = dateTime, unix_epoch
>>>> usUnits =
>>>> interval =
>>>> barometer = barometer, hPa
>>>> pressure =
>>>> altimeter =
>>>> inTemp = insideTemp, degree_C
>>>> outTemp = outsideTemp, degree_C
>>>> inHumidity = insideHum, percent
>>>> outHumidity = outsideHum, percent
>>>> windSpeed = windSpeed, km_per_hour
>>>> windDir = windDirection, degree_compass
>>>> windGust = hiWindSpeed, km_per_hour
>>>> windGustDir = hiWindDirection, degree_compass
>>>> rainRate = hiRainRate, mm_per_hour
>>>> rain = rain, mm
>>>> dewpoint =
>>>> windchill =
>>>> heatindex =
>>>> ET =
>>>> radiation =
>>>> UV =
>>>>
>>>> What I expected was that the following fields would have been
>>>> calculated, starting from the other available fields:
>>>> altimeter
>>>> dewpoint
>>>> heatindex
>>>> pressure
>>>> windchill
>>>> But in the `archive` table, those columns are empty.
>>>>
>>>> Did I do something wrong, or is the behavior correct? So I cannot have
>>>> such fields calculated...?
>>>>
>>>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/f020a682-cc40-4d44-886c-2317c5396378n%40googlegroups.com.