I remember a few years back preparing for my Advanced Sea Leader assessment (back then it was 5 star!), and considering what they might request for a major crossing plan with tidal correction. I wasn't too daunted by the exercise technically, even if they asked for late changes to the plan - (e.g. whoops you're delayed by two hours etc...) - being an engineer & having got my coastal skipper award eons before - but what surprised me was that there didn't appear to be anything readily available to automate the task even for Yachties.
So I set about roughing something out using Excel - and in the process encountered some of the complexities, challenges & limitations in making a reliable general purpose tool!
The spreadsheet calculates the specific tidal effect for each hour of the passage, using the tidal diamond you have chosen, and correcting for the hourly timing vs high water & the tidal coefficient. It then does the appropriate tidal vector addition & vector triangle solution to maintain the ground course - either cumulating the total tidal effect for the passage to the end of the specific hour, or doing a sequential correction hour by hour and allowing you to consider either.
There are challenges with finding the solution to each vector triangle automatically - there are either two solutions - one of which is in the wrong direction that needs to be ignored, or no solution when the boat speed can't compensate for the tidal stream to stay on the ground course which needs to be indicated!
Below shows the graphical output that illustrates the cumulative, or hour by hour correction, and below that the output overlayed onto the relevant chart for the crossing.
So it was an interesting challenge for a few hours programming - and maybe now I understand better why there isn't any automatic tool for this - unless someone knows better than me and can point me in the right direction.
Very happy to share the tool which you can download here - please let me know if you find any issues or have suggestions as to how to improve it!