xttpd - Man Page

Harmonic tide clock and tide predictor (web server)

Synopsis

xttpd [port] [-cf “format-string”] [-dc color] [-Dc color] [-df “format-string”] [-ec color] [-el y|n] [-em pSsMm] [-fc color] [-fg color] [-ga aspect] [-gh pixels] [-gs d|l|s] [-gt y|n] [-gw pixels] [-hf “format-string”] [-in y|n] [-lb y|n] [-lw pixels] [-mc color] [-Mc color] [-nc color] [-ou y|n] [-pb y|n] [-pi days] [-tf “format-string”] [-tl y|n] [-u ft|m] [-v] [-z y|n]

Description

XTide is a package that provides tide and current predictions in a wide variety of formats. Graphs, text listings, and calendars can be generated, or a tide clock can be provided on your desktop.

XTide can work with X-windows, plain text terminals, or the web. This is accomplished with three separate programs: the interactive interface (xtide), the non-interactive or command line interface (tide), and the web interface (xttpd).

xttpd is an XTide web server. It provides web-based access to XTide's tide predictions by allowing a web browser to speak directly to the XTide program in HTTP. xttpd can replace httpd or it can co-exist with one.

At installation time, xttpd can be configured to integrate with systemd or it can be used in conventional init mode.

In conventional mode, if you run xttpd with no command line arguments, it will assume that it is replacing httpd and try to bind port 80. If you want it to co-exist with an existing server, or if you do not have privilege to get port 80, give it the port number as the first command line argument:

% xttpd 8080

You will then need to link it up as http://www.wherever.org:8080/ instead of just http://www.wherever.org/, but otherwise, no damage done. Similarly, if you wish to bind a specific address, you can specify that as the first argument:

% xttpd 127.0.0.2

If you need to specify both address and port number, separate the two with a slash, like this:

% xttpd 127.0.0.2/8080

IPv6 addresses and hostnames are also accepted for the address.

When systemd is used, the port and address must instead be configured in systemd configuration files.

Once the port is established, xttpd will try to set its UID and GID to values that were specified at compile time.  If it is unable to do this, it will log failure messages to syslog and then exit.  Consequently, if it is to be started by someone other than root, that user's UID and GID must be configured at compile time.  Instructions for doing this are available at https://flaterco.com/xtide/installation.html.

For a complete discussion of the command line options and a detailed explanation of the XTide package, please see the verbose documentation at https://flaterco.com/xtide/.

Configuration

Unless a configuration file /etc/xtide.conf is supplied, you must set the environment variable HFILE_PATH to point to the harmonics files that should have been installed along with the xtide program.  Example:

export HFILE_PATH=/usr/local/share/xtide/harmonics.tcd

If a configuration file is used, the first line should consist of the colon-separated list of harmonics files (e.g. the HFILE_PATH line above without the "export HFILE_PATH=" part). The environment variable takes precedence over the configuration file.

Set the environment variable XTTPD_FEEDBACK to change the mail feedback address for xttpd.

Options

-cf “format-string”

strftime(3) style format string for printing days in calendars (default %a %d).

-dc color

Daytime background color in tide graphs (default SkyBlue).

-Dc color

Color of datum line in tide graphs (default white).

-df “format-string”

strftime(3) style format string for printing dates (default %Y-%m-%d).  For calendars see -cf.

-ec color

Foreground in tide graphs during outgoing tide (default SeaGreen).

-el y|n

Select whether or not to draw datum and middle-level lines in tide graphs (default n).

The National Ocean Service (NOS) defines both Mean Sea Level (MSL) and Mean Tide Level (MTL) in terms of averages taken over observations.  The middle-level line is drawn at the midpoint of the theoretical tidal range, which usually corresponds to the mathematical mean level of the predictions. This approximates both MSL and MTL, but, strictly speaking, is equivalent to neither.  Moreover, subordinate station offsets may shift the actual mean so that it no longer falls at the midpoint of the tidal range.  The datum line is drawn at the zero level of the predictions, which usually corresponds to the station's benchmark, but this too can be rendered inaccurate by subordinate station offsets.

-em pSsMm

Events to suppress (p = phase of moon, S = sunrise, s = sunset, M = moonrise, m = moonset), or x to suppress none.  E.g, to suppress all sun and moon events, set eventmask to the value pSsMm.

-fc color

Foreground in tide graphs during incoming tide (default Blue).

-fg color

Color of text and other notations (default black).

-ga aspect

Aspect for tide graphs (default 1.0).  This controls not the width or height of the window but rather the relative scaling of the X and Y axes in the plot of the tide curve.

-gh pixels

Height for tide graphs (default 312 pixels).

-gs d|l|s

Style of graphs and clocks.  Valid values: d (default), l (line), s (semitransparent).

-gt y|n

Select whether or not to label tenths of units in tide graphs (default n).

-gw pixels

Width for tide graphs (default 960 pixels).

-hf “format-string”

strftime(3) style format string for printing hour labels on time axis (default %l).

-in y|n

Select whether or not to use inferred values for some constituents (default n). For expert use only.

-lb y|n

Select whether or not calendar mode inserts a line break before prediction values (default n).

-lw pixels

Width of line in graph styles l and s (default 2.5 pixels).

-mc color

Color of mark line in graphs (default red).

-Mc color

Color of middle-level line in tide graphs (default yellow).

-nc color

Nighttime background color in tide graphs (default DeepSkyBlue).

-ou y|n

Select whether or not to print numbers with no ft/m/kt (default n). Where possible, adds a header line stating the units and datum.

-pb y|n

Select whether or not calendar mode inserts a page break and repeats the station header for each month (default y).

-pi days

Number of days of predictions to generate when no end time is specified (default 4).

-tf “format-string”

strftime(3) style format string for printing times (default %l:%M %p %Z).

-tl y|n

Select whether or not to draw depth lines on top of the tide graph (default n).

-u ft|m

Preferred units of length (default no preference).

-v

Print version string and exit.

-z y|n

Select whether or not to coerce all time zones to UTC (default n).

See Also

tide(1), xtide(1), https://flaterco.com/xtide/.

Referenced By

tide(1), xtide(1).

2020-06-27 XTide 2