Skip to content

Conversation

@akeeste
Copy link
Contributor

@akeeste akeeste commented Feb 17, 2025

Resolves #381

TODO:

  • 62600-100 Ed. 2 en 2024 (WEC Power Performance)
  • "capture length" to "capture width"
    • changed across all MHKiT including: textual references in doc strings and notebooks, function names, variable names (L --> CW, LM --> CWM)
    • Created function aliases for capture_length and capture_length_matrix that point to capture_width and capture_width_matrix respectively.
    • Optional: could add deprecation warnings to the function aliases
  • 62600-101 Ed. 2 en 2024 (Wave resource)
  • Generally, "IEC/TS" is updated to "IEC TS"
    • Looking at IEC references again, this seems to be somewhat inconsistent. In the standard itself they always use "IEC TS X-Y" but the formatting probably isn't that important. I'm inclined to leave my update instead of reverting it
  • Update standard deviation degree of freedom
  • Confirm that we define bins edges/centers in the same was as the 62600 for e.g. power matrices
    • Bins are not specifically defined in IEC TS 62600, so there's no way to confirm we use them the same. Though I think our representation is fairly standard (bin name = bin center, bin edges are halfway between centers, etc). I also added warnings on height/period bin sizing which is called out, so we are adhering as closely as possible.

@akeeste akeeste linked an issue Feb 20, 2025 that may be closed by this pull request
@akeeste akeeste marked this pull request as ready for review March 4, 2025 15:40
Copy link
Contributor

@ssolson ssolson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@akeeste thanks for updating the functions to match the latest TS.

The changes are consistently applied and the only question I had was around if in the future we would want to deprecate capture length. You captured this option in your PR summary. Interested in capturing your thoughts here before merging this PR.

@akeeste
Copy link
Contributor Author

akeeste commented Mar 19, 2025

@ssolson I'm on the fence. It's not a lot of effort to maintain these two so I'm in no rush to deprecate them, but I know this stuff adds up over time. Perhaps we should add a FutureWarning now to encourage users to move to the new function over time

@ssolson
Copy link
Contributor

ssolson commented Mar 19, 2025

I think we should aim to support only the terminology defined in the standard.

I agree that we should add a future deprecation warning.

@akeeste
Copy link
Contributor Author

akeeste commented Mar 19, 2025

Sounds good. I'll add two FutureWarnings quick

@akeeste
Copy link
Contributor Author

akeeste commented Mar 19, 2025

@ssolson is there a reason we ignore all FutureWarnings in mhkit/__init__.py?

@akeeste
Copy link
Contributor Author

akeeste commented Mar 19, 2025

@ssolson I added FutureWarnings. Per https://docs.python.org/3/library/warnings.html, this seems like the most accurate category to use. However we ignore all of these warning types in mhkit/init.py which prevents users from seeing it

@ssolson
Copy link
Contributor

ssolson commented Mar 31, 2025

@akeeste apologies I missed the notification on this and I should have checked in sooner.

I believe ignoring the future warning was added to address mhkit dependencies warnings which could not be updated at one time (e.g. the update needed to remove the future warning was not available). Seeing the warning added confusion to the user's mhkit environment setup we did not want them to worry about.

Now that the future warning exists in this module I suggest we merge this PR and in a separate issue/ PR we handle cleaning up this logic to address only specific future warnings that we specifically want to ignore (replacing the blunt ignore all logic currently implemented).

@akeeste
Copy link
Contributor Author

akeeste commented Mar 31, 2025

@ssolson that sounds good. This is ready to merge from my end. The FutureWarnings currently added will work once we address ignoring them over all

@ssolson ssolson merged commit 81c60e3 into MHKiT-Software:develop Mar 31, 2025
43 checks passed
@akeeste akeeste deleted the iec_updates branch April 1, 2025 15:33
akeeste added a commit to akeeste/MHKiT-Python that referenced this pull request Sep 30, 2025
Resolves MHKiT-Software#381
- [x] 62600-100 Ed. 2 en 2024 (WEC Power Performance)
- [x] "capture length" to "capture width"
- [x] 62600-101 Ed. 2 en 2024 (Wave resource)
- [x] Generally, "IEC/TS" is updated to "IEC TS"
- [x] Update standard deviation degree of freedom
- [x] Confirm that we define bins edges/centers in the same was as the
62600
@akeeste akeeste mentioned this pull request Sep 30, 2025
akeeste added a commit that referenced this pull request Sep 30, 2025
v1.0.0
# MHKiT v1.0.0
## New Features
* Sound Exposure Level by @jmcvey3 in #388
* Add discharge function to MHKiT by @jmcvey3 in #385

## Functionality enhancements
* Fix for corrupted Nortek files by @jmcvey3 in #372
* Update integral length scale function by @jmcvey3 in #376
* Fix ever-changing RDI RiverPro depth bin ranges by @jmcvey3 in #378
* Allow clean functions to handle _avg variables by @jmcvey3 in #377
* IEC TS 62600 updates by @akeeste in #382
* MLER explanation updates/corrections by @rgcoe in #393
* Improve Nortek2 index file creator functions by @jmcvey3 in #397
* Read Sentinel V specific data packets by @jmcvey3 in #396
* Short list of VMDAS updates by @jmcvey3 in #405
* Allow user to specify universal Kolmogorov constant for TKE dissipation rate function by @jmcvey3 in #406
* Nortek Dual Profile Dataset Rotation by @jmcvey3 in #414

## Source code improvements
* Lint Tidal by @ssolson in #386
* Lint river module by @ssolson in #389
* Lint hindcast by @ssolson in #398
* Modernize Package Configuration by @ssolson in #400
* Configure specific warnings by @ssolson in #401

## Bug fixes
* Avoid failing to scan very large files by @jmcvey3 in #371
* Acoustics SPL bugfix by @jmcvey3 in #379
* DOLfYN/RDI: Set  `fs` to NaN when typical calculation methods yield error (#408) by @simmsa in #409

## Testing and Continuous Integration Updates
* Fix Jupyter Notebook tests running Python 3.13 by @ssolson in #380
* CI Test Clean Up: Mock USGS, Acoustic Tolerances by @ssolson in #404
* Speed up tests with concurrency checks to prevent duplicate workflows on PRs from develop into main or from main into develop by @akeeste
* Define MPLBACKEND to decrease intermittent matplotlib errors in tests by @akeeste

## Documentation and Examples
* Add WEC-Sim power performance example  by @akeeste in #395
* Update dolfyn function docstrings and associated notebooks by @jmcvey3 in #412
* Update examples by @akeeste in #417
* Update installation instructions in README.md by @akeeste
* Adjust acoustics test tolerances by @akeeste in #420

**Full Changelog**: v0.9.0...v1.0.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Updates to IEC marine energy standards

2 participants