Skip to content

Rotations are not defined for instrument 'nortek aquadopp' #464

Description

@ddileonardo

Describe the bug:

The dolfyn.rotate2 function does not work with aquadopp data. I get a ValueError: Rotations are not defined for instrument 'nortek aquadopp'. The api.rotate2 function shows the same error.

It seems like this data should be able to be rotated similarly to the Nortek Signature.

To Reproduce:

  1. Read an aquadopp file
  2. Set the declination with dolfyn.set_declination
  3. Attempt to rotate the data
  4. See the error

Minimal working example:
I suspect that this will show up with any aquadopp test file. This aquadopp was set to profile.

Code run was:

from mhkit import dolfyn
from mhkit.dolfyn.adp import api

declination = -1.86

data_path = "" #insert a profiling aquadopp file here

ds = dolfyn.read(data_path)

dolfyn.set_declination(ds, declination, inplace=True) 
api.rotate2(ds, "earth", inplace=True)

Expected behavior:

Expected the data to be rotated similarly to the signature instrument.

Desktop (please complete the following information):

  • OS: Windows
  • MHKiT Version: v1.1.2

Activity

  1. jmcvey3 commented on Aug 19, 2026

    @jmcvey3
    Contributor

    Ah, shoot, I should have made sure the tests would catch this. Because this is also a 1-line fix, @ddileonardo can you run through the rest of the analysis you'd like to do without rotating the data, and let me know if anything else fails as well?

  2. ddileonardo commented on Aug 19, 2026

    @ddileonardo
    Author

    I can do that. I'll try to get to this by the end of the week.

  3. ddileonardo commented on Aug 20, 2026

    @ddileonardo
    Author

    I've tried what I think is the final workflow for the aquadopp based on how I've processed some signature data from the same data collection.

    The rotation is the only thing that has given me an error.

    I was also unable to do the beam correlation plotting and cleaning based on beam correlation that I was able to do with the signature, but that seems to be because the aquadopp doesn't provide the beam correlation information. At least I don't see it in the dataset that results from reading the file.

  4. jmcvey3 commented on Aug 20, 2026

    @jmcvey3
    Contributor

    @ddileonardo Apologies, I should have caught this after fixing the first issue you brought up. A quick hack to bypass this problem is to set dataset.attrs['inst_model'] = "AWAC"; they use the same rotation schemes

  5. jmcvey3 commented on Aug 20, 2026

    @jmcvey3
    Contributor

    I've tried what I think is the final workflow for the aquadopp based on how I've processed some signature data from the same data collection.

    The rotation is the only thing that has given me an error.

    I was also unable to do the beam correlation plotting and cleaning based on beam correlation that I was able to do with the signature, but that seems to be because the aquadopp doesn't provide the beam correlation information. At least I don't see it in the dataset that results from reading the file.

    Yes, the older Nortek instruments don't provide an acoustic beam correlation measurement. What you see after running mhkit.dolfyn.read() is everything that is stored in the raw datafile

  6. ddileonardo commented on Aug 20, 2026

    @ddileonardo
    Author

    @ddileonardo Apologies, I should have caught this after fixing the first issue you brought up. A quick hack to bypass this problem is to set dataset.attrs['inst_model'] = "AWAC"; they use the same rotation schemes

    Thanks! That is really helpful and will keep me moving forward.

  7. linked a pull request that will close this issueAdd Aquadopp rotation #465on Sep 15, 2026
  8. added a commit that references this issue on Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions