propagation_matrixAddCIA

Workspace.propagation_matrixAddCIA(self, propagation_matrix: pyarts3.arts.PropmatVector | None = None, propagation_matrix_jacobian: pyarts3.arts.PropmatMatrix | None = None, select_species: pyarts3.arts.SpeciesEnum | None = None, jacobian_targets: pyarts3.arts.JacobianTargets | None = None, frequency_grid: pyarts3.arts.AscendingGrid | None = None, atmospheric_point: pyarts3.arts.AtmPoint | None = None, absorption_cia_data: pyarts3.arts.ArrayOfCIARecord | None = None, T_extrapolfac: pyarts3.arts.Numeric | None = None, ignore_errors: pyarts3.arts.Index | None = None) None

Add absorption coefficients for HITRAN collision induced absorption (CIA).

This interpolates the cross sections from absorption_cia_data. If too few temperature grid-points are available, its polynomial order of interpolation decreases to the maximum allowed. Otherwise, both frequency and temperature are interpolated using third order polynomials.

Given that the interpolation is \(\vec{x}_{ij} = f\left(T, \vec{f}\right)\), where the atmospheric_point temperature is \(T\) and \(f\) is the frequency_grid, \(i\) is an index into the absorption_cia_data and \(j\) is an index into the underlying CIARecord data structure, the absorption coefficient from CIA is given by

\[vec{\alpha}_\mathbf{CIA} = \sum_i n_{i,0} n_{i,1} \sum_j vec{x}_{ij}\]

where \(n_{i,0}\) and \(n_{i,1}\) are number densities of the two species involved in the CIA.

The input T_extrapolfac sets a limit on the interpolation along the temperature grid of the data. If the temperature grid is \([T_0, T_1, \cdots, T_{n-1}, T_n]\), then this method throws an error if

\[T < T_0 - \Delta T_e \left(T_1 - T_0\right)\]

or

\[T > T_n + \Delta T_e \left(T_n - T_{n-1}\right)\]

where \(\Delta T_e\) is the extrapolation factor given by T_extrapolfac. If this happens to you and you believe you can use the computations anyways, set T_extrapolfac to a very large or infinite value.

The frequnecy grid interpolation is limited to within the range of the available data. Any point in frequency_grid outside this range will simply be ignored. The frequency interpolation can thus not fail.

Note

ignore_errors can be set to 1 to suppress runtime errors, but any error will result in NaN values in the output. This is useful if you want to debug your results, but not if you want to use them.

Author: Stefan Buehler, Oliver Lemke

Parameters:
  • propagation_matrix (PropmatVector, optional) – This contains the fully polarized propagation matrix for the current path point. See propagation_matrix, defaults to self.propagation_matrix [INOUT]

  • propagation_matrix_jacobian (PropmatMatrix, optional) – Partial derivative of the propagation_matrix with regards to jacobian_targets. See propagation_matrix_jacobian, defaults to self.propagation_matrix_jacobian [INOUT]

  • select_species (SpeciesEnum, optional) – Species selection. See select_species, defaults to self.select_species [IN]

  • jacobian_targets (JacobianTargets, optional) – A list of targets for the Jacobian Matrix calculations. See jacobian_targets, defaults to self.jacobian_targets [IN]

  • frequency_grid (AscendingGrid, optional) – A single frequency grid. See frequency_grid, defaults to self.frequency_grid [IN]

  • atmospheric_point (AtmPoint, optional) – An atmospheric point in ARTS. See atmospheric_point, defaults to self.atmospheric_point [IN]

  • absorption_cia_data (ArrayOfCIARecord, optional) – HITRAN Collision-Induced Absorption (CIA) Data. See absorption_cia_data, defaults to self.absorption_cia_data [IN]

  • T_extrapolfac (Numeric, optional) – Temperature extrapolation factor (relative to grid spacing). \(\Delta T_e\) in text above. Defaults to 0.5 [IN]

  • ignore_errors (Index, optional) – Set to 1 to suppress runtime errors (and return NAN values instead). Defaults to 0 [IN]