baseflow


Namebaseflow JSON
Version 0.0.9 PyPI version JSON
download
home_pagehttps://github.com/xiejx5/baseflow
SummaryA python package for baseflow separation
upload_time2024-03-31 18:14:36
maintainerNone
docs_urlNone
authorCody James
requires_python>=3.6.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<div align="center">

# baseflow

An open-source Python package for baseflow separation 🔥<br>

</div>
<br>

<div align="center">

![Global Baseflow Index Distribution from 12 Separation Methods](https://user-images.githubusercontent.com/29588684/226364211-3fd46152-3b9a-4de9-8d77-f1b59747a0f4.jpg)

</div>
<br>


## âš¡&nbsp;&nbsp;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>

## 📌&nbsp;&nbsp;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>

## 🚀&nbsp;&nbsp;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![Global Baseflow Index Distribution from 12 Separation Methods](https://user-images.githubusercontent.com/29588684/226364211-3fd46152-3b9a-4de9-8d77-f1b59747a0f4.jpg)\r\n\r\n</div>\r\n<br>\r\n\r\n\r\n## \u26a1&nbsp;&nbsp;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&nbsp;&nbsp;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&nbsp;&nbsp;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"
}
        
Elapsed time: 2.40868s