https://github.com/sdtaylor/pyphenology
Plant phenology models in python with a scikit-learn inspired API
https://github.com/sdtaylor/pyphenology
ecology ecology-modelling plants science
Last synced: 6 months ago
JSON representation
Plant phenology models in python with a scikit-learn inspired API
- Host: GitHub
- URL: https://github.com/sdtaylor/pyphenology
- Owner: sdtaylor
- License: mit
- Created: 2017-12-07T21:05:55.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-06-21T18:30:27.000Z (over 2 years ago)
- Last Synced: 2025-04-14T17:34:02.495Z (6 months ago)
- Topics: ecology, ecology-modelling, plants, science
- Language: Python
- Homepage: https://pyphenology.readthedocs.io
- Size: 1.87 MB
- Stars: 32
- Watchers: 3
- Forks: 12
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# pyPhenology
[](https://pypi.org/project/pyPhenology/)
[](https://github.com/sdtaylor/pyPhenology/actions/workflows/test-package.yml)
[](https://raw.githubusercontent.com/sdtaylor/pyPhenology/master/LICENSE)
[](http://pyphenology.readthedocs.io/en/master/?badge=master)
[](https://codecov.io/gh/sdtaylor/pyPhenology)
[](https://doi.org/10.21105/joss.00827)Plant phenology models in python with a scikit-learn inspired API
## Full documentation
[http://pyphenology.readthedocs.io/en/master/](http://pyphenology.readthedocs.io/en/master/)
## Installation
Requires: scipy, pandas, joblib, and numpyInstall via pip
```
pip install pyPhenology
```Or install the latest version from Github
```
pip install git+git://github.com/sdtaylor/pyPhenology
```## Usage
A Thermal Time growing degree day model:
```
from pyPhenology import models, utils
observations, predictors = utils.load_test_data(name='vaccinium')
model = models.ThermalTime()
model.fit(observations, predictors)
model.get_params()
{'t1': 85.704951490688927, 'T': 7.0814430573372666, 'F': 185.36866570243012}
```Any of the parameters in a model can be set to a fixed value. For example the thermal time model with the threshold T set to 0 degrees C
```
model = models.ThermalTime(parameters={'T':0})
model.fit(observations, predictors)
model.get_params()
{'t1': 26.369813953905265, 'F': 333.76534368004388, 'T': 0}
```## Citation
If you use this software in your research please cite it as:
Taylor, S. D. (2018). pyPhenology: A python framework for plant phenology modelling. Journal of Open Source Software, 3(28), 827. https://doi.org/10.21105/joss.00827
Bibtex:
```
@article{Taylor2018,
author = {Taylor, Shawn David},
doi = {10.21105/joss.00827},
journal = {Journal of Open Source Software},
mendeley-groups = {Software/Data},
month = {aug},
number = {28},
pages = {827},
title = {{pyPhenology: A python framework for plant phenology modelling}},
url = {http://joss.theoj.org/papers/10.21105/joss.00827},
volume = {3},
year = {2018}
}```
## Acknowledgments
Development of this software was funded by
[the Gordon and Betty Moore Foundation's Data-Driven Discovery Initiative](http://www.moore.org/programs/science/data-driven-discovery) through
[Grant GBMF4563](http://www.moore.org/grants/list/GBMF4563) to Ethan P. White.