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