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.

See also#