CN-Waves: An open-source Python package for modeling and generating nonlinear sea states using the high-order spectral method
Description
CN-Waves’ objective is to simplify and automate the generation and modeling of realistic water wave fields in numerical wave tanks and open domains. Wave modeling uses the High-Order Spectral codes HOS-Ocean and HOS-NWT, which are based on fully nonlinear potential flow theory. CN-Waves packages the HOS command-line executable files, and provides a Python package to execute HOS simulations. The Python methods have default numerical parameters that allow a user with only a basic knowledge of wave theory to model and generate water waves, while allowing a more advanced user to control the different parameters. Various visualization features have been implemented. The package is designed to facilitate the launch and analysis of a substantial number of simulations. Furthermore, the Python package implements several wave generation methodologies for the wave tank configuration. These include well-established approaches such as second-order wave generation or accounting for the side-walls reflection during the generation of oblique waves. Other recently developed methods, including the time reversal method, an iterative approach to calibrate a sea state, and the generation of response-conditioned waves, are also made available in CN-Waves.