From Lrose Wiki

RadxHca runts the NEXRAD Hydrometeor Classification Algorithm (HCA).


RadxHca reads moments from Radx-supported format files, runs the NEXRAD Hydrometeor Classification Algorithm (HCA) on the moments, and writes out the results to CfRadial files.

Scientific Background

RadxHca is based on the algorithm described by Park et al. (2009).


The following items are required:

  • Polarimetric radar data (any Radx supported format, e.g., cfradial)
  • NCAR PID fuzzy logic thresholds file
  • Sounding data (either from observations or a numerical model)

NCAR PID thresholds file

These thresholds describe the membership functions for each combination of the PID category and polarimetric field as well as the variable weights for each particle type. The file also contains a place to enter a sounding, if the radar files cover a narrow time period; otherwise, the sounding will be overwritten by data provided by the user, which is explained below. The particle types are most sensitive to temperature, Zh, Zdr, and the standard deviations of Zdr and PhiDP.

Set this to a file suitable for the radar transmit mode and wavelength:

Wavelength Transmit mode thresholds_file_example
S-band Simultaneous pid_thresholds.sband.shv
S-band Alternating pid_thresholds.sband.alt
C-band Simultaneous pid_thresholds.cband.shv
X-band Simultaneous pid_thresholds.xband.shv

Sounding data

If sounding data varies in time, sounding data in a non-gridded data format (SPDB) will need to be ingested. SPDB data can come from either observations or numerical simulations (e.g., RAP or HRRR). For help converting soundings to this data format, please see the documentation here.

Parameter files

RadxHca uses one parameter file that includes the basic parameters related to data location and field names, the parameters that set the filtering length, method, and relevant coefficients necessary to calculate KDP and estimate attenuation, and the HCA parameters.

Ensure file is up to date

To obtain the default parameter file, use the following command:

/path/to/lrose/install/bin/RadxHca -print_params > param_file_name

If you already have a parameter file and simply want to check for (and add) updated parameters while retaining current parameters, use the following command:

/path/to/lrose/install/bin/RadxHca -params orig_param_file_name -print_params > new_param_file_name

Important parameters

Data input

  • input_dir: directory containing radar data (if not specified on the command line and if mode = REALTIME)
  • mode: determines if the program waits for new files (REALTIME), moves through start and end times specified on the command line (ARCHIVE), or moves through list of files specified on the command line (FILELIST)

Input field information

  • SNR_available: determines if SNR data is in the file or needs to be calculated from DBZ
  • VARIABLE_field_name: tells RadxHca the polarimetric variable names in the input cfradial files
  • LDR_available: determines if LDR data is in the file

Precip-induced attenuation correction for DBZ and ZDR

  • apply_precip_attenuation_correction: option to apply precip attenuation correction for DBZ and ZDR
  • specify_coefficients_for_attenuation_correction: the user can either set the coefficients themselves or use the default coefficients based on the radar wavelength

Computing WSR88D HCA - hydrometeor particle ID

  • compute_hca: option to compute HCA classification
  • hca_interest_maps: interest maps to convert feature fields into interest

Computing NCAR PID

  • compute_pid: option to compute NCAR PID classification
  • pid_thresholds_file_path: file path for the PID thresholds file
  • PID_use_attenuation_corrected_fields: determines whether PID uses Z and ZDR fields that are corrected for attenuation

Sounding input for temperature profile

  • sounding_spdb_url: path to SPDB sounding data

Specifying field names and output encoding

  • output_fields: indicate which fields should be written to the output file

Volume output

  • output_dir: files will be written to this directory

Running RadxHca

To check all command line options for RadxHca, including debugging options and file paths, type the following command into a terminal.

/path/to/lrose/install/bin/RadxHca -h

Once your parameter file is complete, use a command similar to the following to run the application:

/path/to/lrose/install/bin/RadxHca -params param_file_name

The user can also specify the location of cfradial files in the following manner:

/path/to/lrose/install/bin/RadxHca -f /path/to/cfradial/files/ -params param_file_name