_build/html/netcdf_file.html

changeset 4
0601812aaaac
parent 3
ba31b26b041b
child 5
d7b1dd213c1c
--- a/_build/html/netcdf_file.html	Thu Mar 29 16:32:05 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1352 +0,0 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    
-    <title>The SCC netCDF file format &mdash; Single Calculus Chain 0.2 documentation</title>
-    
-    <link rel="stylesheet" href="_static/nature.css" type="text/css" />
-    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
-    
-    <script type="text/javascript">
-      var DOCUMENTATION_OPTIONS = {
-        URL_ROOT:    '',
-        VERSION:     '0.2',
-        COLLAPSE_INDEX: false,
-        FILE_SUFFIX: '.html',
-        HAS_SOURCE:  true
-      };
-    </script>
-    <script type="text/javascript" src="_static/jquery.js"></script>
-    <script type="text/javascript" src="_static/underscore.js"></script>
-    <script type="text/javascript" src="_static/doctools.js"></script>
-    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
-    <link rel="top" title="Single Calculus Chain 0.2 documentation" href="index.html" />
-    <link rel="next" title="User management" href="user_managment.html" />
-    <link rel="prev" title="Processing measurement" href="measurement_upload.html" /> 
-  </head>
-  <body>
-    <div class="related">
-      <h3>Navigation</h3>
-      <ul>
-        <li class="right" style="margin-right: 10px">
-          <a href="genindex.html" title="General Index"
-             accesskey="I">index</a></li>
-        <li class="right" >
-          <a href="user_managment.html" title="User management"
-             accesskey="N">next</a> |</li>
-        <li class="right" >
-          <a href="measurement_upload.html" title="Processing measurement"
-             accesskey="P">previous</a> |</li>
-        <li><a href="index.html">Single Calculus Chain 0.2 documentation</a> &raquo;</li> 
-      </ul>
-    </div>  
-
-    <div class="document">
-      <div class="documentwrapper">
-        <div class="bodywrapper">
-          <div class="body">
-            
-  <div class="section" id="the-scc-netcdf-file-format">
-<h1>The SCC netCDF file format<a class="headerlink" href="#the-scc-netcdf-file-format" title="Permalink to this headline">¶</a></h1>
-<div class="section" id="rationale">
-<h2>Rationale<a class="headerlink" href="#rationale" title="Permalink to this headline">¶</a></h2>
-<p>The Single Calculus Chain (SCC) is composed by two different modules:</p>
-<ul class="simple">
-<li>pre-processing module ( scc_preprocessing)</li>
-<li>optical processing module ( ELDA)</li>
-</ul>
-<p>To perfom aerosol optical retrievals the SCC needs not only the raw
-lidar data but also a certain number of parameters to use in both
-pre-processing and optical processing stages. The SCC gets these
-parameters looking at two different locations:</p>
-<ul class="simple">
-<li>Single Calculus Chain relational database (SCC_DB)</li>
-<li>Input files</li>
-</ul>
-<p>There are some paramenters that can be found only in the input files
-(those ones changing from measurement to measurement), others that can
-be found only in the SCC_DB and other ones that can be found in both
-these locations. In the last case, if a particular parameter is needed,
-the SCC will search first in the input files and then in SCC_DB. If the
-parameter is found in the input files the SCC will keep it without
-looking into SCC_DB.</p>
-<p>The input files have to be submitted to the SCC in NetCDF format. At the
-present the SCC can handle four different types of input files:</p>
-<ol class="arabic simple">
-<li>Raw Lidar Data</li>
-<li>Sounding Data</li>
-<li>Overlap</li>
-<li>Lidar Ratio</li>
-</ol>
-<p>As already mentioned, the  Raw Lidar Data file contains not only the
-raw lidar data but also other parameters to use to perform the
-pre-processing and optical processing. The  Sounding Data file
-contains the data coming from a correlative radiosounding and it is used
-by the SCC for molecular density calculation. The  Overlap file
-contains the measured overlap function. The  Lidar Ratio file contains
-a lidar ratio profile to use in elastic backscatter retrievals. The
-Raw Lidar Data file is of course mandatory and the  Sounding Data,
-Overlap and  Lidar Ratio files are optional. If  Sounding Data file
-is not submitted by the user, the molecular density will be calculated
-by the SCC using the “US Standard Atmosphere 1976”. If the  Overlap
-file is not submitted by the user, the SCC will get the full overlap
-height from SCC_DB and it will produce optical results starting from
-this height. If  Lidar Ratio file is not submitted by the user, the
-SCC will consider a fixed value for lidar ratio got from SCC_DB.</p>
-<p>The user can decide to submit all these files or any number of them (of
-course the file  Raw Lidar Data is mandatory). For example the user
-can submit together with the  Raw Lidar Data file only the  Sounding
-Data file or only the  Overlap file.</p>
-<p>This document provides a detailed explanation about the structure of the
-NetCDF input files to use for SCC data submission. All Earlinet groups
-should read it carefully because they have to produce such kind of input
-files if they want to use the SCC for their standard lidar retrievals.
-Every comments or suggestions regarding this document can be sent to
-Giuseppe D’Amico by e-mail at <tt class="docutils literal"><span class="pre">damico&#64;imaa.cnr.it</span></tt></p>
-<p>This document is available for downloading at <tt class="docutils literal"><span class="pre">www.earlinetasos.org</span></tt></p>
-<p>In table tab:rawdata is reported a list of dimensions, variables and
-global attributes that can be used in the NetCDF  Raw Lidar Data input
-file. For each of them it is indicated:</p>
-<ul class="simple">
-<li>The name. For the multidimensional variables also the corresponding
-dimensions are reported</li>
-<li>A description explaining the meaning</li>
-<li>The type</li>
-<li>If it is mandatory or optional</li>
-</ul>
-<p>As already mentioned, the SCC can get some parameters looking first in
-the  Raw Lidar Data input file and then into SCC_DB. This means that
-to use the parameters stored in SCC_DB the optional variables or
-optional global attributes must not appear within  Raw Lidar Data
-file. This is the suggested and recommended way to use the SCC. Please
-include optional parameters in the  Raw Lidar Data only as an
-exception.</p>
-<p>In table tab:sounding, tab:overlap and tab:lr are reported all the
-information about the structure of  Sounding Data,  Overlap and
-Lidar Ratio input files respectively.</p>
-</div>
-<div class="section" id="example">
-<h2>Example<a class="headerlink" href="#example" title="Permalink to this headline">¶</a></h2>
-<p>Let’s now consider an example of  Raw Lidar Data input file. Suppose
-we want to generate NetCDF input file corresponding to a measurement
-with the following properties:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="34%" />
-<col width="66%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Start Date</td>
-<td><span class="math">\(30^{th}\)</span> January 2009</td>
-</tr>
-<tr class="row-even"><td>Start Time UT</td>
-<td>00:00:01</td>
-</tr>
-<tr class="row-odd"><td>Stop Time UT</td>
-<td>00:05:01</td>
-</tr>
-<tr class="row-even"><td>Station Name</td>
-<td>Dummy station</td>
-</tr>
-<tr class="row-odd"><td>Earlinet call-sign</td>
-<td>cc</td>
-</tr>
-<tr class="row-even"><td>Pointing angle</td>
-<td>5 degrees with respect to the zenith</td>
-</tr>
-</tbody>
-</table>
-<p>Moreover suppose that this measurement is composed by the following
-lidar channels:</p>
-<ol class="arabic">
-<li><p class="first">1064 lidar channel</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="49%" />
-<col width="51%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><p class="first last">Emission wavelength=1064nm</p>
-</td>
-<td><p class="first last">Detection wavelength=1064nm</p>
-</td>
-</tr>
-<tr class="row-even"><td><p class="first last">Time resolution=30s</p>
-</td>
-<td><p class="first last">Number of laser shots=1500</p>
-</td>
-</tr>
-<tr class="row-odd"><td><p class="first last">Number of bins=3000</p>
-</td>
-<td><p class="first last">Detection mode=analog</p>
-</td>
-</tr>
-<tr class="row-even"><td><p class="first last">Range resolution=7.5m</p>
-</td>
-<td><p class="first last">Polarization state=total</p>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li><p class="first">532 cross lidar channel</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="47%" />
-<col width="53%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><p class="first last">Emission wavelength=532nm</p>
-</td>
-<td><p class="first last">Detection wavelength=532nm</p>
-</td>
-</tr>
-<tr class="row-even"><td><p class="first last">Time resolution=60s</p>
-</td>
-<td><p class="first last">Number of laser shots=3000</p>
-</td>
-</tr>
-<tr class="row-odd"><td><p class="first last">Number of bins=5000</p>
-</td>
-<td><p class="first last">Detection mode=photoncounting</p>
-</td>
-</tr>
-<tr class="row-even"><td><p class="first last">Range resolution=15m</p>
-</td>
-<td><p class="first last">Polarization state=cross</p>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li><p class="first">532 parallel lidar channel</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="47%" />
-<col width="53%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><p class="first last">Emission wavelength=532nm</p>
-</td>
-<td><p class="first last">Detection wavelength=532nm</p>
-</td>
-</tr>
-<tr class="row-even"><td><p class="first last">Time resolution=60s</p>
-</td>
-<td><p class="first last">Number of laser shots=3000</p>
-</td>
-</tr>
-<tr class="row-odd"><td><p class="first last">Number of bins=5000</p>
-</td>
-<td><p class="first last">Detection mode=photoncounting</p>
-</td>
-</tr>
-<tr class="row-even"><td><p class="first last">Range resolution=15m</p>
-</td>
-<td><p class="first last">Polarization state=parallel</p>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li><p class="first">607 <span class="math">\(N_2\)</span> vibrational Raman channel</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="47%" />
-<col width="53%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td><p class="first last">Emission wavelength=532nm</p>
-</td>
-<td><p class="first last">Detection wavelength=607nm</p>
-</td>
-</tr>
-<tr class="row-even"><td><p class="first last">Time resolution=60s</p>
-</td>
-<td><p class="first last">Number of laser shots=3000</p>
-</td>
-</tr>
-<tr class="row-odd"><td><p class="first last">Number of bins=5000</p>
-</td>
-<td><p class="first last">Detection mode=photoncounting</p>
-</td>
-</tr>
-<tr class="row-even"><td colspan="2"><p class="first last">Range resolution=15m</p>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ol>
-<p>Finally let’s assume we have also performed dark measurements before the
-lidar measurements from the 23:50:01 UT up to 23:53:01 UT of
-29:math:<cite>^mathrmth</cite> January 2009.</p>
-<div class="section" id="dimensions">
-<h3>Dimensions<a class="headerlink" href="#dimensions" title="Permalink to this headline">¶</a></h3>
-<p>Looking at table tab:rawdata we have to fix the following dimensions:</p>
-<div class="highlight-python"><div class="highlight"><pre><span class="n">points</span>
-<span class="n">channels</span>
-<span class="n">time</span>
-<span class="n">nb_of_time_scales</span>
-<span class="n">scan_angles</span>
-<span class="n">time_bck</span>
-</pre></div>
-</div>
-<p>The dimension <tt class="docutils literal"><span class="pre">time</span></tt> is unlimited so we don’t have to fix it.</p>
-<p>We have 4 lidar channels so:</p>
-<div class="highlight-python"><div class="highlight"><pre><span class="n">channels</span><span class="o">=</span><span class="mi">4</span>
-</pre></div>
-</div>
-<p>Regarding the dimension <tt class="docutils literal"><span class="pre">points</span></tt> we have only one channel with a
-number of vertical bins equal to 3000 (the 1064nm) and all other
-channels with 5000 vertical bins. In cases like this the dimension
-<tt class="docutils literal"><span class="pre">points</span></tt> has to be fixed to the maximum number of vertical bins so:</p>
-<div class="highlight-python"><div class="highlight"><pre><span class="n">points</span><span class="o">=</span><span class="mi">5000</span>
-</pre></div>
-</div>
-<p>Moreover only one channel (1064nm) is acquired with a time resolution of
-30 seconds, all the other channels have a time resolution of 60 seconds.
-This means that we have to define two different time scales. We have to
-set:</p>
-<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>
-</pre></div>
-</div>
-<p>The measurement is performed only at one scan angle (5 degrees with
-respect to the zenith) so:</p>
-<div class="highlight-python"><div class="highlight"><pre><span class="n">scan_angles</span><span class="o">=</span><span class="mi">1</span>
-</pre></div>
-</div>
-<p>We have 3 minutes of dark measurements and two different time scales one
-with 60 seconds time resolution and the other one with 30 seconds time
-resolution. So we will have 3 different dark profiles for the channels
-acquired with the first time scale and 6 for the lidar channels acquired
-with the second time scale. We have to fix the dimension <tt class="docutils literal"><span class="pre">time_bck</span></tt> as
-the maximum between these values:</p>
-<div class="highlight-python"><div class="highlight"><pre><span class="n">time_bck</span><span class="o">=</span><span class="mi">6</span>
-</pre></div>
-</div>
-</div>
-<div class="section" id="variables">
-<h3>Variables<a class="headerlink" href="#variables" title="Permalink to this headline">¶</a></h3>
-<p>In this section it will be explained how to fill all the possible
-variables either mandatory or optional of  Raw Lidar Data input file.</p>
-<dl class="docutils">
-<dt>Raw_Data_Start_Time(time, nb_of_time_scales)</dt>
-<dd><p class="first">This 2 dimensional mandatory array has to contain the acquisition
-start time (in seconds from the time given by the global attribute
-<tt class="docutils literal"><span class="pre">RawData_Start_Time_UT</span></tt>) of each lidar profile. In this example we
-have two different time scales: one is characterized by steps of 30
-seconds (the 1064nm is acquired with this time scale) the other by
-steps of 60 seconds (532cross, 532parallel and 607nm). Moreover the
-measurement start time is 00:00:01 UT and the measurement stop time
-is 00:05:01 UT. In this case we have to define:</p>
-<div class="highlight-python"><pre>Raw_Data_Start_Time =
-  0, 0,
-  60, 30,
-  120, 60,
-  180, 90,
-  240, 120,
-  _, 150,
-  _, 180,
-  _, 210,
-  _, 240,
-  _, 270 ;</pre>
-</div>
-<p class="last">The order used to fill this array defines the correspondence between
-the different time scales and the time scale index. In this example
-we have a time scale index of 0 for the time scale with steps of 60
-seconds and a time scale index of 1 for the other one.</p>
-</dd>
-<dt>Raw_Data_Stop_Time(time, nb_of_time_scales)</dt>
-<dd><p class="first">The same as previous item but for the data acquisition stop time.
-Following a similar procedure we have to define:</p>
-<div class="last highlight-python"><pre>Raw_Data_Stop_Time =
-  60, 30,
-  120, 60,
-  180, 90,
-  240, 120,
-  300, 150,
-  _, 180,
-  _, 210,
-  _, 240,
-  _, 270,
-  _, 300 ;</pre>
-</div>
-</dd>
-<dt>Raw_Lidar_Data(time, channels, points)</dt>
-<dd><p class="first">This 3 dimensional mandatory array has to be filled with the
-time-series of raw lidar data. The photoncounting profiles have to
-submitted in counts (so as integers) while the analog ones in mV. The
-order the user chooses to fill this array defines the correspondence
-between channel index and lidar data.</p>
-<p>For example if we fill this array in such way that:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="38%" />
-<col width="62%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Raw_Lidar_Data(time,0,points</td>
-<td><span class="math">\(\rightarrow\)</span> is the time-series of 1064 nm</td>
-</tr>
-<tr class="row-even"><td>Raw_Lidar_Data(time,1,points</td>
-<td><span class="math">\(\rightarrow\)</span> is the time-series of 532 cross</td>
-</tr>
-<tr class="row-odd"><td>Raw_Lidar_Data(time,2,points</td>
-<td><span class="math">\(\rightarrow\)</span> is the time-series of 532 parallel</td>
-</tr>
-<tr class="row-even"><td>Raw_Lidar_Data(time,3,points</td>
-<td><span class="math">\(\rightarrow\)</span> is the time-series of 607 nm</td>
-</tr>
-</tbody>
-</table>
-<p class="last">from now on the channel index 0 is associated to the 1064 channel,
-1 to the 532 cross, 2 to the 532 parallel and 3 to the 607nm.</p>
-</dd>
-<dt>Raw_Bck_Start_Time(time_bck, nb_of_time_scales)</dt>
-<dd><p class="first">This 2 dimensional optional array has to contain the acquisition
-start time (in seconds from the time given by the global attribute
-<tt class="docutils literal"><span class="pre">RawBck_Start_Time_UT</span></tt>) of each dark measurements profile.
-Following the same procedure used for the variable
-<tt class="docutils literal"><span class="pre">Raw_Data_Start_Time</span></tt> we have to define:</p>
-<div class="last highlight-python"><pre>Raw_Bck_Start_Time =
-  0, 0,
-  60, 30,
-  120, 60,
-  _, 90,
-  _, 120,
-  _, 150;</pre>
-</div>
-</dd>
-<dt>Raw_Bck_Stop_Time(time_bck, nb_of_time_scales)</dt>
-<dd><p class="first">The same as previous item but for the dark acquisition stop time.
-Following a similar procedure we have to define:</p>
-<div class="last highlight-python"><pre>Raw_Bck_Stop_Time =
-  60, 30,
-  120, 60,
-  180, 90,
-  _, 120,
-  _, 150,
-  _, 180 ;</pre>
-</div>
-</dd>
-<dt>Background_Profile(time_bck, channels, points)</dt>
-<dd><p class="first">This 3 dimensional optional array has to be filled with the
-time-series of the dark measurements data. The photoncounting
-profiles have to submitted in counts (so as integers) while the
-analog ones in mV. The user has to fill this array following the same
-order used in filling the array <tt class="docutils literal"><span class="pre">Raw_Lidar_Data</span></tt>:</p>
-<table border="1" class="last docutils">
-<colgroup>
-<col width="44%" />
-<col width="56%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>Background_Profile(time_bck,0,points</td>
-<td><span class="math">\(\rightarrow\)</span> dark time-series at 1064 nm</td>
-</tr>
-<tr class="row-even"><td>Background_Profile(time_bck,1,points</td>
-<td><span class="math">\(\rightarrow\)</span> dark time-series at 532 cross</td>
-</tr>
-<tr class="row-odd"><td>Background_Profile(time_bck,2,points</td>
-<td><span class="math">\(\rightarrow\)</span> dark time-series at 532 parallel</td>
-</tr>
-<tr class="row-even"><td>Background_Profile(time_bck,3,points</td>
-<td><span class="math">\(\rightarrow\)</span> dark time-series at 607 nm</td>
-</tr>
-</tbody>
-</table>
-</dd>
-<dt>channel_ID(channels)</dt>
-<dd><p class="first">This mandatory array provides the link between the channel index
-within the  Raw Lidar Data input file and the channel ID in
-SCC_DB. To fill this variable the user has to know which channel IDs
-in SCC_DB correspond to his lidar channels. For this purpose the
-SCC, in its final version will provide to the user a special tool to
-get these channel IDs through a Web interface. At the moment this
-interface is not yet available and these channel IDs will be
-communicated directly to the user by the NA5 people.</p>
-<p>Anyway to continue the example let’s suppose that the four lidar
-channels taken into account are mapped into SCC_DB with the
-following channel IDs:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>1064 nm</td>
-<td><span class="math">\(\rightarrow\)</span> channel ID=7</td>
-</tr>
-<tr class="row-even"><td>532 cross</td>
-<td><span class="math">\(\rightarrow\)</span> channel ID=5</td>
-</tr>
-<tr class="row-odd"><td>532 parallel</td>
-<td><span class="math">\(\rightarrow\)</span> channel ID=6</td>
-</tr>
-<tr class="row-even"><td>607 nm</td>
-<td><span class="math">\(\rightarrow\)</span> channel ID=8</td>
-</tr>
-</tbody>
-</table>
-<blockquote>
-<div>In this case we have to define:</div></blockquote>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>id_timescale(channels)</dt>
-<dd><p class="first">This mandatory array is introduced to determine which time scale is
-used for the acquisition of each lidar channel. In particular this
-array defines the link between the channel index and the time scale
-index. In our example we have two different time scales. Filling the
-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
-defined a time scale index of 0 for the time scale with steps of 60
-seconds and a time scale index of 1 for the other one with steps of
-30 seconds. In this way this array has to be set as:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Laser_Pointing_Angle(scan_angles</dt>
-<dd><p class="first">This mandatory array contains all the scan angles used in the
-measurement. In our example we have only one scan angle of 5 degrees
-with respect to the zenith, so we have to define:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales)</dt>
-<dd><p class="first">This mandatory array is introduced to determine which scan angle is
-used for the acquisition of each lidar profile. In particular this
-array defines the link between the time and time scales indexes and
-the scan angle index. In our example we have a single scan angle that
-has to correspond to the scan angle index 0. So this array has to be
-defined as:</p>
-<div class="last highlight-python"><pre>Laser_Pointing_Angle_of_Profiles =
-  0, 0,
-  0, 0,
-  0, 0,
-  0, 0,
-  0, 0,
-  _, 0,
-  _, 0,
-  _, 0,
-  _, 0,
-  _, 0 ;</pre>
-</div>
-</dd>
-<dt>Laser_Shots(time, channels)</dt>
-<dd><p class="first">This mandatory array stores the laser shots accumulated at each time
-for each channel. In our example the number of laser shots
-accumulated is 1500 for the 1064nm channels and 3000 for all the
-other channels. Moreover the laser shots do not change with the time.
-So we have to define this array as:</p>
-<div class="last highlight-python"><pre>Laser_Shots =
- 1500, 3000, 3000, 3000,
- 1500, 3000, 3000, 3000,
- 1500, 3000, 3000, 3000,
- 1500, 3000, 3000, 3000,
- 1500, 3000, 3000, 3000,
- 1500, _, _, _,
- 1500, _, _, _,
- 1500, _, _, _,
- 1500, _, _, _,
- 1500, _, _, _ ;</pre>
-</div>
-</dd>
-<dt>Emitted_Wavelength(channels)</dt>
-<dd><p class="first">This optional array defines the link between the channel index and
-the emission wavelength for each lidar channel. The wavelength has to
-be expressed in nm. This information can be also taken from SCC_DB.
-In our example we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Detected_Wavelength(channels)</dt>
-<dd><p class="first">This optional array defines the link between the channel index and
-the detected wavelength for each lidar channel. Here detected
-wavelength means the value of center of interferential filter
-expressed in nm. This information can be also taken from SCC_DB. In
-our example we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Raw_Data_Range_Resolution(channels)</dt>
-<dd><p class="first">This optional array defines the link between the channel index and
-the raw range resolution for each channel. If the scan angle is
-different from zero this quantity is different from the vertical
-resolution. More precisely if <span class="math">\(\alpha\)</span> is the scan angle used
-and <span class="math">\(\Delta z\)</span> is the range resolution the vertical
-resolution is calculated as <span class="math">\(\Delta
-z'=\Delta z \cos\alpha\)</span>. This array has to be filled with
-<span class="math">\(\Delta z\)</span> and not with <span class="math">\(\Delta z'\)</span>. The unit is
-meters. This information can be also taken from SCC_DB. In our
-example we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>ID_Range(channels)</dt>
-<dd><p class="first">This optional array defines if a particular channel is configured as
-high, low or ultranear range channel. In particular a value 0
-indicates a low range channel, a value 1 a high range channel and a
-value of 2 an ultranear range channel. If for a particular channel
-you don’t separate between high and low range channel, please set the
-corresponding value to 1. This information can be also taken from
-SCC_DB. In our case we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Scattering_Mechanism(channels)</dt>
-<dd><p class="first">This optional array defines the scattering mechanism involved in
-each lidar channel. In particular the following values are adopted:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="6%" />
-<col width="94%" />
-</colgroup>
-<tbody valign="top">
-<tr class="row-odd"><td>0</td>
-<td><span class="math">\(\rightarrow\)</span> Total elastic backscatter</td>
-</tr>
-<tr class="row-even"><td>1</td>
-<td><span class="math">\(\rightarrow\)</span> <span class="math">\(N_2\)</span> vibrational Raman backscatter</td>
-</tr>
-<tr class="row-odd"><td>2</td>
-<td><span class="math">\(\rightarrow\)</span> Cross polarization elastic backscatter</td>
-</tr>
-<tr class="row-even"><td>3</td>
-<td><span class="math">\(\rightarrow\)</span> Parallel polarization elastic backscatter</td>
-</tr>
-<tr class="row-odd"><td>4</td>
-<td><span class="math">\(\rightarrow\)</span> <span class="math">\(H_2O\)</span> vibrational Raman backscatter</td>
-</tr>
-<tr class="row-even"><td>5</td>
-<td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes line close to elastic line</td>
-</tr>
-<tr class="row-odd"><td>6</td>
-<td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes line far from elastic line</td>
-</tr>
-<tr class="row-even"><td>7</td>
-<td><span class="math">\(\rightarrow\)</span> Rotational Raman anti-Stokes line close to elastic line</td>
-</tr>
-<tr class="row-odd"><td>8</td>
-<td><span class="math">\(\rightarrow\)</span> Rotational Raman anti-Stokes line far from elastic line</td>
-</tr>
-<tr class="row-even"><td>9</td>
-<td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes and anti-Stokes lines close to elastic line</td>
-</tr>
-<tr class="row-odd"><td>10</td>
-<td><span class="math">\(\rightarrow\)</span> Rotational Raman Stokes and anti-Stokes lines far from elastic line</td>
-</tr>
-</tbody>
-</table>
-<p>This information can be also taken from SCC_DB. In our example we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Acquisition_Mode(channels)</dt>
-<dd><p class="first">This optional array defines the acquisition mode (analog or
-photoncounting) involved in each lidar channel. In particular a value
-of 0 means analog mode and 1 photoncounting mode. This information
-can be also taken from SCC_DB. In our example we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Laser_Repetition_Rate(channels)</dt>
-<dd><p class="first">This optional array defines the repetition rate in Hz used to
-acquire each lidar channel. This information can be also taken from
-SCC_DB. In our example we are supposing we have only one laser with
-a repetition rate of 50 Hz so we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Dead_Time(channels)</dt>
-<dd><p class="first">This optional array defines the dead time in ns associated to each
-lidar channel. The SCC will use the values given by this array to
-correct the photoncounting signals for dead time. Of course for
-analog signals no dead time correction will be applied (for analog
-channels the corresponding dead time values have to be set to
-undefined value). This information can be also taken from SCC_DB. In
-our example the 1064 nm channel is acquired in analog mode so the
-corresponding dead time value has to be undefined. If we suppose a
-dead time of 10 ns for all other channels we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Dead_Time_Corr_Type(channels</dt>
-<dd><p class="first">This optional array defines which kind of dead time correction has
-to be applied on each photoncounting channel. The SCC will correct
-the data supposing a not-paralyzable channel if a value of 0 is found
-while a paralyzable channel is supposed if a value of 1 is found. Of
-course for analog signals no dead time correction will be applied and
-so the corresponding values have to be set to undefined value. This
-information can be also taken from SCC_DB. In our example the 1064
-nm channel is acquired in analog mode so the corresponding has to be
-undefined. If we want to consider all the photoncounting signals as
-not-paralyzable ones: we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Trigger_Delay(channels)</dt>
-<dd><p class="first">This optional array defines the delay (in ns) of the middle of the
-first rangebin with respect to the output laser pulse for each lidar
-channel. The SCC will use the values given by this array to correct
-for trigger delay. This information can be also taken from SCC_DB.
-Let’s suppose that in our example all the photoncounting channels are
-not affected by this delay and only the analog channel at 1064nm is
-acquired with a delay of 50ns. In this case we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Background_Mode(channels</dt>
-<dd><p class="first">This optional array defines how the atmospheric background has to be
-subtracted from the lidar channel. Two options are available for the
-calculation of atmospheric background:</p>
-<ol class="arabic simple">
-<li>Average in the far field of lidar channel. In this case the value
-of this variable has to be 1</li>
-<li>Average within pre-trigger bins. In this case the value of this
-variable has to be 0</li>
-</ol>
-<p>This information can be also taken from SCC_DB. Let’s suppose in our
-example we use the pre-trigger for the 1064nm channel and the far
-field for all other channels. In this case we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Background_Low(channels)</dt>
-<dd><p class="first">This mandatory array defines the minimum altitude (in meters) to
-consider in calculating the atmospheric background for each channel.
-In case pre-trigger mode is used the corresponding value has to be
-set to the rangebin to be used as lower limit (within pre-trigger
-region) for background calculation. In our example, if we want to
-calculate the background between 30000 and 50000 meters for all
-photoncounting channels and we want to use the first 500 pre-trigger
-bins for the background calculation for the 1064nm channel we have to
-set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Background_High(channels)</dt>
-<dd><p class="first">This mandatory array defines the maximum altitude (in meters) to
-consider in calculating the atmospheric background for each channel.
-In case pre-trigger mode is used the corresponding value has to be
-set to the rangebin to be used as upper limit (within pre-trigger
-region) for background calculation. In our example, if we want to
-calculate the background between 30000 and 50000 meters for all
-photoncounting channels and we want to use the first 500 pre-trigger
-bins for the background calculation for the 1064nm channel we have to
-set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Molecular_Calc</dt>
-<dd><p class="first">This mandatory variable defines the way used by SCC to calculate the
-molecular density profile. At the moment two options are available:</p>
-<ol class="arabic simple">
-<li>US Standard Atmosphere 1976. In this case the value of this
-variable has to be 0</li>
-<li>Radiosounding. In this case the value of this variable has to be 1</li>
-</ol>
-<p>If we decide to use the option 1. we have to provide also the
-measured pressure and temperature at lidar station level. Indeed if
-we decide to use the option 2. a radiosounding file has to be
-submitted separately in NetCDF format (the structure of this file is
-summarized in table tab:sounding). Let’s suppose we want to use the
-option 1. so:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Pressure_at_Lidar_Station</dt>
-<dd><p class="first">Because we have chosen the US Standard Atmosphere for calculation of
-the molecular density profile we have to give the pressure in hPa at
-lidar station level:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Temperature_at_Lidar_Station</dt>
-<dd><p class="first">Because we have chosen the US Standard Atmosphere for calculation of
-the molecular density profile we have to give the temperature in C at
-lidar station level:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>Depolarization_Factor(channels)</dt>
-<dd><p class="first">This array is required only for lidar systems that use the two
-depolarization channels for the backscatter retrieval. It represents
-the factor <span class="math">\(f\)</span> to calculate the total backscatter signal
-<span class="math">\(S_t\)</span> combining its cross <span class="math">\(S_c\)</span> and parallel
-<span class="math">\(S_p\)</span> components: <span class="math">\(S_t=S_p+fS_c\)</span>. This factor is
-mandatory only for systems acquiring <span class="math">\(S_c\)</span> and <span class="math">\(S_p\)</span>
-and not <span class="math">\(S_t\)</span>. For systems acquiring <span class="math">\(S_c\)</span>,
-<span class="math">\(S_p\)</span> and <span class="math">\(S_t\)</span> this factor is optional and it will
-be used only for depolarizaton ratio calculation. Moreover only the
-values of the array corresponding to cross polarization channels will
-be considered; all other values will be not taken into account and
-should be set to undefined value. In our example for the wavelength
-532nm we have only the cross and the parallel components and not the
-total one. So we have to give the value of this factor only in
-correspondence of the 532nm cross polarization channel that
-corresponds to the channel index 1. Suppose that this factor is 0.88.
-Moreover, because we don’t have any other depolarization channels we
-have also to set all other values of the array to undefined value.</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>LR_Input(channels)</dt>
-<dd><p class="first">This array is required only for lidar channels for which elastic
-backscatter retrieval has to be performed. It defines the lidar ratio
-to be used within this retrieval. Two options are available:</p>
-<ol class="arabic simple">
-<li>The user can submit a lidar ratio profile. In this case the value
-of this variable has to be 0.</li>
-<li>A fixed value of lidar ratio can be used. In this case the value
-of this variable has to be 1.</li>
-</ol>
-<p>If we decide to use the option 1. a lidar ratio file has to be
-submitted separately in NetCDF format (the structure of this file is
-summarized in table tab:lr). If we decide to use the option 2. the
-fixed value of lidar ratio will be taken from SCC_DB. In our example
-we have to give a value of this array only for the 1064nm lidar
-channel because for the 532nm we will be able to retrieve a Raman
-backscatter coefficient. In case we want to use the fixed value
-stored in SCC_DB we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>DAQ_Range(channels)</dt>
-<dd><p class="first">This array is required only if one or more lidar signals are
-acquired in analog mode. It gives the analog scale in mV used to
-acquire the analog signals. In our example we have only the 1064nm
-channel acquired in analog mode. If we have used a 100mV analog scale
-to acquire this channel we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-</dl>
-</div>
-<div class="section" id="global-attributes">
-<h3>Global attributes<a class="headerlink" href="#global-attributes" title="Permalink to this headline">¶</a></h3>
-<dl class="docutils">
-<dt>Measurement_ID</dt>
-<dd><p class="first">This mandatory global attribute defines the measurement ID
-corresponding to the actual lidar measurement. It is a string
-composed by 12 characters. The first 8 characters give the start date
-of measurement in the format YYYYMMDD. The next 2 characters give the
-Earlinet call-sign of the station. The last 2 characters are used to
-distinguish between different time-series within the same date. In
-our example we have to set:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>RawData_Start_Date</dt>
-<dd><p class="first">This mandatory global attribute defines the start date of lidar
-measurements in the format YYYYMMDD. In our case we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>RawData_Start_Time_UT</dt>
-<dd><p class="first">This mandatory global attribute defines the UT start time of lidar
-measurements in the format HHMMSS. In our case we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>RawData_Stop_Time_UT``</dt>
-<dd><p class="first">This mandatory global attribute defines the UT stop time of lidar
-measurements in the format HHMMSS. In our case we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>RawBck_Start_Date</dt>
-<dd><p class="first">This optional global attribute defines the start date of dark
-measurements in the format YYYYMMDD. In our case we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>RawBck_Start_Time_UT</dt>
-<dd><p class="first">This optional global attribute defines the UT start time of dark
-measurements in the format HHMMSS. In our case we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-<dt>RawBck_Stop_Time_UT</dt>
-<dd><p class="first">This optional global attribute defines the UT stop time of dark
-measurements in the format HHMMSS. In our case we have:</p>
-<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>
-</pre></div>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-<div class="section" id="example-of-file-cdl-format">
-<h2>Example of file (CDL format)<a class="headerlink" href="#example-of-file-cdl-format" title="Permalink to this headline">¶</a></h2>
-<p>To summarize we have the following NetCDF  Raw Lidar Data file (in CDL
-format):</p>
-<div class="highlight-python"><pre>dimensions:
-        points = 5000 ;
-        channels = 4 ;
-        time = UNLIMITED ; // (10 currently)
-        nb_of_time_scales = 2 ;
-        scan_angles = 1 ;
-        time_bck = 6 ;
-variables:
-        int channel_ID(channels) ;
-        int Laser_Repetition_Rate(channels) ;
-        double Laser_Pointing_Angle(scan_angles) ;
-        int ID_Range(channels) ;
-        int Scattering_Mechanism(channels) ;
-        double Emitted_Wavelength(channels) ;
-        double Detected_Wavelength(channels) ;
-        double Raw_Data_Range_Resolution(channels) ;
-        int Background_Mode(channels) ;
-        double Background_Low(channels) ;
-        double Background_High(channels) ;
-        int Molecular_Calc ;
-        double Pressure_at_Lidar_Station ;
-        double Temperature_at_Lidar_Station ;
-        int id_timescale(channels) ;
-        double Dead_Time(channels) ;
-        int Dead_Time_Corr_Type(channels) ;
-        int Acquisition_Mode(channels) ;
-        double Trigger_Delay(channels) ;
-        int LR_Input(channels) ;
-        int Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales) ;
-        int Raw_Data_Start_Time(time, nb_of_time_scales) ;
-        int Raw_Data_Stop_Time(time, nb_of_time_scales) ;
-        int Raw_Bck_Start_Time(time_bck, nb_of_time_scales) ;
-        int Raw_Bck_Stop_Time(time_bck, nb_of_time_scales) ;
-        int Laser_Shots(time, channels) ;
-        double Raw_Lidar_Data(time, channels, points) ;
-        double Background_Profile(time_bck, channels, points) ;
-        double DAQ_Range(channels) ;
-
-// global attributes:
-                :Measurement_ID = "20090130cc00" ;
-                :RawData_Start_Date = "20090130" ;
-                :RawData_Start_Time_UT = "000001" ;
-                :RawData_Stop_Time_UT = "000501" ;
-                :RawBck_Start_Date = "20090129" ;
-                :RawBck_Start_Time_UT = "235001" ;
-                :RawBck_Stop_Time_UT = "235301" ;
-
-data:
-
- channel_ID = 7, 5, 6, 8 ;
-
- Laser_Repetition_Rate = 50, 50, 50, 50 ;
-
- Laser_Pointing_Angle = 5 ;
-
- ID_Range = 1, 1, 1, 1 ;
-
- Scattering_Mechanism = 0, 2, 3, 1 ;
-
- Emitted_Wavelength = 1064, 532, 532, 532 ;
-
- Detected_Wavelength = 1064, 532, 532, 607 ;
-
- Raw_Data_Range_Resolution = 7.5, 15, 15, 15 ;
-
- Background_Mode = 0, 1, 1, 1 ;
-
- Background_Low = 0, 30000, 30000, 30000 ;
-
- Background_High = 500, 50000, 50000, 50000 ;
-
- Molecular_Calc = 0 ;
-
- Pressure_at_Lidar_Station = 1010 ;
-
- Temperature_at_Lidar_Station = 19.8 ;
-
- id_timescale = 1, 0, 0, 0 ;
-
- Dead_Time = _, 10, 10, 10 ;
-
- Dead_Time_Corr_Type = _, 0, 0, 0 ;
-
- Acquisition_Mode = 0, 1, 1, 1 ;
-
- Trigger_Delay = 50, 0, 0, 0 ;
-
- LR_Input = 1,_,_,_ ;
-
- DAQ_Range = 100,_,_,_ ;
-
- Laser_Pointing_Angle_of_Profiles =
-  0, 0,
-  0, 0,
-  0, 0,
-  0, 0,
-  0, 0,
-  _, 0,
-  _, 0,
-  _, 0,
-  _, 0,
-  _, 0 ;
-
-
- Raw_Data_Start_Time =
-  0, 0,
-  60, 30,
-  120, 60,
-  180, 90,
-  240, 120,
-  _, 150,
-  _, 180,
-  _, 210,
-  _, 240,
-  _, 270 ;
-
- Raw_Data_Stop_Time =
-  60, 30,
-  120, 60,
-  180, 90,
-  240, 120,
-  300, 150,
-  _, 180,
-  _, 210,
-  _, 240,
-  _, 270,
-  _, 300 ;
-
-
- Raw_Bck_Start_Time =
-  0, 0,
-  60, 30,
-  120, 60,
-  _, 90,
-  _, 120,
-  _, 150;
-
-
-Raw_Bck_Stop_Time =
-  60, 30,
-  120, 60,
-  180, 90,
-  _, 120,
-  _, 150,
-  _, 180 ;
-
-
- Laser_Shots =
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, _, _, _,
-  1500, _, _, _,
-  1500, _, _, _,
-  1500, _, _, _,
-  1500, _, _, _ ;
-
-
- Raw_Lidar_Data = ...
-
- Background_Profile = ...</pre>
-</div>
-<p>Please keep in mind that in case you submit a file like the previous one
-all the parameters present in it will be used by the SCC even if you
-have different values for the same parameters within the SCC_DB. If you
-want to use the values already stored in SCC_DB (this should be the
-usual way to use SCC) the  Raw Lidar Data input file has to be
-modified as follows:</p>
-<div class="highlight-python"><pre>dimensions:
-        points = 5000 ;
-        channels = 4 ;
-        time = UNLIMITED ; // (10 currently)
-        nb_of_time_scales = 2 ;
-        scan_angles = 1 ;
-        time_bck = 6 ;
-variables:
-        int channel_ID(channels) ;
-        double Laser_Pointing_Angle(scan_angles) ;
-        double Background_Low(channels) ;
-        double Background_High(channels) ;
-        int Molecular_Calc ;
-        double Pressure_at_Lidar_Station ;
-        double Temperature_at_Lidar_Station ;
-        int id_timescale(channels) ;
-        int Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales) ;
-        int Raw_Data_Start_Time(time, nb_of_time_scales) ;
-        int Raw_Data_Stop_Time(time, nb_of_time_scales) ;
-        int Raw_Bck_Start_Time(time_bck, nb_of_time_scales) ;
-        int Raw_Bck_Stop_Time(time_bck, nb_of_time_scales) ;
-        int LR_Input(channels) ;
-        int Laser_Shots(time, channels) ;
-        double Raw_Lidar_Data(time, channels, points) ;
-        double Background_Profile(time_bck, channels, points) ;
-        double DAQ_Range(channels) ;
-
-// global attributes:
-                :Measurement_ID = "20090130cc00" ;
-                :RawData_Start_Date = "20090130" ;
-                :RawData_Start_Time_UT = "000001" ;
-                :RawData_Stop_Time_UT = "000501" ;
-                :RawBck_Start_Date = "20090129" ;
-                :RawBck_Start_Time_UT = "235001" ;
-                :RawBck_Stop_Time_UT = "235301" ;
-
-data:
-
- channel_ID = 7, 5, 6, 8 ;
-
- Laser_Pointing_Angle = 5 ;
-
- Background_Low = 0, 30000, 30000, 30000 ;
-
- Background_High = 500, 50000, 50000, 50000 ;
-
- Molecular_Calc = 0 ;
-
- Pressure_at_Lidar_Station = 1010 ;
-
- Temperature_at_Lidar_Station = 19.8 ;
-
- id_timescale = 1, 0, 0, 0 ;
-
- LR_Input = 1,_,_,_ ;
-
- DAQ_Range = 100,_,_,_ ;
-
- Laser_Pointing_Angle_of_Profiles =
-  0, 0,
-  0, 0,
-  0, 0,
-  0, 0,
-  0, 0,
-  _, 0,
-  _, 0,
-  _, 0,
-  _, 0,
-  _, 0 ;
-
-
- Raw_Data_Start_Time =
-  0, 0,
-  60, 30,
-  120, 60,
-  180, 90,
-  240, 120,
-  _, 150,
-  _, 180,
-  _, 210,
-  _, 240,
-  _, 270 ;
-
- Raw_Data_Stop_Time =
-  60, 30,
-  120, 60,
-  180, 90,
-  240, 120,
-  300, 150,
-  _, 180,
-  _, 210,
-  _, 240,
-  _, 270,
-  _, 300 ;
-
-
- Raw_Bck_Start_Time =
-  0, 0,
-  60, 30,
-  120, 60,
-  _, 90,
-  _, 120,
-  _, 150;
-
-
- Raw_Bck_Stop_Time =
-  60, 30,
-  120, 60,
-  180, 90,
-  _, 120,
-  _, 150,
-  _, 180 ;
-
-
- Laser_Shots =
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, 3000, 3000, 3000,
-  1500, _, _, _,
-  1500, _, _, _,
-  1500, _, _, _,
-  1500, _, _, _,
-  1500, _, _, _ ;
-
-
- Raw_Lidar_Data = ...
-
- Background_Profile = ...</pre>
-</div>
-<p>This example file contains the minimum collection of mandatory
-information that has to be found within the  Raw Lidar Data input
-file. If it is really necessary, the user can decide to add to these
-mandatory parameters any number of additional parameters considered in
-the previous example.</p>
-<p>Finally, suppose we want to make the following changes with respect to
-the previous example:</p>
-<ol class="arabic simple">
-<li>use a sounding file for molecular density calculation instead of “US
-Standar Atmosphere 1976”</li>
-<li>supply a lidar ratio profile to use in elastic backscatter retrieval
-instead of a fixed value</li>
-<li>provide a overlap function for overlap correction</li>
-</ol>
-<p>In this case we have to generate the following NetCDF additional files:</p>
-<dl class="docutils">
-<dt>rs_20090130cc00.nc</dt>
-<dd>The name of  Sounding Data file has to be computed as follows:
-<tt class="docutils literal"><span class="pre">&quot;rs_&quot;``+``Measurement_ID</span></tt>
-The structure of this file is summarized in table tab:sounding.</dd>
-<dt>ov_20090130cc00.nc</dt>
-<dd>The name of  Overlap file has to be computed as follows:
-<tt class="docutils literal"><span class="pre">&quot;ov_&quot;``+``Measurement_ID</span></tt>
-The structure of this file is summarized in table tab:overlap.</dd>
-<dt>lr_20090130cc00.nc</dt>
-<dd>The name of  Lidar Ratio file has to be computed as follows:
-<tt class="docutils literal"><span class="pre">&quot;lr_&quot;``+``Measurement_ID</span></tt>
-The structure of this file is summarized in table tab:lr.</dd>
-</dl>
-<p>Moreover we need to apply the following changes to the  Raw Lidar Data
-input file:</p>
-<ol class="arabic">
-<li><p class="first">Change the value of the variable <tt class="docutils literal"><span class="pre">Molecular_Calc</span></tt> as follows:</p>
-<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>
-</pre></div>
-</div>
-<p>Of course the variables <tt class="docutils literal"><span class="pre">Pressure_at_Lidar_Station</span></tt> and
-<tt class="docutils literal"><span class="pre">Temperature_at_Lidar_Station</span></tt> are not necessary anymore.</p>
-</li>
-<li><p class="first">Change the values of the array <tt class="docutils literal"><span class="pre">LR_Input</span></tt> as follows:</p>
-<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>
-</pre></div>
-</div>
-</li>
-<li><p class="first">Add the global attribute <tt class="docutils literal"><span class="pre">Sounding_File_Name</span></tt></p>
-<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>
-</pre></div>
-</div>
-</li>
-</ol>
-<ol class="arabic" start="5">
-<li><p class="first">Add the global attribute <tt class="docutils literal"><span class="pre">LR_File_Name</span></tt></p>
-<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>
-</pre></div>
-</div>
-</li>
-<li><p class="first">Add the global attribute <tt class="docutils literal"><span class="pre">Overlap_File_Name</span></tt></p>
-<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>
-</pre></div>
-</div>
-</li>
-</ol>
-</div>
-</div>
-
-
-          </div>
-        </div>
-      </div>
-      <div class="sphinxsidebar">
-        <div class="sphinxsidebarwrapper">
-  <h3><a href="index.html">Table Of Contents</a></h3>
-  <ul>
-<li><a class="reference internal" href="#">The SCC netCDF file format</a><ul>
-<li><a class="reference internal" href="#rationale">Rationale</a></li>
-<li><a class="reference internal" href="#example">Example</a><ul>
-<li><a class="reference internal" href="#dimensions">Dimensions</a></li>
-<li><a class="reference internal" href="#variables">Variables</a></li>
-<li><a class="reference internal" href="#global-attributes">Global attributes</a></li>
-</ul>
-</li>
-<li><a class="reference internal" href="#example-of-file-cdl-format">Example of file (CDL format)</a></li>
-</ul>
-</li>
-</ul>
-
-  <h4>Previous topic</h4>
-  <p class="topless"><a href="measurement_upload.html"
-                        title="previous chapter">Processing measurement</a></p>
-  <h4>Next topic</h4>
-  <p class="topless"><a href="user_managment.html"
-                        title="next chapter">User management</a></p>
-  <h3>This Page</h3>
-  <ul class="this-page-menu">
-    <li><a href="_sources/netcdf_file.txt"
-           rel="nofollow">Show Source</a></li>
-  </ul>
-<div id="searchbox" style="display: none">
-  <h3>Quick search</h3>
-    <form class="search" action="search.html" method="get">
-      <input type="text" name="q" />
-      <input type="submit" value="Go" />
-      <input type="hidden" name="check_keywords" value="yes" />
-      <input type="hidden" name="area" value="default" />
-    </form>
-    <p class="searchtip" style="font-size: 90%">
-    Enter search terms or a module, class or function name.
-    </p>
-</div>
-<script type="text/javascript">$('#searchbox').show(0);</script>
-        </div>
-      </div>
-      <div class="clearer"></div>
-    </div>
-    <div class="related">
-      <h3>Navigation</h3>
-      <ul>
-        <li class="right" style="margin-right: 10px">
-          <a href="genindex.html" title="General Index"
-             >index</a></li>
-        <li class="right" >
-          <a href="user_managment.html" title="User management"
-             >next</a> |</li>
-        <li class="right" >
-          <a href="measurement_upload.html" title="Processing measurement"
-             >previous</a> |</li>
-        <li><a href="index.html">Single Calculus Chain 0.2 documentation</a> &raquo;</li> 
-      </ul>
-    </div>
-    <div class="footer">
-        &copy; Copyright 2012, SCC team.
-      Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
-    </div>
-  </body>
-</html>
\ No newline at end of file

mercurial