antarctica / PolarRoute

Long-distance maritime polar route planning, taking into account complex changing environmental conditions.
MIT License
15 stars 3 forks source link

Split cells when neighbouring inaccessible cells #265

Closed gecoombs closed 2 months ago

gecoombs commented 3 months ago

PolarRoute Pull Request

Date: 26/03 Version Number: 0.4.0

Description of change

Adds a method to the VesselPerformanceModeller that will split any cells neighbouring inaccessible cells (including land cells) to match the size of the inaccessible cell.

Fixes #264

Testing

Files Changed:

polar_route/vessel_performance/vessel_performance_modeller.py

Failing tests: vessel_test_results.txt

Updated test results: vessel_tests_updated.txt

Unit test results: vessel_unit_test_dump.txt

Checklist

gecoombs commented 3 months ago

This PR causes various regression tests to fail as the additional splitting modifies the vessel performance mesh and its neighbour graph. I have not updated the test files on this branch yet as the final changes @Ulvetanna needs to make to resolve the issue with splitting around waypoints will also require changing the tests and it may be easier to roll all of these changes into one big update.

gecoombs commented 3 months ago

For comparison, images showing the difference in the vessel performance meshes for the grf_normal environment mesh from the regression test examples:

Reference mesh: Screenshot from 2024-03-26 11-20-35

New mesh: Screenshot from 2024-03-26 11-20-45

gecoombs commented 3 months ago

I have now modified the vessel performance regression test files to match this version of the code as any further changes related to waypoint splitting will only change the route planning test results.