Skip to content

Instantly share code, notes, and snippets.

@taruma
Created December 23, 2019 03:41
Show Gist options
  • Select an option

  • Save taruma/7f81cf0fea5250cfe47942b4e16a8a65 to your computer and use it in GitHub Desktop.

Select an option

Save taruma/7f81cf0fea5250cfe47942b4e16a8a65 to your computer and use it in GitHub Desktop.
taruma_hk106_evapotranspirasi.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "taruma_hk106_evapotranspirasi.ipynb",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/taruma/7f81cf0fea5250cfe47942b4e16a8a65/taruma_hk106_evapotranspirasi.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "MDQsfFwsK9jC",
"colab_type": "text"
},
"source": [
"Berdasarkan isu [#106](https://github.com/taruma/hidrokit/issues/106): **menghitung evapotranspirasi**\n",
"\n",
"Referensi Isu:\n",
"- Limantara, Lily M. (2018): _Rekayasa Hidrologi, Edisi Revisi_. Penerbit Andi Offset, Yogyakarta. (hal. 31-47).\n",
"\n",
"Deskripsi Isu:\n",
"- Menghitung Evapotranspirasi dengan tiga rumus yaitu Rumus Blaney-Criddle, Rumus Radiasi, Rumus Penman.\n",
"\n",
"Strategi:\n",
"- Urutan pengembangan dari Blaney-Criddle, Radiasi, kemudian diakhiri Penman. Beberapa tabel yang digunakan pada Penman tersedia pada rumus sebelumnya.\n",
"- Buat Tabel lampiran yang digunakan sebagai acuan. Tabel berupa:\n",
" - Tabel `rel_P_LL`, hubungan $P$ dan Letak Lintang (LL) (Untuk Indonesia $5^{\\circ}$ s/d $10^{\\circ} \\text{LS}$).\n",
" - Tabel `cor_C_BC`, angka koreksi $C$ menurut Blaney Criddle.\n",
" - Tabel `rel_T_W`, hubungan $T$ dan $W$ (untuk Indonesia, El. $0-500\\ \\text{m}$)\n",
" - Tabel `cor_C_RAD`, angka koreksi $C$ menurut Rumus Radiasi.\n",
" - Tabel `val_Rg`, harga $R_\\gamma$ (Untuk Indonesia $5^{\\circ}\\ \\text{LU}$ s/d $10^{\\circ}\\ \\text{LS}$).\n",
" - Tabel `cor_C_PEN`, angka koreksi $C$ menurut Penman.\n",
" - Tabel `rel_T_PEN`, hubungan $T$ dengan $\\varepsilon_\\gamma, W, F(T)$.\n",
"- Pengembangan fungsi mengikuti `hk89.model_NRECA()`.\n",
"\n",
"Catatan:\n",
"- Sampel menggunakan soal latihan yang tersedia dalam buku."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GwItO7fXgwrm",
"colab_type": "text"
},
"source": [
"# PERSIAPAN DAN DATASET"
]
},
{
"cell_type": "code",
"metadata": {
"id": "A4THrgNRK27n",
"colab_type": "code",
"colab": {}
},
"source": [
"import pandas as pd\n",
"import numpy as np"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "Wpye0gMCPclZ",
"colab_type": "text"
},
"source": [
"# TABEL\n",
"\n",
"Nilai tabel mengikuti referensi buku. Tabel yang digunakan dalam perhitungan dibangkitkan dengan kode dibawah ini:"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ju1YmXlzPbuq",
"colab_type": "code",
"colab": {}
},
"source": [
"t_rel_P_LL = pd.DataFrame({\n",
" '5 U': [0.27]*3 + [0.28]*6 + [0.27]*3,\n",
" '2.5 U': [0.27]*3 + [0.28]*6 + [0.27]*3,\n",
" '0': [.27]*12,\n",
" '2.5 S': [.28]*12,\n",
" '5 S': [.28]*12,\n",
" '7.5 S': [.28]*4 + [.27]*4 + [.28]*3 + [.29]*1,\n",
" '10 S': [.29] + [.28]*2 + [.27] + [.26]*4 + [.27] +[.28]*2 + [.29]\n",
"}, index=range(1, 13))\n",
"\n",
"t_cor_C_BC = pd.DataFrame({\n",
" 'C': [.8, .8, .75, .7, .7, .7, .7, .75, .8, .8, .8, .8]\n",
"}, index=range(1, 13))\n",
"\n",
"t_rel_T_W = pd.DataFrame({\n",
" 'suhu': np.arange(24.0, 30, 0.2),\n",
" 'W': np.arange(0.735, 0.794, .002)\n",
"})\n",
"\n",
"t_cor_C_RAD = pd.DataFrame(\n",
" {'C': [.8]*2 + [.75]*5 + [.8]*5},\n",
" index=range(1, 13))\n",
"\n",
"_data = [13.0, 14.3, 14.7, 15.0, 15.3, 15.5, 15.8, 16.1, 16.1, \n",
" 14.0, 15.0, 15.3, 15.5, 15.7, 15.8, 16.0, 16.1, 16.0, \n",
" 15.0, 15.5, 15.6, 15.7, 15.7, 15.6, 15.6, 15.1, 15.3, \n",
" 15.1, 15.5, 15.3, 15.3, 15.1, 14.9, 14.7, 14.1, 14.0, \n",
" 15.3, 14.9, 14.6, 14.4, 14.1, 13.8, 13.4, 13.1, 12.6, \n",
" 15.0, 14.4, 14.2, 13.9, 13.9, 13.2, 12.8, 12.4, 12.6, \n",
" 15.1, 14.6, 14.3, 14.1, 14.1, 13.4, 13.1, 12.7, 11.8, \n",
" 15.3, 15.1, 14.9, 14.8, 14.8, 14.3, 14.0, 13.7, 12.2, \n",
" 15.1, 15.3, 15.3, 15.3, 15.3, 15.1, 15.0, 14.9, 13.1, \n",
" 15.7, 15.1, 15.3, 15.4, 15.4, 15.6, 15.7, 15.8, 14.6, \n",
" 14.8, 14.5, 14.8, 15.1, 15.1, 15.5, 15.8, 16.0, 15.6, \n",
" 14.6, 14.1, 14.4, 14.8, 14.8, 15.4, 15.7, 16.0, 16.0]\n",
"_data = np.array(_data).reshape((12, 9)).T\n",
"t_val_Rg = pd.DataFrame(_data,\n",
" columns=range(1, 13),\n",
" index=['5 LU', '4 LU', '2 LU', '0', \n",
" '2 LS', '4 LS', '6 LS', '8 LS', \n",
" '10 LS']).T\n",
"\n",
"t_cor_C_PEN = pd.DataFrame({\n",
" 'C': [1.1]*3 + [.9]*4 + [1.1]*5,\n",
"}, index=range(1, 13))\n",
"\n",
"t_rel_T_PEN = pd.DataFrame({\n",
" 'suhu': np.arange(24., 29.1, .2),\n",
" 'e_mbar': [29.85, 30.21, 30.57, 30.94, 31.31, 31.69, 32.06, 32.45, 32.83, \n",
" 32.22, 33.62, 34.02, 34.42, 34.83, 35.25, 35.66, 36.09, 36.50, \n",
" 36.94, 37.37, 37.81, 38.25, 38.70, 39.14, 39.61, 40.06],\n",
" 'w': np.arange(0.735, 0.786, .002),\n",
" 'f_t': [15.40, 15.45, 15.50, 15.55, 15.60, 15.65, 15.70, 15.75, 15.80, \n",
" 15.85, 15.90, 15.94, 15.98, 16.02, 16.06, 16.10, 16.14, 16.18, \n",
" 16.22, 16.26, 16.30, 16.34, 16.38, 16.42, 16.46, 16.5]\n",
"})"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "U6icjtxvwqGo",
"colab_type": "text"
},
"source": [
"# DIAGRAM\n",
"\n",
"Diagram ini dibuat untuk memberikan gambaran proses perhitungan evapotranspirasi pada modul ini. Diagram dibuat oleh [taruma](https://taruma.github.io) menggunakan [draw.io](https://www.draw.io/) dengan lisensi [CC-BY-SA-4.0](https://creativecommons.org/licenses/by-sa/4.0/). Diagram mengacu pada buku [_Rekayasa Hidrologi: Edisi Revisi_ (2018)](https://www.gramedia.com/products/rekayasa-hidrologi-edisi-revisi) oleh Prof. Dr. Ir. Lily Montarcih Limantara, M.Sc. \n",
"\n",
"## Diagram Rumus Blaney Criddle dan Rumus Radiasi\n",
"\n",
"Dua diagram ini menggambarkan proses perhitungan pada fungsi `ETo_BlaneyCriddle()` dan `ETo_Radiation`.\n",
"\n",
"![Blaney Criddle and Radiation Diagram](https://github.com/taruma/taruma.github.io/blob/master/assets/hidrokit_assets/ETo_1_hidrokit_1_0_0.jpg?raw=true)\n",
"\n",
"## Diagram Rumus Penman\n",
"\n",
"Diagram ini menggambarkan proses perhitungan pada fungsi `ETo_Penman()`\n",
"\n",
"![Blaney Criddle and Radiation Diagram](https://github.com/taruma/taruma.github.io/blob/master/assets/hidrokit_assets/ETo_2_hidrokit_1_0_0.jpg?raw=true)\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zEEXWgHPgs1l",
"colab_type": "text"
},
"source": [
"# KODE"
]
},
{
"cell_type": "code",
"metadata": {
"id": "xR9ikMODl8gK",
"colab_type": "code",
"colab": {}
},
"source": [
"def __lat_to_num(lat):\n",
" num, lat = lat.split(' ')\n",
" num = float(num)\n",
" num = -num if lat.lower() == 'lu' else num\n",
" return num"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "eNWwrSldgw12",
"colab_type": "text"
},
"source": [
"## Blaney Criddle"
]
},
{
"cell_type": "code",
"metadata": {
"id": "p_WqNLTRejgX",
"colab_type": "code",
"colab": {}
},
"source": [
"def BC_ETo(c, ETo_x):\n",
" return c * ETo_x\n",
"\n",
"def BC_ETo_x(P, temp):\n",
" return P * (.457*temp + 8.13)\n",
"\n",
"def BC_find_P(latitude, month, table=t_rel_P_LL):\n",
" m = table.loc[month].values\n",
" x = [-5, -2.5, 0, 2.5, 5, 7.5, 10]\n",
" return np.interp(__lat_to_num(latitude), x, m)\n",
"\n",
"def BC_find_C(month, table=t_cor_C_BC, col='C'):\n",
" return table.loc[month, col]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "k-FOJZQRl-M9",
"colab_type": "code",
"colab": {}
},
"source": [
"def ETo_BlaneyCriddle(df, temp_col, lat, \n",
" as_df=True, report='ETo'):\n",
"\n",
" # sub_df\n",
" data = df.loc[:, [temp_col]]\n",
" data_array = data.values\n",
"\n",
" # info_df\n",
" nrows = data.shape[0]\n",
"\n",
" # initialization\n",
" (P, ETo_x, C, ETo) = (np.zeros(nrows) for _ in range(4))\n",
"\n",
" # calculation\n",
" temp = data_array[:, 0]\n",
" month = data.index.month.values\n",
"\n",
" for i in range(nrows):\n",
" P[i] = BC_find_P(lat, month[i])\n",
" ETo_x[i] = BC_ETo_x(P[i], temp[i])\n",
" C[i] = BC_find_C(month[i])\n",
" ETo[i] = BC_ETo(C[i], ETo_x[i])\n",
"\n",
" if report.lower() == 'full':\n",
" results = np.stack((\n",
" month, temp, P, ETo_x, C, ETo\n",
" ), axis=1)\n",
" columns_name = [\n",
" 'Month', 'Temp', 'P', 'ETo_x', 'C', 'ETo'\n",
" ]\n",
" elif report.lower() == 'eto':\n",
" results = ETo\n",
" columns_name = ['ETo']\n",
" \n",
" if as_df:\n",
" return pd.DataFrame(\n",
" data=results, index=data.index, columns=columns_name\n",
" )\n",
" else:\n",
" return results"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "Yd3ZkYW0sqCZ",
"colab_type": "text"
},
"source": [
"## RADIASI"
]
},
{
"cell_type": "code",
"metadata": {
"id": "rZHb775hsh1a",
"colab_type": "code",
"colab": {}
},
"source": [
"def RAD_ETo(C, ETo_x):\n",
" return C * ETo_x\n",
"\n",
"def RAD_ETo_x(w, Rs):\n",
" return w * Rs\n",
"\n",
"def RAD_find_W(temp, table=t_rel_T_W):\n",
" t = table['suhu'].values\n",
" w = table['W'].values\n",
" return np.interp(temp, t, w)\n",
"\n",
"def RAD_find_Rg(latitude, month, table=t_val_Rg):\n",
" m = table.loc[month].values\n",
" x = [-5, -4, -2, 0, 2, 4, 6, 8, 10]\n",
" return np.interp(__lat_to_num(latitude), x, m)\n",
"\n",
"def RAD_Rs(sun_duration, Rg):\n",
" return (0.25 + 0.54 * sun_duration/100) * Rg\n",
"\n",
"def RAD_find_C(month, table=t_cor_C_RAD, col='C'):\n",
" return table.loc[month, col]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Jrz9uDHG3WQK",
"colab_type": "code",
"colab": {}
},
"source": [
"def ETo_Radiation(df, temp_col, sun_col, lat,\n",
" as_df=True, report='ETo'):\n",
"\n",
" # sub_df\n",
" data = df.loc[:, [temp_col, sun_col]]\n",
" data_array = data.values\n",
"\n",
" # info_df\n",
" nrows = data.shape[0]\n",
"\n",
" # initialization\n",
" (w, Rg, Rs, ETo_x, C, ETo) = (np.zeros(nrows) for _ in range(6))\n",
"\n",
" # calculation\n",
" temp = data_array[:, 0]\n",
" sun = data_array[:, 1]\n",
" month = data.index.month.values\n",
"\n",
" for i in range(nrows):\n",
" w[i] = RAD_find_W(temp[i])\n",
" Rg[i] = RAD_find_Rg(lat, month[i])\n",
" Rs[i] = RAD_Rs(sun[i], Rg[i])\n",
" ETo_x[i] = RAD_ETo_x(w[i], Rs[i])\n",
" C[i] = RAD_find_C(month[i])\n",
" ETo[i] = RAD_ETo(C[i], ETo_x[i])\n",
"\n",
"\n",
" if report.lower() == 'full':\n",
" results = np.stack((\n",
" month, temp, sun, w, Rg, Rs, ETo_x, C, ETo\n",
" ), axis=1)\n",
" columns_name = [\n",
" 'Month', 'Temp', 'Sun', 'W', 'R_G', 'R_s', 'ETo_x', 'C', 'ETo'\n",
" ]\n",
" elif report.lower() == 'eto':\n",
" results = ETo\n",
" columns_name = ['ETo']\n",
" \n",
" if as_df:\n",
" return pd.DataFrame(\n",
" data=results, index=data.index, columns=columns_name\n",
" )\n",
" else:\n",
" return results"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "S8fO9KhQ7NN3",
"colab_type": "text"
},
"source": [
"## Penman"
]
},
{
"cell_type": "code",
"metadata": {
"id": "2dEmvJ1C6nHw",
"colab_type": "code",
"colab": {}
},
"source": [
"def PEN_ETo(C, ETo_x):\n",
" return C * ETo_x\n",
"\n",
"def PEN_ETo_x(w, Rs, Rn1, fU, e_g, e_d):\n",
" return w * (0.75 * Rs - Rn1) + (1 - w) * fU * (e_g - e_d)\n",
"\n",
"def PEN_Rs(sun_duration, RG):\n",
" return (0.25 + 0.54 * sun_duration / 100) * RG\n",
"\n",
"def PEN_Rn1(ft, fe_d, fsun):\n",
" return ft * fe_d * fsun\n",
"\n",
"def PEN_fe_d(e_d):\n",
" return 0.34 - 0.044 * np.sqrt(e_d)\n",
"\n",
"def PEN_e_d(e_d, RH):\n",
" return e_d * RH /100\n",
"\n",
"def PEN_fsun(sun_duration):\n",
" return 0.1 + (0.9 * sun_duration / 100)\n",
"\n",
"def PEN_fU(U):\n",
" return 0.27 * (1 + 0.864 * U)\n",
"\n",
"def PEN_find_from_T(temp, table=t_rel_T_PEN):\n",
" t = table['suhu'].values\n",
" e = table['e_mbar'].values\n",
" w = table['w'].values\n",
" ft = table['f_t'].values\n",
"\n",
" return (\n",
" np.interp(temp, t, e),\n",
" np.interp(temp, t, w),\n",
" np.interp(temp, t, ft)\n",
" )\n",
"\n",
"def PEN_find_Rg(latitude, month, table=t_val_Rg):\n",
" m = table.loc[month].values\n",
" x = [-5, -4, -2, 0, 2, 4, 6, 8, 10]\n",
" return np.interp(__lat_to_num(latitude), x, m)\n",
"\n",
"def PEN_find_C(month, table=t_cor_C_PEN, col='C'):\n",
" return table.loc[month, col]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "jJWaFyRx_Nmv",
"colab_type": "code",
"colab": {}
},
"source": [
"def ETo_Penman(df, temp_col, humid_col, wind_col, sun_col, lat,\n",
" as_df=True, report='ETo'):\n",
"\n",
" # sub_df\n",
" data = df.loc[:, [temp_col, humid_col, wind_col, sun_col]]\n",
" data_array = data.values\n",
"\n",
" # info_df\n",
" nrows = data.shape[0]\n",
"\n",
" # initialization\n",
" (e_g, w, ft, fed, e_d, Rg, Rs, fsun,\n",
" fU, Rn1, C, ETo_x, ETo) = (np.zeros(nrows) for _ in range(13))\n",
"\n",
" # calculation\n",
" temp = data_array[:, 0]\n",
" RH = data_array[:, 1]\n",
" wind = data_array[:, 2]\n",
" sun = data_array[:, 3]\n",
" month = data.index.month.values\n",
"\n",
" for i in range(nrows):\n",
" e_g[i], w[i], ft[i] = PEN_find_from_T(temp[i])\n",
" e_d[i] = PEN_e_d(e_g[i], RH[i])\n",
" fed[i] = PEN_fe_d(e_d[i])\n",
" Rg[i] = PEN_find_Rg(lat, month[i])\n",
" Rs[i] = PEN_Rs(sun[i], Rg[i])\n",
" fsun[i] = PEN_fsun(sun[i])\n",
" fU[i] = PEN_fU(wind[i])\n",
" Rn1[i] = PEN_Rn1(ft[i], fed[i], fsun[i])\n",
" C[i] = PEN_find_C(month[i])\n",
" ETo_x[i] = PEN_ETo_x(w[i], Rs[i], Rn1[i], fU[i], e_g[i], e_d[i])\n",
" ETo[i] = PEN_ETo(C[i], ETo_x[i])\n",
"\n",
"\n",
" if report.lower() == 'full':\n",
" results = np.stack((\n",
" month, temp, RH, wind, sun, e_g, w, ft, e_d, fed, Rg, Rs,\n",
" fsun, fU, Rn1, C, ETo_x, ETo\n",
" ), axis=1)\n",
" columns_name = [\n",
" 'Month', 'Temp', 'Humidity', 'Wind', 'Sun', 'e_g', 'w', 'f_t',\n",
" 'e_d', 'f_e_d', 'R_g', 'R_s', 'f_sun', 'f_U', 'R_n1', 'C', 'ETo_x',\n",
" 'ETo'\n",
" ]\n",
" elif report.lower() == 'eto':\n",
" results = ETo\n",
" columns_name = ['ETo']\n",
" \n",
" if as_df:\n",
" return pd.DataFrame(\n",
" data=results, index=data.index, columns=columns_name\n",
" )\n",
" else:\n",
" return results"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "sQmsetLse4ag",
"colab_type": "text"
},
"source": [
"# FUNGSI\n",
"\n",
"Dalam modul ini terdapat tiga fungsi utama yang memiliki rumus berbeda yaitu `ETo_BlaneyCriddle()` untuk rumus Blaney Criddle, `ETo_Radiation()` untuk rumus Radiasi, `ETo_Penman()` untuk rumus Penman.\n",
"\n",
"Ketiga ini memiliki keserupaan argumen dalam fungsi, berikut argumen yang terdapat pada ketiga fungsi:\n",
"- `df`: dataset objek `pandas.DataFrame` dengan index berupa objek `DatetimeIndex` atau yang serupa.\n",
"- `lat`: posisi lintang lokasi dalam bentuk _string_ seperti `5 LU`/`3.5 LS`. \n",
"- (opsional) `as_df=True` (_default_), keluaran berupa `pandas.DataFrame`. Keluaran berupa `numpy.ndarray` jika `False`.\n",
"- (opsional) `report='ETo'` (_default_), terdapat beberapa nilai yang dapat diterima oleh argumen `report`:\n",
" - `full`: keluaran akan menyertakan seluruh peubah yang dihitung dalam model.\n",
" - `Eto`: keluaran hanya menyertakan kolom `ETo` (hasil akhir model)."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WNLXpo-8e58m",
"colab_type": "text"
},
"source": [
"## Fungsi `ETo_BlaneyCriddle()`\n",
"\n",
"Selain argumen posisi `df`, `lat` dan argumen opsional `as_df`, `report`, fungsi ini membutuhkan argumen `temp_col` yaitu nama kolom suhu. "
]
},
{
"cell_type": "code",
"metadata": {
"id": "fF_s2gznM9Nw",
"colab_type": "code",
"colab": {}
},
"source": [
"sample = pd.DataFrame(\n",
" data=[27.2,27.4,27.3,27.9,27.9,26.8,26.9,28.6,27.9,27.5,27.7,27.3],\n",
" index=pd.date_range('20010101', periods=12, freq='MS'),\n",
" columns=['temp_C']\n",
")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "VUftqhQoym-o",
"colab_type": "text"
},
"source": [
"### default, `as_df=False`"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Ws9F0TXvyqBZ",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 51
},
"outputId": "c07a25f1-8524-45e0-a52f-17fcf43961ff"
},
"source": [
"ETo_BlaneyCriddle(df=sample, \n",
" temp_col='temp_C', \n",
" lat='7.5 LS',\n",
" as_df=False)"
],
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([4.6055296, 4.6260032, 4.327281 , 4.0925388, 3.9463767, 3.8513664,\n",
" 3.8600037, 4.2930405, 4.6771872, 4.63624 , 4.6567136, 4.7806152])"
]
},
"metadata": {
"tags": []
},
"execution_count": 11
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "k7yNXNbYywLp",
"colab_type": "text"
},
"source": [
"### `report='full'`"
]
},
{
"cell_type": "code",
"metadata": {
"id": "jwfrbRHdyzRF",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 421
},
"outputId": "77160de6-d543-47c4-966f-b41ee8ec7dff"
},
"source": [
"ETo_BlaneyCriddle(df=sample, \n",
" temp_col='temp_C', \n",
" lat='7.5 LS',\n",
" report='full')"
],
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Month</th>\n",
" <th>Temp</th>\n",
" <th>P</th>\n",
" <th>ETo_x</th>\n",
" <th>C</th>\n",
" <th>ETo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2001-01-01</th>\n",
" <td>1.0</td>\n",
" <td>27.2</td>\n",
" <td>0.28</td>\n",
" <td>5.756912</td>\n",
" <td>0.80</td>\n",
" <td>4.605530</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-02-01</th>\n",
" <td>2.0</td>\n",
" <td>27.4</td>\n",
" <td>0.28</td>\n",
" <td>5.782504</td>\n",
" <td>0.80</td>\n",
" <td>4.626003</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-03-01</th>\n",
" <td>3.0</td>\n",
" <td>27.3</td>\n",
" <td>0.28</td>\n",
" <td>5.769708</td>\n",
" <td>0.75</td>\n",
" <td>4.327281</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-04-01</th>\n",
" <td>4.0</td>\n",
" <td>27.9</td>\n",
" <td>0.28</td>\n",
" <td>5.846484</td>\n",
" <td>0.70</td>\n",
" <td>4.092539</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-05-01</th>\n",
" <td>5.0</td>\n",
" <td>27.9</td>\n",
" <td>0.27</td>\n",
" <td>5.637681</td>\n",
" <td>0.70</td>\n",
" <td>3.946377</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-06-01</th>\n",
" <td>6.0</td>\n",
" <td>26.8</td>\n",
" <td>0.27</td>\n",
" <td>5.501952</td>\n",
" <td>0.70</td>\n",
" <td>3.851366</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-07-01</th>\n",
" <td>7.0</td>\n",
" <td>26.9</td>\n",
" <td>0.27</td>\n",
" <td>5.514291</td>\n",
" <td>0.70</td>\n",
" <td>3.860004</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-08-01</th>\n",
" <td>8.0</td>\n",
" <td>28.6</td>\n",
" <td>0.27</td>\n",
" <td>5.724054</td>\n",
" <td>0.75</td>\n",
" <td>4.293041</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-09-01</th>\n",
" <td>9.0</td>\n",
" <td>27.9</td>\n",
" <td>0.28</td>\n",
" <td>5.846484</td>\n",
" <td>0.80</td>\n",
" <td>4.677187</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-10-01</th>\n",
" <td>10.0</td>\n",
" <td>27.5</td>\n",
" <td>0.28</td>\n",
" <td>5.795300</td>\n",
" <td>0.80</td>\n",
" <td>4.636240</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-11-01</th>\n",
" <td>11.0</td>\n",
" <td>27.7</td>\n",
" <td>0.28</td>\n",
" <td>5.820892</td>\n",
" <td>0.80</td>\n",
" <td>4.656714</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-12-01</th>\n",
" <td>12.0</td>\n",
" <td>27.3</td>\n",
" <td>0.29</td>\n",
" <td>5.975769</td>\n",
" <td>0.80</td>\n",
" <td>4.780615</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Month Temp P ETo_x C ETo\n",
"2001-01-01 1.0 27.2 0.28 5.756912 0.80 4.605530\n",
"2001-02-01 2.0 27.4 0.28 5.782504 0.80 4.626003\n",
"2001-03-01 3.0 27.3 0.28 5.769708 0.75 4.327281\n",
"2001-04-01 4.0 27.9 0.28 5.846484 0.70 4.092539\n",
"2001-05-01 5.0 27.9 0.27 5.637681 0.70 3.946377\n",
"2001-06-01 6.0 26.8 0.27 5.501952 0.70 3.851366\n",
"2001-07-01 7.0 26.9 0.27 5.514291 0.70 3.860004\n",
"2001-08-01 8.0 28.6 0.27 5.724054 0.75 4.293041\n",
"2001-09-01 9.0 27.9 0.28 5.846484 0.80 4.677187\n",
"2001-10-01 10.0 27.5 0.28 5.795300 0.80 4.636240\n",
"2001-11-01 11.0 27.7 0.28 5.820892 0.80 4.656714\n",
"2001-12-01 12.0 27.3 0.29 5.975769 0.80 4.780615"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "fy1su-emfZme",
"colab_type": "text"
},
"source": [
"## Fungsi `ETo_Radiation()`\n",
"\n",
"Selain argumen posisi `df`, `lat` dan argumen opsional `as_df`, `report`, fungsi ini membutuhkan argumen:\n",
"- `temp_col` yaitu nama kolom suhu.\n",
"- `sun_col` yaitu nama kolom penyinaran matahari. "
]
},
{
"cell_type": "code",
"metadata": {
"id": "8YJ9TNBDfcI0",
"colab_type": "code",
"colab": {}
},
"source": [
"sample_2 = pd.DataFrame({\n",
" 'temp': [25.4, 25.7, 26.1, 26.9, 26.4, 26.6, 26.2, 25.9,\n",
" 26.6, 27.9, 28.4, 27.2],\n",
" 'sun': [41.8, 41.8, 53.6, 49.1, 60.0, 63.6, 60.9, 57.3,\n",
" 61.8, 65.5, 61.8, 47.3],\n",
"}, index=pd.date_range('20010101', periods=12, freq='MS'))"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "whPiY3XdzLDg",
"colab_type": "text"
},
"source": [
"### default, `report='full'`"
]
},
{
"cell_type": "code",
"metadata": {
"id": "q2qteeV8zNkg",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 421
},
"outputId": "3ff9baef-aa19-4d35-fb7c-85be5e9efb5b"
},
"source": [
"ETo_Radiation(df=sample_2, \n",
" temp_col='temp', \n",
" sun_col='sun', \n",
" lat='7.5 LS', \n",
" report='full')"
],
"execution_count": 14,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Month</th>\n",
" <th>Temp</th>\n",
" <th>Sun</th>\n",
" <th>W</th>\n",
" <th>R_G</th>\n",
" <th>R_s</th>\n",
" <th>ETo_x</th>\n",
" <th>C</th>\n",
" <th>ETo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2001-01-01</th>\n",
" <td>1.0</td>\n",
" <td>25.4</td>\n",
" <td>41.8</td>\n",
" <td>0.749</td>\n",
" <td>16.025</td>\n",
" <td>7.623413</td>\n",
" <td>5.709936</td>\n",
" <td>0.80</td>\n",
" <td>4.567949</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-02-01</th>\n",
" <td>2.0</td>\n",
" <td>25.7</td>\n",
" <td>41.8</td>\n",
" <td>0.752</td>\n",
" <td>16.075</td>\n",
" <td>7.647199</td>\n",
" <td>5.750694</td>\n",
" <td>0.80</td>\n",
" <td>4.600555</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-03-01</th>\n",
" <td>3.0</td>\n",
" <td>26.1</td>\n",
" <td>53.6</td>\n",
" <td>0.756</td>\n",
" <td>15.225</td>\n",
" <td>8.212974</td>\n",
" <td>6.209008</td>\n",
" <td>0.75</td>\n",
" <td>4.656756</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-04-01</th>\n",
" <td>4.0</td>\n",
" <td>26.9</td>\n",
" <td>49.1</td>\n",
" <td>0.764</td>\n",
" <td>14.250</td>\n",
" <td>7.340745</td>\n",
" <td>5.608329</td>\n",
" <td>0.75</td>\n",
" <td>4.206247</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-05-01</th>\n",
" <td>5.0</td>\n",
" <td>26.4</td>\n",
" <td>60.0</td>\n",
" <td>0.759</td>\n",
" <td>13.175</td>\n",
" <td>7.562450</td>\n",
" <td>5.739900</td>\n",
" <td>0.75</td>\n",
" <td>4.304925</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-06-01</th>\n",
" <td>6.0</td>\n",
" <td>26.6</td>\n",
" <td>63.6</td>\n",
" <td>0.761</td>\n",
" <td>12.500</td>\n",
" <td>7.418000</td>\n",
" <td>5.645098</td>\n",
" <td>0.75</td>\n",
" <td>4.233823</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-07-01</th>\n",
" <td>7.0</td>\n",
" <td>26.2</td>\n",
" <td>60.9</td>\n",
" <td>0.757</td>\n",
" <td>12.800</td>\n",
" <td>7.409408</td>\n",
" <td>5.608922</td>\n",
" <td>0.75</td>\n",
" <td>4.206691</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-08-01</th>\n",
" <td>8.0</td>\n",
" <td>25.9</td>\n",
" <td>57.3</td>\n",
" <td>0.754</td>\n",
" <td>13.775</td>\n",
" <td>7.706010</td>\n",
" <td>5.810332</td>\n",
" <td>0.80</td>\n",
" <td>4.648266</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-09-01</th>\n",
" <td>9.0</td>\n",
" <td>26.6</td>\n",
" <td>61.8</td>\n",
" <td>0.761</td>\n",
" <td>14.925</td>\n",
" <td>8.712021</td>\n",
" <td>6.629848</td>\n",
" <td>0.80</td>\n",
" <td>5.303878</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-10-01</th>\n",
" <td>10.0</td>\n",
" <td>27.9</td>\n",
" <td>65.5</td>\n",
" <td>0.774</td>\n",
" <td>15.775</td>\n",
" <td>9.523368</td>\n",
" <td>7.371086</td>\n",
" <td>0.80</td>\n",
" <td>5.896869</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-11-01</th>\n",
" <td>11.0</td>\n",
" <td>28.4</td>\n",
" <td>61.8</td>\n",
" <td>0.779</td>\n",
" <td>15.950</td>\n",
" <td>9.310334</td>\n",
" <td>7.252750</td>\n",
" <td>0.80</td>\n",
" <td>5.802200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-12-01</th>\n",
" <td>12.0</td>\n",
" <td>27.2</td>\n",
" <td>47.3</td>\n",
" <td>0.767</td>\n",
" <td>15.925</td>\n",
" <td>8.048813</td>\n",
" <td>6.173440</td>\n",
" <td>0.80</td>\n",
" <td>4.938752</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Month Temp Sun W ... R_s ETo_x C ETo\n",
"2001-01-01 1.0 25.4 41.8 0.749 ... 7.623413 5.709936 0.80 4.567949\n",
"2001-02-01 2.0 25.7 41.8 0.752 ... 7.647199 5.750694 0.80 4.600555\n",
"2001-03-01 3.0 26.1 53.6 0.756 ... 8.212974 6.209008 0.75 4.656756\n",
"2001-04-01 4.0 26.9 49.1 0.764 ... 7.340745 5.608329 0.75 4.206247\n",
"2001-05-01 5.0 26.4 60.0 0.759 ... 7.562450 5.739900 0.75 4.304925\n",
"2001-06-01 6.0 26.6 63.6 0.761 ... 7.418000 5.645098 0.75 4.233823\n",
"2001-07-01 7.0 26.2 60.9 0.757 ... 7.409408 5.608922 0.75 4.206691\n",
"2001-08-01 8.0 25.9 57.3 0.754 ... 7.706010 5.810332 0.80 4.648266\n",
"2001-09-01 9.0 26.6 61.8 0.761 ... 8.712021 6.629848 0.80 5.303878\n",
"2001-10-01 10.0 27.9 65.5 0.774 ... 9.523368 7.371086 0.80 5.896869\n",
"2001-11-01 11.0 28.4 61.8 0.779 ... 9.310334 7.252750 0.80 5.802200\n",
"2001-12-01 12.0 27.2 47.3 0.767 ... 8.048813 6.173440 0.80 4.938752\n",
"\n",
"[12 rows x 9 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 14
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ABkJ4updfmbY",
"colab_type": "text"
},
"source": [
"## Fungsi `ETo_Penman()`\n",
"\n",
"Selain argumen posisi `df` dan `lat`; argumen opsional `as_df` dan `report`, fungsi ini membutuhkan argumen:\n",
"- `temp_col`: nama kolom suhu.\n",
"- `sun_col`: nama kolom penyinaran matahari. \n",
"- `humid_col`: nama kolom kelembaban.\n",
"- `wind_col`: nama kolom kecepatan angin."
]
},
{
"cell_type": "code",
"metadata": {
"id": "O_oyJmosfoW6",
"colab_type": "code",
"colab": {}
},
"source": [
"sample_3 = pd.DataFrame({\n",
" 'temp': [25.4, 25.7, 26.1, 26.9, 26.4, 26.6, 26.2, 25.9,\n",
" 26.6, 27.9, 28.4, 27.2],\n",
" 'humid': [76.6, 79.6, 74.4, 78.0, 79.1, 78.8, 79.6, 79.8,\n",
" 77.4, 79.4, 77.2, 77.7],\n",
" 'wind': [2.3, 1.8, 1.9, 2.0, 2.0, 2.4, 2.5, 3.0, 3.3, 3.0, 2.0, 2.4],\n",
" 'sun': [41.8, 41.8, 53.6, 49.1, 60.0, 63.6, 60.9, 57.3, 61.8, \n",
" 65.5, 61.8, 47.3]\n",
"}, index=pd.date_range('20010101', periods=12, freq='MS'))"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "DEIP-9Pczwl6",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 421
},
"outputId": "9bbcebb5-63d3-4f3e-f5b3-b8b24978d137"
},
"source": [
"ETo_Penman(df=sample_3, \n",
" temp_col='temp', \n",
" humid_col='humid', \n",
" wind_col='wind', \n",
" sun_col='sun', \n",
" lat='7.5 LS', \n",
" report='full')"
],
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Month</th>\n",
" <th>Temp</th>\n",
" <th>Humidity</th>\n",
" <th>Wind</th>\n",
" <th>Sun</th>\n",
" <th>e_g</th>\n",
" <th>w</th>\n",
" <th>f_t</th>\n",
" <th>e_d</th>\n",
" <th>f_e_d</th>\n",
" <th>R_g</th>\n",
" <th>R_s</th>\n",
" <th>f_sun</th>\n",
" <th>f_U</th>\n",
" <th>R_n1</th>\n",
" <th>C</th>\n",
" <th>ETo_x</th>\n",
" <th>ETo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2001-01-01</th>\n",
" <td>1.0</td>\n",
" <td>25.4</td>\n",
" <td>76.6</td>\n",
" <td>2.3</td>\n",
" <td>41.8</td>\n",
" <td>32.450</td>\n",
" <td>0.749</td>\n",
" <td>15.750</td>\n",
" <td>24.85670</td>\n",
" <td>0.120631</td>\n",
" <td>16.025</td>\n",
" <td>7.623413</td>\n",
" <td>0.4762</td>\n",
" <td>0.806544</td>\n",
" <td>0.904754</td>\n",
" <td>1.1</td>\n",
" <td>5.141999</td>\n",
" <td>5.656198</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-02-01</th>\n",
" <td>2.0</td>\n",
" <td>25.7</td>\n",
" <td>79.6</td>\n",
" <td>1.8</td>\n",
" <td>41.8</td>\n",
" <td>32.525</td>\n",
" <td>0.752</td>\n",
" <td>15.825</td>\n",
" <td>25.88990</td>\n",
" <td>0.116119</td>\n",
" <td>16.075</td>\n",
" <td>7.647199</td>\n",
" <td>0.4762</td>\n",
" <td>0.689904</td>\n",
" <td>0.875055</td>\n",
" <td>1.1</td>\n",
" <td>4.790219</td>\n",
" <td>5.269241</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-03-01</th>\n",
" <td>3.0</td>\n",
" <td>26.1</td>\n",
" <td>74.4</td>\n",
" <td>1.9</td>\n",
" <td>53.6</td>\n",
" <td>33.820</td>\n",
" <td>0.756</td>\n",
" <td>15.920</td>\n",
" <td>25.16208</td>\n",
" <td>0.119288</td>\n",
" <td>15.225</td>\n",
" <td>8.212974</td>\n",
" <td>0.5824</td>\n",
" <td>0.713232</td>\n",
" <td>1.106015</td>\n",
" <td>1.1</td>\n",
" <td>5.327334</td>\n",
" <td>5.860068</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-04-01</th>\n",
" <td>4.0</td>\n",
" <td>26.9</td>\n",
" <td>78.0</td>\n",
" <td>2.0</td>\n",
" <td>49.1</td>\n",
" <td>35.455</td>\n",
" <td>0.764</td>\n",
" <td>16.080</td>\n",
" <td>27.65490</td>\n",
" <td>0.108613</td>\n",
" <td>14.250</td>\n",
" <td>7.340745</td>\n",
" <td>0.5419</td>\n",
" <td>0.736560</td>\n",
" <td>0.946428</td>\n",
" <td>0.9</td>\n",
" <td>4.839053</td>\n",
" <td>4.355148</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-05-01</th>\n",
" <td>5.0</td>\n",
" <td>26.4</td>\n",
" <td>79.1</td>\n",
" <td>2.0</td>\n",
" <td>60.0</td>\n",
" <td>34.420</td>\n",
" <td>0.759</td>\n",
" <td>15.980</td>\n",
" <td>27.22622</td>\n",
" <td>0.110413</td>\n",
" <td>13.175</td>\n",
" <td>7.562450</td>\n",
" <td>0.6400</td>\n",
" <td>0.736560</td>\n",
" <td>1.129221</td>\n",
" <td>0.9</td>\n",
" <td>4.724821</td>\n",
" <td>4.252339</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-06-01</th>\n",
" <td>6.0</td>\n",
" <td>26.6</td>\n",
" <td>78.8</td>\n",
" <td>2.4</td>\n",
" <td>63.6</td>\n",
" <td>34.830</td>\n",
" <td>0.761</td>\n",
" <td>16.020</td>\n",
" <td>27.44604</td>\n",
" <td>0.109489</td>\n",
" <td>12.500</td>\n",
" <td>7.418000</td>\n",
" <td>0.6724</td>\n",
" <td>0.829872</td>\n",
" <td>1.179394</td>\n",
" <td>0.9</td>\n",
" <td>4.800835</td>\n",
" <td>4.320751</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-07-01</th>\n",
" <td>7.0</td>\n",
" <td>26.2</td>\n",
" <td>79.6</td>\n",
" <td>2.5</td>\n",
" <td>60.9</td>\n",
" <td>34.020</td>\n",
" <td>0.757</td>\n",
" <td>15.940</td>\n",
" <td>27.07992</td>\n",
" <td>0.111031</td>\n",
" <td>12.800</td>\n",
" <td>7.409408</td>\n",
" <td>0.6481</td>\n",
" <td>0.853200</td>\n",
" <td>1.147031</td>\n",
" <td>0.9</td>\n",
" <td>4.777259</td>\n",
" <td>4.299533</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-08-01</th>\n",
" <td>8.0</td>\n",
" <td>25.9</td>\n",
" <td>79.8</td>\n",
" <td>3.0</td>\n",
" <td>57.3</td>\n",
" <td>32.920</td>\n",
" <td>0.754</td>\n",
" <td>15.875</td>\n",
" <td>26.27016</td>\n",
" <td>0.114481</td>\n",
" <td>13.775</td>\n",
" <td>7.706010</td>\n",
" <td>0.6157</td>\n",
" <td>0.969840</td>\n",
" <td>1.118960</td>\n",
" <td>1.1</td>\n",
" <td>5.100576</td>\n",
" <td>5.610634</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-09-01</th>\n",
" <td>9.0</td>\n",
" <td>26.6</td>\n",
" <td>77.4</td>\n",
" <td>3.3</td>\n",
" <td>61.8</td>\n",
" <td>34.830</td>\n",
" <td>0.761</td>\n",
" <td>16.020</td>\n",
" <td>26.95842</td>\n",
" <td>0.111545</td>\n",
" <td>14.925</td>\n",
" <td>8.712021</td>\n",
" <td>0.6562</td>\n",
" <td>1.039824</td>\n",
" <td>1.172601</td>\n",
" <td>1.1</td>\n",
" <td>6.036265</td>\n",
" <td>6.639892</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-10-01</th>\n",
" <td>10.0</td>\n",
" <td>27.9</td>\n",
" <td>79.4</td>\n",
" <td>3.0</td>\n",
" <td>65.5</td>\n",
" <td>37.590</td>\n",
" <td>0.774</td>\n",
" <td>16.280</td>\n",
" <td>29.84646</td>\n",
" <td>0.099620</td>\n",
" <td>15.775</td>\n",
" <td>9.523368</td>\n",
" <td>0.6895</td>\n",
" <td>0.969840</td>\n",
" <td>1.118236</td>\n",
" <td>1.1</td>\n",
" <td>6.360059</td>\n",
" <td>6.996065</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-11-01</th>\n",
" <td>11.0</td>\n",
" <td>28.4</td>\n",
" <td>77.2</td>\n",
" <td>2.0</td>\n",
" <td>61.8</td>\n",
" <td>38.700</td>\n",
" <td>0.779</td>\n",
" <td>16.380</td>\n",
" <td>29.87640</td>\n",
" <td>0.099499</td>\n",
" <td>15.950</td>\n",
" <td>9.310334</td>\n",
" <td>0.6562</td>\n",
" <td>0.736560</td>\n",
" <td>1.069471</td>\n",
" <td>1.1</td>\n",
" <td>6.042748</td>\n",
" <td>6.647023</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2001-12-01</th>\n",
" <td>12.0</td>\n",
" <td>27.2</td>\n",
" <td>77.7</td>\n",
" <td>2.4</td>\n",
" <td>47.3</td>\n",
" <td>36.090</td>\n",
" <td>0.767</td>\n",
" <td>16.140</td>\n",
" <td>28.04193</td>\n",
" <td>0.107000</td>\n",
" <td>15.925</td>\n",
" <td>8.048813</td>\n",
" <td>0.5257</td>\n",
" <td>0.829872</td>\n",
" <td>0.907870</td>\n",
" <td>1.1</td>\n",
" <td>5.489920</td>\n",
" <td>6.038912</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Month Temp Humidity Wind ... R_n1 C ETo_x ETo\n",
"2001-01-01 1.0 25.4 76.6 2.3 ... 0.904754 1.1 5.141999 5.656198\n",
"2001-02-01 2.0 25.7 79.6 1.8 ... 0.875055 1.1 4.790219 5.269241\n",
"2001-03-01 3.0 26.1 74.4 1.9 ... 1.106015 1.1 5.327334 5.860068\n",
"2001-04-01 4.0 26.9 78.0 2.0 ... 0.946428 0.9 4.839053 4.355148\n",
"2001-05-01 5.0 26.4 79.1 2.0 ... 1.129221 0.9 4.724821 4.252339\n",
"2001-06-01 6.0 26.6 78.8 2.4 ... 1.179394 0.9 4.800835 4.320751\n",
"2001-07-01 7.0 26.2 79.6 2.5 ... 1.147031 0.9 4.777259 4.299533\n",
"2001-08-01 8.0 25.9 79.8 3.0 ... 1.118960 1.1 5.100576 5.610634\n",
"2001-09-01 9.0 26.6 77.4 3.3 ... 1.172601 1.1 6.036265 6.639892\n",
"2001-10-01 10.0 27.9 79.4 3.0 ... 1.118236 1.1 6.360059 6.996065\n",
"2001-11-01 11.0 28.4 77.2 2.0 ... 1.069471 1.1 6.042748 6.647023\n",
"2001-12-01 12.0 27.2 77.7 2.4 ... 0.907870 1.1 5.489920 6.038912\n",
"\n",
"[12 rows x 18 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jkDVjFnRz9f-",
"colab_type": "text"
},
"source": [
"# Changelog\n",
"\n",
"```\n",
"- 20191223 - 1.0.0 - Initial\n",
"```\n",
"\n",
"#### Copyright &copy; 2019 [Taruma Sakti Megariansyah](https://taruma.github.io)\n",
"\n",
"Source code in this notebook is licensed under a [MIT License](https://choosealicense.com/licenses/mit/). Data in this notebook is licensed under a [Creative Common Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/). \n"
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment