<div align="center">
# baseflow
An open-source Python package for baseflow separation 🔥<br>
</div>
<br>
<div align="center">

</div>
<br>
## âš¡ Usage
### Install
```bash
pip install baseflow
```
<br>
### Example
```python
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)}')
```
<br>
## 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
```
<br>
## 📌 Todo
### Nolinear reservoir assumption
- Implement the nolinear reservoir assumption from the [paper](https://github.com/xiejx5/watershed_delineation/releases)
- Employ a time-varing recession coefficiency for baseflow separation
<br>
### 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
<br>
## 🚀 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
Raw data
{
"_id": null,
"home_page": "https://github.com/xiejx5/baseflow",
"name": "baseflow",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": null,
"keywords": null,
"author": "Cody James",
"author_email": "xiejx5@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/12/73/021283c775fe7c7d3b4b23df60dc3d2f37fdd3db41f7a0d879f9be3ab144/baseflow-0.0.9.tar.gz",
"platform": null,
"description": "\r\n<div align=\"center\">\r\n\r\n# baseflow\r\n\r\nAn open-source Python package for baseflow separation \ud83d\udd25<br>\r\n\r\n</div>\r\n<br>\r\n\r\n<div align=\"center\">\r\n\r\n\r\n\r\n</div>\r\n<br>\r\n\r\n\r\n## \u26a1 Usage\r\n\r\n### Install\r\n```bash\r\npip install baseflow\r\n```\r\n<br>\r\n\r\n\r\n### Example\r\n```python\r\nimport baseflow\r\nimport pandas as pd\r\n\r\ndf = pd.read_csv(baseflow.example, index_col=0)\r\ndf_sta = pd.DataFrame(data=[[30, -28.4, 659], [-109.4, 33, 1611]],\r\n index=df.columns, columns=['lon', 'lat', 'area'])\r\ndfs, df_kge = baseflow.separation(df, df_sta, return_kge=True)\r\nprint(f'Best Method:\\n{df_kge.idxmax(axis=1)}')\r\n```\r\n<br>\r\n\r\n\r\n\r\n## Project Structure\r\nThe directory structure of baseflow looks like this:\r\n```\r\n\u251c\u2500\u2500 methods <- implements for 12 baseflow separation methods\r\n\u2502\r\n\u251c\u2500\u2500 recession_analysis <- tools for estimating recession coefficiency\r\n\u2502\r\n\u251c\u2500\u2500 param_estimate <- backward and calibration approaches to estimate other parameters\r\n\u2502\r\n\u251c\u2500\u2500 comparison <- an evaluation criterion to comparison different methods\r\n\u2502\r\n\u251c\u2500\u2500 requirements.txt <- File for installing baseflow dependencies\r\n\u2502\r\n\u2514\u2500\u2500 README.md\r\n```\r\n<br>\r\n\r\n## \ud83d\udccc Todo\r\n\r\n\r\n### Nolinear reservoir assumption\r\n- Implement the nolinear reservoir assumption from the [paper](https://github.com/xiejx5/watershed_delineation/releases)\r\n- Employ a time-varing recession coefficiency for baseflow separation\r\n<br>\r\n\r\n### Applicable to other time scales\r\n1. The current version only applies to the daily scale\r\n2. The package needs to be updated to support hourly baseflow separation\r\n<br>\r\n\r\n## \ud83d\ude80 Publications\r\n\r\n### The following articles detail the baseflow separation methods and their evaluation criterion.\r\n- 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\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A python package for baseflow separation",
"version": "0.0.9",
"project_urls": {
"Homepage": "https://github.com/xiejx5/baseflow"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8a36d0b325cba352b853b29a99374b8085eb651f440fa81c9dda13b110cdbee2",
"md5": "32eac8dff003dceb2c7931cf0c473eea",
"sha256": "8e026a4f5a89cd9b448b13850af274bb9e11aac75125cee2cd0c213cd85db753"
},
"downloads": -1,
"filename": "baseflow-0.0.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "32eac8dff003dceb2c7931cf0c473eea",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.0",
"size": 100850,
"upload_time": "2024-03-31T18:14:35",
"upload_time_iso_8601": "2024-03-31T18:14:35.485248Z",
"url": "https://files.pythonhosted.org/packages/8a/36/d0b325cba352b853b29a99374b8085eb651f440fa81c9dda13b110cdbee2/baseflow-0.0.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1273021283c775fe7c7d3b4b23df60dc3d2f37fdd3db41f7a0d879f9be3ab144",
"md5": "a72806895b80f5e6eeeb272d2be3384a",
"sha256": "1f3e29f3a0324f381cbcf021c74b21852b0e848f46e5ade4789d58cbf2db9097"
},
"downloads": -1,
"filename": "baseflow-0.0.9.tar.gz",
"has_sig": false,
"md5_digest": "a72806895b80f5e6eeeb272d2be3384a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 100713,
"upload_time": "2024-03-31T18:14:36",
"upload_time_iso_8601": "2024-03-31T18:14:36.815527Z",
"url": "https://files.pythonhosted.org/packages/12/73/021283c775fe7c7d3b4b23df60dc3d2f37fdd3db41f7a0d879f9be3ab144/baseflow-0.0.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-31 18:14:36",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "xiejx5",
"github_project": "baseflow",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "baseflow"
}