GHCN-Daily は、世界の陸地を対象とした日次観測データセットです。世界中の陸上観測所に基づく測定値が収録されており、その約3分の2は降水量のみの観測です (Menne et al., 2012) 。GHCN-Daily は、多数のソースから集められた気候記録を統合し、共通の品質保証レビューを実施した複合データセットです (Durre et al., 2010) 。このアーカイブには、次の気象要素が含まれます。
- 日最高気温
- 日最低気温
- 観測時の気温
- 降水量 (雨、雪解け水)
- 降雪量
- 積雪深
- 利用可能なその他の要素
データのダウンロード
- ClickHouse 向けにクレンジング、再構成、エンリッチを施したデータの事前準備済みバージョン。このデータは 1900 年から 2022 年までを対象としています。
- 元のデータをダウンロードし、ClickHouse で必要なフォーマットに変換します。独自のカラムを追加したい場合は、この方法を検討するとよいでしょう。
あらかじめ用意されたデータ
元データ
ダウンロード
データのサンプリング
- 11文字のstation idです。これ自体にいくつかの有用な情報がエンコードされています
- YEAR/MONTH/DAY = YYYYMMDD形式の8文字の日付です (例: 19860529 = 1986年5月29日)
- ELEMENT = element typeを示す4文字の識別子です。実質的には測定種別を表します。利用可能な測定値は多数ありますが、ここでは次のものを選択します:
- PRCP - 降水量 (0.1 mm単位)
- SNOW - 降雪量 (mm)
- SNWD - 積雪深 (mm)
- TMAX - 最高気温 (摂氏0.1度単位)
- TAVG - 平均気温 (摂氏0.1度単位)
- TMIN - 最低気温 (摂氏0.1度単位)
- PSUN - 1日の日照可能時間に対する日照率 (パーセント)
- AWND - 日平均風速 (0.1メートル/秒単位)
- WSFG - 最大瞬間風速 (0.1メートル/秒単位)
- WT** = 天気種別。** が天気種別を定義します。天気種別の完全な一覧はこちらです。
- DATA VALUE = ELEMENTに対応する5文字のデータ値、つまり測定値そのものです。
- M-FLAG = 1文字の測定フラグです。これには10個の設定可能な値があります。これらの値の一部は、データ精度に疑義があることを示します。“P” に設定されているデータは受け入れます。これは欠損だがゼロと推定されることを意味し、PRCP、SNOW、SNWDの測定にのみ関係するためです。
- Q-FLAGは測定品質フラグで、14個の設定可能な値があります。ここで必要なのは値が空のデータのみ、つまり品質保証チェックに一度も失敗していないものです。
- S-FLAGは観測のソースフラグです。今回の分析には有用ではないため無視します。
- OBS-TIME = 時分形式の4文字の観測時刻です (つまり 0700 = 午前7:00) 。通常、古いデータには含まれていません。ここではこれを無視します。
qFlag が空文字列に等しい行のみにdatasetを限定します。
データをクリーンアップする
データのピボット
GROUP BY を使うことで、データをこの構造にピボットし直せます。メモリのオーバーヘッドを抑えるため、この処理は1回につき1ファイルずつ行います。
noaa.csv が生成されます。
データの補完
noaa_enriched.parquet を生成します。
テーブルの作成
ClickHouse へのデータ挿入
ローカルファイルからの挿入
<path> は、ディスク上のローカルファイルのフルパスを表します。
この読み込みを高速化する方法については、こちらをご覧ください。