hydrocron

API for retreiving time series of SWOT data

https://github.com/podaac/hydrocron

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 8 committers (12.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.9%) to scientific vocabulary

Keywords

development tva
Last synced: 5 months ago · JSON representation

Repository

API for retreiving time series of SWOT data

Basic Info
Statistics
  • Stars: 28
  • Watchers: 7
  • Forks: 6
  • Open Issues: 38
  • Releases: 142
Topics
development tva
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License

README.md

Overview

Hydrocron is an API that repackages hydrology datasets from the Surface Water and Ocean Topography (SWOT) satellite into formats that make time-series analysis easier, including GeoJSON and CSV. To use Hydrocron, see the official documentation with examples and tutorials here: https://podaac.github.io/hydrocron/intro.html

The following sections of this readme describe how to install and run a development version of Hydrocron locally on your own computer. This is not recommended if you just want to access SWOT data through Hydrocron. To access data, see the documentation linked above.

To contribute to the development of Hydrocron, see the contributing guidelines and browse the open issues.

NOTE: the following instructions for installing and running a local version of Hydrocron are out of date, and may result in a broken install. We are aware of the issue and working on restoring local development functionality. Please open a new issue or ask a question on the PO.DAAC forum if you need to run a local installation.

Requirements

Python 3.10+

Running Locally with Docker

  1. Build or pull the hydrocron docker image
  2. Run docker compose to launch dynamodb local and hydrocron local
  3. Load test data into dynamodb local
  4. Execute sample requests

1. Build or Pull Hydrocron Docker

Build the docker container:

```bash

docker build . -f docker/Dockerfile -t hydrocron:latest ```

Pull a pre-built image from https://github.com/podaac/hydrocron/pkgs/container/hydrocron:

bash docker pull ghcr.io/podaac/hydrocron:latest

2. Run Docker Compose

Launch dynamodb local on port 8000 and hyrdrocron on port 9000

bash docker-compose up

3. Load Test Data

If you have not setup a python environment yet, use poetry to first initialize the virtual environment.

bash poetry install

This will load the data in test/data into the local dynamo db instance.

bash python tests/load_data_local.py

NOTE - By default data will be removed when the container is stopped. There are some commented lines in docker-compose.yml that can be used to allow the data to persist across container restarts if desired.

4. Execute Sample Requests

The docker container is running a lambda container image. By posting data to port 9000, the lambda handler will be invoked and will return results from the loaded test data. For example:

bash curl --location 'http://localhost:9000/2015-03-31/functions/function/invocations' \ --header 'Content-Type: application/json' \ --data '{ "body":{ "feature": "Reach", "reach_id": "71224100223", "start_time": "2022-08-04T00:00:00+00:00", "end_time": "2022-08-23T00:00:00+00:00", "output": "csv", "fields": "feature_id,time_str,wse" } }'

Owner

  • Name: PO.DAAC
  • Login: podaac
  • Kind: organization
  • Email: podaac@podaac.jpl.nasa.gov
  • Location: United States of America

Physical Oceanography Distributed Active Archive Center (PO.DAAC)

GitHub Events

Total
  • Create event: 58
  • Release event: 34
  • Issues event: 63
  • Watch event: 10
  • Delete event: 18
  • Issue comment event: 86
  • Push event: 105
  • Pull request review comment event: 16
  • Pull request event: 31
  • Pull request review event: 30
  • Fork event: 1
Last Year
  • Create event: 58
  • Release event: 34
  • Issues event: 63
  • Watch event: 10
  • Delete event: 18
  • Issue comment event: 86
  • Push event: 105
  • Pull request review comment event: 16
  • Pull request event: 31
  • Pull request review event: 30
  • Fork event: 1

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 222
  • Total Committers: 8
  • Avg Commits per committer: 27.75
  • Development Distribution Score (DDS): 0.595
Past Year
  • Commits: 66
  • Committers: 5
  • Avg Commits per committer: 13.2
  • Development Distribution Score (DDS): 0.379
Top Committers
Name Email Commits
frankinspace f****e 90
Nikki Tebaldi 1****t 72
Victoria McDonald 4****d 45
Vanesa 1****l 9
Cassie Nickles 4****s 2
James Wood J****d@j****v 2
jamesfwood j****d 1
vggonzal 9****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 138
  • Total pull requests: 82
  • Average time to close issues: 2 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 14
  • Total pull request authors: 5
  • Average comments per issue: 1.67
  • Average comments per pull request: 0.77
  • Merged pull requests: 76
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 42
  • Pull requests: 34
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 15 days
  • Issue authors: 10
  • Pull request authors: 3
  • Average comments per issue: 1.52
  • Average comments per pull request: 0.74
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • frankinspace (59)
  • torimcd (53)
  • nikki-t (47)
  • merrittharlan (4)
  • cassienickles (4)
  • vggonzal (4)
  • devincowan (3)
  • efried130 (1)
  • Travis-Simmons (1)
  • bhandariravi (1)
  • viviant100 (1)
  • schuter (1)
  • lidapeng (1)
  • czarmanu (1)
Pull Request Authors
  • nikki-t (76)
  • torimcd (54)
  • frankinspace (15)
  • vggonzal (13)
  • cassienickles (4)
Top Labels
Issue Labels
enhancement (70) bug (34) documentation (13) dependency (5) question (4) help wanted (3)
Pull Request Labels
enhancement (3) documentation (2) dependency (1)

Dependencies

docker-compose.yml docker
  • amazon/dynamodb-local latest
poetry.lock pypi
  • aiobotocore 2.5.4
  • aiohttp 3.8.5
  • aioitertools 0.11.0
  • aiosignal 1.3.1
  • astroid 2.15.8
  • async-timeout 4.0.3
  • attrs 23.1.0
  • boto3 1.28.17
  • boto3-stubs 1.28.56
  • botocore 1.31.17
  • botocore-stubs 1.31.56
  • bounded-pool-executor 0.0.3
  • certifi 2023.7.22
  • cffi 1.15.1
  • charset-normalizer 3.2.0
  • click 8.1.7
  • click-plugins 1.1.1
  • clickclick 20.10.2
  • cligj 0.7.2
  • colorama 0.4.6
  • connexion 2.14.2
  • cryptography 41.0.4
  • dill 0.3.7
  • earthaccess 0.5.3
  • exceptiongroup 1.1.3
  • fiona 1.9.4.post1
  • flake8 6.1.0
  • flask 2.2.5
  • flask-testing 0.8.1
  • frozenlist 1.4.0
  • fsspec 2023.9.2
  • geopandas 0.13.2
  • hydrocron-db 0.1.0
  • idna 3.4
  • inflection 0.5.1
  • iniconfig 2.0.0
  • isort 5.12.0
  • itsdangerous 2.1.2
  • jinja2 3.1.2
  • jmespath 1.0.1
  • jsonschema 4.19.1
  • jsonschema-specifications 2023.7.1
  • lazy-object-proxy 1.9.0
  • markupsafe 2.1.3
  • mccabe 0.7.0
  • mirakuru 2.5.1
  • multidict 6.0.4
  • multimethod 1.10
  • mypy-boto3-dynamodb 1.28.55
  • numpy 1.25.2
  • packaging 23.1
  • pandas 2.1.0
  • pandas 2.1.1
  • platformdirs 3.10.0
  • pluggy 1.3.0
  • port-for 0.7.1
  • pqdm 0.2.0
  • psutil 5.9.5
  • pycodestyle 2.11.0
  • pycparser 2.21
  • pyflakes 3.1.0
  • pylint 2.17.6
  • pymysql 1.1.0
  • pyproj 3.6.1
  • pytest 7.4.2
  • pytest-dynamodb 2.2.3
  • python-cmr 0.9.0
  • python-dateutil 2.8.2
  • python-dotenv 1.0.0
  • pytz 2023.3.post1
  • pyyaml 6.0.1
  • referencing 0.30.2
  • requests 2.31.0
  • rpds-py 0.10.3
  • s3fs 2023.9.2
  • s3transfer 0.6.2
  • shapely 2.0.1
  • six 1.16.0
  • swagger-ui-bundle 0.0.9
  • tinynetrc 1.3.1
  • tomli 2.0.1
  • tomlkit 0.12.1
  • tqdm 4.66.1
  • types-awscrt 0.19.1
  • types-s3transfer 0.7.0
  • typing-extensions 4.8.0
  • tzdata 2023.3
  • urllib3 1.26.16
  • werkzeug 2.2.3
  • wrapt 1.15.0
  • yarl 1.9.2
pyproject.toml pypi
.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • docker/build-push-action v3 composite
  • docker/login-action v1 composite
  • docker/metadata-action v4 composite
  • getsentry/action-github-app-token v2 composite
  • snyk/actions/python-3.9 master composite
docker/Dockerfile docker
  • public.ecr.aws/lambda/python 3.10 build
.github/workflows/deploy-pages.yml actions
  • abatilo/actions-poetry v2 composite
  • actions/checkout v3 composite
  • actions/configure-pages v3 composite
  • actions/deploy-pages v2 composite
  • actions/setup-python v4 composite
  • actions/upload-pages-artifact v2 composite
  • getsentry/action-github-app-token v2 composite
.github/workflows/release-created.yml actions
  • abatilo/actions-poetry v3 composite
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • getsentry/action-github-app-token v3 composite