xiejx5 / baseflow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

baseflow

An open-source Python package for baseflow separation πŸ”₯


Global Baseflow Index Distribution from 12 Separation Methods


⚑  Usage

Install

pip install baseflow

Example

import baseflow
import pandas as pd

df = pd.read_csv(baseflow.example, index_col=0)
df_sta = pd.DataFrame(data=[[30, -28.4, 659], [-109.4, 33, 1611]],
                      index=df.columns, columns=['lon', 'lat', 'area'])
dfs, df_kge = baseflow.separation(df, df_sta, return_kge=True)
print(f'Best Method:\n{df_kge.idxmax(axis=1)}')

Project Structure

The directory structure of baseflow looks like this:

β”œβ”€β”€ methods                 <- implements for 12 baseflow separation methods
β”‚
β”œβ”€β”€ recession_analysis      <- tools for estimating recession coefficiency
β”‚
β”œβ”€β”€ param_estimate          <- backward and calibration approaches to estimate other parameters
β”‚
β”œβ”€β”€ comparison              <- an evaluation criterion to comparison different methods
β”‚
β”œβ”€β”€ requirements.txt        <- File for installing baseflow dependencies
β”‚
└── README.md

πŸ“Œ  Todo

Nolinear reservoir assumption

  • Implement the nolinear reservoir assumption from the paper
  • Employ a time-varing recession coefficiency for baseflow separation

Applicable to other time scales

  1. The current version only applies to the daily scale
  2. The package needs to be updated to support hourly baseflow separation

πŸš€  Publications

The following articles detail the baseflow separation methods and their evaluation criterion.

  • Xie, J., Liu, X., Wang, K., Yang, T., Liang, K., & Liu, C. (2020). Evaluation of typical methods for baseflow separation in the contiguous United States. Journal of Hydrology, 583, 124628. https://doi.org/10.1016/j.jhydrol.2020.124628

About


Languages

Language:Python 100.0%