Daily Archives: 2013年9月2日

水文解析の基本_1 [Chapter 2]

====== Pythonで水文水理解析をやってみる。[Chapter 2] ======
まずは、水文解析の基本から始めましょう。

ここで、水文学とは?
「水文循環を中心的概念として自然界の水を研究する科学。狭義の水文学は地球科学の一部門とみなされ,陸地の水の存在状態,循環,分布,物理的・化学的特質などの基礎的事項を研究する。広義の水文学には,水文循環に関する基礎的研究に基づいて,水資源の開発,水の適正な利用,水と環境との関係,水文環境の保全など,人間と水との好ましい関係を追求する応用的分野も含まれ工学的色彩が強い。狭義の水文学は基礎水文学と呼ぶことができ,具体的な研究対象は降水,遮断,蒸発散,浸透,流出などの水文循環諸過程と,それらを地域的に総合した水収支であり,その成果は水資源開発や国土計画の基礎となる。 」 引用:kotobank[[http://kotobank.jp/word/水文学]]
と書かれているように、陸上の水の循環過程を工学的及び理学的に勉強するものといえます。
本blogでは、基礎水文学として、水文循環過程について学んでいきます。

このTutorialは、[[http://www.greenteapress.com/pythonhydro/pythonhydro.html|Python in Hydrology]]を使って、Pythonの基本的な勉強と**Pythonで水理水文解析**の勉強していきます。

ただし、本Blog中の用語の翻訳、source code等に関しては、あくまでも参考としてください。なにがあっても責任とれませんので。
そこんところ、ヨロシク~~!!

===== 水文解析の基本 =====
本章の中の問題は、chowによって「応用水文学」というタイトルの本からのものです。また、それらの詳細な記述については、「応用水文学」の本に参照してください。このtutorialは、水文学の中で一般的な方程式を含んでいます。
水文学の基本として、まずは、以下の7項目について、Pythonを使って学んでいきます。
– Water Vapor(水蒸気) ->**今回はここ**
– Precipitation(降雨)
– Rainfall(降水量)
– Evaporation(蒸発散)
– Infiltration(浸透)
– Surface water(表面流)
– River Routing–Muskingum method(マスキンガム法による河道流)

===== Water Vapor(水蒸気) =====
飽和水蒸気圧(saturation vapor pressure)は、気温との関係から、

{e}_{s} = 611 exp left( 12.27T over 237.7+T right)

の式で表されます。
ここで、**es**の単位はpscal、 **T**は温度(気温)で、単位は摂氏度となります。

ここでT=50度の時の飽和水蒸気圧を求めてみましょう。

import numpy as np

T=50
es = 611*np.exp(17.27*T/(237.3+T))
print (es)


計算結果は、**12340.799081**となります。

次に、Tを-100から100度で計算して、なおかつグラフ化してみましょう。
グラフの作成は、pylabを使います。
PyScripterを立ち上げて、以下のcodeを入力します。

import numpy as np
import pylab as plt

T = np.linspace(-100,100,50)
es = 611*np.exp(17.27*T/(237.3+T))
print (es)

plt.plot(T,es)
plt.xlabel('T (degree Celcius)')
plt.ylabel('es (Pa)')
plt.show()

c:¥python_hydrology¥chapter4¥にwater_vapor.pyと保存後、実行すると、
{{http://blog.godo-tys.jp/wp-content/gallery/python_hydrology_02/image02.jpg}}
のようにxyグラフが表示されます。

また、PyScripterのインタープリタ出力には、
{{http://blog.godo-tys.jp/wp-content/gallery/python_hydrology_02/image01.jpg}}
のようにesの値が表示されます。

pythonでは、For文やdo文を使うことなく、配列の処理ができるので、プログラムをすっきりとします。

===== 今回のまとめ =====
**水文解析の基本 [Chapter 1]**の水蒸気圧について勉強しました。
次回は、Precipitation(降雨)について勉強していきます。
**[[http://blog.godo-tys.jp/python-geospatial-tutorial/|Python GeoSpatial Tutorial]]**ではGISについてblogを書いていますので、GISに興味のある方はのぞいてみてください。

また、本Tutorialは、Python Scriptの基本的なことはある程度理解している前提で今後も話を進めていきます。また、誤字、脱字、spell間違いや翻訳の勘違いも多々出てくると考えられます。
特に英語から日本語への専門用語の翻訳については、プロではないので、「それは違うじゃん!!」とかいろんな意見をいただければと思います。

**[[http://blog.godo-tys.jp/python%E3%81%A7%E6%B0%B4%E6%96%87%E6%B0%B4%E7%90%86%E8%A7%A3%E6%9E%90/|Pythonで水文水理解析の目次に戻る。]]**