Wave Spectra Partitioning - Watershed algorithm for ocean wave spectra
Project description
WASP - WAve Spectra Partitioning
Watershed Algorithm for partitioning ocean wave spectra from WW3 and SAR (Sentinel-1)
📋 What is WASP?
WASP focuses exclusively on spectral partitioning - the process of separating ocean wave spectra into individual wave systems (partitions). 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 WW3 model spectra
- ✅ Extracting wave parameters (Hs, Tp, Dp) for each partition
👉 For analysis and validatetion, see the companion repository HIVE
🚀 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.trapezoidis not available.
📚 Documentation
For detailed usage examples and API documentation, please see the examples/ directory in the repository:
- 01_partition_sar.py: Process SAR (Sentinel-1) spectra
- 02_partition_ww3.py: Process WaveWatch III model spectra
- 03_partition_ndbc.py: Template for processing NDBC buoy data
- 04_validatete.py: Compare and validatete SAR vs WW3 results
🏗️ Project Structure
wasp/
├── src/
│ └── wasp/ # Main package
│ ├── partition.py # Watershed partitioning algorithm
│ ├── wave_params.py # Wave parameter calculations
│ ├── io_sar.py # SAR data I/O
│ ├── io_ww3.py # WW3 data I/O
│ └── utils.py # Utility functions
├── examples/ # Usage examples
└── docs/ # Documentation
📄 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wasp_ocean-0.1.1.tar.gz.
File metadata
- Download URL: wasp_ocean-0.1.1.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5e4601a40c10e2c75228d0746d104e551140e6359261846942e1e5ddddbdc82
|
|
| MD5 |
3b278395d5795b12e3e447e2bfb2e8f9
|
|
| BLAKE2b-256 |
c2563fab31a9c79ba64699a1cdf64733579365ba327cedf063738145249ec084
|
File details
Details for the file wasp_ocean-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wasp_ocean-0.1.1-py3-none-any.whl
- Upload date:
- Size: 26.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa04f1eb4cf9bfdc38d810ac8fcb2b249c87dab03288b8e3df23b97d32351e92
|
|
| MD5 |
f6da563ba57de8b5e25255f7252da1fa
|
|
| BLAKE2b-256 |
6e42004c6d168a9d5f1625273ccdec9fd49fc9842466e2a2901f1d9c4d46ef5d
|