Selecting data

Table of Contents

Select parts of hierarchical data using path, quantity, elevation angle and PRF mode as selection criteria.

Selecting data

This command determines the data to be applied in subsequent input read or product generation commands.

In Rack, many operations implictly select a subset of available data instead of using it all. For example, in computing a Pseudo CAPPI image, DBZH data from single-PRF sweeps is used by default.

Synopsis

--select, -s <selector> (section: general)
Data selector for the next computation
selector=path,quantity,elangle,count,order,prf,timespan

Remarks on the options:

  • path argument defines a path segment to be matched, with desired index ranges (example: dataset2:4/data3:8 )
  • in path argument, a leading slash fixes the matching to the root (example: /dataset:/data: ), otherwise the tail part is matched
  • quantity argument accepts a list of strings separated by semicolon ':'
  • each item in a quantity argument list can be a literal string like DBZH or a regular experession like ^DBZ[HV]?$

See example sets below!

This option is useful in selecting data for:

The following command lines illustrate usage of –select in product generation and image output.

# For a Pseudo CAPPI product, change default input selection
rack volume.h5 --select 'quantity=^TH$,elangle=1.5:10,count=3' --pCappi 1500 -o pCappi-TH-1500m.h5
# For image output, select DBZH
rack volume.h5 --select elangle=1.5,quantity=DBZH -o volume-DBZH.png
# For image output, select VRAD of the lowest dual-PRF scan
rack volume.h5 --select quantity=VRAD:VRADH,order=ELANGLE:MIN,prf=DOUBLE -o volume-VRAD.png
# For image output, select ZDR of the highest single-PRF scan
rack volume.h5 --select quantity=ZDR,count=1,order=ELANGLE:MAX,prf=SINGLE -o volume-ZDR.png
# For single-image output, select DBZH of the lowest scan (from 90 6.5 2.4 1.8 1.2 0.59)
rack volume.h5 --select quantity=DBZH,order=ELANGLE:MIN -o volume-DBZH2.png
# For single-image output, select dBZ - preferably total dBZ - of the highest scan (from 90 6.5 2.4 1.8 1.2 0.59)
rack volume.h5 --select quantity=TH:TV:T:DBZH:DBZ,order=ELANGLE:MAX -o volume-DBZH3.png
Definition: DataSelector.cpp:44

The following examples are less realistic than those above, but are used in unit testing of the program code.

# Index range: select dataset3, including its subgroups.
rack volume.h5 --select /dataset3 -o volume-select.txt
# Index range: select DATASET groups with index 2...5, including subgroups.
rack volume.h5 --select /dataset2:5 -o volume-select.txt
# Index range test: select DATASET groups with index 3 at least.
rack volume.h5 --select /dataset3: -o volume-select.txt
# Index range test: select DATASET groups with index 3 at largest.
rack volume.h5 --select /dataset:3 -o volume-select.txt
# For text output, select paths ENDING with 'what', 'where', or 'how'.
rack volume.h5 --select 'what|where|how' -o volume-select.txt
# For text output, select paths of elevations of at least 6.0 degrees
rack volume.h5 --select elangle=6.0 -o volume-select.txt
# For text output, select paths of elevations up to 6.0 degrees
rack volume.h5 --select elangle=:6.0 -o volume-select.txt
# For text output, select 'where' groups of 3 lowest elevations from 0.5 degrees upwards
rack volume.h5 --select where,elangle=0.5:90.0,count=3 -o volume-select.txt
# For text output, select 'what' and 'where' groups of elevations from 0.5 to 6.0 degrees
rack volume.h5 --select 'what|where,elangle=0.5:6' -o volume-select.txt
# Select a unique quality field
rack volume.h5 --select quantity=CLASS-ETOP -o volume-select.txt
# Select all QIND fields
rack volume.h5 --select quantity=QIND -o volume-select.txt
# Select global (dataset-level) QIND fields
rack volume.h5 --select quantity=/QIND -o volume-select.txt
# Select quantity-specific (data-level) QIND fields
rack volume.h5 --select quantity=.+/QIND -o volume-select.txt
# Select quantity-specific (data-level) QIND field
rack volume.h5 --select quantity=DBZ-SLOPE-SMOOTH/QIND -o volume-select.txt
# Select non-existing quantity-specific QIND field
rack volume.h5 --select quantity=HGHT/QIND -o volume-select.txt
See also
CmdDelete
CmdKeep
CmdSetODIM
rack::CmdSelect (code)
rack::DataSelector (code)