-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance update_platform to support more use cases and produce more consistent results #740
Comments
See PR #741, which addressed a few of the tasks from this issue. In particular, the simple fixed-location use case where a single lat-lon coordinate is passed to |
I think it will be clearer to use just the first |
I hadn't thought of that case, and it's a good point. Right now this decision (whether to use a single point with the first ping_time or two points) is external to
In this issue I've included a suggestion to add the Overall, I like your suggestions and reasoning. |
For version 0.6.1 (short time frame), I think we can focus largely on the fixed-location use case and the issues and clean ups I've already addressed in PR #741. We can leave the other comments I've raised here to 0.6.2. |
Just wanted to note that this is related to #769. |
I've gone over this issue, related PR's, and the outcome of There is one usability improvement mentioned here that is not implemented:
This would be nice, but let's create a new issue solely for it. We can then address it in a later release. |
Now that I've opened #1126, we close this issue. |
The use case that drove the development and testing of
update_platform
was a single set of Saildrone data files from the Pacific Hake survey, with one EK80 raw file with no Platform data at all and an associated external data file.I illustrate and document some of the issues in this notebook.
General comments about the current implementation of
update_platform
latitude
,longitude
,pitch
,roll
,vertical_offset
andwater_level
history
attribute only totime1.history
. Here's an example: "2022-06-25 21:32:53.788634 +00:00. Added from external platform data". I think this same attribute string should also be added to all variables inserted byupdate_platform
time1
is used for all inserted variables. It is the only dimension assigned to these variables. That pattern predates echopype 0.6.0, and for variables other thanlatitude
andlongitude
the resulting Platform group ends up being inconsistent with a Platform group generated usingopen_raw
where the platform data are found in the raw file. Specifically, echopype 0.6.0 specifies the following dimensionality:water_level
, which is set to 0. I didn't find any valid reason for thewater_level
assignment of 0, and I believe the only reason was to prevent the failure oftests/echodata/test_echodata.py::test_update_platform
as currently implemented.Some open questions about the fixed-location use case, such as from a mooring
ping_time
value? When using a single timestamp (time1
will have a length of 1), the assumption is that it applies to the entire dataset (all ping times).ping_time
?Issues unrelated to
update_platform
per seComparing the outcome of
update_platform
for AZFP and EK60 raw files that don't have the variables handled byupdate_platform
but do have other Platform variables exposed some remaining differences in how variables with empty values are being handled by the differentset_groups_*
classes. These differences are illustrated in my sample notebook, and they involve issues such as:latitude
andlongitude
are not created inset_groups_azfp
, but they are inset_groups_ek60
andset_groups_ek80)
nan
Also,
set_groups_ek60
does not add the 3 empty globalplatform_*
attributes, whereasset_groups_ek80
andset_groups_azfp
do.Finally,
set_groups_azfp
is not assigning any attributes to the AZFP-specific variablestilt_x
andtilt_y
.The text was updated successfully, but these errors were encountered: