Skip to main content

A Python library for oceanographic data analysis, numerical model preprocessing, and data retrieval

Project description

oceanicospy

A Python library for oceanographic data analysis, numerical model preprocessing, and data retrieval.

DOI Version Status License

oceanicospy centralizes and standardizes the code produced by the OCEANICOS research group, turning recurring tasks in oceanography and coastal engineering into reusable, well-tested building blocks.


Features

  • Observations — read data from RBR, AQUAlogger, AWAC, CTD, weather stations, and more.
  • Analysis — temporal and spectral techniques, including WaveSpectralAnalyzer and tidal analysis.
  • Models — preprocessing automation for numerical models (SWAN, WW3, XBeach).
  • Retrievals — automated downloads from ERA5, Copernicus Marine (CMEMS), and UHSLC real-time data.
  • GIS — geospatial utilities for coastal data (shapefiles, XYZ grids, projections).
  • Plots — quick, publication-ready visualizations of oceanographic variables.
  • Utils — shared helper functions used across all subpackages.

Installation

oceanicospy is currently in beta. The pre-release flag is required to install the latest version.

Local environment

Create a Python environment (conda, venv, or similar) and install from PyPI:

pip install --pre oceanicospy

Verify the installation:

pip show oceanicospy

Expected output:

Name: oceanicospy
Version: 0.1.0rc3
Summary: A Python library for oceanographic data analysis, numerical model preprocessing, and data retrieval
Author-email: OCEANICOS developer team <oceanicos_med@unal.edu.co>
License: GPLv3

Google Colab

Install the latest pre-release directly in a Colab notebook:

!pip install --pre oceanicospy

A runtime restart may be required after installation due to dependency conflicts with Colab's pre-installed packages.


Quick start

Import the full package:

import oceanicospy

Or import only what you need:

from oceanicospy.observations.pressure_sensors import RBR
from oceanicospy.analysis import WaveSpectralAnalyzer

Wildcard imports (from oceanicospy.analysis import *) are convenient for exploration but can shadow names from other libraries. Prefer explicit imports in scripts.


Package structure

oceanicospy/
├── analysis/      # temporal and spectral analysis (WaveSpectralAnalyzer, tidal analysis, …)
├── gis/           # geospatial utilities (shapefiles, XYZ data, projections)
├── models/        # numerical model preprocessing (SWAN, WW3, XBeach)
├── observations/  # instrument readers (RBR, AQUAlogger, AWAC, CTD, …)
├── plots/         # visualization utilities
├── retrievals/    # automated data retrieval (ERA5, CMEMS, UHSLC)
└── utils/         # shared helpers

Contributing

Contributions are welcome. The workflow follows the standard GitHub fork-and-pull-request model.

1. Fork the repository

Go to github.com/oceanicos-dev-org/oceanicospy and click Fork.

2. Set up SSH authentication

Follow the GitHub SSH guide if you haven't already.

3. Clone your fork

git clone git@github.com:YOUR-USERNAME/oceanicospy.git
cd oceanicospy

Optionally add the upstream remote to stay in sync:

git remote add upstream git@github.com:oceanicos-dev-org/oceanicospy.git

4. Install in editable mode

pip install -e .

Install optional dependency groups for documentation or development:

pip install -e ".[docs]"   # sphinx, sphinx-book-theme, nbsphinx, myst-nb
pip install -e ".[dev]"    # pytest, build, twine

5. Create a feature branch

Never commit directly to main or integration:

git checkout -b YOUR-USERNAME/my-feature

6. Commit and push

git add path/to/changed_file.py
git commit -m "add some particular feature to certain module"
git push origin YOUR-USERNAME/my-feature

7. Open a pull request

On GitHub, navigate to your fork and click Contribute → Open a pull request. Provide a clear title and description of what changed and why.


License

Distributed under the GNU General Public License v3 (GPLv3). See LICENSE for details.


Contact

OCEANICOS developer team — oceanicos_med@unal.edu.co

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

oceanicospy-0.1.0rc3.tar.gz (511.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oceanicospy-0.1.0rc3-py3-none-any.whl (535.7 kB view details)

Uploaded Python 3

File details

Details for the file oceanicospy-0.1.0rc3.tar.gz.

File metadata

  • Download URL: oceanicospy-0.1.0rc3.tar.gz
  • Upload date:
  • Size: 511.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for oceanicospy-0.1.0rc3.tar.gz
Algorithm Hash digest
SHA256 610abcbd38c9f9cfdd7f59bc2057c9d53e2cc30c8b20425a25277d39b59d399f
MD5 1a29139c63e5d72f7c33cb277e1a02c6
BLAKE2b-256 9c445eef344ff22f35e64cad2d103e028f8177cef6359de8fca561e72460051f

See more details on using hashes here.

File details

Details for the file oceanicospy-0.1.0rc3-py3-none-any.whl.

File metadata

  • Download URL: oceanicospy-0.1.0rc3-py3-none-any.whl
  • Upload date:
  • Size: 535.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for oceanicospy-0.1.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 ae52fe3639565c028ddb74923decadca8166c791e08c386cc3f4e933c9869a78
MD5 f5b9d03a994c82672ab06248d9adab52
BLAKE2b-256 9fa3147914cdab64fa645821f67febb90c89747c8c8b70b31fcf20b891df95eb

See more details on using hashes here.

Supported by

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