_build/html/netcdf_file.html

Thu, 15 Mar 2012 10:46:04 +0100

author
ulalume3 <binietoglou@imaa.cnr.it>
date
Thu, 15 Mar 2012 10:46:04 +0100
changeset 1
6c38ce070e3b
permissions
-rw-r--r--

Adding sample html output.

binietoglou@1 1
binietoglou@1 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
binietoglou@1 3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
binietoglou@1 4
binietoglou@1 5
binietoglou@1 6 <html xmlns="http://www.w3.org/1999/xhtml">
binietoglou@1 7 <head>
binietoglou@1 8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
binietoglou@1 9
binietoglou@1 10 <title>The SCC netCDF file format &mdash; Single Calculus Chain 0.2 documentation</title>
binietoglou@1 11
binietoglou@1 12 <link rel="stylesheet" href="_static/nature.css" type="text/css" />
binietoglou@1 13 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
binietoglou@1 14
binietoglou@1 15 <script type="text/javascript">
binietoglou@1 16 var DOCUMENTATION_OPTIONS = {
binietoglou@1 17 URL_ROOT: '',
binietoglou@1 18 VERSION: '0.2',
binietoglou@1 19 COLLAPSE_INDEX: false,
binietoglou@1 20 FILE_SUFFIX: '.html',
binietoglou@1 21 HAS_SOURCE: true
binietoglou@1 22 };
binietoglou@1 23 </script>
binietoglou@1 24 <script type="text/javascript" src="_static/jquery.js"></script>
binietoglou@1 25 <script type="text/javascript" src="_static/underscore.js"></script>
binietoglou@1 26 <script type="text/javascript" src="_static/doctools.js"></script>
binietoglou@1 27 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
binietoglou@1 28 <link rel="top" title="Single Calculus Chain 0.2 documentation" href="index.html" />
binietoglou@1 29 <link rel="next" title="User management" href="user_managment.html" />
binietoglou@1 30 <link rel="prev" title="Processing measurement" href="measurement_upload.html" />
binietoglou@1 31 </head>
binietoglou@1 32 <body>
binietoglou@1 33 <div class="related">
binietoglou@1 34 <h3>Navigation</h3>
binietoglou@1 35 <ul>
binietoglou@1 36 <li class="right" style="margin-right: 10px">
binietoglou@1 37 <a href="genindex.html" title="General Index"
binietoglou@1 38 accesskey="I">index</a></li>
binietoglou@1 39 <li class="right" >
binietoglou@1 40 <a href="user_managment.html" title="User management"
binietoglou@1 41 accesskey="N">next</a> |</li>
binietoglou@1 42 <li class="right" >
binietoglou@1 43 <a href="measurement_upload.html" title="Processing measurement"
binietoglou@1 44 accesskey="P">previous</a> |</li>
binietoglou@1 45 <li><a href="index.html">Single Calculus Chain 0.2 documentation</a> &raquo;</li>
binietoglou@1 46 </ul>
binietoglou@1 47 </div>
binietoglou@1 48
binietoglou@1 49 <div class="document">
binietoglou@1 50 <div class="documentwrapper">
binietoglou@1 51 <div class="bodywrapper">
binietoglou@1 52 <div class="body">
binietoglou@1 53
binietoglou@1 54 <div class="section" id="the-scc-netcdf-file-format">
binietoglou@1 55 <h1>The SCC netCDF file format<a class="headerlink" href="#the-scc-netcdf-file-format" title="Permalink to this headline">¶</a></h1>
binietoglou@1 56 <div class="section" id="rationale">
binietoglou@1 57 <h2>Rationale<a class="headerlink" href="#rationale" title="Permalink to this headline">¶</a></h2>
binietoglou@1 58 <p>The Single Calculus Chain (SCC) is composed by two different modules:</p>
binietoglou@1 59 <ul class="simple">
binietoglou@1 60 <li>pre-processing module ( scc_preprocessing)</li>
binietoglou@1 61 <li>optical processing module ( ELDA)</li>
binietoglou@1 62 </ul>
binietoglou@1 63 <p>To perfom aerosol optical retrievals the SCC needs not only the raw
binietoglou@1 64 lidar data but also a certain number of parameters to use in both
binietoglou@1 65 pre-processing and optical processing stages. The SCC gets these
binietoglou@1 66 parameters looking at two different locations:</p>
binietoglou@1 67 <ul class="simple">
binietoglou@1 68 <li>Single Calculus Chain relational database (SCC_DB)</li>
binietoglou@1 69 <li>Input files</li>
binietoglou@1 70 </ul>
binietoglou@1 71 <p>There are some paramenters that can be found only in the input files
binietoglou@1 72 (those ones changing from measurement to measurement), others that can
binietoglou@1 73 be found only in the SCC_DB and other ones that can be found in both
binietoglou@1 74 these locations. In the last case, if a particular parameter is needed,
binietoglou@1 75 the SCC will search first in the input files and then in SCC_DB. If the
binietoglou@1 76 parameter is found in the input files the SCC will keep it without
binietoglou@1 77 looking into SCC_DB.</p>
binietoglou@1 78 <p>The input files have to be submitted to the SCC in NetCDF format. At the
binietoglou@1 79 present the SCC can handle four different types of input files:</p>
binietoglou@1 80 <ol class="arabic simple">
binietoglou@1 81 <li>Raw Lidar Data</li>
binietoglou@1 82 <li>Sounding Data</li>
binietoglou@1 83 <li>Overlap</li>
binietoglou@1 84 <li>Lidar Ratio</li>
binietoglou@1 85 </ol>
binietoglou@1 86 <p>As already mentioned, the Raw Lidar Data file contains not only the
binietoglou@1 87 raw lidar data but also other parameters to use to perform the
binietoglou@1 88 pre-processing and optical processing. The Sounding Data file
binietoglou@1 89 contains the data coming from a correlative radiosounding and it is used
binietoglou@1 90 by the SCC for molecular density calculation. The Overlap file
binietoglou@1 91 contains the measured overlap function. The Lidar Ratio file contains
binietoglou@1 92 a lidar ratio profile to use in elastic backscatter retrievals. The
binietoglou@1 93 Raw Lidar Data file is of course mandatory and the Sounding Data,
binietoglou@1 94 Overlap and Lidar Ratio files are optional. If Sounding Data file
binietoglou@1 95 is not submitted by the user, the molecular density will be calculated
binietoglou@1 96 by the SCC using the “US Standard Atmosphere 1976”. If the Overlap
binietoglou@1 97 file is not submitted by the user, the SCC will get the full overlap
binietoglou@1 98 height from SCC_DB and it will produce optical results starting from
binietoglou@1 99 this height. If Lidar Ratio file is not submitted by the user, the
binietoglou@1 100 SCC will consider a fixed value for lidar ratio got from SCC_DB.</p>
binietoglou@1 101 <p>The user can decide to submit all these files or any number of them (of
binietoglou@1 102 course the file Raw Lidar Data is mandatory). For example the user
binietoglou@1 103 can submit together with the Raw Lidar Data file only the Sounding
binietoglou@1 104 Data file or only the Overlap file.</p>
binietoglou@1 105 <p>This document provides a detailed explanation about the structure of the
binietoglou@1 106 NetCDF input files to use for SCC data submission. All Earlinet groups
binietoglou@1 107 should read it carefully because they have to produce such kind of input
binietoglou@1 108 files if they want to use the SCC for their standard lidar retrievals.
binietoglou@1 109 Every comments or suggestions regarding this document can be sent to
binietoglou@1 110 Giuseppe D’Amico by e-mail at <tt class="docutils literal"><span class="pre">damico&#64;imaa.cnr.it</span></tt></p>
binietoglou@1 111 <p>This document is available for downloading at <tt class="docutils literal"><span class="pre">www.earlinetasos.org</span></tt></p>
binietoglou@1 112 <p>In table tab:rawdata is reported a list of dimensions, variables and
binietoglou@1 113 global attributes that can be used in the NetCDF Raw Lidar Data input
binietoglou@1 114 file. For each of them it is indicated:</p>
binietoglou@1 115 <ul class="simple">
binietoglou@1 116 <li>The name. For the multidimensional variables also the corresponding
binietoglou@1 117 dimensions are reported</li>
binietoglou@1 118 <li>A description explaining the meaning</li>
binietoglou@1 119 <li>The type</li>
binietoglou@1 120 <li>If it is mandatory or optional</li>
binietoglou@1 121 </ul>
binietoglou@1 122 <p>As already mentioned, the SCC can get some parameters looking first in
binietoglou@1 123 the Raw Lidar Data input file and then into SCC_DB. This means that
binietoglou@1 124 to use the parameters stored in SCC_DB the optional variables or
binietoglou@1 125 optional global attributes must not appear within Raw Lidar Data
binietoglou@1 126 file. This is the suggested and recommended way to use the SCC. Please
binietoglou@1 127 include optional parameters in the Raw Lidar Data only as an
binietoglou@1 128 exception.</p>
binietoglou@1 129 <p>In table tab:sounding, tab:overlap and tab:lr are reported all the
binietoglou@1 130 information about the structure of Sounding Data, Overlap and
binietoglou@1 131 Lidar Ratio input files respectively.</p>
binietoglou@1 132 </div>
binietoglou@1 133 <div class="section" id="example">
binietoglou@1 134 <h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
binietoglou@1 135 <p>Let’s now consider an example of Raw Lidar Data input file. Suppose
binietoglou@1 136 we want to generate NetCDF input file corresponding to a measurement
binietoglou@1 137 with the following properties:</p>
binietoglou@1 138 <table border="1" class="docutils">
binietoglou@1 139 <colgroup>
binietoglou@1 140 <col width="34%" />
binietoglou@1 141 <col width="66%" />
binietoglou@1 142 </colgroup>
binietoglou@1 143 <tbody valign="top">
binietoglou@1 144 <tr class="row-odd"><td>Start Date</td>
binietoglou@1 145 <td><span class="math">\(30^{th}\)</span> January 2009</td>
binietoglou@1 146 </tr>
binietoglou@1 147 <tr class="row-even"><td>Start Time UT</td>
binietoglou@1 148 <td>00:00:01</td>
binietoglou@1 149 </tr>
binietoglou@1 150 <tr class="row-odd"><td>Stop Time UT</td>
binietoglou@1 151 <td>00:05:01</td>
binietoglou@1 152 </tr>
binietoglou@1 153 <tr class="row-even"><td>Station Name</td>
binietoglou@1 154 <td>Dummy station</td>
binietoglou@1 155 </tr>
binietoglou@1 156 <tr class="row-odd"><td>Earlinet call-sign</td>
binietoglou@1 157 <td>cc</td>
binietoglou@1 158 </tr>
binietoglou@1 159 <tr class="row-even"><td>Pointing angle</td>
binietoglou@1 160 <td>5 degrees with respect to the zenith</td>
binietoglou@1 161 </tr>
binietoglou@1 162 </tbody>
binietoglou@1 163 </table>
binietoglou@1 164 <p>Moreover suppose that this measurement is composed by the following
binietoglou@1 165 lidar channels:</p>
binietoglou@1 166 <ol class="arabic">
binietoglou@1 167 <li><p class="first">1064 lidar channel</p>
binietoglou@1 168 <table border="1" class="docutils">
binietoglou@1 169 <colgroup>
binietoglou@1 170 <col width="49%" />
binietoglou@1 171 <col width="51%" />
binietoglou@1 172 </colgroup>
binietoglou@1 173 <tbody valign="top">
binietoglou@1 174 <tr class="row-odd"><td><p class="first last">Emission wavelength=1064nm</p>
binietoglou@1 175 </td>
binietoglou@1 176 <td><p class="first last">Detection wavelength=1064nm</p>
binietoglou@1 177 </td>
binietoglou@1 178 </tr>
binietoglou@1 179 <tr class="row-even"><td><p class="first last">Time resolution=30s</p>
binietoglou@1 180 </td>
binietoglou@1 181 <td><p class="first last">Number of laser shots=1500</p>
binietoglou@1 182 </td>
binietoglou@1 183 </tr>
binietoglou@1 184 <tr class="row-odd"><td><p class="first last">Number of bins=3000</p>
binietoglou@1 185 </td>
binietoglou@1 186 <td><p class="first last">Detection mode=analog</p>
binietoglou@1 187 </td>
binietoglou@1 188 </tr>
binietoglou@1 189 <tr class="row-even"><td><p class="first last">Range resolution=7.5m</p>
binietoglou@1 190 </td>
binietoglou@1 191 <td><p class="first last">Polarization state=total</p>
binietoglou@1 192 </td>
binietoglou@1 193 </tr>
binietoglou@1 194 </tbody>
binietoglou@1 195 </table>
binietoglou@1 196 </li>
binietoglou@1 197 <li><p class="first">532 cross lidar channel</p>
binietoglou@1 198 <table border="1" class="docutils">
binietoglou@1 199 <colgroup>
binietoglou@1 200 <col width="47%" />
binietoglou@1 201 <col width="53%" />
binietoglou@1 202 </colgroup>
binietoglou@1 203 <tbody valign="top">
binietoglou@1 204 <tr class="row-odd"><td><p class="first last">Emission wavelength=532nm</p>
binietoglou@1 205 </td>
binietoglou@1 206 <td><p class="first last">Detection wavelength=532nm</p>
binietoglou@1 207 </td>
binietoglou@1 208 </tr>
binietoglou@1 209 <tr class="row-even"><td><p class="first last">Time resolution=60s</p>
binietoglou@1 210 </td>
binietoglou@1 211 <td><p class="first last">Number of laser shots=3000</p>
binietoglou@1 212 </td>
binietoglou@1 213 </tr>
binietoglou@1 214 <tr class="row-odd"><td><p class="first last">Number of bins=5000</p>
binietoglou@1 215 </td>
binietoglou@1 216 <td><p class="first last">Detection mode=photoncounting</p>
binietoglou@1 217 </td>
binietoglou@1 218 </tr>
binietoglou@1 219 <tr class="row-even"><td><p class="first last">Range resolution=15m</p>
binietoglou@1 220 </td>
binietoglou@1 221 <td><p class="first last">Polarization state=cross</p>
binietoglou@1 222 </td>
binietoglou@1 223 </tr>
binietoglou@1 224 </tbody>
binietoglou@1 225 </table>
binietoglou@1 226 </li>
binietoglou@1 227 <li><p class="first">532 parallel lidar channel</p>
binietoglou@1 228 <table border="1" class="docutils">
binietoglou@1 229 <colgroup>
binietoglou@1 230 <col width="47%" />
binietoglou@1 231 <col width="53%" />
binietoglou@1 232 </colgroup>
binietoglou@1 233 <tbody valign="top">
binietoglou@1 234 <tr class="row-odd"><td><p class="first last">Emission wavelength=532nm</p>
binietoglou@1 235 </td>
binietoglou@1 236 <td><p class="first last">Detection wavelength=532nm</p>
binietoglou@1 237 </td>
binietoglou@1 238 </tr>
binietoglou@1 239 <tr class="row-even"><td><p class="first last">Time resolution=60s</p>
binietoglou@1 240 </td>
binietoglou@1 241 <td><p class="first last">Number of laser shots=3000</p>
binietoglou@1 242 </td>
binietoglou@1 243 </tr>
binietoglou@1 244 <tr class="row-odd"><td><p class="first last">Number of bins=5000</p>
binietoglou@1 245 </td>
binietoglou@1 246 <td><p class="first last">Detection mode=photoncounting</p>
binietoglou@1 247 </td>
binietoglou@1 248 </tr>
binietoglou@1 249 <tr class="row-even"><td><p class="first last">Range resolution=15m</p>
binietoglou@1 250 </td>
binietoglou@1 251 <td><p class="first last">Polarization state=parallel</p>
binietoglou@1 252 </td>
binietoglou@1 253 </tr>
binietoglou@1 254 </tbody>
binietoglou@1 255 </table>
binietoglou@1 256 </li>
binietoglou@1 257 <li><p class="first">607 <span class="math">\(N_2\)</span> vibrational Raman channel</p>
binietoglou@1 258 <table border="1" class="docutils">
binietoglou@1 259 <colgroup>
binietoglou@1 260 <col width="47%" />
binietoglou@1 261 <col width="53%" />
binietoglou@1 262 </colgroup>
binietoglou@1 263 <tbody valign="top">
binietoglou@1 264 <tr class="row-odd"><td><p class="first last">Emission wavelength=532nm</p>
binietoglou@1 265 </td>
binietoglou@1 266 <td><p class="first last">Detection wavelength=607nm</p>
binietoglou@1 267 </td>
binietoglou@1 268 </tr>
binietoglou@1 269 <tr class="row-even"><td><p class="first last">Time resolution=60s</p>
binietoglou@1 270 </td>
binietoglou@1 271 <td><p class="first last">Number of laser shots=3000</p>
binietoglou@1 272 </td>
binietoglou@1 273 </tr>
binietoglou@1 274 <tr class="row-odd"><td><p class="first last">Number of bins=5000</p>
binietoglou@1 275 </td>
binietoglou@1 276 <td><p class="first last">Detection mode=photoncounting</p>
binietoglou@1 277 </td>
binietoglou@1 278 </tr>
binietoglou@1 279 <tr class="row-even"><td colspan="2"><p class="first last">Range resolution=15m</p>
binietoglou@1 280 </td>
binietoglou@1 281 </tr>
binietoglou@1 282 </tbody>
binietoglou@1 283 </table>
binietoglou@1 284 </li>
binietoglou@1 285 </ol>
binietoglou@1 286 <p>Finally let’s assume we have also performed dark measurements before the
binietoglou@1 287 lidar measurements from the 23:50:01 UT up to 23:53:01 UT of
binietoglou@1 288 29:math:<cite>^mathrmth</cite> January 2009.</p>
binietoglou@1 289 <div class="section" id="dimensions">
binietoglou@1 290 <h3>Dimensions<a class="headerlink" href="#dimensions" title="Permalink to this headline">¶</a></h3>
binietoglou@1 291 <p>Looking at table tab:rawdata we have to fix the following dimensions:</p>
binietoglou@1 292 <div class="highlight-python"><div class="highlight"><pre><span class="n">points</span>
binietoglou@1 293 <span class="n">channels</span>
binietoglou@1 294 <span class="n">time</span>
binietoglou@1 295 <span class="n">nb_of_time_scales</span>
binietoglou@1 296 <span class="n">scan_angles</span>
binietoglou@1 297 <span class="n">time_bck</span>
binietoglou@1 298 </pre></div>
binietoglou@1 299 </div>
binietoglou@1 300 <p>The dimension <tt class="docutils literal"><span class="pre">time</span></tt> is unlimited so we don’t have to fix it.</p>
binietoglou@1 301 <p>We have 4 lidar channels so:</p>
binietoglou@1 302 <div class="highlight-python"><div class="highlight"><pre><span class="n">channels</span><span class="o">=</span><span class="mi">4</span>
binietoglou@1 303 </pre></div>
binietoglou@1 304 </div>
binietoglou@1 305 <p>Regarding the dimension <tt class="docutils literal"><span class="pre">points</span></tt> we have only one channel with a
binietoglou@1 306 number of vertical bins equal to 3000 (the 1064nm) and all other
binietoglou@1 307 channels with 5000 vertical bins. In cases like this the dimension
binietoglou@1 308 <tt class="docutils literal"><span class="pre">points</span></tt> has to be fixed to the maximum number of vertical bins so:</p>
binietoglou@1 309 <div class="highlight-python"><div class="highlight"><pre><span class="n">points</span><span class="o">=</span><span class="mi">5000</span>
binietoglou@1 310 </pre></div>
binietoglou@1 311 </div>
binietoglou@1 312 <p>Moreover only one channel (1064nm) is acquired with a time resolution of
binietoglou@1 313 30 seconds, all the other channels have a time resolution of 60 seconds.
binietoglou@1 314 This means that we have to define two different time scales. We have to
binietoglou@1 315 set:</p>
binietoglou@1 316 <div class="highlight-python"><div class="highlight"><pre><span class="n">nb_of_time_scales</span><span class="o">=</span><span class="mi">2</span>
binietoglou@1 317 </pre></div>
binietoglou@1 318 </div>
binietoglou@1 319 <p>The measurement is performed only at one scan angle (5 degrees with
binietoglou@1 320 respect to the zenith) so:</p>
binietoglou@1 321 <div class="highlight-python"><div class="highlight"><pre><span class="n">scan_angles</span><span class="o">=</span><span class="mi">1</span>
binietoglou@1 322 </pre></div>
binietoglou@1 323 </div>
binietoglou@1 324 <p>We have 3 minutes of dark measurements and two different time scales one
binietoglou@1 325 with 60 seconds time resolution and the other one with 30 seconds time
binietoglou@1 326 resolution. So we will have 3 different dark profiles for the channels
binietoglou@1 327 acquired with the first time scale and 6 for the lidar channels acquired
binietoglou@1 328 with the second time scale. We have to fix the dimension <tt class="docutils literal"><span class="pre">time_bck</span></tt> as
binietoglou@1 329 the maximum between these values:</p>
binietoglou@1 330 <div class="highlight-python"><div class="highlight"><pre><span class="n">time_bck</span><span class="o">=</span><span class="mi">6</span>
binietoglou@1 331 </pre></div>
binietoglou@1 332 </div>
binietoglou@1 333 </div>
binietoglou@1 334 <div class="section" id="variables">
binietoglou@1 335 <h3>Variables<a class="headerlink" href="#variables" title="Permalink to this headline">¶</a></h3>
binietoglou@1 336 <p>In this section it will be explained how to fill all the possible
binietoglou@1 337 variables either mandatory or optional of Raw Lidar Data input file.</p>
binietoglou@1 338 <dl class="docutils">
binietoglou@1 339 <dt>Raw_Data_Start_Time(time, nb_of_time_scales)</dt>
binietoglou@1 340 <dd><p class="first">This 2 dimensional mandatory array has to contain the acquisition
binietoglou@1 341 start time (in seconds from the time given by the global attribute
binietoglou@1 342 <tt class="docutils literal"><span class="pre">RawData_Start_Time_UT</span></tt>) of each lidar profile. In this example we
binietoglou@1 343 have two different time scales: one is characterized by steps of 30
binietoglou@1 344 seconds (the 1064nm is acquired with this time scale) the other by
binietoglou@1 345 steps of 60 seconds (532cross, 532parallel and 607nm). Moreover the
binietoglou@1 346 measurement start time is 00:00:01 UT and the measurement stop time
binietoglou@1 347 is 00:05:01 UT. In this case we have to define:</p>
binietoglou@1 348 <div class="highlight-python"><pre>Raw_Data_Start_Time =
binietoglou@1 349 0, 0,
binietoglou@1 350 60, 30,
binietoglou@1 351 120, 60,
binietoglou@1 352 180, 90,
binietoglou@1 353 240, 120,
binietoglou@1 354 _, 150,
binietoglou@1 355 _, 180,
binietoglou@1 356 _, 210,
binietoglou@1 357 _, 240,
binietoglou@1 358 _, 270 ;</pre>
binietoglou@1 359 </div>
binietoglou@1 360 <p class="last">The order used to fill this array defines the correspondence between
binietoglou@1 361 the different time scales and the time scale index. In this example
binietoglou@1 362 we have a time scale index of 0 for the time scale with steps of 60
binietoglou@1 363 seconds and a time scale index of 1 for the other one.</p>
binietoglou@1 364 </dd>
binietoglou@1 365 <dt>Raw_Data_Stop_Time(time, nb_of_time_scales)</dt>
binietoglou@1 366 <dd><p class="first">The same as previous item but for the data acquisition stop time.
binietoglou@1 367 Following a similar procedure we have to define:</p>
binietoglou@1 368 <div class="last highlight-python"><pre>Raw_Data_Stop_Time =
binietoglou@1 369 60, 30,
binietoglou@1 370 120, 60,
binietoglou@1 371 180, 90,
binietoglou@1 372 240, 120,
binietoglou@1 373 300, 150,
binietoglou@1 374 _, 180,
binietoglou@1 375 _, 210,
binietoglou@1 376 _, 240,
binietoglou@1 377 _, 270,
binietoglou@1 378 _, 300 ;</pre>
binietoglou@1 379 </div>
binietoglou@1 380 </dd>
binietoglou@1 381 <dt>Raw_Lidar_Data(time, channels, points)</dt>
binietoglou@1 382 <dd><p class="first">This 3 dimensional mandatory array has to be filled with the
binietoglou@1 383 time-series of raw lidar data. The photoncounting profiles have to
binietoglou@1 384 submitted in counts (so as integers) while the analog ones in mV. The
binietoglou@1 385 order the user chooses to fill this array defines the correspondence
binietoglou@1 386 between channel index and lidar data.</p>
binietoglou@1 387 <p>For example if we fill this array in such way that:</p>
binietoglou@1 388 <table border="1" class="docutils">
binietoglou@1 389 <colgroup>
binietoglou@1 390 <col width="38%" />
binietoglou@1 391 <col width="62%" />
binietoglou@1 392 </colgroup>
binietoglou@1 393 <tbody valign="top">
binietoglou@1 394 <tr class="row-odd"><td>Raw_Lidar_Data(time,0,points</td>
binietoglou@1 395 <td><span class="math">\(\rightarrow\)</span> is the time-series of 1064 nm</td>
binietoglou@1 396 </tr>
binietoglou@1 397 <tr class="row-even"><td>Raw_Lidar_Data(time,1,points</td>
binietoglou@1 398 <td><span class="math">\(\rightarrow\)</span> is the time-series of 532 cross</td>
binietoglou@1 399 </tr>
binietoglou@1 400 <tr class="row-odd"><td>Raw_Lidar_Data(time,2,points</td>
binietoglou@1 401 <td><span class="math">\(\rightarrow\)</span> is the time-series of 532 parallel</td>
binietoglou@1 402 </tr>
binietoglou@1 403 <tr class="row-even"><td>Raw_Lidar_Data(time,3,points</td>
binietoglou@1 404 <td><span class="math">\(\rightarrow\)</span> is the time-series of 607 nm</td>
binietoglou@1 405 </tr>
binietoglou@1 406 </tbody>
binietoglou@1 407 </table>
binietoglou@1 408 <p class="last">from now on the channel index 0 is associated to the 1064 channel,
binietoglou@1 409 1 to the 532 cross, 2 to the 532 parallel and 3 to the 607nm.</p>
binietoglou@1 410 </dd>
binietoglou@1 411 <dt>Raw_Bck_Start_Time(time_bck, nb_of_time_scales)</dt>
binietoglou@1 412 <dd><p class="first">This 2 dimensional optional array has to contain the acquisition
binietoglou@1 413 start time (in seconds from the time given by the global attribute
binietoglou@1 414 <tt class="docutils literal"><span class="pre">RawBck_Start_Time_UT</span></tt>) of each dark measurements profile.
binietoglou@1 415 Following the same procedure used for the variable
binietoglou@1 416 <tt class="docutils literal"><span class="pre">Raw_Data_Start_Time</span></tt> we have to define:</p>
binietoglou@1 417 <div class="last highlight-python"><pre>Raw_Bck_Start_Time =
binietoglou@1 418 0, 0,
binietoglou@1 419 60, 30,
binietoglou@1 420 120, 60,
binietoglou@1 421 _, 90,
binietoglou@1 422 _, 120,
binietoglou@1 423 _, 150;</pre>
binietoglou@1 424 </div>
binietoglou@1 425 </dd>
binietoglou@1 426 <dt>Raw_Bck_Stop_Time(time_bck, nb_of_time_scales)</dt>
binietoglou@1 427 <dd><p class="first">The same as previous item but for the dark acquisition stop time.
binietoglou@1 428 Following a similar procedure we have to define:</p>
binietoglou@1 429 <div class="last highlight-python"><pre>Raw_Bck_Stop_Time =
binietoglou@1 430 60, 30,
binietoglou@1 431 120, 60,
binietoglou@1 432 180, 90,
binietoglou@1 433 _, 120,
binietoglou@1 434 _, 150,
binietoglou@1 435 _, 180 ;</pre>
binietoglou@1 436 </div>
binietoglou@1 437 </dd>
binietoglou@1 438 <dt>Background_Profile(time_bck, channels, points)</dt>
binietoglou@1 439 <dd><p class="first">This 3 dimensional optional array has to be filled with the
binietoglou@1 440 time-series of the dark measurements data. The photoncounting
binietoglou@1 441 profiles have to submitted in counts (so as integers) while the
binietoglou@1 442 analog ones in mV. The user has to fill this array following the same
binietoglou@1 443 order used in filling the array <tt class="docutils literal"><span class="pre">Raw_Lidar_Data</span></tt>:</p>
binietoglou@1 444 <table border="1" class="last docutils">
binietoglou@1 445 <colgroup>
binietoglou@1 446 <col width="44%" />
binietoglou@1 447 <col width="56%" />
binietoglou@1 448 </colgroup>
binietoglou@1 449 <tbody valign="top">
binietoglou@1 450 <tr class="row-odd"><td>Background_Profile(time_bck,0,points</td>
binietoglou@1 451 <td><span class="math">\(\rightarrow\)</span> dark time-series at 1064 nm</td>
binietoglou@1 452 </tr>
binietoglou@1 453 <tr class="row-even"><td>Background_Profile(time_bck,1,points</td>
binietoglou@1 454 <td><span class="math">\(\rightarrow\)</span> dark time-series at 532 cross</td>
binietoglou@1 455 </tr>
binietoglou@1 456 <tr class="row-odd"><td>Background_Profile(time_bck,2,points</td>
binietoglou@1 457 <td><span class="math">\(\rightarrow\)</span> dark time-series at 532 parallel</td>
binietoglou@1 458 </tr>
binietoglou@1 459 <tr class="row-even"><td>Background_Profile(time_bck,3,points</td>
binietoglou@1 460 <td><span class="math">\(\rightarrow\)</span> dark time-series at 607 nm</td>
binietoglou@1 461 </tr>
binietoglou@1 462 </tbody>
binietoglou@1 463 </table>
binietoglou@1 464 </dd>
binietoglou@1 465 <dt>channel_ID(channels)</dt>
binietoglou@1 466 <dd><p class="first">This mandatory array provides the link between the channel index
binietoglou@1 467 within the Raw Lidar Data input file and the channel ID in
binietoglou@1 468 SCC_DB. To fill this variable the user has to know which channel IDs
binietoglou@1 469 in SCC_DB correspond to his lidar channels. For this purpose the
binietoglou@1 470 SCC, in its final version will provide to the user a special tool to
binietoglou@1 471 get these channel IDs through a Web interface. At the moment this
binietoglou@1 472 interface is not yet available and these channel IDs will be
binietoglou@1 473 communicated directly to the user by the NA5 people.</p>
binietoglou@1 474 <p>Anyway to continue the example let’s suppose that the four lidar
binietoglou@1 475 channels taken into account are mapped into SCC_DB with the
binietoglou@1 476 following channel IDs:</p>
binietoglou@1 477 <table border="1" class="docutils">
binietoglou@1 478 <colgroup>
binietoglou@1 479 <col width="30%" />
binietoglou@1 480 <col width="70%" />
binietoglou@1 481 </colgroup>
binietoglou@1 482 <tbody valign="top">
binietoglou@1 483 <tr class="row-odd"><td>1064 nm</td>
binietoglou@1 484 <td><span class="math">\(\rightarrow\)</span> channel ID=7</td>
binietoglou@1 485 </tr>
binietoglou@1 486 <tr class="row-even"><td>532 cross</td>
binietoglou@1 487 <td><span class="math">\(\rightarrow\)</span> channel ID=5</td>
binietoglou@1 488 </tr>
binietoglou@1 489 <tr class="row-odd"><td>532 parallel</td>
binietoglou@1 490 <td><span class="math">\(\rightarrow\)</span> channel ID=6</td>
binietoglou@1 491 </tr>
binietoglou@1 492 <tr class="row-even"><td>607 nm</td>
binietoglou@1 493 <td><span class="math">\(\rightarrow\)</span> channel ID=8</td>
binietoglou@1 494 </tr>
binietoglou@1 495 </tbody>
binietoglou@1 496 </table>
binietoglou@1 497 <blockquote>
binietoglou@1 498 <div>In this case we have to define:</div></blockquote>
binietoglou@1 499 <div class="last highlight-python"><div class="highlight"><pre><span class="n">channel_ID</span> <span class="o">=</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span class="p">,</span> <span class="mi">8</span> <span class="p">;</span>
binietoglou@1 500 </pre></div>
binietoglou@1 501 </div>
binietoglou@1 502 </dd>
binietoglou@1 503 <dt>id_timescale(channels)</dt>
binietoglou@1 504 <dd><p class="first">This mandatory array is introduced to determine which time scale is
binietoglou@1 505 used for the acquisition of each lidar channel. In particular this
binietoglou@1 506 array defines the link between the channel index and the time scale
binietoglou@1 507 index. In our example we have two different time scales. Filling the
binietoglou@1 508 arrays <tt class="docutils literal"><span class="pre">Raw_Data_Start_Time</span></tt> and <tt class="docutils literal"><span class="pre">Raw_Data_Stop_Time</span></tt> we have
binietoglou@1 509 defined a time scale index of 0 for the time scale with steps of 60
binietoglou@1 510 seconds and a time scale index of 1 for the other one with steps of
binietoglou@1 511 30 seconds. In this way this array has to be set as:</p>
binietoglou@1 512 <div class="last highlight-python"><div class="highlight"><pre><span class="n">id_timescale</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span> <span class="p">;</span>
binietoglou@1 513 </pre></div>
binietoglou@1 514 </div>
binietoglou@1 515 </dd>
binietoglou@1 516 <dt>Laser_Pointing_Angle(scan_angles</dt>
binietoglou@1 517 <dd><p class="first">This mandatory array contains all the scan angles used in the
binietoglou@1 518 measurement. In our example we have only one scan angle of 5 degrees
binietoglou@1 519 with respect to the zenith, so we have to define:</p>
binietoglou@1 520 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Laser_Pointing_Angle</span> <span class="o">=</span> <span class="mi">5</span> <span class="p">;</span>
binietoglou@1 521 </pre></div>
binietoglou@1 522 </div>
binietoglou@1 523 </dd>
binietoglou@1 524 <dt>Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales)</dt>
binietoglou@1 525 <dd><p class="first">This mandatory array is introduced to determine which scan angle is
binietoglou@1 526 used for the acquisition of each lidar profile. In particular this
binietoglou@1 527 array defines the link between the time and time scales indexes and
binietoglou@1 528 the scan angle index. In our example we have a single scan angle that
binietoglou@1 529 has to correspond to the scan angle index 0. So this array has to be
binietoglou@1 530 defined as:</p>
binietoglou@1 531 <div class="last highlight-python"><pre>Laser_Pointing_Angle_of_Profiles =
binietoglou@1 532 0, 0,
binietoglou@1 533 0, 0,
binietoglou@1 534 0, 0,
binietoglou@1 535 0, 0,
binietoglou@1 536 0, 0,
binietoglou@1 537 _, 0,
binietoglou@1 538 _, 0,
binietoglou@1 539 _, 0,
binietoglou@1 540 _, 0,
binietoglou@1 541 _, 0 ;</pre>
binietoglou@1 542 </div>
binietoglou@1 543 </dd>
binietoglou@1 544 <dt>Laser_Shots(time, channels)</dt>
binietoglou@1 545 <dd><p class="first">This mandatory array stores the laser shots accumulated at each time
binietoglou@1 546 for each channel. In our example the number of laser shots
binietoglou@1 547 accumulated is 1500 for the 1064nm channels and 3000 for all the
binietoglou@1 548 other channels. Moreover the laser shots do not change with the time.
binietoglou@1 549 So we have to define this array as:</p>
binietoglou@1 550 <div class="last highlight-python"><pre>Laser_Shots =
binietoglou@1 551 1500, 3000, 3000, 3000,
binietoglou@1 552 1500, 3000, 3000, 3000,
binietoglou@1 553 1500, 3000, 3000, 3000,
binietoglou@1 554 1500, 3000, 3000, 3000,
binietoglou@1 555 1500, 3000, 3000, 3000,
binietoglou@1 556 1500, _, _, _,
binietoglou@1 557 1500, _, _, _,
binietoglou@1 558 1500, _, _, _,
binietoglou@1 559 1500, _, _, _,
binietoglou@1 560 1500, _, _, _ ;</pre>
binietoglou@1 561 </div>
binietoglou@1 562 </dd>
binietoglou@1 563 <dt>Emitted_Wavelength(channels)</dt>
binietoglou@1 564 <dd><p class="first">This optional array defines the link between the channel index and
binietoglou@1 565 the emission wavelength for each lidar channel. The wavelength has to
binietoglou@1 566 be expressed in nm. This information can be also taken from SCC_DB.
binietoglou@1 567 In our example we have:</p>
binietoglou@1 568 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Emitted_Wavelength</span> <span class="o">=</span> <span class="mi">1064</span><span class="p">,</span> <span class="mi">532</span><span class="p">,</span> <span class="mi">532</span><span class="p">,</span> <span class="mi">532</span> <span class="p">;</span>
binietoglou@1 569 </pre></div>
binietoglou@1 570 </div>
binietoglou@1 571 </dd>
binietoglou@1 572 <dt>Detected_Wavelength(channels)</dt>
binietoglou@1 573 <dd><p class="first">This optional array defines the link between the channel index and
binietoglou@1 574 the detected wavelength for each lidar channel. Here detected
binietoglou@1 575 wavelength means the value of center of interferential filter
binietoglou@1 576 expressed in nm. This information can be also taken from SCC_DB. In
binietoglou@1 577 our example we have:</p>
binietoglou@1 578 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Detected_Wavelength</span> <span class="o">=</span> <span class="mi">1064</span><span class="p">,</span> <span class="mi">532</span><span class="p">,</span> <span class="mi">532</span><span class="p">,</span> <span class="mi">607</span> <span class="p">;</span>
binietoglou@1 579 </pre></div>
binietoglou@1 580 </div>
binietoglou@1 581 </dd>
binietoglou@1 582 <dt>Raw_Data_Range_Resolution(channels)</dt>
binietoglou@1 583 <dd><p class="first">This optional array defines the link between the channel index and
binietoglou@1 584 the raw range resolution for each channel. If the scan angle is
binietoglou@1 585 different from zero this quantity is different from the vertical
binietoglou@1 586 resolution. More precisely if <span class="math">\(\alpha\)</span> is the scan angle used
binietoglou@1 587 and <span class="math">\(\Delta z\)</span> is the range resolution the vertical
binietoglou@1 588 resolution is calculated as <span class="math">\(\Delta
binietoglou@1 589 z'=\Delta z \cos\alpha\)</span>. This array has to be filled with
binietoglou@1 590 <span class="math">\(\Delta z\)</span> and not with <span class="math">\(\Delta z'\)</span>. The unit is
binietoglou@1 591 meters. This information can be also taken from SCC_DB. In our
binietoglou@1 592 example we have:</p>
binietoglou@1 593 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Raw_Data_Range_Resolution</span> <span class="o">=</span> <span class="mf">7.5</span><span class="p">,</span> <span class="mf">15.0</span><span class="p">,</span> <span class="mf">15.0</span><span class="p">,</span> <span class="mf">15.0</span> <span class="p">;</span>
binietoglou@1 594 </pre></div>
binietoglou@1 595 </div>
binietoglou@1 596 </dd>
binietoglou@1 597 <dt>ID_Range(channels)</dt>
binietoglou@1 598 <dd><p class="first">This optional array defines if a particular channel is configured as
binietoglou@1 599 high, low or ultranear range channel. In particular a value 0
binietoglou@1 600 indicates a low range channel, a value 1 a high range channel and a
binietoglou@1 601 value of 2 an ultranear range channel. If for a particular channel
binietoglou@1 602 you don’t separate between high and low range channel, please set the
binietoglou@1 603 corresponding value to 1. This information can be also taken from
binietoglou@1 604 SCC_DB. In our case we have to set:</p>
binietoglou@1 605 <div class="last highlight-python"><div class="highlight"><pre><span class="n">ID_Range</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span> <span class="p">;</span>
binietoglou@1 606 </pre></div>
binietoglou@1 607 </div>
binietoglou@1 608 </dd>
binietoglou@1 609 <dt>Scattering_Mechanism(channels)</dt>
binietoglou@1 610 <dd><p class="first">This optional array defines the scattering mechanism involved in
binietoglou@1 611 each lidar channel. In particular the following values are adopted:</p>
binietoglou@1 612 <table border="1" class="docutils">
binietoglou@1 613 <colgroup>
binietoglou@1 614 <col width="6%" />
binietoglou@1 615 <col width="94%" />
binietoglou@1 616 </colgroup>
binietoglou@1 617 <tbody valign="top">
binietoglou@1 618 <tr class="row-odd"><td>0</td>
binietoglou@1 619 <td><span class="math">\(\rightarrow\)</span> Total elastic backscatter</td>
binietoglou@1 620 </tr>
binietoglou@1 621 <tr class="row-even"><td>1</td>
binietoglou@1 622 <td><span class="math">\(\rightarrow\)</span> <span class="math">\(N_2\)</span> vibrational Raman backscatter</td>
binietoglou@1 623 </tr>
binietoglou@1 624 <tr class="row-odd"><td>2</td>
binietoglou@1 625 <td><span class="math">\(\rightarrow\)</span> Cross polarization elastic backscatter</td>
binietoglou@1 626 </tr>
binietoglou@1 627 <tr class="row-even"><td>3</td>
binietoglou@1 628 <td><span class="math">\(\rightarrow\)</span> Parallel polarization elastic backscatter</td>
binietoglou@1 629 </tr>
binietoglou@1 630 <tr class="row-odd"><td>4</td>
binietoglou@1 631 <td><span class="math">\(\rightarrow\)</span> <span class="math">\(H_2O\)</span> vibrational Raman backscatter</td>
binietoglou@1 632 </tr>
binietoglou@1 633 <tr class="row-even"><td>5</td>
binietoglou@1 634 <td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes line close to elastic line</td>
binietoglou@1 635 </tr>
binietoglou@1 636 <tr class="row-odd"><td>6</td>
binietoglou@1 637 <td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes line far from elastic line</td>
binietoglou@1 638 </tr>
binietoglou@1 639 <tr class="row-even"><td>7</td>
binietoglou@1 640 <td><span class="math">\(\rightarrow\)</span> Rotational Raman anti-Stokes line close to elastic line</td>
binietoglou@1 641 </tr>
binietoglou@1 642 <tr class="row-odd"><td>8</td>
binietoglou@1 643 <td><span class="math">\(\rightarrow\)</span> Rotational Raman anti-Stokes line far from elastic line</td>
binietoglou@1 644 </tr>
binietoglou@1 645 <tr class="row-even"><td>9</td>
binietoglou@1 646 <td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes and anti-Stokes lines close to elastic line</td>
binietoglou@1 647 </tr>
binietoglou@1 648 <tr class="row-odd"><td>10</td>
binietoglou@1 649 <td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes and anti-Stokes lines far from elastic line</td>
binietoglou@1 650 </tr>
binietoglou@1 651 </tbody>
binietoglou@1 652 </table>
binietoglou@1 653 <p>This information can be also taken from SCC_DB. In our example we have:</p>
binietoglou@1 654 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Scattering_Mechanism</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">1</span> <span class="p">;</span>
binietoglou@1 655 </pre></div>
binietoglou@1 656 </div>
binietoglou@1 657 </dd>
binietoglou@1 658 <dt>Acquisition_Mode(channels)</dt>
binietoglou@1 659 <dd><p class="first">This optional array defines the acquisition mode (analog or
binietoglou@1 660 photoncounting) involved in each lidar channel. In particular a value
binietoglou@1 661 of 0 means analog mode and 1 photoncounting mode. This information
binietoglou@1 662 can be also taken from SCC_DB. In our example we have:</p>
binietoglou@1 663 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Acquisition_Mode</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span> <span class="p">;</span>
binietoglou@1 664 </pre></div>
binietoglou@1 665 </div>
binietoglou@1 666 </dd>
binietoglou@1 667 <dt>Laser_Repetition_Rate(channels)</dt>
binietoglou@1 668 <dd><p class="first">This optional array defines the repetition rate in Hz used to
binietoglou@1 669 acquire each lidar channel. This information can be also taken from
binietoglou@1 670 SCC_DB. In our example we are supposing we have only one laser with
binietoglou@1 671 a repetition rate of 50 Hz so we have to set:</p>
binietoglou@1 672 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Laser_Repetition_Rate</span> <span class="o">=</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">50</span> <span class="p">;</span>
binietoglou@1 673 </pre></div>
binietoglou@1 674 </div>
binietoglou@1 675 </dd>
binietoglou@1 676 <dt>Dead_Time(channels)</dt>
binietoglou@1 677 <dd><p class="first">This optional array defines the dead time in ns associated to each
binietoglou@1 678 lidar channel. The SCC will use the values given by this array to
binietoglou@1 679 correct the photoncounting signals for dead time. Of course for
binietoglou@1 680 analog signals no dead time correction will be applied (for analog
binietoglou@1 681 channels the corresponding dead time values have to be set to
binietoglou@1 682 undefined value). This information can be also taken from SCC_DB. In
binietoglou@1 683 our example the 1064 nm channel is acquired in analog mode so the
binietoglou@1 684 corresponding dead time value has to be undefined. If we suppose a
binietoglou@1 685 dead time of 10 ns for all other channels we have to set:</p>
binietoglou@1 686 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Dead_Time</span> <span class="o">=</span> <span class="n">_</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">10</span> <span class="p">;</span>
binietoglou@1 687 </pre></div>
binietoglou@1 688 </div>
binietoglou@1 689 </dd>
binietoglou@1 690 <dt>Dead_Time_Corr_Type(channels</dt>
binietoglou@1 691 <dd><p class="first">This optional array defines which kind of dead time correction has
binietoglou@1 692 to be applied on each photoncounting channel. The SCC will correct
binietoglou@1 693 the data supposing a not-paralyzable channel if a value of 0 is found
binietoglou@1 694 while a paralyzable channel is supposed if a value of 1 is found. Of
binietoglou@1 695 course for analog signals no dead time correction will be applied and
binietoglou@1 696 so the corresponding values have to be set to undefined value. This
binietoglou@1 697 information can be also taken from SCC_DB. In our example the 1064
binietoglou@1 698 nm channel is acquired in analog mode so the corresponding has to be
binietoglou@1 699 undefined. If we want to consider all the photoncounting signals as
binietoglou@1 700 not-paralyzable ones: we have to set:</p>
binietoglou@1 701 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Dead_Time_Corr_Type</span> <span class="o">=</span> <span class="n">_</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span> <span class="p">;</span>
binietoglou@1 702 </pre></div>
binietoglou@1 703 </div>
binietoglou@1 704 </dd>
binietoglou@1 705 <dt>Trigger_Delay(channels)</dt>
binietoglou@1 706 <dd><p class="first">This optional array defines the delay (in ns) of the middle of the
binietoglou@1 707 first rangebin with respect to the output laser pulse for each lidar
binietoglou@1 708 channel. The SCC will use the values given by this array to correct
binietoglou@1 709 for trigger delay. This information can be also taken from SCC_DB.
binietoglou@1 710 Let’s suppose that in our example all the photoncounting channels are
binietoglou@1 711 not affected by this delay and only the analog channel at 1064nm is
binietoglou@1 712 acquired with a delay of 50ns. In this case we have to set:</p>
binietoglou@1 713 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Trigger_Delay</span> <span class="o">=</span> <span class="mi">50</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span> <span class="p">;</span>
binietoglou@1 714 </pre></div>
binietoglou@1 715 </div>
binietoglou@1 716 </dd>
binietoglou@1 717 <dt>Background_Mode(channels</dt>
binietoglou@1 718 <dd><p class="first">This optional array defines how the atmospheric background has to be
binietoglou@1 719 subtracted from the lidar channel. Two options are available for the
binietoglou@1 720 calculation of atmospheric background:</p>
binietoglou@1 721 <ol class="arabic simple">
binietoglou@1 722 <li>Average in the far field of lidar channel. In this case the value
binietoglou@1 723 of this variable has to be 1</li>
binietoglou@1 724 <li>Average within pre-trigger bins. In this case the value of this
binietoglou@1 725 variable has to be 0</li>
binietoglou@1 726 </ol>
binietoglou@1 727 <p>This information can be also taken from SCC_DB. Let’s suppose in our
binietoglou@1 728 example we use the pre-trigger for the 1064nm channel and the far
binietoglou@1 729 field for all other channels. In this case we have to set:</p>
binietoglou@1 730 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Background_Mode</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span> <span class="p">;</span>
binietoglou@1 731 </pre></div>
binietoglou@1 732 </div>
binietoglou@1 733 </dd>
binietoglou@1 734 <dt>Background_Low(channels)</dt>
binietoglou@1 735 <dd><p class="first">This mandatory array defines the minimum altitude (in meters) to
binietoglou@1 736 consider in calculating the atmospheric background for each channel.
binietoglou@1 737 In case pre-trigger mode is used the corresponding value has to be
binietoglou@1 738 set to the rangebin to be used as lower limit (within pre-trigger
binietoglou@1 739 region) for background calculation. In our example, if we want to
binietoglou@1 740 calculate the background between 30000 and 50000 meters for all
binietoglou@1 741 photoncounting channels and we want to use the first 500 pre-trigger
binietoglou@1 742 bins for the background calculation for the 1064nm channel we have to
binietoglou@1 743 set:</p>
binietoglou@1 744 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Background_Low</span><span class="o">=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">30000</span><span class="p">,</span> <span class="mi">30000</span><span class="p">,</span> <span class="mi">30000</span> <span class="p">;</span>
binietoglou@1 745 </pre></div>
binietoglou@1 746 </div>
binietoglou@1 747 </dd>
binietoglou@1 748 <dt>Background_High(channels)</dt>
binietoglou@1 749 <dd><p class="first">This mandatory array defines the maximum altitude (in meters) to
binietoglou@1 750 consider in calculating the atmospheric background for each channel.
binietoglou@1 751 In case pre-trigger mode is used the corresponding value has to be
binietoglou@1 752 set to the rangebin to be used as upper limit (within pre-trigger
binietoglou@1 753 region) for background calculation. In our example, if we want to
binietoglou@1 754 calculate the background between 30000 and 50000 meters for all
binietoglou@1 755 photoncounting channels and we want to use the first 500 pre-trigger
binietoglou@1 756 bins for the background calculation for the 1064nm channel we have to
binietoglou@1 757 set:</p>
binietoglou@1 758 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Background_High</span> <span class="o">=</span> <span class="mi">500</span><span class="p">,</span> <span class="mi">50000</span><span class="p">,</span> <span class="mi">50000</span><span class="p">,</span> <span class="mi">50000</span> <span class="p">;</span>
binietoglou@1 759 </pre></div>
binietoglou@1 760 </div>
binietoglou@1 761 </dd>
binietoglou@1 762 <dt>Molecular_Calc</dt>
binietoglou@1 763 <dd><p class="first">This mandatory variable defines the way used by SCC to calculate the
binietoglou@1 764 molecular density profile. At the moment two options are available:</p>
binietoglou@1 765 <ol class="arabic simple">
binietoglou@1 766 <li>US Standard Atmosphere 1976. In this case the value of this
binietoglou@1 767 variable has to be 0</li>
binietoglou@1 768 <li>Radiosounding. In this case the value of this variable has to be 1</li>
binietoglou@1 769 </ol>
binietoglou@1 770 <p>If we decide to use the option 1. we have to provide also the
binietoglou@1 771 measured pressure and temperature at lidar station level. Indeed if
binietoglou@1 772 we decide to use the option 2. a radiosounding file has to be
binietoglou@1 773 submitted separately in NetCDF format (the structure of this file is
binietoglou@1 774 summarized in table tab:sounding). Let’s suppose we want to use the
binietoglou@1 775 option 1. so:</p>
binietoglou@1 776 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Molecular_Calc</span> <span class="o">=</span> <span class="mi">0</span> <span class="p">;</span>
binietoglou@1 777 </pre></div>
binietoglou@1 778 </div>
binietoglou@1 779 </dd>
binietoglou@1 780 <dt>Pressure_at_Lidar_Station</dt>
binietoglou@1 781 <dd><p class="first">Because we have chosen the US Standard Atmosphere for calculation of
binietoglou@1 782 the molecular density profile we have to give the pressure in hPa at
binietoglou@1 783 lidar station level:</p>
binietoglou@1 784 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Pressure_at_Lidar_Station</span> <span class="o">=</span> <span class="mi">1010</span> <span class="p">;</span>
binietoglou@1 785 </pre></div>
binietoglou@1 786 </div>
binietoglou@1 787 </dd>
binietoglou@1 788 <dt>Temperature_at_Lidar_Station</dt>
binietoglou@1 789 <dd><p class="first">Because we have chosen the US Standard Atmosphere for calculation of
binietoglou@1 790 the molecular density profile we have to give the temperature in C at
binietoglou@1 791 lidar station level:</p>
binietoglou@1 792 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Temperature_at_Lidar_Station</span> <span class="o">=</span> <span class="mf">19.8</span> <span class="p">;</span>
binietoglou@1 793 </pre></div>
binietoglou@1 794 </div>
binietoglou@1 795 </dd>
binietoglou@1 796 <dt>Depolarization_Factor(channels)</dt>
binietoglou@1 797 <dd><p class="first">This array is required only for lidar systems that use the two
binietoglou@1 798 depolarization channels for the backscatter retrieval. It represents
binietoglou@1 799 the factor <span class="math">\(f\)</span> to calculate the total backscatter signal
binietoglou@1 800 <span class="math">\(S_t\)</span> combining its cross <span class="math">\(S_c\)</span> and parallel
binietoglou@1 801 <span class="math">\(S_p\)</span> components: <span class="math">\(S_t=S_p+fS_c\)</span>. This factor is
binietoglou@1 802 mandatory only for systems acquiring <span class="math">\(S_c\)</span> and <span class="math">\(S_p\)</span>
binietoglou@1 803 and not <span class="math">\(S_t\)</span>. For systems acquiring <span class="math">\(S_c\)</span>,
binietoglou@1 804 <span class="math">\(S_p\)</span> and <span class="math">\(S_t\)</span> this factor is optional and it will
binietoglou@1 805 be used only for depolarizaton ratio calculation. Moreover only the
binietoglou@1 806 values of the array corresponding to cross polarization channels will
binietoglou@1 807 be considered; all other values will be not taken into account and
binietoglou@1 808 should be set to undefined value. In our example for the wavelength
binietoglou@1 809 532nm we have only the cross and the parallel components and not the
binietoglou@1 810 total one. So we have to give the value of this factor only in
binietoglou@1 811 correspondence of the 532nm cross polarization channel that
binietoglou@1 812 corresponds to the channel index 1. Suppose that this factor is 0.88.
binietoglou@1 813 Moreover, because we don’t have any other depolarization channels we
binietoglou@1 814 have also to set all other values of the array to undefined value.</p>
binietoglou@1 815 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Depolarization_Factor</span> <span class="o">=</span> <span class="n">_</span><span class="p">,</span><span class="mf">0.88</span><span class="p">,</span><span class="n">_</span><span class="p">,</span><span class="n">_</span> <span class="p">;</span>
binietoglou@1 816 </pre></div>
binietoglou@1 817 </div>
binietoglou@1 818 </dd>
binietoglou@1 819 <dt>LR_Input(channels)</dt>
binietoglou@1 820 <dd><p class="first">This array is required only for lidar channels for which elastic
binietoglou@1 821 backscatter retrieval has to be performed. It defines the lidar ratio
binietoglou@1 822 to be used within this retrieval. Two options are available:</p>
binietoglou@1 823 <ol class="arabic simple">
binietoglou@1 824 <li>The user can submit a lidar ratio profile. In this case the value
binietoglou@1 825 of this variable has to be 0.</li>
binietoglou@1 826 <li>A fixed value of lidar ratio can be used. In this case the value
binietoglou@1 827 of this variable has to be 1.</li>
binietoglou@1 828 </ol>
binietoglou@1 829 <p>If we decide to use the option 1. a lidar ratio file has to be
binietoglou@1 830 submitted separately in NetCDF format (the structure of this file is
binietoglou@1 831 summarized in table tab:lr). If we decide to use the option 2. the
binietoglou@1 832 fixed value of lidar ratio will be taken from SCC_DB. In our example
binietoglou@1 833 we have to give a value of this array only for the 1064nm lidar
binietoglou@1 834 channel because for the 532nm we will be able to retrieve a Raman
binietoglou@1 835 backscatter coefficient. In case we want to use the fixed value
binietoglou@1 836 stored in SCC_DB we have to set:</p>
binietoglou@1 837 <div class="last highlight-python"><div class="highlight"><pre><span class="n">LR_Input</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span><span class="n">_</span><span class="p">,</span><span class="n">_</span><span class="p">,</span><span class="n">_</span> <span class="p">;</span>
binietoglou@1 838 </pre></div>
binietoglou@1 839 </div>
binietoglou@1 840 </dd>
binietoglou@1 841 <dt>DAQ_Range(channels)</dt>
binietoglou@1 842 <dd><p class="first">This array is required only if one or more lidar signals are
binietoglou@1 843 acquired in analog mode. It gives the analog scale in mV used to
binietoglou@1 844 acquire the analog signals. In our example we have only the 1064nm
binietoglou@1 845 channel acquired in analog mode. If we have used a 100mV analog scale
binietoglou@1 846 to acquire this channel we have to set:</p>
binietoglou@1 847 <div class="last highlight-python"><div class="highlight"><pre><span class="n">DAQ_Range</span> <span class="o">=</span> <span class="mi">100</span><span class="p">,</span><span class="n">_</span><span class="p">,</span><span class="n">_</span><span class="p">,</span><span class="n">_</span> <span class="p">;</span>
binietoglou@1 848 </pre></div>
binietoglou@1 849 </div>
binietoglou@1 850 </dd>
binietoglou@1 851 </dl>
binietoglou@1 852 </div>
binietoglou@1 853 <div class="section" id="global-attributes">
binietoglou@1 854 <h3>Global attributes<a class="headerlink" href="#global-attributes" title="Permalink to this headline">¶</a></h3>
binietoglou@1 855 <dl class="docutils">
binietoglou@1 856 <dt>Measurement_ID</dt>
binietoglou@1 857 <dd><p class="first">This mandatory global attribute defines the measurement ID
binietoglou@1 858 corresponding to the actual lidar measurement. It is a string
binietoglou@1 859 composed by 12 characters. The first 8 characters give the start date
binietoglou@1 860 of measurement in the format YYYYMMDD. The next 2 characters give the
binietoglou@1 861 Earlinet call-sign of the station. The last 2 characters are used to
binietoglou@1 862 distinguish between different time-series within the same date. In
binietoglou@1 863 our example we have to set:</p>
binietoglou@1 864 <div class="last highlight-python"><div class="highlight"><pre><span class="n">Measurement_ID</span><span class="o">=</span> <span class="s">&quot;20090130cc00&quot;</span> <span class="p">;</span>
binietoglou@1 865 </pre></div>
binietoglou@1 866 </div>
binietoglou@1 867 </dd>
binietoglou@1 868 <dt>RawData_Start_Date</dt>
binietoglou@1 869 <dd><p class="first">This mandatory global attribute defines the start date of lidar
binietoglou@1 870 measurements in the format YYYYMMDD. In our case we have:</p>
binietoglou@1 871 <div class="last highlight-python"><div class="highlight"><pre><span class="n">RawData_Start_Date</span> <span class="o">=</span> <span class="s">&quot;20090130&quot;</span> <span class="p">;</span>
binietoglou@1 872 </pre></div>
binietoglou@1 873 </div>
binietoglou@1 874 </dd>
binietoglou@1 875 <dt>RawData_Start_Time_UT</dt>
binietoglou@1 876 <dd><p class="first">This mandatory global attribute defines the UT start time of lidar
binietoglou@1 877 measurements in the format HHMMSS. In our case we have:</p>
binietoglou@1 878 <div class="last highlight-python"><div class="highlight"><pre><span class="n">RawData_Start_Time_UT</span> <span class="o">=</span> <span class="s">&quot;000001&quot;</span> <span class="p">;</span>
binietoglou@1 879 </pre></div>
binietoglou@1 880 </div>
binietoglou@1 881 </dd>
binietoglou@1 882 <dt>RawData_Stop_Time_UT``</dt>
binietoglou@1 883 <dd><p class="first">This mandatory global attribute defines the UT stop time of lidar
binietoglou@1 884 measurements in the format HHMMSS. In our case we have:</p>
binietoglou@1 885 <div class="last highlight-python"><div class="highlight"><pre><span class="n">RawData_Stop_Time_UT</span> <span class="o">=</span> <span class="s">&quot;000501&quot;</span> <span class="p">;</span>
binietoglou@1 886 </pre></div>
binietoglou@1 887 </div>
binietoglou@1 888 </dd>
binietoglou@1 889 <dt>RawBck_Start_Date</dt>
binietoglou@1 890 <dd><p class="first">This optional global attribute defines the start date of dark
binietoglou@1 891 measurements in the format YYYYMMDD. In our case we have:</p>
binietoglou@1 892 <div class="last highlight-python"><div class="highlight"><pre><span class="n">RawBck_Start_Date</span> <span class="o">=</span> <span class="s">&quot;20090129&quot;</span> <span class="p">;</span>
binietoglou@1 893 </pre></div>
binietoglou@1 894 </div>
binietoglou@1 895 </dd>
binietoglou@1 896 <dt>RawBck_Start_Time_UT</dt>
binietoglou@1 897 <dd><p class="first">This optional global attribute defines the UT start time of dark
binietoglou@1 898 measurements in the format HHMMSS. In our case we have:</p>
binietoglou@1 899 <div class="last highlight-python"><div class="highlight"><pre><span class="n">RawBck_Start_Time_UT</span> <span class="o">=</span> <span class="s">&quot;235001&quot;</span> <span class="p">;</span>
binietoglou@1 900 </pre></div>
binietoglou@1 901 </div>
binietoglou@1 902 </dd>
binietoglou@1 903 <dt>RawBck_Stop_Time_UT</dt>
binietoglou@1 904 <dd><p class="first">This optional global attribute defines the UT stop time of dark
binietoglou@1 905 measurements in the format HHMMSS. In our case we have:</p>
binietoglou@1 906 <div class="last highlight-python"><div class="highlight"><pre><span class="n">RawBck_Stop_Time_UT</span> <span class="o">=</span> <span class="s">&quot;235301&quot;</span> <span class="p">;</span>
binietoglou@1 907 </pre></div>
binietoglou@1 908 </div>
binietoglou@1 909 </dd>
binietoglou@1 910 </dl>
binietoglou@1 911 </div>
binietoglou@1 912 </div>
binietoglou@1 913 <div class="section" id="example-of-file-cdl-format">
binietoglou@1 914 <h2>Example of file (CDL format)<a class="headerlink" href="#example-of-file-cdl-format" title="Permalink to this headline">¶</a></h2>
binietoglou@1 915 <p>To summarize we have the following NetCDF Raw Lidar Data file (in CDL
binietoglou@1 916 format):</p>
binietoglou@1 917 <div class="highlight-python"><pre>dimensions:
binietoglou@1 918 points = 5000 ;
binietoglou@1 919 channels = 4 ;
binietoglou@1 920 time = UNLIMITED ; // (10 currently)
binietoglou@1 921 nb_of_time_scales = 2 ;
binietoglou@1 922 scan_angles = 1 ;
binietoglou@1 923 time_bck = 6 ;
binietoglou@1 924 variables:
binietoglou@1 925 int channel_ID(channels) ;
binietoglou@1 926 int Laser_Repetition_Rate(channels) ;
binietoglou@1 927 double Laser_Pointing_Angle(scan_angles) ;
binietoglou@1 928 int ID_Range(channels) ;
binietoglou@1 929 int Scattering_Mechanism(channels) ;
binietoglou@1 930 double Emitted_Wavelength(channels) ;
binietoglou@1 931 double Detected_Wavelength(channels) ;
binietoglou@1 932 double Raw_Data_Range_Resolution(channels) ;
binietoglou@1 933 int Background_Mode(channels) ;
binietoglou@1 934 double Background_Low(channels) ;
binietoglou@1 935 double Background_High(channels) ;
binietoglou@1 936 int Molecular_Calc ;
binietoglou@1 937 double Pressure_at_Lidar_Station ;
binietoglou@1 938 double Temperature_at_Lidar_Station ;
binietoglou@1 939 int id_timescale(channels) ;
binietoglou@1 940 double Dead_Time(channels) ;
binietoglou@1 941 int Dead_Time_Corr_Type(channels) ;
binietoglou@1 942 int Acquisition_Mode(channels) ;
binietoglou@1 943 double Trigger_Delay(channels) ;
binietoglou@1 944 int LR_Input(channels) ;
binietoglou@1 945 int Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales) ;
binietoglou@1 946 int Raw_Data_Start_Time(time, nb_of_time_scales) ;
binietoglou@1 947 int Raw_Data_Stop_Time(time, nb_of_time_scales) ;
binietoglou@1 948 int Raw_Bck_Start_Time(time_bck, nb_of_time_scales) ;
binietoglou@1 949 int Raw_Bck_Stop_Time(time_bck, nb_of_time_scales) ;
binietoglou@1 950 int Laser_Shots(time, channels) ;
binietoglou@1 951 double Raw_Lidar_Data(time, channels, points) ;
binietoglou@1 952 double Background_Profile(time_bck, channels, points) ;
binietoglou@1 953 double DAQ_Range(channels) ;
binietoglou@1 954
binietoglou@1 955 // global attributes:
binietoglou@1 956 :Measurement_ID = "20090130cc00" ;
binietoglou@1 957 :RawData_Start_Date = "20090130" ;
binietoglou@1 958 :RawData_Start_Time_UT = "000001" ;
binietoglou@1 959 :RawData_Stop_Time_UT = "000501" ;
binietoglou@1 960 :RawBck_Start_Date = "20090129" ;
binietoglou@1 961 :RawBck_Start_Time_UT = "235001" ;
binietoglou@1 962 :RawBck_Stop_Time_UT = "235301" ;
binietoglou@1 963
binietoglou@1 964 data:
binietoglou@1 965
binietoglou@1 966 channel_ID = 7, 5, 6, 8 ;
binietoglou@1 967
binietoglou@1 968 Laser_Repetition_Rate = 50, 50, 50, 50 ;
binietoglou@1 969
binietoglou@1 970 Laser_Pointing_Angle = 5 ;
binietoglou@1 971
binietoglou@1 972 ID_Range = 1, 1, 1, 1 ;
binietoglou@1 973
binietoglou@1 974 Scattering_Mechanism = 0, 2, 3, 1 ;
binietoglou@1 975
binietoglou@1 976 Emitted_Wavelength = 1064, 532, 532, 532 ;
binietoglou@1 977
binietoglou@1 978 Detected_Wavelength = 1064, 532, 532, 607 ;
binietoglou@1 979
binietoglou@1 980 Raw_Data_Range_Resolution = 7.5, 15, 15, 15 ;
binietoglou@1 981
binietoglou@1 982 Background_Mode = 0, 1, 1, 1 ;
binietoglou@1 983
binietoglou@1 984 Background_Low = 0, 30000, 30000, 30000 ;
binietoglou@1 985
binietoglou@1 986 Background_High = 500, 50000, 50000, 50000 ;
binietoglou@1 987
binietoglou@1 988 Molecular_Calc = 0 ;
binietoglou@1 989
binietoglou@1 990 Pressure_at_Lidar_Station = 1010 ;
binietoglou@1 991
binietoglou@1 992 Temperature_at_Lidar_Station = 19.8 ;
binietoglou@1 993
binietoglou@1 994 id_timescale = 1, 0, 0, 0 ;
binietoglou@1 995
binietoglou@1 996 Dead_Time = _, 10, 10, 10 ;
binietoglou@1 997
binietoglou@1 998 Dead_Time_Corr_Type = _, 0, 0, 0 ;
binietoglou@1 999
binietoglou@1 1000 Acquisition_Mode = 0, 1, 1, 1 ;
binietoglou@1 1001
binietoglou@1 1002 Trigger_Delay = 50, 0, 0, 0 ;
binietoglou@1 1003
binietoglou@1 1004 LR_Input = 1,_,_,_ ;
binietoglou@1 1005
binietoglou@1 1006 DAQ_Range = 100,_,_,_ ;
binietoglou@1 1007
binietoglou@1 1008 Laser_Pointing_Angle_of_Profiles =
binietoglou@1 1009 0, 0,
binietoglou@1 1010 0, 0,
binietoglou@1 1011 0, 0,
binietoglou@1 1012 0, 0,
binietoglou@1 1013 0, 0,
binietoglou@1 1014 _, 0,
binietoglou@1 1015 _, 0,
binietoglou@1 1016 _, 0,
binietoglou@1 1017 _, 0,
binietoglou@1 1018 _, 0 ;
binietoglou@1 1019
binietoglou@1 1020
binietoglou@1 1021 Raw_Data_Start_Time =
binietoglou@1 1022 0, 0,
binietoglou@1 1023 60, 30,
binietoglou@1 1024 120, 60,
binietoglou@1 1025 180, 90,
binietoglou@1 1026 240, 120,
binietoglou@1 1027 _, 150,
binietoglou@1 1028 _, 180,
binietoglou@1 1029 _, 210,
binietoglou@1 1030 _, 240,
binietoglou@1 1031 _, 270 ;
binietoglou@1 1032
binietoglou@1 1033 Raw_Data_Stop_Time =
binietoglou@1 1034 60, 30,
binietoglou@1 1035 120, 60,
binietoglou@1 1036 180, 90,
binietoglou@1 1037 240, 120,
binietoglou@1 1038 300, 150,
binietoglou@1 1039 _, 180,
binietoglou@1 1040 _, 210,
binietoglou@1 1041 _, 240,
binietoglou@1 1042 _, 270,
binietoglou@1 1043 _, 300 ;
binietoglou@1 1044
binietoglou@1 1045
binietoglou@1 1046 Raw_Bck_Start_Time =
binietoglou@1 1047 0, 0,
binietoglou@1 1048 60, 30,
binietoglou@1 1049 120, 60,
binietoglou@1 1050 _, 90,
binietoglou@1 1051 _, 120,
binietoglou@1 1052 _, 150;
binietoglou@1 1053
binietoglou@1 1054
binietoglou@1 1055 Raw_Bck_Stop_Time =
binietoglou@1 1056 60, 30,
binietoglou@1 1057 120, 60,
binietoglou@1 1058 180, 90,
binietoglou@1 1059 _, 120,
binietoglou@1 1060 _, 150,
binietoglou@1 1061 _, 180 ;
binietoglou@1 1062
binietoglou@1 1063
binietoglou@1 1064 Laser_Shots =
binietoglou@1 1065 1500, 3000, 3000, 3000,
binietoglou@1 1066 1500, 3000, 3000, 3000,
binietoglou@1 1067 1500, 3000, 3000, 3000,
binietoglou@1 1068 1500, 3000, 3000, 3000,
binietoglou@1 1069 1500, 3000, 3000, 3000,
binietoglou@1 1070 1500, _, _, _,
binietoglou@1 1071 1500, _, _, _,
binietoglou@1 1072 1500, _, _, _,
binietoglou@1 1073 1500, _, _, _,
binietoglou@1 1074 1500, _, _, _ ;
binietoglou@1 1075
binietoglou@1 1076
binietoglou@1 1077 Raw_Lidar_Data = ...
binietoglou@1 1078
binietoglou@1 1079 Background_Profile = ...</pre>
binietoglou@1 1080 </div>
binietoglou@1 1081 <p>Please keep in mind that in case you submit a file like the previous one
binietoglou@1 1082 all the parameters present in it will be used by the SCC even if you
binietoglou@1 1083 have different values for the same parameters within the SCC_DB. If you
binietoglou@1 1084 want to use the values already stored in SCC_DB (this should be the
binietoglou@1 1085 usual way to use SCC) the Raw Lidar Data input file has to be
binietoglou@1 1086 modified as follows:</p>
binietoglou@1 1087 <div class="highlight-python"><pre>dimensions:
binietoglou@1 1088 points = 5000 ;
binietoglou@1 1089 channels = 4 ;
binietoglou@1 1090 time = UNLIMITED ; // (10 currently)
binietoglou@1 1091 nb_of_time_scales = 2 ;
binietoglou@1 1092 scan_angles = 1 ;
binietoglou@1 1093 time_bck = 6 ;
binietoglou@1 1094 variables:
binietoglou@1 1095 int channel_ID(channels) ;
binietoglou@1 1096 double Laser_Pointing_Angle(scan_angles) ;
binietoglou@1 1097 double Background_Low(channels) ;
binietoglou@1 1098 double Background_High(channels) ;
binietoglou@1 1099 int Molecular_Calc ;
binietoglou@1 1100 double Pressure_at_Lidar_Station ;
binietoglou@1 1101 double Temperature_at_Lidar_Station ;
binietoglou@1 1102 int id_timescale(channels) ;
binietoglou@1 1103 int Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales) ;
binietoglou@1 1104 int Raw_Data_Start_Time(time, nb_of_time_scales) ;
binietoglou@1 1105 int Raw_Data_Stop_Time(time, nb_of_time_scales) ;
binietoglou@1 1106 int Raw_Bck_Start_Time(time_bck, nb_of_time_scales) ;
binietoglou@1 1107 int Raw_Bck_Stop_Time(time_bck, nb_of_time_scales) ;
binietoglou@1 1108 int LR_Input(channels) ;
binietoglou@1 1109 int Laser_Shots(time, channels) ;
binietoglou@1 1110 double Raw_Lidar_Data(time, channels, points) ;
binietoglou@1 1111 double Background_Profile(time_bck, channels, points) ;
binietoglou@1 1112 double DAQ_Range(channels) ;
binietoglou@1 1113
binietoglou@1 1114 // global attributes:
binietoglou@1 1115 :Measurement_ID = "20090130cc00" ;
binietoglou@1 1116 :RawData_Start_Date = "20090130" ;
binietoglou@1 1117 :RawData_Start_Time_UT = "000001" ;
binietoglou@1 1118 :RawData_Stop_Time_UT = "000501" ;
binietoglou@1 1119 :RawBck_Start_Date = "20090129" ;
binietoglou@1 1120 :RawBck_Start_Time_UT = "235001" ;
binietoglou@1 1121 :RawBck_Stop_Time_UT = "235301" ;
binietoglou@1 1122
binietoglou@1 1123 data:
binietoglou@1 1124
binietoglou@1 1125 channel_ID = 7, 5, 6, 8 ;
binietoglou@1 1126
binietoglou@1 1127 Laser_Pointing_Angle = 5 ;
binietoglou@1 1128
binietoglou@1 1129 Background_Low = 0, 30000, 30000, 30000 ;
binietoglou@1 1130
binietoglou@1 1131 Background_High = 500, 50000, 50000, 50000 ;
binietoglou@1 1132
binietoglou@1 1133 Molecular_Calc = 0 ;
binietoglou@1 1134
binietoglou@1 1135 Pressure_at_Lidar_Station = 1010 ;
binietoglou@1 1136
binietoglou@1 1137 Temperature_at_Lidar_Station = 19.8 ;
binietoglou@1 1138
binietoglou@1 1139 id_timescale = 1, 0, 0, 0 ;
binietoglou@1 1140
binietoglou@1 1141 LR_Input = 1,_,_,_ ;
binietoglou@1 1142
binietoglou@1 1143 DAQ_Range = 100,_,_,_ ;
binietoglou@1 1144
binietoglou@1 1145 Laser_Pointing_Angle_of_Profiles =
binietoglou@1 1146 0, 0,
binietoglou@1 1147 0, 0,
binietoglou@1 1148 0, 0,
binietoglou@1 1149 0, 0,
binietoglou@1 1150 0, 0,
binietoglou@1 1151 _, 0,
binietoglou@1 1152 _, 0,
binietoglou@1 1153 _, 0,
binietoglou@1 1154 _, 0,
binietoglou@1 1155 _, 0 ;
binietoglou@1 1156
binietoglou@1 1157
binietoglou@1 1158 Raw_Data_Start_Time =
binietoglou@1 1159 0, 0,
binietoglou@1 1160 60, 30,
binietoglou@1 1161 120, 60,
binietoglou@1 1162 180, 90,
binietoglou@1 1163 240, 120,
binietoglou@1 1164 _, 150,
binietoglou@1 1165 _, 180,
binietoglou@1 1166 _, 210,
binietoglou@1 1167 _, 240,
binietoglou@1 1168 _, 270 ;
binietoglou@1 1169
binietoglou@1 1170 Raw_Data_Stop_Time =
binietoglou@1 1171 60, 30,
binietoglou@1 1172 120, 60,
binietoglou@1 1173 180, 90,
binietoglou@1 1174 240, 120,
binietoglou@1 1175 300, 150,
binietoglou@1 1176 _, 180,
binietoglou@1 1177 _, 210,
binietoglou@1 1178 _, 240,
binietoglou@1 1179 _, 270,
binietoglou@1 1180 _, 300 ;
binietoglou@1 1181
binietoglou@1 1182
binietoglou@1 1183 Raw_Bck_Start_Time =
binietoglou@1 1184 0, 0,
binietoglou@1 1185 60, 30,
binietoglou@1 1186 120, 60,
binietoglou@1 1187 _, 90,
binietoglou@1 1188 _, 120,
binietoglou@1 1189 _, 150;
binietoglou@1 1190
binietoglou@1 1191
binietoglou@1 1192 Raw_Bck_Stop_Time =
binietoglou@1 1193 60, 30,
binietoglou@1 1194 120, 60,
binietoglou@1 1195 180, 90,
binietoglou@1 1196 _, 120,
binietoglou@1 1197 _, 150,
binietoglou@1 1198 _, 180 ;
binietoglou@1 1199
binietoglou@1 1200
binietoglou@1 1201 Laser_Shots =
binietoglou@1 1202 1500, 3000, 3000, 3000,
binietoglou@1 1203 1500, 3000, 3000, 3000,
binietoglou@1 1204 1500, 3000, 3000, 3000,
binietoglou@1 1205 1500, 3000, 3000, 3000,
binietoglou@1 1206 1500, 3000, 3000, 3000,
binietoglou@1 1207 1500, _, _, _,
binietoglou@1 1208 1500, _, _, _,
binietoglou@1 1209 1500, _, _, _,
binietoglou@1 1210 1500, _, _, _,
binietoglou@1 1211 1500, _, _, _ ;
binietoglou@1 1212
binietoglou@1 1213
binietoglou@1 1214 Raw_Lidar_Data = ...
binietoglou@1 1215
binietoglou@1 1216 Background_Profile = ...</pre>
binietoglou@1 1217 </div>
binietoglou@1 1218 <p>This example file contains the minimum collection of mandatory
binietoglou@1 1219 information that has to be found within the Raw Lidar Data input
binietoglou@1 1220 file. If it is really necessary, the user can decide to add to these
binietoglou@1 1221 mandatory parameters any number of additional parameters considered in
binietoglou@1 1222 the previous example.</p>
binietoglou@1 1223 <p>Finally, suppose we want to make the following changes with respect to
binietoglou@1 1224 the previous example:</p>
binietoglou@1 1225 <ol class="arabic simple">
binietoglou@1 1226 <li>use a sounding file for molecular density calculation instead of “US
binietoglou@1 1227 Standar Atmosphere 1976”</li>
binietoglou@1 1228 <li>supply a lidar ratio profile to use in elastic backscatter retrieval
binietoglou@1 1229 instead of a fixed value</li>
binietoglou@1 1230 <li>provide a overlap function for overlap correction</li>
binietoglou@1 1231 </ol>
binietoglou@1 1232 <p>In this case we have to generate the following NetCDF additional files:</p>
binietoglou@1 1233 <dl class="docutils">
binietoglou@1 1234 <dt>rs_20090130cc00.nc</dt>
binietoglou@1 1235 <dd>The name of Sounding Data file has to be computed as follows:
binietoglou@1 1236 <tt class="docutils literal"><span class="pre">&quot;rs_&quot;``+``Measurement_ID</span></tt>
binietoglou@1 1237 The structure of this file is summarized in table tab:sounding.</dd>
binietoglou@1 1238 <dt>ov_20090130cc00.nc</dt>
binietoglou@1 1239 <dd>The name of Overlap file has to be computed as follows:
binietoglou@1 1240 <tt class="docutils literal"><span class="pre">&quot;ov_&quot;``+``Measurement_ID</span></tt>
binietoglou@1 1241 The structure of this file is summarized in table tab:overlap.</dd>
binietoglou@1 1242 <dt>lr_20090130cc00.nc</dt>
binietoglou@1 1243 <dd>The name of Lidar Ratio file has to be computed as follows:
binietoglou@1 1244 <tt class="docutils literal"><span class="pre">&quot;lr_&quot;``+``Measurement_ID</span></tt>
binietoglou@1 1245 The structure of this file is summarized in table tab:lr.</dd>
binietoglou@1 1246 </dl>
binietoglou@1 1247 <p>Moreover we need to apply the following changes to the Raw Lidar Data
binietoglou@1 1248 input file:</p>
binietoglou@1 1249 <ol class="arabic">
binietoglou@1 1250 <li><p class="first">Change the value of the variable <tt class="docutils literal"><span class="pre">Molecular_Calc</span></tt> as follows:</p>
binietoglou@1 1251 <div class="highlight-python"><div class="highlight"><pre><span class="n">Molecular_Calc</span> <span class="o">=</span> <span class="mi">1</span> <span class="p">;</span>
binietoglou@1 1252 </pre></div>
binietoglou@1 1253 </div>
binietoglou@1 1254 <p>Of course the variables <tt class="docutils literal"><span class="pre">Pressure_at_Lidar_Station</span></tt> and
binietoglou@1 1255 <tt class="docutils literal"><span class="pre">Temperature_at_Lidar_Station</span></tt> are not necessary anymore.</p>
binietoglou@1 1256 </li>
binietoglou@1 1257 <li><p class="first">Change the values of the array <tt class="docutils literal"><span class="pre">LR_Input</span></tt> as follows:</p>
binietoglou@1 1258 <div class="highlight-python"><div class="highlight"><pre><span class="n">LR_Input</span> <span class="o">=</span> <span class="mi">0</span><span class="p">,</span><span class="n">_</span><span class="p">,</span><span class="n">_</span><span class="p">,</span><span class="n">_</span> <span class="p">;</span>
binietoglou@1 1259 </pre></div>
binietoglou@1 1260 </div>
binietoglou@1 1261 </li>
binietoglou@1 1262 <li><p class="first">Add the global attribute <tt class="docutils literal"><span class="pre">Sounding_File_Name</span></tt></p>
binietoglou@1 1263 <div class="highlight-python"><div class="highlight"><pre><span class="n">Sounding_File_Name</span> <span class="o">=</span> <span class="s">&quot;rs_20090130cc00.nc&quot;</span> <span class="p">;</span>
binietoglou@1 1264 </pre></div>
binietoglou@1 1265 </div>
binietoglou@1 1266 </li>
binietoglou@1 1267 </ol>
binietoglou@1 1268 <ol class="arabic" start="5">
binietoglou@1 1269 <li><p class="first">Add the global attribute <tt class="docutils literal"><span class="pre">LR_File_Name</span></tt></p>
binietoglou@1 1270 <div class="highlight-python"><div class="highlight"><pre><span class="n">LR_File_Name</span> <span class="o">=</span> <span class="s">&quot;lr_20090130cc00.nc&quot;</span> <span class="p">;</span>
binietoglou@1 1271 </pre></div>
binietoglou@1 1272 </div>
binietoglou@1 1273 </li>
binietoglou@1 1274 <li><p class="first">Add the global attribute <tt class="docutils literal"><span class="pre">Overlap_File_Name</span></tt></p>
binietoglou@1 1275 <div class="highlight-python"><div class="highlight"><pre><span class="n">Overlap_File_Name</span> <span class="o">=</span> <span class="s">&quot;ov_20090130cc00.nc&quot;</span> <span class="p">;</span>
binietoglou@1 1276 </pre></div>
binietoglou@1 1277 </div>
binietoglou@1 1278 </li>
binietoglou@1 1279 </ol>
binietoglou@1 1280 </div>
binietoglou@1 1281 </div>
binietoglou@1 1282
binietoglou@1 1283
binietoglou@1 1284 </div>
binietoglou@1 1285 </div>
binietoglou@1 1286 </div>
binietoglou@1 1287 <div class="sphinxsidebar">
binietoglou@1 1288 <div class="sphinxsidebarwrapper">
binietoglou@1 1289 <h3><a href="index.html">Table Of Contents</a></h3>
binietoglou@1 1290 <ul>
binietoglou@1 1291 <li><a class="reference internal" href="#">The SCC netCDF file format</a><ul>
binietoglou@1 1292 <li><a class="reference internal" href="#rationale">Rationale</a></li>
binietoglou@1 1293 <li><a class="reference internal" href="#example">Example</a><ul>
binietoglou@1 1294 <li><a class="reference internal" href="#dimensions">Dimensions</a></li>
binietoglou@1 1295 <li><a class="reference internal" href="#variables">Variables</a></li>
binietoglou@1 1296 <li><a class="reference internal" href="#global-attributes">Global attributes</a></li>
binietoglou@1 1297 </ul>
binietoglou@1 1298 </li>
binietoglou@1 1299 <li><a class="reference internal" href="#example-of-file-cdl-format">Example of file (CDL format)</a></li>
binietoglou@1 1300 </ul>
binietoglou@1 1301 </li>
binietoglou@1 1302 </ul>
binietoglou@1 1303
binietoglou@1 1304 <h4>Previous topic</h4>
binietoglou@1 1305 <p class="topless"><a href="measurement_upload.html"
binietoglou@1 1306 title="previous chapter">Processing measurement</a></p>
binietoglou@1 1307 <h4>Next topic</h4>
binietoglou@1 1308 <p class="topless"><a href="user_managment.html"
binietoglou@1 1309 title="next chapter">User management</a></p>
binietoglou@1 1310 <h3>This Page</h3>
binietoglou@1 1311 <ul class="this-page-menu">
binietoglou@1 1312 <li><a href="_sources/netcdf_file.txt"
binietoglou@1 1313 rel="nofollow">Show Source</a></li>
binietoglou@1 1314 </ul>
binietoglou@1 1315 <div id="searchbox" style="display: none">
binietoglou@1 1316 <h3>Quick search</h3>
binietoglou@1 1317 <form class="search" action="search.html" method="get">
binietoglou@1 1318 <input type="text" name="q" />
binietoglou@1 1319 <input type="submit" value="Go" />
binietoglou@1 1320 <input type="hidden" name="check_keywords" value="yes" />
binietoglou@1 1321 <input type="hidden" name="area" value="default" />
binietoglou@1 1322 </form>
binietoglou@1 1323 <p class="searchtip" style="font-size: 90%">
binietoglou@1 1324 Enter search terms or a module, class or function name.
binietoglou@1 1325 </p>
binietoglou@1 1326 </div>
binietoglou@1 1327 <script type="text/javascript">$('#searchbox').show(0);</script>
binietoglou@1 1328 </div>
binietoglou@1 1329 </div>
binietoglou@1 1330 <div class="clearer"></div>
binietoglou@1 1331 </div>
binietoglou@1 1332 <div class="related">
binietoglou@1 1333 <h3>Navigation</h3>
binietoglou@1 1334 <ul>
binietoglou@1 1335 <li class="right" style="margin-right: 10px">
binietoglou@1 1336 <a href="genindex.html" title="General Index"
binietoglou@1 1337 >index</a></li>
binietoglou@1 1338 <li class="right" >
binietoglou@1 1339 <a href="user_managment.html" title="User management"
binietoglou@1 1340 >next</a> |</li>
binietoglou@1 1341 <li class="right" >
binietoglou@1 1342 <a href="measurement_upload.html" title="Processing measurement"
binietoglou@1 1343 >previous</a> |</li>
binietoglou@1 1344 <li><a href="index.html">Single Calculus Chain 0.2 documentation</a> &raquo;</li>
binietoglou@1 1345 </ul>
binietoglou@1 1346 </div>
binietoglou@1 1347 <div class="footer">
binietoglou@1 1348 &copy; Copyright 2012, SCC team.
binietoglou@1 1349 Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
binietoglou@1 1350 </div>
binietoglou@1 1351 </body>
binietoglou@1 1352 </html>

mercurial