2018年4月10日火曜日

Google Colaboratory で Sunpy、その1 導入 [20180509修正]

「GDLでSSWを動かそう計画」が行き詰まっていたので、pythonを使った太陽物理学の解析ライブラリ Sunpy を動かしてみた。

Google Colabの知っておくべき使い方 – Google Colaboratoryのメリット・デメリットや基本操作のまとめ(codexa)
Google Colabを導入(Qiita)




導入


動機はこれらの記事で紹介されているGoogle Colaboratory(以下、colab)である。

python環境がブラウザだけで手に入る、という事で試してみた。

記事に書いてあるように、このcolab, 真骨頂は単なるpython環境ではなく、GPUを使った機械学習らしい。(これは放置)

pythonを使うのは初めてだが、ここ数日で部分マップのプロット、等高線の重ね書きまでは出来た。

文法分からないし、コマンドも分からないが、ここまではなんとかなった。

図1、部分マップ画像。



SunPyのインストール、サンプル画像作成についてのコマンド集(ノートブック)はこちら。

install_sunpy00.ipynb

よく分からないが、Google Colabには「ファイル -> ノートブックをアップロード」とあるので、ダウンロードしたこのノートブックを皆も使えるはず。

私はpython3 環境を選択。

以前の記事で公開していたコードは新しい版に上書きしていたので、申し訳ないです。



Sunpyのインストール


colab自体の使い方は記事を見て欲しい。(計算機環境はかなり良いらしい

sunpy の導入については、ノートブックの最初の2つのコマンドが該当する。

!pip install sunpy[all]

!pip install pytest pytest_mock pytest-cov sqlalchemy hypothesis suds-jurko beautifulsoup4 requests glymur mock drms

詳細は、sunpyの該当ページを読んで欲しい。

第1のコマンドがsunpy自体のインストール、第2のコマンドが必要なライブライのインストールである。

これらのインストール後は、「ランタイムを再起動」する事をお勧めする。(再起動みたいなものだと思っている)

一つ問題があって、このcolab環境、ログインのたびにsunpyのインストールをする事が必要かもしれない。(1分もかからないが)


テスト


sunpyのページにも書いてあるが、ノートブックの第3のコマンドは、インストールをテストするためのものである。

import sunpy
sunpy.self_test(online=False)

何がしかのエラーが出ると思うが、「モジュールが足りない」系のエラーについては、2つ目のコマンドでライブラリを適宜追加しなければならない。

エラーについては対応したが、Warningは無視した。(たくさん出るが)

テストは一度やれば十分だろう。



サンプルプロット


次の3つのコマンドは、sunpyのサイトに書いてあるように、AIAマップのプロット、GOES光度曲線のプロット、電波画像?のプロットである。

サンプルとなる全データは、最初のAIAマップのプロット時に自動ダウンロードされる。ちょっと待たなければならない。

これらは問題なく動くだろう。


次に2015年のsunpyについての論文の図を再現を試みた。

第7のコマンドは、上記の図1の部分マップを作成するためのものである。

必要なコマンドも論文中に書かれているが、このコマンドでは全く通用しなかった。

色々調べた結果が、先に挙げた図である。


第8のコマンドは、2015年の論文の図2にある複合マップを作成するためのものである。

等高線の描写はさらに手間がかかった。

サンプルデータ中のAIAとRHESSI画像を使用した。

以前プロットした際には、複合マップとして読み込むとなぜかarcsec単位でなかったが、本日改めてコマンドを走らせるとarcsec単位となっていた。(こういうのほんとめんどい)

等高線の設定書式が良く分からない。

しかしなんとか使えそう。



pythonの基本的な動かし方については、次の記事「Google Colaboratory で Sunpy、その2 EPS作成とGoogle Drive」でノートブックを公開している。(順番としてはこちらが先か?)

こちらのノートブックは随時更新している。



手元のLinuxでも試してみたが、sunpy以外のライブラリのインストールでエラーを吐いて、その後復旧しない(´;ω;`)。助けて。



にほんブログ村 科学ブログ 自然科学へ
にほんブログ村


情報科学(計算機科学) ブログランキングへ


20180509, 記事を修正。

20181008, python で大量に画像作成してメモリが破綻したら、こちらの記事を読んでみて。「画像作成を繰り返した際に発生した Python の余計なメモリ消費(メモリリーク…

0 件のコメント:

コメントを投稿

注目の投稿

【貨幣循環】名目GDPと M=G+I と V=1/(1-β) の成長率

「 【貨幣循環】貨幣循環導入の3点セット 」では、貨幣循環の定式化である M=G+I と V=1/(1-β) を紹介した。「 【貨幣循環】歳出伸び率とGDP成長率の関係 」では、名目GDPの成長率と政府支出Gの成長率の関係を紹介した。本記事では、MとV、および名目GDPの成長率...

人気の投稿