Draft: integrate land rerouting and FMS into the SWOPP3 pipeline#60
Draft: integrate land rerouting and FMS into the SWOPP3 pipeline#60daniprec wants to merge 7 commits into
Conversation
|
Added commit da15c9b to this branch. This updates the land-avoidance configuration so the reroute A* scale is stored once on the Land object and inherited by the SWOPP3 runner and the demo instead of being hard-coded at each call site. What changed:
Validation:
Next I am changing the land-mask resolution defaults to trade some coastline detail for faster execution. |
|
Added follow-up commit 3c6bfd9 to make SWOPP3 land handling faster. This changes the SWOPP3 CLI to build corridor land masks with an explicit What changed:
Validation:
Smoke result:
|
Goal
Combine the two open lines of work into the actual end-to-end optimized SWOPP3 pipeline:
This follow-up makes the optimized route pipeline easier to read and reason about by making the optimization stages explicit:
Dependency status
This PR is intentionally a dependent draft.
It should only be reviewed or merged after both prerequisite PRs are in:
feat: add reroute_around_land() to avoid land crossingsFail fast when SWOPP3 weather data is missing instead of silently producing GC routesThe base branch is
docs/swopp3-era5-pipelineto keep the SWOPP3 pipeline context in place, but this branch also carries the land-rerouting pieces needed to exercise the combined flow. After #58 and #59 land, this PR should be rebased or retargeted so the final diff only shows the true follow-up changes.What changes here
reroute_around_land()and its A*-based helper pipeline inroutetools/land.pytests/test_reroute_land.pyscripts/demo_land_avoidance.pyfor visual validation of GC -> reroute -> FMS routes between portsroutetools/swopp3_runner.pyso optimized departures use an explicit pipeline:defaults/**kwargsparameter plumbing from the SWOPP3 runner path and make the solver calls explicittests/test_swopp3_runner.pyso the runner contract is clearer and the optimization stages are asserted directlyWhy this PR exists separately
The previous PRs establish the prerequisites, but they do not yet show the final optimized SWOPP3 route pipeline in one place. This draft isolates that final integration step and the readability cleanup around it.
Validation
make hooksmake test