Signal types (Signal_Type)#
This page defines the Signal_Type codes used throughout the pipeline to identify LIDAR channels, merged products (slopes, ozone), and processing modes (photon counting vs analog).
These codes: - drive channel selection (e.g., background removal, saturation, filtering), - enable consistent naming and merging of near/far or ON/OFF pairs, - determine how outputs are grouped and exported in NetCDF.
Code ranges and semantics#
Atomic/raw channels (measured):
Code |
Meaning |
|---|---|
100 |
Rayleigh ON far range (photocounting) |
101 |
Rayleigh OFF far range (photocounting) |
102 |
Rayleigh ON near range (photocounting) |
103 |
Rayleigh OFF near range (photocounting) |
104 |
Raman ON (photocounting) |
105 |
Raman OFF (photocounting) |
110 |
Rayleigh ON far range (analog) |
111 |
Rayleigh OFF far range (analog) |
112 |
Rayleigh ON near range (analog) |
113 |
Rayleigh OFF near range (analog) |
114 |
Raman ON (analog) |
115 |
Raman OFF (analog) |
Derived / merged products (after processing steps):
Code |
Meaning |
|---|---|
120 |
Slope ON near/far (photocounting) from (100/102) |
121 |
Slope OFF near/far (photocounting) from (101/103) |
122 |
Slope ON near/far (analog) from (110/112) |
123 |
Slope OFF near/far (analog) from (111/113) |
124 |
Slope ON near (analog/photocounting) from (110/100) |
125 |
Slope OFF near (analog/photocounting) from (111/101) |
130 |
Ozone Rayleigh near (photon) from (100/101) |
131 |
Ozone Rayleigh far (photon) from (102/103) |
132 |
Ozone Raman (photon) from (104/105) |
133 |
Ozone Rayleigh near (analog) from (110/111) |
134 |
Ozone Rayleigh far (analog) from (112/113) |
135 |
Ozone Raman (analog) from (114/115) |
136 |
Ozone Rayleigh photon near/far from (120/121) |
137 |
Ozone Rayleigh analog / photon from (133/130) or (124/125) |
138 |
Ozone Raman–Rayleigh photon near/far from (136/132) |
Grouping / mapping rules#
The code combinations that create derived Signal_Type are defined in the software
(Constants.py) via two mappings:
ozone mappings (for merged ozone products),
slope mappings (for merged slope products).
They specify how pairs of Signal_Type codes map to a single derived code.
Ozone mappings (excerpt):
Pair (as a set) |
→ New |
|---|---|
{100, 101} |
130 |
{102, 103} |
131 |
{104, 105} |
132 |
{110, 111} |
133 |
{112, 113} |
134 |
{114, 115} |
135 |
{120, 121} |
136 |
{133, 130} |
137 |
{132, 136} |
138 |
Slope mappings (excerpt):
Pair (as a set) |
→ New |
|---|---|
{100, 102} |
120 |
{101, 103} |
121 |
{110, 112} |
122 |
{111, 113} |
123 |
{110, 100} |
124 |
{111, 101} |
125 |
Note
The pairs are treated as sets (order-insensitive), e.g. {100, 102} == {102, 100}.
Relation to processing stages#
Raw import & pre-processing operate mainly on 100–115 (photocounting / analog raw channels).
Slope computation & merging introduce 120–125 (derivative of PR² and near/far merging).
Ozone retrieval & merging introduce 130–138 (DIAL/Raman products and cross-mode merges).
Declaring Signal_Type in XML#
In your parameter file, each raw channel must declare its Signal_Type (comma-separated).
<Dial>
<Read>
<Lidar_files>
<Signal_type type="int">
102, 103, 100, 101, 104, 105
</Signal_type>
</Lidar_files>
</Read>
</Dial>
These codes are used by import routines and all subsequent steps to: - select the right channels, - align per-channel parameters (e.g. background windows), - generate correctly labeled outputs (e.g. merged ozone variables).
Best practices#
Photocounting vs analog units Photocounting channels (100–105) use photon counts (or MHz if specified); analog channels (110–115) must be in mV. See Importing LIDAR raw data.
Uncertainty variables Uncertainty channels are not given a distinct Signal_Type code; they are derived from the base variable name (suffix like
_Unc). See Variable naming and metadata configuration.Near vs far Codes marked near vs far indicate range-specific detection chains (different overlap/geometric factor).
Pairs must be consistent When merging, use the documented pairs (e.g., ON/OFF or near/far) to obtain stable derived codes (120–138).
Keep XML order consistent When providing per-channel parameter arrays (e.g., background altitude windows), the N-th value must correspond to the N-th Signal_Type in
Read/Lidar_files/Signal_type.
Quick reference (families)#
These “mix” labels are provided for convenience in some UIs:
Pair range |
Family name |
|---|---|
100–101 |
Rayleigh near Range (photocounting) |
102–103 |
Rayleigh far Range (photocounting) |
104–105 |
Raman (photocounting) |
110–111 |
Rayleigh near Range (analog) |
112–113 |
Rayleigh far Range (analog) |
114–115 |
Raman (analog) |
Processing map (merges)#
flowchart TD
%% === RAW CHANNELS ===
subgraph Raw [Raw channels]
R100["100 Rayleigh ON far (pc)"]
R101["101 Rayleigh OFF far (pc)"]
R102["102 Rayleigh ON near (pc)"]
R103["103 Rayleigh OFF near (pc)"]
R104["104 Raman ON (pc)"]
R105["105 Raman OFF (pc)"]
A110["110 Rayleigh ON far (an)"]
A111["111 Rayleigh OFF far (an)"]
A112["112 Rayleigh ON near (an)"]
A113["113 Rayleigh OFF near (an)"]
A114["114 Raman ON (an)"]
A115["115 Raman OFF (an)"]
end
%% === SLOPE MERGES ===
subgraph Slope [Slope products]
S120["120 Slope ON near/far (pc)"]
S121["121 Slope OFF near/far (pc)"]
S122["122 Slope ON near/far (an)"]
S123["123 Slope OFF near/far (an)"]
S124["124 Slope ON near (an/pc)"]
S125["125 Slope OFF near (an/pc)"]
end
%% === OZONE MERGES ===
subgraph Ozone [Ozone merged products]
O130["130 O3 Rayleigh near (pc)"]
O131["131 O3 Rayleigh far (pc)"]
O132["132 O3 Raman (pc)"]
O133["133 O3 Rayleigh near (an)"]
O134["134 O3 Rayleigh far (an)"]
O135["135 O3 Raman (an)"]
O136["136 O3 Rayleigh pc near/far"]
O137["137 O3 Rayleigh an/pc"]
O138["138 O3 Raman–Rayleigh pc near/far"]
end
%% --- Slope mappings ---
R100 --- R102 --> S120
R101 --- R103 --> S121
A110 --- A112 --> S122
A111 --- A113 --> S123
A110 --- R100 --> S124
A111 --- R101 --> S125
%% --- Ozone mappings (Rayleigh / Raman) ---
R100 --- R101 --> O130
R102 --- R103 --> O131
R104 --- R105 --> O132
A110 --- A111 --> O133
A112 --- A113 --> O134
A114 --- A115 --> O135
S120 --- S121 --> O136
O133 --- O130 --> O137
O132 --- O136 --> O138
Signal_Type processing map#
Legend#
pc = photon counting, an = analog
Near/far = chaînes proches/lointaines (géométrie/overlap)
Les liens représentent des fusions par paires (ensembles non ordonnés), cf. mappings dans
Constants.py.