Print Filter Data utility¶
The Print Filter Data
utility enables the user to inspect the contents of the ObsFilterData
at any point in the
filter processing sequence. The utility will print a table of selected variables at the desired locations in the ObsSpace.
Any variable stored in the ObsFilterData
object can be printed.
Model-level data such as GeoVaLs, ObsDiagnostics and ObsBiasData are printed out on individual (user-configured) levels.
It is also possible to specify which channels to print for multi-channel data.
The utility should be instantiated in the same way as a normal filter. The configuration options and an example of its use are shown below.
If a requested variable is not in the ObsFilterData
then a warning will be printed at the start of the output.
Configuration options¶
variables
: List of variables to print.variable
: Variable information (name and optional channels). The channels are listed in a separate row, labelledchannels
, underneath the variable name. The channels should be specified as a comma-separated list. Ranges can be specified with the-
character.levels
: Set of levels to be printed for multi-level data in the GeoVaLs, ObsDiagnostics and ObsBiasTerm groups. This should be specified as a comma-separated list. Ranges can be specified with the-
character. The default is an empty list (i.e. no values will be printed).
message
: Message to print at the start of the output.summary
: Print summary of ObsFilterData? Default:true
.minimum location
: The filter data will be printed for all locations whose values are greater than or equal to this value. Default: 0.maximum location
: The filter data will be printed for all locations whose values are less than or equal to this value. If this is set to zero then it will be redefined as the total number of locations - 1. If the maximum location is less than the minimum location then an exception will be thrown. Default: 0.print only rank 0
: Only get and print data from rank 0. The precise consequence of this being set totrue
depends on the ObsSpace distribution that is used. If this option isfalse
, data from all ranks are gathered and printed on rank 0. Default: false.maximum text width
: The maximum width (in characters) of the output text. Default: 120.column width
: The width of the columns (in characters) in the output table. Default: 20.where
: Conditions used to select locations where printing should be performed. If not specified, printing will be performed at all required locations.where operator
: Logical operator used to combine conditions used in thewhere
statement. The possible values areand
(the default) andor
. Note that it is possible to use thewhere operator
option without thewhere
statement. The option has no impact in that case.defer to post
: If set totrue
, printing will occur after the obs operator has been invoked (even if the filter doesn’t require any variables from the GeoVaLs or HofX groups).skip derived
: If this option istrue
, retrieval of a particular group name from the filter data will only consider that group. If this option isfalse
, the retrieval will first check for the same group prefixed with “Derived”; if such a group is present then the data from that will be retrieved. If the Derived group is not present, data from the original group will then be retrieved. Default:true
.
Example¶
- filter: Print Filter Data
message: Printing filter data after the Background Check has run.
variables:
- variable: MetaData/latitude
- variable: MetaData/longitude
- variable: MetaData/dateTime
- variable: ObsValue/airTemperature
- variable: DerivedObsValue/airTemperature
- variable: ObsErrorData/airTemperature
- variable: HofX/airTemperature
- variable: QCflagsData/airTemperature
- variable: GeoVaLs/air_temperature
levels: 0, 1-3, 17
- variable: ObsDiag/air_temperature_background_error
levels: 0
minimum location: 0
maximum location: 8