IRIS Programming Guide M211318EN
IRIS Programming Guide M211318EN
Programming Guide
IRIS Radar
IRIS
PUBLISHED BY
Vaisala Oyj
Vanha Nurmijärventie 21, FI-01670 Vantaa, Finland
P.O. Box 26, FI-00421 Helsinki, Finland
+358 9 8949 1
© Vaisala 2021
No part of this document may be reproduced, agreements are included exclusively in the
published or publicly displayed in any form or by applicable supply contract or the General
any means, electronic or mechanical (including Conditions of Sale and General Conditions of
photocopying), nor may its contents be modified, Service of Vaisala.
translated, adapted, sold or disclosed to a third This product contains software developed by
party without prior written permission of the Vaisala or third parties. Use of the software is
copyright holder. Translated documents and governed by license terms and conditions
translated portions of multilingual documents are included in the applicable supply contract or, in
based on the original English versions. In the absence of separate license terms and
ambiguous cases, the English versions are conditions, by the General License Conditions of
applicable, not the translations. Vaisala Group.
The contents of this document are subject to This product may contain open source software
change without prior notice. (OSS) components. In the event this product
contains OSS components, then such OSS is
Local rules and regulations may vary and they governed by the terms and conditions of the
shall take precedence over the information applicable OSS licenses, and you are bound by the
contained in this document. Vaisala makes no terms and conditions of such licenses in
representations on this document’s compliance connection with your use and distribution of the
with the local rules and regulations applicable at OSS in this product. Applicable OSS licenses are
any given time, and hereby disclaims any and all included in the product itself or provided to you
responsibilities related thereto. on any other applicable media, depending on
This document does not create any legally each individual product and the product items
binding obligations for Vaisala towards customers delivered to you.
or end users. All legally binding obligations and
Table of contents
Table of contents
1. About This Document......................................................................................7
1.1 Version information............................................................................................. 7
1.2 Related documents............................................................................................. 7
1.3 Documentation conventions.............................................................................. 8
1.4 Trademarks...........................................................................................................8
4. Data Formats.................................................................................................... 22
4.1 Data Format Overview..................................................................................... 22
4.2 Scalar Definitions.............................................................................................. 22
4.3 Structure Definitions.........................................................................................23
4.3.1 beam_psi_struct Structure........................................................................23
4.3.2 cappi_psi_struct Structure........................................................................23
4.3.3 catch_psi_struct Structure........................................................................24
4.3.4 catch_results Structure..............................................................................24
4.3.5 color_scale_def Structure......................................................................... 25
4.3.6 cross_psi_struct Structure........................................................................ 26
4.3.7 dsp_data_mask Structure......................................................................... 27
4.3.8 extended_header_v0 Structure............................................................... 27
4.3.9 extended_header_v1 Structure.................................................................27
4.3.10 extended_header_v2 Structure................................................................28
4.3.11 fcast_psi_struct Structure......................................................................... 28
4.3.12 gage_psi_struct Structure........................................................................ 29
4.3.13 gage_results Structure.............................................................................. 29
4.3.14 ingest_configuration Structure................................................................ 30
4.3.15 ingest_data_header Structure...................................................................31
4.3.16 ingest_header Structure............................................................................32
4.3.17 max_psi_struct Structure.......................................................................... 32
4.3.18 mlhgt_psi_struct Structure....................................................................... 33
4.3.19 ndop_input Structure.................................................................................33
4.3.20 ndop_psi_struct Structure........................................................................ 33
4.3.21 ndop_results Structure..............................................................................34
4.3.22 one_protected_region Structure............................................................. 34
4.3.23 ppi_psi_struct Structure............................................................................35
4.3.24 product_configuration Structure..............................................................35
4.3.25 product_end Structure.............................................................................. 38
4.3.26 product_hdr Structure................................................................................41
RESTRICTED 1
IRIS Programming Guide M211318EN-H
4.3.27 product_header_extensions.....................................................................42
4.3.28 product_specific_info Structure...............................................................42
4.3.29 protect_setup Structure............................................................................ 43
4.3.30 rain_psi_struct Structure...........................................................................43
4.3.31 raw_prod_bhdr Structure......................................................................... 44
4.3.32 raw_psi_struct Structure.......................................................................... 44
4.3.33 ray_header Structure................................................................................. 45
4.3.34 rhi_psi_struct Structure.............................................................................45
4.3.35 rti_psi_struct Structure............................................................................. 45
4.3.36 shear_psi_struct Structure....................................................................... 46
4.3.37 sline_psi_struct Structure......................................................................... 46
4.3.38 sline_results Structure............................................................................... 47
4.3.39 sri_psi_struct Structure.............................................................................49
4.3.40 status_antenna_info Structure.................................................................50
4.3.41 status_device_info Structure..................................................................... 51
4.3.42 status_message_info Structure.................................................................51
4.3.43 status_misc_info Structure........................................................................ 51
4.3.44 status_one_device Structure.................................................................... 52
4.3.45 status_one_process Structure.................................................................. 52
4.3.46 status_process_info Structure..................................................................53
4.3.47 status_results Structure.............................................................................53
4.3.48 structure_header Structure.......................................................................53
4.3.49 tape_header_record Structure.................................................................54
4.3.50 task_calib_info Structure.......................................................................... 54
4.3.51 task_configuration Structure.................................................................... 56
4.3.52 task_dsp_info Structure............................................................................ 56
4.3.53 task_dsp_mode_batch Structure.............................................................57
4.3.54 task_end_info Structure............................................................................ 58
4.3.55 task_file_scan_info Structure................................................................... 58
4.3.56 task_manual_scan_info Structure........................................................... 59
4.3.57 task_misc_info Structure.......................................................................... 59
4.3.58 task_ppi_scan_info Structure...................................................................59
4.3.59 task_range_info Structure........................................................................ 60
4.3.60 task_rhi_scan_info Structure................................................................... 60
4.3.61 task_scan_info Structure.......................................................................... 60
4.3.62 task_sched_info Structure......................................................................... 61
4.3.63 tdwr_psi_struct Structure......................................................................... 62
4.3.64 tdwr_results Structure............................................................................... 62
4.3.65 text_results Structure................................................................................ 63
4.3.66 top_psi_struct Structure........................................................................... 63
4.3.67 track_psi_struct Structure........................................................................ 63
4.3.68 track_results Structure.............................................................................. 64
4.3.69 vad_psi_struct Structure...........................................................................65
4.3.70 vad_results Structure.................................................................................65
4.3.71 vvp_psi_struct Structure...........................................................................65
4.3.72 vvp_results Structure.................................................................................66
4.3.73 warn_psi_struct Structure.........................................................................67
4.3.74 warning_results Structure......................................................................... 67
4.3.75 wind_psi_struct Structure.........................................................................68
4.3.76 wind_results Structure...............................................................................68
4.3.77 ymds_time Structure................................................................................. 69
4.4 Data Types......................................................................................................... 69
4.4.1 Extended Header Format (DB_XHDR)..................................................... 71
4.4.2 2-byte Axis of Dilation Format (DB_AXDIL2).......................................... 71
4.4.3 1-byte AZDR Format (DB_AZDR8)...........................................................72
2 RESTRICTED
Table of contents
RESTRICTED 3
IRIS Programming Guide M211318EN-H
Appendix C: UF Format................................................................................127
C.1 UF Format Overview....................................................................................... 127
C.2 Single UF Ray Structure.................................................................................. 127
C.3 uf_data_header2 Structure............................................................................128
C.4 uf_field_header2 Structure............................................................................ 128
C.5 uf_fsi2 Structure.............................................................................................. 129
C.6 uf_mandatory_header2 Structure................................................................ 129
C.7 uf_optional_header Structure........................................................................ 131
Warranty........................................................................................................... 139
4 RESTRICTED
Table of contents
Recycling.......................................................................................................... 139
RESTRICTED 5
IRIS Programming Guide M211318EN-H
List of tables
Table 1 Document versions (English).............................................................................7
Table 2 Vaisala Weather Radar documentation.......................................................... 7
Table 3 Input Pipe Message Returns.............................................................................16
Table 4 Example Programs.............................................................................................. 17
Table 5 Product Types.......................................................................................................19
Table 6 out_legend.dat Flag Values..............................................................................21
Table 7 IRIS Data Types....................................................................................................22
Table 8 IRIS Timezone Recording.................................................................................. 41
Table 9 Data Types............................................................................................................69
Table 10 Method 1 - METEOCLASSIFIER (HydroClass)..............................................75
Table 11 Method 2 - PRECIPCLASSIFIER...................................................................... 75
Table 12 Method 3 - CELLCLASSIFIER...........................................................................76
Table 13 Ingest Data File Format.................................................................................... 89
Table 14 Product File Format...........................................................................................90
Table 15 Compression Code Meanings..........................................................................93
Table 16 Raw Product Example.......................................................................................94
Table 17 TIFF Fields Used by IRIS................................................................................... 97
Table 18 Data Type Constants — /include/sigtypes.h...............................................98
Table 19 Raw Product Parameters................................................................................. 101
Table 20 Product File Naming......................................................................................... 101
Table 21 Ray Options........................................................................................................106
Table 22 Status Packet RCV01 Format (RCP to Host)................................................111
Table 23 Control Packet XMT01 Format (Host to RCP)............................................ 112
Table 24 Status Packet RCV02 / RCV04 Format (RCP to Host)............................ 113
Table 25 Control Packet XMT02 / XMT04 Format (Host to RCP)......................... 114
Table 26 Status Packet RCV03 Format (RCP to Host)..............................................115
Table 27 Status Packet RCV05 Format (RCP to Host)..............................................118
Table 28 Control Packet XMT05 Format (Host to RCP)........................................... 119
Table 29 Time Packet (RCP to Host)..............................................................................119
Table 30 Generic BITE Status Packet (Both ways)................................................... 120
Table 31 BITE Command Packet (Both ways)............................................................120
Table 32 Auxiliary Control BITE Packets (Both ways)...............................................121
Table 33 Q-BITE Status Packet (Both ways)...............................................................122
Table 34 Simple Q-BITE Example.................................................................................. 122
Table 35 Q-BITE Interrogate Packet (Both ways)..................................................... 122
Table 36 BITE Individual Command Packet (Host to RCP).....................................123
Table 37 Chat-Mode Packet (Both ways).................................................................... 123
Table 38 HKO Picture types.............................................................................................126
Table 39 Network Load From RTD Dependencies.................................................... 132
Table 40 Supported IRIS Input Pipes............................................................................ 135
Table 41 Supplied IRIS Output Pipes............................................................................ 136
6 RESTRICTED
Chapter 1 – About This Document
RESTRICTED 7
IRIS Programming Guide M211318EN-H
CAUTION! Caution warns you of a potential hazard. If you do not read and follow
instructions carefully at this point, the product could be damaged or important data
could be lost.
Indicates that you need to take some notes during the task.
1.4 Trademarks
Vaisalaâ is a registered trademark and HydroClass™, IRIS™ and Total Lightning Processor™
are trademarks of Vaisala Oyj.
8 RESTRICTED
Chapter 2 – Introduction to IRIS Programming
2. Introduction to IRIS
Programming
2.1 IRIS Programming Interface
The IRIS programming interface provides access to the radar, antenna, and signal processing
hardware, as well as to the IRIS software.
You can expand the capabilities of IRIS to, for example:
• Create special-purpose products.
• Write applications that accept data generated by IRIS.
• Write new interfaces to IRIS.
RESTRICTED 9
IRIS Programming Guide M211318EN-H
Base Subdirectory
│── base
│ ├── antenna_lib
│ ├── antennax
│ ├── ant_utils
│ ├── ascope
│ ├── audio
│ ├── audio_lib
│ ├── bitex
│ ├── bxutils_lib
│ ├── config_lib
│ ├── dpolapp_lib
│ ├── dsp_lib
│ ├── dspx
│ ├── exthdr_lib
│ ├── fileformats_lib
│ ├── himath_lib
│ ├── icons
│ ├── include
│ │ └── embhw
│ ├── install_tools
│ │ └── tests
│ ├── irisscan_lib
│ ├── keys
│ ├── linux_configs
│ │ ├── desktop
│ │ └── etc
│ │ ├── profile.d
│ │ └── sigmet
│ ├── maps_lib
│ │ └── overlay_icons
│ ├── misc
│ ├── misc_lib
│ │ └── tests
│ ├── nexrad
│ ├── rscan_lib
│ ├── rtdisp
│ ├── rtq_lib
│ ├── setup
│ ├── sounds
│ ├── suncal
│ ├──
tvsubs_lib
│ ├── user_lib
│ ├── uxsig_lib
│ ├── vtv_lib
│ ├── xsig_lib
│ └── zauto7
10 RESTRICTED
Chapter 2 – Introduction to IRIS Programming
Config Subdirectory
├── config_template
│ └── init
RESTRICTED 11
IRIS Programming Guide M211318EN-H
IRIS Subdirectory
└── iris
├── adids_pipe
├── archive
├── archive2_pipe
├── asterix_pipe
├── bufr_pipe
├── convert_lib
│ └── tests
├── custom
├── dmrl
├── dwr2_pipe
├── ewis_pipe
├── examiners
├── examples
├── grib1_pipe
├── hdf5_pipe
├── include
├── ingest
├── ingfio
├── input
├── mcidas_pipe
├── misc
├── network
├── ngpipes
│ ├── grib
│ ├── hdf5
│ └── metar
├── nordrad
├── nordrad1_lib
├── nordrad2
├── nordrad2_lib
├── out_lib
│ └── sws_icons
├── output
├── pipes_in
├── pipes_out
├── pipesup_lib
├── prodsup_lib
├── product
├── rainbow_pipe
├── reingest
12 RESTRICTED
Chapter 2 – Introduction to IRIS Programming
├── ribbon_lib
├── ribbuild
├── share_lib
│ ├── menu
│ └── tests
├── siris
├── sserver
├── sws_lib
├── tdwr
├── ualf_pipe
├── uf_pipe
├── watchdog
├── window
├── wrdata_lib
└── xuif
1. Copy the files you need and the release config.mk file.
RESTRICTED 13
IRIS Programming Guide M211318EN-H
2. In the operator account, set up your developer tree with the following commands:
$ cd
$ mkdir src
$ cd src
$ cp -r /usr/sigmet/src ./sigmet
You can execute sudo make install in any directory, including root of the tree.
However, if you make changes in the base sub-tree, you must execute make and
sudo make install before building any binaries in the iris sub-tree.
3. To compile and install the base or iris sub-tree, at the base of the sub-tree type:
a. make
b. sudo make install
14 RESTRICTED
Chapter 2 – Introduction to IRIS Programming
RESTRICTED 15
IRIS Programming Guide M211318EN-H
The information passed back to the calling program is the 8-bit exit status.
Note that:
• Pipes must explicitly open the input and output files.
• The pipe program must write diagnostic information to a log file. Vaisala recommends
writing to the ${IRIS_LOG} directory.
Message Description
EXIT_FAILURE (1) IRIS sends the messages: Error running pipe, check log.
EXIT_RERUN (2) The pipe has produced a normal output, and needs to produce a second output
file but is unable to do so.
The pipe must store information about the second output on disk. Vaisala
recommends writing this in the ${IRIS_TEMP} directory.
IRIS processes the first output, then reinvokes the pipe with the following
command line:
When the pipe is called, it can retrieve the stored information and write the
second output to the specified pathname.
EXIT_NOTHING (3) The pipe ran without error, but no output was produced.
Useful for a pipe that must read several input files before producing an output
file.
IRIS ignores and deletes the output file.
For example, the Rainbow input pipe RainbowToIris, in the $
{IRIS_ROOT}/utils/rainbow directory.
16 RESTRICTED
Chapter 3 – Custom Input and Output
Polling
In polling, the product is passed from the user program using IRIS input and output
mechanisms with no handshaking.
For example, you can place the product file in a known directory that IRIS checks every few
seconds. When IRIS finds a file, it reads it. You can also place IRIS output files in a known
directory that is polled by the other program.
When using a polling scheme, first copy the file to the directory with a "." prefix. When the
file is fully there, rename it without the ".". This prevents the recipient from seeing a partial
file.
Program Description
upi_rcv Receives a file from IRIS, prints out the file name, then deletes it. It can be
customized to your requirements.
RESTRICTED 17
IRIS Programming Guide M211318EN-H
18 RESTRICTED
Chapter 3 – Custom Input and Output
Product Types
The product type in a product file controls some of the text legend as well as the geometry.
Based on the product type, IRIS divides products into several geometrical categories which
determine what kind of overlays can be drawn on the image:
Vertical These products can have a range/height overlay grid. Cross Section
RESTRICTED 19
IRIS Programming Guide M211318EN-H
Data Types
The data type in a product file controls the color legend (the box containing an array of
colored rectangles with text next to them) The data type is converted to text to label the
legend, and is used internally to help control how data values in Cartesian products are
converted to colors. Some data types do not display a color legend, for example, WARN,
SLINE, TRACK, and VVP are displayed as graphs.
20 RESTRICTED
Chapter 3 – Custom Input and Output
SCALE A 32-bit word is grabbed from the first byte of the product header
product_specific_infofield offset by the offset in the file. This
number is converted to floating point, and multiplied by the scale factor in
the file.
The C library routine sprintf is called with the format statement and the
resulting number as arguments.
Neither If the flag is neither of the above, a 32-bit word is grabbed from the first
byte of the product header product_specific_info field offset by the
offset in the file without any conversion.
The C library routine sprintf is called with the format statement and the
32-bit number as arguments.
For example:
# File: output_legend.dat
# Format:
# Valid flags are: SCALE, REF, <anything else>
# R=resolution, L=line, O=offset
#ptype productname R L O scale flag format
USER DEFAULT 11 1 4 0.00001 SCALE "Hght:%3.1f"
USER Z_010_120 11 1 4 0.00001 SCALE "Hght:%3.1f"
USER DEFAULT 11 2 8 1 - "Flag:%d"
USER Z_010_120 11 2 8 1 - " "
VUSER DEFAULT 11 1 4 1 - " "
USER DEFAULT 17 1 4 0.00001 SCALE "Height:%3.1f"
USER Z_010_120 17 1 4 0.00001 SCALE "Height:%3.1f"
USER DEFAULT 17 2 8 1 - "Flag:%d"
USER Z_010_120 17 2 8 1 - " "
VUSER DEFAULT 17 1 4 1 - " "
RESTRICTED 21
IRIS Programming Guide M211318EN-H
4. Data Formats
4.1 Data Format Overview
The archived data formats used by IRIS include data storage on disk files, and output tape
formats.
The data formats also include antenna, signal processor, and general-purpose constants.
All data format sizes and addresses are given in bytes.
A binary angle is an efficient way to store an angle into an integer. In this format the MSB
has weight 180°, the next bit means 90°, the next 45°, and so on.
You can convert an N-bit binary angle to degrees with:
22 RESTRICTED
Chapter 4 – Data Formats
RESTRICTED 23
IRIS Programming Guide M211318EN-H
8 UINT2 Flags:
Bit 0= make pseudo CAPPI
Bit 1= Velocity is horizontal winds
24 RESTRICTED
Chapter 4 – Data Formats
40 UINT4 Flags
Bit 0: Warning enabled for this catchment
Bit 1: Warning triggered for this catchment
48 52 <spare>
Source: headers.h
0 UINT4 iflags:
Bit 8=COLOR_SCALE_VARIABLE
Bit 10=COLOR_SCALE_TOP_SAT
Bit 11=COLOR_SCALE_BOT_SAT
Bit 12=ENUMERATED DATA
14 UINT2 iset_and_scale: Color set number in low byte, color scale number in high
byte.
RESTRICTED 25
IRIS Programming Guide M211318EN-H
Vaisala may remove this structure in future because IRIS can override this at display time.
This is only used if the user selects Use Default Scale in the Color Scale Tool. The bit 11 is
used to identify enumerated data type such as DB_HCLASS (DB_HCLASS2), requiring
further information about the discrete data values.
To specify the color scale, use one of the following:
• Fixed scale has uniformly spaced numbers fully specified by a start and step value
• Variable scale is specified by a set of 16 individually controlled data seams
• Enumerated data in which each value has an discrete meaning, defined by the string
data in enumeration_def structures, which can represent enumeration data as multiples
of 14 classes
The iflags bits COLOR_SCALE_VARIABLE, overruled by ENUMERATED_DATA (relates to
products using DB_HCLASS) indicate which mode is in effect.
In the first two cases, the number of colors can be 2 ... 16, and optionally zoomed or split to
give up to 32 colors. True color representation is possible in IRIS. Bits 10 and 11 in iflags
specify what to do with data off the end of the scale. The choices are:
• saturate at the end (use the last color)
• threshold (do not display)
A typical treatment of reflectivity is to saturate the high end of the scale (so as not to lose
the strong features), and threshold at the low end (to inhibit display of very weak speckles).
The number of main colors and labels in the legend is set by icolcnt. To select which subset
of colors is used for the scale, fill in the low byte of iset_and_scale. The upper byte is not
used in the product header.
For fixed spacing, set the istart and istep to the start and step values desired. These values
are integers which are 10 times the physical units as discussed in the color_setup utility
chapter of the IRIS Utilities Manual. The labels of istart, istart+istep, istart
+2*istep, and so on appear on the right side of the IRIS legend. Note that:
• Width assumes that the starting value is 0.
• Velocity assumes that the middle of the scale is at 0.
If the velocity step is set to 0 it means, the spacing automatically scales to fit the
Nyquist velocity.
For variable spacing (bit 8 ON), the numbers in the array ilevel_seams control the starting
values for each of the colors. The first seam is the bottom of the first color. The top of the
16th color is computed by adding the step between the 15th and 16th seam to the 16th seam.
These seams are data values, using the 16-bit versions of the data. For shear and height
data, for which there is no 16-bit version, the 8-bit version is used.
Enumerated data (bit 12 ON) can be treated as other data types, that is either with fixed
spacing or variable spacing.
26 RESTRICTED
Chapter 4 – Data Formats
2 10 <spare>
4 UINT4 Extended
header type
8 UINT4 Mask word 1 Contains bits set for all recorded data.
12 UINT4 Mask word 2 See the DB_* parameter in Table 18 (page 98) for bit
specification.
16 UINT4 Mask word 3
6 14 <spare>
RESTRICTED 27
IRIS Programming Guide M211318EN-H
6 2 <spare>
28 RESTRICTED
Chapter 4 – Data Formats
24 UINT4 Flags
4 UINT4 Flag bits: 0 = File has distrometers 1 = File does not have gages
29 uint8_t Flag bits: 0 = Skip this gage for correction calculation1 = Gage has Z/R
numbers2 = Gage does not have rainrate3 = Radar rainrate filled in
RESTRICTED 29
IRIS Programming Guide M211318EN-H
36 4 <spare>
88 12 <ymds_time> Time that volume scan was started, TZ spec in bytes 166 &
224
114 SINT2 Number of bytes in extended ray headers (includes normal ray header)
120 4 <spare>
148 SINT2 Time zone of local standard time, minutes west of GMT
166 SINT2 Time zone of recorded standard time, minutes west of GMT
168 BIN4 Latitude of radar (binary angle: 20000000 hex is 45º North)
172 BIN4 Longitude of radar (binary angle: 20000000 hex is 45º East)
30 RESTRICTED
Chapter 4 – Data Formats
204 SINT4[3] Antenna offset from INU (cm) (starboard, bow, up)
216 UINT4 Fault status at the time the task was started, bits:
0:Normal BITE
1:Critical BITE
2:Normal RCP
3:Critical RCP
4:Critical system
5:Product gen.
6:Output
7:Normal system
220 SINT2 Height of melting layer (meters above sea level) MSB is complemented,
0=Unknown
222 2 <spare>
0 12 <structure_header>
The size stored here is the total size of the file:
76 + 4*Irtotl + Iwritn*raysize
12 12 <ymds_time>
Date and time the sweep started TZ specified in
ingest_configuration
See ymds_time Structure (page 69).
RESTRICTED 31
IRIS Programming Guide M211318EN-H
40 36 <spare>
<structure_header> 12 Bytes
0 4 <spare>
32 RESTRICTED
Chapter 4 – Data Formats
4 int16_t Momentary ML altitude averaged through the product area [m] (MSL)
15 UINT1 Flags
0 3*16 <ndop_input>
RESTRICTED 33
IRIS Programming Guide M211318EN-H
68 char[4] Output site code, added in 8.09.6, use first input if zeroed
72 8 <spare>
VarianceEast + VarianceNortℎ
SQI = 1 − /Vnorm
2
Source: product.h
7 5 <spare>
18 2 <spare>
34 RESTRICTED
Chapter 4 – Data Formats
0 12 <Structure_Header>
RESTRICTED 35
IRIS Programming Guide M211318EN-H
36 RESTRICTED
Chapter 4 – Data Formats
20 12 <ymds_time>
Time product was generated (UTC).
See ymds_time Structure (page 69).
32 12 <ymds_time>
Time of input ingest sweep (TZ flex).
See ymds_time Structure (page 69).
44 12 <ymds_time>
Time of input ingest file (TZ flexible)
See ymds_time Structure (page 69).
56 6 <spare>
124 SINT4 Maximum range in cm (used only in version 2.0, raw products)
128 2 <spare>
RESTRICTED 37
IRIS Programming Guide M211318EN-H
144 UINT2 Data type used as input. See Constants (page 97).
147 1 <spare>
164 80 <product_specific_info>
260 12 <spare>
272 48 <color_scale_def>
Color scale definition. May be removed in the future.
See color_scale_def Structure (page 25).
32 12 <ymds_time>
Time of oldest input ingest file (only RAIN1 and RAINN, TZ flexible)
44 28 <spare>
74 char[16] Hardware name where ingest data came from (space padded)
90 char[16] Site name where ingest data came from (space padded)
38 RESTRICTED
Chapter 4 – Data Formats
146 UINT2 Number of linear based filter for the first bin
168 UINT2 Flag wordBit0: Disdrometer failed. Used setup for Z/R source instead
170 SINT2 Number of ingest or product files used to make this product (only on
RAIN1 and RAINN)
190 uint16_t TCF Cal flags, see struct task_calib_info (added in 8.12.3)
192 uint16_t TCF Cal flags2, see struct task_calib_info (added in 8.12.3)
194 uint8_t if enumerated data (DB_HCLASS) the identifier of classifier in the first bit
segment else <spare>
195 uint8_t if enumerated data (DB_HCLASS) the identifier of classifier in the 2nd bit
segment else <spare>
RESTRICTED 39
IRIS Programming Guide M211318EN-H
196 uint8_t if enumerated data (DB_HCLASS) the identifier of classifier in the 3rd bit
segment else <spare>
197 uint8_t if enumerated data (DB_HCLASS2) the identifier of the 4th classifier else
<spare>
198 uint8_t if enumerated data (DB_HCLASS2) the identifier of the 5th classifier else
<spare>
199 uint8_t if enumerated data (DB_HCLASS2) the identifier of the 6th classifier else
<spare>
200 12 <spare>
228 UINT4 Fault status of task, see ingest_configuration Structure (page 30).
236 UINT2 Number of log based filter for the first bin
290 2 <spare>
300 UINT4 Offset to extended product header from file (added in 8.13.0)
304 4 <spare>
1) Note on Latitude and longitudes: Interpretation varies with product type. They are as documented for CAPPI, FCAST, MAX,
NDOP, PPI, RAIN1, RAINN, SHEAR, SLINE, TOPS, TRACK, VIL, USER and WARN. For all other products, the Center location is
the radar location, and the reference location is 0.
40 RESTRICTED
Chapter 4 – Data Formats
IRIS allows data to be recorded in UTC on computers with a timezone set to local time. IRIS
also records timezone information about the local computer to support optional displaying
of different times at output time.
Do not record
summer time.
RESTRICTED 41
IRIS Programming Guide M211318EN-H
4.3.27 product_header_extensions
If the hdr.end.iExtendedHeaderOffset is non-zero, then there is a product header
extension. This number is the byte offset from the beginning of the file to the extension.
The product header extension is an ASCII format, containing meta-data in name=value pairs.
The name value pairs are separated by newline characters.
The ASCII meta-data section is terminated by an ASCII zero.
This null may be followed by more null, and ends with a 0xff. This allows a parser to find
the end by looking for a final 0x00 followed by a 0xff, and allows the sized to be padded
to make the next section aligned, if desired.
Following the product header extension, there may be a binary data section. This binary
data section is aligned based on the size of the data elements, which is specified in the
meta-data. This is a general design intended to handle many needs for extending headers,
such as listing sites in a composite, or listing algorithm attributes used to generate a data
moment. In some cases, there may be multiple product header extension sections.
For example, the echo thickness product stores 2 binary data arrays, first the thickness, and
second the average reflectivity over that interval. See, for example, the following name value
pairs:
0 10 <cappi_psi_struct> CAPPI
0 44 <catch_psi_struct> CATCH
0 80 <comp_psi_struct> COMP
0 68 <dwell_psi_struct> DWELL
0 48 <fcast_psi_struct> FCAST
0 8 <gage_psi_struct> GAGE
0 20 <maximum_psi_struct> MAX
0 28 <mlhgt_psi_struct> MLGHT
0 72 <ndop_psi_struct> NDOP
42 RESTRICTED
Chapter 4 – Data Formats
0 2 <ppi_psi_struct> PPI
0 20 <raw_psi_struct> RAW
0 2 <rhi_psi_struct> RHI
0 20 <rti_psi_struct> RTI
0 80 <sat_psi_struct> SATELLITE
0 28 <shear_psi_struct> SHEAR
0 60 <sline_psi_struct> SLINE
0 34 <sri_psi_struct> SRI
0 8 <sws_psi_struct> SWS
0 14 <tdwr_psi_struct> TDWR
0 52 <track_psi_struct> TRACK
0 80 <user_psi_struct> USER
0 16 <vad_psi_struct> VAD
0 4 <vil_psi_struct> VIL
0 28 <vvp_psi_struct> VVP
0 80 <warn_psi_struct> WARN
0 40 <wind_psi_struct> WIND
RESTRICTED 43
IRIS Programming Guide M211318EN-H
4 SINT2 Byte offset of first full ray in this record (-1 if none)
8 UINT2 Flags
10 2 <spare>
44 RESTRICTED
Chapter 4 – Data Formats
0 BIN2 Azimuth at beginning of ray (binary angle)If dual-PRF: bit 0=ray's PRF was
high
2 BIN2 Elevation at beginning of ray (binary angle)If trigger blanking on: bit
0=Trigger was not blanked
RESTRICTED 45
IRIS Programming Guide M211318EN-H
6 2 <spare>
46 RESTRICTED
Chapter 4 – Data Formats
8 BIN4 Rotation angle to X-Y coordinates of curve fit polynomial Span is -90 ...
+90°.
RESTRICTED 47
IRIS Programming Guide M211318EN-H
48 RESTRICTED
Chapter 4 – Data Formats
2. Shift and scale the coordinate system to keep the polynomial coefficients from
becoming too large. The equations for the transformation are:
X − Xl
X′ =
Xr − Xl
or
Y' = P[X']
The standard deviation is computed as follows: Let [X'i,Y'i] represent the ith point
in the data set in the rotated and scaled coordinate system, and N the total number of
points, then the standard deviation is:
1
standard deviation =
N ∑
2
i = 1, N Y′i − P X′i
The center point is computed as follows: Let [Easti,Northi] represent the ith point
in the data set in the original coordinate system, and N the total number of points:
1
East center =
N ∑
i = 1, NEasti
1
Nortℎ center =
N ∑
i = 1, NNortℎi
RESTRICTED 49
IRIS Programming Guide M211318EN-H
0 UINT4 Flags
Bit 0=Do profile correction
Bit 3 and 4: Melt src:
• 0=Ingest
• 1=Setup
• 2=TypeIn
Bit 5=Check for convection
50 RESTRICTED
Chapter 4 – Data Formats
68 32 <spare>
0 40 <status_one_device> dsp
40 40 <status_one_device> antenna
164 36 <spare>
RESTRICTED 51
IRIS Programming Guide M211318EN-H
108 4 <spare>
136 64 <spare>
8 UINT4 Status
12 4 <spare>
36 4 <spare>
52 RESTRICTED
Chapter 4 – Data Formats
0 UINT4 Command
4 UINT4 Mode
8 12 <spare>
40 20 <spare>
RESTRICTED 53
IRIS Programming Guide M211318EN-H
8 SINT2 Reserved
0 12 <structure_header>
56 4 <spare>
68 252 <spare>
54 RESTRICTED
Chapter 4 – Data Formats
10 8 <spare>
30 6 <spare>
36 UINT2 Flags:
Bit 0: Speckle remover for log channel
Bit 3: Speckle remover for linear channel
Bit 4: Flag to indicate data is range normalized
Bit 5: Flag to indicate pulse at beginning of ray
Bit 6: Flag to indicate pulse at end of ray
Bit 7: Vary number of pulses in dual PRF
Bit 8: Use 3 lag processing in PP0 2
Bit 9: Apply velocity correction for ship motion
Bit 10: Vc is unfolded
Bit 11: Vc has fallspeed correction
Bit 12: Zc has beam blockage correction
Bit 13: Zc has Z-based attenuation correction
Bit 14: Zc has target detection
Bit 15: Vc has storm relative velocity correction
38 2 <spare>
RESTRICTED 55
IRIS Programming Guide M211318EN-H
62 uint16_t Flags2:
Bit 0: Zc and ZDRc has DP attenuation correction
Bit 1: Z and ZDR has DP attenuation correction
64 256 <spare>
4 24 <dsp_data_mask>
Current Data type mask1)
28 24 <dsp_data_mask>
Current Data type mask1)
52 32 <task_dsp_mode_batch>
Else:
52 32 <task_dsp_mode_other>
84 52 <spare>
56 RESTRICTED
Chapter 4 – Data Formats
170 UINT2 Gas attenuation in 1/100000 dB/km for first 10000, then stepping in
1/10000 dB/km
182 2 <spare>
RESTRICTED 57
IRIS Programming Guide M211318EN-H
14 18 <spare>
102 2 <spare>
116 UINT1[6] Identifiers of the echo classifiers in the HCLASS bit segments
16 184 <spare>
58 RESTRICTED
Chapter 4 – Data Formats
2 198 <spare>
24 UINT2 Flags:
Bit 0: Digital signal simulator in use
Bit 1: Polarization in use
Bit 4: Keep bit
50 12 <spare>
RESTRICTED 59
IRIS Programming Guide M211318EN-H
84 115 <spare>
24 136 <spare>
84 115 <spare>
60 RESTRICTED
Chapter 4 – Data Formats
4 2 <spare>
If RHI scan:
8 200 <task_rhi_scan_info>
8 200 <task_ppi_scan_info>
If File scan:
8 200 <task_file_scan_info>
8 200 <task_manual_scan_info>
In all cases:
12 SINT4 Time last run (seconds within a day) (0 for passive ingest)
16 SINT4 Time used on last run (seconds) (in file time to writeout)
RESTRICTED 61
IRIS Programming Guide M211318EN-H
24 UINT2 Flag:
Bit 0 = ASAP
Bit 1 = Mandatory
Bit 2 = Late skip
Bit 3 = Time used has been measured
Bit 4 = Stop after running
26 94 <spare>
0 UINT4 Flags:
bit0=LLWAS
bit1=WARN
bit2=SLINE
8 char[4] Source ID
15 UINT1 <spare>
27 1 <spare>
62 RESTRICTED
Chapter 4 – Data Formats
31 1 <spare>
34 2 <spare>
48 52 <spare>
0 uint32_t Flags:
Bit 0: For THICK product only, make pseudo thickness
RESTRICTED 63
IRIS Programming Guide M211318EN-H
4 BIN4 Longitude
12 UINT4 Flags:
bit0=forecast
bit1=manual
bit2=text
bit3=icon
40 8 <spare>
52 8 <spare>
68 char[32] Text
112 SINT4[32] ETA in seconds for each protected area (0 if in area, -1 if not expected)
244 8 <spare>
64 RESTRICTED
Chapter 4 – Data Formats
268 32 <spare>
8 uint32_t Flags:
Bit 0: Unfold based on VVP product
12 8 <spare>
RESTRICTED 65
IRIS Programming Guide M211318EN-H
18 uint16_t Minimum velocity (cm/sec) (version 8.13 and later, previously 0.02 times
nyquist)
12 8 <spare>
Bit Description
66 RESTRICTED
Chapter 4 – Data Formats
54 30 <spare>
22 2 <spare>
75 char[1] <spare>
4 BIN4 Longitude
36 SINT4[3] Maximum value of data within the area (1/100 of user units)
48 SINT4[3] Average value of data within the area (1/100 of user units)
RESTRICTED 67
IRIS Programming Guide M211318EN-H
64 4 <spare>
84 156 <spare>
260 40 <spare>
68 RESTRICTED
Chapter 4 – Data Formats
22 10 <spare>
6 SINT2 Year
8 SINT2 Month
10 SINT2 Day
Ah, Av Integral attenuation for horizontal (H) and vertical (V) channels.
RESTRICTED 69
IRIS Programming Guide M211318EN-H
RHOHV, RHOH, RHOV Correlation coefficient between HH and VV (or HH & HV / VV & VH) channels )
Higher (>0.95) values indicate uniform precipitation areas and lower values
more mixed hydrometeor types, such as melting snow, wet snowflakes, or
airborne debris.
T Total Reflectivity
Total power returned to the radar in reflectivity units. It typically represents
the horizontal reflectivity without ground clutter correction.
V Velocity
Average radial velocity (towards or away from the radar) of detected
hydrometeor areas.
70 RESTRICTED
Chapter 4 – Data Formats
VC Corrected Velocity
Same as Velocity, but corrected for effects of range folding and velocity
folding.
W Spectral Width
Variability of Doppler velocity values within the measurement area.
XCOR Polar cross-correlation, uncorrected rhohv. Because this value is not noise
corrected, it is a direct indicator of the PHIDP uncertainty
Z Reflectivity
Usually referred to as dBZ, this is the common data type that measures radar
signal reflectivity, and is used to estimate precipitation intensity from that.
All Z measurements are corrected for ground clutter.
ZC Corrected Reflectivity
Same as Z, but corrected for attenuation and beam blockage effects.
N
angle =
10
RESTRICTED 71
IRIS Programming Guide M211318EN-H
-1800 -180.0°
0 0.0°
10 1.0°
72 RESTRICTED
Chapter 4 – Data Formats
0 0 deformation
0 0 divergence
1 0.0 km
128 12.7 km
129 12.8 km
RESTRICTED 73
IRIS Programming Guide M211318EN-H
The floating-point number consists of a 4-bit exponent in the high four bits, followed by a
12-bit mantissa. It uses implied digits and soft underflow. If the exponent is 0, the mantissa
consists of the value. If the exponent is 1 through 15, the 12-bit mantissa has a 1 prefixed to it
and is shifted up by one less than the exponent. The table below gives some examples:
0 —> 0 0.000 mm
1 —> 1 0.001 mm
-1800 -180.0°
0 0.0°
10 1.0°
74 RESTRICTED
Chapter 4 – Data Formats
Each segment can be associated with an identification method (echo classifier). For a list of
the available classification methods listed as enumerated logical names, see the public
IRIS/RDA header sig_data_types.h.
The bytes Enums of the task_dsp_info structure (see task_dsp_info Structure
(page 56)) contain the list of classification methods allocated to each bit segment of the
HClass data. The information is associated to each IRIS RAW data file header, and can be
inspected with the productx utility.
The bits in each segment are interpreted as an unsigned integer value belonging to an
enumerated class type (the class base), specific to each classifier. The enumerated class
types are defined in sig_data_types.h with unambiguous logical names that are
meteorologically explicit.
The default configuration of IRIS/RDA delivers the echo classification results shown in the
following tables. You can modify the configuration using settings in hydroclass-*-
band.conf).
The methods METEO and PRECIPCLASSIFIER are available both in RDA real-time ray
level processing, as well as in IRIS reprocessing (reingest).
CELLCLASSIFIER is available in IRIS post-processing only. Its outcomes can be
interpreted in the context of ray level classifications.
Further classification information can be appended to 2-byte HydroClass data. See 2-byte
HydroClass Format (DB_HCLASS2) (page 76).
MET_CLASS_RAIN =2 Rain
MET_CLASS_SNOW =4 Snow
MET_CLASS_GRAUPEL =5 Graupel
MET_CLASS_HAIL =6 Hail
=7 Unused
RESTRICTED 75
IRIS Programming Guide M211318EN-H
PRE_CLASS_PRECIP =3 Precipitation
PRE_CLASS_HEAVY_PRECIP =7 Unused
For PRECIPCLASSIFIER, the interpretations into classes from Large Drops to Heavy
precipitation are available if HClass PrecipClassifier is ON.
Without HClass PrecipClassifier, all precipitation are classified as
Precipitation.
CELL_CLASS_STRATIFORM =0 Stratiform
CELL_CLASS_CONVECTION =1 Convection
=2 Unused
=3 Forbidden
76 RESTRICTED
Chapter 4 – Data Formats
Same format as DB_SNR8, see 1-byte SNR Format (DB_SNR8) (page 83).
N − 129
minimum 126
KDP × λ = minimum ×
maximum
Here is the conversion equation for positive values (stored value above 128):
N − 129
KDP × λ = 0.25 × 600
126
Here is the conversion equation for negative values (stored value below 128):
127 − N
KDP × λ = 0.25 × 600
126
0 No data available
RESTRICTED 77
IRIS Programming Guide M211318EN-H
N − 32768
KDP =
100
The overall range is -327.67 ... +327.66 in 1/100 of a degree/kilometer steps as follows.
0 No data available
1 -327.67 deg/km
N−1
LDR db = − 45.0
5
The overall range (in dB) is -45 ...+5.6 in steps of 0.2 dB as follows.
0 No data available
1 -45.0 dB
78 RESTRICTED
Chapter 4 – Data Formats
2 -44.8 dB
226 0.0 dB
254 +5.6 dB
N−1
ΦDPmod 180 = 180 ×
254
0 No data available
1 0.00 deg
RESTRICTED 79
IRIS Programming Guide M211318EN-H
2 0.71 deg
N−1
ΦDPmod 360 = 360 ×
65534
The overall range is 0 ... 360° degrees in steps of 0.0055 as follows. In cases where the
transmitter was alternating polarization, or the data was converted from 1–byte format, the
values only cover 0 ... 180°.
0 No data available
1 0.0000 deg
2 0.0055 deg
80 RESTRICTED
Chapter 4 – Data Formats
If the exponent is 1 ... 15, the 12-bit mantissa has a 1 prefixed to it, making it a 13-bit mantissa.
This 13-bit mantissa is shifted up by one less than the exponent.
The following table gives some examples.
N − 64
dBZ =
2
The overall range is from -31.5 ... +95.5 dBZ in 0.5 dB steps as follows. In data product files,
the value of 255 indicates areas not scanned.
RESTRICTED 81
IRIS Programming Guide M211318EN-H
N − 32768
dBZ =
100
0 No data available
1 -327.67 dBZ
N−1
RℎoHV =
253
1 0.0000
2 0.0629
128 0.7085
82 RESTRICTED
Chapter 4 – Data Formats
253 0.9980
254 1.0000
N−1
SQI =
253
1 0.0000
2 0.0629
128 0.7085
253 0.9980
254 1.0000
RESTRICTED 83
IRIS Programming Guide M211318EN-H
N−1
SQI =
65533
1 0.00000
2 0.00002
128 0.00194
65533 0.99998
65534 1.00000
N − 32768
Time =
60
1 - 9:06:07:
32768 00:00:00
32828 00:01:00
2 -74.4 m/s
84 RESTRICTED
Chapter 4 – Data Formats
N − 32768
velocity =
100
The overall range is -327.67 ... +327.66 m/s in 1/100 of a meter per second steps as follows.
0 No data available
N − 128
velocity = × Nyquist
127
N − 32768
velocity =
100
RESTRICTED 85
IRIS Programming Guide M211318EN-H
The overall range is -327.67 ... +327.66 m/s in 1/100 of a meter per second steps as follows.
0 No data available
0 0 motion
1 0.000 mm
128 0.127 mm
129 0.128 mm
255 0.254 mm
N
W=
256
86 RESTRICTED
Chapter 4 – Data Formats
N
widtℎ =
100
The overall range is 0.01 ... 655.34 in 1/100 of a meter per second steps as follows.
0 No data available
1 0.01 m/s
RESTRICTED 87
IRIS Programming Guide M211318EN-H
N − 128
dB ZDR =
16
The overall range is -7.94 dBZ ... +7.94 dBZ in sixteenth of a dB steps as shown below.
Positive ZDR means that the horizontal return is stronger than the vertical return. In data
products, the value 255 indicates area not scanned.
1 -7.94 dB
128 0.00 dB
129 +0.06 dB
255 +7.94 dB
N − 32768
dB ZDR =
100
0 No data available
88 RESTRICTED
Chapter 4 – Data Formats
1 -327.67 dB
32768 0.00 dB
32769 0.01 dB
65534 327.66 dB
<ingest_data_header> 76 Bytes
Ray data are partially compressed with a truncation scheme. If a ray does not contain data
all the way out to the last range bin, the trailing bins are removed from the archive.
This means that the storage space required for each ray varies, which requires the pointer
table for quick random access. The pointer points to a ray_header structure, which is
followed by an array of range bins. The count of the number of range bins could be zero, in
which case the ray contains only the 12-byte ray header.
RESTRICTED 89
IRIS Programming Guide M211318EN-H
Format Example
SSSYYMMDDHHMMSS.##DD SIG010620141921.01dBZ
Where:
<product_hdr>
640 Bytes
Optional <protect_setup>
1024 Bytes
90 RESTRICTED
Chapter 4 – Data Formats
The 2 digit year used is the year modulo 100. Since the product file names are never parsed
to generate a full date, there is no need to ever reconstruct the correct century.
SSSYYMMDDHHMMSS.PPPXXXX SIG940620141921.TRAE090
Where:
When IRIS copies files to other directories using the network product output, it must
generate a file name that is unique in the target directory. For more information, see SETUP/
OUTPUT in IRIS Utilities Manual.
RESTRICTED 91
IRIS Programming Guide M211318EN-H
The records are for IRIS interpretation only and do not refer to any operating system file
records.
The first 6144 byte record of a RAW product holds the product_hdr (See product_hdr
Structure (page 41)) structure.
The RAW product begins with a product_hdr like all the other types of products. The only
difference is the zero padding out to 6144 bytes.
The next record holds the ingest_header (see ingest_header Structure (page 32))
structure for the volume scan that supplied the data. This structure is zero-padded to fill the
entire second record.
All subsequent records hold the actual data, and each record begins with the
raw_prod_bhdr structure. See 1-byte Velocity Format (DB_VEL) (page 85).
Records hold data from one sweep. The sweep number is in each record's header. The data
for the sweep is the concatenation of all the data from as many records as pertain to that
sweep. When data for a sweep ends short of the 6144 byte record size, the remainder of that
record is padded with zeros. Each of these sweep data sets begins with the
ingest_data_header (See ingest_data_header Structure (page 31)) structures for each
data type that was recorded. The same number of headers are found in the beginning of a
sweep's data as there are data types acquired during the sweep. The list of data types
recorded is specified by the data collection mask in the task_dsp_info in the
task_configuration in the ingest_header. The rays of data are immediately after
the headers.
92 RESTRICTED
Chapter 4 – Data Formats
Rays are ordered within a sweep by the same ordering sequence used for the ingest data file
pointer table. If a ray is missing from the ingest file, a zero-length ray is inserted into the
product file as a placeholder. The number of compressed rays in the file is equal to the
product of the number of data types recorded and the number of angles sampled. This is
true even if data were not acquired at some of those angles. Within a ray, the recorded data
are ordered by increasing data type number. See the task_dsp_info structure for a
definition of the data type numbers. See task_dsp_info Structure (page 56).
Data Compression
The raw product headers and the ingest data headers are not compressed. The overall
organization of the file is shown below. Raw product files are blocked into 6144-byte
records, and all but the first 2 records begin with the raw_prod_bhdr 12-byte structure.
For information on the algorithm used to compress data rays, see Data Compression
Algorithm (page 93).
0 0 <unused>
RESTRICTED 93
IRIS Programming Guide M211318EN-H
0 1 End of ray
0 2 <unused>
1 0 <unused>
0 12 <raw_prod_bhdr>
12 76 <ingest_data_header>
112
94 RESTRICTED
Chapter 4 – Data Formats
This is followed by an array of sline_results structures one for each shearline found.
The Number of elements in product results array element of the
product_end structure in the product_hdr indicates the number of points in the array.
Generally there is at most 1 shearline found.
RESTRICTED 95
IRIS Programming Guide M211318EN-H
96 RESTRICTED
Chapter 4 – Data Formats
There is a special short record at the beginning of the tape that serves to identify how and
when the tape was initially created by the init_iris_tape utility. This record contains
the tape_header_record structure, and is followed by an EOF and the product files, if any.
There are no special directory or inventory records on the tape.
After a tape has been started, the only additional writing that can be done is to append
more product file images to the end.
SamplesPerPixel 277 1
4.9 Constants
Extended Header (DB_XHDR) is included here though it is not generated by the DSP. In
general, types 0 ... 31 can be produced by the DSP.
RESTRICTED 97
IRIS Programming Guide M211318EN-H
...
98 RESTRICTED
Chapter 4 – Data Formats
...
RESTRICTED 99
IRIS Programming Guide M211318EN-H
100 RESTRICTED
Chapter 5 – Information Utilities
5. Information Utilities
5.1 Productx
The productx product examiner utility displays the information contained in a specified
product file.
For all product types, productx displays:
1. Product header, including information such as the site where the ingest data came
from, the date and time when the ingest data was gathered, and its size.
2. Product-specific meta-data from the header for many product types.
3. Data values from the file.
For Cartesian data files, this could be a large number of pixels. In this case it skips data
to present a summary display which fits on the terminal. If you want no skipping,
specify a very large terminal width, say 10000.
Parameter Description
Each product file has a unique name based on the site ID, date, and a randomized algorithm.
The first 3 letters of the file extension show the product type.
BAS BASE
BEA BEAM
CAP CAPPI
FCA FCAST
RESTRICTED 101
IRIS Programming Guide M211318EN-H
CAT CATCH
DWE DWELL
HMX HMAX
IMG IMAGE
LAY LAYER
MAX MAX
NDP NDOP
OTH OTHER
PPI PPI
RAW RAW
RN1 RAIN1
RNN RAINN
RHI RHI
RTI RTI
SHE SHEAR
SLI SLINE
STA STAT
TDW TDWR
THK THICK
TOP TOPS
TRA TRACK
TXT TEXT
USE USER
VAD VAD
VUS VUSER
VIL VIL
VVP VVP
WND WIND
WRN WARN
XSE XSECT
102 RESTRICTED
Chapter 5 – Information Utilities
RESTRICTED 103
IRIS Programming Guide M211318EN-H
719:255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
679:255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255
639:255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 255 255 255
599:255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
559:255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
519:255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
479:255 0 0 0 0 0 0 0 105 117 104 66 0 0 0 0 0 0
439:255 0 0 0 0 0 82 85 121 57 0 101 81 0 0 0 0 0
399:255 0 0 0 0 0 83 111 136 78 0 0 0 0 0 0 0 0
359:255 0 0 0 0 0 83 169 71 0 0 0 0 0 0 0 0 0
319:255 0 0 0 0 0 133 87 0 0 0 0 0 0 0 0 0 0
279:255 0 0 0 0 0 97 93 0 0 0 0 0 0 0 0 0 0
239:255 0 0 0 0 0 78 77 64 0 0 0 0 0 0 0 0 0
199:255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
159:255 255 0 0 0 0 0 0 0 0 0 255 0 0 0 0 0 255
119:255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 255
79: 255 255 255 255 0 0 0 0 0 0 0 0 255 0 0 255 255 255
39: 255 255 255 255 255 255 0 0 0 0 0 0 0 255 255 255 255 255
Status Example
A Status product shows the status of IRIS processes at a particular site.
$ productx HOT000602152122.STAZ0GN
------------- Product Summary for HOT000602152122.STAZ0GN -------------
Ingest site name : 'SIGMET, HOT', Version: 7.17
Ingest hardware name : 'SIGMET, HOT'
Product site name : 'SIGMET, HOT', Version: 7.17
File size: 2340 bytes (Disk space: 2340 bytes)
Product type is: Status
PCO name: SIGMET, HOT, TCO name: FAULT
PRF: 500Hz, Wavelength: 5.00cm, Nyquist: 6.25m/s(V), 6.25m/s(W)
Polarization: Horizontal, wind:???
Heights: Radar: 600m, Ground: 100m, Melting: ???m MSL
Size is: 0x0x0 pixels
Center Location: 42_33.0'N, 71_25.8'W, ref: 600 meters
Projection type is: Azimuthal Equidistant
Projection Reference Point: 42_33.0'N, 71_25.8'W
Radar position is: 0.0, 0.0 pixels
Scale is: 0.000 x 0.000 x 0.000 km/pixel
Product data type is Xhdr (0)
Maximum range: 0.0 km
Ingest time: 15:21:22 2 JUN 2000 UTC (0 minutes west) DST:0/1
Volume scan time: 15:21:22 2 JUN 2000 (LT: EDT 300 minutes)
Oldest Ing time: 15:21:22 2 JUN 2000
Product Gen time: 15:21:22 2 JUN 2000
Input count: 1
Product is not composited
Site style is: RADAR
104 RESTRICTED
Chapter 5 – Information Utilities
Active task: ’’
Active product: ’’
Antenna Position, azimuth: 20.00, elevation: –0.99
Bite fault summary shows 2
Low Airflow: OK
Interlock: OK
Waveguide: OK
Top message #9, Repeats: 1
Problem starting scan at EL=6 (AZ velocity out of range)
Process: IRIS_INGEST, Name: F:202 M:3
Time: 16:34:36 30 MAY 2000
Message list contains 0 messages:
RESTRICTED 105
IRIS Programming Guide M211318EN-H
filename is the name of an ingest header file stored in the directory /usr/iris_data/
ingest.
Ingest files are named with a timestamp for when the data were gathered. For example,
ingest data gathered at 10:17:30 on December 2, 1994 is stored in a file named
941202101730.
-inter Run in interactive mode. This is the old style, rays then prompts for
some of the options.
To make it easier to enter the names of the ingest files, change your default directory to the
ingest directory and get a listing of all the header files (with ls *.). Select the name of a file
with the mouse and paste it into the command line.
106 RESTRICTED
Chapter 5 – Information Utilities
RESTRICTED 107
IRIS Programming Guide M211318EN-H
108 RESTRICTED
Chapter 5 – Information Utilities
The extended header shows the antenna azimuth and elevation, the platform pitch, roll, and
heading, and the derivatives of these values in degrees/second:
Az: 350.95 El: 0.40 Pitch: -0.13 Roll: -1.10 Head: 346.79
Vel: 18.72 deg/s 0.04 0.70 359.82 359.82
The extended header information is recorded from a serial data stream transmitted from
RCP. Typically this is configured to transmit updates at a maximum speed of about 20 times
per second. Because rays can be recorded at up to 40 rays per second, and because of
pipeline delays in the serial data, the extended header azimuth can lag the actual azimuth by
up to several degrees. Normally, the platform motion period is slower.
Tr
Training angle, which is the pedestal relative azimuth of the pedestal.
El_or
Pedestal relative elevation angle.
Cor
Velocity correction (meters/second). Applied to velocity data to correct for platform
motion.
Age
Time in milliseconds since this update arrived from RCP.
Vel
Platform position and motion. Altitude is in meters, and motions are in meters/second.
More information
‣ extended_header_v1 Structure (page 27)
RESTRICTED 109
IRIS Programming Guide M211318EN-H
110 RESTRICTED
Appendix A – Radar Control Protocol
Angles
The latitude and longitude are transmitted as 21-bit binary angles. The following angles are
transmitted as 14-bit binary angles:
• azimuth and elevation
• train order
• pitch, roll, and heading
In the XMT01 format, the angular speed is a signed number in units of 0.55º/sec. In all other
formats, the angular rates are in signed 14-bit binary angles per second. The largest possible
value is 180º/sec (30 rpm) and the step is 0.022º/sec. All velocities are in signed cm/sec with
the altitude in signed meters. If some of the information is unavailable at the full resolution
of the data format, the low bits are filled with zeros.
The azimuth and the elevation angles are corrected angles relative to the north and are the
angles that the antenna is pointed relative to the deck of the platform. These calculations
are derivable from the other angles but are also reported to assist in the data analysis,
especially if one of the sensors or the stabilization fails.
The pitch is the angle between the fore-and-aft axis of the platform and the horizontal is
measured in the vertical plane. The pitch is positive when the bow is down and the roll is the
rotation angle about the fore-and-aft axis in its pitched position. The pitch is measured in
the plane perpendicular to the fore-and-aft axis, which is generally not the vertical plane,
and the roll is positive when the deck is down on the port side.
Note: The pitch can be directly measured by a level on the fore-and-aft axis but the roll
cannot be directly measured by a one-axis tilt meter.
The heading is referred to as the direction the platform is pointed but is not the same as
direction of motion. The platform could be pointed one way and drifting backwards.
The time stamp is a 14-bit counter incremented by the RCP once per millisecond. The RCP
must latch all the data for a packet at the same time. This counter allows the host computer
to accurately judge the time between samples without the serial line latencies and
fluctuations due to the time sharing operating system.
The position of the platform is reported by the latitude, the longitude, and the altitude. Since
the altitude may not be implemented for systems on ships, the setting is 0.
Char Function
RESTRICTED 111
IRIS Programming Guide M211318EN-H
Char Function
6 Status #1
D6 = Low air flow
D5 = Low Waveguide pressure
D4 = Servo power
D3 = Antenna Local mode
D2 = Interlock
D1 = Standby
D0 = Radiate On
7 Status #2
D6 = RCP02 is shutdown
D5 = LSB pulse width
D4 = T/R power On
D3 = T/R Local mode
D2 = Encoders calibrated
D1 = MSB pulse width
D0 = Magnetron current normal
Char Function
6 Control Word #1
D6 = MSB of Pulse Width
D5 = Leave Pulse width unchanged
D4 = Spare
D3 = Signal Generator On
D2 = Signal Generator CW
D1 = EL (1 = Scan, 0 = Position)
D0 = AZ (1 = Scan, 0 = Position)
112 RESTRICTED
Appendix A – Radar Control Protocol
Char Function
7 Control Word #2
D6 = Reset RCP02 on edge
D5 = Noise Source On
D4 = LSB of Pulse width
D3 = Radiate On complemented
D2 = Radiate On
D1 = Servo Power On
D0 = T/R Power On
Char Function
10 Status #1
D6 = Low air flow
D5 = Low Waveguide pressure
D4 = Servo Power
D3 = Antenna Local mode
D2 = Interlock Open
D1 = Standby
D0 = Radiate On
RESTRICTED 113
IRIS Programming Guide M211318EN-H
Char Function
11 Status #2
D6 = RCP02 is shutdown
D5 = LSB pulse width
D4 = T/R Power On
D3 = T/R Local mode
D2 = Azimuth encoder calibrated
D1 = MSB pulse width
D0 = Magnetron current normal
12 Status #3
D6 = IRIS Mode 2
D5 = IRIS Mode 1
D4 = IRIS Mode 0
D3 = Elevation encoder calibrated
D2 = Signal Generator fault
D1 = Signal Generator On
D0 = Signal Generator CW
Char Function
114 RESTRICTED
Appendix A – Radar Control Protocol
Char Function
6 Control Word #1
D6 = MSB of Pulse Width
D5 = Leave Pulse Width unchanged
D4 = Spare
D3 = Signal Generator On
D2 = Signal Generator CW
D1 = EL (1 = Scan 0 = Position)
D0 = AZ (1 = Scan 0 = Position)
If EL in position mode, maximum positive velocity is sent in the velocity field, if EL in scan
mode, maximum or minimum elevation position is sent in the position field. If AZ in position
mode, maximum positive velocity is sent in the velocity field, if AZ in scan mode, 0 is sent in
the position field.
7 Control Word #2
D6 = Reset RCP02 on rising edge
D5 = Noise Source On
D4 = LSB of Pulse width
D3 = Radiate On complemented
D2 = Radiate On
D1 = Servo Power On
D0 = T/R Power On
8 Control Word #3
D6 = IRIS Mode 2
D5 = IRIS Mode 1
D4 = IRIS Mode 0
D3 = Radar Workstation A okay
D2 = Radar Workstation B okay
D1 = Data Processor A okay
D0 = Data Processor B okay
Char Function
2 Identification byte
RESTRICTED 115
IRIS Programming Guide M211318EN-H
Char Function
27 Status #1
D6 = Low air flow
D5 = Low Waveguide pressure
D4 = Servo power
D3 = Antenna Local mode
D2 = Interlock open
D1 = Standby
D0 = Radiate ON
116 RESTRICTED
Appendix A – Radar Control Protocol
Char Function
28 Status #2
D6 = RCP02 is shutdown
D5 = LSB pulse width
D4 = T/R Power on
D3 = T/R Local mode
D2 = Azimuth encoder calibrated
D1 = MSB pulse width
D0 = Magnetron current normal
29 Status #3
D6 = Reserved
D5 = Reserved
D4 = Reserved
D3 = Elevation encoder calibrated
D2 = Signal Generator fault
D1 = Signal Generator On
D0 = Signal Generator CW
RESTRICTED 117
IRIS Programming Guide M211318EN-H
Char Function
16 Dual-System Status
D6 = RCP02 is configured as a Dual-System
D5 = Dual-System Mode MSB
D4 = Dual-System Mode LSB
D3 = This packet was sent from Unit "A"D2 = Information is known about the "Other" unit
D1 = Unit "A" is the preferred system
D0 = Unit "B" is disabled
Note: The 2-bit Dual-System Mode codes are:
• 00 : Unknown mode
• 01 : System "A"
• 10: System "B"
• 11 : Auto Switch
17 Dual-System Status
D6 = Unit "B" is okay
D5 = Unit "B" Activity Code MSB
D4 = Unit "B" Activity Code LSB
D3 = Unit "A" is disabled
D2 = Unit "A" is okay
D1 = Unit "A" Activity Code MSB
D0 = Unit "A" Activity Code LSB
Note: The 2-bit Dual-System Activity codes are:
• 00 : Inactive
• 01 : Warmup
• 10: Active Now
• 11 : Reserved
18 Dual-System Status
D6 = RCP02 is configured for voluntary flipping
D5 = Unit "B" is offering to give up control
D4 = Unit "A" is offering to give up control
D3 = Unit "B" would be used if it were available
D2 = Unit "A" would be used if it were available
20 Spare
21 Spare
22 Spare
118 RESTRICTED
Appendix A – Radar Control Protocol
Char Function
23 Spare
Char Function
14 Control Word #4
D6 = Dual-System: Mode MSB
D5 = Dual-System: Mode LSB
D4 = Dual-System: Offer to relinquish control
D3 = Dual-System: Unit would be used if available
D2 = SpareD1 = Spare
D0 = Spare
Note: The 2-bit Dual-System Mode codes are:
• 00 : No mode
• 01 : System "A"
• 10: System "B"
• 11 : Auto Switch
15 D0:
2 = Requested Polarization XMT control
0=Horizontal
1=Vertical
2=Alternating
3=Simultaneous
7=Unchanged
16 Spare
17 Spare
Char Function
4 Month
5 Day
6 Hour
RESTRICTED 119
IRIS Programming Guide M211318EN-H
Char Function
7 Minute
8 Second
9 1/100 of Second
10 Status
Char Function
3 Status byte #1
4 Status byte #2
Char Function
120 RESTRICTED
Appendix A – Radar Control Protocol
Char Function
3 Control/Status Bits 6 5 4 3 2 1 0
4 Control/Status Bits 13 12 11 10 9 8 7
5 Control/Status Bits 20 19 18 17 16 15 14
6 Control/Status Bits 27 26 25 24 23 22 21
7 Control/Status Bits 34 33 32 31 30 29 28
8 Control/Status Bits 41 40 39 38 37 36 35
9 Control/Status Bits 48 47 46 45 44 43 42
10 Control/Status Bits 55 54 53 52 51 50 49
11 Control/Status Bits 62 61 60 59 58 57 56
12 Control/Status Bit 63
Q-BITE Status
The Q-BITE (quantitative byte) status packets consists of 3 ... 128 bytes.
The first 2 and last bytes are for identification.
The middle bytes must have the MSB set to 0 and can contain an arbitrary value in the lower
7 bits. Typically this is used to report back voltage/power levels. Do not send this report by
the BITE every time the status changes. Send this report in response to the Q-bite
interrogate command. IRIS sends the interrogate command every 60 seconds.
The Q-BITE data stream consists of a series of integer values. Each value is packed into a
series of 7-bit characters, using 1 ... 5 depending on the desired resolution. The low bits come
first, and IRIS supports up to 32 bits per value. IRIS can be configured to display any such
values with appropriate units and scaling.
RESTRICTED 121
IRIS Programming Guide M211318EN-H
Char Function
3 Status byte #1
4 Status byte #2
Char Function
Char Function
122 RESTRICTED
Appendix A – Radar Control Protocol
The RCP should respond to an Interrogate packet by sending the current version of the
specified BITE status packet. The RCP should respond to a Sample Data packet by sending
requests out the remote device to get information, then responding to the host computer
with the new BITE status packet when the information arrives. The RCP should responds to
the Reset packet by sending a reset command to the remote device.
Char Function
Chat Mode
These packets are sent in both directions to convey serial TTY communication. Up to 6 7-bit
characters can be sent in each packet with two characters of overhead for SYNC and END.
This allows up to 75% of the available serial bandwidth to be used for chatting. If a chat
mode packet contains fewer than 6 characters, then a NULL (0 byte) is inserted after the last
packet.
Char Function
RESTRICTED 123
IRIS Programming Guide M211318EN-H
Here, hexadecimal notation is denoted with the -h suffix. For example, 12h means 12 base
16, or 18 base 10. Also for this discussion, all line and pixel numbers are origin 1. The upper
left pixel is line 1, pixel 1.
124 RESTRICTED
Appendix B – Link Transmission Formats
F8h — End-of-Image
This indicates that an image has been completely sent. Any future transmissions relate to
another image. After an F8h command and before an FFh command, only FBh, FAh
commands are processed. All other commands are ignored.
Here, hexadecimal notation is denoted with the -h suffix. For example, 12h means 12 base
16, or 18 base 10. Also for this discussion, all line and pixel numbers are origin 1. The upper
left pixel is line 1, pixel 1.
RESTRICTED 125
IRIS Programming Guide M211318EN-H
The data section consists of a series of line number codes, each followed by compressed
data. Data for a line ends when the next line number code is encountered. All unfilled pixels
are assumed to be of the value 1. If a line is repeated in the data stream, any new data
overwrites old data. If a line number code is never transmitted, the line is assumed to be
filled with ones.
The only use of a 0 byte is to immediately proceed on the following commands. This make it
easy to sync with the data stream.
00h 01h — Picture type follows in the next byte
1 All PPIs
126 RESTRICTED
Appendix C – UF Format
Appendix C. UF Format
C.1 UF Format Overview
UF (Universal Format) is a radar data format originally proposed and documented in Report
on a Meeting to Establish a Common Doppler Radar Data Exchange Format, page 1401 of the
November 1980 Bulletin of the American Meteorological Society.
<uf_mandatory_header2> 45 Words
<uf_optional_header> 0 or 12 Words
<uf_data_header2> 3 + 2N Words
<uf_field_header2> #1 19 or 21 or 25 Words
<uf_field_header2> #2 19 or 21 or 25 Words
RESTRICTED 127
IRIS Programming Guide M211318EN-H
...
20 int16_t Polarization:
1:horz
2:vert
3:circular
4:elliptical
128 RESTRICTED
Appendix C – UF Format
30 int16_t Scale
32 char[2] EditCode
38 12 <uf_fsi2>
If velocity data:
2 int16_t <spare>
If DM data:
If other data:
nothing
0 char[2] Text UF
RESTRICTED 129
IRIS Programming Guide M211318EN-H
52 int16_t Month
54 int16_t Day
56 int16_t Hour
58 int16_t Minute
60 int16_t Second
0:Cal
1:PPI
2:Coplane
3:RHI
130 RESTRICTED
Appendix C – UF Format
4:Vertical
5:Target
6:Manual
7:Idle
76 int16_t Month
78 int16_t Day
0 char[8] sProjectName[8]
8 int16_t iBaselineAzimuth
10 int16_t iBaselineelevation
14 int16_t iVolumeScanMinute
18 char[8] sFieldTapeName[8]
24 int16_t iFlag
RESTRICTED 131
IRIS Programming Guide M211318EN-H
Dependency Description
Number of bins per radial The total number of bins, combined for all moments, is approximately 1400
per radial.
There is an overhead of about 100 bytes per ray.
Scan rate of the antenna Each bin requires one byte of data. A scan rate of 5 RPM (30 radials per
second), requires about 1500 * 30 = 45000 bytes per second.
Real time display bandwidth must be added to any other IRIS and other
bandwidth being occupied on your network.
The real time display data stream can be configured to transmit using up to 6 different
formats, IP addresses, and ports. See the Setup utility documentation in IRIS and RDA
Utilities Guide.
Normally, gateways such as multi-homed hosts, bridges and routers do NOT pass IRIS real
time display data. This is because such devices are built to filter broadcast data. This keeps
the real time display data on a single network. However, it is usually possible to configure
such devices to pass broadcast data that occurs on a specific port (like the real time display
port).
132 RESTRICTED
Appendix D – RTD Format
To receive real time display data, the receive process needs to issue a socket and a bind
system call. Following this, the receiver can read messages from the socket as they are
transmitted.
D.2 Rtd_nids3_xmt
This format is designed to support a legacy data format used by Radtec.
All packets are the same format, with minimal header information.
Data can be either 8-bit or 4-bit format.
The config file rtd_nids3_xmt.conf controls some details.
D.3 Rtd_v1_xmt
Three messages are transmitted as part of the real time display data stream. The messages
are distinguished by the first 2 bytes (SHORT) in the message summarized in the list table
(see sig_rtdisp.h):
• RTRAY_TYPE_HEADER
• RTRAY_TYPE_RAY
• RTRAY_TYPE_RAY
The message RTRAY_TYPE_HEADER consists of the 2-byte ID followed by a struct
rtd_v1_vol_header. This message is sent either at the beginning of a new elevation
sweep, or periodically if a new sweep has not started recently.
The message RTRAY_TYPE_RAY begins with the 2-byte ID. What follows depends on the
type of data being transmitted by the real time display sender. This is chosen in the sender's
setup utility and can consist of 1, 2, or 3 data types being Z, V, or W. The volume header
indicates which data types are currently transmitted and in which order the data types are
presented.
For example, if only Z and V are transmitted, the RTRAY_TYPE_RAY message consists of its
2-byte message ID, followed by a struct rtd_v1_ray_header, followed by the data
elements for Z, followed by the V elements. The Z and V elements are presented as one byte
per range bin.
For example, if the volume header indicates that 200 bins of each type are transmitted, then
the Z elements (and the V elements) are each 200 bytes long, with each byte representing 1
range bin. The spacing between the range bins is also defined by the volume header.
For information on element scaling, see Data Types (page 69).
D.4 Rtd_v2_xmt
This format is designed to support the full number of range bins, almost the full number of
data types, and both 8-bit and 16-bit data formats. As a result each radial must be split into
potentially many individual 1500 byte UDP packets.
RESTRICTED 133
IRIS Programming Guide M211318EN-H
The volume header rtd_v2_vol_header is sent periodically. Every 25 rays, or when there
is a change. Otherwise the rtd_v2_ray_header is sent followed by data.
134 RESTRICTED
Appendix E – Supported IRIS Input Pipes
Source code is provided for most input pipes to allow users to modify them for format
changes or to create pipes for new input data.
For information on each pipe, see the corresponding configuration file.
KnmiHDF5ToIris Pathnames
RESTRICTED 135
IRIS Programming Guide M211318EN-H
136 RESTRICTED
Appendix F – Supplied IRIS Output Pipes
RESTRICTED 137
Warranty
For standard warranty terms and conditions, see www.vaisala.com/warranty.
Please observe that any such warranty may not be valid in case of damage due to normal wear and tear,
exceptional operating conditions, negligent handling or installation, or unauthorized modifications. Please
see the applicable supply contract or Conditions of Sale for details of the warranty for each product.
Technical support
Contact Vaisala technical support at [email protected]. Provide at least the following
supporting information as applicable:
• Product name, model, and serial number
• Software/Firmware version
• Name and location of the installation site
• Name and contact information of a technical person who can provide further
information on the problem
For more information, see www.vaisala.com/support.
Recycling
Recycle all applicable material.
Follow the statutory regulations for disposing of the product and packaging.
RESTRICTED 139
www.vaisala.com