<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.lrose.net/index.php?action=history&amp;feed=atom&amp;title=HawkEye_parameter_file</id>
	<title>HawkEye parameter file - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.lrose.net/index.php?action=history&amp;feed=atom&amp;title=HawkEye_parameter_file"/>
	<link rel="alternate" type="text/html" href="http://wiki.lrose.net/index.php?title=HawkEye_parameter_file&amp;action=history"/>
	<updated>2026-04-30T07:16:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>http://wiki.lrose.net/index.php?title=HawkEye_parameter_file&amp;diff=72&amp;oldid=prev</id>
		<title>Tingyucha: /* HawkEye Parameter Descriptions */</title>
		<link rel="alternate" type="text/html" href="http://wiki.lrose.net/index.php?title=HawkEye_parameter_file&amp;diff=72&amp;oldid=prev"/>
		<updated>2019-07-16T21:13:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;HawkEye Parameter Descriptions&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:13, 16 July 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= HawkEye Parameter Descriptions =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= HawkEye Parameter Descriptions =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;blockquote&amp;gt;&lt;/del&gt;HawkEye is the engineering display for the HAWK moments data.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;HawkEye is the engineering display for the HAWK moments data.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a C++ application using the QT GUI toolkit.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a C++ application using the QT GUI toolkit.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/blockquote&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= DEBUGGING AND PROCESS CONTROL =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= DEBUGGING AND PROCESS CONTROL =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tingyucha</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.lrose.net/index.php?title=HawkEye_parameter_file&amp;diff=71&amp;oldid=prev</id>
		<title>Tingyucha: Created page with &quot;= HawkEye Parameter Descriptions = &lt;blockquote&gt;HawkEye is the engineering display for the HAWK moments data.  This is a C++ application using the QT GUI toolkit. &lt;/blockquote&gt;...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.lrose.net/index.php?title=HawkEye_parameter_file&amp;diff=71&amp;oldid=prev"/>
		<updated>2019-07-16T21:13:18Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= HawkEye Parameter Descriptions = &amp;lt;blockquote&amp;gt;HawkEye is the engineering display for the HAWK moments data.  This is a C++ application using the QT GUI toolkit. &amp;lt;/blockquote&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= HawkEye Parameter Descriptions =&lt;br /&gt;
&amp;lt;blockquote&amp;gt;HawkEye is the engineering display for the HAWK moments data.&lt;br /&gt;
&lt;br /&gt;
This is a C++ application using the QT GUI toolkit.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
= DEBUGGING AND PROCESS CONTROL =&lt;br /&gt;
&lt;br /&gt;
== debug ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Debug option.&lt;br /&gt;
&lt;br /&gt;
If set, debug messages will be printed appropriately.&lt;br /&gt;
&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* DEBUG_OFF&lt;br /&gt;
* DEBUG_NORM&lt;br /&gt;
* DEBUG_VERBOSE&lt;br /&gt;
* DEBUG_EXTRA&lt;br /&gt;
&lt;br /&gt;
'''debug = DEBUG_OFF;'''&lt;br /&gt;
&lt;br /&gt;
== check_ray_alloc ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Print out checks on ray memory allocation.&lt;br /&gt;
&lt;br /&gt;
; If TRUE, the app will keep track of the number of rays allocated and&lt;br /&gt;
: freed, and print out that information every 100 rays.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''check_ray_alloc = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== register_with_procmap ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to register this process with the process mapper (procmap).&lt;br /&gt;
&lt;br /&gt;
; If TRUE, every minute this process will register a heartbeat with&lt;br /&gt;
: procmap. If the process hangs, it will be restared by the auto_restarter.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''register_with_procmap = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== instance ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Process instance.&lt;br /&gt;
&lt;br /&gt;
Used for registration with procmap.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''instance = &amp;amp;quot;test&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
= REALTIME DATA INPUT =&lt;br /&gt;
&lt;br /&gt;
== input_mode ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Method for reading the input data.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;IWRF_FMQ_INPUT: read IWRF moments from an FMQ. IWRF_TCP_INPUT: read an IWRF moments stream from a TCP socket. SIMULATED_INPUT: internally-generated test pattern data. DSR_FMQ_INPUT: deprecated.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* IWRF_FMQ_INPUT&lt;br /&gt;
* IWRF_TCP_INPUT&lt;br /&gt;
* SIMULATED_INPUT&lt;br /&gt;
* DSR_FMQ_INPUT&lt;br /&gt;
&lt;br /&gt;
'''input_mode = IWRF_FMQ_INPUT;'''&lt;br /&gt;
&lt;br /&gt;
== input_fmq_url ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;; DSR_FMQ_INPUT or IWRF_FMQ_INPUT mode: input URL for moments data from&lt;br /&gt;
: an FMQ.&lt;br /&gt;
; Full url is of the form fmqp:://hostname:port:path. Path does not in&lt;br /&gt;
: lude the file extension.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''input_fmq_url = &amp;amp;quot;/tmp/fmq/test&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== seek_to_start_of_fmq ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to seek to the start of the input FMQ.&lt;br /&gt;
&lt;br /&gt;
; If TRUE, the program will seek to the start of the fmq and read the&lt;br /&gt;
: entire contents at startup. If FALSE, it will read only new data as it arrives.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''seek_to_start_of_fmq = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== input_tcp_host ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;IWRF_TCP_INPUT: name of host running IWRF moments server.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''input_tcp_host = &amp;amp;quot;localhost&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== input_tcp_port ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;IWRF_TCP_INPUT: port for IWRF moments server.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''input_tcp_port = 11000;'''&lt;br /&gt;
&lt;br /&gt;
== beam_queue_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Size of the internal queue used to store beams.&lt;br /&gt;
&lt;br /&gt;
; The reader runs in a separate thread, and stored the beams in a&lt;br /&gt;
: queue. The main thread then grabs the available beams from the queue as they become available.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''beam_queue_size = 400;'''&lt;br /&gt;
&lt;br /&gt;
= ARCHIVE MODE =&lt;br /&gt;
&lt;br /&gt;
== begin_in_archive_mode ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to begin in archive mode.&lt;br /&gt;
&lt;br /&gt;
; If TRUE, the app will start up and read data from the&lt;br /&gt;
: archive_data_url, at the specified start time. If the start time is not set, the start time will be set to NOW.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''begin_in_archive_mode = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== archive_start_time ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Start time for archive mode.&lt;br /&gt;
&lt;br /&gt;
In archive mode, data retrieval starts at this time.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''archive_start_time = &amp;amp;quot;1970 01 01 00 00 00&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== archive_time_span_secs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Time span in ARCHIVE mode (secs).&lt;br /&gt;
&lt;br /&gt;
Archive end time = archive_start_time + archive_time_span.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''archive_time_span_secs = 3600;'''&lt;br /&gt;
&lt;br /&gt;
== archive_data_url ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;URL for archive data files.&lt;br /&gt;
&lt;br /&gt;
This should point to a CfRadial moments data set.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''archive_data_url = &amp;amp;quot;/data/cfradial/kddc&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
= STATUS TO BE SHOWN IN GUI =&lt;br /&gt;
&lt;br /&gt;
== show_status_in_gui ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Indicate which status items to show in GUI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;These items are shown in the left panel in the GUI. Setting an item&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;to false will hide it in the GUI.&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Type: struct&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;typedef struct {&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;boolean azimuth; boolean elevation; boolean fixed_angle; boolean volume_number; boolean sweep_number; boolean n_samples; boolean n_gates; boolean gate_length; boolean pulse_width; boolean prf_mode; boolean prf; boolean nyquist; boolean max_range; boolean unambiguous_range; boolean measured_power_h; boolean measured_power_v; boolean scan_name; boolean scan_mode; boolean polarization_mode; boolean latitude; boolean longitude; boolean altitude; boolean altitude_rate; boolean sun_elevation; boolean sun_azimuth; boolean speed; boolean heading; boolean track;&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;}&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''show_status_in_gui = {'''&lt;br /&gt;
&lt;br /&gt;
'''azimuth = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''elevation = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''fixed_angle = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''volume_number = FALSE,'''&lt;br /&gt;
&lt;br /&gt;
'''sweep_number = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''n_samples = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''n_gates = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''gate_length = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''pulse_width = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''prf_mode = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''prf = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''nyquist = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''max_range = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''unambiguous_range = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''measured_power_h = FALSE,'''&lt;br /&gt;
&lt;br /&gt;
'''measured_power_v = FALSE,'''&lt;br /&gt;
&lt;br /&gt;
'''scan_name = FALSE,'''&lt;br /&gt;
&lt;br /&gt;
'''scan_mode = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''polarization_mode = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''latitude = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''longitude = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''altitude = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''altitude_rate = FALSE,'''&lt;br /&gt;
&lt;br /&gt;
'''sun_elevation = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''sun_azimuth = TRUE,'''&lt;br /&gt;
&lt;br /&gt;
'''speed = FALSE,'''&lt;br /&gt;
&lt;br /&gt;
'''heading = FALSE,'''&lt;br /&gt;
&lt;br /&gt;
'''track = FALSE'''&lt;br /&gt;
&lt;br /&gt;
'''};'''&lt;br /&gt;
&lt;br /&gt;
= FIELDS TO BE DISPLAYED =&lt;br /&gt;
&lt;br /&gt;
== color_scale_dir ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Directory for color scales.&lt;br /&gt;
&lt;br /&gt;
You can set this in 2 ways:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set to the absolute path&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; (b)Set as a path relative to the location of the application binary&lt;br /&gt;
: executable.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''color_scale_dir = &amp;amp;quot;../share/color_scales&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== fields ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Fields to be displayed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;label: appears on the GUI. raw_name: unfiltered field name.&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;filtered_name: field with clutter filter applied. units: units string for color scale. color_map: name of color map in color_scale_dir. shortcut: keyboard character for shortcut. Specified key will select raw field. Use ALT-key to get filtered field. .&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Type: struct&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;typedef struct {&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;string label; string raw_name; string filtered_name; string units; string color_map; string shortcut;&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;}&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1D array - variable length.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''fields = {'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;DBZ&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;DBZ&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;dBZ&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;dbz.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;1&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;REF&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;REF&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;dBZ&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;dbz.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;2&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;VEL&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;VEL&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;m/s&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;vel.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;3&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;WIDTH&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;WIDTH&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;m/s&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;width.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;4&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;SW&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;SW&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;m/s&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;width.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;5&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;ZDR&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;ZDR&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;dB&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;zdr.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;6&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;PHIDP&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;PHIDP&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;deg&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;phidp.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;7&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''label = &amp;amp;quot;RHOHV&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''raw_name = &amp;amp;quot;RHOHV&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''filtered_name = &amp;amp;quot;&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''units = &amp;amp;quot;unitless&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''color_map = &amp;amp;quot;rhohv.colors&amp;amp;quot;,'''&lt;br /&gt;
&lt;br /&gt;
'''shortcut = &amp;amp;quot;8&amp;amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
'''};'''&lt;br /&gt;
&lt;br /&gt;
== background_render_mins ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Background rendering time period in minutes.&lt;br /&gt;
&lt;br /&gt;
; Any field which is viewed will continue to be rendered in the&lt;br /&gt;
: background for this number of minutes.&lt;br /&gt;
&lt;br /&gt;
Minimum val: 0&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''background_render_mins = 2;'''&lt;br /&gt;
&lt;br /&gt;
== use_field_label_in_title ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to use field label in the display title.&lt;br /&gt;
&lt;br /&gt;
; If TRUE, the label will be used in the title. If FALSE, the raw_name&lt;br /&gt;
: or filtered name will be used.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''use_field_label_in_title = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
= INITIAL MAX RANGE =&lt;br /&gt;
&lt;br /&gt;
== max_range_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Max range for the display (km).&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''max_range_km = 225;'''&lt;br /&gt;
&lt;br /&gt;
= DISPLAY TYPE =&lt;br /&gt;
&lt;br /&gt;
== display_mode ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Main display mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;POLAR_DISPLAY - normal PPI and RHI display. BSCAN_DISPLAY - BSCAN&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;mode.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* POLAR_DISPLAY&lt;br /&gt;
* BSCAN_DISPLAY&lt;br /&gt;
&lt;br /&gt;
'''display_mode = POLAR_DISPLAY;'''&lt;br /&gt;
&lt;br /&gt;
= NAMES AND LABELS =&lt;br /&gt;
&lt;br /&gt;
== override_radar_name ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to override radar name in the data.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''override_radar_name = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== radar_name ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Radar name if overridden.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''radar_name = &amp;amp;quot;SPOL&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== display_site_name ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to display the site name in the left panel.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''display_site_name = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== override_site_name ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to override site name in the data.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''override_site_name = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== site_name ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Site name if overridden.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''site_name = &amp;amp;quot;MARSHALL&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
= WINDOW DIMENSIONS AND PLOTTING DETAILS =&lt;br /&gt;
&lt;br /&gt;
== main_window_width ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup width of main window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''main_window_width = 1050;'''&lt;br /&gt;
&lt;br /&gt;
== main_window_height ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup height of main window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''main_window_height = 635;'''&lt;br /&gt;
&lt;br /&gt;
== main_window_start_x ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup X for main window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''main_window_start_x = 0;'''&lt;br /&gt;
&lt;br /&gt;
== main_window_start_y ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup Y for main window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''main_window_start_y = 0;'''&lt;br /&gt;
&lt;br /&gt;
== color_scale_width ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Width of color scale (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''color_scale_width = 40;'''&lt;br /&gt;
&lt;br /&gt;
== label_font_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Basic font size for labels (pixels).&lt;br /&gt;
&lt;br /&gt;
Some of the labels are scaled relative to this size.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''label_font_size = 12;'''&lt;br /&gt;
&lt;br /&gt;
== background_color ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Color of main display background.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''background_color = &amp;amp;quot;black&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== grid_and_range_ring_color ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Color of grids and range rings.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''grid_and_range_ring_color = &amp;amp;quot;white&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== range_ring_label_font_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Font size for labels on range rings (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''range_ring_label_font_size = 8;'''&lt;br /&gt;
&lt;br /&gt;
== click_cross_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Size of cross at click point (pixels).&lt;br /&gt;
&lt;br /&gt;
Size of cross drawn at click point, to select data.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''click_cross_size = 11;'''&lt;br /&gt;
&lt;br /&gt;
= PPI MODE DISPLAY =&lt;br /&gt;
&lt;br /&gt;
== ppi_display_type ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Type of display to use for the PPI window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;PPI_FULL - Display the full 360 degrees of the PPI. This is the&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;; default.&lt;br /&gt;
: PPI_AIRBORN - Use the airborn radar PPI display. This display shows&lt;br /&gt;
&lt;br /&gt;
just the 180 degrees of radar pointing forward from the nose of the plane.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* PPI_FULL&lt;br /&gt;
* PPI_AIRBORNE&lt;br /&gt;
&lt;br /&gt;
'''ppi_display_type = PPI_FULL;'''&lt;br /&gt;
&lt;br /&gt;
== ppi_aspect_ratio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Aspect ratio (width/height) of PPI window.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''ppi_aspect_ratio = 1;'''&lt;br /&gt;
&lt;br /&gt;
== ppi_grids_on_at_startup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set PPI grids overlay on at startup.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''ppi_grids_on_at_startup = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== ppi_range_rings_on_at_startup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set PPI range rings overlay on at startup.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''ppi_range_rings_on_at_startup = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== ppi_azimuth_lines_on_at_startup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set PPI azimuth lines overlay on at startup.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''ppi_azimuth_lines_on_at_startup = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== ppi_main_legend_pos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Position of main legend in the PPI plot window.&lt;br /&gt;
&lt;br /&gt;
This include time, field name and elevation angle.&lt;br /&gt;
&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* LEGEND_TOP_LEFT&lt;br /&gt;
* LEGEND_TOP_RIGHT&lt;br /&gt;
* LEGEND_BOTTOM_LEFT&lt;br /&gt;
* LEGEND_BOTTOM_RIGHT&lt;br /&gt;
&lt;br /&gt;
'''ppi_main_legend_pos = LEGEND_TOP_LEFT;'''&lt;br /&gt;
&lt;br /&gt;
= RHI MODE DISPLAY =&lt;br /&gt;
&lt;br /&gt;
== rhi_window_width ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup width of RHI window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_window_width = 500;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_window_height ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup height of RHI window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_window_height = 500;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_window_start_x ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup X for RHI window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_window_start_x = 1100;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_window_start_y ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Startup Y for RHI window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_window_start_y = 0;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_top_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Height of top margin in RHI mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Titles go in the top margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_top_margin = 20;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_bottom_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Height of bottom margin in RHI mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Time scale goes in the bottom margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_bottom_margin = 20;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_left_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Width of left margin in RHI mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Height scale goes in the left margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_left_margin = 20;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_right_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Width of right margin in RHI mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Height scale goes in the right margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_right_margin = 20;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_label_font_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Font size for labels on range rings (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_label_font_size = 8;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_axis_tick_len ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Length of ticks on axes (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_axis_tick_len = 7;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_n_ticks_ideal ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Ideal number of ticks on axes.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_n_ticks_ideal = 7;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_text_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Margin around some text (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_text_margin = 5;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_display_180_degrees ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;; Flag indicating to display full 180 degrees in RHI window. If set to&lt;br /&gt;
: false, the RHI window will just display 90 degrees of the RHI.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_display_180_degrees = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_aspect_ratio ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Aspect ratio (width/height) of RHI window.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_aspect_ratio = 1;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_max_height_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Max height of data in RHI window (km).&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_max_height_km = 25;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_color_scale_width ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Width of color scale for RHI window (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_color_scale_width = 40;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_grids_on_at_startup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set RHI grids overlay on at startup.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_grids_on_at_startup = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_range_rings_on_at_startup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set RHI range rings overlay on at startup.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_range_rings_on_at_startup = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_elevation_lines_on_at_startup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set RHI elevation lines overlay on at startup.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_elevation_lines_on_at_startup = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_main_legend_pos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Position of main legend in the RHI plot window.&lt;br /&gt;
&lt;br /&gt;
This include time, field name and elevation angle.&lt;br /&gt;
&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* LEGEND_TOP_LEFT&lt;br /&gt;
* LEGEND_TOP_RIGHT&lt;br /&gt;
* LEGEND_BOTTOM_LEFT&lt;br /&gt;
* LEGEND_BOTTOM_RIGHT&lt;br /&gt;
&lt;br /&gt;
'''rhi_main_legend_pos = LEGEND_TOP_LEFT;'''&lt;br /&gt;
&lt;br /&gt;
== rhi_beam_queue_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Size of the queue for RHI beams.&lt;br /&gt;
&lt;br /&gt;
After the queue reaches this size, older beams are discarded.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''rhi_beam_queue_size = 360;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN TIME LIMITS =&lt;br /&gt;
&lt;br /&gt;
== bscan_time_span_secs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Number of seconds in BSCAN display.&lt;br /&gt;
&lt;br /&gt;
; In REALTIME mode, when we reach the right-hand side of the display,&lt;br /&gt;
: the existing plot will be moved left to make room for more data.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_time_span_secs = 60;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_truncate_start_time ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to truncate the plot start time to even seconds.&lt;br /&gt;
&lt;br /&gt;
If true, we truncate the start time to the previous second.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_truncate_start_time = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_subsec_precision ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Precision of subseconds in time labels.&lt;br /&gt;
&lt;br /&gt;
; Number of decimals of precision in time labels. Set to 0 for times in&lt;br /&gt;
: integer seconds.&lt;br /&gt;
&lt;br /&gt;
Minimum val: 0 Maximum val: 9&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_subsec_precision = 3;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN REALTIME CONTROLS =&lt;br /&gt;
&lt;br /&gt;
== bscan_realtime_fraction_saved ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;; What fraction of the existing data to save when moving the plot to&lt;br /&gt;
: the left.&lt;br /&gt;
; When we reach the right-hand side of the display, we need to move the&lt;br /&gt;
: plot to the left. This is the fraction of the plot that is saved after the move has taken place.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_realtime_fraction_saved = 0.5;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_min_secs_between_reading_beams ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Min time between incoming beams (secs).&lt;br /&gt;
&lt;br /&gt;
; If beams arrive too fast, we discard some so that the time between&lt;br /&gt;
: the beams is at least this long.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_min_secs_between_reading_beams = 0.01;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_min_secs_between_rendering_beams ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Min time between rendering (secs).&lt;br /&gt;
&lt;br /&gt;
; Setting this higher makes the display less smooth, but prevents the&lt;br /&gt;
: display from taking up too much CPU and/or GPU.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_min_secs_between_rendering_beams = 0;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN RANGE AND ALTITUDE LIMITS =&lt;br /&gt;
&lt;br /&gt;
== bscan_specify_range_limits ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Specify the min and max range when in range mode.&lt;br /&gt;
&lt;br /&gt;
If false, we will use the start range and max range in the data.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_specify_range_limits = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_min_range_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Min range to be plotted (km).&lt;br /&gt;
&lt;br /&gt;
Used if 'bscan_specify_range_limits' is true.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_min_range_km = 0;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_max_range_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Max range to be plotted (km).&lt;br /&gt;
&lt;br /&gt;
Used if 'bscan_specify_range_limits' is true.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_max_range_km = 25;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_min_altitude_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Min altitude plotted (km).&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_min_altitude_km = -0.5;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_max_altitude_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Max altitude plotted (km).&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_max_altitude_km = 25;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_altitude_in_feet ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Use feet for altitude units?.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_altitude_in_feet = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_range_in_feet ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Use feet for range units?.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_range_in_feet = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_range_axis_mode ==&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* RANGE_AXIS_UP - instrument is at the bottom, range plotted positively&lt;br /&gt;
* upwards. RANGE_AXIS_DOWN: instrument is at the top, range plotted&lt;br /&gt;
* downwards. RANGE_AXIS_ALTITUDE: vertical scale represents the&lt;br /&gt;
* Type: enum&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* RANGE_AXIS_UP&lt;br /&gt;
* RANGE_AXIS_DOWN&lt;br /&gt;
* RANGE_AXIS_ALTITUDE&lt;br /&gt;
&lt;br /&gt;
'''bscan_range_axis_mode = RANGE_AXIS_ALTITUDE;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN CENSOR DATA BELOW SURFACE =&lt;br /&gt;
&lt;br /&gt;
== bscan_censor_data_below_surface ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to censor data below the measured surface.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_censor_data_below_surface = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_surface_field ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Name of field used to identify the surface from the data.&lt;br /&gt;
&lt;br /&gt;
; The surface will be identified at the gate with the maximum value in&lt;br /&gt;
: this field.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_surface_field = &amp;amp;quot;DBZ&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_min_range_to_surface_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Minumum range to the surface (km).&lt;br /&gt;
&lt;br /&gt;
We will search for the surface echo in the gates beyound this range.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_min_range_to_surface_km = 0.5;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_surface_range_margin_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Margin of data plotted beyond the surface (km).&lt;br /&gt;
&lt;br /&gt;
; We will censor the data beyond the surface gate, plus this range&lt;br /&gt;
: margin.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_surface_range_margin_km = 0.2;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_max_field_val_below_surface ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Maximum value of the surface field, below the measured surface.&lt;br /&gt;
&lt;br /&gt;
; After finding the range to the surface, we inspect the surface_field&lt;br /&gt;
: values below the surface. If we find values that exceed this parameter, we conclude that the surface cannot be reliably found.&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_max_field_val_below_surface = 5;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN MARGINS =&lt;br /&gt;
&lt;br /&gt;
== bscan_top_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Height of top margin in BSCAN mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Titles go in the top margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_top_margin = 40;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_bottom_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Height of bottom margin in BSCAN mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Time scale goes in the bottom margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_bottom_margin = 45;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_left_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Width of left margin in BSCAN mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Height scale goes in the left margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_left_margin = 50;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_right_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Width of right margin in BSCAN mode (pixels).&lt;br /&gt;
&lt;br /&gt;
Height scale goes in the right margin.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_right_margin = 40;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_axis_tick_len ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Length of ticks on axes (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_axis_tick_len = 6;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_n_ticks_ideal ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Ideal number of ticks on axes.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_n_ticks_ideal = 10;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_text_margin ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Margin around some text (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_text_margin = 5;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN TITLES, LABELS AND AXES =&lt;br /&gt;
&lt;br /&gt;
== bscan_title_font_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Font size of center title (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_title_font_size = 12;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_axis_label_font_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Font size of axis labels in bscan (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_axis_label_font_size = 10;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_axis_values_font_size ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Font size of axis values (pixels).&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_axis_values_font_size = 8;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_axes_color ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Color of axes in bscan.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_axes_color = &amp;amp;quot;white&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_grid_color ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Color of grid lines on bscan.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_grid_color = &amp;amp;quot;gray&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_labels_color ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Color of labels in bscan.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_labels_color = &amp;amp;quot;white&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_draw_time_grid_lines ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to draw grid lines across plot at regular time intervals.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_draw_time_grid_lines = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_draw_range_grid_lines ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to draw grid lines across plot at regular range intervals.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_draw_range_grid_lines = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_draw_instrument_height_line ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to draw a line for the instrument location.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_draw_instrument_height_line = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_instrument_height_color ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Color of instrument height line in ALTITUDE plot.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_instrument_height_color = &amp;amp;quot;white&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
= DISTANCE SCALE =&lt;br /&gt;
&lt;br /&gt;
== bscan_add_distance_to_time_axis ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to plot distance as well as time on the time axis.&lt;br /&gt;
&lt;br /&gt;
; If true, extra tick marks will show the distance in km along the time&lt;br /&gt;
: axis, in addition to the time.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_add_distance_to_time_axis = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_n_segments_for_computing_distance ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Number of segments to be used for computing distance.&lt;br /&gt;
&lt;br /&gt;
; We divide the rays into this number of segments and then compute the&lt;br /&gt;
: distance travelled during each segment using the change in lat/lon position. We keep the number of segments reasonably small to avoid unnecessary CPU usage.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_n_segments_for_computing_distance = 50;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN LEGENDS =&lt;br /&gt;
&lt;br /&gt;
== bscan_plot_starting_latlon_as_legend ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to plot the starting lat/lon position as a legend.&lt;br /&gt;
&lt;br /&gt;
This helps in geolocating the data from a mobile system.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_plot_starting_latlon_as_legend = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_starting_latlon_legend_pos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Position of lat/lon legend in plot.&lt;br /&gt;
&lt;br /&gt;
; The starting latitude/longitude will be plotted as a legend in the&lt;br /&gt;
: location specified. See 'bscan_plot_starting_latlon_as_legend'.&lt;br /&gt;
&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* LEGEND_TOP_LEFT&lt;br /&gt;
* LEGEND_TOP_RIGHT&lt;br /&gt;
* LEGEND_BOTTOM_LEFT&lt;br /&gt;
* LEGEND_BOTTOM_RIGHT&lt;br /&gt;
&lt;br /&gt;
'''bscan_starting_latlon_legend_pos = LEGEND_TOP_LEFT;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_plot_mean_track_and_speed_as_legend ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to plot the mean track and speed in a legend.&lt;br /&gt;
&lt;br /&gt;
This helps in geolocating the data from a mobile system.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_plot_mean_track_and_speed_as_legend = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_mean_track_and_speed_legend_pos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Position of track/speed legend in plot.&lt;br /&gt;
&lt;br /&gt;
; The mean track and speed will be plotted as a legend in the location&lt;br /&gt;
: specified. See 'bscan_plot_track_and_speed_as_legend'.&lt;br /&gt;
&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* LEGEND_TOP_LEFT&lt;br /&gt;
* LEGEND_TOP_RIGHT&lt;br /&gt;
* LEGEND_BOTTOM_LEFT&lt;br /&gt;
* LEGEND_BOTTOM_RIGHT&lt;br /&gt;
&lt;br /&gt;
'''bscan_mean_track_and_speed_legend_pos = LEGEND_TOP_RIGHT;'''&lt;br /&gt;
&lt;br /&gt;
= BSCAN DWELL CONTROLS =&lt;br /&gt;
&lt;br /&gt;
== bscan_archive_dwell_auto ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Compute dwell from image size and time range.&lt;br /&gt;
&lt;br /&gt;
; If TRUE, we compute the optimal dwell so that there will be&lt;br /&gt;
: approximately 1 dwell for each pixel in the resulting image. If FALSE, the dwell is specified below.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_archive_dwell_auto = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_archive_dwell_secs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Specified dwell time for archive mode (secs).&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''bscan_archive_dwell_secs = 0.1;'''&lt;br /&gt;
&lt;br /&gt;
== bscan_dwell_stats ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Method for computing stats on the dwell.&lt;br /&gt;
&lt;br /&gt;
; Applies to READ_RAYS_IN_INTERVAL mode. MIDDLE refers to the middle&lt;br /&gt;
: ray in the dwell sequence.&lt;br /&gt;
&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* DWELL_STATS_MEAN&lt;br /&gt;
* DWELL_STATS_MEDIAN&lt;br /&gt;
* DWELL_STATS_MAXIMUM&lt;br /&gt;
* DWELL_STATS_MINIMUM&lt;br /&gt;
* DWELL_STATS_MIDDLE&lt;br /&gt;
&lt;br /&gt;
'''bscan_dwell_stats = DWELL_STATS_MIDDLE;'''&lt;br /&gt;
&lt;br /&gt;
= SAVING IMAGES TO FILE =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;In creating files for the field catalog, the file name is of the&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;form:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;category.platform.YYYYMMDDHHmm.product_name.ext&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;The following parameters control the output directory, and the&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;p&amp;gt;construction of the file name.&amp;lt;/p&amp;gt;&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
== images_output_dir ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Output directory for images generated by this app.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_output_dir = &amp;amp;quot;/tmp/images/HawkEye&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== images_write_to_day_dir ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to create a subdirectory for each day.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_write_to_day_dir = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== images_file_name_category ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set the category string.&lt;br /&gt;
&lt;br /&gt;
If empty, no category will be included.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_file_name_category = &amp;amp;quot;radar&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== images_file_name_platform ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set the platform string.&lt;br /&gt;
&lt;br /&gt;
If empty, no platform will be included.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_file_name_platform = &amp;amp;quot;NSF_NCAR_GV_HCR&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== images_file_name_extension ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;; Set the extension string. This also governs the file format. It&lt;br /&gt;
: should be 'png', 'jpg', 'gif' etc.&lt;br /&gt;
&lt;br /&gt;
An extension is always required.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_file_name_extension = &amp;amp;quot;png&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== images_file_name_delimiter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Set the delimiter between the parts of the file name.&lt;br /&gt;
&lt;br /&gt;
NOTE: before the extension the delimited is always a period: '.'.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_file_name_delimiter = &amp;amp;quot;.&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== images_include_time_part_in_file_name ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Normally the file name includes a time part: YYYYMMDDHHMMSS.&lt;br /&gt;
&lt;br /&gt;
If FALSE, the time part will be omitted.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_include_time_part_in_file_name = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== images_include_seconds_in_time_part ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Normally the time part include the seconds: YYYYMMDDHHMMSS.&lt;br /&gt;
&lt;br /&gt;
If FALSE, the SS will be excluuded from the time part.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_include_seconds_in_time_part = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== images_include_field_label_in_file_name ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Normally the file name includes the field label (product type).&lt;br /&gt;
&lt;br /&gt;
If FALSE, the field label will be omitted.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_include_field_label_in_file_name = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
== images_write_latest_data_info ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to write latest_data_info files when an image is created.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_write_latest_data_info = TRUE;'''&lt;br /&gt;
&lt;br /&gt;
= OPTION TO CREATE IMAGES AUTOMATICALLY =&lt;br /&gt;
&lt;br /&gt;
== images_auto_create ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to create images automatically.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_auto_create = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== images_creation_mode ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Mode for controlling auto image creation.&lt;br /&gt;
&lt;br /&gt;
CREATE_IMAGES_FROM_GUI: create images interactively using the GUI.&lt;br /&gt;
&lt;br /&gt;
; CREATE_IMAGES_THEN_EXIT: for the specified start time and time span,&lt;br /&gt;
: create an output image for every field in the fields array, and then exit.&lt;br /&gt;
; CREATE_IMAGES_ON_REALTIME_SCHEDULE: wait for the scheduled time, then&lt;br /&gt;
: generate an image for each field.&lt;br /&gt;
; CREATE_IMAGES_ON_ARCHIVE_SCHEDULE: for each scheduled time between&lt;br /&gt;
: the start and end times, generate an image for each field.&lt;br /&gt;
&lt;br /&gt;
Type: enum&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* CREATE_IMAGES_THEN_EXIT&lt;br /&gt;
* CREATE_IMAGES_ON_REALTIME_SCHEDULE&lt;br /&gt;
* CREATE_IMAGES_ON_ARCHIVE_SCHEDULE&lt;br /&gt;
&lt;br /&gt;
'''images_creation_mode = CREATE_IMAGES_THEN_EXIT;'''&lt;br /&gt;
&lt;br /&gt;
== images_schedule_interval_secs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Interval at which images are created on schedule (secs).&lt;br /&gt;
&lt;br /&gt;
; The application waits until the interval has passed, plus any&lt;br /&gt;
: specified delay, and then creates the images.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_schedule_interval_secs = 300;'''&lt;br /&gt;
&lt;br /&gt;
== images_schedule_delay_secs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Delay between scheduled time and image creation (secs).&lt;br /&gt;
&lt;br /&gt;
; In order to ensure that the data has been written, a delay may be&lt;br /&gt;
: provided. This allows for the writing application to complete writing the data before this application tries to access it.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_schedule_delay_secs = 60;'''&lt;br /&gt;
&lt;br /&gt;
== images_archive_start_time ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Start time for image generation in archive mode.&lt;br /&gt;
&lt;br /&gt;
; Image generation starts with a seach at this time, and the proceeds&lt;br /&gt;
: at increments of images_schedule_interval_secs.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_archive_start_time = &amp;amp;quot;1970 01 01 00 00 00&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== images_archive_end_time ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;End time for image generation in archive mode.&lt;br /&gt;
&lt;br /&gt;
; Image generation is terminated when the search time exceeds this end&lt;br /&gt;
: time.&lt;br /&gt;
&lt;br /&gt;
Type: string&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_archive_end_time = &amp;amp;quot;1970 01 01 00 00 00&amp;amp;quot;;'''&lt;br /&gt;
&lt;br /&gt;
== images_scan_interval_secs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Time between scans in archive mode (secs).&lt;br /&gt;
&lt;br /&gt;
Only applies to POLAR (PPI/RHI) mode, not BSCAN mode.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_scan_interval_secs = 300;'''&lt;br /&gt;
&lt;br /&gt;
== images_set_sweep_index_list ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Option to specify the sweep indexes for the image generation.&lt;br /&gt;
&lt;br /&gt;
If TRUE, only the specified sweeps will be processed.&lt;br /&gt;
&lt;br /&gt;
Type: boolean&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_set_sweep_index_list = FALSE;'''&lt;br /&gt;
&lt;br /&gt;
== images_sweep_index_list ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;List of valid sweep indexes for image generation.&lt;br /&gt;
&lt;br /&gt;
; See 'images_set_sweep_index_list'. Images will only be generated for&lt;br /&gt;
: the specified sweep indexes.&lt;br /&gt;
&lt;br /&gt;
Type: int 1D array - variable length.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''images_sweep_index_list = {'''&lt;br /&gt;
&lt;br /&gt;
'''};'''&lt;br /&gt;
&lt;br /&gt;
= SIMULATION MODE =&lt;br /&gt;
&lt;br /&gt;
== sim_sleep_msecs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;; Number of milliseconds to sleep between beams in simulated input&lt;br /&gt;
: mode.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''sim_sleep_msecs = 10;'''&lt;br /&gt;
&lt;br /&gt;
== sim_n_gates ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Number of gates in simulated data.&lt;br /&gt;
&lt;br /&gt;
Type: int&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''sim_n_gates = 1000;'''&lt;br /&gt;
&lt;br /&gt;
== sim_start_range_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Start range in simulated mode (km).&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''sim_start_range_km = 0.075;'''&lt;br /&gt;
&lt;br /&gt;
== sim_gate_spacing_km ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Gate spacing in simulated mode (km).&lt;br /&gt;
&lt;br /&gt;
Type: double&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
'''sim_gate_spacing_km = 0.15;'''&lt;/div&gt;</summary>
		<author><name>Tingyucha</name></author>
		
	</entry>
</feed>