ARTS built-in documentation server
Workspace Method propmat_clearskyAddLines
Description
Computes the line-by-line unpolarized absorption and adds
it to the diagonal of propmat_clearsky and derivates to other variables.
Does the same for NLTE variables if required.
If *lines_speedup_option* is not "None", then some speed-up logic is applied.
Valid speed-up logic other than "None" includes:
LinearIndependent:
Using a sparse-grid, the points are separated as [f0, f0+df[0], f0+df[0], f0+df[1]...]
until the entire f_grid is covered. All sparse bins are on f_grid so df changes.
A linear interpolation scheme is used between the bins to fill up the dense
absorption. The maximum of df[n] is given by *lines_sparse_df* and the minimum
transition between dense-to-sparse grid calculations are given by *lines_sparse_lim*.
QuadraticIndependent:
Using a sparse-grid, the points are separated as [f0, f0+0.5*df[0], f0+df[0], f0+df[0], f0+0.5*df[1], f0+df[1]...]
until the entire f_grid is covered. All sparse bins are on f_grid so df changes.
A quadratic interpolation scheme is used between the bins to fill up the dense
absorption. The maximum of df[n] is given by *lines_sparse_df* and the minimum
transition between dense-to-sparse grid calculations are given by *lines_sparse_lim*.
Please use sparse_f_gridFromFrequencyGrid to see the sparse frequency grid
By default we discourage negative values, which are common when using one of the line mixing
approximations. Change the value of no_negatives to 0 to allow these negative absorptions.
Authors: Richard Larsson
Synopsis
propmat_clearskyAddLines( | propmat_clearsky, nlte_source, dpropmat_clearsky_dx, dnlte_source_dx, f_grid, abs_species, select_abs_species, jacobian_quantities, abs_lines_per_species, isotopologue_ratios, rtp_pressure, rtp_temperature, rtp_nlte, rtp_vmr, nlte_do, lbl_checked, lines_sparse_df, lines_sparse_lim, lines_speedup_option, no_negatives ) |
Variables
OUT+IN | propmat_clearsky | (PropagationMatrix) | This contains the absorption coefficients for one point in the atmosphere (one set of pressure, temperature, magnetic field, and VMR values). |
OUT+IN | nlte_source | (StokesVector) | Variable to contain the additional source function due to NLTE effects. |
OUT+IN | dpropmat_clearsky_dx | (ArrayOfPropagationMatrix) | Partial derivative of absorption coefficients. |
OUT+IN | dnlte_source_dx | (ArrayOfStokesVector) | NLTE partial derivatives output is two parts: S*dB/dx+dS/dx*B. |
IN | f_grid | (Vector) | The frequency grid for monochromatic pencil beam calculations. |
IN | abs_species | (ArrayOfArrayOfSpeciesTag) | Tag groups for gas absorption. |
IN | select_abs_species | (ArrayOfSpeciesTag) | A select species tag group from abs_species If set to empty, this selection is void. |
IN | jacobian_quantities | (ArrayOfRetrievalQuantity) | The retrieval quantities in the Jacobian matrix. |
IN | abs_lines_per_species | (ArrayOfArrayOfAbsorptionLines) | A list of spectral line data for each tag. |
IN | isotopologue_ratios | (SpeciesIsotopologueRatios) | Contains the isotopologue ratios. |
IN | rtp_pressure | (Numeric) | Pressure at a radiative transfer point. |
IN | rtp_temperature | (Numeric) | Temperature at a radiative transfer point. |
IN | rtp_nlte | (EnergyLevelMap) | NLTE temperature/ratio at a radiative transfer point. |
IN | rtp_vmr | (Vector) | Absorption species abundances for radiative transfer calculations. |
IN | nlte_do | (Index) | Flag to perform Non-LTE calculations. |
IN | lbl_checked | (Index) | Flag to check if the line-by-line calculations will work Usage: Set manually on own risk, or use lbl_checkedCalc. |
GIN | lines_sparse_df | (Numeric, Default: 0) | The grid sparse separation |
GIN | lines_sparse_lim | (Numeric, Default: 0) | The dense-to-sparse limit |
GIN | lines_speedup_option | (String, Default: "None") | Speedup logic |
GIN | no_negatives | (Index, Default: 1) | Boolean. If it is true, line mixed bands each allocate their own compute data to ensure that they cannot produce negative absorption |