SEJan 13, 2020
Testing with Jupyter notebooks: NoteBook VALidation (nbval) plug-in for pytestHans Fangohr, Vidar Fauske, Thomas Kluyver et al.
The Notebook validation tool nbval allows to load and execute Python code from a Jupyter notebook file. While computing outputs from the cells in the notebook, these outputs are compared with the outputs saved in the notebook file, treating each cell as a test. Deviations are reported as test failures, with various configuration options available to control the behaviour. Application use cases include the validation of notebook-based documentation, tutorials and textbooks, as well as the use of notebooks as additional unit, integration and system tests for the libraries that are used in the notebook. Nbval is implemented as a plugin for the pytest testing software.
ROMar 15, 2019
Adaptive Probabilistic Tack Manoeuvre Decision for Sailing VesselsSébastien Lemaire, Yu Cao, Thomas Kluyver et al.
To move upwind, sailing vessels have to cross the wind by tacking. During this manoeuvre distance made good may be lost and especially smaller vessels may struggle to complete a tack in averse wind and wave conditions. A decision for the best tack manoeuvre needs to be made based on weather and available tack implementations. This paper develops an adaptive probabilistic tack manoeuvre decision method. The order of attempting different tacking strategies is based on previous success within a timeout, combined with an exploration component. This method is successfully demonstrated on the 1m long sailing vessel Black Python. Four strategies for crossing the wind were evaluated through adaptive probabilistic choices, and the best was identified without detailed sensory knowledge of the actual weather conditions. Based on the positive results, further improvements for a better selection process are suggested and the potential of using the collected data to recognise the impact of weather conditions on tacking efforts is recognised.