Every archive record in the database stores what unit system it's in. Unit system '17' is the METRICWX system.
In the interest of efficiency, WeeWX does not allow you to change the unit system in the database. Whatever unit system you start with, you have to stick with. Unfortunately, some record in your database has unit system '64', which is different from 17, thus triggering the error. Furthermore, unit system 64 does not exist --- further evidence that your database has been corrupted. Nothing to do with numpy or what version of Python you are using. As I said, put your efforts into salvaging what you can from the database. I'd start with dumping the file (looks like you've already done that), then cleaning it up, then restoring to a new database on a new SD card. Don't worry about data gaps --- WeeWX can handle those. -tk On Thu, Oct 31, 2019 at 8:26 AM Dave, G1OGY <[email protected]> wrote: > > > On Thursday, 31 October 2019 14:29:37 UTC, vince wrote: >> >> On Thursday, October 31, 2019 at 6:41:04 AM UTC-7, Thomas Keffer wrote: >>> >>> Just do sensible backups >>> >> >> I'm a bit surprised to hear a pi3 corrupted a SD card. I've seen that a >> lot on model-B in years past but not for several years myself here. I've >> never corrupted a card on a pi3 or pi3+ or pi4. >> >> The card is fine Vince. Runs `stretch` and anything - including weewx ! > > this was the error print prior to stopping the system and examining the DB: > > Oct 31 10:25:15 raspberrypi4 weewx[6183]: manager: Added record 2019-10-31 > 10:25:00 GMT (1572517500) to database 'weewx.sdb' > Oct 31 10:25:15 raspberrypi4 weewx[6183]: manager: Added record 2019-10-31 > 10:25:00 GMT (1572517500) to daily summary in 'weewx.sdb' > Oct 31 10:25:21 raspberrypi4 weewx[6183]: reportengine: Caught > unrecoverable exception in generator 'weewx.imagegenerator.ImageGenerator' > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** database disk > image is malformed > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** Traceback (most > recent call last): > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/reportengine.py", line 204, in run > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** obj.start() > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/reportengine.py", line 300, in start > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** self.run() > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/imagegenerator.py", line 32, in run > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** > self.genImages(self.gen_ts) > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/imagegenerator.py", line 166, in genImages > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** > aggregate_interval=aggregate_interval) > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/manager.py", line 513, in getSqlVectors > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** > aggregate_type, aggregate_interval) > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/manager.py", line 761, in _getSqlVectors > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** > _cursor.execute(sql_str, stamp) > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weedb/sqlite.py", line 29, in guarded_fn > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** return > fn(*args, **kwargs) > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weedb/sqlite.py", line 211, in execute > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** return > sqlite3.Cursor.execute(self, *args, **kwargs) > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** DatabaseError: > database disk image is malformed > Oct 31 10:25:21 raspberrypi4 weewx[6183]: **** Generator > terminated > Oct 31 10:25:21 raspberrypi4 weewx[6183]: copygenerator: copied 5 files to > /var/www/html/weewx > Oct 31 10:25:21 raspberrypi4 weewx[6183]: imagegenerator: Generated 6 > images for SmartphoneReport in 0.44 seconds > Oct 31 10:25:21 raspberrypi4 weewx[6183]: copygenerator: copied 6 files to > /var/www/html/weewx/smartphone > Oct 31 10:30:35 raspberrypi4 weewx[6183]: manager: Added record 2019-10-31 > 10:30:00 GMT (1572517800) to database 'weewx.sdb' > Oct 31 10:30:35 raspberrypi4 weewx[6183]: manager: Added record 2019-10-31 > 10:30:00 GMT (1572517800) to daily summary in 'weewx.sdb' > Oct 31 10:30:42 raspberrypi4 weewx[6183]: reportengine: Caught > unrecoverable exception in generator 'weewx.imagegenerator.ImageGenerator' > Oct 31 10:30:42 raspberrypi4 weewx[6183]: **** database disk > image is malformed > Oct 31 10:30:42 raspberrypi4 weewx[6183]: **** Traceback (most > recent call last): > Oct 31 10:30:42 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/reportengine.py", line 204, in run > Oct 31 10:30:42 raspberrypi4 weewx[6183]: **** obj.start() > Oct 31 10:30:42 raspberrypi4 weewx[6183]: **** File > "/home/weewx/bin/weewx/reportengine.py", line 300, in start > > Yet, all images/html files were generated and uploaded to my website. > > >> > Again, the list archives have lots of great info in them. Do some >> searching. >> > > Plenty of searching done. Here and elsewhere. My questions were specific. > > Now: just for fun, I have restarted weewx the error print has changed: > > Oct 31 15:03:13 raspberrypi4 weewx[2513]: forecast: ZambrettiThread: > Zambretti: saved 1 forecast records > Oct 31 15:03:13 raspberrypi4 weewx[2513]: forecast: ZambrettiThread: > Zambretti: deleted forecasts prior to 1571929393 > Oct 31 15:03:13 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 10:43:59 GMT (1572518639) to database 'weewx.sdb' > Oct 31 15:03:13 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 10:43:59 GMT (1572518639) to daily summary in 'weewx.sdb' > Oct 31 15:03:16 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 10:48:59 GMT (1572518939) to database 'weewx.sdb' > Oct 31 15:03:16 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 10:48:59 GMT (1572518939) to daily summary in 'weewx.sdb' > . > . > Oct 31 15:03:42 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 15:02:59 GMT (1572534179) to database 'weewx.sdb' > Oct 31 15:03:42 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 15:02:59 GMT (1572534179) to daily summary in 'weewx.sdb' > Oct 31 15:03:42 raspberrypi4 weewx[2513]: engine: Starting main packet > loop. > Oct 31 15:03:42 raspberrypi4 weewx[2513]: fousb: station status > {'unknown': 0, 'lost_connection': 0, 'rain_overflow': 0} (0) > Oct 31 15:05:50 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 15:05:00 GMT (1572534300) to database 'weewx.sdb' > Oct 31 15:05:50 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 15:05:00 GMT (1572534300) to daily summary in 'weewx.sdb' > Oct 31 15:06:05 raspberrypi4 weewx[2513]: reportengine: Caught > unrecoverable exception in generator 'weewx.imagegenerator.ImageGenerator' > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** Unit type cannot > change within a time interval (17 vs 17 vs 64). > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** Traceback (most > recent call last): > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** File > "/home/weewx/bin/weewx/reportengine.py", line 204, in run > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** obj.start() > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** File > "/home/weewx/bin/weewx/reportengine.py", line 300, in start > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** self.run() > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** File > "/home/weewx/bin/weewx/imagegenerator.py", line 32, in run > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** > self.genImages(self.gen_ts) > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** File > "/home/weewx/bin/weewx/imagegenerator.py", line 166, in genImages > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** > aggregate_interval=aggregate_interval) > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** File > "/home/weewx/bin/weewx/manager.py", line 513, in getSqlVectors > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** > aggregate_type, aggregate_interval) > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** File > "/home/weewx/bin/weewx/manager.py", line 770, in _getSqlVectors > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** > (std_unit_system, _rec[1], _rec[2])) > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** > UnsupportedFeature: Unit type cannot change within a time interval (17 vs > 17 vs 64). > Oct 31 15:06:05 raspberrypi4 weewx[2513]: **** Generator > terminated > Oct 31 15:06:05 raspberrypi4 weewx[2513]: copygenerator: copied 5 files to > /var/www/html/weewx > Oct 31 15:06:08 raspberrypi4 weewx[2513]: imagegenerator: Generated 18 > images for SmartphoneReport in 2.09 seconds > Oct 31 15:06:08 raspberrypi4 weewx[2513]: copygenerator: copied 6 files to > /var/www/html/weewx/smartphone > Oct 31 15:11:14 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 15:10:00 GMT (1572534600) to database 'weewx.sdb' > Oct 31 15:11:14 raspberrypi4 weewx[2513]: manager: Added record 2019-10-31 > 15:10:00 GMT (1572534600) to daily summary in 'weewx.sdb' > Oct 31 15:11:23 raspberrypi4 weewx[2513]: reportengine: Caught > unrecoverable exception in generator 'weewx.imagegenerator.ImageGenerator' > Oct 31 15:11:23 raspberrypi4 weewx[2513]: **** Unit type cannot > change within a time interval (17 vs 17 vs 64). > > The only (tenuous) link I can find to this error string points towards > `numpy`. `python --version` at a prompt reports `Python 2.7.13` though > Python3 is also installed. there is a `numpy` installed in each tree. > > Any further clues? > > TIA > -D > > -- > 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/6d65a535-786c-4936-80aa-e16cf7ef0546%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/6d65a535-786c-4936-80aa-e16cf7ef0546%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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/CAPq0zEDgipAQrNJDP-%2Bhnr%3DH_bYPPzo5cE6BVicixkwUh-%3DyvQ%40mail.gmail.com.
