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
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:
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:
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.
The text was updated successfully, but these errors were encountered:
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:pywsrlib/wsrlib/wsrlib.py
Line 536 in af1d55a
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.
The text was updated successfully, but these errors were encountered: