TransmittanceOption

class pyarts3.arts.TransmittanceOption(*args, **kwargs)

A flag for the transmittance model for a layer.

Constant

Classical and simple solution for radiative transfer over a layer with constant absorption coefficient and constant source function. Strong variations in the source function over the layer may lead to inaccuracies. As may strong variations in the absorption coefficient. Easiest and fastest method.

\[ \begin{align}\begin{aligned}K = \frac{K_0 + K_1}{2}\\T = e^{- K r}\\J = \frac{J_0 + J_1}{2}\\I_1 = J + T (I_0 - J)\end{aligned}\end{align} \]

Linear in Tau

The source is linearly changing throughout the layer, while the absorption coefficient is constant. Has better accuracy than the constant option when the source function varies strongly over the layer. Still fast to compute, but the linear evolution operator is highly complex, meaning we do not know if there are edge cases where this method fails.

\[ \begin{align}\begin{aligned}K = \frac{K_0 + K_1}{2}\\T = e^{- K r}\\J = J_0 + \left(J_1 - J_0\right) \frac{s}{r}\\\Lambda_0 = \frac{1}{r}K^{-1} \left(1 - T\right)\\I_1 = J_1 + T (I_0 - J_0) + \Lambda_0 \left(J_0 - J_1\right)\end{aligned}\end{align} \]

Linear in Propagation

The source is linearly changing throughout the layer, as is the the absorption coefficient. Has theoretically better accuracy than the constant or linsrc options when the layer varies strongly. However, the linear evolution operator is highly complex, meaning we do not know if there are edge cases where this method fails, and comparisons with linsrc have not shown significant improvements in accuracy - in fact sometimes it is less accurate.

\[ \begin{align}\begin{aligned}K = K_0 + \left(K_1 - K_0\right) \frac{s}{r}\\T = e^{- K r}\\J = J_0 + \left(J_1 - J_0\right) \frac{s}{r}\\\Lambda_0 = \frac{1}{r}\sqrt{\frac{K_1 - K_0}{2r}} ^ {-1} \left[D\left(\frac{1}{2} \sqrt{\frac{K_1 - K_0}{2r}} ^ {-1} K_1\right) - T D\left(\frac{1}{2} \sqrt{\frac{K_1 - K_0}{2r}} ^ {-1} K_0\right)\right],\;\mathrm{when}\;K_1 \gt K_0\\\Lambda_0 = \frac{1}{r}K^{-1} \left(1 - T\right),\; \mathrm{otherwise}\\I_1 = J_1 + T (I_0 - J_0) + \Lambda_0 \left(J_0 - J_1\right)\end{aligned}\end{align} \]

where \(D(x)\) is the Dawson function.

Valid options:

  • "constant" or "linear" or "lin": Linear transmittance step over constant layer

  • "linsrc" or "lintau" or "linear-in-tau": Linear transmittance step over constant absorption layer with linear source function

  • "linprop" or "linsrcprop" or "linear-in-propagation": Linear transmittance step over non-constant absorption layer with linear source function

Workspace variables of type TransmittanceOption

Overview

Method

readxml()

Read variable from file.

Method

savexml()

Saves variable to file.

Static Method

fromxml()

Create variable from file.

Static Method

get_options()

Get a list of all options

Static Method

get_options_as_strings()

Get a list of all options as strings

Static Data

pyarts3.arts.TransmittanceOption.constant

“constant” (TransmittanceOption)

Static Data

pyarts3.arts.TransmittanceOption.lin

“constant” (TransmittanceOption)

Static Data

pyarts3.arts.TransmittanceOption.linear

“constant” (TransmittanceOption)

Static Data

pyarts3.arts.TransmittanceOption.linprop

“linprop” (TransmittanceOption)

Static Data

pyarts3.arts.TransmittanceOption.linsrc

“linsrc” (TransmittanceOption)

Static Data

pyarts3.arts.TransmittanceOption.linsrcprop

“linprop” (TransmittanceOption)

Static Data

pyarts3.arts.TransmittanceOption.lintau

“linsrc” (TransmittanceOption)

Operator

__eq__()

self == other

Operator

__format__()

Default object formatter.

Operator

__ge__()

self >= other

Operator

__gt__()

self > other

Operator

__hash__()

Allows hashing

Operator

__init__()

__init__(self, arg: str, /) -> None

Operator

__le__()

self <= other

Operator

__lt__()

self < other

Operator

__ne__()

self != other

Operator

__repr__()

__repr__(self) -> str

Operator

__str__()

__str__(self) -> str

Constructors

__init__(self) None
__init__(self, arg: pyarts3.arts.TransmittanceOption) None
__init__(self, arg: str, /) None

Methods

readxml(self, file: str) str

Read variable from file.

Parameters:

file (str) – A file that can be read.

Raises:

RuntimeError – For any failure to read.

Returns:

file – The file path found (may differ from input due to environment variables).

Return type:

str

savexml(self, file: str, type: str = 'ascii', clobber: bool = True) str

Saves variable to file.

Parameters:
  • file (str) – The path to which the file is written. Note that several of the options might modify the name or write more files.

  • type (str, optional) – Type of file to save. See FileType for options. Defaults is “ascii”.

  • clobber (bool, optional) – Overwrite existing files or add new file with modified name? Defaults is True.

Raises:

RuntimeError – For any failure to write.

Returns:

file – The file saved. May differ from input.

Return type:

str

Static Methods

fromxml(file: str) pyarts3.arts.TransmittanceOption

Create variable from file.

Parameters:

file (str) – A file that can be read

Raises:

RuntimeError – For any failure to read.

Returns:

artstype – The variable created from the file.

Return type:

T

get_options() list[pyarts3.arts.TransmittanceOption]

Get a list of all options

get_options_as_strings() list[str]

Get a list of all options as strings

Operators

__eq__(self, arg: pyarts3.arts.TransmittanceOption, /) bool

self == other

__format__(format_spec, /)

Default object formatter.

Return str(self) if format_spec is empty. Raise TypeError otherwise.

__ge__(self, arg: pyarts3.arts.TransmittanceOption, /) bool

self >= other

__gt__(self, arg: pyarts3.arts.TransmittanceOption, /) bool

self > other

__hash__(self) int

Allows hashing

__init__(self) None
__init__(self, arg: pyarts3.arts.TransmittanceOption) None
__init__(self, arg: str, /) None
__le__(self, arg: pyarts3.arts.TransmittanceOption, /) bool

self <= other

__lt__(self, arg: pyarts3.arts.TransmittanceOption, /) bool

self < other

__ne__(self, arg: pyarts3.arts.TransmittanceOption, /) bool

self != other

__repr__(self) str
__str__(self) str