Instrument functions
RetrievalToolbox is mostly instrument-agnostic, meaning that none of the functions are written for specific instruments, even though a certain type of instrument class is assumed for the time being.
Nevertheless, in order to create a fully functioning retrieval algorithm, the forward model must be capable of producing instrument-level radiances. The functions listed below provide ways of doing so, assuming the high-resolution radiances and Jacobians have been calculated already.
Note that some of the functions below may refer to quantities whose meaning should be understood in detail, for further reading consult Core Algorithm Concepts, especially the section on Pixels, Spectral Samples and Dispersion.
List of instrument functions
RetrievalToolbox.apply_isrf_to_spectrum! — Method
apply_isrf_to_spectrum!(
inst_buf::InstrumentBuffer,
ISRF::GaussISRF,
disp::AbstractDispersion,
data::AbstractVector,
swin::AbstractSpectralWindow;
doppler_factor,
extend
) -> Bool
Applies the GaussISRF-type instrument response function on some vector data, usually intended to be the high-resolution model radiance or Jacobian. Integration limits are given by the extend keyword, it defines how many $\sigma$ (derived fom ISRF.FWHM) the integration limits are on both sides. The output is stored in inst_buf.low_res_output. Returns true if the calculation did not encounter any errors.
Details
Application of the ISRF is in accordance with standard literature. The radiance $I[s]$ at instrument-level on a particular spectral sample $s$ at wavelength $\lambda_s$ is given by
$I[s] = \int I_\mathrm{model}(\lambda_s - \Delta\lambda) \cdot \mathrm{ISRF}(\Delta\lambda) \; d\lambda$
where $\mathrm{ISRF}$ is the Gaussian ISRF evaluated at the relative wavelength $\Delta\lambda$. This implementation replaces the integral by a fast numerical integration.
Instrument Doppler shift
This function can take the doppler_factor argument, which is needed to compute the appropriate Doppler shift caused by the relative motion between, for example, the measurement footprint on the ground (for downlooking instruments) and the instrument along the line of sight. The Doppler factor is $v / c$ where $c$ is the speed of light. This function does not derive the appropriate Doppler shift, it is up to users to perform the appropriate calculation.
RetrievalToolbox.apply_isrf_to_spectrum! — Method
apply_isrf_to_spectrum!(
inst_buf::InstrumentBuffer,
ISRF::TableISRF,
disp::AbstractDispersion,
data::AbstractVector,
spectral_window::AbstractSpectralWindow;
doppler_factor
) -> Bool
Applies the TableISRF-type instrument response function on some vector data, usually intended to be the high-resolution model radiance or Jacobian. The output is stored in inst_buf.low_res_output. Returns true if the calculation did not encounter any errors.
Details
Application of the ISRF is in accordance with standard literature. The radiance $I[s]$ at instrument-level on a particular spectral sample $s$ at wavelength $\lambda_s$ is given by
$I[s] = \int I_\mathrm{model}(\lambda_s - \Delta\lambda) \cdot \mathrm{ISRF}_s(\Delta\lambda) \; d\lambda$
where $\mathrm{ISRF}_s$ is the pre-calculated ISRF (of sample $s$) evaluated at the relative wavelength $\Delta\lambda$. This implementation replaces the integral by a fast numerical integration via the trapezoid rule.
The output is stored in inst_buf.low_res_output.
Instrument Doppler shift
This function can take the doppler_factor argument, which is needed to compute the appropriate Doppler shift caused by the relative motion between, for example, the measurement footprint on the ground (for downlooking instruments) and the instrument along the line of sight. The Doppler factor is $v / c$ where $c$ is the speed of light. This function does not derive the appropriate Doppler shift, it is up to users to perform the appropriate calculation.