Skip to content

Releases: MHKiT-Software/MHKiT-MATLAB

MHKiT-MATLAB v1.0.1 Release

17 Dec 20:27
9175fed

Choose a tag to compare

Version 1.0.1

Release Highlights

Bug fixes and documentation improvements

Details

Bug Fixes

Documentation Improvements

MHKiT-MATLAB v1.0.0 Release

30 Sep 23:45
3f0336e

Choose a tag to compare

Version 1.0.0

Release Highlights

  • New acoustics, and mooring modules
  • Improvements to Wave, WDRT, and DOLFYN modules
  • New examples for acoustics, mooring, and WEC-sim, and improved examples for DOLFYN and wave modules
  • Multiple bug fixes and performance improvements

PR #174 - Acoustics Module

  • Authors: @hivanov-nrel
  • Reviewer: @simmsa
  • Addition of acoustics module:
    • Reading and standardization of of OceanSonics icListen and OceanInstruments Soundtrap hydrophone files
    • Implementation of numerical computation sections IEC 62600-40 "Acoustic characterization of marine energy converters" standard
    • Spectrogram data visualizations using plot_spectrogram
    • Sound exposure level calculations with auditory weighting functions for 5 groups of marine mammals
    • Complete example livescript in examples/acoustics_example.mlx

PR #176 - Wave Module Native MATLAB Implementation

  • Authors: @MShabara
  • Reviewer: @simmsa
  • Convert wave module functions to native MATLAB code:
    • wave/resource/standardize_wave_spectra_frequency.m:
    • wave/resource/frequency_moment.m:
    • wave/resource/energy_period.m:
    • wave/resource/significant_wave_height.m:
    • wave/resource/jonswap_spectrum.m:
    • wave/resource/pierson_moskowitz_spectrum.m:
    • wave/resource/surface_elevation.m:

PR #153 - Mooring Module

  • Author: @hivanov-nrel
  • Reviewer: @simmsa
  • Addition of the mooring module, which includes
    • Read in MoorDyn files into MATLAB
    • Function to calculate mooring line lay length
    • Functions to visualize mooring line dynamics in 2D or 3D.
    • Example LiveScript demonstrating the functionality of the mooring module

PR #173 - Dolfyn Turbulence Functionality

  • Author: @simmsa
  • Reviewer: @browniea
  • Addition of turbulence calculations for acoustic doppler instruments
    • Turbulence intensity, noise, and reynolds stress calculations
    • Updates to examples/adcp_example.mlx live script

PR #175 - WEC-Sim Power Performance Example

  • Author: @akeeste
  • Reviewer: @simmsa
  • Addition of examples/wecsim_example.mlx
    • Analysis of WEC-Sim output mat file using MHKiT
    • Leverage MHKiT wave module to calculate spectra and statistics on surface elevation

PR #170 - WDRT Final Tasks

  • Author: @hivanov-nrel
  • Reviewer: @simmsa
  • Expanded WDRT functionality by adding automatic_hs_threshold and return_year_value functions

PR #169 - Code Compatibility Improvements

Bug Fixes

MHKiT-MATLAB v0.6.0 Release

18 Feb 00:20
55921ca

Choose a tag to compare

MHKiT-MATLAB v0.6.0

Release Highlights

  • Added module and example for upcrossing analysis
  • Expanded WDRT and extreme wave analysis capability
  • Expanded DOLFYN functionality with performance optimizations and enhanced visualization
  • Enhanced MATLAB-Python interoperability with robust type conversion
  • Added support for MATLAB 2024b, Python 3.10-3.12, and MHKiT-Python v0.9.0
  • Improved version control capabilities with diffable example formats

Breaking Changes

  • Removed support for:
    • MHKiT-Python versions below v0.9.0
    • MATLAB versions 2021b and 2022b
    • Python versions 3.8 and 3.9

Impact:

  • Users must upgrade to MATLAB 2023a or newer
  • Python environment must use version 3.10-3.12
  • Users must upgrade to MHKiT-Python v0.9.0 or newer

New Features

Wave Module

  • Added Upcrossing Analysis Functions and Example (@MShabara) #151
    • Enables time-series analysis of wave heights and periods using upcrossing methods
    • Documentation: Upcrossing Analysis
  • Enhanced Environmental Contours (@hivanov-nrel) #147
    • Added support for IFORM and direct sampling methods
    • Improved extreme condition analysis capabilities
    • See examples in environmental_contours_example.mlx

DOLFYN Module

  • Enhanced Data Processing (@simmsa) #141
    • Added statistical functions:
      • Dimensional averaging [5b6d20a]
      • Speed and velocity calculations [8ad973b]
      • Time series analysis capabilities
    • Performance Optimizations:
      • Added caching for improved read_signature speed [85bf6e0]
      • Enhanced NetCDF attribute handling
    • Expanded visualization capabilities [8e4d81d]:
      • New subplot functionality
      • Custom colormaps similar to matplotlib (viridis, bluewhitered)
      • Histogram generation
      • Improved attribute visualization and customization
    • New comprehensive ADCP example in adcp_example.mlx

Technical Improvements

Compatibility

  • Added official support for MATLAB 2024b
  • Added support for MHKiT-Python v0.9.0 (@simmsa) #149
    • Compatible with Python 3.10-3.12
    • Enhanced type conversion system between MATLAB and Python

MATLAB-Python Interoperability

  • Added robust type conversion system:
    • New typecast_spectra_to_mhkit_python: Standardizes spectra data sent to Python
    • New typecast_from_mhkit_python: Standardizes Python output for MATLAB
      • Returns consistent struct format:
        • data: Native MATLAB type (scalar, array, or struct)
        • type: Data classification
        • index: Index information
      • Supports:
        • Scalar values
        • Python/NumPy arrays
        • pandas DataFrame/Series

Version Control Improvements

  • Added Diffable Examples (@simmsa) #157
    • MATLAB Markup (.m) versions of examples for better version tracking
    • Maintains Livescript functionality while enabling git-based collaboration
    • Improves documentation clarity and maintainability

New Examples

  • Strain Analysis Example (@simmsa, @akeeste) #156
    • Demonstrates structural load analysis techniques
    • Shows data processing workflow for strain measurements
    • Includes practical visualizations and analysis methods
  • Upcrossing Analysis Example (@MShabara) #151
    • Shows wave height and period analysis workflow
    • Includes practical applications of statistical methods
  • ADCP Data Processing Example (@simmsa) #141
    • Illustrates acoustic doppler current profiler data analysis
    • Demonstrates new DOLFYN visualization capabilities
    • Includes comprehensive processing workflow

Bug Fixes

  • Fixed WPTO hindcast download issue specific to omni-directional_wave_power [8284aa2]
  • Corrected time scale representation in short-term extremes example (@MShabara) [#150, 3acf336]
  • Fixed Delft3D masked array type conversion issues [2a290e5]
  • Enhanced NetCDF attribute handling and extraction [f63002d]

Dependencies

  • MATLAB ≥ 2023a
  • MHKiT-Python ≥ v0.9.0
  • Python 3.10-3.12

Contributors

Special thanks to all contributors who made this release possible:

v0.5.0

09 Jul 22:26
e780f1c

Choose a tag to compare

v0.5.0

New Features

  • Addition of the WEC Design Response Toolbox within the wave module #127
    • Estimate extreme sea states based on short term data
  • Addition of the Delft3D input and analysis within the tidal module #124
    • Analyze modeled river/tidal flow data using same tools as ADCP and resource data

Improvements

Fixes

  • Allow user to specific surface elevation generation method #126
  • Properly map the gamma parameter in the jonswap function #136

v0.4.1

05 Mar 19:46
21453d1

Choose a tag to compare

New Features

  • DOLfYN IO & Rotations(#79)
    • IO
      • Implement DOLfYN IO functionality for classic Nortek data format
      • Add support for RDI file read
      • Initial development for NetCDF read and write functionality
    • Rotations
      • Speed optimizations, bug fixes, and rotations for DOLfYN
  • Power Quality Flicker (#105)
    • Update power quality flicker assessment workflow and calculations
  • CDIP Data IO and Graphics (#83)
    • Implement CDIP data collection and plotting functions
  • Wave Updates (#70)
    • Add depth_regime, wave_length, and depth flags
    • Implement updates to wave-related functions and tests
  • Cache hindcast data calls (309f512)
  • Add MATLAB/Python compatibility to README (576b406)

Bug Fixes

  • #59 Magnitude and Phase Function for MATLAB (#76)
    • Implement magnitude and phase function for MATLAB
  • #65 Tidal Ebb and Flood Plots for MATLAB (#73)
    • Implement tidal ebb and flood plots for MATLAB
  • WPTO for MATLAB (#61)
    • Address issues related to WPTO for MATLAB
  • Fix python namespace conflict warnings (be70376)

Developer Improvements

  • Fix Github Actions Workflow to automate unit testing #102
    • Linux, macOS, and Windows Units are performing nominally
    • Fix/update failing unit tests where possible
      • 100% (151 / 151) of test cases are passing
  • Add built in MATLAB code coverage (1f5f93a)

Thank you to @kchong75, @H0R5E, @kbrode22, @parangat94, @Matthew-Boyd, @hivanov-nrel, @rpauly18, @Alex-McVey, @simmsa for your contributions!

MHKiT-Matlab v0.4.0

31 Mar 20:09
114c443

Choose a tag to compare

v0.4.0 features:

  • WPTO Hindcast IO functions
  • CDIP IO functions
  • tidal ebb and flood plots
  • wave resource updates

MHKiT-MATLAB v0.3.1

03 Nov 22:26
14f4f6b

Choose a tag to compare

Updates to QC module to coincide with updates to the Pecos package v0.1.9

MHKiT-MATLAB v0.3.0

02 Oct 13:57
3ad41c1

Choose a tag to compare

Third official release of MHKiT-MATLAB adding:

  • wave.io.ndbc Module: functions for downloading and converting NDBC data into MHKIT formats.
  • wave.io.wecsim Module: functions for converting WEC-Sim data into MHKiT formats.
  • river.performance and tidal.performance Module: new functionality to assess device performance from blade/rotor type devices.
  • Loads Module: new function for computing blade moments.

MHKiT-MATLAB v0.2.0

02 Jul 13:37
1c31ddf

Choose a tag to compare

This is the second official release of MHKiT-MATLAB which adds:

  • Loads Module: functions to perform mechanical loads assessments
  • Power Module: functions to assess power production and power quality

MHKiT-MATLAB v0.1.0

21 Jan 16:48

Choose a tag to compare

The first official release of MHKiT, developed in Python and MATLAB, includes the following modules:

  • QC Module: Perform quality control analysis

  • Wave Module: Calculate quantities of interest for wave energy converters (WEC)

  • River Module: Calculate quantities of interest for river energy converters (REC)

  • Tidal Module: Calculate quantities of interest for tidal energy converters (TEC)

  • Utils Module: Includes helper functions

The v0.1.0 release includes methods for resource assessment, device performance, graphics, io and and quality control.