smm-toolkit


Namesmm-toolkit JSON
Version 0.1.4.1 PyPI version JSON
download
home_pageNone
SummaryA Python toolkit for computing Soil Moisture Memory (SMM) based on drydown analysis and exponential decay fitting, as described in Farmani et al. (2025), Hydrology and Earth System Sciences.
upload_time2025-10-09 23:25:21
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords hydrology soil moisture smm drydown analysis land surface modeling hydrologic modeling noah-mp hydroclimate timescales
VCS
bugtrack_url
requirements numpy pandas xarray netCDF4 scipy matplotlib PyYAML pytest
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ๐Ÿ›ฐ๏ธ Soil Moisture Memory (SMM) Toolkit

[![TestPyPI](https://img.shields.io/badge/TestPyPI-smm--toolkit-blue)](https://test.pypi.org/project/smm-toolkit/)
[![PyPI](https://img.shields.io/pypi/v/smm-toolkit.svg)](https://pypi.org/project/smm-toolkit/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![DOI](https://img.shields.io/badge/DOI-10.5194/hess--29--547--2025-blue)](https://doi.org/10.5194/hess-29-547-2025)

This repository provides a Python package for computing **Soil Moisture Memory (SMM)**, as applied in the paper:

> Farmani, M. A., Behrangi, A., Gupta, A., Tavakoly, A., Geheran, M.,  
> *โ€œDo land models miss key soil hydrological processes controlling soil moisture memory?โ€*  
> **Hydrology and Earth System Sciences (HESS)**, 29, 547โ€“564, 2025.  
> [https://doi.org/10.5194/hess-29-547-2025](https://doi.org/10.5194/hess-29-547-2025)  
> ยฉ Author(s) 2025. This work is distributed under the Creative Commons Attribution 4.0 License.

---

## ๐ŸŒฟ Overview

The **SMM Toolkit** detects and analyzes soil moisture drydowns and computes short-term soil moisture memory timescales (Ts) from time series of soil moisture and precipitation.  

Key features:
- ๐Ÿ“ˆ Automatic **drydown detection**
- ๐Ÿงช **Exponential curve fitting** and Rยฒ filtering
- ๐Ÿ•’ Short-term **timescale (Ts)** computation for positive increments
- ๐Ÿ“Š Plotting and result export
- ๐Ÿงฐ YAML-based configuration for reproducible runs
- โšก PyPI installable & CI tested

---

## ๐Ÿงฐ Installation

You can install the package directly from PyPI:

```bash
pip install smm-toolkit


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "smm-toolkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "hydrology, soil moisture, SMM, drydown analysis, land surface modeling, hydrologic modeling, Noah-MP, hydroclimate, timescales",
    "author": null,
    "author_email": "Mohammad Ali Farmani <mohammadalifarmani95@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/f3/8f/613a73ac690d5718c1859f7123b84b13ec17f59b6fe1035f70fd8b57ef8c/smm_toolkit-0.1.4.1.tar.gz",
    "platform": null,
    "description": "# \ud83d\udef0\ufe0f Soil Moisture Memory (SMM) Toolkit\n\n[![TestPyPI](https://img.shields.io/badge/TestPyPI-smm--toolkit-blue)](https://test.pypi.org/project/smm-toolkit/)\n[![PyPI](https://img.shields.io/pypi/v/smm-toolkit.svg)](https://pypi.org/project/smm-toolkit/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![DOI](https://img.shields.io/badge/DOI-10.5194/hess--29--547--2025-blue)](https://doi.org/10.5194/hess-29-547-2025)\n\nThis repository provides a Python package for computing **Soil Moisture Memory (SMM)**, as applied in the paper:\n\n> Farmani, M. A., Behrangi, A., Gupta, A., Tavakoly, A., Geheran, M.,  \n> *\u201cDo land models miss key soil hydrological processes controlling soil moisture memory?\u201d*  \n> **Hydrology and Earth System Sciences (HESS)**, 29, 547\u2013564, 2025.  \n> [https://doi.org/10.5194/hess-29-547-2025](https://doi.org/10.5194/hess-29-547-2025)  \n> \u00a9 Author(s) 2025. This work is distributed under the Creative Commons Attribution 4.0 License.\n\n---\n\n## \ud83c\udf3f Overview\n\nThe **SMM Toolkit** detects and analyzes soil moisture drydowns and computes short-term soil moisture memory timescales (Ts) from time series of soil moisture and precipitation.  \n\nKey features:\n- \ud83d\udcc8 Automatic **drydown detection**\n- \ud83e\uddea **Exponential curve fitting** and R\u00b2 filtering\n- \ud83d\udd52 Short-term **timescale (Ts)** computation for positive increments\n- \ud83d\udcca Plotting and result export\n- \ud83e\uddf0 YAML-based configuration for reproducible runs\n- \u26a1 PyPI installable & CI tested\n\n---\n\n## \ud83e\uddf0 Installation\n\nYou can install the package directly from PyPI:\n\n```bash\npip install smm-toolkit\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python toolkit for computing Soil Moisture Memory (SMM) based on drydown analysis and exponential decay fitting, as described in Farmani et al. (2025), Hydrology and Earth System Sciences.",
    "version": "0.1.4.1",
    "project_urls": {
        "Documentation": "https://pypi.org/project/smm-toolkit/",
        "Homepage": "https://github.com/mfarmani95/SMM-Project",
        "Issue Tracker": "https://github.com/mfarmani95/SMM-Project/issues",
        "Related Paper": "https://doi.org/10.5194/hess-29-547-2025",
        "Source": "https://github.com/mfarmani95/SMM-Project"
    },
    "split_keywords": [
        "hydrology",
        " soil moisture",
        " smm",
        " drydown analysis",
        " land surface modeling",
        " hydrologic modeling",
        " noah-mp",
        " hydroclimate",
        " timescales"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c28f27aca9f029f63baa9eb562a1b572647858ac794c0ca2097d147097897347",
                "md5": "942d69ef7767bc82e147ea09236882cf",
                "sha256": "107ecebd39ac598deee2940b87437bc6a6c5ab1b0b7ce3031a689df603594e61"
            },
            "downloads": -1,
            "filename": "smm_toolkit-0.1.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "942d69ef7767bc82e147ea09236882cf",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 12368,
            "upload_time": "2025-10-09T23:25:20",
            "upload_time_iso_8601": "2025-10-09T23:25:20.577519Z",
            "url": "https://files.pythonhosted.org/packages/c2/8f/27aca9f029f63baa9eb562a1b572647858ac794c0ca2097d147097897347/smm_toolkit-0.1.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f38f613a73ac690d5718c1859f7123b84b13ec17f59b6fe1035f70fd8b57ef8c",
                "md5": "f4e3f6609dafd3380ec2d8c3cb210e7b",
                "sha256": "3dc2b074bf90fd25682ee923a039b1b69c2c954e711dcfc33219ee39528fc496"
            },
            "downloads": -1,
            "filename": "smm_toolkit-0.1.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "f4e3f6609dafd3380ec2d8c3cb210e7b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 11903,
            "upload_time": "2025-10-09T23:25:21",
            "upload_time_iso_8601": "2025-10-09T23:25:21.700422Z",
            "url": "https://files.pythonhosted.org/packages/f3/8f/613a73ac690d5718c1859f7123b84b13ec17f59b6fe1035f70fd8b57ef8c/smm_toolkit-0.1.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-09 23:25:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mfarmani95",
    "github_project": "SMM-Project",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": []
        },
        {
            "name": "xarray",
            "specs": []
        },
        {
            "name": "netCDF4",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "PyYAML",
            "specs": []
        },
        {
            "name": "pytest",
            "specs": []
        }
    ],
    "lcname": "smm-toolkit"
}
        
Elapsed time: 1.41203s