Abstract
The Marine and Hydrokinetic Toolkit (MHKiT) is an open-source suite of marine energy (ME) data processing tools to ingest, condition, reduce, quality control, process, visualize and store ME data. MHKiT is developed and supported in both Python and MATLAB by Sandia National Laboratories, the National Renewable Energy Laboratory, and Pacific Northwest National Laboratory. MHKiT implements IEC marine energy standards where possible and is rigorously tested and verified. This work will summarize recent developments in MHKiT-Python, in MHKiT-MATLAB, and for the software quality of MHKiT as a whole. MHKiT-Python v0.7.0 was released in August 2023. It includes a new mooring module to read, process, and visualize MoorDyn output; an updated DOLfYN module with fully implemented tidal power performance standards. Future MHKiT releases will include improved DOLFYN instrument readers, a module for processing passive acoustic monitoring data and the ability to download numerical datasets from PRIMRE. MHKiT-MATLAB v0.4.1 includes integrated native DOLfYN functionality, refined unit testing procedures, and enhanced power quality flicker calculations. The overarching objective of MHKiT-MATLAB is to leverage the MATLAB Python interface while minimizing redundant code, with ongoing efforts to achieve parity with MHKiT-Python by incorporating the Delft3d, WDRT, and Tidal Power Performance modules. MHKiT developers strive to meet both rigorous marine energy and software quality standards, to provide a reliable and robust data processing tool to the marine energy industry. Some recently implemented software engineering practices have made MHKiT significantly easier to maintain, easier to contribute to, and more consistent and easier to use. Recent focal points from a software quality perspective include consistent types of user inputs (NumPy, pandas, Xarray), data caching during testing, decreased testing expense and consistent code formatting. As a more sustainable software package, MHKiT will have a longer lasting impact on the marine energy industry. Continuous support and new features allow MHKiT to continue adapting to the needs of marine energy experimentalists, modelers, and other users with data processing needs.
SNL is managed and operated by NTESS under DOE NNSA contract DE-NA0003525. This work was authored in part by the National Renewable Energy Laboratory, operated by Alliance for Sustainable Energy, LLC, for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308, and the Pacific Northwest National Laboratory, operated by Battelle Memorial Institute for the U.S. Department of Energy (DOE) under Contract No. DE-AC05-76RL01830.