diff -r f6927689a3b2 -r 79fea4145278 docs/_build/html/netcdf_file.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/_build/html/netcdf_file.html Fri May 11 13:25:05 2012 +0200 @@ -0,0 +1,1352 @@ + + + + + +
+ + +The Single Calculus Chain (SCC) is composed by two different modules:
+To perfom aerosol optical retrievals the SCC needs not only the raw +lidar data but also a certain number of parameters to use in both +pre-processing and optical processing stages. The SCC gets these +parameters looking at two different locations:
+There are some paramenters that can be found only in the input files +(those ones changing from measurement to measurement), others that can +be found only in the SCC_DB and other ones that can be found in both +these locations. In the last case, if a particular parameter is needed, +the SCC will search first in the input files and then in SCC_DB. If the +parameter is found in the input files the SCC will keep it without +looking into SCC_DB.
+The input files have to be submitted to the SCC in NetCDF format. At the +present the SCC can handle four different types of input files:
+As already mentioned, the Raw Lidar Data file contains not only the +raw lidar data but also other parameters to use to perform the +pre-processing and optical processing. The Sounding Data file +contains the data coming from a correlative radiosounding and it is used +by the SCC for molecular density calculation. The Overlap file +contains the measured overlap function. The Lidar Ratio file contains +a lidar ratio profile to use in elastic backscatter retrievals. The +Raw Lidar Data file is of course mandatory and the Sounding Data, +Overlap and Lidar Ratio files are optional. If Sounding Data file +is not submitted by the user, the molecular density will be calculated +by the SCC using the “US Standard Atmosphere 1976”. If the Overlap +file is not submitted by the user, the SCC will get the full overlap +height from SCC_DB and it will produce optical results starting from +this height. If Lidar Ratio file is not submitted by the user, the +SCC will consider a fixed value for lidar ratio got from SCC_DB.
+The user can decide to submit all these files or any number of them (of +course the file Raw Lidar Data is mandatory). For example the user +can submit together with the Raw Lidar Data file only the Sounding +Data file or only the Overlap file.
+This document provides a detailed explanation about the structure of the +NetCDF input files to use for SCC data submission. All Earlinet groups +should read it carefully because they have to produce such kind of input +files if they want to use the SCC for their standard lidar retrievals. +Every comments or suggestions regarding this document can be sent to +Giuseppe D’Amico by e-mail at damico@imaa.cnr.it
+This document is available for downloading at www.earlinetasos.org
+In table tab:rawdata is reported a list of dimensions, variables and +global attributes that can be used in the NetCDF Raw Lidar Data input +file. For each of them it is indicated:
+As already mentioned, the SCC can get some parameters looking first in +the Raw Lidar Data input file and then into SCC_DB. This means that +to use the parameters stored in SCC_DB the optional variables or +optional global attributes must not appear within Raw Lidar Data +file. This is the suggested and recommended way to use the SCC. Please +include optional parameters in the Raw Lidar Data only as an +exception.
+In table tab:sounding, tab:overlap and tab:lr are reported all the +information about the structure of Sounding Data, Overlap and +Lidar Ratio input files respectively.
+Let’s now consider an example of Raw Lidar Data input file. Suppose +we want to generate NetCDF input file corresponding to a measurement +with the following properties:
+Start Date | +\(30^{th}\) January 2009 | +
Start Time UT | +00:00:01 | +
Stop Time UT | +00:05:01 | +
Station Name | +Dummy station | +
Earlinet call-sign | +cc | +
Pointing angle | +5 degrees with respect to the zenith | +
Moreover suppose that this measurement is composed by the following +lidar channels:
+1064 lidar channel
+Emission wavelength=1064nm + |
+Detection wavelength=1064nm + |
+
Time resolution=30s + |
+Number of laser shots=1500 + |
+
Number of bins=3000 + |
+Detection mode=analog + |
+
Range resolution=7.5m + |
+Polarization state=total + |
+
532 cross lidar channel
+Emission wavelength=532nm + |
+Detection wavelength=532nm + |
+
Time resolution=60s + |
+Number of laser shots=3000 + |
+
Number of bins=5000 + |
+Detection mode=photoncounting + |
+
Range resolution=15m + |
+Polarization state=cross + |
+
532 parallel lidar channel
+Emission wavelength=532nm + |
+Detection wavelength=532nm + |
+
Time resolution=60s + |
+Number of laser shots=3000 + |
+
Number of bins=5000 + |
+Detection mode=photoncounting + |
+
Range resolution=15m + |
+Polarization state=parallel + |
+
607 \(N_2\) vibrational Raman channel
+Emission wavelength=532nm + |
+Detection wavelength=607nm + |
+
Time resolution=60s + |
+Number of laser shots=3000 + |
+
Number of bins=5000 + |
+Detection mode=photoncounting + |
+
Range resolution=15m + |
+
Finally let’s assume we have also performed dark measurements before the +lidar measurements from the 23:50:01 UT up to 23:53:01 UT of +29:math:^mathrmth January 2009.
+Looking at table tab:rawdata we have to fix the following dimensions:
+points
+channels
+time
+nb_of_time_scales
+scan_angles
+time_bck
+
The dimension time is unlimited so we don’t have to fix it.
+We have 4 lidar channels so:
+channels=4
+
Regarding the dimension points we have only one channel with a +number of vertical bins equal to 3000 (the 1064nm) and all other +channels with 5000 vertical bins. In cases like this the dimension +points has to be fixed to the maximum number of vertical bins so:
+points=5000
+
Moreover only one channel (1064nm) is acquired with a time resolution of +30 seconds, all the other channels have a time resolution of 60 seconds. +This means that we have to define two different time scales. We have to +set:
+nb_of_time_scales=2
+
The measurement is performed only at one scan angle (5 degrees with +respect to the zenith) so:
+scan_angles=1
+
We have 3 minutes of dark measurements and two different time scales one +with 60 seconds time resolution and the other one with 30 seconds time +resolution. So we will have 3 different dark profiles for the channels +acquired with the first time scale and 6 for the lidar channels acquired +with the second time scale. We have to fix the dimension time_bck as +the maximum between these values:
+time_bck=6
+
In this section it will be explained how to fill all the possible +variables either mandatory or optional of Raw Lidar Data input file.
+This 2 dimensional mandatory array has to contain the acquisition +start time (in seconds from the time given by the global attribute +RawData_Start_Time_UT) of each lidar profile. In this example we +have two different time scales: one is characterized by steps of 30 +seconds (the 1064nm is acquired with this time scale) the other by +steps of 60 seconds (532cross, 532parallel and 607nm). Moreover the +measurement start time is 00:00:01 UT and the measurement stop time +is 00:05:01 UT. In this case we have to define:
+Raw_Data_Start_Time =
+ 0, 0,
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ 240, 120,
+ _, 150,
+ _, 180,
+ _, 210,
+ _, 240,
+ _, 270 ;
+The order used to fill this array defines the correspondence between +the different time scales and the time scale index. In this example +we have a time scale index of 0 for the time scale with steps of 60 +seconds and a time scale index of 1 for the other one.
+The same as previous item but for the data acquisition stop time. +Following a similar procedure we have to define:
+Raw_Data_Stop_Time =
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ 240, 120,
+ 300, 150,
+ _, 180,
+ _, 210,
+ _, 240,
+ _, 270,
+ _, 300 ;
+This 3 dimensional mandatory array has to be filled with the +time-series of raw lidar data. The photoncounting profiles have to +submitted in counts (so as integers) while the analog ones in mV. The +order the user chooses to fill this array defines the correspondence +between channel index and lidar data.
+For example if we fill this array in such way that:
+Raw_Lidar_Data(time,0,points | +\(\rightarrow\) is the time-series of 1064 nm | +
Raw_Lidar_Data(time,1,points | +\(\rightarrow\) is the time-series of 532 cross | +
Raw_Lidar_Data(time,2,points | +\(\rightarrow\) is the time-series of 532 parallel | +
Raw_Lidar_Data(time,3,points | +\(\rightarrow\) is the time-series of 607 nm | +
from now on the channel index 0 is associated to the 1064 channel, +1 to the 532 cross, 2 to the 532 parallel and 3 to the 607nm.
+This 2 dimensional optional array has to contain the acquisition +start time (in seconds from the time given by the global attribute +RawBck_Start_Time_UT) of each dark measurements profile. +Following the same procedure used for the variable +Raw_Data_Start_Time we have to define:
+Raw_Bck_Start_Time =
+ 0, 0,
+ 60, 30,
+ 120, 60,
+ _, 90,
+ _, 120,
+ _, 150;
+The same as previous item but for the dark acquisition stop time. +Following a similar procedure we have to define:
+Raw_Bck_Stop_Time =
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ _, 120,
+ _, 150,
+ _, 180 ;
+This 3 dimensional optional array has to be filled with the +time-series of the dark measurements data. The photoncounting +profiles have to submitted in counts (so as integers) while the +analog ones in mV. The user has to fill this array following the same +order used in filling the array Raw_Lidar_Data:
+Background_Profile(time_bck,0,points | +\(\rightarrow\) dark time-series at 1064 nm | +
Background_Profile(time_bck,1,points | +\(\rightarrow\) dark time-series at 532 cross | +
Background_Profile(time_bck,2,points | +\(\rightarrow\) dark time-series at 532 parallel | +
Background_Profile(time_bck,3,points | +\(\rightarrow\) dark time-series at 607 nm | +
This mandatory array provides the link between the channel index +within the Raw Lidar Data input file and the channel ID in +SCC_DB. To fill this variable the user has to know which channel IDs +in SCC_DB correspond to his lidar channels. For this purpose the +SCC, in its final version will provide to the user a special tool to +get these channel IDs through a Web interface. At the moment this +interface is not yet available and these channel IDs will be +communicated directly to the user by the NA5 people.
+Anyway to continue the example let’s suppose that the four lidar +channels taken into account are mapped into SCC_DB with the +following channel IDs:
+1064 nm | +\(\rightarrow\) channel ID=7 | +
532 cross | +\(\rightarrow\) channel ID=5 | +
532 parallel | +\(\rightarrow\) channel ID=6 | +
607 nm | +\(\rightarrow\) channel ID=8 | +
++In this case we have to define:
channel_ID = 7, 5, 6, 8 ;
+
This mandatory array is introduced to determine which time scale is +used for the acquisition of each lidar channel. In particular this +array defines the link between the channel index and the time scale +index. In our example we have two different time scales. Filling the +arrays Raw_Data_Start_Time and Raw_Data_Stop_Time we have +defined a time scale index of 0 for the time scale with steps of 60 +seconds and a time scale index of 1 for the other one with steps of +30 seconds. In this way this array has to be set as:
+id_timescale = 1, 0, 0, 0 ;
+
This mandatory array contains all the scan angles used in the +measurement. In our example we have only one scan angle of 5 degrees +with respect to the zenith, so we have to define:
+Laser_Pointing_Angle = 5 ;
+
This mandatory array is introduced to determine which scan angle is +used for the acquisition of each lidar profile. In particular this +array defines the link between the time and time scales indexes and +the scan angle index. In our example we have a single scan angle that +has to correspond to the scan angle index 0. So this array has to be +defined as:
+Laser_Pointing_Angle_of_Profiles =
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ _, 0,
+ _, 0,
+ _, 0,
+ _, 0,
+ _, 0 ;
+This mandatory array stores the laser shots accumulated at each time +for each channel. In our example the number of laser shots +accumulated is 1500 for the 1064nm channels and 3000 for all the +other channels. Moreover the laser shots do not change with the time. +So we have to define this array as:
+Laser_Shots =
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _ ;
+This optional array defines the link between the channel index and +the emission wavelength for each lidar channel. The wavelength has to +be expressed in nm. This information can be also taken from SCC_DB. +In our example we have:
+Emitted_Wavelength = 1064, 532, 532, 532 ;
+
This optional array defines the link between the channel index and +the detected wavelength for each lidar channel. Here detected +wavelength means the value of center of interferential filter +expressed in nm. This information can be also taken from SCC_DB. In +our example we have:
+Detected_Wavelength = 1064, 532, 532, 607 ;
+
This optional array defines the link between the channel index and +the raw range resolution for each channel. If the scan angle is +different from zero this quantity is different from the vertical +resolution. More precisely if \(\alpha\) is the scan angle used +and \(\Delta z\) is the range resolution the vertical +resolution is calculated as \(\Delta +z'=\Delta z \cos\alpha\). This array has to be filled with +\(\Delta z\) and not with \(\Delta z'\). The unit is +meters. This information can be also taken from SCC_DB. In our +example we have:
+Raw_Data_Range_Resolution = 7.5, 15.0, 15.0, 15.0 ;
+
This optional array defines if a particular channel is configured as +high, low or ultranear range channel. In particular a value 0 +indicates a low range channel, a value 1 a high range channel and a +value of 2 an ultranear range channel. If for a particular channel +you don’t separate between high and low range channel, please set the +corresponding value to 1. This information can be also taken from +SCC_DB. In our case we have to set:
+ID_Range = 1, 1, 1, 1 ;
+
This optional array defines the scattering mechanism involved in +each lidar channel. In particular the following values are adopted:
+0 | +\(\rightarrow\) Total elastic backscatter | +
1 | +\(\rightarrow\) \(N_2\) vibrational Raman backscatter | +
2 | +\(\rightarrow\) Cross polarization elastic backscatter | +
3 | +\(\rightarrow\) Parallel polarization elastic backscatter | +
4 | +\(\rightarrow\) \(H_2O\) vibrational Raman backscatter | +
5 | +\(\rightarrow\) Rotational Raman Stokes line close to elastic line | +
6 | +\(\rightarrow\) Rotational Raman Stokes line far from elastic line | +
7 | +\(\rightarrow\) Rotational Raman anti-Stokes line close to elastic line | +
8 | +\(\rightarrow\) Rotational Raman anti-Stokes line far from elastic line | +
9 | +\(\rightarrow\) Rotational Raman Stokes and anti-Stokes lines close to elastic line | +
10 | +\(\rightarrow\) Rotational Raman Stokes and anti-Stokes lines far from elastic line | +
This information can be also taken from SCC_DB. In our example we have:
+Scattering_Mechanism = 0, 2, 3, 1 ;
+
This optional array defines the acquisition mode (analog or +photoncounting) involved in each lidar channel. In particular a value +of 0 means analog mode and 1 photoncounting mode. This information +can be also taken from SCC_DB. In our example we have:
+Acquisition_Mode = 0, 1, 1, 1 ;
+
This optional array defines the repetition rate in Hz used to +acquire each lidar channel. This information can be also taken from +SCC_DB. In our example we are supposing we have only one laser with +a repetition rate of 50 Hz so we have to set:
+Laser_Repetition_Rate = 50, 50, 50, 50 ;
+
This optional array defines the dead time in ns associated to each +lidar channel. The SCC will use the values given by this array to +correct the photoncounting signals for dead time. Of course for +analog signals no dead time correction will be applied (for analog +channels the corresponding dead time values have to be set to +undefined value). This information can be also taken from SCC_DB. In +our example the 1064 nm channel is acquired in analog mode so the +corresponding dead time value has to be undefined. If we suppose a +dead time of 10 ns for all other channels we have to set:
+Dead_Time = _, 10, 10, 10 ;
+
This optional array defines which kind of dead time correction has +to be applied on each photoncounting channel. The SCC will correct +the data supposing a not-paralyzable channel if a value of 0 is found +while a paralyzable channel is supposed if a value of 1 is found. Of +course for analog signals no dead time correction will be applied and +so the corresponding values have to be set to undefined value. This +information can be also taken from SCC_DB. In our example the 1064 +nm channel is acquired in analog mode so the corresponding has to be +undefined. If we want to consider all the photoncounting signals as +not-paralyzable ones: we have to set:
+Dead_Time_Corr_Type = _, 0, 0, 0 ;
+
This optional array defines the delay (in ns) of the middle of the +first rangebin with respect to the output laser pulse for each lidar +channel. The SCC will use the values given by this array to correct +for trigger delay. This information can be also taken from SCC_DB. +Let’s suppose that in our example all the photoncounting channels are +not affected by this delay and only the analog channel at 1064nm is +acquired with a delay of 50ns. In this case we have to set:
+Trigger_Delay = 50, 0, 0, 0 ;
+
This optional array defines how the atmospheric background has to be +subtracted from the lidar channel. Two options are available for the +calculation of atmospheric background:
+This information can be also taken from SCC_DB. Let’s suppose in our +example we use the pre-trigger for the 1064nm channel and the far +field for all other channels. In this case we have to set:
+Background_Mode = 0, 1, 1, 1 ;
+
This mandatory array defines the minimum altitude (in meters) to +consider in calculating the atmospheric background for each channel. +In case pre-trigger mode is used the corresponding value has to be +set to the rangebin to be used as lower limit (within pre-trigger +region) for background calculation. In our example, if we want to +calculate the background between 30000 and 50000 meters for all +photoncounting channels and we want to use the first 500 pre-trigger +bins for the background calculation for the 1064nm channel we have to +set:
+Background_Low= 0, 30000, 30000, 30000 ;
+
This mandatory array defines the maximum altitude (in meters) to +consider in calculating the atmospheric background for each channel. +In case pre-trigger mode is used the corresponding value has to be +set to the rangebin to be used as upper limit (within pre-trigger +region) for background calculation. In our example, if we want to +calculate the background between 30000 and 50000 meters for all +photoncounting channels and we want to use the first 500 pre-trigger +bins for the background calculation for the 1064nm channel we have to +set:
+Background_High = 500, 50000, 50000, 50000 ;
+
This mandatory variable defines the way used by SCC to calculate the +molecular density profile. At the moment two options are available:
+If we decide to use the option 1. we have to provide also the +measured pressure and temperature at lidar station level. Indeed if +we decide to use the option 2. a radiosounding file has to be +submitted separately in NetCDF format (the structure of this file is +summarized in table tab:sounding). Let’s suppose we want to use the +option 1. so:
+Molecular_Calc = 0 ;
+
Because we have chosen the US Standard Atmosphere for calculation of +the molecular density profile we have to give the pressure in hPa at +lidar station level:
+Pressure_at_Lidar_Station = 1010 ;
+
Because we have chosen the US Standard Atmosphere for calculation of +the molecular density profile we have to give the temperature in C at +lidar station level:
+Temperature_at_Lidar_Station = 19.8 ;
+
This array is required only for lidar systems that use the two +depolarization channels for the backscatter retrieval. It represents +the factor \(f\) to calculate the total backscatter signal +\(S_t\) combining its cross \(S_c\) and parallel +\(S_p\) components: \(S_t=S_p+fS_c\). This factor is +mandatory only for systems acquiring \(S_c\) and \(S_p\) +and not \(S_t\). For systems acquiring \(S_c\), +\(S_p\) and \(S_t\) this factor is optional and it will +be used only for depolarizaton ratio calculation. Moreover only the +values of the array corresponding to cross polarization channels will +be considered; all other values will be not taken into account and +should be set to undefined value. In our example for the wavelength +532nm we have only the cross and the parallel components and not the +total one. So we have to give the value of this factor only in +correspondence of the 532nm cross polarization channel that +corresponds to the channel index 1. Suppose that this factor is 0.88. +Moreover, because we don’t have any other depolarization channels we +have also to set all other values of the array to undefined value.
+Depolarization_Factor = _,0.88,_,_ ;
+
This array is required only for lidar channels for which elastic +backscatter retrieval has to be performed. It defines the lidar ratio +to be used within this retrieval. Two options are available:
+If we decide to use the option 1. a lidar ratio file has to be +submitted separately in NetCDF format (the structure of this file is +summarized in table tab:lr). If we decide to use the option 2. the +fixed value of lidar ratio will be taken from SCC_DB. In our example +we have to give a value of this array only for the 1064nm lidar +channel because for the 532nm we will be able to retrieve a Raman +backscatter coefficient. In case we want to use the fixed value +stored in SCC_DB we have to set:
+LR_Input = 1,_,_,_ ;
+
This array is required only if one or more lidar signals are +acquired in analog mode. It gives the analog scale in mV used to +acquire the analog signals. In our example we have only the 1064nm +channel acquired in analog mode. If we have used a 100mV analog scale +to acquire this channel we have to set:
+DAQ_Range = 100,_,_,_ ;
+
This mandatory global attribute defines the measurement ID +corresponding to the actual lidar measurement. It is a string +composed by 12 characters. The first 8 characters give the start date +of measurement in the format YYYYMMDD. The next 2 characters give the +Earlinet call-sign of the station. The last 2 characters are used to +distinguish between different time-series within the same date. In +our example we have to set:
+Measurement_ID= "20090130cc00" ;
+
This mandatory global attribute defines the start date of lidar +measurements in the format YYYYMMDD. In our case we have:
+RawData_Start_Date = "20090130" ;
+
This mandatory global attribute defines the UT start time of lidar +measurements in the format HHMMSS. In our case we have:
+RawData_Start_Time_UT = "000001" ;
+
This mandatory global attribute defines the UT stop time of lidar +measurements in the format HHMMSS. In our case we have:
+RawData_Stop_Time_UT = "000501" ;
+
This optional global attribute defines the start date of dark +measurements in the format YYYYMMDD. In our case we have:
+RawBck_Start_Date = "20090129" ;
+
This optional global attribute defines the UT start time of dark +measurements in the format HHMMSS. In our case we have:
+RawBck_Start_Time_UT = "235001" ;
+
This optional global attribute defines the UT stop time of dark +measurements in the format HHMMSS. In our case we have:
+RawBck_Stop_Time_UT = "235301" ;
+
To summarize we have the following NetCDF Raw Lidar Data file (in CDL +format):
+dimensions:
+ points = 5000 ;
+ channels = 4 ;
+ time = UNLIMITED ; // (10 currently)
+ nb_of_time_scales = 2 ;
+ scan_angles = 1 ;
+ time_bck = 6 ;
+variables:
+ int channel_ID(channels) ;
+ int Laser_Repetition_Rate(channels) ;
+ double Laser_Pointing_Angle(scan_angles) ;
+ int ID_Range(channels) ;
+ int Scattering_Mechanism(channels) ;
+ double Emitted_Wavelength(channels) ;
+ double Detected_Wavelength(channels) ;
+ double Raw_Data_Range_Resolution(channels) ;
+ int Background_Mode(channels) ;
+ double Background_Low(channels) ;
+ double Background_High(channels) ;
+ int Molecular_Calc ;
+ double Pressure_at_Lidar_Station ;
+ double Temperature_at_Lidar_Station ;
+ int id_timescale(channels) ;
+ double Dead_Time(channels) ;
+ int Dead_Time_Corr_Type(channels) ;
+ int Acquisition_Mode(channels) ;
+ double Trigger_Delay(channels) ;
+ int LR_Input(channels) ;
+ int Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales) ;
+ int Raw_Data_Start_Time(time, nb_of_time_scales) ;
+ int Raw_Data_Stop_Time(time, nb_of_time_scales) ;
+ int Raw_Bck_Start_Time(time_bck, nb_of_time_scales) ;
+ int Raw_Bck_Stop_Time(time_bck, nb_of_time_scales) ;
+ int Laser_Shots(time, channels) ;
+ double Raw_Lidar_Data(time, channels, points) ;
+ double Background_Profile(time_bck, channels, points) ;
+ double DAQ_Range(channels) ;
+
+// global attributes:
+ :Measurement_ID = "20090130cc00" ;
+ :RawData_Start_Date = "20090130" ;
+ :RawData_Start_Time_UT = "000001" ;
+ :RawData_Stop_Time_UT = "000501" ;
+ :RawBck_Start_Date = "20090129" ;
+ :RawBck_Start_Time_UT = "235001" ;
+ :RawBck_Stop_Time_UT = "235301" ;
+
+data:
+
+ channel_ID = 7, 5, 6, 8 ;
+
+ Laser_Repetition_Rate = 50, 50, 50, 50 ;
+
+ Laser_Pointing_Angle = 5 ;
+
+ ID_Range = 1, 1, 1, 1 ;
+
+ Scattering_Mechanism = 0, 2, 3, 1 ;
+
+ Emitted_Wavelength = 1064, 532, 532, 532 ;
+
+ Detected_Wavelength = 1064, 532, 532, 607 ;
+
+ Raw_Data_Range_Resolution = 7.5, 15, 15, 15 ;
+
+ Background_Mode = 0, 1, 1, 1 ;
+
+ Background_Low = 0, 30000, 30000, 30000 ;
+
+ Background_High = 500, 50000, 50000, 50000 ;
+
+ Molecular_Calc = 0 ;
+
+ Pressure_at_Lidar_Station = 1010 ;
+
+ Temperature_at_Lidar_Station = 19.8 ;
+
+ id_timescale = 1, 0, 0, 0 ;
+
+ Dead_Time = _, 10, 10, 10 ;
+
+ Dead_Time_Corr_Type = _, 0, 0, 0 ;
+
+ Acquisition_Mode = 0, 1, 1, 1 ;
+
+ Trigger_Delay = 50, 0, 0, 0 ;
+
+ LR_Input = 1,_,_,_ ;
+
+ DAQ_Range = 100,_,_,_ ;
+
+ Laser_Pointing_Angle_of_Profiles =
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ _, 0,
+ _, 0,
+ _, 0,
+ _, 0,
+ _, 0 ;
+
+
+ Raw_Data_Start_Time =
+ 0, 0,
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ 240, 120,
+ _, 150,
+ _, 180,
+ _, 210,
+ _, 240,
+ _, 270 ;
+
+ Raw_Data_Stop_Time =
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ 240, 120,
+ 300, 150,
+ _, 180,
+ _, 210,
+ _, 240,
+ _, 270,
+ _, 300 ;
+
+
+ Raw_Bck_Start_Time =
+ 0, 0,
+ 60, 30,
+ 120, 60,
+ _, 90,
+ _, 120,
+ _, 150;
+
+
+Raw_Bck_Stop_Time =
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ _, 120,
+ _, 150,
+ _, 180 ;
+
+
+ Laser_Shots =
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _ ;
+
+
+ Raw_Lidar_Data = ...
+
+ Background_Profile = ...
+Please keep in mind that in case you submit a file like the previous one +all the parameters present in it will be used by the SCC even if you +have different values for the same parameters within the SCC_DB. If you +want to use the values already stored in SCC_DB (this should be the +usual way to use SCC) the Raw Lidar Data input file has to be +modified as follows:
+dimensions:
+ points = 5000 ;
+ channels = 4 ;
+ time = UNLIMITED ; // (10 currently)
+ nb_of_time_scales = 2 ;
+ scan_angles = 1 ;
+ time_bck = 6 ;
+variables:
+ int channel_ID(channels) ;
+ double Laser_Pointing_Angle(scan_angles) ;
+ double Background_Low(channels) ;
+ double Background_High(channels) ;
+ int Molecular_Calc ;
+ double Pressure_at_Lidar_Station ;
+ double Temperature_at_Lidar_Station ;
+ int id_timescale(channels) ;
+ int Laser_Pointing_Angle_of_Profiles(time, nb_of_time_scales) ;
+ int Raw_Data_Start_Time(time, nb_of_time_scales) ;
+ int Raw_Data_Stop_Time(time, nb_of_time_scales) ;
+ int Raw_Bck_Start_Time(time_bck, nb_of_time_scales) ;
+ int Raw_Bck_Stop_Time(time_bck, nb_of_time_scales) ;
+ int LR_Input(channels) ;
+ int Laser_Shots(time, channels) ;
+ double Raw_Lidar_Data(time, channels, points) ;
+ double Background_Profile(time_bck, channels, points) ;
+ double DAQ_Range(channels) ;
+
+// global attributes:
+ :Measurement_ID = "20090130cc00" ;
+ :RawData_Start_Date = "20090130" ;
+ :RawData_Start_Time_UT = "000001" ;
+ :RawData_Stop_Time_UT = "000501" ;
+ :RawBck_Start_Date = "20090129" ;
+ :RawBck_Start_Time_UT = "235001" ;
+ :RawBck_Stop_Time_UT = "235301" ;
+
+data:
+
+ channel_ID = 7, 5, 6, 8 ;
+
+ Laser_Pointing_Angle = 5 ;
+
+ Background_Low = 0, 30000, 30000, 30000 ;
+
+ Background_High = 500, 50000, 50000, 50000 ;
+
+ Molecular_Calc = 0 ;
+
+ Pressure_at_Lidar_Station = 1010 ;
+
+ Temperature_at_Lidar_Station = 19.8 ;
+
+ id_timescale = 1, 0, 0, 0 ;
+
+ LR_Input = 1,_,_,_ ;
+
+ DAQ_Range = 100,_,_,_ ;
+
+ Laser_Pointing_Angle_of_Profiles =
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ 0, 0,
+ _, 0,
+ _, 0,
+ _, 0,
+ _, 0,
+ _, 0 ;
+
+
+ Raw_Data_Start_Time =
+ 0, 0,
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ 240, 120,
+ _, 150,
+ _, 180,
+ _, 210,
+ _, 240,
+ _, 270 ;
+
+ Raw_Data_Stop_Time =
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ 240, 120,
+ 300, 150,
+ _, 180,
+ _, 210,
+ _, 240,
+ _, 270,
+ _, 300 ;
+
+
+ Raw_Bck_Start_Time =
+ 0, 0,
+ 60, 30,
+ 120, 60,
+ _, 90,
+ _, 120,
+ _, 150;
+
+
+ Raw_Bck_Stop_Time =
+ 60, 30,
+ 120, 60,
+ 180, 90,
+ _, 120,
+ _, 150,
+ _, 180 ;
+
+
+ Laser_Shots =
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, 3000, 3000, 3000,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _,
+ 1500, _, _, _ ;
+
+
+ Raw_Lidar_Data = ...
+
+ Background_Profile = ...
+This example file contains the minimum collection of mandatory +information that has to be found within the Raw Lidar Data input +file. If it is really necessary, the user can decide to add to these +mandatory parameters any number of additional parameters considered in +the previous example.
+Finally, suppose we want to make the following changes with respect to +the previous example:
+In this case we have to generate the following NetCDF additional files:
+Moreover we need to apply the following changes to the Raw Lidar Data +input file:
+Change the value of the variable Molecular_Calc as follows:
+Molecular_Calc = 1 ;
+
Of course the variables Pressure_at_Lidar_Station and +Temperature_at_Lidar_Station are not necessary anymore.
+Change the values of the array LR_Input as follows:
+LR_Input = 0,_,_,_ ;
+
Add the global attribute Sounding_File_Name
+Sounding_File_Name = "rs_20090130cc00.nc" ;
+
Add the global attribute LR_File_Name
+LR_File_Name = "lr_20090130cc00.nc" ;
+
Add the global attribute Overlap_File_Name
+Overlap_File_Name = "ov_20090130cc00.nc" ;
+