こんにちは。
今回は前回の記事::「気象データの"ある程度の完成度"を持つ図の描画コードの紹介」で説明できなかった点を紹介したいと思います。
はじめに
気象業務支援センターから取得する気象データは国際気象機関が定めるフォーマットに従っています(GRIB2形式)。
これらのデータは時間解像度ごとに、それぞれの時刻で命名されています。
リストの作成コード
今回はデータが一定の時間間隔で命名されている場合に、役立つlist作成を共有させていただきます。
time_list.py
def preparating_data(self, yyyy, mm, dd, hh):
time_list = []
num_time_list = len(time_list)
month_thirtyone = [ 1, 3, 5, 7, 8, 10, 12 ]
month_thirty = [ 4, 6, 9, 11 ]
month_twntynine = [ 2 ]
while num_time_list < 13:
time_list.append(str(yyyy) + str('%02d' % mm) + str('%02d' % dd) + str('%02d' % hh) + '00')
#1桁の数字には、0を加える処置
hh = hh - 6
if hh < 0 and dd == 1:
mm, hh = mm - 1, 18
if mm in month_thirty:
dd = 30
elif mm in month_thirtyone:
dd = 31
elif mm in month_twntynine:
#うるう年の考慮
if yyyy % 4 == 0:
dd = 28
else:
dd =29
elif hh < 0:
dd, hh = dd - 1, 18
num_time_list += 1
return time_list
以上です。
最後まで見ていただき、ありがとうございました。
参考
・PHPでライブラリを使わず独力でGRIB2(気象バイナリデータ)を読む
https://qiita.com/miyawa-tarou/items/e4eff81dfcac527572e5
・気象×Python 〜全国合成レーダー〜
https://qiita.com/OSAKO/items/ef042f80ec63dd288225