modscripps / velosearaptor

python ADCP routines
https://modscripps.github.io/velosearaptor
GNU General Public License v3.0
8 stars 3 forks source link

use quality control flags #30

Open jessecusack opened 2 years ago

jessecusack commented 2 years ago

Currently, edits are made by masking the xyze data using several different QC thresholds, while information about the QC state for any given threshold is not stored. I think it would be better if we defined some variables like flag_cor and flag_vel etc. to store the quality control info. The final mask would then be logical OR of all the flags. This will make it easier to add more flags in the future (e.g. flag_fish or flag_ice). The individual flags could then be used to define a bad_beam which will be fed into a 3 beam solution function (#18).

@gunnarvoet, what do you think about changing the whole idea of edit to quality control instead? So the editparams dict would become QCparams, or something like that. Then there could be a function called apply_QC which actually does the editing, when needed, with separate methods for generating flags.

gunnarvoet commented 2 years ago

I found myself looking at the influence of various processing parameters on individual pings in the past and think your idea could really help make it easier to identify the impacts of whatever processing parameters one chooses, and also to quickly change them. Similar to what I mentioned in #15, I am not quite sure yet how this would work for datasets but will take a look and think about it. Generally I vote for this change!