ユーザ用ツール

  • ようこそ: --- (---)

サイト用ツール


python

以前のリビジョンの文書です


初めて利用される方へ

 メッシュ農業気象データは、データ配信サーバーより提供します。データ配信サーバーは、エクセルやPythonなど、アプリケーションプログラムからのデータリクエストに応答してデータを提供するように設計されており、人間がデータを選択してファイルとしてダウンロードすることは、特殊なケースを除きできません。Pythonの実行環境構築は、トップページの項目「マニュアル・参考資料」に掲載されている「Python利用環境構築ガイド」に従って行ってください。
 メッシュ農業気象データシステムの利用法は、メッシュ農業気象データ利用マニュアルVer.4」に詳しく解説しています。また、2018年6月に開催されたメッシュ農業気象データ利用講習会のテキストも参考にしてください。

  1. ここをクリックして、メッシュ農業気象データ配信サーバにアクセスしてください。
    • 認証情報を要求されますので、発行された利用IDとパスワードを入力してください。
    • AMD/ などのリストが表示されたらデータ配信サーバーと疎通しています。
  2. Python利用環境構築ガイドに従ってPythonの利用環境をPCに構築してください。
  3. この圧縮ファイルをダウンロードして適当な場所に展開し、Pythonの作業フォルダにします。
  4. メッシュ農業気象データ利用ツール「AMD_Tools3.py」に、認証情報を書き込みます。
    • Spyderを起動して、Pythonの作業フォルダの中のファイル「AMD_Tools3.py」をエディタペインに開きます(Spyderの操作については利用マニュアルを参照してください。)。
    • 利用者IDを、2重引用符で括って40行目に書き込みます。
    • パスワードを、2重引用符で括って41行目に書き込みます。パスワードは最大2つまで書き込めるようになっているので、どちらかに記入してください。
    • 書き込んだ後はファイルを閉じてください。
  5. Spyderを起動して、Pythonの作業フォルダの中のサンプルプログラム「test.py」を実行してください。
    • 日平均気温のグラフが表示されたら、データの利用環境は整っています。
    • グラフが表示されていない場合は、ネットワークの設定に不備が考えられます。機関のネットワーク管理者にご相談ください。
    • Anaconda3-2020.02をインストールした場合、test.pyを実行すると、'isfinite' not supported というエラーが出ることがあります。その場合、test.pyの28、53、54行目の文頭にある#を削除してください。
    • 同様に、sample_GetMetData_c.pyでエラーが出る場合は、86、104、105行目の文頭にある#を削除してください。
    • 同様に、sample_WaterTemp_TS.pyでエラーが出る場合は、63、91、92行目の文頭にある#を削除してください。

既にメッシュ農業気象データをPythonで処理されていた方へ(新システムへの移行)

 Spyderを起動して、そのタイトルバーの括弧内に表示されるPythonのバージョンを確認してください。バージョンが3.5または3.6、3.7の方は、AMD_Tools3.pyを最新のものに更新し、発行された認証情報を記入すれば、お使いのプログラムはそのまま動作します。記入の方法は「初めて利用される方へ」の項目5を参照してください。

 なお、Pythonバージョン3.7は3.5、3.6よりも便利な機能が追加されているので、この機会にPythonをバージョンアップされることをお勧めします。Pythonをバージョンアップするには、Anacondaを一度アンインストールして最新版をインストールします。一連の手順については「Python利用環境構築ガイド」を参照してください。


利用ツール・サンプルプログラム

利用ツール

  • amd_tools3.py 基本モジュール最新版 (20190610版)
    • ID・パスワードを所定の場所に書き込んで使用してください。
  • amd_daylength3.py 日長計算モジュール最新版(20170612版)
  • amd_paddywatertemp.py 水田水温を計算するWaterTemp関数を含むモジュール(20180206版)

*AMD_Tools3.py、AMD_DayLength3.pyについては、営利目的での利用の場合は農研機構の利用許諾を得てください 。

サンプルプログラム

  • sample_getmetdata-a.py: GetMetData:メッシュ農業気象データを取得する関数のサンプル(その1)。気象データーを格納する配列変数の基礎知識。
  • sample_getmetdata-b.py: GetMetData:メッシュ農業気象データを取得する関数のサンプル(その2)。面的な分布を取得して表示。
  • sample_getmetdata-c.py: GetMetData:メッシュ農業気象データを取得する関数のサンプル(その3)。特定メッシュにおける一定期間のデータを取得してグラフ化。
  • sample_getgeodata.py: GetGeoData:土地利用や都道府県域などの地理情報を取得する関数のサンプル。
  • sample_getcsv_map.py: GetCSV_Map:CSV形式のテキストファイルを数値として配列変数に読み込む関数のサンプル。
  • sample_getcsv_map-data.csv: 上のサンプルプログラムに使用するサンプルデータ。
  • sample_putcsv_ts.py: PutCSV_TS:時系列のデータをCSV形式のファイルで出力する関数のサンプル。
  • sample_putcsv_map.py: PutCSV_Map:時系列のデータをCSV形式のファイルで出力する関数のサンプル。
  • sample_putcsv_mt.py: PutCSV_MT:3次元の配列を、3次メッシュコードをキーとするテーブルの形式のCSVファイルで出力する関数のサンプル。
  • sample_putgsi_map.py: PutGSI_Map:2次元(空間分布)の配列をブラウザ上で「地理院地図」に重ねられるファイルとして出力する関数のサンプル。
  • sample_ricedevel.py: 新潟県に同一品種を一斉に移植したと仮定した時の出穂日(移植後日数)分布図を作成するプログラムのサンプル。
  • sample_ricedevel-b.py: 新潟県に同一品種を一斉に移植したと仮定した時の出穂日(暦日)分布図を作成するプログラムのサンプル。
  • sample_ricedevelpoi.py: 品種や移植日、圃場位置などの栽培条件をCSVファイルから読み取り、それぞれに対する出穂日を予測してCSVファイルに出力するプログラムのサンプル。
  • sample_ricedevelpoi-data.csv: 上のプログラムのためのサンプルデータ。
  • sample_daylength.py: daylength:日長の分布を計算する関数のサンプルプログラム。
  • sample_watertemp_map.py: 滋賀県を対象に特定日の水田水温を計算して「地理院地図」に重ねた分布図を出力するサンプル。
  • sample_watertemp_ts.py: 特定メッシュで水稲栽培期間の水田水温を計算してグラフ化し、CSVファイルを出力するサンプル。

オフラインでPythonを利用する方法

 お使いのPCのネットワーク環境によっては、データ配信サーバーに接続できない場合があります。そのような場合は、FireFoxやInternetExplorerなどのWebブラウザを用いてデータをファイルとしてダウンロードし、このデータにPythonがアクセスするように設定することにより、OPeNDAPでサーバーに接続しているのと同じ処理を実行することができます。この方法は、同じデータを何回も使用するような場合に、計算速度を向上させるとともに、サーバーの負荷を低減する効果があるので、積極的に利用してください。

手順1. データファイルを置く場所の準備

 Pythonの作業ディレクトリの中に、AMDというディレクトリ(フォルダ)を作成します。そして、その下に、ご利用の領域に応じてAreaX(Xは1~6の数字)というディレクトリを作成します。そのさらに下に、利用する年次の西暦を示す4桁の数字を名前とするディレクトリを作ります。年を跨く処理をする際は、両方の年のディレクトリを別々に作って、それぞれにデータファイルを格納します。

手順2. データファイルのダウンロード

Webブラウザで、メッシュ農業気象データ配信サーバーを開きます。表示されるディレクトリを辿って、目的とするエリア、年次、の農業気象データを選択します。この構造は、手順1で作ったものと同じです。データが選択されると、図のような画面が開くので、青字で「Variables」と書かれているセクションの右にあるチェックボックスをチェックします。この際、気象データ本体だけでなく、time、lat、lonについても忘れずにチェックを入れます。この状態で、青字で「Action」と書かれているセクションにある[Get as NetCDF 4]ボタンを押してデータをダウンロードし、正しいディレクトリに配置します。

手順3. データファイルの改名(送り状の除去)

ダウンロードされたデータは、「AMD_Area1_APCP.nc.nc4」のように末尾に「.nc4」が付いています。これはデータファイルの形式がNetCDF4であることを示す、いわば送り状のようなものなので、改名してこの部分を削除し「AMD_Area1_APCP.nc」のようにしてください。

手順4. Pythonプログラムの修正

 オフラインでPythonを利用する場合は、プログラムを少しだけ変更する必要があります。変更するのは、気象データを読み込むGetMetData関数と地理情報を読み込むGetGeoData関数です。ファイルからデータを読む場合は、関数の右側の括弧の中に、「,url='./AMD'」を追加します。

 たとえば、

T1, tim, lat, lon = AMD.GetMetData("TMP_mea", timedomain, lalodomain)

 なる文があったとすると、次のように修正します。

T1, tim, lat, lon = AMD.GetMetData("TMP_mea", timedomain, lalodomain, url='./AMD')

以上で設定は完了です。

手順5. 切り出し範囲の設定を再利用する

 メッシュ農業気象データ配信サーバーの「OPeNDAP Server Dataset Access Form」に、Data青字で「Data URL」と書かれているセクションに注目してください。下に示すような文字列が記されているはずです。

https://amd.rd.naro.go.jp:443/opendap/AMD/Area1/1980/AMD_Area1_APCP.nc

 これは、手順2で指定したデータの取得範囲をデータ配信サーバーに知らせるURLです。次回、同じ範囲の最新のデータを切り出すときは、このURLを「DataURL」右のボックスに貼り付けるだけで範囲の指定が完了します。
 ボックスを三回クリックすると文字列全体がハイライトされるので、これを[Ctrl]+[C]などでコピーし何かのテキストファイルに保存しておけば使い回すことができます。

 URLの記法を理解してしまうと、平年値など、他のデータを同じ範囲で切り出すのが簡単になります。URLには、エリアや年次、農業気象要素名がディレクトリやファイル名のように記載されているので、当該部分の文字列を書き換えます。

 URLをウエッブフラウザのブックマークとして登録してしまうと、究極的に楽をすることができます。ただし、登録するURLには小細工を施す必要があります。すなわち、URLの中最後の「.nc」の後に「.nc4」追加します。これは、手順3で「送り状」を削除したのと丁度逆の操作で、データをNetCDF4形式でパッキングするよう依頼するものです。このようにして作ったブックマークを「○○県気温2013」などの名で登録しておくと、次回からは、ブックマークをクリックするだけで、ダウンロードをすることができるようになります。ブックマークの作成方法はウエッブブラウザのヘルプに従ってください。

戻る

python.1591343567.txt.gz · 最終更新: 2023/08/21 04:53 (外部編集)