pip install baseflow
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)}')
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
- Implement the nolinear reservoir assumption from the paper
- Employ a time-varing recession coefficiency for baseflow separation
- The current version only applies to the daily scale
- The package needs to be updated to support hourly baseflow separation
- Xie, J., Liu, X., Jasechko, S., Berghuijs, W. R., Wang, K., Liu, C., Reichstein, M., Jung, M., & Koirala, S. (2024). Majority of global river flow sustained by groundwater. Nature Geoscience, 17(8), 770–777. https://doi.org/10.1038/s41561-024-01483-5
- 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