Skip to main content

Wave Spectra Partitioning - Watershed algorithm for ocean wave spectra

Project description

WASP - WAve Spectra Partitioning

Watershed Algorithm for partitioning ocean wave spectra from model and observation

PyPI version Python Version DOI License: MIT

📋 What is WASP?

WASP focuses exclusively on spectral partitioning - the process of separating ocean wave spectra into individual wave systems (partitions) via watershed algorithm. Each partition represents a distinct wave system characterized by significant wave height (Hs), peak period (Tp), and direction (Dp).

WASP handles:

  • ✅ Spectral partitioning using watershed algorithm
  • ✅ Processing SAR (Sentinel-1 and CFOSAT), NDBC and WW3 model spectra
  • ✅ Extracting wave parameters (Hs, Tp, Dp) for each partition

🚀 Installation

⚠️ IMPORTANT: Python 3.10 or higher is required.

Install from PyPI (Recommended)

pip install wasp-ocean

Verify Installation

# Test the import
python -c "import wasp; print(f'WASP version: {wasp.__version__}')"

# Test main functions
python -c "from wasp import partition_spectrum, calculate_wave_parameters; print('✓ Installation successful!')"

Development Installation

For development or local modifications:

# Clone the repository
git clone https://github.with/jtcarvalho/wasp.git
cd wasp

# Install in editable mode
pip install -e .

📦 Key Dependencies

  • Python >= 3.10 (required)
  • NumPy >= 2.1.0 (required for np.trapezoid)
  • pandas >= 2.2.0
  • xarray >= 2024.11.0
  • matplotlib >= 3.8.0
  • scipy >= 1.14.0
  • scikit-image >= 0.22.0
  • netCDF4 >= 1.5.4

⚠️ Note: NumPy < 2.1.0 will cause errors as np.trapezoid is not available.

🏗️ Project Structure

wasp/
├── src/
│   └── wasp/              # Main package
│       ├── partition.py   # Watershed partitioning algorithm
│       ├── wave_params.py # Wave parameter calculations
│       ├── io_sar.py      # SAR Sentinel data I/O
│       ├── io_cfosat.py   # SAR CFOSAT data I/O
│       ├── io_ww3.py      # WW3 data I/O
│       ├── io_ndbc.py     # NDBC data I/O
│       └── utils.py       # Utility functions
└── examples/              # Usage examples

📄 License

This project is licensed under the MIT License.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📧 Contact

For questions or issues, please open an issue on GitHub.

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

wasp_ocean-1.0.2.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

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

wasp_ocean-1.0.2-py3-none-any.whl (39.9 kB view details)

Uploaded Python 3

File details

Details for the file wasp_ocean-1.0.2.tar.gz.

File metadata

  • Download URL: wasp_ocean-1.0.2.tar.gz
  • Upload date:
  • Size: 34.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for wasp_ocean-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0657f89761ac6981f8cd4ecac666e2d07957ee833d79a5bbd7d69b5ebdb85cc0
MD5 83f2a57134701c1ab483fee6bfe6476e
BLAKE2b-256 7a3eec2ba67a1f47da9448f638f0139798b943da98e102c0bcf8c627054ce132

See more details on using hashes here.

File details

Details for the file wasp_ocean-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: wasp_ocean-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 39.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for wasp_ocean-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 87b8d644e2d12cd556f0e5a59c6720f59ff9b68e781fa3a5261645911430bc28
MD5 373fa39258e8b552dba58bf1546aa44d
BLAKE2b-256 da75b20e1b652cea750564e3f481964a5dc03eeeb4c7438d64a75b1e3e06245b

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