After examining the syslog, looking for clues as to why XTide v2.15.2
(alone and without the deprecated v2.13 on system) isn't working with
forecast v3.4.0rc1, I keep seeing something like this:
restx: StationRegistry: wait interval (229800 < 604800) has not passed for
record 2019-04-04 07:45:00 EDT (1554378300)
It typically appears (but not always) immediately following the XTide:
running command, but wondered if that was due to thread sequencing rather
than a broken record dictionary or something else.
I'm trying to understand if the bits related to restx might interfere or
interact with the forecast extension; forecast.py
>From what little I understand, restx has its primary chores relating to
publishing data to other sites; e.g. AWEKAS, WU, etc.
forecast.py v3.4.0rc1 - beginning at line 4026
# look for comma-delimited output. we expect lines like this:
# location,YYYY-MM-DD,HH:MM xM xxx,offset,description
# xtide replaces commas in the location with |
out = []
for line in p.stdout:
if line.count(',') == 4:
out.append(line)
else:
logdbg("%s: ignoring line: %s" % (XT_KEY, line))
if out:
logdbg("%s: got %d lines of output" % (XT_KEY, len(out)))
fields = out[0].split(',')
loc = fields[0].replace('|', ',')
loc = loc.replace(' - READ flaterco.com/pol.html', '')
if loc != location:
loginf("%s: location mismatch: '%s' != '%s'" %
(XT_KEY, location, loc))
return out
loginf("%s: got no stinkin tidal events" % XT_KEY)
This leads to the the syslog line:
Apr 4 08:20:23 raspberrypi weewx[26067]: forecast: XTideThread: XTide: got
no stinkin tidal events
Then the following bits from forecast.py v3.4.0rc1 - beginning at line 4047:
# we got no recognizable output, so try to make sense of any
errors
err = []
preamble = True
for line in p.stderr:
if line.startswith('Indexing'):
preamble = False
if not line.startswith('Indexing') and not preamble:
line = line.rstrip()
err.append(line)
errmsg = ' '.join(err)
idx = errmsg.find('XTide Error:')
if idx >= 0:
errmsg = errmsg[idx:]
idx = errmsg.find('XTide Fatal Error:')
if idx >= 0:
errmsg = errmsg[idx:]
if len(errmsg):
logerr('%s: generate forecast failed: %s' % (XT_KEY, errmsg
))
return None
except OSError as e:
logerr('%s: generate forecast failed: %s' % (XT_KEY, e))
return None
The only XTide-related message in syslog subsequent to 'forecast:
XTideThread: XTide: got no stinkin tidal events' is:
Apr 4 08:20:23 raspberrypi weewx[26067]: forecast: XTideThread: XTide:
terminating thread
The python parts dealing with location may allow for all of the old
unmaintained data that newer versions of XTide hasn't supported for many
years. The reference in forecast.py is to the 15-year old Legal Notice for
UK tide predictions (https://flaterco.com/pol.html).
As Dave Flater writes <https://flaterco.com/xtide/faq.html#60>, "*Many data
were purged after a legal threat from the U.K. Hydrographic Office (UKHO)
in January 2001. I ended maintenance of the non-U.S. data that replaced
them for different reasons in early 2012.*"
The lengthy explanation by Mr. Flater that follows in his discussion is
informative as to why for many years, only U.S. data is maintained by him,
and that the scarcity of non-U.S. data is artificial. Still I wonder if
this issue is possibly linked with forecast and XTide v2.15.2 got no
stinkin tidal events on my RPi
--
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.