Skip to content

Generate post-expedition problems report#279

Merged
j-atkins merged 4 commits intoproblemsfrom
problems-report
Feb 6, 2026
Merged

Generate post-expedition problems report#279
j-atkins merged 4 commits intoproblemsfrom
problems-report

Conversation

@j-atkins
Copy link
Collaborator

@j-atkins j-atkins commented Feb 5, 2026

This PR adds a step to generate a human-readable record of all problems which occurred across the expedition (including their full message), which could be useful to refer back to when students are making their presentations.

Also tidies up some of the problems_encountered directory strucutre.

Copy link
Member

@erikvansebille erikvansebille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code changes look good to me; but could you also add some unit-tests so that we don’t unintentionally break this functionality later?

@j-atkins
Copy link
Collaborator Author

j-atkins commented Feb 6, 2026

Code changes look good to me; but could you also add some unit-tests so that we don’t unintentionally break this functionality later?

I've added more testing now 👍

@j-atkins j-atkins merged commit 0317127 into problems Feb 6, 2026
9 of 10 checks passed
@j-atkins j-atkins deleted the problems-report branch February 6, 2026 14:28
j-atkins added a commit that referenced this pull request Feb 13, 2026
* psuedo code

* remove notes

* fill some problems

* nicks changes

* still pseudo-code

* prepare for problem handling logic

* work in progress...

* moving logic to _run

* separate problem classes and separation logic

* re-structure

* progressing changes across simuate_schedule and _run

* checkpoint and reverification logic

* tidy up some logging etc

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* propagating general pre-departure problem

* propagate general problem during expedition

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix waypoint index selection for problem waypoint vs waypoint where scheduling will fail

* work towards propagating instrument problems

* fix contingency time checker, finish propagating instrument problem

* refactor

* propagating multiple problems per expedition, bugs still to fix

* propagate multiple problems across a single expedition

* start moving towards per waypoint contingency checker

* progress towards individual waypoint contingency checking

* revert to simpler next waypoint contingency checks

* waypoint congtingency checking and clearer output logging

* account for instrument deployment timings

* tidy up TODOs and delete checkpoint file at end of successful expedition

* working towards problem selection logic

* define problem selection logic and build system for caching selected problems for re-use with the same expedition

* parse prob_level argument through `run` CLI command

* update class structure

* add info to repo README and tidy up

* re-organise utils.py, improve instrument config register and downstream stationkeeping time calculations

* improve problems dir structures and giving unique identifiers, plus improve checkpoint error messaging

* updating tests and better unexpected error handling

* better handling of old problems/checkpoint files if simulation fails for unexpected errors

* update test with new log output

* tidy up

* handle single waypoint expeditions and tidy up

* remove duplication

* re-structure dir

* scenario class tests

* tests for problems simulator class

* add test for calc_wp_stationkeeping_time

* add test for _calc_sail_time

* tests for checkpoint class

* move back test zarr files

* reinstate original structure

* refactor, move methods to static

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Enhance problems terminal output styling (#276)

* display problems output in tabular format

* tidy up and fix simulation exiting procedure

* post review edits

* Update quickstart and assignment docs (#280)

* update quickstart

* update sail the ship

* Generate post-expedition problems report (#279)

* add post expedition report generator

* update tests and add new for post expedition report

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* hash based on instrument deployments only

* only one problem per waypoint (plus test)

* add todo for future

* tidy up

* remove patching

* remove unnecessary assertions

* restructure scenario class definition and deployment

* remove "around" ambiguity

* fix expedition strategy and re-arrange output dir structure

* shorten variable naming

* tidy up comment

* update test to updated problem class organisation

* change from "prob-level" to "difficulty level", set default to "easy"

* more error handling

* fix test (0/1 -> "easy"/"medium")

* update docs after change difficulty level default to "easy"

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* schedule.verify() now also takes instrument deployment times into account

* update invalid schedule messaging

* avoid duplicating drifter stationkeeping time

* update tests

* update plan UI test, more control over waypoints to test

* more detail to messaging

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* update datetimes in static/expedition.yaml (#285)

---------

Co-authored-by: Emma Daniels <e.e.daniels1@uu.nl>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants