A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

ecco_v4_py

A Python package that includes tools for loading and manipulating the ECCO v4 ocean and sea-ice state estimate.
https://github.com/ECCO-GROUP/ECCOv4-py

Category: Cryosphere
Sub Category: Glacier and Ice Sheets

Keywords from Contributors

automatic-differentiation climate-science data-assimilation exoplanets gfd mitgcm ocean-modelling

Last synced: about 10 hours ago
JSON representation

Repository metadata

A Python library with routines that support the loading, analysis, and plotting fields of the ECCO Version 4 Ocean and Sea-Ice State Estimate. The ecco_v4_py library builds on several valuable tools such as xmitgcm, gcm, xarray, and dask.

README.md

Synopsis

ecco_v4_py is a Python package that includes tools for loading and manipulating the ECCO v4 ocean and sea-ice state estimate (http://ecco-group.org)

Extensive documentation is provided on our readthedocs page:
http://ecco-v4-python-tutorial.readthedocs.io/index.html#

Installation

Installation instructions can be found here!

https://ecco-v4-python-tutorial.readthedocs.io/Installing_Python_and_Python_Packages.html

Contributors

If you would like to contribute, consider forking this repository and making pull requests via git!

Support

contact [email protected] or Ian.Fenty at jpl.nasa.gov

License

MIT License

Note on version numbers

ecco_v4_py uses the 'semantic versioning' scheme described here:

https://packaging.python.org/guides/distributing-packages-using-setuptools/#semantic-versioning-preferred

The essence of semantic versioning is a 3-part MAJOR.MINOR.MAINTENANCE numbering scheme:

MAJOR version when they make incompatible API changes,

MINOR version when they add functionality in a backwards-compatible manner, and

MAINTENANCE version when they make backwards-compatible bug fixes.

Updating on pypi.org

Note: Publishing a new 'release' will trigger an 'action' and publish the new release to pypi. The version number has to be different otherwise pypi will reject it and say 'version already exists'.

The instructions below outline how to manually push code changes to pypi.

  1. Make sure your ~/.pypirc file has entries for [pypi] and [testpypi] with properly-scoped api tokens
[distutils]
  index-servers =
    pypi
    ecco_v4_py 

[pypi]
  username = __token__
  password = YOUR-PYPI-TOKEN-HERE

[ecco_v4_py]
  repository = https://upload.pypi.org/legacy/
  username = __token__
  password = YOUR-PYPI-TOKEN-HERE (can be scoped for just the ecco_v4_py package)

[testpypi]
  username = __token__
  password = YOUR-TESTPYPI-TOKEN-HERE
  1. Verify all code changes are up to date on github, including version number
  2. Navigate to ECCOv4_py directory
  3. Remove old "distribution" files by deleting the contents of the dist/ directory
  4. Rebuild the dist/ files
python3 setup.py sdist bdist_wheel
  1. Push changes to pypi test platform: test.pypi.org
twine upload --repository testpypi dist/*
  1. Verify code updates are on test.pypi.org: https://test.pypi.org/project/ecco-v4-py/
  2. Push changes to to pypi
twine upload dist/* --repository-url https://upload.pypi.org/legacy/
  1. Verify code updates are on pypi.org: https://pypi.org/project/ecco-v4-py/

Note on testing with pytest

(credit to Tim Smith)

You can run the tests locally with the pytest package, which is available through conda-forge. With that installed, you can navigate to ECCOv4-py/ecco_v4_py/test and either:

Run all the tests exactly as they are on travis (this takes a while, like 12 minutes!):

py.test . -v --cov=ecco_v4_py --cov-config .coveragerc --ignore=ecco_v4_py/test/test_generate_ecco_netcdf_product.py

Or you can run any individual module e.g. to run the few tests in ecco_utils:

py.test test_ecco_utils.py

(and you can add any of the -v or whatever flags you want).


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 228
Total Committers: 14
Avg Commits per committer: 16.286
Development Distribution Score (DDS): 0.461

Commits in past year: 11
Committers in past year: 3
Avg Commits per committer in past year: 3.667
Development Distribution Score (DDS) in past year: 0.182

Name Email Commits
Ian Fenty i****y@g****m 123
Timothy Smith t****4@u****u 51
Ou Wang o****g@p****v 20
Ou Wang o****1@y****m 10
ifenty f****y@g****m 9
Emma Boland e****p@b****k 3
Duncan Bark d****k@g****m 3
Jan-Erik Tesdal j****l@g****m 2
Debellis m****s@g****m 2
Ivana Escobar i****a@u****u 1
Greg Moore 6****e 1
Dafydd S 1****n 1
Ou Wang o****g@p****v 1
Ian Fenty i****y@l****u 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 22
Total pull requests: 91
Average time to close issues: 7 months
Average time to close pull requests: 7 days
Total issue authors: 17
Total pull request authors: 10
Average comments per issue: 3.68
Average comments per pull request: 1.04
Merged pull request: 86
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 8
Past year average time to close issues: N/A
Past year average time to close pull requests: 6 days
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 4.0
Past year average comments per pull request: 0.5
Past year merged pull request: 8
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/ECCO-GROUP/ECCOv4-py

Top Issue Authors

  • timothyas (4)
  • liu-ran (2)
  • jetesdal (2)
  • rcaneill (1)
  • DanJonesOcean (1)
  • rabernat (1)
  • ifenty (1)
  • christophernhill (1)
  • ggebbie (1)
  • Shreyas911 (1)
  • cspencerjones (1)
  • simonwettocean (1)
  • pittwolfe (1)
  • JustinWenzhaoLi (1)
  • jdldeauna (1)

Top Pull Request Authors

  • ifenty (43)
  • owang01 (21)
  • timothyas (17)
  • emmomp (3)
  • jetesdal (2)
  • dafyddstephenson (1)
  • IvanaEscobar (1)
  • mayadebellis (1)
  • gjmoore (1)
  • DuncanBark (1)

Top Issue Labels

Top Pull Request Labels


Package metadata

pypi.org: ecco-v4-py

Estimating the Circulation and Climate of the Ocean (ECCO) Version 4 Python Package

  • Homepage: https://github.com/ECCO-GROUP/ECCOv4-py
  • Documentation: https://ecco-v4-py.readthedocs.io/
  • Licenses: MIT
  • Latest release: 1.7.2 (published 28 days ago)
  • Last Synced: 2025-04-01T19:46:56.689Z (26 days ago)
  • Versions: 54
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 950 Last month
  • Docker Downloads: 0
  • Rankings:
    • Docker downloads count: 2.037%
    • Forks count: 7.479%
    • Dependent packages count: 10.052%
    • Average: 11.471%
    • Stargazers count: 12.249%
    • Downloads: 15.365%
    • Dependent repos count: 21.642%
  • Maintainers (1)
conda-forge.org: ecco_v4_py

  • Homepage: https://github.com/ECCO-GROUP/ECCOv4-py
  • Licenses: MIT
  • Latest release: 1.5.3 (published over 3 years ago)
  • Last Synced: 2025-04-02T02:12:02.142Z (26 days ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Rankings:
    • Dependent repos count: 18.06%
    • Forks count: 33.115%
    • Average: 37.678%
    • Stargazers count: 47.947%
    • Dependent packages count: 51.589%

Dependencies

setup.py pypi
  • Bottleneck *
  • Cartopy *
  • cmocean *
  • dask *
  • future *
  • numpy *

Score: 12.966504572895715