Skip to main content

Oceanographic Research Cruise Planning System

Project description

CruisePlan

๐ŸŒŠ Oceanographic Research Cruise Planning System โ€” a software package for planning oceanographic research cruises.

Tests Python 3.9+ License: MIT Documentation

CruisePlan assists oceanographers in designing optimal station layouts, calculating precise operational timings, and generating professional proposal outputs adhering to scientific standards like CF conventions.

๐Ÿ“˜ Full documentation available at:
๐Ÿ‘‰ https://ocean-uhh.github.io/cruiseplan/


๐Ÿš€ What's Included

  • โœ… Interactive station planning: Click-to-place stations on bathymetric maps with real-time depth feedback
  • ๐Ÿ““ PANGAEA integration: Browse and incorporate past cruise data for context
  • ๐Ÿ“„ Multi-format outputs: Generate NetCDF, LaTeX reports, HTML maps, KML files, and CSV data
  • ๐Ÿ” Cruise validation: Automated checking of cruise configurations and operational feasibility
  • ๐ŸŽจ Documentation: Sphinx-based docs with API references and usage guides
  • ๐Ÿ“ฆ Modern Python packaging: Complete with testing, linting, and CI/CD workflows
  • ๐Ÿงพ Scientific citation support: CITATION.cff for academic attribution

Project structure

cruiseplan/
โ”œโ”€โ”€ .github/
โ”‚   โ””โ”€โ”€ workflows/              # GitHub Actions for tests, docs, PyPI
โ”œโ”€โ”€ docs/                       # Sphinx-based documentation
โ”‚   โ”œโ”€โ”€ source/                 # reStructuredText + MyST Markdown + _static
โ”‚   โ””โ”€โ”€ Makefile                # for building HTML docs
โ”œโ”€โ”€ notebooks/                  # Example notebooks and demos
โ”œโ”€โ”€ cruiseplan/                 # Main Python package
โ”‚   โ”œโ”€โ”€ cli/                    # Command-line interface modules
โ”‚   โ”œโ”€โ”€ core/                   # Core cruise planning logic
โ”‚   โ”œโ”€โ”€ calculators/            # Distance, duration, routing calculators
โ”‚   โ”œโ”€โ”€ data/                   # Bathymetry and PANGAEA data handling
โ”‚   โ”œโ”€โ”€ interactive/            # Interactive station picking tools
โ”‚   โ”œโ”€โ”€ output/                 # Multi-format output generators
โ”‚   โ””โ”€โ”€ utils/                  # Utilities and coordinate handling
โ”œโ”€โ”€ tests/                      # Comprehensive pytest test suite
โ”œโ”€โ”€ data/                       # Bathymetry datasets
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ .pre-commit-config.yaml
โ”œโ”€โ”€ CITATION.cff                # Citation file for academic use
โ”œโ”€โ”€ CONTRIBUTING.md             # Contribution guidelines
โ”œโ”€โ”€ LICENSE                     # MIT license
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ pyproject.toml              # Modern packaging config
โ”œโ”€โ”€ requirements.txt            # Core package dependencies
โ”œโ”€โ”€ requirements-dev.txt        # Development and testing tools
โ”œโ”€โ”€ environment.yml             # Conda environment specification
โ””โ”€โ”€ PROJECT_SPECS.md            # Development roadmap and specifications

๐Ÿ”ง Quickstart

Install CruisePlan in development mode:

git clone https://github.com/ocean-uhh/cruiseplan.git
cd cruiseplan

# Option A: Using conda/mamba (recommended)
conda env create -f environment.yml
conda activate cruiseplan
pip install -e .

# Option B: Using pip
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install -e .

To run tests:

pytest

To build the documentation locally:

cd docs
make html

๐Ÿ“š Learn More


๐Ÿค Contributing

Contributions are welcome! Please see our Contributing Guidelines for details on how to get started.

For information about planned improvements and the development roadmap, see PROJECT_SPECS.md.


๐Ÿ“ฃ Citation

If you use CruisePlan in your research, please cite it using the information in CITATION.cff.

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

cruiseplan-0.1.0.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

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

cruiseplan-0.1.0-py3-none-any.whl (108.0 kB view details)

Uploaded Python 3

File details

Details for the file cruiseplan-0.1.0.tar.gz.

File metadata

  • Download URL: cruiseplan-0.1.0.tar.gz
  • Upload date:
  • Size: 3.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.7

File hashes

Hashes for cruiseplan-0.1.0.tar.gz
Algorithm Hash digest
SHA256 64ae10eb1a2753b05d197f707f63ae7aa8f52e25be73931260cc157e134472c1
MD5 df2d2e52ade88b07cf4ef664da98be20
BLAKE2b-256 ab6a89845c7fe9814c6d59ea0774d9406dbefb886997285fc268291903294fda

See more details on using hashes here.

File details

Details for the file cruiseplan-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for cruiseplan-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e22199c8fb4e41c50f0a80c4a6b940633b46ced5a6ebaeed1cba66b2c3ec6fd8
MD5 6d2b85e3a32fe4e74d2ff616aa60914c
BLAKE2b-256 adb93facb1807b2864347b9e01525fe59610012758233e72daa124ee100dccea

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