1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pyartを利用するための環境Python環境を準備する

Last updated at Posted at 2019-08-05

Pyartを利用するための環境構築

pyartとは気象レーダーの観測データを処理するためのPythonで書かれたライブラリである。
気象レーダーデータを解析したり可視化するための機能がある。
https://arm-doe.github.io/pyart/
Pythonは科学的な利用が広がっており、深層学習目的などで近年よく利用されているが、
これに限らず統計的な解析を行い、可視化するなど様々なライブラリが利用できる。

筆者もPythonの勉強したいと考えたが、目的もなく勉強するのもモチベーションがあがらないので、
ここで記事にすることで勉強したいと考えた。

Python開発環境を準備

ここではAnacondaを使う。Anacondaについてはネット上で他に記事があると思うのでそちらを参照。
まずは環境を作る。必要に応じてpython3.Xで作成する。
今回利用したのはpython3.6。(AnacondaのNavigatorでも作成可能)
Pyartとの依存関係があることに注意。

conda create --name radar python

作成した環境に切り替える。

conda activate radar

Pyartをインストールする

https://anaconda.org/conda-forge/arm_pyart
を参考にしてインストールする。

conda install -c conda-forge/label/cf201901 arm_pyart

インストールするとPyartとともに様々なライブラリがインストールされる。
Pyartはnetcdfやhdfと連携している他、pythonで可視化する際に標準的に利用されるmatplotlibと連携するため、これらのライブラリも同時にインストールされる。
(何でWindowsなんだ、とかそのような質問は受け付けない。)

(C:\Users\user\Anaconda3\envs\radar) C:\Users\user>conda install -c conda-forge/label/cf201901 arm_pyart
Fetching package metadata ...............
Solving package specifications: .

Package plan for installation in environment C:\Users\user\Anaconda3\envs\radar:

The following NEW packages will be INSTALLED:

pytz:            2018.9-py_0                conda-forge/label/cf201901

The following packages will be SUPERSEDED by a higher-priority channel:

bzip2:           1.0.8-hfa6e2cd_0           conda-forge                --> 1.0.6-vc14_1             conda-    forge/label/cf201901 [vc14]
curl:            7.65.3-h4496350_0          conda-forge                --> 7.60.0-vc14_0            conda-forge/label/cf201901 [vc14]
freetype:        2.10.0-h5db478b_0          conda-forge                --> 2.9.1-he8b6a0d_1004      conda-forge/label/cf201901
hdf4:            4.2.13-hf8e6fe8_1002       conda-forge                --> 4.2.13-vc14_0            conda-forge/label/cf201901 [vc14]
hdf5:            1.10.5-nompi_hcc15c50_1100 conda-forge                --> 1.10.2-vc14_0            conda-forge/label/cf201901 [vc14]
icu:             64.2-he025d50_0            conda-forge                --> 58.2-vc14_0              conda-forge/label/cf201901 [vc14]
jpeg:            9c-hfa6e2cd_1001           conda-forge                --> 9b-vc14_2                conda-forge/label/cf201901 [vc14]
krb5:            1.16.3-hdd46e55_1001       conda-forge                --> 1.14.6-vc14_0            conda-forge/label/cf201901 [vc14]
libcurl:         7.65.3-h4496350_0          conda-forge                --> 7.61.1-h7602738_0
libnetcdf:       4.6.2-ha953453_1002        conda-forge                --> 4.6.1-h183b1a9_3         conda-forge/label/cf201901
libpng:          1.6.37-h7602738_0          conda-forge                --> 1.6.34-vc14_0            conda-forge/label/cf201901 [vc14]
libssh2:         1.8.2-h642c060_2           conda-forge                --> 1.8.0-hc4dcbb0_2         conda-forge/label/cf201901
matplotlib:      3.1.1-py37_1               conda-forge                --> 2.2.3-py37h31860fd_0     conda-forge/label/cf201901
matplotlib-base: 3.1.1-py37h2852a4a_1       conda-forge                --> 3.0.1-py37h0497f0e_1001  conda-forge/label/cf201901
netcdf4:         1.5.1.2-py37h8c66456_1     conda-forge                --> 1.4.1-py37h8d81a0c_200   conda-forge/label/cf201901
openssl:         1.1.1c-he774522_1                                     --> 1.0.2o-vc14_0            conda-forge/label/cf201901 [vc14]
pyqt:            5.9.2-py37h6538335_2       conda-forge                --> 5.6.0-py37h764d66f_1008  conda-forge/label/cf201901
python:          3.7.3-h8c8aaf0_1                                      --> 3.7.1-hc182675_1000      conda-forge/label/cf201901
qt:              5.9.7-h506e8af_3           conda-forge                --> 5.6.2-vc14_1             conda-forge/label/cf201901 [vc14]
sip:             4.19.8-py37h6538335_1000   conda-forge                --> 4.18.1-py37h6538335_1000 conda-forge/label/cf201901
sqlite:          3.29.0-he774522_0                                     --> 3.22.0-vc14_0            conda-forge/label/cf201901 [vc14]
tk:              8.6.9-hfa6e2cd_1002        conda-forge                --> 8.6.8-vc14_0             conda-forge/label/cf201901 [vc14]
vc:              14.1-h0510ff6_4                                       --> 14-0                     conda-forge/label/cf201901
zlib:            1.2.11-h2fa13f4_1005       conda-forge                --> 1.2.11-vc14_0            conda-forge/label/cf201901 [vc14]

Proceed ([y]/n)? y

bzip2-1.0.6-vc 100% |###############################| Time: 0:00:03  46.47 kB/s
openssl-1.0.2o 100% |###############################| Time: 0:01:43  54.22 kB/s
openssl-1.0.2o 100% |###############################| Time: 0:02:26  38.42 kB/s
openssl-1.0.2o 100% |###############################| Time: 0:00:02   2.66 MB/s
vc-14-0.tar.bz 100% |###############################| Time: 0:00:00   0.00  B/s
zlib-1.2.11-vc 100% |###############################| Time: 0:00:00   3.90 MB/s
hdf5-1.10.2-vc 100% |###############################| Time: 0:00:06   3.20 MB/s
icu-58.2-vc14_ 100% |###############################| Time: 0:00:07   2.99 MB/s
jpeg-9b-vc14_2 100% |###############################| Time: 0:00:00 437.38 kB/s
krb5-1.14.6-vc 100% |###############################| Time: 0:00:01 605.64 kB/s
libpng-1.6.34- 100% |###############################| Time: 0:00:00   1.02 MB/s
libssh2-1.8.0- 100% |###############################| Time: 0:00:00 573.03 kB/s
python-3.7.1-h 100% |###############################| Time: 0:01:18 277.92 kB/s
sqlite-3.22.0- 100% |###############################| Time: 0:00:01 844.67 kB/s
tk-8.6.8-vc14_ 100% |###############################| Time: 0:00:01   2.59 MB/s
curl-7.60.0-vc 100% |###############################| Time: 0:00:00 407.35 kB/s
freetype-2.9.1 100% |###############################| Time: 0:00:01 474.05 kB/s
hdf4-4.2.13-vc 100% |###############################| Time: 0:00:00   2.17 MB/s
libcurl-7.61.1 100% |###############################| Time: 0:00:00   4.08 MB/s
pytz-2018.9-py 100% |###############################| Time: 0:00:00   4.49 MB/s
qt-5.6.2-vc14_ 100% |###############################| Time: 0:00:18   3.08 MB/s
sip-4.18.1-py3 100% |###############################| Time: 0:00:00 476.63 kB/s
libnetcdf-4.6. 100% |###############################| Time: 0:00:00 728.39 kB/s
pyqt-5.6.0-py3 100% |###############################| Time: 0:00:02   2.08 MB/s
matplotlib-2.2 100% |###############################| Time: 0:00:03   1.87 MB/s
matplotlib-bas 100% |###############################| Time: 0:00:03   1.78 MB/s
netcdf4-1.4.1- 100% |###############################| Time: 0:00:00 728.39 kB/s

インストールされたら動作するか確認する

NOAAのWebサイトからNational Weather Serviceのデータをダウンロードしてくる。
簡単にダウンロードできるようになっている。

Pyartのページを参考にしてサンプルプログラム書いてみる。
https://arm-doe.github.io/pyart/dev/auto_examples/index.html

import matplotlib.pyplot as plt
import pyart

filename = 'KABR20190522_000535_V06'
radar = pyart.io.read(filename)
display = pyart.graph.RadarDisplay(radar)
fig = plt.figure()
ax = fig.add_subplot(111)
display.plot('reflectivity', 0, vmin=-32, vmax=64.)
display.plot_cross_hair(5.)
plt.show()

Figure_1.png

うまく表示することが出来た。

1
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?