Predict the tides for a given location.
Contact: Ole Svenstrup Petersen
Usage:
$ tidepredictor [OPTIONS]
Options:
--lon FLOAT
: Longitude [required]--lat FLOAT
: Latitude [required]-s, --start [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]
: Start date [required]-e, --end [%Y-%m-%d|%Y-%m-%dT%H:%M:%S|%Y-%m-%d %H:%M:%S]
: End date [required]-i, --interval INTEGER
: Interval in minutes [default: 30]-o, --output PATH
: Output file, default is stdout--format [csv|json]
: Output format [default: csv]--type [level|current]
: Type of prediction, level or u,v [default: level]--install-completion
: Install completion for the current shell.--show-completion
: Show completion for the current shell, to copy it or customize the installation.--help
: Show this message and exit.
Code
import polars as pl
from utide._ut_constants import ut_constants
used_consts = "Q1 MF P1 K1 MM O1 M2 S2 M4 MN4 MS4 N2 K2".split()
consts = (
pl.DataFrame(ut_constants["const"])
.select("name", pl.col("freq").alias("freq_cph"))
.filter(pl.col("name").is_in(used_consts))
.with_columns((1 / pl.col("freq_cph")).alias("period_h"))
.sort("period_h", descending=True)
)
with pl.Config(set_float_precision=4):
print(consts.head(10))
name | freq_cph | period_h |
---|---|---|
MM | 0.001512 | 661.309268 |
MF | 0.00305 | 327.858984 |
Q1 | 0.037219 | 26.868357 |
O1 | 0.038731 | 25.819342 |
P1 | 0.041553 | 24.06589 |
K1 | 0.041781 | 23.93447 |
N2 | 0.078999 | 12.658348 |
M2 | 0.080511 | 12.420601 |
S2 | 0.083333 | 12.0 |
K2 | 0.083561 | 11.967235 |