docs/netcdf_file.rst

Mon, 05 Dec 2016 14:54:26 +0200

author
Ioannis Binietoglou <binietoglou@noa.gr>
date
Mon, 05 Dec 2016 14:54:26 +0200
changeset 92
c1e2d545e657
parent 89
8310b682c916
child 96
2f5d5e1d416d
permissions
-rw-r--r--

Updated old usescases and updated the docs.

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

mercurial