ulalume3@11: % Generated by Sphinx. ulalume3@11: \def\sphinxdocclass{report} ulalume3@11: \documentclass[letterpaper,10pt,english]{sphinxmanual} ulalume3@11: \usepackage[utf8]{inputenc} ulalume3@11: \DeclareUnicodeCharacter{00A0}{\nobreakspace} ulalume3@11: \usepackage[T1]{fontenc} ulalume3@11: \usepackage{babel} ulalume3@11: \usepackage{times} ulalume3@11: \usepackage[Bjarne]{fncychap} ulalume3@11: \usepackage{longtable} ulalume3@11: \usepackage{sphinx} ulalume3@11: \usepackage{multirow} ulalume3@11: ulalume3@11: ulalume3@11: \title{Single Calculus Chain Documentation} ulalume3@11: \date{March 30, 2012} ulalume3@11: \release{0.2} ulalume3@11: \author{SCC team} ulalume3@11: \newcommand{\sphinxlogo}{} ulalume3@11: \renewcommand{\releasename}{Release} ulalume3@11: \makeindex ulalume3@11: ulalume3@11: \makeatletter ulalume3@11: \def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax% ulalume3@11: \let\PYG@ul=\relax \let\PYG@tc=\relax% ulalume3@11: \let\PYG@bc=\relax \let\PYG@ff=\relax} ulalume3@11: \def\PYG@tok#1{\csname PYG@tok@#1\endcsname} ulalume3@11: \def\PYG@toks#1+{\ifx\relax#1\empty\else% ulalume3@11: \PYG@tok{#1}\expandafter\PYG@toks\fi} ulalume3@11: \def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{% ulalume3@11: \PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}} ulalume3@11: \def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}} ulalume3@11: ulalume3@11: \def\PYG@tok@gd{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}} ulalume3@11: \def\PYG@tok@gu{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}} ulalume3@11: \def\PYG@tok@gt{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.25,0.82}{##1}}} ulalume3@11: \def\PYG@tok@gs{\let\PYG@bf=\textbf} ulalume3@11: \def\PYG@tok@gr{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}} ulalume3@11: \def\PYG@tok@cm{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} ulalume3@11: \def\PYG@tok@vg{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} ulalume3@11: \def\PYG@tok@m{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} ulalume3@11: \def\PYG@tok@mh{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} ulalume3@11: \def\PYG@tok@cs{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}\def\PYG@bc##1{\colorbox[rgb]{1.00,0.94,0.94}{##1}}} ulalume3@11: \def\PYG@tok@ge{\let\PYG@it=\textit} ulalume3@11: \def\PYG@tok@vc{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} ulalume3@11: \def\PYG@tok@il{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} ulalume3@11: \def\PYG@tok@go{\def\PYG@tc##1{\textcolor[rgb]{0.19,0.19,0.19}{##1}}} ulalume3@11: \def\PYG@tok@cp{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@gi{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}} ulalume3@11: \def\PYG@tok@gh{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}} ulalume3@11: \def\PYG@tok@ni{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.84,0.33,0.22}{##1}}} ulalume3@11: \def\PYG@tok@nl{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.13,0.44}{##1}}} ulalume3@11: \def\PYG@tok@nn{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} ulalume3@11: \def\PYG@tok@no{\def\PYG@tc##1{\textcolor[rgb]{0.38,0.68,0.84}{##1}}} ulalume3@11: \def\PYG@tok@na{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@nb{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@nc{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.05,0.52,0.71}{##1}}} ulalume3@11: \def\PYG@tok@nd{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.33,0.33,0.33}{##1}}} ulalume3@11: \def\PYG@tok@ne{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@nf{\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.49}{##1}}} ulalume3@11: \def\PYG@tok@si{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.44,0.63,0.82}{##1}}} ulalume3@11: \def\PYG@tok@s2{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@vi{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} ulalume3@11: \def\PYG@tok@nt{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.02,0.16,0.45}{##1}}} ulalume3@11: \def\PYG@tok@nv{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.38,0.84}{##1}}} ulalume3@11: \def\PYG@tok@s1{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@gp{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} ulalume3@11: \def\PYG@tok@sh{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@ow{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@sx{\def\PYG@tc##1{\textcolor[rgb]{0.78,0.36,0.04}{##1}}} ulalume3@11: \def\PYG@tok@bp{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@c1{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} ulalume3@11: \def\PYG@tok@kc{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@c{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.56}{##1}}} ulalume3@11: \def\PYG@tok@mf{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} ulalume3@11: \def\PYG@tok@err{\def\PYG@bc##1{\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{##1}}} ulalume3@11: \def\PYG@tok@kd{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@ss{\def\PYG@tc##1{\textcolor[rgb]{0.32,0.47,0.09}{##1}}} ulalume3@11: \def\PYG@tok@sr{\def\PYG@tc##1{\textcolor[rgb]{0.14,0.33,0.53}{##1}}} ulalume3@11: \def\PYG@tok@mo{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} ulalume3@11: \def\PYG@tok@mi{\def\PYG@tc##1{\textcolor[rgb]{0.13,0.50,0.31}{##1}}} ulalume3@11: \def\PYG@tok@kn{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@o{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}} ulalume3@11: \def\PYG@tok@kr{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@s{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@kp{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@w{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}} ulalume3@11: \def\PYG@tok@kt{\def\PYG@tc##1{\textcolor[rgb]{0.56,0.13,0.00}{##1}}} ulalume3@11: \def\PYG@tok@sc{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@sb{\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@k{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.44,0.13}{##1}}} ulalume3@11: \def\PYG@tok@se{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: \def\PYG@tok@sd{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.44,0.63}{##1}}} ulalume3@11: ulalume3@11: \def\PYGZbs{\char`\\} ulalume3@11: \def\PYGZus{\char`\_} ulalume3@11: \def\PYGZob{\char`\{} ulalume3@11: \def\PYGZcb{\char`\}} ulalume3@11: \def\PYGZca{\char`\^} ulalume3@11: \def\PYGZsh{\char`\#} ulalume3@11: \def\PYGZpc{\char`\%} ulalume3@11: \def\PYGZdl{\char`\$} ulalume3@11: \def\PYGZti{\char`\~} ulalume3@11: % for compatibility with earlier versions ulalume3@11: \def\PYGZat{@} ulalume3@11: \def\PYGZlb{[} ulalume3@11: \def\PYGZrb{]} ulalume3@11: \makeatother ulalume3@11: ulalume3@11: \begin{document} ulalume3@11: ulalume3@11: \maketitle ulalume3@11: \tableofcontents ulalume3@11: \phantomsection\label{index::doc} ulalume3@11: ulalume3@11: ulalume3@11: Contents: ulalume3@11: ulalume3@11: ulalume3@11: \chapter{Introduction} ulalume3@11: \label{introduction:introduction}\label{introduction:welcome-to-single-calculus-chain-interface-s-documentation}\label{introduction::doc}\begin{itemize} ulalume3@11: \item {} ulalume3@11: The Single calculus chain is made of different modules. These modules don't interact directly but only change value in a database. ulalume3@11: ulalume3@11: \item {} ulalume3@11: This interface will allow Earlinet memebers to interact with parts of the database. ulalume3@11: ulalume3@11: \item {} ulalume3@11: One part of the interface (the ``Station admin'' section) permits registering a new station, registerring new lidar systems and configuration, fill in details for the channels that constitute the system and finnaly define the products (extinction, backscatter e.t.c.) that need to be calculated by the SCC. ulalume3@11: ulalume3@11: \item {} ulalume3@11: The second part of the interface is dedicated to the uploading of new measurement files, the configuration of the measurement specific paramters and, finally, the retrieval of the calculated products. ulalume3@11: ulalume3@11: \item {} ulalume3@11: Different types of users, with different level of access permissions can have access in the interface. In this way, higher level of flexibility and security can be achived. ulalume3@11: ulalume3@11: \end{itemize} ulalume3@11: ulalume3@11: ulalume3@11: \chapter{Tutorial} ulalume3@11: \label{tutorial::doc}\label{tutorial:tutorial} ulalume3@11: ulalume3@11: \section{Introduction} ulalume3@11: \label{tutorial/introduction:introduction}\label{tutorial/introduction::doc}\begin{itemize} ulalume3@11: \item {} ulalume3@11: The Single calculus chain is made of different modules. These modules don't interact directly but only change value in a database. ulalume3@11: ulalume3@11: \item {} ulalume3@11: This interface will allow Earlinet memebers to interact with parts of the database. ulalume3@11: ulalume3@11: \item {} ulalume3@11: One part of the interface (the ``Station admin'' section) permits registering a new station, registerring new lidar systems and configuration, fill in details for the channels that constitute the system and finnaly define the products (extinction, backscatter e.t.c.) that need to be calculated by the SCC. ulalume3@11: ulalume3@11: \item {} ulalume3@11: The second part of the interface is dedicated to the uploading of new measurement files, the configuration of the measurement specific paramters and, finally, the retrieval of the calculated products. ulalume3@11: ulalume3@11: \item {} ulalume3@11: Different types of users, with different level of access permissions can have access in the interface. In this way, higher level of flexibility and security can be achived. ulalume3@11: ulalume3@11: \end{itemize} ulalume3@11: ulalume3@11: ulalume3@11: \section{Adding a station} ulalume3@11: \label{tutorial/adding_station:adding-a-station}\label{tutorial/adding_station::doc} ulalume3@11: You can change all your settings throught the \emph{admin section} of the website. ulalume3@11: To reach it, click on \textbf{Station admin} link at the main menu of the site. ulalume3@11: ulalume3@11: \begin{notice}{note}{Note:} ulalume3@11: You will need to have an account with admin access privilages to access this part of the site. ulalume3@11: See {\hyperref[user_management:user-management]{\emph{User management}}} for details. ulalume3@11: \end{notice} ulalume3@11: ulalume3@11: The first you have to do to start using the single calculus chain is to register your station. ulalume3@11: To do this, go the the admin section and click on the \textbf{HOI stations} in the \emph{System settings} panel. ulalume3@11: This will take you to a page with a list of all stations that you account has access to. This list should ulalume3@11: be empty if this is the first time you add a station. ulalume3@11: ulalume3@11: To add a new station to the database click on \textbf{Add HOI station} at the top right of the screen. ulalume3@11: This will take you to a new page were you can fill in the needed information. The fields in \textbf{bold} ulalume3@11: are mandatory and you will need to fill them before you can save you new station. ulalume3@11: ulalume3@11: For now you will need to fill in the following fields: ulalume3@11: \begin{description} ulalume3@11: \item[{Name}] \leavevmode ulalume3@11: The name of the station ulalume3@11: ulalume3@11: \item[{Id}] \leavevmode ulalume3@11: The earlinet call sign with exactly 2 characters. ulalume3@11: ulalume3@11: \item[{Institute name}] \leavevmode ulalume3@11: The name of the institute that own the system ulalume3@11: ulalume3@11: \item[{Latitude}] \leavevmode ulalume3@11: In degrees north is the latitude of the station. ulalume3@11: ulalume3@11: \item[{Longitude}] \leavevmode ulalume3@11: In degrees east is the longitude of the station. ulalume3@11: ulalume3@11: \item[{Height asl}] \leavevmode ulalume3@11: The altitude of the station in meters above sea level. ulalume3@11: ulalume3@11: \item[{PI}] \leavevmode ulalume3@11: The name of the Principal Investigator of the station. ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: You can leave all the other fields empty. When you are done, press the \textbf{save} button at the bottom right of the page. ulalume3@11: This will take you back to the list of your stations. If everything went OK your station you just added should appear ulalume3@11: in the list. ulalume3@11: ulalume3@11: We don't have to make any more changes in this part, so you can click on \textbf{Home} ulalume3@11: on the top left of the page to return to the starting page of the \emph{admin section}. ulalume3@11: ulalume3@11: ulalume3@11: \section{Adding a system} ulalume3@11: \label{tutorial/adding_system::doc}\label{tutorial/adding_system:adding-a-system} ulalume3@11: After adding a station to the database, we need to add a new system. ulalume3@11: To do this, click on the \textbf{HOI systems} in the \emph{System settings} panel. ulalume3@11: This will take you to a page with a list of all availabe systems that are connected with your stations. This list should ulalume3@11: be empty if this is the first time you add a system. ulalume3@11: ulalume3@11: \begin{notice}{note}{Note:} ulalume3@11: In the Single Calculus Chain, a \emph{HOI System} represents a specific configuration of a lidar system. ulalume3@11: For example, if you are operating a lidar system and you use different channels during daytime and nightime, ulalume3@11: you will need to register \emph{two different} systems in the database, one for each different configuration you use. ulalume3@11: \end{notice} ulalume3@11: ulalume3@11: To add a new system to the database click on \textbf{Add HOI system} at the top right of the screen. ulalume3@11: This will take you to a new page were you can fill in the needed information. As before, the fields in \textbf{bold} ulalume3@11: are mandatory and you will need to fill them before you can save you new system. ulalume3@11: ulalume3@11: \begin{notice}{note}{Note:} ulalume3@11: Not every field that is present in the database is used in the in the Single Calculs Chain. ulalume3@11: Many of them are part of the Handbook of Instruments. ulalume3@11: \end{notice} ulalume3@11: ulalume3@11: For now you will need to fill in the following fields: ulalume3@11: \begin{description} ulalume3@11: \item[{Name}] \leavevmode ulalume3@11: The name of your system. ulalume3@11: ulalume3@11: \item[{Station (owner)}] \leavevmode ulalume3@11: From the drop-down list, select the station which this system belongs to. ulalume3@11: ulalume3@11: \item[{Configuration}] \leavevmode ulalume3@11: The name of the specific configuration. For example you could specify ``night time'' if the system you are registering ulalume3@11: correspond to the night-time configuration of your system ulalume3@11: ulalume3@11: \item[{Pi}] \leavevmode ulalume3@11: The principle investigator of this system ulalume3@11: ulalume3@11: \item[{Height asl}] \leavevmode ulalume3@11: The altitude of the system above sea level (in meters). ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: You can leave all the other fields empty. When you are done, press the \textbf{save} button at the bottom right of the page. ulalume3@11: This will take you back to the list of your systems. If everything went OK your new system you just added should appear ulalume3@11: in the list. ulalume3@11: ulalume3@11: We don't have to make any more changes in this part, so you can click on \textbf{Home} ulalume3@11: on the top left of the page to return to the starting page of the \emph{admin section}. ulalume3@11: ulalume3@11: ulalume3@11: \section{Adding equipment} ulalume3@11: \label{tutorial/adding_telescopelaser:adding-equipment}\label{tutorial/adding_telescopelaser::doc} ulalume3@11: After adding a system to the database, we need to add at least one telescope and one laser before you add a channel. ulalume3@11: ulalume3@11: ulalume3@11: \subsection{Telescope} ulalume3@11: \label{tutorial/adding_telescopelaser:telescope} ulalume3@11: To add a new telescope, click on the \textbf{HOI telescopes} in the \emph{System settings} panel. ulalume3@11: This will take you to a page with a list of all availabe telescopes that are connected with your station. ulalume3@11: This list should be empty if this is the first time you add a telescope. ulalume3@11: ulalume3@11: To add a new telescope to the database click on \textbf{Add HOI telescope} at the top right of the screen. ulalume3@11: This will take you to a new page were you can fill in the needed information. Once again, the fields in \textbf{bold} ulalume3@11: are mandatory and you will need to fill them before you can save you new telescope. ulalume3@11: ulalume3@11: The fields you need to add are: ulalume3@11: \begin{description} ulalume3@11: \item[{Type}] \leavevmode ulalume3@11: The telescope type ulalume3@11: ulalume3@11: \item[{Diameter}] \leavevmode ulalume3@11: The diameter of the primary mirror in mm ulalume3@11: ulalume3@11: \item[{Focal length}] \leavevmode ulalume3@11: The equivalent focal length of the telescope in mm ulalume3@11: ulalume3@11: \item[{Full overlap height}] \leavevmode ulalume3@11: The height where the full overlap is achieved. ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: When you are done, press the \textbf{save} button at the bottom right of the page. If no errors are present, you will return to ulalume3@11: the telescope list page. Your new telescope should appear in the list. ulalume3@11: ulalume3@11: ulalume3@11: \subsection{Laser} ulalume3@11: \label{tutorial/adding_telescopelaser:laser} ulalume3@11: To add a new laser, click on the \textbf{HOI Laser} in the \emph{System settings} panel. ulalume3@11: This will take you to a page with a list of all availabe lasers that are connected with your station. ulalume3@11: This list should be empty if this is the first time you add a laser. ulalume3@11: ulalume3@11: To add a new telescope to the database click on \textbf{Add HOI laser} at the top right of the screen. ulalume3@11: This will take you to a new page were you can fill in the needed information. The fields in \textbf{bold} ulalume3@11: are mandatory and you will need to fill them before you can save you new telescope. ulalume3@11: ulalume3@11: The fields you need to add are: ulalume3@11: \begin{description} ulalume3@11: \item[{Manufacturer}] \leavevmode ulalume3@11: The manufacturer of the telescope ulalume3@11: ulalume3@11: \item[{Model}] \leavevmode ulalume3@11: The model of the telescope ulalume3@11: ulalume3@11: \item[{Repetition rate}] \leavevmode ulalume3@11: The repetition rate in Hz ulalume3@11: ulalume3@11: \item[{Type}] \leavevmode ulalume3@11: The type of the laser (ex. Nd:YAG) ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: When you are done, press the \textbf{save} button at the bottom right of the page. If no errors are present, you will return to ulalume3@11: the laser list page. The new laser you added should be present there. ulalume3@11: ulalume3@11: ulalume3@11: \section{Adding a channel} ulalume3@11: \label{tutorial/adding_channels::doc}\label{tutorial/adding_channels:adding-a-channel} ulalume3@11: After adding a system, a telescope and a laser to the database, you need to add a new channel. ulalume3@11: To do this, click on the \textbf{HOI channels} in the \emph{System settings} panel. ulalume3@11: This will take you to a page with a list of all availabe channels that are connected with your lidar systems. ulalume3@11: This list should be empty if this is the first time you add a system. ulalume3@11: ulalume3@11: To add a new channel to the database click on \textbf{Add HOI channel} at the top right of the screen. ulalume3@11: This will take you to a new page were you can fill in the needed information. As before, the fields in \textbf{bold} ulalume3@11: are mandatory and you will need to fill them before you can save you new system. ulalume3@11: ulalume3@11: The fileds you have to fill here are more, as many of these are used during the processing of measurements. ulalume3@11: ulalume3@11: \begin{notice}{warning}{Warning:} ulalume3@11: There is a last step, different from the previous cases, when saving a new channel. You need to connect your channel with ulalume3@11: a lidar system before you save, or else all your entry will be lost. Read carefully through this document (or directly ulalume3@11: the {\hyperref[tutorial/adding_channels:connect-channel-to-system]{\emph{last section}}}) to avoid any problems. ulalume3@11: \end{notice} ulalume3@11: ulalume3@11: ulalume3@11: \subsection{Fill in the fields} ulalume3@11: \label{tutorial/adding_channels:fill-in-the-fields} ulalume3@11: To start using the single calculus chain you will need to fill the following fields: ulalume3@11: \begin{description} ulalume3@11: \item[{Name}] \leavevmode ulalume3@11: The name of the channel ex. ``355'', ``1064 analog'' etc. ulalume3@11: ulalume3@11: \item[{Telescope}] \leavevmode ulalume3@11: The telescope that is used for this channel ulalume3@11: ulalume3@11: \item[{Laser}] \leavevmode ulalume3@11: The laser that is used for this channel ulalume3@11: ulalume3@11: \item[{Interference filter center}] \leavevmode ulalume3@11: The center of the interference filter in nm ulalume3@11: ulalume3@11: \item[{Interference filter FWHM}] \leavevmode ulalume3@11: The FWHM of the interference filter in nm ulalume3@11: ulalume3@11: \item[{Emission wavelength}] \leavevmode ulalume3@11: The emission wavelength of the laser used for this channel ulalume3@11: ulalume3@11: \item[{Field of view}] \leavevmode ulalume3@11: The field of view realated to this channel in mrad ulalume3@11: ulalume3@11: \item[{Raw range resolution}] \leavevmode ulalume3@11: The raw range resolution of the measured data in m ulalume3@11: ulalume3@11: \item[{Dead time}] \leavevmode ulalume3@11: The dead of the detector in ns. You should fill in this in case ulalume3@11: of a photon counting detector. ulalume3@11: ulalume3@11: \item[{Trigger delay}] \leavevmode ulalume3@11: The trigger delay value for the channel in ns. Fill in 0 if not needed. ulalume3@11: ulalume3@11: \item[{Scattering mechanism}] \leavevmode ulalume3@11: The scattering mechanism that is involved in this channel. Select the appropriate value from the drop-down list. ulalume3@11: ulalume3@11: \item[{Dead time correction type}] \leavevmode ulalume3@11: The dead time correction type to be applied. Select \emph{Not defined} if none needs to be defined. ulalume3@11: ulalume3@11: \item[{Background mode}] \leavevmode ulalume3@11: The way to calculate the singal background. Select \emph{Not defined} if none needs to be defined. ulalume3@11: ulalume3@11: \item[{Signal type}] \leavevmode ulalume3@11: The type of the singal that is measured, ex. ``elT'' for total elastic, ``vrRN2'' for vibrational-rotational ulalume3@11: Raman signal from Nitrogen melecules etc. See {\hyperref[details/adding_channels:signal-types]{\emph{Signal types}}} for details. ulalume3@11: ulalume3@11: \item[{Detection mode}] \leavevmode ulalume3@11: The detection mode of this channel. ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: ulalume3@11: \subsection{Connecting to a system} ulalume3@11: \label{tutorial/adding_channels:connect-channel-to-system}\label{tutorial/adding_channels:connecting-to-a-system} ulalume3@11: Before you finish, you need to attach your channel to one of your systems. To do this, go at the bottom of the page and ulalume3@11: select your system from the drop-down list in the \textbf{System channels} area. ulalume3@11: ulalume3@11: When you are done, press the \textbf{save} button at the bottom right of the page. ulalume3@11: This will take you back to the list of your channels. ulalume3@11: If everything went OK your new channel you just added should appear in the list. ulalume3@11: ulalume3@11: ulalume3@11: \section{Adding products} ulalume3@11: \label{tutorial/adding_products:adding-products}\label{tutorial/adding_products::doc} ulalume3@11: Walk-through of adding a product. ulalume3@11: ulalume3@11: ulalume3@11: \section{Processing data} ulalume3@11: \label{tutorial/processing_data:processing-data}\label{tutorial/processing_data::doc} ulalume3@11: Walk-through of how to upload a file and seeing the results. ulalume3@11: ulalume3@11: ulalume3@11: \chapter{Detailed documentation} ulalume3@11: \label{interface_details::doc}\label{interface_details:detailed-documentation} ulalume3@11: Contents: ulalume3@11: ulalume3@11: ulalume3@11: \section{Introduction} ulalume3@11: \label{details/introduction:introduction}\label{details/introduction::doc} ulalume3@11: ulalume3@11: \section{Adding stations} ulalume3@11: \label{details/adding_station:adding-stations}\label{details/adding_station::doc} ulalume3@11: You can add the definition of new systems that belong to the station by clicking on the Hoi System blue line that ulalume3@11: appears bollow the main station fields. For more details on the filed you need to fill in see the {\hyperref[details/adding_system:add-new-system]{\emph{Adding systems}}} section. ulalume3@11: You can add more stations by clicking on the ``Add another Hoi System'' option. ulalume3@11: ulalume3@11: \begin{notice}{note}{Note:} ulalume3@11: You need to have \emph{Javascript} enebled to add a new station from this page. ulalume3@11: \end{notice} ulalume3@11: ulalume3@11: ulalume3@11: \section{Adding systems} ulalume3@11: \label{details/adding_system:add-new-system}\label{details/adding_system:adding-systems}\label{details/adding_system::doc} ulalume3@11: ulalume3@11: \section{Adding channels} ulalume3@11: \label{details/adding_channels::doc}\label{details/adding_channels:adding-channels} ulalume3@11: ulalume3@11: \subsection{Signal types} ulalume3@11: \label{details/adding_channels:signal-types}\label{details/adding_channels:id1} ulalume3@11: (explain here all the signal type abreviations). ulalume3@11: ulalume3@11: ulalume3@11: \section{Adding products} ulalume3@11: \label{details/adding_products:adding-products}\label{details/adding_products::doc} ulalume3@11: ulalume3@11: \section{Adding other equipment} ulalume3@11: \label{details/adding_otherequipment:adding-other-equipment}\label{details/adding_otherequipment::doc} ulalume3@11: ulalume3@11: \section{The Handbook of instruments} ulalume3@11: \label{details/handbook_of_instruments:the-handbook-of-instruments}\label{details/handbook_of_instruments::doc} ulalume3@11: ulalume3@11: \section{Uploading measuremnents} ulalume3@11: \label{details/uploading_measurements:uploading-measuremnents}\label{details/uploading_measurements::doc} ulalume3@11: 123 ulalume3@11: ulalume3@11: ulalume3@11: \section{View processing results} ulalume3@11: \label{details/viewing_measurements:view-processing-results}\label{details/viewing_measurements::doc} ulalume3@11: 123 ulalume3@11: ulalume3@11: ulalume3@11: \chapter{The SCC netCDF file format} ulalume3@11: \label{netcdf_file:the-scc-netcdf-file-format}\label{netcdf_file::doc} ulalume3@11: ulalume3@11: \section{Rationale} ulalume3@11: \label{netcdf_file:rationale} ulalume3@11: The Single Calculus Chain (SCC) is composed by two different modules: ulalume3@11: \begin{itemize} ulalume3@11: \item {} ulalume3@11: pre-processing module ( scc\_preprocessing) ulalume3@11: ulalume3@11: \item {} ulalume3@11: optical processing module ( ELDA) ulalume3@11: ulalume3@11: \end{itemize} ulalume3@11: ulalume3@11: To perfom aerosol optical retrievals the SCC needs not only the raw ulalume3@11: lidar data but also a certain number of parameters to use in both ulalume3@11: pre-processing and optical processing stages. The SCC gets these ulalume3@11: parameters looking at two different locations: ulalume3@11: \begin{itemize} ulalume3@11: \item {} ulalume3@11: Single Calculus Chain relational database (SCC\_DB) ulalume3@11: ulalume3@11: \item {} ulalume3@11: Input files ulalume3@11: ulalume3@11: \end{itemize} ulalume3@11: ulalume3@11: There are some paramenters that can be found only in the input files ulalume3@11: (those ones changing from measurement to measurement), others that can ulalume3@11: be found only in the SCC\_DB and other ones that can be found in both ulalume3@11: these locations. In the last case, if a particular parameter is needed, ulalume3@11: the SCC will search first in the input files and then in SCC\_DB. If the ulalume3@11: parameter is found in the input files the SCC will keep it without ulalume3@11: looking into SCC\_DB. ulalume3@11: ulalume3@11: The input files have to be submitted to the SCC in NetCDF format. At the ulalume3@11: present the SCC can handle four different types of input files: ulalume3@11: \begin{enumerate} ulalume3@11: \item {} ulalume3@11: Raw Lidar Data ulalume3@11: ulalume3@11: \item {} ulalume3@11: Sounding Data ulalume3@11: ulalume3@11: \item {} ulalume3@11: Overlap ulalume3@11: ulalume3@11: \item {} ulalume3@11: Lidar Ratio ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: ulalume3@11: As already mentioned, the Raw Lidar Data file contains not only the ulalume3@11: raw lidar data but also other parameters to use to perform the ulalume3@11: pre-processing and optical processing. The Sounding Data file ulalume3@11: contains the data coming from a correlative radiosounding and it is used ulalume3@11: by the SCC for molecular density calculation. The Overlap file ulalume3@11: contains the measured overlap function. The Lidar Ratio file contains ulalume3@11: a lidar ratio profile to use in elastic backscatter retrievals. The ulalume3@11: Raw Lidar Data file is of course mandatory and the Sounding Data, ulalume3@11: Overlap and Lidar Ratio files are optional. If Sounding Data file ulalume3@11: is not submitted by the user, the molecular density will be calculated ulalume3@11: by the SCC using the “US Standard Atmosphere 1976”. If the Overlap ulalume3@11: file is not submitted by the user, the SCC will get the full overlap ulalume3@11: height from SCC\_DB and it will produce optical results starting from ulalume3@11: this height. If Lidar Ratio file is not submitted by the user, the ulalume3@11: SCC will consider a fixed value for lidar ratio got from SCC\_DB. ulalume3@11: ulalume3@11: The user can decide to submit all these files or any number of them (of ulalume3@11: course the file Raw Lidar Data is mandatory). For example the user ulalume3@11: can submit together with the Raw Lidar Data file only the Sounding ulalume3@11: Data file or only the Overlap file. ulalume3@11: ulalume3@11: This document provides a detailed explanation about the structure of the ulalume3@11: NetCDF input files to use for SCC data submission. All Earlinet groups ulalume3@11: should read it carefully because they have to produce such kind of input ulalume3@11: files if they want to use the SCC for their standard lidar retrievals. ulalume3@11: Every comments or suggestions regarding this document can be sent to ulalume3@11: Giuseppe D’Amico by e-mail at \code{damico@imaa.cnr.it} ulalume3@11: ulalume3@11: This document is available for downloading at \code{www.earlinetasos.org} ulalume3@11: ulalume3@11: In table tab:rawdata is reported a list of dimensions, variables and ulalume3@11: global attributes that can be used in the NetCDF Raw Lidar Data input ulalume3@11: file. For each of them it is indicated: ulalume3@11: \begin{itemize} ulalume3@11: \item {} ulalume3@11: The name. For the multidimensional variables also the corresponding ulalume3@11: dimensions are reported ulalume3@11: ulalume3@11: \item {} ulalume3@11: A description explaining the meaning ulalume3@11: ulalume3@11: \item {} ulalume3@11: The type ulalume3@11: ulalume3@11: \item {} ulalume3@11: If it is mandatory or optional ulalume3@11: ulalume3@11: \end{itemize} ulalume3@11: ulalume3@11: As already mentioned, the SCC can get some parameters looking first in ulalume3@11: the Raw Lidar Data input file and then into SCC\_DB. This means that ulalume3@11: to use the parameters stored in SCC\_DB the optional variables or ulalume3@11: optional global attributes must not appear within Raw Lidar Data ulalume3@11: file. This is the suggested and recommended way to use the SCC. Please ulalume3@11: include optional parameters in the Raw Lidar Data only as an ulalume3@11: exception. ulalume3@11: ulalume3@11: In table tab:sounding, tab:overlap and tab:lr are reported all the ulalume3@11: information about the structure of Sounding Data, Overlap and ulalume3@11: Lidar Ratio input files respectively. ulalume3@11: ulalume3@11: ulalume3@11: \section{Example} ulalume3@11: \label{netcdf_file:example} ulalume3@11: Let’s now consider an example of Raw Lidar Data input file. Suppose ulalume3@11: we want to generate NetCDF input file corresponding to a measurement ulalume3@11: with the following properties: ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: Start Date ulalume3@11: & ulalume3@11: $30^{th}$ January 2009 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Start Time UT ulalume3@11: & ulalume3@11: 00:00:01 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Stop Time UT ulalume3@11: & ulalume3@11: 00:05:01 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Station Name ulalume3@11: & ulalume3@11: Dummy station ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Earlinet call-sign ulalume3@11: & ulalume3@11: cc ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Pointing angle ulalume3@11: & ulalume3@11: 5 degrees with respect to the zenith ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: Moreover suppose that this measurement is composed by the following ulalume3@11: lidar channels: ulalume3@11: \begin{enumerate} ulalume3@11: \item {} ulalume3@11: 1064 lidar channel ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: Emission wavelength=1064nm ulalume3@11: & ulalume3@11: Detection wavelength=1064nm ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Time resolution=30s ulalume3@11: & ulalume3@11: Number of laser shots=1500 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Number of bins=3000 ulalume3@11: & ulalume3@11: Detection mode=analog ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Range resolution=7.5m ulalume3@11: & ulalume3@11: Polarization state=total ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: \item {} ulalume3@11: 532 cross lidar channel ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: Emission wavelength=532nm ulalume3@11: & ulalume3@11: Detection wavelength=532nm ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Time resolution=60s ulalume3@11: & ulalume3@11: Number of laser shots=3000 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Number of bins=5000 ulalume3@11: & ulalume3@11: Detection mode=photoncounting ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Range resolution=15m ulalume3@11: & ulalume3@11: Polarization state=cross ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: \item {} ulalume3@11: 532 parallel lidar channel ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: Emission wavelength=532nm ulalume3@11: & ulalume3@11: Detection wavelength=532nm ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Time resolution=60s ulalume3@11: & ulalume3@11: Number of laser shots=3000 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Number of bins=5000 ulalume3@11: & ulalume3@11: Detection mode=photoncounting ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Range resolution=15m ulalume3@11: & ulalume3@11: Polarization state=parallel ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: \item {} ulalume3@11: 607 $N_2$ vibrational Raman channel ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: Emission wavelength=532nm ulalume3@11: & ulalume3@11: Detection wavelength=607nm ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Time resolution=60s ulalume3@11: & ulalume3@11: Number of laser shots=3000 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Number of bins=5000 ulalume3@11: & ulalume3@11: Detection mode=photoncounting ulalume3@11: \\\hline ulalume3@11: \multicolumn{2}{|l|}{ ulalume3@11: Range resolution=15m ulalume3@11: }\\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: ulalume3@11: Finally let’s assume we have also performed dark measurements before the ulalume3@11: lidar measurements from the 23:50:01 UT up to 23:53:01 UT of ulalume3@11: 29:math:\emph{\textasciicircum{}mathrmth} January 2009. ulalume3@11: ulalume3@11: ulalume3@11: \subsection{Dimensions} ulalume3@11: \label{netcdf_file:dimensions} ulalume3@11: Looking at table tab:rawdata we have to fix the following dimensions: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{points} ulalume3@11: \PYG{n}{channels} ulalume3@11: \PYG{n}{time} ulalume3@11: \PYG{n}{nb\PYGZus{}of\PYGZus{}time\PYGZus{}scales} ulalume3@11: \PYG{n}{scan\PYGZus{}angles} ulalume3@11: \PYG{n}{time\PYGZus{}bck} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: The dimension \code{time} is unlimited so we don’t have to fix it. ulalume3@11: ulalume3@11: We have 4 lidar channels so: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{channels}\PYG{o}{=}\PYG{l+m+mi}{4} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: Regarding the dimension \code{points} we have only one channel with a ulalume3@11: number of vertical bins equal to 3000 (the 1064nm) and all other ulalume3@11: channels with 5000 vertical bins. In cases like this the dimension ulalume3@11: \code{points} has to be fixed to the maximum number of vertical bins so: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{points}\PYG{o}{=}\PYG{l+m+mi}{5000} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: Moreover only one channel (1064nm) is acquired with a time resolution of ulalume3@11: 30 seconds, all the other channels have a time resolution of 60 seconds. ulalume3@11: This means that we have to define two different time scales. We have to ulalume3@11: set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{nb\PYGZus{}of\PYGZus{}time\PYGZus{}scales}\PYG{o}{=}\PYG{l+m+mi}{2} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: The measurement is performed only at one scan angle (5 degrees with ulalume3@11: respect to the zenith) so: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{scan\PYGZus{}angles}\PYG{o}{=}\PYG{l+m+mi}{1} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: We have 3 minutes of dark measurements and two different time scales one ulalume3@11: with 60 seconds time resolution and the other one with 30 seconds time ulalume3@11: resolution. So we will have 3 different dark profiles for the channels ulalume3@11: acquired with the first time scale and 6 for the lidar channels acquired ulalume3@11: with the second time scale. We have to fix the dimension \code{time\_bck} as ulalume3@11: the maximum between these values: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{time\PYGZus{}bck}\PYG{o}{=}\PYG{l+m+mi}{6} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: ulalume3@11: \subsection{Variables} ulalume3@11: \label{netcdf_file:variables} ulalume3@11: In this section it will be explained how to fill all the possible ulalume3@11: variables either mandatory or optional of Raw Lidar Data input file. ulalume3@11: \begin{description} ulalume3@11: \item[{Raw\_Data\_Start\_Time(time, nb\_of\_time\_scales)}] \leavevmode ulalume3@11: This 2 dimensional mandatory array has to contain the acquisition ulalume3@11: start time (in seconds from the time given by the global attribute ulalume3@11: \code{RawData\_Start\_Time\_UT}) of each lidar profile. In this example we ulalume3@11: have two different time scales: one is characterized by steps of 30 ulalume3@11: seconds (the 1064nm is acquired with this time scale) the other by ulalume3@11: steps of 60 seconds (532cross, 532parallel and 607nm). Moreover the ulalume3@11: measurement start time is 00:00:01 UT and the measurement stop time ulalume3@11: is 00:05:01 UT. In this case we have to define: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: Raw\_Data\_Start\_Time = ulalume3@11: 0, 0, ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: 240, 120, ulalume3@11: \_, 150, ulalume3@11: \_, 180, ulalume3@11: \_, 210, ulalume3@11: \_, 240, ulalume3@11: \_, 270 ; ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: The order used to fill this array defines the correspondence between ulalume3@11: the different time scales and the time scale index. In this example ulalume3@11: we have a time scale index of 0 for the time scale with steps of 60 ulalume3@11: seconds and a time scale index of 1 for the other one. ulalume3@11: ulalume3@11: \item[{Raw\_Data\_Stop\_Time(time, nb\_of\_time\_scales)}] \leavevmode ulalume3@11: The same as previous item but for the data acquisition stop time. ulalume3@11: Following a similar procedure we have to define: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: Raw\_Data\_Stop\_Time = ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: 240, 120, ulalume3@11: 300, 150, ulalume3@11: \_, 180, ulalume3@11: \_, 210, ulalume3@11: \_, 240, ulalume3@11: \_, 270, ulalume3@11: \_, 300 ; ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Raw\_Lidar\_Data(time, channels, points)}] \leavevmode ulalume3@11: This 3 dimensional mandatory array has to be filled with the ulalume3@11: time-series of raw lidar data. The photoncounting profiles have to ulalume3@11: submitted in counts (so as integers) while the analog ones in mV. The ulalume3@11: order the user chooses to fill this array defines the correspondence ulalume3@11: between channel index and lidar data. ulalume3@11: ulalume3@11: For example if we fill this array in such way that: ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: Raw\_Lidar\_Data(time,0,points ulalume3@11: & ulalume3@11: $\rightarrow$ is the time-series of 1064 nm ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Raw\_Lidar\_Data(time,1,points ulalume3@11: & ulalume3@11: $\rightarrow$ is the time-series of 532 cross ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Raw\_Lidar\_Data(time,2,points ulalume3@11: & ulalume3@11: $\rightarrow$ is the time-series of 532 parallel ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Raw\_Lidar\_Data(time,3,points ulalume3@11: & ulalume3@11: $\rightarrow$ is the time-series of 607 nm ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: from now on the channel index 0 is associated to the 1064 channel, ulalume3@11: 1 to the 532 cross, 2 to the 532 parallel and 3 to the 607nm. ulalume3@11: ulalume3@11: \item[{Raw\_Bck\_Start\_Time(time\_bck, nb\_of\_time\_scales)}] \leavevmode ulalume3@11: This 2 dimensional optional array has to contain the acquisition ulalume3@11: start time (in seconds from the time given by the global attribute ulalume3@11: \code{RawBck\_Start\_Time\_UT}) of each dark measurements profile. ulalume3@11: Following the same procedure used for the variable ulalume3@11: \code{Raw\_Data\_Start\_Time} we have to define: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: Raw\_Bck\_Start\_Time = ulalume3@11: 0, 0, ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: \_, 90, ulalume3@11: \_, 120, ulalume3@11: \_, 150; ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Raw\_Bck\_Stop\_Time(time\_bck, nb\_of\_time\_scales)}] \leavevmode ulalume3@11: The same as previous item but for the dark acquisition stop time. ulalume3@11: Following a similar procedure we have to define: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: Raw\_Bck\_Stop\_Time = ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: \_, 120, ulalume3@11: \_, 150, ulalume3@11: \_, 180 ; ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Background\_Profile(time\_bck, channels, points)}] \leavevmode ulalume3@11: This 3 dimensional optional array has to be filled with the ulalume3@11: time-series of the dark measurements data. The photoncounting ulalume3@11: profiles have to submitted in counts (so as integers) while the ulalume3@11: analog ones in mV. The user has to fill this array following the same ulalume3@11: order used in filling the array \code{Raw\_Lidar\_Data}: ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: Background\_Profile(time\_bck,0,points ulalume3@11: & ulalume3@11: $\rightarrow$ dark time-series at 1064 nm ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Background\_Profile(time\_bck,1,points ulalume3@11: & ulalume3@11: $\rightarrow$ dark time-series at 532 cross ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Background\_Profile(time\_bck,2,points ulalume3@11: & ulalume3@11: $\rightarrow$ dark time-series at 532 parallel ulalume3@11: \\\hline ulalume3@11: ulalume3@11: Background\_Profile(time\_bck,3,points ulalume3@11: & ulalume3@11: $\rightarrow$ dark time-series at 607 nm ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: \item[{channel\_ID(channels)}] \leavevmode ulalume3@11: This mandatory array provides the link between the channel index ulalume3@11: within the Raw Lidar Data input file and the channel ID in ulalume3@11: SCC\_DB. To fill this variable the user has to know which channel IDs ulalume3@11: in SCC\_DB correspond to his lidar channels. For this purpose the ulalume3@11: SCC, in its final version will provide to the user a special tool to ulalume3@11: get these channel IDs through a Web interface. At the moment this ulalume3@11: interface is not yet available and these channel IDs will be ulalume3@11: communicated directly to the user by the NA5 people. ulalume3@11: ulalume3@11: Anyway to continue the example let’s suppose that the four lidar ulalume3@11: channels taken into account are mapped into SCC\_DB with the ulalume3@11: following channel IDs: ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: 1064 nm ulalume3@11: & ulalume3@11: $\rightarrow$ channel ID=7 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 532 cross ulalume3@11: & ulalume3@11: $\rightarrow$ channel ID=5 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 532 parallel ulalume3@11: & ulalume3@11: $\rightarrow$ channel ID=6 ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 607 nm ulalume3@11: & ulalume3@11: $\rightarrow$ channel ID=8 ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: \begin{quote} ulalume3@11: ulalume3@11: In this case we have to define: ulalume3@11: \end{quote} ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{channel\PYGZus{}ID} \PYG{o}{=} \PYG{l+m+mi}{7}\PYG{p}{,} \PYG{l+m+mi}{5}\PYG{p}{,} \PYG{l+m+mi}{6}\PYG{p}{,} \PYG{l+m+mi}{8} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{id\_timescale(channels)}] \leavevmode ulalume3@11: This mandatory array is introduced to determine which time scale is ulalume3@11: used for the acquisition of each lidar channel. In particular this ulalume3@11: array defines the link between the channel index and the time scale ulalume3@11: index. In our example we have two different time scales. Filling the ulalume3@11: arrays \code{Raw\_Data\_Start\_Time} and \code{Raw\_Data\_Stop\_Time} we have ulalume3@11: defined a time scale index of 0 for the time scale with steps of 60 ulalume3@11: seconds and a time scale index of 1 for the other one with steps of ulalume3@11: 30 seconds. In this way this array has to be set as: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{id\PYGZus{}timescale} \PYG{o}{=} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{0} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Laser\_Pointing\_Angle(scan\_angles}] \leavevmode ulalume3@11: This mandatory array contains all the scan angles used in the ulalume3@11: measurement. In our example we have only one scan angle of 5 degrees ulalume3@11: with respect to the zenith, so we have to define: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Laser\PYGZus{}Pointing\PYGZus{}Angle} \PYG{o}{=} \PYG{l+m+mi}{5} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Laser\_Pointing\_Angle\_of\_Profiles(time, nb\_of\_time\_scales)}] \leavevmode ulalume3@11: This mandatory array is introduced to determine which scan angle is ulalume3@11: used for the acquisition of each lidar profile. In particular this ulalume3@11: array defines the link between the time and time scales indexes and ulalume3@11: the scan angle index. In our example we have a single scan angle that ulalume3@11: has to correspond to the scan angle index 0. So this array has to be ulalume3@11: defined as: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: Laser\_Pointing\_Angle\_of\_Profiles = ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0 ; ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Laser\_Shots(time, channels)}] \leavevmode ulalume3@11: This mandatory array stores the laser shots accumulated at each time ulalume3@11: for each channel. In our example the number of laser shots ulalume3@11: accumulated is 1500 for the 1064nm channels and 3000 for all the ulalume3@11: other channels. Moreover the laser shots do not change with the time. ulalume3@11: So we have to define this array as: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: Laser\_Shots = ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_ ; ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Emitted\_Wavelength(channels)}] \leavevmode ulalume3@11: This optional array defines the link between the channel index and ulalume3@11: the emission wavelength for each lidar channel. The wavelength has to ulalume3@11: be expressed in nm. This information can be also taken from SCC\_DB. ulalume3@11: In our example we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Emitted\PYGZus{}Wavelength} \PYG{o}{=} \PYG{l+m+mi}{1064}\PYG{p}{,} \PYG{l+m+mi}{532}\PYG{p}{,} \PYG{l+m+mi}{532}\PYG{p}{,} \PYG{l+m+mi}{532} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Detected\_Wavelength(channels)}] \leavevmode ulalume3@11: This optional array defines the link between the channel index and ulalume3@11: the detected wavelength for each lidar channel. Here detected ulalume3@11: wavelength means the value of center of interferential filter ulalume3@11: expressed in nm. This information can be also taken from SCC\_DB. In ulalume3@11: our example we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Detected\PYGZus{}Wavelength} \PYG{o}{=} \PYG{l+m+mi}{1064}\PYG{p}{,} \PYG{l+m+mi}{532}\PYG{p}{,} \PYG{l+m+mi}{532}\PYG{p}{,} \PYG{l+m+mi}{607} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Raw\_Data\_Range\_Resolution(channels)}] \leavevmode ulalume3@11: This optional array defines the link between the channel index and ulalume3@11: the raw range resolution for each channel. If the scan angle is ulalume3@11: different from zero this quantity is different from the vertical ulalume3@11: resolution. More precisely if $\alpha$ is the scan angle used ulalume3@11: and $\Delta z$ is the range resolution the vertical ulalume3@11: resolution is calculated as $\Delta ulalume3@11: z'=\Delta z \cos\alpha$. This array has to be filled with ulalume3@11: $\Delta z$ and not with $\Delta z'$. The unit is ulalume3@11: meters. This information can be also taken from SCC\_DB. In our ulalume3@11: example we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Raw\PYGZus{}Data\PYGZus{}Range\PYGZus{}Resolution} \PYG{o}{=} \PYG{l+m+mf}{7.5}\PYG{p}{,} \PYG{l+m+mf}{15.0}\PYG{p}{,} \PYG{l+m+mf}{15.0}\PYG{p}{,} \PYG{l+m+mf}{15.0} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{ID\_Range(channels)}] \leavevmode ulalume3@11: This optional array defines if a particular channel is configured as ulalume3@11: high, low or ultranear range channel. In particular a value 0 ulalume3@11: indicates a low range channel, a value 1 a high range channel and a ulalume3@11: value of 2 an ultranear range channel. If for a particular channel ulalume3@11: you don’t separate between high and low range channel, please set the ulalume3@11: corresponding value to 1. This information can be also taken from ulalume3@11: SCC\_DB. In our case we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{ID\PYGZus{}Range} \PYG{o}{=} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{1} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Scattering\_Mechanism(channels)}] \leavevmode ulalume3@11: This optional array defines the scattering mechanism involved in ulalume3@11: each lidar channel. In particular the following values are adopted: ulalume3@11: ulalume3@11: \begin{tabulary}{\linewidth}{|L|L|} ulalume3@11: \hline ulalume3@11: ulalume3@11: 0 ulalume3@11: & ulalume3@11: $\rightarrow$ Total elastic backscatter ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 1 ulalume3@11: & ulalume3@11: $\rightarrow$ $N_2$ vibrational Raman backscatter ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 2 ulalume3@11: & ulalume3@11: $\rightarrow$ Cross polarization elastic backscatter ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 3 ulalume3@11: & ulalume3@11: $\rightarrow$ Parallel polarization elastic backscatter ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 4 ulalume3@11: & ulalume3@11: $\rightarrow$ $H_2O$ vibrational Raman backscatter ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 5 ulalume3@11: & ulalume3@11: $\rightarrow$ Rotational Raman Stokes line close to elastic line ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 6 ulalume3@11: & ulalume3@11: $\rightarrow$ Rotational Raman Stokes line far from elastic line ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 7 ulalume3@11: & ulalume3@11: $\rightarrow$ Rotational Raman anti-Stokes line close to elastic line ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 8 ulalume3@11: & ulalume3@11: $\rightarrow$ Rotational Raman anti-Stokes line far from elastic line ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 9 ulalume3@11: & ulalume3@11: $\rightarrow$ Rotational Raman Stokes and anti-Stokes lines close to elastic line ulalume3@11: \\\hline ulalume3@11: ulalume3@11: 10 ulalume3@11: & ulalume3@11: $\rightarrow$ Rotational Raman Stokes and anti-Stokes lines far from elastic line ulalume3@11: \\\hline ulalume3@11: \end{tabulary} ulalume3@11: ulalume3@11: ulalume3@11: This information can be also taken from SCC\_DB. In our example we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Scattering\PYGZus{}Mechanism} \PYG{o}{=} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{2}\PYG{p}{,} \PYG{l+m+mi}{3}\PYG{p}{,} \PYG{l+m+mi}{1} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Acquisition\_Mode(channels)}] \leavevmode ulalume3@11: This optional array defines the acquisition mode (analog or ulalume3@11: photoncounting) involved in each lidar channel. In particular a value ulalume3@11: of 0 means analog mode and 1 photoncounting mode. This information ulalume3@11: can be also taken from SCC\_DB. In our example we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Acquisition\PYGZus{}Mode} \PYG{o}{=} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{1} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Laser\_Repetition\_Rate(channels)}] \leavevmode ulalume3@11: This optional array defines the repetition rate in Hz used to ulalume3@11: acquire each lidar channel. This information can be also taken from ulalume3@11: SCC\_DB. In our example we are supposing we have only one laser with ulalume3@11: a repetition rate of 50 Hz so we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Laser\PYGZus{}Repetition\PYGZus{}Rate} \PYG{o}{=} \PYG{l+m+mi}{50}\PYG{p}{,} \PYG{l+m+mi}{50}\PYG{p}{,} \PYG{l+m+mi}{50}\PYG{p}{,} \PYG{l+m+mi}{50} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Dead\_Time(channels)}] \leavevmode ulalume3@11: This optional array defines the dead time in ns associated to each ulalume3@11: lidar channel. The SCC will use the values given by this array to ulalume3@11: correct the photoncounting signals for dead time. Of course for ulalume3@11: analog signals no dead time correction will be applied (for analog ulalume3@11: channels the corresponding dead time values have to be set to ulalume3@11: undefined value). This information can be also taken from SCC\_DB. In ulalume3@11: our example the 1064 nm channel is acquired in analog mode so the ulalume3@11: corresponding dead time value has to be undefined. If we suppose a ulalume3@11: dead time of 10 ns for all other channels we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Dead\PYGZus{}Time} \PYG{o}{=} \PYG{n}{\PYGZus{}}\PYG{p}{,} \PYG{l+m+mi}{10}\PYG{p}{,} \PYG{l+m+mi}{10}\PYG{p}{,} \PYG{l+m+mi}{10} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Dead\_Time\_Corr\_Type(channels}] \leavevmode ulalume3@11: This optional array defines which kind of dead time correction has ulalume3@11: to be applied on each photoncounting channel. The SCC will correct ulalume3@11: the data supposing a not-paralyzable channel if a value of 0 is found ulalume3@11: while a paralyzable channel is supposed if a value of 1 is found. Of ulalume3@11: course for analog signals no dead time correction will be applied and ulalume3@11: so the corresponding values have to be set to undefined value. This ulalume3@11: information can be also taken from SCC\_DB. In our example the 1064 ulalume3@11: nm channel is acquired in analog mode so the corresponding has to be ulalume3@11: undefined. If we want to consider all the photoncounting signals as ulalume3@11: not-paralyzable ones: we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Dead\PYGZus{}Time\PYGZus{}Corr\PYGZus{}Type} \PYG{o}{=} \PYG{n}{\PYGZus{}}\PYG{p}{,} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{0} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Trigger\_Delay(channels)}] \leavevmode ulalume3@11: This optional array defines the delay (in ns) of the middle of the ulalume3@11: first rangebin with respect to the output laser pulse for each lidar ulalume3@11: channel. The SCC will use the values given by this array to correct ulalume3@11: for trigger delay. This information can be also taken from SCC\_DB. ulalume3@11: Let’s suppose that in our example all the photoncounting channels are ulalume3@11: not affected by this delay and only the analog channel at 1064nm is ulalume3@11: acquired with a delay of 50ns. In this case we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Trigger\PYGZus{}Delay} \PYG{o}{=} \PYG{l+m+mi}{50}\PYG{p}{,} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{0} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Background\_Mode(channels}] \leavevmode ulalume3@11: This optional array defines how the atmospheric background has to be ulalume3@11: subtracted from the lidar channel. Two options are available for the ulalume3@11: calculation of atmospheric background: ulalume3@11: \begin{enumerate} ulalume3@11: \item {} ulalume3@11: Average in the far field of lidar channel. In this case the value ulalume3@11: of this variable has to be 1 ulalume3@11: ulalume3@11: \item {} ulalume3@11: Average within pre-trigger bins. In this case the value of this ulalume3@11: variable has to be 0 ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: ulalume3@11: This information can be also taken from SCC\_DB. Let’s suppose in our ulalume3@11: example we use the pre-trigger for the 1064nm channel and the far ulalume3@11: field for all other channels. In this case we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Background\PYGZus{}Mode} \PYG{o}{=} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{1}\PYG{p}{,} \PYG{l+m+mi}{1} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Background\_Low(channels)}] \leavevmode ulalume3@11: This mandatory array defines the minimum altitude (in meters) to ulalume3@11: consider in calculating the atmospheric background for each channel. ulalume3@11: In case pre-trigger mode is used the corresponding value has to be ulalume3@11: set to the rangebin to be used as lower limit (within pre-trigger ulalume3@11: region) for background calculation. In our example, if we want to ulalume3@11: calculate the background between 30000 and 50000 meters for all ulalume3@11: photoncounting channels and we want to use the first 500 pre-trigger ulalume3@11: bins for the background calculation for the 1064nm channel we have to ulalume3@11: set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Background\PYGZus{}Low}\PYG{o}{=} \PYG{l+m+mi}{0}\PYG{p}{,} \PYG{l+m+mi}{30000}\PYG{p}{,} \PYG{l+m+mi}{30000}\PYG{p}{,} \PYG{l+m+mi}{30000} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Background\_High(channels)}] \leavevmode ulalume3@11: This mandatory array defines the maximum altitude (in meters) to ulalume3@11: consider in calculating the atmospheric background for each channel. ulalume3@11: In case pre-trigger mode is used the corresponding value has to be ulalume3@11: set to the rangebin to be used as upper limit (within pre-trigger ulalume3@11: region) for background calculation. In our example, if we want to ulalume3@11: calculate the background between 30000 and 50000 meters for all ulalume3@11: photoncounting channels and we want to use the first 500 pre-trigger ulalume3@11: bins for the background calculation for the 1064nm channel we have to ulalume3@11: set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Background\PYGZus{}High} \PYG{o}{=} \PYG{l+m+mi}{500}\PYG{p}{,} \PYG{l+m+mi}{50000}\PYG{p}{,} \PYG{l+m+mi}{50000}\PYG{p}{,} \PYG{l+m+mi}{50000} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Molecular\_Calc}] \leavevmode ulalume3@11: This mandatory variable defines the way used by SCC to calculate the ulalume3@11: molecular density profile. At the moment two options are available: ulalume3@11: \begin{enumerate} ulalume3@11: \item {} ulalume3@11: US Standard Atmosphere 1976. In this case the value of this ulalume3@11: variable has to be 0 ulalume3@11: ulalume3@11: \item {} ulalume3@11: Radiosounding. In this case the value of this variable has to be 1 ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: ulalume3@11: If we decide to use the option 1. we have to provide also the ulalume3@11: measured pressure and temperature at lidar station level. Indeed if ulalume3@11: we decide to use the option 2. a radiosounding file has to be ulalume3@11: submitted separately in NetCDF format (the structure of this file is ulalume3@11: summarized in table tab:sounding). Let’s suppose we want to use the ulalume3@11: option 1. so: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Molecular\PYGZus{}Calc} \PYG{o}{=} \PYG{l+m+mi}{0} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Pressure\_at\_Lidar\_Station}] \leavevmode ulalume3@11: Because we have chosen the US Standard Atmosphere for calculation of ulalume3@11: the molecular density profile we have to give the pressure in hPa at ulalume3@11: lidar station level: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Pressure\PYGZus{}at\PYGZus{}Lidar\PYGZus{}Station} \PYG{o}{=} \PYG{l+m+mi}{1010} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Temperature\_at\_Lidar\_Station}] \leavevmode ulalume3@11: Because we have chosen the US Standard Atmosphere for calculation of ulalume3@11: the molecular density profile we have to give the temperature in C at ulalume3@11: lidar station level: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Temperature\PYGZus{}at\PYGZus{}Lidar\PYGZus{}Station} \PYG{o}{=} \PYG{l+m+mf}{19.8} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{Depolarization\_Factor(channels)}] \leavevmode ulalume3@11: This array is required only for lidar systems that use the two ulalume3@11: depolarization channels for the backscatter retrieval. It represents ulalume3@11: the factor $f$ to calculate the total backscatter signal ulalume3@11: $S_t$ combining its cross $S_c$ and parallel ulalume3@11: $S_p$ components: $S_t=S_p+fS_c$. This factor is ulalume3@11: mandatory only for systems acquiring $S_c$ and $S_p$ ulalume3@11: and not $S_t$. For systems acquiring $S_c$, ulalume3@11: $S_p$ and $S_t$ this factor is optional and it will ulalume3@11: be used only for depolarizaton ratio calculation. Moreover only the ulalume3@11: values of the array corresponding to cross polarization channels will ulalume3@11: be considered; all other values will be not taken into account and ulalume3@11: should be set to undefined value. In our example for the wavelength ulalume3@11: 532nm we have only the cross and the parallel components and not the ulalume3@11: total one. So we have to give the value of this factor only in ulalume3@11: correspondence of the 532nm cross polarization channel that ulalume3@11: corresponds to the channel index 1. Suppose that this factor is 0.88. ulalume3@11: Moreover, because we don’t have any other depolarization channels we ulalume3@11: have also to set all other values of the array to undefined value. ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Depolarization\PYGZus{}Factor} \PYG{o}{=} \PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{l+m+mf}{0.88}\PYG{p}{,}\PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{n}{\PYGZus{}} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{LR\_Input(channels)}] \leavevmode ulalume3@11: This array is required only for lidar channels for which elastic ulalume3@11: backscatter retrieval has to be performed. It defines the lidar ratio ulalume3@11: to be used within this retrieval. Two options are available: ulalume3@11: \begin{enumerate} ulalume3@11: \item {} ulalume3@11: The user can submit a lidar ratio profile. In this case the value ulalume3@11: of this variable has to be 0. ulalume3@11: ulalume3@11: \item {} ulalume3@11: A fixed value of lidar ratio can be used. In this case the value ulalume3@11: of this variable has to be 1. ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: ulalume3@11: If we decide to use the option 1. a lidar ratio file has to be ulalume3@11: submitted separately in NetCDF format (the structure of this file is ulalume3@11: summarized in table tab:lr). If we decide to use the option 2. the ulalume3@11: fixed value of lidar ratio will be taken from SCC\_DB. In our example ulalume3@11: we have to give a value of this array only for the 1064nm lidar ulalume3@11: channel because for the 532nm we will be able to retrieve a Raman ulalume3@11: backscatter coefficient. In case we want to use the fixed value ulalume3@11: stored in SCC\_DB we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{LR\PYGZus{}Input} \PYG{o}{=} \PYG{l+m+mi}{1}\PYG{p}{,}\PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{n}{\PYGZus{}} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{DAQ\_Range(channels)}] \leavevmode ulalume3@11: This array is required only if one or more lidar signals are ulalume3@11: acquired in analog mode. It gives the analog scale in mV used to ulalume3@11: acquire the analog signals. In our example we have only the 1064nm ulalume3@11: channel acquired in analog mode. If we have used a 100mV analog scale ulalume3@11: to acquire this channel we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{DAQ\PYGZus{}Range} \PYG{o}{=} \PYG{l+m+mi}{100}\PYG{p}{,}\PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{n}{\PYGZus{}} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: ulalume3@11: \subsection{Global attributes} ulalume3@11: \label{netcdf_file:global-attributes}\begin{description} ulalume3@11: \item[{Measurement\_ID}] \leavevmode ulalume3@11: This mandatory global attribute defines the measurement ID ulalume3@11: corresponding to the actual lidar measurement. It is a string ulalume3@11: composed by 12 characters. The first 8 characters give the start date ulalume3@11: of measurement in the format YYYYMMDD. The next 2 characters give the ulalume3@11: Earlinet call-sign of the station. The last 2 characters are used to ulalume3@11: distinguish between different time-series within the same date. In ulalume3@11: our example we have to set: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Measurement\PYGZus{}ID}\PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{20090130cc00}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{RawData\_Start\_Date}] \leavevmode ulalume3@11: This mandatory global attribute defines the start date of lidar ulalume3@11: measurements in the format YYYYMMDD. In our case we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{RawData\PYGZus{}Start\PYGZus{}Date} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{20090130}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{RawData\_Start\_Time\_UT}] \leavevmode ulalume3@11: This mandatory global attribute defines the UT start time of lidar ulalume3@11: measurements in the format HHMMSS. In our case we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{RawData\PYGZus{}Start\PYGZus{}Time\PYGZus{}UT} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{000001}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{RawData\_Stop\_Time\_UT{}`{}`}] \leavevmode ulalume3@11: This mandatory global attribute defines the UT stop time of lidar ulalume3@11: measurements in the format HHMMSS. In our case we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{RawData\PYGZus{}Stop\PYGZus{}Time\PYGZus{}UT} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{000501}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{RawBck\_Start\_Date}] \leavevmode ulalume3@11: This optional global attribute defines the start date of dark ulalume3@11: measurements in the format YYYYMMDD. In our case we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{RawBck\PYGZus{}Start\PYGZus{}Date} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{20090129}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{RawBck\_Start\_Time\_UT}] \leavevmode ulalume3@11: This optional global attribute defines the UT start time of dark ulalume3@11: measurements in the format HHMMSS. In our case we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{RawBck\PYGZus{}Start\PYGZus{}Time\PYGZus{}UT} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{235001}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item[{RawBck\_Stop\_Time\_UT}] \leavevmode ulalume3@11: This optional global attribute defines the UT stop time of dark ulalume3@11: measurements in the format HHMMSS. In our case we have: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{RawBck\PYGZus{}Stop\PYGZus{}Time\PYGZus{}UT} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{235301}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: ulalume3@11: \section{Example of file (CDL format)} ulalume3@11: \label{netcdf_file:example-of-file-cdl-format} ulalume3@11: To summarize we have the following NetCDF Raw Lidar Data file (in CDL ulalume3@11: format): ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: dimensions: ulalume3@11: points = 5000 ; ulalume3@11: channels = 4 ; ulalume3@11: time = UNLIMITED ; // (10 currently) ulalume3@11: nb\_of\_time\_scales = 2 ; ulalume3@11: scan\_angles = 1 ; ulalume3@11: time\_bck = 6 ; ulalume3@11: variables: ulalume3@11: int channel\_ID(channels) ; ulalume3@11: int Laser\_Repetition\_Rate(channels) ; ulalume3@11: double Laser\_Pointing\_Angle(scan\_angles) ; ulalume3@11: int ID\_Range(channels) ; ulalume3@11: int Scattering\_Mechanism(channels) ; ulalume3@11: double Emitted\_Wavelength(channels) ; ulalume3@11: double Detected\_Wavelength(channels) ; ulalume3@11: double Raw\_Data\_Range\_Resolution(channels) ; ulalume3@11: int Background\_Mode(channels) ; ulalume3@11: double Background\_Low(channels) ; ulalume3@11: double Background\_High(channels) ; ulalume3@11: int Molecular\_Calc ; ulalume3@11: double Pressure\_at\_Lidar\_Station ; ulalume3@11: double Temperature\_at\_Lidar\_Station ; ulalume3@11: int id\_timescale(channels) ; ulalume3@11: double Dead\_Time(channels) ; ulalume3@11: int Dead\_Time\_Corr\_Type(channels) ; ulalume3@11: int Acquisition\_Mode(channels) ; ulalume3@11: double Trigger\_Delay(channels) ; ulalume3@11: int LR\_Input(channels) ; ulalume3@11: int Laser\_Pointing\_Angle\_of\_Profiles(time, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Data\_Start\_Time(time, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Data\_Stop\_Time(time, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Bck\_Start\_Time(time\_bck, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Bck\_Stop\_Time(time\_bck, nb\_of\_time\_scales) ; ulalume3@11: int Laser\_Shots(time, channels) ; ulalume3@11: double Raw\_Lidar\_Data(time, channels, points) ; ulalume3@11: double Background\_Profile(time\_bck, channels, points) ; ulalume3@11: double DAQ\_Range(channels) ; ulalume3@11: ulalume3@11: // global attributes: ulalume3@11: :Measurement\_ID = "20090130cc00" ; ulalume3@11: :RawData\_Start\_Date = "20090130" ; ulalume3@11: :RawData\_Start\_Time\_UT = "000001" ; ulalume3@11: :RawData\_Stop\_Time\_UT = "000501" ; ulalume3@11: :RawBck\_Start\_Date = "20090129" ; ulalume3@11: :RawBck\_Start\_Time\_UT = "235001" ; ulalume3@11: :RawBck\_Stop\_Time\_UT = "235301" ; ulalume3@11: ulalume3@11: data: ulalume3@11: ulalume3@11: channel\_ID = 7, 5, 6, 8 ; ulalume3@11: ulalume3@11: Laser\_Repetition\_Rate = 50, 50, 50, 50 ; ulalume3@11: ulalume3@11: Laser\_Pointing\_Angle = 5 ; ulalume3@11: ulalume3@11: ID\_Range = 1, 1, 1, 1 ; ulalume3@11: ulalume3@11: Scattering\_Mechanism = 0, 2, 3, 1 ; ulalume3@11: ulalume3@11: Emitted\_Wavelength = 1064, 532, 532, 532 ; ulalume3@11: ulalume3@11: Detected\_Wavelength = 1064, 532, 532, 607 ; ulalume3@11: ulalume3@11: Raw\_Data\_Range\_Resolution = 7.5, 15, 15, 15 ; ulalume3@11: ulalume3@11: Background\_Mode = 0, 1, 1, 1 ; ulalume3@11: ulalume3@11: Background\_Low = 0, 30000, 30000, 30000 ; ulalume3@11: ulalume3@11: Background\_High = 500, 50000, 50000, 50000 ; ulalume3@11: ulalume3@11: Molecular\_Calc = 0 ; ulalume3@11: ulalume3@11: Pressure\_at\_Lidar\_Station = 1010 ; ulalume3@11: ulalume3@11: Temperature\_at\_Lidar\_Station = 19.8 ; ulalume3@11: ulalume3@11: id\_timescale = 1, 0, 0, 0 ; ulalume3@11: ulalume3@11: Dead\_Time = \_, 10, 10, 10 ; ulalume3@11: ulalume3@11: Dead\_Time\_Corr\_Type = \_, 0, 0, 0 ; ulalume3@11: ulalume3@11: Acquisition\_Mode = 0, 1, 1, 1 ; ulalume3@11: ulalume3@11: Trigger\_Delay = 50, 0, 0, 0 ; ulalume3@11: ulalume3@11: LR\_Input = 1,\_,\_,\_ ; ulalume3@11: ulalume3@11: DAQ\_Range = 100,\_,\_,\_ ; ulalume3@11: ulalume3@11: Laser\_Pointing\_Angle\_of\_Profiles = ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0 ; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Data\_Start\_Time = ulalume3@11: 0, 0, ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: 240, 120, ulalume3@11: \_, 150, ulalume3@11: \_, 180, ulalume3@11: \_, 210, ulalume3@11: \_, 240, ulalume3@11: \_, 270 ; ulalume3@11: ulalume3@11: Raw\_Data\_Stop\_Time = ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: 240, 120, ulalume3@11: 300, 150, ulalume3@11: \_, 180, ulalume3@11: \_, 210, ulalume3@11: \_, 240, ulalume3@11: \_, 270, ulalume3@11: \_, 300 ; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Bck\_Start\_Time = ulalume3@11: 0, 0, ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: \_, 90, ulalume3@11: \_, 120, ulalume3@11: \_, 150; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Bck\_Stop\_Time = ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: \_, 120, ulalume3@11: \_, 150, ulalume3@11: \_, 180 ; ulalume3@11: ulalume3@11: ulalume3@11: Laser\_Shots = ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_ ; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Lidar\_Data = ... ulalume3@11: ulalume3@11: Background\_Profile = ... ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: Please keep in mind that in case you submit a file like the previous one ulalume3@11: all the parameters present in it will be used by the SCC even if you ulalume3@11: have different values for the same parameters within the SCC\_DB. If you ulalume3@11: want to use the values already stored in SCC\_DB (this should be the ulalume3@11: usual way to use SCC) the Raw Lidar Data input file has to be ulalume3@11: modified as follows: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: dimensions: ulalume3@11: points = 5000 ; ulalume3@11: channels = 4 ; ulalume3@11: time = UNLIMITED ; // (10 currently) ulalume3@11: nb\_of\_time\_scales = 2 ; ulalume3@11: scan\_angles = 1 ; ulalume3@11: time\_bck = 6 ; ulalume3@11: variables: ulalume3@11: int channel\_ID(channels) ; ulalume3@11: double Laser\_Pointing\_Angle(scan\_angles) ; ulalume3@11: double Background\_Low(channels) ; ulalume3@11: double Background\_High(channels) ; ulalume3@11: int Molecular\_Calc ; ulalume3@11: double Pressure\_at\_Lidar\_Station ; ulalume3@11: double Temperature\_at\_Lidar\_Station ; ulalume3@11: int id\_timescale(channels) ; ulalume3@11: int Laser\_Pointing\_Angle\_of\_Profiles(time, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Data\_Start\_Time(time, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Data\_Stop\_Time(time, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Bck\_Start\_Time(time\_bck, nb\_of\_time\_scales) ; ulalume3@11: int Raw\_Bck\_Stop\_Time(time\_bck, nb\_of\_time\_scales) ; ulalume3@11: int LR\_Input(channels) ; ulalume3@11: int Laser\_Shots(time, channels) ; ulalume3@11: double Raw\_Lidar\_Data(time, channels, points) ; ulalume3@11: double Background\_Profile(time\_bck, channels, points) ; ulalume3@11: double DAQ\_Range(channels) ; ulalume3@11: ulalume3@11: // global attributes: ulalume3@11: :Measurement\_ID = "20090130cc00" ; ulalume3@11: :RawData\_Start\_Date = "20090130" ; ulalume3@11: :RawData\_Start\_Time\_UT = "000001" ; ulalume3@11: :RawData\_Stop\_Time\_UT = "000501" ; ulalume3@11: :RawBck\_Start\_Date = "20090129" ; ulalume3@11: :RawBck\_Start\_Time\_UT = "235001" ; ulalume3@11: :RawBck\_Stop\_Time\_UT = "235301" ; ulalume3@11: ulalume3@11: data: ulalume3@11: ulalume3@11: channel\_ID = 7, 5, 6, 8 ; ulalume3@11: ulalume3@11: Laser\_Pointing\_Angle = 5 ; ulalume3@11: ulalume3@11: Background\_Low = 0, 30000, 30000, 30000 ; ulalume3@11: ulalume3@11: Background\_High = 500, 50000, 50000, 50000 ; ulalume3@11: ulalume3@11: Molecular\_Calc = 0 ; ulalume3@11: ulalume3@11: Pressure\_at\_Lidar\_Station = 1010 ; ulalume3@11: ulalume3@11: Temperature\_at\_Lidar\_Station = 19.8 ; ulalume3@11: ulalume3@11: id\_timescale = 1, 0, 0, 0 ; ulalume3@11: ulalume3@11: LR\_Input = 1,\_,\_,\_ ; ulalume3@11: ulalume3@11: DAQ\_Range = 100,\_,\_,\_ ; ulalume3@11: ulalume3@11: Laser\_Pointing\_Angle\_of\_Profiles = ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: 0, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0, ulalume3@11: \_, 0 ; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Data\_Start\_Time = ulalume3@11: 0, 0, ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: 240, 120, ulalume3@11: \_, 150, ulalume3@11: \_, 180, ulalume3@11: \_, 210, ulalume3@11: \_, 240, ulalume3@11: \_, 270 ; ulalume3@11: ulalume3@11: Raw\_Data\_Stop\_Time = ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: 240, 120, ulalume3@11: 300, 150, ulalume3@11: \_, 180, ulalume3@11: \_, 210, ulalume3@11: \_, 240, ulalume3@11: \_, 270, ulalume3@11: \_, 300 ; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Bck\_Start\_Time = ulalume3@11: 0, 0, ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: \_, 90, ulalume3@11: \_, 120, ulalume3@11: \_, 150; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Bck\_Stop\_Time = ulalume3@11: 60, 30, ulalume3@11: 120, 60, ulalume3@11: 180, 90, ulalume3@11: \_, 120, ulalume3@11: \_, 150, ulalume3@11: \_, 180 ; ulalume3@11: ulalume3@11: ulalume3@11: Laser\_Shots = ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, 3000, 3000, 3000, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_, ulalume3@11: 1500, \_, \_, \_ ; ulalume3@11: ulalume3@11: ulalume3@11: Raw\_Lidar\_Data = ... ulalume3@11: ulalume3@11: Background\_Profile = ... ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: This example file contains the minimum collection of mandatory ulalume3@11: information that has to be found within the Raw Lidar Data input ulalume3@11: file. If it is really necessary, the user can decide to add to these ulalume3@11: mandatory parameters any number of additional parameters considered in ulalume3@11: the previous example. ulalume3@11: ulalume3@11: Finally, suppose we want to make the following changes with respect to ulalume3@11: the previous example: ulalume3@11: \begin{enumerate} ulalume3@11: \item {} ulalume3@11: use a sounding file for molecular density calculation instead of “US ulalume3@11: Standar Atmosphere 1976” ulalume3@11: ulalume3@11: \item {} ulalume3@11: supply a lidar ratio profile to use in elastic backscatter retrieval ulalume3@11: instead of a fixed value ulalume3@11: ulalume3@11: \item {} ulalume3@11: provide a overlap function for overlap correction ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: ulalume3@11: In this case we have to generate the following NetCDF additional files: ulalume3@11: \begin{description} ulalume3@11: \item[{rs\_20090130cc00.nc}] \leavevmode ulalume3@11: The name of Sounding Data file has to be computed as follows: ulalume3@11: \code{"rs\_"{}`{}`+{}`{}`Measurement\_ID} ulalume3@11: The structure of this file is summarized in table tab:sounding. ulalume3@11: ulalume3@11: \item[{ov\_20090130cc00.nc}] \leavevmode ulalume3@11: The name of Overlap file has to be computed as follows: ulalume3@11: \code{"ov\_"{}`{}`+{}`{}`Measurement\_ID} ulalume3@11: The structure of this file is summarized in table tab:overlap. ulalume3@11: ulalume3@11: \item[{lr\_20090130cc00.nc}] \leavevmode ulalume3@11: The name of Lidar Ratio file has to be computed as follows: ulalume3@11: \code{"lr\_"{}`{}`+{}`{}`Measurement\_ID} ulalume3@11: The structure of this file is summarized in table tab:lr. ulalume3@11: ulalume3@11: \end{description} ulalume3@11: ulalume3@11: Moreover we need to apply the following changes to the Raw Lidar Data ulalume3@11: input file: ulalume3@11: \begin{enumerate} ulalume3@11: \item {} ulalume3@11: Change the value of the variable \code{Molecular\_Calc} as follows: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Molecular\PYGZus{}Calc} \PYG{o}{=} \PYG{l+m+mi}{1} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: Of course the variables \code{Pressure\_at\_Lidar\_Station} and ulalume3@11: \code{Temperature\_at\_Lidar\_Station} are not necessary anymore. ulalume3@11: ulalume3@11: \item {} ulalume3@11: Change the values of the array \code{LR\_Input} as follows: ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{LR\PYGZus{}Input} \PYG{o}{=} \PYG{l+m+mi}{0}\PYG{p}{,}\PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{n}{\PYGZus{}}\PYG{p}{,}\PYG{n}{\PYGZus{}} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item {} ulalume3@11: Add the global attribute \code{Sounding\_File\_Name} ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Sounding\PYGZus{}File\PYGZus{}Name} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{rs\PYGZus{}20090130cc00.nc}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: \begin{enumerate} ulalume3@11: \setcounter{enumi}{4} ulalume3@11: \item {} ulalume3@11: Add the global attribute \code{LR\_File\_Name} ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{LR\PYGZus{}File\PYGZus{}Name} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{lr\PYGZus{}20090130cc00.nc}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \item {} ulalume3@11: Add the global attribute \code{Overlap\_File\_Name} ulalume3@11: ulalume3@11: \begin{Verbatim}[commandchars=\\\{\}] ulalume3@11: \PYG{n}{Overlap\PYGZus{}File\PYGZus{}Name} \PYG{o}{=} \PYG{l+s}{"}\PYG{l+s}{ov\PYGZus{}20090130cc00.nc}\PYG{l+s}{"} \PYG{p}{;} ulalume3@11: \end{Verbatim} ulalume3@11: ulalume3@11: \end{enumerate} ulalume3@11: ulalume3@11: ulalume3@11: \chapter{User management} ulalume3@11: \label{user_management:user-management}\label{user_management::doc}\label{user_management:id1} ulalume3@11: ulalume3@11: \section{Acount types} ulalume3@11: \label{user_management:acount-types} ulalume3@11: ulalume3@11: \section{Requesting a new account} ulalume3@11: \label{user_management:requesting-a-new-account} ulalume3@11: ulalume3@11: \section{User account security} ulalume3@11: \label{user_management:user-account-security} ulalume3@11: ulalume3@11: \chapter{Indices and tables} ulalume3@11: \label{index:indices-and-tables}\begin{itemize} ulalume3@11: \item {} ulalume3@11: \emph{genindex} ulalume3@11: ulalume3@11: \item {} ulalume3@11: \emph{modindex} ulalume3@11: ulalume3@11: \item {} ulalume3@11: \emph{search} ulalume3@11: ulalume3@11: \end{itemize} ulalume3@11: ulalume3@11: ulalume3@11: ulalume3@11: \renewcommand{\indexname}{Index} ulalume3@11: \printindex ulalume3@11: \end{document}