You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Does mhkit work with the Nortek Aquadopp? Specifically, I have data from the legacy (pre-2024) aquadopp. It is an ADCP, but it isn't mentioned in the documentation anywhere.
If mhkit does support aquadopps, which output file extension should I be trying to read?
@ddileonardo Looks like I forgot to update the reader docstring... It does support Aquadopps, but I've only had test data for the profiling versions. For those it's the .prf file, for the single point meters it is the .aqd filetype.
@ddileonardo Can you rebuild your conda environment with the latest version of MHKiT we just released? Looks like you're running an older version.
If you open up your .prf file in a text editor, you will will see a few ascii characters that spell out the serial number at the very beginning of the file. MHKiT reads this serial number, which will start with "AQD" or "PRF" for Aquadopp profilers, to determine the correct reader to use. If yours doesn't start with either of those, please let me know.
Oh, please use pip install mhkit to install the full package, or pip install mhkit[dolfyn] for just the ADCP-related dependencies. We haven't yet updated the conda-forge package for the latest release.
After the pip install I get an immediate import error for bottleneck when trying to import dolfyn or mhkit. Is there a specific python version I need or something else?
My install history in the environment goes:
conda install pythong
conda install pip
pip install mhkit
pip install ipykernel
So all the package version should be defined by pip.
pandas 3.0.5 pypi_0 pypi
numpy 2.5.1 pypi_0 pypi
Is there an odd number of bins in the datafile with the issue? And an even number of bins in the datafile that ran successfully?
There is a note in the docs that states the former will include an extra "fill" byte, but we've never seen that to be true before. But it looks like that might be true for your case.
I've cloned the repo, but I couldn't figure out how to pull a PR, so I just made the changes in nortek.py. But when I tried to build it as in the documentation
pip install -e .["all"]
Something didn't quite work. I've got python 3.14, but that wasn't an issue before.
This is the pip error from the build
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for numcodecs
Building wheel for bitshuffle (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for bitshuffle (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [18 lines of output]
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
running bdist_wheel
running build
running build_py
creating build\lib.win-amd64-cpython-314\bitshuffle
copying bitshuffle_init_.py -> build\lib.win-amd64-cpython-314\bitshuffle
running build_ext
#################################
# Compiling with OpenMP support #
#################################
building 'bitshuffle.ext' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for bitshuffle
Successfully built mhkit
Failed to build cartopy aiohttp numcodecs bitshuffle
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> cartopy, aiohttp, numcodecs, bitshuffle
The install of all the required packages is potentially a big mess and MHKit is not properly installed as a package, but I've got al the files with the edits and was able to import them. And my odd bin file now works
Happy to help! Please continue with the test environment, it might take a minute (read: week or two) to release a hotfix. The conda-forge release will also take about that time
If you'd like to have a clean environment, "cd" into the "MHKiT-Python" folder and run, from an anaconda prompt,
That still fails at the same place as before. Not sure what is going on there, but I will likely just go with what I was able to cobble together before, and check back in a couple of weeks. I'm likely to be putting this project down for a couple of weeks starting tomorrow anyway.
Building wheels for collected packages: mhkit, bitshuffle
Building editable for mhkit (pyproject.toml) ... done
Created wheel for mhkit: filename=mhkit-1.1.0-0.editable-py3-none-any.whl size=9137 sha256=66f742b6ea01fc0b6cddeb235df6cc09dc77016190cd3e108a4fe55fae01a6fa
Stored in directory: C:\Users\ddileonardo\AppData\Local\Temp\pip-ephem-wheel-cache-d7k69etx\wheels\ba\e4\a3\133e46a242694d82f1dd6da9ea21e938cca9c013d0b8f1396a
Building wheel for bitshuffle (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for bitshuffle (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [18 lines of output]
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
running bdist_wheel
running build
running build_py
creating build\lib.win-amd64-cpython-311\bitshuffle
copying bitshuffle_init_.py -> build\lib.win-amd64-cpython-311\bitshuffle
running build_ext
#################################
# Compiling with OpenMP support #
#################################
building 'bitshuffle.ext' extension
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for bitshuffle
Successfully built mhkit
Failed to build bitshuffle
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> bitshuffle
This looks like some sort of windows installation problem with python or certain python packages. It sounds like the conda-forge version installed fine for you, and we'll have that out soon.
Activity
jmcvey3 commentedon Jul 29, 2026
@ddileonardo Looks like I forgot to update the reader docstring... It does support Aquadopps, but I've only had test data for the profiling versions. For those it's the
.prffile, for the single point meters it is the.aqdfiletype.ddileonardo commentedon Jul 30, 2026
Thanks! I have a .prf file. The instrument was set to profile.
I am getting a KeyError when I try to use dolfyn.read.
jmcvey3 commentedon Aug 4, 2026
@ddileonardo Can you rebuild your conda environment with the latest version of MHKiT we just released? Looks like you're running an older version.
If you open up your .prf file in a text editor, you will will see a few ascii characters that spell out the serial number at the very beginning of the file. MHKiT reads this serial number, which will start with "AQD" or "PRF" for Aquadopp profilers, to determine the correct reader to use. If yours doesn't start with either of those, please let me know.
ddileonardo commentedon Aug 5, 2026
I used the method from the documentation to install
conda install -c conda-forge mhkitSince it doesn't specify a version, I would have though it should be the most recent version? I installed in late July/early August.
When I try to update with conda, the only package that updates is openssl. I still get the same error.
I have tried creating a whole new environment and installing mhkit in the same way. I'm still getting the same error.
Is there a different conda channel that I need to use?
As far as the top of prf file goes, when I open in text editor I see a couple bits of binary and the AQD with a serial number so that seems right.
jmcvey3 commentedon Aug 5, 2026
Oh, please use
pip install mhkitto install the full package, orpip install mhkit[dolfyn]for just the ADCP-related dependencies. We haven't yet updated the conda-forge package for the latest release.ddileonardo commentedon Aug 5, 2026
After the pip install I get an immediate import error for bottleneck when trying to import dolfyn or mhkit. Is there a specific python version I need or something else?
My install history in the environment goes:
So all the package version should be defined by pip.
pandas 3.0.5 pypi_0 pypi
numpy 2.5.1 pypi_0 pypi
jmcvey3 commentedon Aug 5, 2026
Huh, we haven't seen that pandas error before. What happens if you run
pip install bottleneck?ddileonardo commentedon Aug 5, 2026
Looking at my package list, it seems like bottleneck wasn't installed before, for some reason. Installing it as above fixed the import issue.
Now though I am getting an error related to the beginning of the file:
WARNING:root:Unrecognized identifier: 0x9d
The first few characters look a bit like this when opened in notepad++
¥�� AQD11219
It looks like a bit of binary and then those ascii characters.
We are using legacy aquadopps, which might be useful information if the aquadopp workflow was developed with the newer gen 2 aquadopps.
jmcvey3 commentedon Aug 5, 2026
Noted, that should've been installed with the package.
Yes, that's the serial number. I've tested with an older instrument than yours (based on the serial number) and one of the new ones.
Can you run
ds = dolfyn.read(data_path, debug=True)and upload the resulting log file here? There is no 0x9d ID, looking at Nortek's integrator guideddileonardo commentedon Aug 5, 2026
Here is the log file
GS-LMR_CH2ADP_050726.dolfyn.log
I had a peek in there and it suggested to me that there was an issue with the data file. I tried a different data file and it read successfully.
Thank you very much for all your help.
jmcvey3 commentedon Aug 5, 2026
Is there an odd number of bins in the datafile with the issue? And an even number of bins in the datafile that ran successfully?
There is a note in the docs that states the former will include an extra "fill" byte, but we've never seen that to be true before. But it looks like that might be true for your case.
ddileonardo commentedon Aug 5, 2026
Yes, there are 5 cells listed in the hdr file. There are 10 cells list in the hdr file of the file that works.
jmcvey3 commentedon Aug 5, 2026
Well this might be really easy. Can you pull PR #459 and try that?
You could also copy-paste the changes in https://github.com/MHKiT-Software/MHKiT-Python/pull/459/changes if that's faster for you
ddileonardo commentedon Aug 5, 2026
I'm trying, but it's not quite working.
I've cloned the repo, but I couldn't figure out how to pull a PR, so I just made the changes in nortek.py. But when I tried to build it as in the documentation
pip install -e .["all"]
Something didn't quite work. I've got python 3.14, but that wasn't an issue before.
This is the pip error from the build
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for numcodecs
Building wheel for bitshuffle (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for bitshuffle (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [18 lines of output]
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
running bdist_wheel
running build
running build_py
creating build\lib.win-amd64-cpython-314\bitshuffle
copying bitshuffle_init_.py -> build\lib.win-amd64-cpython-314\bitshuffle
running build_ext
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for bitshuffle
Successfully built mhkit
Failed to build cartopy aiohttp numcodecs bitshuffle
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> cartopy, aiohttp, numcodecs, bitshuffle
ddileonardo commentedon Aug 5, 2026
Alright, we got there. And it works!
The install of all the required packages is potentially a big mess and MHKit is not properly installed as a package, but I've got al the files with the edits and was able to import them. And my odd bin file now works
jmcvey3 commentedon Aug 5, 2026
Great! But yes, sounds like we need to update our installation page
ddileonardo commentedon Aug 5, 2026
I think the install files might need a check over, but for testing that fix, it works
ddileonardo commentedon Aug 5, 2026
Should I expect that the pip install will be updated with this fix or should I keep going with the test environment I just created?
Thanks again for all your help!
jmcvey3 commentedon Aug 5, 2026
Happy to help! Please continue with the test environment, it might take a minute (read: week or two) to release a hotfix. The conda-forge release will also take about that time
If you'd like to have a clean environment, "cd" into the "MHKiT-Python" folder and run, from an anaconda prompt,
conda activate base conda env create conda activate mhkit-env pip install -e ".[all]"That should install the whole package properly, and then in the future run your python code after activating the "mhkit-env" environment.
ddileonardo commentedon Aug 5, 2026
That still fails at the same place as before. Not sure what is going on there, but I will likely just go with what I was able to cobble together before, and check back in a couple of weeks. I'm likely to be putting this project down for a couple of weeks starting tomorrow anyway.
Building wheels for collected packages: mhkit, bitshuffle
Building editable for mhkit (pyproject.toml) ... done
Created wheel for mhkit: filename=mhkit-1.1.0-0.editable-py3-none-any.whl size=9137 sha256=66f742b6ea01fc0b6cddeb235df6cc09dc77016190cd3e108a4fe55fae01a6fa
Stored in directory: C:\Users\ddileonardo\AppData\Local\Temp\pip-ephem-wheel-cache-d7k69etx\wheels\ba\e4\a3\133e46a242694d82f1dd6da9ea21e938cca9c013d0b8f1396a
Building wheel for bitshuffle (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for bitshuffle (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [18 lines of output]
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
Can't find hdf5 with pkg-config fallback to static config
running bdist_wheel
running build
running build_py
creating build\lib.win-amd64-cpython-311\bitshuffle
copying bitshuffle_init_.py -> build\lib.win-amd64-cpython-311\bitshuffle
running build_ext
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for bitshuffle
Successfully built mhkit
Failed to build bitshuffle
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> bitshuffle
jmcvey3 commentedon Aug 7, 2026
This looks like some sort of windows installation problem with python or certain python packages. It sounds like the conda-forge version installed fine for you, and we'll have that out soon.
simmsa commentedon Aug 7, 2026
@jmcvey3 and @ddileonardo,
We just updated our experimental desktop application to mhkit 1.1.1 which leverages dolfyn "under the hood":
https://github.com/MHKiT-Software/mhkit-dolfyn-gui
There is a windows executable here: https://github.com/MHKiT-Software/mhkit-dolfyn-gui/releases/tag/v0.3.2
That has the python libraries "inside" and should work for reading Nortek Aquadopp files, but please let us know if that does not work.
I'm also working on the conda-forge release which has some non dolfyn related issues and can report back when that is available
simmsa commentedon Aug 7, 2026
@ddileonardo to get the latest mhkit dolfyn (v1.1.1) within a conda environment the steps below should work:
Checking the mhkit version:
Should yield:
v1.1.1
Note:
pip install mhkitdoesn't install any libraries, which is why you get import issues (this is a bit confusing, we should probably make this more obvious). You have to specify a module which is detailed in the documentation here https://github.com/MHKiT-Software/MHKiT-Python#module-specific-install-using-pip.And if you want all modules in mhkit pass
all, ie `pip install "mhkit[all]".jmcvey3 commentedon Aug 7, 2026
@simmsa Oh no I'm also getting this same error trying to
pip install mhkit[all]jmcvey3 commentedon Aug 7, 2026
Closing this and opening this package build error in #461