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.

Reply via email to