{"id":13948664,"url":"https://github.com/hainegroup/oceanspy","last_synced_at":"2026-02-19T08:34:37.105Z","repository":{"id":37808590,"uuid":"128723961","full_name":"hainegroup/oceanspy","owner":"hainegroup","description":"A Python package to facilitate ocean model data analysis and visualization.","archived":false,"fork":false,"pushed_at":"2025-06-30T18:31:50.000Z","size":38003,"stargazers_count":110,"open_issues_count":15,"forks_count":34,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-07-03T23:03:30.091Z","etag":null,"topics":["ocean","oceanography","physical-oceanography"],"latest_commit_sha":null,"homepage":"https://oceanspy.readthedocs.io","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hainegroup.png","metadata":{"files":{"readme":"README.rst","changelog":"HISTORY.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-09T06:20:24.000Z","updated_at":"2025-07-01T00:13:19.000Z","dependencies_parsed_at":"2023-09-21T19:45:20.182Z","dependency_job_id":"4f3cb1ff-7fe8-4944-9523-6f88a335a156","html_url":"https://github.com/hainegroup/oceanspy","commit_stats":{"total_commits":1084,"total_committers":16,"mean_commits":67.75,"dds":0.5571955719557196,"last_synced_commit":"734da7104667010943b3246b5a831cbff96a4f8f"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/hainegroup/oceanspy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hainegroup%2Foceanspy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hainegroup%2Foceanspy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hainegroup%2Foceanspy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hainegroup%2Foceanspy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hainegroup","download_url":"https://codeload.github.com/hainegroup/oceanspy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hainegroup%2Foceanspy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264375804,"owners_count":23598435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ocean","oceanography","physical-oceanography"],"created_at":"2024-08-08T05:01:27.420Z","updated_at":"2025-10-21T20:04:11.283Z","avatar_url":"https://github.com/hainegroup.png","language":"Jupyter Notebook","funding_links":[],"categories":["Hydrosphere","Observation and Conservation of Ecosystems"],"sub_categories":["Ocean and Hydrology Data Access","Ocean and Climate"],"readme":".. _readme:\n\n======================================================================================\nOceanSpy - A Python package to facilitate ocean model data analysis and visualization.\n======================================================================================\n\n|OceanSpy|\n\n|version| |conda forge| |docs| |CI| |pre-commit| |codecov| |black| |license| |doi| |JOSS| |binder|\n\n.. admonition:: Interactive Demo\n\n   Check out the interactive demonstration of OceanSpy at `www.bndr.it/gfvgd \u003chttps://bndr.it/gfvgd\u003e`_\n\nFor publications, please cite the following paper:\n\nAlmansi, M., R. Gelderloos, T. W. N. Haine, A. Saberi, and A. H. Siddiqui (2019). OceanSpy: A Python package to facilitate ocean model data analysis and visualization. *Journal of Open Source Software*, 4(39), 1506, doi: https://doi.org/10.21105/joss.01506 .\n\nThis material is based upon work supported by the National Science Foundation under Grant Numbers 1835640, 124330, 118123, and 1756863. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.\n\nWhat is OceanSpy?\n-----------------\n**OceanSpy** is an open-source and user-friendly Python package that enables scientists and interested amateurs to analyze and visualize ocean model datasets.\nOceanSpy builds on software packages developed by the Pangeo_ community, in particular xarray_, dask_, and xgcm_.\nThe integration of dask facilitates scalability, which is important for the petabyte-scale simulations that are becoming available.\n\nWhy OceanSpy?\n-------------\nSimulations of ocean currents using numerical circulation models are becoming increasingly realistic.\nAt the same time, these models generate increasingly large volumes of model output data, making the analysis of model data harder.\nUsing OceanSpy, model data can be easily analyzed in the way observational oceanographers analyze field measurements.\n\nHow to use OceanSpy?\n--------------------\nOceanSpy can be used as a standalone package for analysis of local circulation model output, or it can be run on a remote data-analysis cluster, such as the Johns Hopkins University SciServer_ system, which hosts several simulations and is publicly available (see `SciServer Access`_, and `Datasets`_).\n\n.. note::\n\n   OceanSpy has been developed and tested using MITgcm output. However, it is designed to work with any (structured grid) ocean general circulation model. OceanSpy's architecture allows to easily implement model-specific features, such as different grids, numerical schemes for vector calculus, budget closures, and equations of state. We actively seek input and contributions from users of other ocean models (`feedback submission`_).\n\n\n\n\n.. _Pangeo: http://pangeo-data.github.io\n.. _xarray: http://xarray.pydata.org\n.. _dask: https://dask.org\n.. _xgcm: https://xgcm.readthedocs.io\n.. _SciServer: http://www.sciserver.org\n.. _`SciServer Access`: https://oceanspy.readthedocs.io/en/latest/sciserver.html\n.. _Datasets: https://oceanspy.readthedocs.io/en/latest/datasets.html\n.. _`feedback submission`: https://github.com/hainegroup/oceanspy/issues\n\n.. |OceanSpy| image:: https://github.com/hainegroup/oceanspy/raw/main/docs/_static/oceanspy_logo_blue.png\n   :alt: OceanSpy image\n   :target: https://oceanspy.readthedocs.io\n\n.. |version| image:: https://img.shields.io/pypi/v/oceanspy.svg?style=flat\n    :alt: PyPI\n    :target: https://pypi.python.org/pypi/oceanspy\n\n.. |conda forge| image:: https://anaconda.org/conda-forge/oceanspy/badges/version.svg\n   :alt: conda-forge\n   :target: https://anaconda.org/conda-forge/oceanspy\n\n.. |docs| image:: http://readthedocs.org/projects/oceanspy/badge/?version=latest\n    :alt: Documentation\n    :target: http://oceanspy.readthedocs.io/en/latest/?badge=latest\n\n.. |CI| image:: https://img.shields.io/github/workflow/status/hainegroup/oceanspy/CI?logo=github\n    :alt: CI\n    :target: https://github.com/hainegroup/oceanspy/actions\n\n.. |codecov| image:: https://codecov.io/github/hainegroup/oceanspy/coverage.svg?branch=main\n    :alt: Coverage\n    :target: https://codecov.io/github/hainegroup/oceanspy?branch=main\n\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n    :alt: black\n    :target: https://github.com/psf/black\n\n.. |license| image:: https://img.shields.io/github/license/mashape/apistatus.svg\n   :alt: License\n   :target: https://github.com/hainegroup/oceanspy\n\n.. |doi| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3270646.svg\n   :alt: doi\n   :target: https://doi.org/10.5281/zenodo.3270646\n\n.. |JOSS| image:: http://joss.theoj.org/papers/10.21105/joss.01506/status.svg\n   :alt: JOSS\n   :target: https://doi.org/10.21105/joss.01506\n\n.. |binder| image:: https://mybinder.org/badge_logo.svg\n   :alt: binder\n   :target: https://mybinder.org/v2/gh/hainegroup/oceanspy.git/main?filepath=binder\n\n.. |pre-commit| image:: https://results.pre-commit.ci/badge/github/hainegroup/oceanspy/main.svg\n   :target: https://results.pre-commit.ci/latest/github/hainegroup/oceanspy/main\n   :alt: pre-commit.ci status\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhainegroup%2Foceanspy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhainegroup%2Foceanspy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhainegroup%2Foceanspy/lists"}