jacobianAddPointingZa

Workspace.jacobianAddPointingZa(self: pyarts.arts._Workspace, jacobian_quantities: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfRetrievalQuantity | None = self.jacobian_quantities, jacobian_agenda: pyarts.arts.WorkspaceVariable | pyarts.arts.Agenda | None = self.jacobian_agenda, sensor_pos: pyarts.arts.WorkspaceVariable | pyarts.arts.Matrix | None = self.sensor_pos, sensor_time: pyarts.arts.WorkspaceVariable | pyarts.arts.ArrayOfTime | None = self.sensor_time, poly_order: pyarts.arts.WorkspaceVariable | pyarts.arts.Index | None = 0, calcmode: pyarts.arts.WorkspaceVariable | pyarts.arts.String | None = 'recalc', dza: pyarts.arts.WorkspaceVariable | pyarts.arts.Numeric | None = 0.01, verbosity: pyarts.arts.WorkspaceVariable | pyarts.arts.Verbosity | None = self.verbosity) None

Adds sensor pointing zenith angle off-set jacobian.

Retrieval of deviations between nominal and actual zenith angle of the sensor can be included by this method. The weighing functions can be calculated in several ways:

  • calcmode = "recalc":

    Recalculation of pencil beam spectra, shifted with dza from nominal values. A single-sided perturbation is applied (towards higher zenith angles).

  • calcmode = "interp":

    Inter/extrapolation of existing pencil beam spectra. For this option, allow some extra margins for zenith angle grids, to avoid artifacts when extrapolating the data (to shifted zenith angles). The average of a negative and a positive shift is taken.

The interp option is recommended. It should in general be both faster and more accurate (due to the double sided disturbance). In addition, it is less sensitive to the choice of dza (as long as a small value is applied).

The pointing off-set can be modelled to be time varying. The time variation is then described by a polynomial (with standard base functions). For example, a polynomial order of 0 means that the off-set is constant in time. If the off-set is totally uncorrelated between the spectra, set the order to -1.

The number of elements added to the state vector (x) is

  • if poly_order < 0 : length of sensor_time

  • otherwise : poly_order+1

In the first case, the order in x matches sensor_time. In the second case, the coefficient for polynomial order 0 comes first etc.

Author(s): Patrick Eriksson, Mattias Ekstrom

Parameters:
  • jacobian_quantities (ArrayOfRetrievalQuantity, optional) – The retrieval quantities in the Jacobian matrix. See jacobian_quantities, defaults to self.jacobian_quantities [INOUT]

  • jacobian_agenda (Agenda, optional) – Pure numerical Jacobian calculations. See jacobian_agenda, defaults to self.jacobian_agenda [INOUT]

  • sensor_pos (Matrix, optional) – The sensor position for each measurement block. See sensor_pos, defaults to self.sensor_pos [IN]

  • sensor_time (ArrayOfTime, optional) – The time for each measurement block. See sensor_time, defaults to self.sensor_time [IN]

  • poly_order (Index, optional) – Order of polynomial to describe the time variation of pointing off-sets. Defaults to 0 [IN]

  • calcmode (String, optional) – Calculation method. See above. Defaults to "recalc" [IN]

  • dza (Numeric, optional) – Size of perturbation to apply (when applicable). Defaults to 0.01 [IN]

  • verbosity (Verbosity) – ARTS verbosity. See verbosity, defaults to self.verbosity [IN]