台風の最大風速のkt → m/s は「式」ではなく「換算表」があるかもしれない話
kinoatsuというサイトで、年ごとの台風の一覧ページを作っています。台風ごとに最大風速を出しているのですが、データの出自によって持っている単位が違っていて、表示がktとm/sで混在してしまいました。
どちらかに寄せる必要があるのですが、どちら向きに寄せられるのかを調べてみたら、最初に考えていたのと逆の結果になったので纏めておきます。
前提
使ったのは、気象庁が公開している次の3つのデータです。
- 台風位置表: 台風ごとに位置、中心気圧、最大風速などが時刻順に並んだ表(PDF)。速報値で、最大風速の単位はm/s
- 防災情報XML: 台風の位置や強さの速報がXMLで配信されるもの。速報値で、最大風速はktとm/sの両方を持っている
- ベストトラック: 台風が消滅した後に再解析して確定させたデータ。確定値で、最大風速の単位はkt
kt(ノット)は1kt = 0.514444m/sです。なので、素朴に考えると、ktにこの係数を掛けて四捨五入すればm/sになりそうに見えます。この記事では、この「係数を掛けて四捨五入する」換算のことを線形換算と呼ぶことにします。
ちなみに、台風位置表は2001年以降の分しか存在しません。2000年以前の年を指定すると404が返ります。つまり、1951〜2000年の台風についてはm/sを出典から取り直す道がなく、ktから換算するしかありません。(これが後で効いてきます。)
単位が混在していた
kinoatsuの台風ページで最大風速を出すのに使っているデータと、それぞれが持っている単位は↓のようになっていました。
| 対象 | 出自 | 保持している単位 |
|---|---|---|
| 確定値 | ベストトラック | ktのみ |
| 速報値 | 台風位置表(PDF) | m/sのみ |
| 速報値 | 防災情報XML | ktとm/sの両方 |
確定値はktしかなく、速報値にはm/sしかない行と両方持っている行がある、という状態です。表示をどちらかに寄せる必要があります。では、どちら向きに寄せられるのでしょうか。
3ペアで見当をつけた
最初に手元にあったのは、ktとm/sの両方を持っている防災情報XML由来の台風1つ分、3ペアだけでした。これを線形換算と突き合わせてみました。
| 気象庁のkt | 気象庁のm/s | round(kt × 0.514444) |
|---|---|---|
| 35 | 18 | 18 ✓ |
| 40 | 20 | 21 ✗ |
| 45 | 23 | 23 ✓ |
40ktのところで線形換算が外れます。逆に20m/sをktに直すと20 × 1.94384 = 38.9で、これを5kt刻みに丸めると40ktになります。ここから僕は「気象庁はm/sを原値として持っていて、ktは5kt刻みに丸めて導出しているのだろう。だからkt→m/sは一意に決まらない」と考えました。
つまり、m/sが原値でktが導出値、寄せるならm/s→ktの向きしかない、という結論です。
先に書いてしまうと、これは逆でした。
2,157点で照合した
3点で決めるのは流石に心もとないので、数を集めて確かめることにしました。
やったことは、台風位置表(速報値・m/s)とベストトラック(確定値・kt)を、同じ台風の同じ時刻で突き合わせる、というものです。対象は2013 / 2016 / 2020 / 2022 / 2024年の5年分。照合できた点は2,157、その中に現れたktの種類は19でした。
まず、2,157点をktの値ごとにまとめて、それぞれのktに対して気象庁のm/sが何だったかを数えました。あわせて、ktを線形換算した値(四捨五入する前のもの)も並べています。結果は↓のようになりました。
{18: 434}は「35ktだった434点は、m/sがすべて18だった」という意味です。対応するm/sが1種類だけなら「一意」としています。
kt kt*0.514444 気象庁のm/s 判定
35 18.0 {18: 434} 一意
40 20.6 {20: 249} 一意
45 23.1 {23: 166} 一意
50 25.7 {25: 199} 一意
55 28.3 {30: 151} 一意 ← 線形換算なら 28。表は 30
60 30.9 {30: 138} 一意
65 33.4 {35: 135} 一意
70 36.0 {35: 122} 一意
75 38.6 {40: 112} 一意
80 41.2 {40: 93} 一意
85 43.7 {45: 117} 一意
90 46.3 {45: 71} 一意
95 48.9 {50: 54} 一意
100 51.4 {50: 44} 一意
105 54.0 {55: 40} 一意
110 56.6 {55: 8} 一意
115 59.2 {60: 20} 一意
120 61.7 {60: 2} 一意
125 64.3 {65: 2} 一意
kt→m/sは、19種類すべてが単一のm/sに対応しました。例外はゼロです。
同時に、線形換算とは合わない点があることもわかります。例えば55ktは線形なら28ですが、気象庁のm/sは30です。3ペアで見たときは40ktの1点だけが外れているように見えましたが、全体で見ると外れている方が多い、というのが本当のところでした。
次に、同じ2,157点を今度はm/sの値ごとにまとめて、それぞれのm/sを持つ点のktが何だったかを集めました。結果は↓のようになりました。
18 m/s -> [35]は「m/sが18だった点は、ktがすべて35だった」という意味です。30 m/s -> [55, 60]は「m/sが30だった点には、ktが55のものと60のものが混ざっていた」という意味になります。
18 m/s -> [35]
20 m/s -> [40]
23 m/s -> [45]
25 m/s -> [50]
30 m/s -> [55, 60] ← 一意に決まらない
35 m/s -> [65, 70] ← 一意に決まらない
40 m/s -> [75, 80] ← 一意に決まらない
45 m/s -> [85, 90] ← 一意に決まらない
50 m/s -> [95, 100] ← 一意に決まらない
55 m/s -> [105, 110] ← 一意に決まらない
60 m/s -> [115, 120] ← 一意に決まらない
65 m/s -> [125]
30m/s以上は、同じm/sに2種類のktが対応しています。つまり、m/sの値を見てもktがどちらだったのかは決められません。
換算表
照合で得られた対応をそのまま並べると↓のようになります。
35→18 40→20 45→23 50→25 55→30
60→30 65→35 70→35 75→40 80→40
85→45 90→45 95→50 100→50 105→55
110→55 115→60 120→60 125→65 140→70
2,157点に現れた19種類に、140→70の1組を足して20組です。140ktは照合の対象年には現れなかったので、別の出典から補っています。125ktも照合では2点しかなかったので、個別に位置表で裏を取りました。
- 125kt: 2010年第13号MEGIと2013年第30号HAIYANの位置表。いずれも65m/s
- 140kt: 1979年第20号TIP。位置表が存在しない年なので、気象庁の公表値870hPa / 70m/sから
130ktと135ktは表にありません。気象庁が公開している全76シーズンの実データに1件も存在しないためで、値を推定して埋めることはしていません。表に無いktは「不明」として扱います。
この表を見ると、19種類のktが12種類のm/sに畳まれています。kt→m/sは情報量が落ちる向きの変換なので、逆はできない、ということになります。
何を間違えていたか
3ペアの時点で逆の結論に至ったのは、2つのことが重なっていたためだと思っています。
1つ目は、サンプルが3点しかなかったことです。3点のうち線形換算と合わなかったのは40ktの1点だけで、これは「m/sが原値で、ktは5kt刻みに丸めたもの」と考えても説明がつきます。3点だと、どちらの向きでも辻褄が合ってしまいます。
2つ目は、換算が「式」であると暗黙に仮定していたことです。合わない点を見たときに、式が間違っているとは考えず、式は正しいまま「向きが逆なのだ」と解釈してしまいました。実際には、線形換算の式は気象庁の値の再現には使えず、固定の対応表があった、というのが2,157点を見た後の結論です。
少ないサンプルに、それらしいモデルを当てはめると、結論が反転する。振り返るとそういう話でした。
kinoatsuでの扱い
以上から、kinoatsuでは最大風速をm/sに寄せて表示することにしました。
- ktしか持っていない確定値は、上の換算表でm/sにする
- m/sを持っている速報値はそのまま
- 表に無いktは、計算でそれらしい値を作らず、不明として扱う
kt→m/sの換算は、気象庁自身が位置表で公表している値の再現なので、元のデータに無い精度を作り出しているわけではありません。逆向きは一意に決まらないので、ktに寄せる選択肢はそもそもありませんでした。
実際の表示は「2026年の台風」のページで見られます。
ちなみに「原値はkt」というのは、あくまで2,157点の照合からの推論です。気象庁がそう公表しているわけではないので、内部でどう保持しているのかまではわかりません。
おわりに
台風の最大風速のktとm/sの対応について纏めてみました。3点で決めてしまわなくて良かったです...
実際のところをご存知の方がいらっしゃいましたら、教えて頂けると嬉しいです。
参考
- 台風位置表:
https://www.data.jma.go.jp/typhoon/position_table/table{年}.html(2001年以降) - ベストトラック:
https://www.jma.go.jp/jma/jma-eng/jma-center/rsmc-hp-pub-eg/Besttracks/bst_all.zip - 1979年第20号TIP: 防災科研 台風データベース TY7920