Convert principal component scores to radiance

Perform a transformation from principal component (PC) scores to spectral radiance.

Transform: SatRadianceFromPCScores

obs pre filters:
### PC scores to spectral radiance (W / (m^2.sr.m^-1))
- filter: Variable Transforms
  Transform: SatRadianceFromPCScores
  destination variable:
    name: radiance
    channels: *all_channels
  reconstruction operator file: ./iasi_pcscores_reconstructor.nc4
  operator data group: PCScores # default
  operator channel group: MetaData # default
  number of principal components: 300
  principal component scores variable: MetaData/principalComponentScore
  reconstruction scaling factor: 0.5 # default value

Parameters

The following parameters are required:

  • destination variable defines the ObsSpace variable name for the reconstructed radiances together with an associated list of channels - this destination variable is written to the DerivedObsValue group.

  • reconstruction operator file provides a path to a netCDF file containing the PC scores reconstruction operator (file format is detailed below).

  • number of principal components defines the total number of PCs used in the reconstruction (this number should match the component dimension in the reconstruction operator file).

  • principal component scores variable is the base name of the ufo::Variable containing the observation PC scores - if the variable is MetaData/principalComponentScore then the obs space should contain variables numbered MetaData/principalComponentScore1, MetaData/principalComponentScore2, …, up to the number of PCs.

The following parameters are optional with default values:

  • operator data group specifies the name of the group in the reconstruction operator file containing the operator itself - by default this group name is PCScores.

  • operator channel group specifies the name of the group in the reconstruction operator file containing the variable which describes the reconstruction operator channel numbers - by default this group name is MetaData.

  • reconstruction scaling factor is a scalar multiplier which ensures the output spectral radiance units are \(W / (m^{2}.sr.m^{-1})\) - by default this scaling factor is 0.5.

Reconstruction operator file

The netCDF file containing the PC scores reconstruction operator has the following format:

  • The operator itself is a two-dimensional variable in a group with name specified by the operator data group parameter, where its first dimension is principal component and its second dimension is channel.

  • The sensor channel numbers associated with the operator should be the sole variable in a group with name specified by the operator channel group parameter, by convention the variable in this group is named sensorChannelNumber.

An example file format follows:

netcdf {
dimensions:
    Channel = 8461 ;
    Component = 300 ;
variables:
    int Channel(Channel) ;
    int Component(Component) ;
group: MetaData {
variables:
    int sensorChannelNumber(Channel) ;
} // group MetaData
group: PCScores {
variables:
    float reconstructionOperator(Component, Channel) ;
} // group PCScores
}

Observation ingest

The ObsSpace should be initialised with a Channel dimension which matches the channel list to be reconstructed. A read from yaml method for assigning channel numbers from an ODB query is provided (see Channel indices).

Method

The reconstruction method follows the convention associated with Eumetsat v2.01 eigenvectors for IASI. Reconstructed radiances \({\mathbf{r^\prime}}\) are computed as the matrix multiplication of the reconstruction operator \({\mathbf{R}}\) (dimensions number of components by number of channels) with PC scores \({\mathbf{p}}\) (dimensions number of components by number of observation locations):

\[{\mathbf{r^\prime}} = 0.5 {\mathbf{R}}^{T} {\mathbf{p}}\]

where the default scaling factor of 0.5 has been applied.

Eumetsat provide three separate reconstruction operator matrices for the three IASI spectral bands. Here, the matrices have been combined so that a single reconstruction operator matrix covering the whole spectrum is used.