# 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 |