Skip to content

meteocat/vcor_dual_prf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binder

Correction of dual-PRF velocity dealiasing errors

This repository includes a function for correcting the dealiasing errors that arise in weather radar Doppler velocity data that have been collected using the dual-PRF technique.

The function integrates four image processing methods developed in the literature, all of which require spatial continuity by comparison of the gate velocity with a reference estimated from the velocities in the surrounding gates.

The function allows the user to tailor the dual-PRF error correction by specifying the neighbour kernel and selecting the statistic used for the estimation of the reference velocity. The correction procedures proposed in the literature may be reproduced through the particular selection of these statistics.

TRY! Usage example (Takes a good while to load the environment, excuses for the inconvenience)

Detection/correction methods

Common framework

The function is developed in Python language and builds upon the Py-ART module[1], as it takes a Py-ART radar object as input. The radar object provides a common framework for the application of the function to the wide range of data formats used by the growing community of Py-ART users.

[1]Helmus, J.J. & Collis, S.M., (2016). The Python ARM Radar Toolkit (Py-ART), a Library for Working with Weather Radar Data in the Python Programming Language. Journal of Open Research Software. 4(1), p.e25. DOI: http://doi.org/10.5334/jors.119

Positional function parameters

correct_dualprf (radar, method_det, ...)
  • radar: Py-ART radar instance

    Contains RAW file data and metadata. Must contain a dual-PRF radial velocity field.

  • method_det: str

    Method used for detection of outliers.

Optional parameters/settings

Parameter Class Default value Description Stage
vel_field str 'velocity' Input velocity field name (dual-PRF) NA
kernel_det array None (7x7 array) Neighbour kernel for local statistics, 1/0 values detection
min_valid_det int 1 Minimum number of valid neighbours detection
max_dev float 1 Maximum deviation fraction from 2xNyquist velocity detection
two_step bool 1.0 Separate detection and correction stages? (detected outliers are removed before correction) NA
method_cor str same as method_det Method used for correction of outliers. Only applied if two_step=True correction
kernel_cor array same as kernel_det Neighbour kernel for local statistics, 1/0 values correction
min_valid_cor int 1 Minimum number of valid neighbours correction
new_field str 'velocity_cor' Corrected velocity field name in the output radar object NA
new_field_lname str 'Outlier corrected dual-PRF velocity'' Corrected velocity field LONG name in the output radar object NA

Further work

  • Test on different input data formats

  • Implement a subroutine that identifies the PRF at which each radial has been scanned (see e.g. Holleman and Beekhuis, 2003)

  • Speed median filtering with masked arrays?

ALL SUGGESTIONS ARE WELCOME!!!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages