Categories: 工作・開発

満潮・干潮をリアルタイム表示するアンビエント時計、月の軌道から計算でネット不要

HorseyofCoursey氏がGitHubで公開した「shelltide」は、APIキーの登録も気象サービスへの接続も不要で、ターミナル(コマンドライン画面)に潮位をリアルタイム表示するPythonツールだ。潮位のデータをネットから取得するのではなく、月と太陽の実際の天体位置から天文計算で算出するという仕組みが特徴で、作者は「半分が実用ツール、半分がアンビエントディスプレイ」と説明している。

計算の核心は二つの潮汐成分だ。月の引力によって生じる約12時間25分周期の干満(M2)と、太陽の引力による約12時間周期の干満(S2)を組み合わせて現在の潮位を算出する。満月・新月には大潮(スプリングタイド)、上弦・下弦には小潮(ニープタイド)になるなど、実際の潮汐パターンを天文学的に再現している。港の地形による影響までは計算しないため国土交通省や海上保安庁の潮位表とは厳密に一致しないが、天文リズムそのものは正確だ。風のデータだけはOpen-Meteo(APIキー不要の気象サービス)から取得する。

画面には現在時刻・次の満潮と干潮の時刻・現在を中心とした前後3時間の潮位グラフが表示されるほか、風の向きと強さに合わせて動く小さな帆船、潮位に応じて上下する浮標(ブイ)の棒、波の表面がASCIIアートで描かれる。

Raspberry Pi向けの「–kiosk」オプションでは、HDMIに接続したディスプレイ全体に潮位アニメーションをフルスクリーン表示できる。海辺の別荘やボートのそばに設置した小型モニターに流しておくような使い方を想定した機能だ。インストールはgitでクローンしてスクリプトを1回実行するだけで、shelltide --location "Bar Harbor, ME" のように地名や郵便番号で場所を指定して起動する。Python 3.8以降で動作する。

関連情報

Raspberry Pi
¥18,800 (2026/05/18 15:29時点 | Amazon調べ)
FabScene編集部

FabScene編集部