Skip to content

Instantly share code, notes, and snippets.

@taruma
Last active December 23, 2019 03:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save taruma/ae5c0209ef19b088e3cd9dd22508af5c to your computer and use it in GitHub Desktop.
Save taruma/ae5c0209ef19b088e3cd9dd22508af5c to your computer and use it in GitHub Desktop.
taruma_hk96_fjmock.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "taruma_hk96_fjmock.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/ae5c0209ef19b088e3cd9dd22508af5c/taruma_hk96_fjmock.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "H2PTmCnusXY3",
"colab_type": "text"
},
"source": [
"Berdasarkan isu [#96](https://github.com/taruma/hidrokit/issues/96): **Pemodelan FJ Mock**\n",
"\n",
"Referensi Isu:\n",
"- `hidrokit.contrib.taruma.hk89`. \\([manual/notebook](https://gist.github.com/taruma/1502a7aa67cf074969d806cd3ffdf35c)\\). **Pemodelan NRECA**\n",
"- Handout 1: _Perhitungan Debit Limpasan dengan Metode F.J. Mock_ oleh Ir. Edy Anto Soentoro, MASc., PhD.\n",
"\n",
"Deskripsi permasalahan:\n",
"- Memperoleh nilai debit dari model FJ Mock.\n",
"\n",
"Strategi penyelesaian:\n",
"- Pengembangan fungsi akan serupa dengan fungsi `model_NRECA` di `taruma.hk89`.\n",
"- Kalibrasi parameter menggunakan fungsi `calibration` di `taruma.hk90`.\n",
"\n",
"Catatan:\n",
"- Untuk membuat rekapan data harian untuk data masukan model F.J. Mock bisa menggunakan modul `taruma.hk98` **buat ringkasan/rekap data deret waktu** ([manual](https://gist.github.com/taruma/aca7f90c8fbb0034587809883d0d9e92))."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kK-UaS5GtUzi",
"colab_type": "text"
},
"source": [
"# PERSIAPAN DAN DATASET"
]
},
{
"cell_type": "code",
"metadata": {
"id": "KIDURL0jrN2D",
"colab_type": "code",
"colab": {}
},
"source": [
"import numpy as np\n",
"import pandas as pd"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "1c4gtlq5tggX",
"colab_type": "code",
"colab": {}
},
"source": [
"!wget -O sample.xlsx \"https://taruma.github.io/assets/hidrokit_dataset/fjmock_sample.xlsx\" -q\n",
"dataset_path = 'sample.xlsx'"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "CWhQVNJZtmks",
"colab_type": "code",
"outputId": "a51054a2-e9c7-4d2b-c0f4-84972d1a4d58",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 419
}
},
"source": [
"dataset = pd.read_excel(dataset_path)\n",
"dataset.index = pd.date_range('20050101', '20160101', freq='MS', closed='left')\n",
"dataset"
],
"execution_count": 0,
"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>PRECIP</th>\n",
" <th>NRAIN</th>\n",
" <th>NDAYS</th>\n",
" <th>PET</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2005-01-01</th>\n",
" <td>74.945240</td>\n",
" <td>19</td>\n",
" <td>31</td>\n",
" <td>2.988970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-02-01</th>\n",
" <td>52.917729</td>\n",
" <td>12</td>\n",
" <td>28</td>\n",
" <td>3.145340</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-03-01</th>\n",
" <td>93.692801</td>\n",
" <td>17</td>\n",
" <td>31</td>\n",
" <td>3.213324</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-04-01</th>\n",
" <td>93.327242</td>\n",
" <td>19</td>\n",
" <td>30</td>\n",
" <td>3.474628</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-05-01</th>\n",
" <td>11.805463</td>\n",
" <td>7</td>\n",
" <td>31</td>\n",
" <td>3.597509</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-01</th>\n",
" <td>0.000000</td>\n",
" <td>0</td>\n",
" <td>31</td>\n",
" <td>4.500466</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-09-01</th>\n",
" <td>10.175476</td>\n",
" <td>3</td>\n",
" <td>30</td>\n",
" <td>4.827330</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-10-01</th>\n",
" <td>30.292786</td>\n",
" <td>12</td>\n",
" <td>31</td>\n",
" <td>4.858545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-11-01</th>\n",
" <td>161.871088</td>\n",
" <td>25</td>\n",
" <td>30</td>\n",
" <td>3.916633</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-12-01</th>\n",
" <td>104.403805</td>\n",
" <td>25</td>\n",
" <td>31</td>\n",
" <td>3.133179</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>132 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" PRECIP NRAIN NDAYS PET\n",
"2005-01-01 74.945240 19 31 2.988970\n",
"2005-02-01 52.917729 12 28 3.145340\n",
"2005-03-01 93.692801 17 31 3.213324\n",
"2005-04-01 93.327242 19 30 3.474628\n",
"2005-05-01 11.805463 7 31 3.597509\n",
"... ... ... ... ...\n",
"2015-08-01 0.000000 0 31 4.500466\n",
"2015-09-01 10.175476 3 30 4.827330\n",
"2015-10-01 30.292786 12 31 4.858545\n",
"2015-11-01 161.871088 25 30 3.916633\n",
"2015-12-01 104.403805 25 31 3.133179\n",
"\n",
"[132 rows x 4 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6UOg-TiTCHSF",
"colab_type": "text"
},
"source": [
"# KODE"
]
},
{
"cell_type": "code",
"metadata": {
"id": "S-shfo1Wtsgn",
"colab_type": "code",
"colab": {}
},
"source": [
"def _EPM(NDAYS, EP):\n",
" return NDAYS * EP\n",
"\n",
"def _RATEPM(EXSURF, NRAIN):\n",
" return (EXSURF / 100 / 20) * (18 - NRAIN)\n",
"\n",
"def _DELTAE(RATEPM, EPM):\n",
" return RATEPM * EPM\n",
"\n",
"def _EA(EPM, DELTAE):\n",
" return EPM - DELTAE\n",
"\n",
"def _PEA(PRECIP, EA):\n",
" return PRECIP - EA\n",
"\n",
"def _SMS(PEA, SMC_prev):\n",
" return PEA + SMC_prev\n",
"\n",
"def _SMC(PEA, SMS):\n",
" return 200 if PEA >= 0 else SMS\n",
"\n",
"def _SS(PEA):\n",
" return 0 if PEA >=0 else PEA\n",
"\n",
"def _WATSUR(PEA, SS):\n",
" return PEA - SS\n",
"\n",
"def _I(WATSUR, IF):\n",
" return WATSUR * IF\n",
"\n",
"def _CAL0(K, I):\n",
" return 1/2 * (1 + K) * I\n",
"\n",
"def _CALGS(K, GS_prev):\n",
" return K * GS_prev\n",
"\n",
"def _GS(CAL0, CALGS):\n",
" return CAL0 + CALGS\n",
"\n",
"def _DGS(GS, GS_prev):\n",
" return GS - GS_prev\n",
"\n",
"def _BFLOW(I, DGS):\n",
" return I - DGS\n",
"\n",
"def _DRO(WATSUR, I):\n",
" return WATSUR - I\n",
"\n",
"def _SRO(PRECIP, PF):\n",
" return 0 if PRECIP >= 200 else PRECIP * PF\n",
"\n",
"def _TRO(BFLOW, DRO, SRO):\n",
" return BFLOW + DRO + SRO\n",
"\n",
"def _FLOW(TRO, AREA, NDAYS):\n",
" return (TRO / 1000) * AREA / (NDAYS * 24 * 3600)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Gw46lrTuEsA1",
"colab_type": "code",
"colab": {}
},
"source": [
"def model_FJMOCK(df, precip_col, ep_col, nrain_col, ndays_col,\n",
" EXSURF, IF, K, PF, ISMC, GSOM, AREA,\n",
" as_df=True, report='flow'):\n",
" \n",
" # sub_df\n",
" data = df.loc[:, [precip_col, nrain_col, ndays_col, ep_col]]\n",
" data_array = data.values\n",
"\n",
" # info_df\n",
" nrows = data.shape[0]\n",
"\n",
" # initialization\n",
" (\n",
" epm, ratepm, deltae, ea, pea, sms, smc, ss, watsur,\n",
" i, cal0, calgs, gs, dgs, bflow, dro, sro, tro, flow\n",
" ) = (np.zeros(nrows) for _ in range(19))\n",
"\n",
" # calculation\n",
" precip = data_array[:, 0]\n",
" nrain = data_array[:, 1]\n",
" ndays = data_array[:, 2]\n",
" ep = data_array[:, 3]\n",
"\n",
" for j in range(nrows):\n",
"\n",
" epm[j] = _EPM(ndays[j], ep[j])\n",
" ratepm[j] = _RATEPM(EXSURF, nrain[j])\n",
" deltae[j] = _DELTAE(ratepm[j], epm[j])\n",
" ea[j] = _EA(epm[j], deltae[j])\n",
" pea[j] = _PEA(precip[j], ea[j])\n",
" \n",
" if j == 0: \n",
" sms[j] = _SMS(pea[j], ISMC)\n",
" else:\n",
" sms[j] = _SMS(pea[j], smc[j-1])\n",
"\n",
" smc[j] = _SMC(pea[j], sms[j])\n",
" ss[j] = _SS(pea[j])\n",
" watsur[j] = _WATSUR(pea[j], ss[j])\n",
" i[j] = _I(watsur[j], IF)\n",
"\n",
" cal0[j] = _CAL0(K, i[j])\n",
"\n",
" if j == 0:\n",
" calgs[j]= _CALGS(K, GSOM)\n",
" else:\n",
" calgs[j]= _CALGS(K, gs[j-1])\n",
" \n",
" gs[j] = _GS(cal0[j], calgs[j])\n",
"\n",
" if j == 0:\n",
" dgs[j] = _DGS(gs[j], GSOM)\n",
" else:\n",
" dgs[j] = _DGS(gs[j], gs[j-1])\n",
" \n",
" bflow[j] = _BFLOW(i[j], dgs[j])\n",
" dro[j] = _DRO(watsur[j], i[j])\n",
" sro[j] = _SRO(precip[j], PF)\n",
" tro[j] = _TRO(bflow[j], dro[j], sro[j])\n",
" flow[j] = _FLOW(tro[j], AREA, ndays[j])\n",
" \n",
" # results\n",
" if report.lower() == 'full':\n",
" results = np.stack((\n",
" precip, nrain, ndays, ep, epm, ratepm, deltae,\n",
" ea, pea, sms, smc, ss, watsur, i, cal0, calgs, gs,\n",
" dgs, bflow, dro, sro, tro, flow\n",
" ), axis=1)\n",
" columns_name = [\n",
" 'PRECIP', 'NRAIN', 'NDAYS', 'EP', 'EPM', 'RATEPM',\n",
" 'DELTAE', 'EA', 'PEA', 'SMS', 'SMC', 'SS', 'WATSUR', 'I',\n",
" 'CAL0', 'CALGS', 'GS', 'DGS', 'BFLOW', 'DRO', 'SRO',\n",
" 'TRO', 'FLOW' \n",
" ]\n",
" elif report.lower() == 'partial':\n",
" results = np.stack((\n",
" precip, nrain, ndays, ep, ea, sms, ss, gs, tro, flow \n",
" ), axis=1)\n",
" columns_name = [\n",
" 'PRECIP', 'NRAIN', 'NDAYS', 'EP', 'EA', 'SMS', 'SS', 'GS',\n",
" 'TRO', 'FLOW'\n",
" ]\n",
" elif report.lower() == 'tro':\n",
" results = tro\n",
" columns_name = ['TRO']\n",
" elif report.lower() == 'flow':\n",
" results = flow\n",
" columns_name = ['FLOW']\n",
" else:\n",
" raise ValueError(\n",
" str(report) + ' not identified. ' +\n",
" 'Use full / partial / tro / flow.'\n",
" )\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": "3nw0SzbYqtLm",
"colab_type": "text"
},
"source": [
"# MODEL F.J. Mock (1973)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QTWUhyQk0tLQ",
"colab_type": "text"
},
"source": [
"# Diagram `model_FJMOCK`\n",
"\n",
"Karena pengerjaan model ini dapat beragam tergantung pembuatnya, berikut diagram yang dijadikan acuan pada pengembangan fungsi `model_FJMOCK()`. Diagram ini mengacu pada _Handout 1: Perhitungan Debit Limpasan dengan Metode F.J. Mock_ oleh Ir. Edy Anto Soentoro, MASc., PhD. Jika menemui kekeliruan, mohon buat isu pada github hidrokit. Pengembangan model ini cukup terbatas dari sisi referensi.\n",
"\n",
"![DIAGRAM FJMOCK](https://github.com/taruma/taruma.github.io/blob/master/assets/hidrokit_assets/FJMOCK_hidrokit_1_2_0_200.jpg?raw=true)\n",
"\n",
"Diagram ini bisa diunduh dengan kualitas terbaik [disini](https://github.com/taruma/taruma.github.io/blob/master/assets/hidrokit_assets/FJMOCK_hidrokit_1_2_0_1000.jpg?raw=true). Diagram ini 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/)."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WRdgBz4KzvlB",
"colab_type": "text"
},
"source": [
"\n",
"## Daftar peubah dalam `model_FJMOCK`\n",
"\n",
"Berikut daftar peubah yang digunakan dalam `model_FJMOCK`:\n",
"\n",
"Jenis | Peubah | Keterangan | Satuan\n",
":-- | :-- | :-- | :-:\n",
"__DATA MASUKAN__ | PRECIP | Curah Hujan / Presipitasi | $\\frac{mm}{period}$\n",
". | EP | Evapotranspirasi | $^{mm}/_{day}$\n",
". | NRAIN | Jumlah hari hujan dalam periode | $\\{\\left[0, 31\\right] \\in\\mathbb{N}\\}$\n",
". | NDAYS | Jumlah hari dalam periode | $\\{\\left[1, 31\\right] \\in\\mathbb{N}\\}$\n",
"__PARAMETER__ | EXSURF | _Exposed Surface_ | $\\%, \\{\\left[0, 50\\right] \\in\\mathbb{N}\\}$\n",
". | IF | _Infiltration Coefficient_ | $\\{\\left(0, 1\\right) \\in\\mathbb{R}\\}$\n",
". | K | _Monthly Flow Recession Constant_ | $\\{\\left(0, 1\\right) \\in\\mathbb{R}\\}$\n",
". | PF | _Percentage Factor_ | $\\{\\left(0, 1\\right) \\in\\mathbb{R}\\}$\n",
". | ISMC | _Initial Soil Moisture Capacity_ | $\\frac{mm}{period}$\n",
". | GSOM | _Initial Groundwater Storage_ | $\\frac{mm}{period}$\n",
". | AREA | _Catchment Area_ | $m^2$\n",
"__PERHITUNGAN__ | EPM | Evapotranspirasi per periode | $\\frac{mm}{period}$\n",
". | RATEPM* | Kalkulasi EXSURF dan NRAIN | $\\{\\left(-1, 1\\right) \\in\\mathbb{R}\\}$\n",
". | DELTA* | Delta evapotranspirasi | $\\frac{mm}{period}$\n",
". | EA | _Evapotranspirasi Actual_ | $\\frac{mm}{period}$\n",
". | PEA* | Kalkulasi P dan EA | $\\frac{mm}{period}$\n",
". | SMS | _Soil Moisture Storage_ | $\\frac{mm}{period}$\n",
". | SMC | _Soil Moisture Capacity_ | $\\frac{mm}{period}$\n",
". | SS | _Soil Storage_ | $\\frac{mm}{period}$\n",
". | I | _Infiltration_ | $\\frac{mm}{period}$\n",
". | CAL0* | Kalkulasi K dan I | $\\frac{mm}{period}$\n",
". | CALGS* | Kalkulasi K dan GS\\_PREV/GSOM | $\\frac{mm}{period}$\n",
". | GS | _Groundwater Storage_ | $\\frac{mm}{period}$\n",
". | DGS | _Delta Groundwater Storage_ | $\\frac{mm}{period}$\n",
". | BFLOW | _Base Flow_ | $\\frac{mm}{period}$\n",
". | DRO | _Direct Runoff_ | $\\frac{mm}{period}$\n",
". | SRO | _Storm Runoff_ | $\\frac{mm}{period}$\n",
". | TRO | _Total Runoff_ | $\\frac{mm}{period}$\n",
". | FLOW | _Stream Flow_ | $\\frac{m^{3}}{second}$\n",
"\n",
"Catatan:\n",
"\n",
"- _PREV: Nilai pada iterasi sebelumnya $(j-1)$.\n",
"- *: Nama peubah ini dibuat khusus untuk fungsi `model_FJMOCK` (tidak mengikuti/ada pada referensi)."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "UeNRUg-Q0opN",
"colab_type": "text"
},
"source": [
"# FUNGSI"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mGy9Cr4qqv1B",
"colab_type": "text"
},
"source": [
"## Fungsi `model_FJMOCK`\n",
"\n",
"Fungsi `model_FJMOCK` membangkitkan nilai debit menggunakan model yang dikembangkan oleh Dr. F. J. Mock (Mock 1973). Untuk mengetahui masing-masing batasan model ini, harap melihat pada referensi topik terkait. Dalam _notebook_ ini hanya fokus pada penggunaan fungsi.\n",
"\n",
"Fungsi memiliki 12 argumen yang harus diisi, dan 2 argumen opsional. Dibagi menjadi 3 bagian argumen yaitu:\n",
"- Argumen untuk dataset:\n",
" - `df`: dataset dalam objek `pandas.DataFrame`.\n",
" - `precip_col`: nama kolom curah hujan (presipitasi).\n",
" - `ep_col`: nama kolom evapotranspirasi.\n",
" - `nrain_col`: nama kolom jumlah hari hujan dalam periode.\n",
" - `ndays_col`: nama kolom jumlah hari dalam periode.\n",
"- Argumen untuk parameter model:\n",
" - `EXSURF`: _Exposed Surface_.\n",
" - `IF`: _Infiltration Coefficient_.\n",
" - `K`: _Monthly Flow Recession Constant_.\n",
" - `PF`: _Percentage Factor_.\n",
" - `ISMC`: _Initial Soil Moisture Capacity_.\n",
" - `GSOM`: _Initial Groundwater Storage_.\n",
" - `AREA`: _Catchment Area_.\n",
"- Argumen opsional untuk fungsi:\n",
" - `as_df`: `True` (_default_), keluaran berupa `pandas.DataFrame`. Keluaran berupa `numpy.ndarray` jika `False`.\n",
" - `report`: `'flow'` (_default_), terdapat beberapa nilai yang diterima oleh argumen `report`:\n",
" - `full`: keluaran akan menyertakan seluruh peubah yang dihitung dalam model.\n",
" - `partial`: keluaran hanya menyertakan kolom `PRECIP`, `NRAIN`, `NDAYS`, `EP`, `EA`, `SMS`, `SS`, `GS`, `TRO`, `FLOW`.\n",
" - `tro`: keluaran hanya menyertakan kolom `TRO`.\n",
" - `flow`: keluaran hanya menyertakan kolom `FLOW`.\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "R9qwrBwV9bFX",
"colab_type": "text"
},
"source": [
"### `as_df=True`, `report='flow'` (_default_)\n",
"\n",
"Keluaran berupa `pandas.DataFrame`."
]
},
{
"cell_type": "code",
"metadata": {
"id": "1KFiKCI5K0zk",
"colab_type": "code",
"outputId": "ec9d7918-54aa-474e-bd9c-0f5a10c5b2a3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"model_FJMOCK(dataset,\n",
" precip_col='PRECIP', ep_col='PET', nrain_col='NRAIN', \n",
" ndays_col='NDAYS',\n",
" EXSURF=40, IF=0.7, K=0.6, PF=0.2, ISMC=200, GSOM=215.8, \n",
" AREA=291.83e6).head()"
],
"execution_count": 0,
"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>FLOW</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2005-01-01</th>\n",
" <td>11.038314</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-02-01</th>\n",
" <td>7.524411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-03-01</th>\n",
" <td>5.427550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-04-01</th>\n",
" <td>4.200750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-05-01</th>\n",
" <td>1.476165</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FLOW\n",
"2005-01-01 11.038314\n",
"2005-02-01 7.524411\n",
"2005-03-01 5.427550\n",
"2005-04-01 4.200750\n",
"2005-05-01 1.476165"
]
},
"metadata": {
"tags": []
},
"execution_count": 38
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_z_L86BE9xgZ",
"colab_type": "text"
},
"source": [
"sebagian argumen bisa disimpan dalam bentuk _dictionary_."
]
},
{
"cell_type": "code",
"metadata": {
"id": "adGVmWce9lzP",
"colab_type": "code",
"outputId": "f69dbc8a-954c-46b9-c6a9-822833420025",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"parameter = {\n",
" 'EXSURF': 40,\n",
" 'IF': 0.7,\n",
" 'K': 0.6,\n",
" 'PF': 0.2,\n",
" 'ISMC': 200,\n",
" 'GSOM': 215.8,\n",
" 'AREA': 291.83e6\n",
"}\n",
"\n",
"dataset_params = {\n",
" 'precip_col': 'PRECIP',\n",
" 'ep_col': 'PET',\n",
" 'nrain_col': 'NRAIN',\n",
" 'ndays_col': 'NDAYS'\n",
"}\n",
"\n",
"model_FJMOCK(dataset,\n",
" **dataset_params,\n",
" **parameter).head()"
],
"execution_count": 0,
"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>FLOW</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2005-01-01</th>\n",
" <td>11.038314</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-02-01</th>\n",
" <td>7.524411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-03-01</th>\n",
" <td>5.427550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-04-01</th>\n",
" <td>4.200750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-05-01</th>\n",
" <td>1.476165</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" FLOW\n",
"2005-01-01 11.038314\n",
"2005-02-01 7.524411\n",
"2005-03-01 5.427550\n",
"2005-04-01 4.200750\n",
"2005-05-01 1.476165"
]
},
"metadata": {
"tags": []
},
"execution_count": 39
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "upYbeehD-AU1",
"colab_type": "text"
},
"source": [
"### `as_df=False`\n",
"\n",
"Keluaran berupa `numpy.ndarray`"
]
},
{
"cell_type": "code",
"metadata": {
"id": "IgVi3Ko491CS",
"colab_type": "code",
"outputId": "1ce1c04d-658f-4e27-e7ab-a207a15f6025",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 476
}
},
"source": [
"model_FJMOCK(dataset, **dataset_params, **parameter,\n",
" as_df=False)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([11.03831372, 7.52441118, 5.42754989, 4.20074969, 1.4761652 ,\n",
" 1.33453689, 1.02392803, 0.99639442, 0.31482649, 0.96645418,\n",
" 0.63746247, 4.39633798, 6.71094135, 7.20975475, 3.60403751,\n",
" 3.40811612, 1.89545724, 0.57464413, 0.26752973, 0.16051784,\n",
" 0.09952106, 0.32607131, 1.19601734, 1.97546623, 0.78477441,\n",
" 1.40605689, 3.96837248, 2.74163501, 0.82829662, 0.33280309,\n",
" 0.15150419, 0.17996924, 0.17930671, 0.60706392, 1.42338245,\n",
" 4.51935998, 5.48703509, 7.86158518, 6.66854605, 4.61270398,\n",
" 1.80639153, 1.05273253, 0.55782402, 0.60313774, 0.86819483,\n",
" 1.56157215, 2.58970373, 2.53405371, 2.42960495, 3.33457675,\n",
" 2.18728535, 1.7071079 , 1.36990622, 1.67615626, 0.11338267,\n",
" 0.03593304, 0.65775625, 0.6697543 , 0.86505161, 2.17619576,\n",
" 1.70680932, 0.91144292, 3.44637769, 3.19805379, 5.71876288,\n",
" 2.28340161, 1.16355342, 1.21896099, 1.97557412, 3.34579081,\n",
" 1.92074562, 4.33700229, 2.73683673, 2.9936993 , 2.29876246,\n",
" 1.83275104, 1.42160582, 0.46468883, 0.16007029, 0.0408782 ,\n",
" 0.68439159, 1.24573648, 6.0382106 , 3.82709625, 6.98086936,\n",
" 4.04282714, 2.94190223, 2.25193748, 1.00004163, 0.75235851,\n",
" 0.1507685 , 0.0904611 , 0.08961692, 0.83990998, 4.64925624,\n",
" 3.68580346, 3.87585627, 2.26932747, 1.97068683, 1.56419699,\n",
" 1.81200324, 3.66691915, 1.99050686, 1.0237562 , 0.97876111,\n",
" 1.80306937, 4.62827508, 7.05110499, 9.87122757, 5.9298505 ,\n",
" 2.34081328, 3.21261903, 1.91956054, 3.96141509, 2.7031486 ,\n",
" 1.36212155, 1.00132982, 4.06325897, 1.16137442, 4.18293059,\n",
" 8.3877247 , 10.95612413, 9.73624701, 8.70589257, 3.78714981,\n",
" 3.53442349, 1.40204959, 0.6562682 , 0.63601507, 0.8963778 ,\n",
" 5.17469187, 3.04163336])"
]
},
"metadata": {
"tags": []
},
"execution_count": 40
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Wcj-WBhb-cZF",
"colab_type": "text"
},
"source": [
"### `report`"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "hn-hLmiT-jJ1",
"colab_type": "text"
},
"source": [
"#### `report='full'`"
]
},
{
"cell_type": "code",
"metadata": {
"id": "zEkrCPJ2-iqh",
"colab_type": "code",
"outputId": "55df7359-b011-4fc3-ce7e-d5abfd919e4b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 609
}
},
"source": [
"model_FJMOCK(dataset, **dataset_params, **parameter,\n",
" report='full')"
],
"execution_count": 0,
"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>PRECIP</th>\n",
" <th>NRAIN</th>\n",
" <th>NDAYS</th>\n",
" <th>EP</th>\n",
" <th>EPM</th>\n",
" <th>RATEPM</th>\n",
" <th>DELTAE</th>\n",
" <th>EA</th>\n",
" <th>PEA</th>\n",
" <th>SMS</th>\n",
" <th>SMC</th>\n",
" <th>SS</th>\n",
" <th>WATSUR</th>\n",
" <th>I</th>\n",
" <th>CAL0</th>\n",
" <th>CALGS</th>\n",
" <th>GS</th>\n",
" <th>DGS</th>\n",
" <th>BFLOW</th>\n",
" <th>DRO</th>\n",
" <th>SRO</th>\n",
" <th>TRO</th>\n",
" <th>FLOW</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2005-01-01</th>\n",
" <td>74.945240</td>\n",
" <td>19.0</td>\n",
" <td>31.0</td>\n",
" <td>2.988970</td>\n",
" <td>92.658055</td>\n",
" <td>-0.02</td>\n",
" <td>-1.853161</td>\n",
" <td>94.511216</td>\n",
" <td>-19.565977</td>\n",
" <td>180.434023</td>\n",
" <td>180.434023</td>\n",
" <td>-19.565977</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>129.480000</td>\n",
" <td>129.480000</td>\n",
" <td>-86.320000</td>\n",
" <td>86.320000</td>\n",
" <td>0.000000</td>\n",
" <td>14.989048</td>\n",
" <td>101.309048</td>\n",
" <td>11.038314</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-02-01</th>\n",
" <td>52.917729</td>\n",
" <td>12.0</td>\n",
" <td>28.0</td>\n",
" <td>3.145340</td>\n",
" <td>88.069526</td>\n",
" <td>0.12</td>\n",
" <td>10.568343</td>\n",
" <td>77.501183</td>\n",
" <td>-24.583454</td>\n",
" <td>155.850569</td>\n",
" <td>155.850569</td>\n",
" <td>-24.583454</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>77.688000</td>\n",
" <td>77.688000</td>\n",
" <td>-51.792000</td>\n",
" <td>51.792000</td>\n",
" <td>0.000000</td>\n",
" <td>10.583546</td>\n",
" <td>62.375546</td>\n",
" <td>7.524411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-03-01</th>\n",
" <td>93.692801</td>\n",
" <td>17.0</td>\n",
" <td>31.0</td>\n",
" <td>3.213324</td>\n",
" <td>99.613029</td>\n",
" <td>0.02</td>\n",
" <td>1.992261</td>\n",
" <td>97.620768</td>\n",
" <td>-3.927967</td>\n",
" <td>151.922602</td>\n",
" <td>151.922602</td>\n",
" <td>-3.927967</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>46.612800</td>\n",
" <td>46.612800</td>\n",
" <td>-31.075200</td>\n",
" <td>31.075200</td>\n",
" <td>0.000000</td>\n",
" <td>18.738560</td>\n",
" <td>49.813760</td>\n",
" <td>5.427550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-04-01</th>\n",
" <td>93.327242</td>\n",
" <td>19.0</td>\n",
" <td>30.0</td>\n",
" <td>3.474628</td>\n",
" <td>104.238826</td>\n",
" <td>-0.02</td>\n",
" <td>-2.084777</td>\n",
" <td>106.323603</td>\n",
" <td>-12.996361</td>\n",
" <td>138.926241</td>\n",
" <td>138.926241</td>\n",
" <td>-12.996361</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>27.967680</td>\n",
" <td>27.967680</td>\n",
" <td>-18.645120</td>\n",
" <td>18.645120</td>\n",
" <td>0.000000</td>\n",
" <td>18.665448</td>\n",
" <td>37.310568</td>\n",
" <td>4.200750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-05-01</th>\n",
" <td>11.805463</td>\n",
" <td>7.0</td>\n",
" <td>31.0</td>\n",
" <td>3.597509</td>\n",
" <td>111.522784</td>\n",
" <td>0.22</td>\n",
" <td>24.535012</td>\n",
" <td>86.987771</td>\n",
" <td>-75.182309</td>\n",
" <td>63.743933</td>\n",
" <td>63.743933</td>\n",
" <td>-75.182309</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>16.780608</td>\n",
" <td>16.780608</td>\n",
" <td>-11.187072</td>\n",
" <td>11.187072</td>\n",
" <td>0.000000</td>\n",
" <td>2.361093</td>\n",
" <td>13.548165</td>\n",
" <td>1.476165</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-01</th>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>31.0</td>\n",
" <td>4.500466</td>\n",
" <td>139.514446</td>\n",
" <td>0.36</td>\n",
" <td>50.225201</td>\n",
" <td>89.289246</td>\n",
" <td>-89.289246</td>\n",
" <td>-82.313604</td>\n",
" <td>-82.313604</td>\n",
" <td>-89.289246</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>9.034791</td>\n",
" <td>9.034791</td>\n",
" <td>-6.023194</td>\n",
" <td>6.023194</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>6.023194</td>\n",
" <td>0.656268</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-09-01</th>\n",
" <td>10.175476</td>\n",
" <td>3.0</td>\n",
" <td>30.0</td>\n",
" <td>4.827330</td>\n",
" <td>144.819900</td>\n",
" <td>0.30</td>\n",
" <td>43.445970</td>\n",
" <td>101.373930</td>\n",
" <td>-91.198454</td>\n",
" <td>-173.512058</td>\n",
" <td>-173.512058</td>\n",
" <td>-91.198454</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>5.420875</td>\n",
" <td>5.420875</td>\n",
" <td>-3.613916</td>\n",
" <td>3.613916</td>\n",
" <td>0.000000</td>\n",
" <td>2.035095</td>\n",
" <td>5.649012</td>\n",
" <td>0.636015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-10-01</th>\n",
" <td>30.292786</td>\n",
" <td>12.0</td>\n",
" <td>31.0</td>\n",
" <td>4.858545</td>\n",
" <td>150.614905</td>\n",
" <td>0.12</td>\n",
" <td>18.073789</td>\n",
" <td>132.541117</td>\n",
" <td>-102.248331</td>\n",
" <td>-275.760389</td>\n",
" <td>-275.760389</td>\n",
" <td>-102.248331</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>3.252525</td>\n",
" <td>3.252525</td>\n",
" <td>-2.168350</td>\n",
" <td>2.168350</td>\n",
" <td>0.000000</td>\n",
" <td>6.058557</td>\n",
" <td>8.226907</td>\n",
" <td>0.896378</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-11-01</th>\n",
" <td>161.871088</td>\n",
" <td>25.0</td>\n",
" <td>30.0</td>\n",
" <td>3.916633</td>\n",
" <td>117.498997</td>\n",
" <td>-0.14</td>\n",
" <td>-16.449860</td>\n",
" <td>133.948856</td>\n",
" <td>27.922231</td>\n",
" <td>-247.838158</td>\n",
" <td>200.000000</td>\n",
" <td>0.000000</td>\n",
" <td>27.922231</td>\n",
" <td>19.545562</td>\n",
" <td>15.63645</td>\n",
" <td>1.951515</td>\n",
" <td>17.587965</td>\n",
" <td>14.335440</td>\n",
" <td>5.210122</td>\n",
" <td>8.376669</td>\n",
" <td>32.374218</td>\n",
" <td>45.961009</td>\n",
" <td>5.174692</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-12-01</th>\n",
" <td>104.403805</td>\n",
" <td>25.0</td>\n",
" <td>31.0</td>\n",
" <td>3.133179</td>\n",
" <td>97.128563</td>\n",
" <td>-0.14</td>\n",
" <td>-13.597999</td>\n",
" <td>110.726562</td>\n",
" <td>-6.322757</td>\n",
" <td>193.677243</td>\n",
" <td>193.677243</td>\n",
" <td>-6.322757</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.00000</td>\n",
" <td>10.552779</td>\n",
" <td>10.552779</td>\n",
" <td>-7.035186</td>\n",
" <td>7.035186</td>\n",
" <td>0.000000</td>\n",
" <td>20.880761</td>\n",
" <td>27.915947</td>\n",
" <td>3.041633</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>132 rows × 23 columns</p>\n",
"</div>"
],
"text/plain": [
" PRECIP NRAIN NDAYS ... SRO TRO FLOW\n",
"2005-01-01 74.945240 19.0 31.0 ... 14.989048 101.309048 11.038314\n",
"2005-02-01 52.917729 12.0 28.0 ... 10.583546 62.375546 7.524411\n",
"2005-03-01 93.692801 17.0 31.0 ... 18.738560 49.813760 5.427550\n",
"2005-04-01 93.327242 19.0 30.0 ... 18.665448 37.310568 4.200750\n",
"2005-05-01 11.805463 7.0 31.0 ... 2.361093 13.548165 1.476165\n",
"... ... ... ... ... ... ... ...\n",
"2015-08-01 0.000000 0.0 31.0 ... 0.000000 6.023194 0.656268\n",
"2015-09-01 10.175476 3.0 30.0 ... 2.035095 5.649012 0.636015\n",
"2015-10-01 30.292786 12.0 31.0 ... 6.058557 8.226907 0.896378\n",
"2015-11-01 161.871088 25.0 30.0 ... 32.374218 45.961009 5.174692\n",
"2015-12-01 104.403805 25.0 31.0 ... 20.880761 27.915947 3.041633\n",
"\n",
"[132 rows x 23 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lXaSQ95g-n8l",
"colab_type": "text"
},
"source": [
"#### `report='partial'`"
]
},
{
"cell_type": "code",
"metadata": {
"id": "6EmmgStZ-in1",
"colab_type": "code",
"outputId": "2b94a8e9-0710-4585-ee38-f85116af4604",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 419
}
},
"source": [
"model_FJMOCK(dataset, **dataset_params, **parameter,\n",
" report='partial')"
],
"execution_count": 0,
"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>PRECIP</th>\n",
" <th>NRAIN</th>\n",
" <th>NDAYS</th>\n",
" <th>EP</th>\n",
" <th>EA</th>\n",
" <th>SMS</th>\n",
" <th>SS</th>\n",
" <th>GS</th>\n",
" <th>TRO</th>\n",
" <th>FLOW</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2005-01-01</th>\n",
" <td>74.945240</td>\n",
" <td>19.0</td>\n",
" <td>31.0</td>\n",
" <td>2.988970</td>\n",
" <td>94.511216</td>\n",
" <td>180.434023</td>\n",
" <td>-19.565977</td>\n",
" <td>129.480000</td>\n",
" <td>101.309048</td>\n",
" <td>11.038314</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-02-01</th>\n",
" <td>52.917729</td>\n",
" <td>12.0</td>\n",
" <td>28.0</td>\n",
" <td>3.145340</td>\n",
" <td>77.501183</td>\n",
" <td>155.850569</td>\n",
" <td>-24.583454</td>\n",
" <td>77.688000</td>\n",
" <td>62.375546</td>\n",
" <td>7.524411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-03-01</th>\n",
" <td>93.692801</td>\n",
" <td>17.0</td>\n",
" <td>31.0</td>\n",
" <td>3.213324</td>\n",
" <td>97.620768</td>\n",
" <td>151.922602</td>\n",
" <td>-3.927967</td>\n",
" <td>46.612800</td>\n",
" <td>49.813760</td>\n",
" <td>5.427550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-04-01</th>\n",
" <td>93.327242</td>\n",
" <td>19.0</td>\n",
" <td>30.0</td>\n",
" <td>3.474628</td>\n",
" <td>106.323603</td>\n",
" <td>138.926241</td>\n",
" <td>-12.996361</td>\n",
" <td>27.967680</td>\n",
" <td>37.310568</td>\n",
" <td>4.200750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-05-01</th>\n",
" <td>11.805463</td>\n",
" <td>7.0</td>\n",
" <td>31.0</td>\n",
" <td>3.597509</td>\n",
" <td>86.987771</td>\n",
" <td>63.743933</td>\n",
" <td>-75.182309</td>\n",
" <td>16.780608</td>\n",
" <td>13.548165</td>\n",
" <td>1.476165</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-01</th>\n",
" <td>0.000000</td>\n",
" <td>0.0</td>\n",
" <td>31.0</td>\n",
" <td>4.500466</td>\n",
" <td>89.289246</td>\n",
" <td>-82.313604</td>\n",
" <td>-89.289246</td>\n",
" <td>9.034791</td>\n",
" <td>6.023194</td>\n",
" <td>0.656268</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-09-01</th>\n",
" <td>10.175476</td>\n",
" <td>3.0</td>\n",
" <td>30.0</td>\n",
" <td>4.827330</td>\n",
" <td>101.373930</td>\n",
" <td>-173.512058</td>\n",
" <td>-91.198454</td>\n",
" <td>5.420875</td>\n",
" <td>5.649012</td>\n",
" <td>0.636015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-10-01</th>\n",
" <td>30.292786</td>\n",
" <td>12.0</td>\n",
" <td>31.0</td>\n",
" <td>4.858545</td>\n",
" <td>132.541117</td>\n",
" <td>-275.760389</td>\n",
" <td>-102.248331</td>\n",
" <td>3.252525</td>\n",
" <td>8.226907</td>\n",
" <td>0.896378</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-11-01</th>\n",
" <td>161.871088</td>\n",
" <td>25.0</td>\n",
" <td>30.0</td>\n",
" <td>3.916633</td>\n",
" <td>133.948856</td>\n",
" <td>-247.838158</td>\n",
" <td>0.000000</td>\n",
" <td>17.587965</td>\n",
" <td>45.961009</td>\n",
" <td>5.174692</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-12-01</th>\n",
" <td>104.403805</td>\n",
" <td>25.0</td>\n",
" <td>31.0</td>\n",
" <td>3.133179</td>\n",
" <td>110.726562</td>\n",
" <td>193.677243</td>\n",
" <td>-6.322757</td>\n",
" <td>10.552779</td>\n",
" <td>27.915947</td>\n",
" <td>3.041633</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>132 rows × 10 columns</p>\n",
"</div>"
],
"text/plain": [
" PRECIP NRAIN NDAYS ... GS TRO FLOW\n",
"2005-01-01 74.945240 19.0 31.0 ... 129.480000 101.309048 11.038314\n",
"2005-02-01 52.917729 12.0 28.0 ... 77.688000 62.375546 7.524411\n",
"2005-03-01 93.692801 17.0 31.0 ... 46.612800 49.813760 5.427550\n",
"2005-04-01 93.327242 19.0 30.0 ... 27.967680 37.310568 4.200750\n",
"2005-05-01 11.805463 7.0 31.0 ... 16.780608 13.548165 1.476165\n",
"... ... ... ... ... ... ... ...\n",
"2015-08-01 0.000000 0.0 31.0 ... 9.034791 6.023194 0.656268\n",
"2015-09-01 10.175476 3.0 30.0 ... 5.420875 5.649012 0.636015\n",
"2015-10-01 30.292786 12.0 31.0 ... 3.252525 8.226907 0.896378\n",
"2015-11-01 161.871088 25.0 30.0 ... 17.587965 45.961009 5.174692\n",
"2015-12-01 104.403805 25.0 31.0 ... 10.552779 27.915947 3.041633\n",
"\n",
"[132 rows x 10 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 42
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "tCfoZKGj-rG5",
"colab_type": "text"
},
"source": [
"#### `report='tro'`"
]
},
{
"cell_type": "code",
"metadata": {
"id": "FctgxpJq-ilM",
"colab_type": "code",
"outputId": "73f2fc18-6df5-48f2-cc40-acac692d4cd7",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 419
}
},
"source": [
"model_FJMOCK(dataset, **dataset_params, **parameter,\n",
" report='tro')"
],
"execution_count": 0,
"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>TRO</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2005-01-01</th>\n",
" <td>101.309048</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-02-01</th>\n",
" <td>62.375546</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-03-01</th>\n",
" <td>49.813760</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-04-01</th>\n",
" <td>37.310568</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-05-01</th>\n",
" <td>13.548165</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-01</th>\n",
" <td>6.023194</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-09-01</th>\n",
" <td>5.649012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-10-01</th>\n",
" <td>8.226907</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-11-01</th>\n",
" <td>45.961009</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-12-01</th>\n",
" <td>27.915947</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>132 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" TRO\n",
"2005-01-01 101.309048\n",
"2005-02-01 62.375546\n",
"2005-03-01 49.813760\n",
"2005-04-01 37.310568\n",
"2005-05-01 13.548165\n",
"... ...\n",
"2015-08-01 6.023194\n",
"2015-09-01 5.649012\n",
"2015-10-01 8.226907\n",
"2015-11-01 45.961009\n",
"2015-12-01 27.915947\n",
"\n",
"[132 rows x 1 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 43
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Adu1pVi8-yVm",
"colab_type": "text"
},
"source": [
"#### `report='flow'` (_default_)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "TaNi6riX-iiS",
"colab_type": "code",
"outputId": "43d9f3e9-6c30-4b54-abf4-5da347a015be",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 419
}
},
"source": [
"model_FJMOCK(dataset, **dataset_params, **parameter,\n",
" report='flow')"
],
"execution_count": 0,
"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>FLOW</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2005-01-01</th>\n",
" <td>11.038314</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-02-01</th>\n",
" <td>7.524411</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-03-01</th>\n",
" <td>5.427550</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-04-01</th>\n",
" <td>4.200750</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2005-05-01</th>\n",
" <td>1.476165</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-08-01</th>\n",
" <td>0.656268</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-09-01</th>\n",
" <td>0.636015</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-10-01</th>\n",
" <td>0.896378</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-11-01</th>\n",
" <td>5.174692</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2015-12-01</th>\n",
" <td>3.041633</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>132 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" FLOW\n",
"2005-01-01 11.038314\n",
"2005-02-01 7.524411\n",
"2005-03-01 5.427550\n",
"2005-04-01 4.200750\n",
"2005-05-01 1.476165\n",
"... ...\n",
"2015-08-01 0.656268\n",
"2015-09-01 0.636015\n",
"2015-10-01 0.896378\n",
"2015-11-01 5.174692\n",
"2015-12-01 3.041633\n",
"\n",
"[132 rows x 1 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 44
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JjtMPKI-_BLI",
"colab_type": "text"
},
"source": [
"# Changelog\n",
"\n",
"```\n",
"- 20191218 - 1.1.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