]> Pileus Git - ~andy/rsl/blob - doc/RSL_radar_intro.html
c3563321d22fc5ab5ff5b0266de92d8917e7ee13
[~andy/rsl] / doc / RSL_radar_intro.html
1 <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
2 <html>
3 <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5    <meta name="GENERATOR" content="Mozilla/4.5 [en] (X11; U; Linux 2.0.32 i686) [Netscape]">
6 </head>
7 <body>
8 <a href="index.html"><img SRC="rsl.gif" height=100 width=100></a>
9 <hr>
10 <br>&nbsp;
11 <br>&nbsp;
12 <center>
13 <h1>
14 The Radar Software Library (RSL)</h1></center>
15
16 <h2>
17 Introduction</h2>
18
19 <h4>
20 By <a href="john.merritt.html">John H. Merritt</a> and <a href="david.wolff.html">David
21 B. Wolff</a>; NASA/TRMM Office<br>
22 Software Verson 1.41 (released 6/22/2011)</h4>
23
24 <hr>This library is an object oriented programming environment to keep
25 application programming simple, for the casual C programmer, as well as
26 for analysis software applicable to all RADAR data related to the TRMM
27 GV effort. This library reads the wsr88d, lassen, kwajalein, mcgill, toga,
28 UF, RAPIC and native RSL file formats. The most important functions provided
29 are those which load any one of the radar file formats into memory; see
30 <a href="RSL_anyformat_to_radar.html">RSL_anyformat_to_radar</a>. Additional
31 functions are provide to mainpulate the RSL objects. Nearly all of the
32 functions return objects. When they don't, they usually perform actions
33 like output, making images, etc. The most general object in RSL is <b>Radar</b>.
34 The structure <b>Radar</b> is the method used to define the ideal or universal
35 radar representation in RAM while keeping the natural resolution of the
36 data unchanged. More simply, <b>Radar</b> represents the super set of all
37 radar file formats. The <a href="RSL_structures.html">Radar structure</a>
38 is hierarchically defined such that it is composed of <b>Volumes</b>, each
39 containing one field type. <b>Volumes</b> are composed of <b>Sweeps</b>.
40 <b>Sweeps</b> are composed of <b>Rays</b> and <b>Rays</b> contains a vector
41 of the field type. Some field types are Reflectivity(DZ), Velocity(VR),
42 Spectrum Width(SW), etc. There are approximately 20 field types. See the
43 <a href="users_guide.html">Users Guide</a> and the <a href="whats_new.html">what's
44 new</a> for more information.
45 <p>An example of a function that returns the <b>Radar</b> object is the
46 <b>Lassen</b> ingest function. The function allocates all memory required
47 to store the values from the lassen file in RAM.
48 <p><tt>Radar *radar; radar = RSL_lassen_to_radar("lassen.file.22");</tt>
49 <p>Syntactically, the object returned is a pointer. However, the functions
50 provided in RSL treat this pointer as an object.
51 <p>The names of the functions in the library are very descriptive of the
52 function they perform. In the previous example, you may infer that some
53 conversion from <i>lassen</i> to <i>radar</i> is taking place. Knowing
54 that <i>lassen</i> is a file format for the Darwin RADAR datasets and that
55 <i>radar</i>
56 refers to the data structure <b>Radar</b> helps you understand that the
57 function ingests <i>lassen</i> files and loads it into the <b>Radar</b>
58 data structure.
59 <p>The data structure <b>Radar</b> is composed of other objects called
60 <b>Volumes</b>.
61 You will notice that throughout this discussion, the natural vocabulary
62 of the scientists who talk about the different components of the data received
63 from a RADAR is used. This vocabulary is used to describe each component
64 of the data structure. The <b>Radar</b> data structure holds RADAR measurements
65 of a volume of physical space for the smallest unit of time possible. Typically
66 a RADAR can produce a volume of data in 5 to 8 minutes; that becomes the
67 smallest unit of time for a volume. This volume of space measured is referred
68 to as <b>Volume</b>, in the RSL, and represents one particular measurement
69 type or field type. The types of measurements are: reflectivity, velocity,
70 spectrum width, quality controlled reflectivity, total reflectivity, differential
71 reflectivity and LDR (another form of differential reflectivity). Normally,
72 the RADAR records as many fields that it is designed to record and that
73 really is one volume. However, I have split the fields into seperate volumes
74 so that you can concentrate on only one field type. Thus, the <b>Radar</b>
75 datatype is composed of an array of <b>Volumes</b>; one to the number of
76 fields.
77 <p>The <b>Volume</b> data structure, a single field type, is composed of
78 several 360 degree revolutions of the RADAR. These revolutions are refered
79 to as sweeps. The first sweep for a volume, commonly known as the base
80 scan, is the sweep made by the RADAR pointing nearly horizontally and directing
81 a RADAR beam toward the horizon. Then, the RADAR is tilted upwards slightly
82 and another revolution is performed. This process continues 10 to 16 times,
83 depending on the RADAR. These sweeps are referred to as <b>Sweep</b> in
84 the RSL. Thus, a <b>Volume</b> is simply composed of an array of <b>Sweeps</b>;
85 one to the number of elevation steps.
86 <p>Similiarly, a <b>Sweep</b> is defined as a collection of rays throughout
87 the 360 degree revolution. The RADAR takes measurements continually while
88 it is sweeping. The number of rays collected is typically a function of
89 the beamwidth. A beam width of .95 degrees will yield 379 rays for each
90 sweep. For nexrad data the number of rays collected for each sweep is approximately
91 366. These rays are referred to as <b>Ray</b> in the RSL. Thus, a <b>Sweep</b>
92 is simply an array of <b>Rays</b>; one to the number of rays.
93 <p>And, a <b>Ray</b> is one ray measurement from the RADAR. A ray is a
94 series of measurements from the minimum to the maximum range of the RADAR.
95 Think of it as a meaurement from zero to the maximum range while the RADAR
96 is at one azimuthal angle. In reality, the radar is revolving continuously.
97 The number of data values in a ray is represented in KM and it defines
98 the resolution of the RADAR. NEXRAD is typcally 1.0KM and the new SIGMET
99 RADAR is .25 KM. Thus, a <b>Ray</b> is simply an array of <b>Range</b>
100 values; one to the number of bin. The number of bins is defined by the
101 range of measured space divided by the resolution of a measurement less
102 any to the minimum range.
103 <p>Finally, a <b>Range</b> value is simply a floating point number that
104 represents the data.
105 <p>It should be obvious that the <b>Radar</b> data structure is an array
106 of <b>Volumes</b> which is an array of <b>Sweeps</b> which is an array
107 of <b>Rays</b> which is and array of <b>Ranges</b>. Whew! This hierarchial
108 description is easy to understand, when you only think of each object as
109 an array of the next subobject. Thinking of it as a 4 or 5 dimensional
110 array is very difficult.
111 </body>
112 </html>