geocaret
GeoCARET - a command line Python tool for delineating and analysing catchments and reservoirs.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.3%) to scientific vocabulary
Keywords
Repository
GeoCARET - a command line Python tool for delineating and analysing catchments and reservoirs.
Basic Info
- Host: GitHub
- Owner: Reservoir-Research
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://reservoir-research.github.io/geocaret/
- Size: 3.65 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
- Releases: 0
Topics
Metadata Files
README.md
About
GeoCARET is a command line Python tool for delineating and analysing catchments and reservoirs. It relies on Google Earth Engine (GEE) - Google's cloud-based platform developed for planetary-scale environmental analysis. GeoCARET uses Google Earth Engine as a backend for performing geometry operations and data processing and as a database of global spatial data in the form of GIS layers. It additionally relies on several private assets not available in GEE. We have made these assets accessible for analysis by uploading them to a dedicated GEE asset folder.
To request access to those assets please send email to: tomasz.k.janus@gmail.com or tjanus.heet@gmail.com with your email address registered with Google Earth Engine.
Requirements
Our software requires Python 3.8 or 3.9 only.
We are currently experiencing errors when trying to run our software in Python 3.10 caused by frictionless package being limited to version 4.40.8 or lower which does not supporting the new hierarchy of classes in Python's collections module. We are working on resolving this issue.
A number of additional python libraries are required to run the heet tool. These are listed in requirements.txt.
We advise that you create a separate python environment for running GeoCARET (see installation guide for step by step instructions).
Installation
The repository does not require installation but relies on a number of packages. We recommend that you set up a virtual environment dedicated to this repository before attempting to install all the dependencies. There are several packages for creating virtual environments such as venv, virtualenv, pyenv, etc. Please refer to web resources and find out what works best for you, e.g. in https://www.freecodecamp.org/news/how-to-setup-virtual-environments-in-python/.
The dependencies are included in requirements.txt. You can install these dependencies by running:
pip install -r requirements.txt
The package can also be installed as a Docker image. For more information, see installation instructions
How to use GeoCARET
Depending on the installation option, either as a Python package or as a Docker image, running GeoCARET requres a slightly different syntax. The details on how to run GeoCARET are provided here.
Demo
We have provided a test data file that can be used to run GeoCARET. The file contains input data for analysis of a single reservoir.
To run the demo using GeoCARET as a Python script, use the following syntax:
```
python heetcli.py tests/data/dams.csv testproject job01 standard ```
To run the demo using GeoCARET Docker container, type the following:
```
docker compose run --rm geocaret python heetcli.py tests/data/dams.csv testproject job01 standard ```
Tests
The repository contains unit tests which test the behaviour of individual components of the software. They can be executed using pytest by typing pytest tests in the root folder where the tests directory is located.
Disclaimer
This software has been written for research purposes and may not be as robust as the software designed to be used by the wider public. We are aware of this and we're trying to make constant improvements, developments and bug fixes. If you run into problems running this software, please submit an issue or contact us directly at tomasz.janus@manchester.ac.uk, tomasz.k.janus@gmail.com or jaise.kuriakose@manchester.ac.uk
Owner
- Name: Reservoir Research
- Login: Reservoir-Research
- Kind: organization
- Email: tomasz.janus@manchester.ac.uk
- Repositories: 1
- Profile: https://github.com/Reservoir-Research
Citation (CITATION.cff)
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: "GeoCARET - a command line Python tool for delineating and analysing catchments and reservoirs."
abstract: GeoCARET is a command line tool for geospatial analysis of catchments and reservoirs. It uses Google Earth Engine (GEE) as a back-end for geospatial calculations and as a database of geospatial (GIS) layers. GeoCARET allows a Pythonic interface for scheduling large jobs on Google Earth Engine without the need of manual steps and the usage of GEE's web-interface.
authors:
- family-names: Kopec-Harding
given-names: Kamilla
- familiy-names: Janus
given-names: Tomasz
- family-names: Barry
given-names: Chris
- family-names: Kuriakose
given-names: Jaise
- name: "GeoCARET"
version: 1.0.0
date-released: "2024-07-01"
license: GPL-3.0
repository-code: "https://github.com/Reservoir-Research/geocaret"
GitHub Events
Total
- Push event: 1
- Create event: 1
Last Year
- Push event: 1
- Create event: 1
Dependencies
- python ${PYTHON_VERSION}-slim build
- PyInquirer *
- colorama *
- earthengine-api *
- frictionless <=4.40.8
- pandas *
- polling2 *
- pyfiglet *
- pytest *
- pytest-cov *
- pyyaml *
- setuptools-scm *
- toml *
- tqdm *
- yaspin *
- JamesIves/github-pages-deploy-action 3.7.1 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- nbsphinx *
- sphinx-copybutton *
- sphinx-math-dollar *
- sphinx-tabs *
- sphinx-toggleprompt *
- sphinxawesome-theme *
- sphinxcontrib-applehelp *
- sphinxcontrib-bibtex *
- sphinxcontrib-devhelp *
- sphinxcontrib-email *
- sphinxcontrib-htmlhelp *
- sphinxcontrib-jquery *
- sphinxcontrib-jsmath *
- sphinxcontrib-napoleon *
- sphinxcontrib-qthelp *
- sphinxcontrib-serializinghtml *
- actions/attest-build-provenance v1 composite
- actions/checkout v4 composite
- docker/build-push-action f2a1d5e99d037542a71f64918e516c093c6f3fc4 composite
- docker/login-action 65b78e6e13532edd9afa3aa52ac7964289d1a9c1 composite
- docker/metadata-action 9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 composite