Skip to content
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

radar2mat rendering fails in some (older?) scans #1

Open
dsheldon opened this issue Feb 15, 2021 · 0 comments
Open

radar2mat rendering fails in some (older?) scans #1

dsheldon opened this issue Feb 15, 2021 · 0 comments

Comments

@dsheldon
Copy link
Contributor

Here is a partial description of this problem. In an older test when @tsungyu evaluated MistNet on scans rendered using what is now pywsrlib, the performance was bad due to rendering errors.

I believe the behavior was that, for some scans, the higher elevations of the rendering were empty.

I started to debug over the summer, and traced the problem to the get_sweeps function:

def get_sweeps(radar, field):

Among all sweeps at the same elevation, this function is supposed to select the one that is most appropriate for the moment being measured. E.g., reflectivity uses highest PRF, velocity, uses lowest, etc. The logic is ported from WSRLIB. However, it conflicts with the Py-ART data model, which indexes all moments identically using the same spherical coordinates. If a sweep at some elevation doesn't collect a data product, the corresponding data array is masked. I think this is a flaw in the data model, as this is technically identical to collecting the data product but having all returns equal to "NODATA" (below signal-to-noise threshold). See these discussion threads from the Py-ART forum:

https://groups.google.com/g/pyart-users/c/AG8EKZSb5TQ
https://groups.google.com/g/pyart-users/c/4PSTTRzG7Q4

While there is technically an ambiguity, I think the expedient fix is to identify when a data array is 100% masked and assume that the moment wasn't collected, and is therefore not a candidate for selection. I don't know of any cases where a moment was collected and had zero returns.

See examples/Debug.ipynb for what I think was debugging in progress.

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

No branches or pull requests

1 participant