Skip to content

GSOC 2025 PROJECT

Weather Routing Tool

Contributor
shreyass-ranganatha
Mentors
MP52N, Katharina Demmich
Organization
52°North Spatial Information Research GmbHScience and medicine
Program
GSoC 2025In progress

About this project

Description from the program archive

The Weather Routing Tool is a system designed to find optimal shipping routes between two geographic points, taking into account weather data, local boundaries, and other environmental factors. The tool currently assumes constant ship speed and has a basic genetic algorithm for route optimization. This project aims to improve the routing logic by:

Introducing ship speed optimization along a route

Enhancing the genetic algorithm for more effective route modeling

Improving the usability and extensibility of the tool for end-users

Project Deliverables 1. Ship Speed Optimization Goal: Allow optimization of ship speed along the route instead of assuming it constant.

Approach:

Modify the Isofuel algorithm to use speed as a minimization criterion.

Define a new scoring function: score = (distance / time) - alpha * remaining_distance

Enable this feature via configuration: ISOCHRONE_MINIMISATION_CRITERION = "speed"

2. Genetic Algorithm Enhancements Goal: Improve the existing genetic algorithm’s efficiency and flexibility.

Planned Improvements:

Add multi-objective cost function support (e.g., fuel, speed, wear & tear).

Enhance crossover logic with:

Multi-point crossover

Uniform crossover

Adaptive crossover

Improve mutation strategies and population initialization.

Leverage the pymoo library with custom configurations.

3. Tool Usability Improvements Goal: Make the Weather Routing Tool more modular, user-friendly, and extensible.

Key Features:

Dynamic Python file injection using CLI:

python cli.py -f config.template.json custom.py

Load modules dynamically with: load_file_as_module(path: str) -> types.ModuleType

Command-line utility packaging:

Tool installable via PyPI (pip install wrt)

Usage: wrt -h

Rationale: Enable users to add custom boat models and configurations without modifying core code.

From the people who did it

No proposal or progress posts shared yet

Worked on this project? Share the proposal that got you selected and the posts you wrote.

Claim this project

Data: Google Summer of Code public archive. This project in the official archive