Gary

Thanks for looking into the issue.  Not in the area right now but later 
this evening will check out the datebase.

Thanks
Rich

On Monday, January 29, 2018 at 7:21:32 AM UTC-5, gjr80 wrote:

> Rich,
>
> I sat down and imported the Sep17 log you posted under weeWX 3.8.0 and it 
> imported 3877 records without any error. The Cumulus monthly log file uses 
> a fixed format date and time fields as the first 2 fields of the line; the 
> formats are d/m/Y and H:M:S and this is hard coded into wee_import so 
> there is nothing that could be set incorrectly d/m wise.
>
> In terms of the date-time order of what is being imported, wee_import 
> orders the Cumulus logs in oldest to newest order and then proceeds to work 
> throught each file from oldest to newest importing all data in each file 
> (which happens to be in oldest to newest order as well). wee_import 
> processes the imported records in tranches, nominally 250 records per 
> tranche. I don't see any way that data could be processed twice during an 
> import (it can certainly be processed twice if you import it twice but not 
> if you only import it once). All told I don't see how any of this could 
> have caused the errors you received. All in all I am at a bit of a loss.
>
> I am wondering if somehow some of your data found its way into your 
> archive. Could I ask you to do a little interrogating of your archive? 
> Given there were issues with the September 2017 data and that you posted 
> the September 2017 log file lets have a look at that month. I'm assuming 
> you are using SQLite and you database is /home/weewx/archive/weewx.sdb, 
> open your archive with SQLite3:
>
> $ sqlite3 /home/weewx/archive/weewx.sdb
> sqlite>
>
> Check how many records are in the month of Spetember 2017:
>
> sqlite> SELECT COUNT(dateTime) FROM archive WHERE 
> dateTime>=strftime('%s','2017-09-01 
> 00:00:00', 'utc') AND dateTime<strftime('%s','2017-10-01 00:00:00', 'utc'
> );
>
> That should return a number, there are 8377 valid records in your 
> September 2017 monthly log file so if the answer is 8377 you have almost a 
> full month of data (there were a few records missing 30*288=8640). Assuming 
> there is almost full month of data in you archive lets pick a record from a 
> period that was not imported, say 20 September 2017 13:55 and see what it 
> holds:
>
> sqlite> SELECT outTemp, outHumidity, dewpoint FROM archive WHERE dateTime=
> strftime('%s','2017-09-20 13:55:00', 'utc');
> 82.2|55.0|64.4
>
> outTemp, outHumidity and dewpoint are the 3rd, 4th and 5th fields on each 
> line so easy to check. On your imported data I get 82.5F, 55.0% and 64.4F, 
> how does that compare with your results? If the same I strongly suspect 
> your data was somehow imported beforehand, you can check further 
> records/obs by changing the fields and date/time in the above query. If 
> your results don't agree it looks like you have some bogus data somehow. If 
> you have bogus data then I guess the only solution is to delete it and 
> re-import. That is easy to do for just one month, happy to give you the SQL 
> separately if required. I guess if your results agree with what's in you 
> monthly log file then you need to make a decision whether you trust  you 
> have all of the correct data or not (do you look at other months/days/times 
> - there is a lot to look at), if you trust it then not much else to do but 
> continue importing your older data (I would import one month at a time and 
> check that there is no data in your archive for that month before you 
> import it, do the month import and see if it all imported OK or of you have 
> more errors, generally easier to pick uon on and fix an issue this way then 
> doing a multi-year import and then having mountains to deal with.).
>
> One other thing you can check, the logs. After a wee_import run you 
> should have a summary written to log (unless you specifically turn it off), 
> I received something like:
>
> Jan 29 21:05:39 stretch22 wee_import[1256]: manager: Added record 2017-09-
> 30 23:55:00 AEST (1506779700) to database 'weewx.sdb'
> Jan 29 21:05:39 stretch22 wee_import[1256]: manager: Added record 2017-09-
> 30 23:55:00 AEST (1506779700) to daily summary in 'weewx.sdb'
> Jan 29 21:05:39 stretch22 wee_import[1256]: wee_import: Mapped data saved 
> to archive successfully for period 1.
> Jan 29 21:05:39 stretch22 wee_import[1256]: wee_import: Finished import. 
> 8377 raw records resulted in 8377 unique records being processed in 25.55 
> seconds.
>
> when I imported your September data. Worthwhile having at look at the 
> numbers to see how many duplicates you had (there were none for the above 
> import), should give an idea of the extent of the issue though not much 
> other help.
>
> One final thing, if you do do any more imports keep a copy of the screen 
> output, it should be providing progress on what wee_import is doing as 
> well as the log.
>
> Gary
>
> On Monday, 29 January 2018 06:27:04 UTC+10, gjr80 wrote:
>>
>> I did see the first couple of posts this morning but it was way too early 
>> and I needed to get going. I will have a look later when home again, but my 
>> first thoughts were that
>>
>> manager: Unable to add record 2017-11-15 00:00:00 EST (1512018000) to 
>> database 'weewx.sdb': UNIQUE constraint failed: archive.dateTime
>>
>> indicates that a record of that timestamp already exists in the archive. 
>> I guess DD/MM MM/DD could cause this but if the date format is consistent 
>> across all source records/files it shouldn't.
>>
>> As for order of import, I thought wee_import ordered the Cumulus monthly 
>> log files from oldest to newest, though I suspect it would not take too 
>> much to upset this, it is only a rudimentary check/order based on file 
>> name. But as you say rebuilding the daily summaries will fix this.
>>
>> Gary
>>
>>

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to