![見出し画像](https://assets.st-note.com/production/uploads/images/30719505/rectangle_large_type_2_25ab2ddfce588e1eee3977344d624138.png?width=1200)
PythonからGMT6.xを使って天気図を作成する環境を作る
はじめに
以前からGMTで天気図を自動生成するシステムを作っている。
10年以上前になるかと思うが、気象予報士会関西支部の京都部会でGMTで天気図を作成する方法を教わった。
その際には、Windows+Cygwin環境だったのだが、自分にとっては使い勝手が悪かったので、Bashのプログラムを参考にさせてもらいつつ、Linux上で動作するように自分でプログラムを書き直した。
ただ、あれから随分と月日が流れ、GMT4.xから最新版はGMT6.xとなった。そろそろGMT6へ移行するとともに、使い勝手の悪いBashから、Python APIを使い、Pythonプログラムへ移行することにした。
そこで今回は、GMT6.xをPythonで使うための環境構築をする。
Anacondaをインストールする
PythonからGMTを使うためのパッケージには、PyGMTと言うものがある。このサイトの情報を元にインストールしていくが、Anacondaの環境でのセットアップについて記載されているので、以下はそれに従う。
私の構築環境はLinux Mint 20だが、Windows、MacでもAnacondaを使えば同じことができるだろう。下記にはLinux環境のAnacondaのセットアップを示す。
AnacondaのHPからLinux用のインストール・シェルをダウンロードし、実行するのだが、AnacondaのGUIパッケージを使用する場合には事前に、下記を実行しておく。
$ apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6
次にAnacondaインストーラーをダウンロードして実行する。AnacondaのHPで最新版を確認して欲しい。
$ wget https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
$ bash Anaconda3-2020.02-Linux-x86_64.sh
インストール先などを聞かれるので、使用環境に応じて入力する。
AnacondaにPyGMTが動く環境を作成する
まず、conda-forgeのパッケージを取得するための設定を行う。
$ conda config --prepend channels conda-forge
次に仮想環境を作成する。ここでは仮想環境名を"weather"としている。その他、必要なパッケージを指定しておく。
$ conda create --name weather python=3.8 pip numpy pandas xarray netcdf4 packaging gmt
作成した仮想環境をActivateする。
(base) username@Mint-Cinnamon:~$ conda activate weather
(weather) username@Mint-Cinnamon:~$
そして、PyGMTをインストールする。
(weather) username@Mint-Cinnamon:~$ conda install pygmt
もう一つ、GSM/MSMのGPVデータをデコードするのに必要なwgirb2を使っていたのだが、このPython用のpygribというパッケージもインストールする。
(weather) username@Mint-Cinnamon:~$ conda install pygrib
PyGMTのHPに記載されているが、インストールしたPyGMTのテストする。その前に、下記の必要なパッケージをインストールしておく。
(weather) username@Mint-Cinnamon:~$ conda install pytest pytest-mpl ipython
そして、テストを実行する。
(weather) y-tanaka@Mint-Cinnamon:~$ python3
Python 3.8.4 | packaged by conda-forge | (default, Jul 17 2020, 15:16:46)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygmt
>>> pygmt.show_versions()
>>> pygmt.test()
実行結果は、、、一部failedが出るな。
===== 53 failed, 212 passed, 1 skipped, 353 warnings in 51.55s ======
よく分からないが、まあいいか。とりあえずこれで進める。
次回は、実際にPythonプログラムで天気図を作成する。
天気図の作図にあたっては、京都大学生存圏研究所の生存圏データベースのGPVデータを使用させて頂いています。
よろしければ、サポートをお願いします。 より多くの方に役立つnoteを書けるよう頑張ります!!