LoginSignup
3
2

More than 3 years have passed since last update.

命名法が一定の時間である場合のリスト作成

Last updated at Posted at 2019-12-11

こんにちは。

今回は前回の記事::「気象データの"ある程度の完成度"を持つ図の描画コードの紹介」で説明できなかった点を紹介したいと思います。

はじめに

気象業務支援センターから取得する気象データは国際気象機関が定めるフォーマットに従っています(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

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2