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