Mhkit

Latest version: v0.8.0

Safety actively analyzes 630328 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.8.0

We're excited to announce the release of MHKiT v0.8.0, which brings a host of new features, enhancements, and bug fixes across various modules, ensuring compatibility with Python 3.10 and 3.11, and introducing full xarray support for more flexible data handling. Significant updates in the Wave and DOLfYN modules improve functionality and extend capabilities.

Python 3.10 & 3.11 Support
MHKiT now supports python 3.10 and 3.11. Support for 3.12 will follow in the next minor update.
- https://github.com/MHKiT-Software/MHKiT-Python/pull/240


Wave Module
Enhancements:
**Automatic Threshold Calculation for Peaks-Over-Threshold**: We've introduced a new feature that automatically calculates the "best" threshold for identifying significant wave events. This method, originally developed by Neary, V. S., et al. in their 2020 study, has now been translated from Matlab to Python, enhancing our existing peaks-over-threshold functionality.

**Wave Heights Analysis**: A new function, `wave_heights`, has been added to extract the heights of individual waves from a time series. This function uses zero up-crossing analysis to accurately measure wave heights, improving upon our previous methods which only provided the maximum value between up-crossings.

**Enhanced Zero Crossing Analysis**: Building on the above, the zero crossing code previously embedded in `global_peaks` has been isolated into a helper function. This modular approach not only refines the codebase but also supports new functionalities such as calculating wave heights, zero crossing periods, and identifying crests.

Bug Fixes:
**Contour Sampling Error in Wave Contours**: A bug identified in `mhkit.wave.contours.samples_contour` has been resolved. The issue occurred when period samples defined using the maximum period resulted in values outside the interpolation range of the contour data. This was corrected by ensuring that all sampling points are within the interpolation range and adjusting the contour data selection process accordingly.

- https://github.com/MHKiT-Software/MHKiT-Python/pull/268
- https://github.com/MHKiT-Software/MHKiT-Python/pull/252
- https://github.com/MHKiT-Software/MHKiT-Python/pull/278


Xarray Support
MHKiT functions now fully support the use of xarray for passing and returning data.

- https://github.com/MHKiT-Software/MHKiT-Python/pull/279
- https://github.com/MHKiT-Software/MHKiT-Python/pull/282
- https://github.com/MHKiT-Software/MHKiT-Python/pull/285
- https://github.com/MHKiT-Software/MHKiT-Python/pull/302
- https://github.com/MHKiT-Software/MHKiT-Python/pull/310


DOLfYN

Thanks to the many user contributions and users of MHKiT the DOLFYN module include a significant number of enhancements and bug fixes.

Enhancements:
**Altimeter Support**: Enhanced the Nortek Signature Reader to add capability for reading ADCP dual profile configurations.

**Data Handling Improvements**: Introduced logic to skip messy header data that can accumulate during measurements collected via Nortek software on PCs and Macs.

**Instrument Noise Subtraction**: Added a function to subtract instrument noise from turbulence intensity estimation using RMS calculations, providing results that differ by approximately 1% from the existing standard deviation-based "I" property.

**Improved File Handling**: Updates for RDI files to handle changing "number of cells" and variable "cell sizes," which are now bin-averaged into the largest cell size.

Bug Fixes:
**Power Spectra Calculation**: Fixed a bug where a given noise value was not being subtracted from the power spectra, and noise was inadvertently added as an input to dissipation rate calculations.

**Improved Header Handling**: Allowed RDI reader to skip junk headers effectively.

**Nortek Reader C Types Update**: Adjusted C types in the Nortek reader to handle below-zero water temperatures and to allow pitch and roll values to go negative.


- https://github.com/MHKiT-Software/MHKiT-Python/pull/280
- https://github.com/MHKiT-Software/MHKiT-Python/pull/289
- https://github.com/MHKiT-Software/MHKiT-Python/pull/290
- https://github.com/MHKiT-Software/MHKiT-Python/pull/292
- https://github.com/MHKiT-Software/MHKiT-Python/pull/293
- https://github.com/MHKiT-Software/MHKiT-Python/pull/294
- https://github.com/MHKiT-Software/MHKiT-Python/pull/299


River & Tidal: D3D
Added limits to `variable_interpolation` and added 3 array input capability to `create_points`
- https://github.com/MHKiT-Software/MHKiT-Python/pull/271

Developer Experience
Black formatting
Black formatting is now enforced on all MHKiT files. This ensures consistent formatting across the MHKiT package.
- https://github.com/MHKiT-Software/MHKiT-Python/pull/281

Linting & Type Hints
MHKiT is in the process of enforcing pylint and adding type hints to all functions. Currently this has been achieved and is enforced in the Loads and Power modules.
- https://github.com/MHKiT-Software/MHKiT-Python/pull/288
- https://github.com/MHKiT-Software/MHKiT-Python/pull/296

CI/CD
This release introduces significant reduction in testing time for development. This is achieved by reducing the number of tests for pulls against the develop branch and only running hindcast test when changes are made to it. A bug in the hindcast CI was fixed which only ran on changes to the hindcast tests instead of the hindcast module. Additionally the wave and wind hindcast needed to be separated in 2 jobs due to the excessive time taken to run a wind cache. This created a number of follow on PRs around solidifying the logic of these job. A special case for Python 3.8, pip, and Mac OS was added to use homebrew to install NetCDF and HDF5 to get tests to pass.
- https://github.com/MHKiT-Software/MHKiT-Python/pull/241
- https://github.com/MHKiT-Software/MHKiT-Python/pull/270
- https://github.com/MHKiT-Software/MHKiT-Python/pull/306
- https://github.com/MHKiT-Software/MHKiT-Python/pull/311
- https://github.com/MHKiT-Software/MHKiT-Python/pull/317
- https://github.com/MHKiT-Software/MHKiT-Python/pull/318
- https://github.com/MHKiT-Software/MHKiT-Python/pull/319
- https://github.com/MHKiT-Software/MHKiT-Python/pull/320
- https://github.com/MHKiT-Software/MHKiT-Python/pull/324

Clean Up
MHKiT fixed an implementation error where functions used assert instead of built in errors for type and value checking. Additionally these PRs removed unused files, fixed typos, and created an argument which allows users to run CDIP API calls silently.
- https://github.com/MHKiT-Software/MHKiT-Python/pull/276
- https://github.com/MHKiT-Software/MHKiT-Python/pull/272
- https://github.com/MHKiT-Software/MHKiT-Python/pull/273

0.7.0.1

0.7.0

This release introduces exciting new features and improvements to the MHKiT package:

- **Mooring Module**: We are pleased to introduce the new mooring module. This addition primarily supports outputs from MoorDyn. Within this module, users can:
- Import data
- Calculate lay length
- Visualize mooring line movements in 2D and 3D with graphical animations.

Accompanying this module is an example notebook to guide users on its functionalities.

- **Dolfyn Module Revamp**: The Dolfyn module has been overhauled. Enhancements include:
- Turbulence calculation capability
- Performance measures for tidal power as outlined in IEC/TS 6200-200.

- **New Contributions**: A big shoutout to our community member, mbruggs, for adding the ability to compute surface elevation using IFFT.

- **NDBC Buoy Metadata**: Users can now fetch NDBC buoy metadata directly through MHKiT.

- **Delft3D Module Update**: Stay up to date with support for the latest Delft3D NetCDF format.

**Additions**
- 235
- 232
- 236
- 250
- 239
- 248

**Bug Fixes**
- 226
- 238

**Meta/Minor Changes**
- 220
- 243
- 225
- 231
- 224

Thank you to all of the contributers who helpped with this release:
mbruggs Graham-EGI castillocesar jmcvey3 hivanov-nrel browniea cmichelenstrofer akeeste maxwelllevin rpauly18 ssolson

0.6.0

This Release includes

- Test Suite Restructure (174) which improved the ability to run and edit tests by breaking them out from single files into folders containing tests for specific parts of each submodule
- Metocean module added which can pull data from the wind_toolkit with 4 regions and 1-hr or 5-min data (187)
- Two Dolfyn Updates (169, 186) which address many bug fixes, clean up, and some feature expansion
- ADV skipped timesteps, max gap, and attributes
- error in integral length scale calculation
- error in despiking function
- move Reynolds stress and cross-spectral density calculations to ADV folder
- prevent inaccurate TKE calculation from ADCP velocity input
- Delft3D z-calculation, timestep, and new example notebook comparing ADV, and D3D river transect data (168, 190, 199)
- Wec_Sim support for v5.0 and cable class (185)
- Return period added for contours by mbruggs (193)
- Provide a function to convert from Te to Tp using ITTC approximation (210)
- General upkeep and compatibility maintenance (181, 211)
- General Bug Fixes (205, 208)

Thank you to all of the contributors from the marine energy community who made this possible. Special thanks to the contributors in this release:
ssolson jmcvey3 akeeste browniea cmichelenstrofer mbruggs rpauly18 hivanov-nrel Graham-EGI

0.5.1

Minor bug fix for import of DOLfYN subfolders via pip install

0.5.0

- Organization: grouped `io` specific functions in wave, tidal, and river into an io folder in each module (127)
- Updated Jonswap spectrum to match IEC guidance (128)
- Added plotting function to the tidal graphics module as requested in 85 (125)
- Added DOLfYN module to analyze and process ADV and ADCP data (126)
- Incorporated the remaining WDRT functionality (130, 141)
- Added Delft3D case post-processing in the river/ tidal model (132)
- Fixed a bug in the wave elevation function (143)
- Include the last day in CDIP requests and file timezone issues with CDIP (160,161)
- Upgrades to processing numpy and pandas version to maintain compatibility and other maintenance (122, 124, 135, 148, 159)
ssolson rpauly18 jmcvey3 cmichelenstrofer browniea Matthew-Boyd hivanov-nrel

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.