Skip to main content

An Innovative Approach to Vegetative Precipitation Partitioning

Project description

CanoPyHydro

The goal of this and future versions of CanoPyHydro is to provide a tool set that empowers researchers and practitioners to gain new perspectives on rainfall distribution in forested environments. A list of publications that have utilized this tool-and influenced its development- can be found at the bottom of this page.

CanoPyHydro provides users access to an innovative, bottom-up approach to estimation precipitation redistribution. By enriching QSM data with additional structure via graph based hydrological models, canoPyHydro allows for the percise delineation of:'

  • Stemflow and throughfall generating areas of the canopy
  • The 'drip points' to which throughfall is directed - complete with their relative volumes
  • 'Divides' and 'confluences' within the canopy that dictate the flow of water through the canopy

The current tool set also boasts several different spacial analysis tools, several of which have been utilized in the study of non-hydrological environmental conditions within tree canopies. These include:

  • Functionality for characterizing the level of obsfucation present at given canopy cross sections
  • Tools for identifying, highlighting and isolating branch subnetworks meeting any arbitrary contition(s)
    • i.e. only branches with a radius > 10cm, branches with a branch order of 0 within 100cm of the ground, ...
  • 2D and 3D visualization functionality to interactively to explore the structure of tree canopies

Citing canoPyHydro

If you use our tools please cite this package in your work. You can cite the package by citing this paper (paper link here)

Contents:

The interactive jupyter notebook under '.\Cylinders\cli.ipynb' displays the code written for the first draft of the above linked paper how it was run and reviewed. The functionality there-in has been formalized and expanded into the

Getting Started

  • Pre-requisites

    1. Python version 3.9 or higher
    2. A Virtual environment
      • python -m venv
    3. Activate venv with
      • source venv/bin/activate (zsh, terminal)
      • source venv\Scripts\activate.ps1 (PowerShell)
    4. Install requirements
      • pip install -r requirements.txt

Contributing

We welcome contributions to this project! Whether it's reporting a bug, proposing a new feature, or contributing code, we appreciate your help. Here's how you can contribute:

  1. Install Aditional Dependencies: Some features (linting, git actions, etc.) may require additional dependencies. An additional 'requirements-dev.txt' file has been provided to install these dependencies.

    pip install -r requirements-dev.txt
    
  2. Install Pre-commit: This repository utilizes the ruff pre-commit hook to ensure that all code is linted before being committed. To install pre-commit, run the following commands:

    pip3 install pre-commit
    pre-commit install
    
  3. **Review the contributing Guidelines **: Check out the documentation, where you can find contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

Thank you for your interest in contributing to our project!

Publications:

This repository houses python utilities described in 'A LiDAR-driven pruning algorithm to delineate canopy drainage areas of stemflow and throughfall drip points.' A LiDAR-driven pruning algorithm to delineate canopy drainage areas of stemflow and throughfall drip points. (https://www.researchgate.net/publication/375530854)

Packaging

This project was initially packaged with Flit using the the instructions found on the offical python website: https://packaging.python.org/en/latest/tutorials/packaging-projects/.

0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

canopyhydro-0.0.2.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

canoPyHydro-0.0.2-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file canopyhydro-0.0.2.tar.gz.

File metadata

  • Download URL: canopyhydro-0.0.2.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for canopyhydro-0.0.2.tar.gz
Algorithm Hash digest
SHA256 af5b177999baf5c7514b1cf0b3893832491a48045a167a82e92412cf4d9d5c06
MD5 d0572e26f19028e826849387e3c61088
BLAKE2b-256 6b44be901e0339a25ef433ddca21dbaebb35701aaed583ef10c9c69323987129

See more details on using hashes here.

File details

Details for the file canoPyHydro-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: canoPyHydro-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for canoPyHydro-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e2d5bfe1b211054c3ab3160ec221dacb2283f49f6d2a979457f47e3cf03c9881
MD5 b6a0c21aaaf44f91a6af66068cca8974
BLAKE2b-256 45c748f828bd6a923495a6405df6dc1067de7e90a28b5975040220b7fff77f7f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page