cppvdisort

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

A low-level polarized VDISORT object.

The calling style mirrors cppdisort, but scalar phase coefficients, boundary values, sources, and beam intensity are replaced by their polarized counterparts. Stokes components are ordered [I, Q, U, V].

phase_matrix has shape [2, NFourier, NLayers, NQuad, NQuad, 4, 4]. The leading dimension contains the combined cosine and sine equations. b_pos and b_neg have shape [2, NFourier, NQuad/2, 4] and s_poly_coeffs has shape [NLayers, Ncoeffs, 4]. Its coefficients are the Stokes source function B = [B_I, B_Q, B_U, B_V]; VDISORT applies the layer factor 1 - omega internally. An unpolarized source is therefore supplied as [B, 0, 0, 0].

Overview

Method

flux()

Compute Stokes-I upward, downward-diffuse, downward-direct flux and DFDT

Method

has_complex_eigensolutions()

Return whether any retained transport eigenvalue is significantly complex

Method

pydisort_u()

Compute Stokes radiance with shape [stream, tau, phi, stokes]

Method

u()

Compute the Stokes radiance with shape [tau, phi, stream, stokes]

Method

u_user()

Compute Stokes radiance at arbitrary nonzero polar-angle cosines.

Operator

__eq__()

Return self==value.

Operator

__format__()

Default object formatter.

Operator

__ge__()

Return self>=value.

Operator

__gt__()

Return self>value.

Operator

__hash__()

Return hash(self).

Operator

__init__()

Overloaded function.

Operator

__le__()

Return self<=value.

Operator

__lt__()

Return self<value.

Operator

__ne__()

Return self!=value.

Operator

__repr__()

Return repr(self).

Operator

__str__()

Return str(self).

Constructors

__init__(self, tau_arr: pyarts3.arts.AscendingGrid, omega_arr: pyarts3.arts.Vector, NQuad: int, phase_matrix: pyarts3.arts.MuelmatTensor5, mu0: float, beam_stokes: pyarts3.arts.Stokvec, phi0: float, NFourier: int | None = None, b_pos: pyarts3.arts.StokvecTensor3 | None = None, b_neg: pyarts3.arts.StokvecTensor3 | None = None, BDRF_Fourier_modes: pyarts3.arts.vdisort.ArrayOfBDRF = pyarts3.arts.vdisort.ArrayOfBDRF([]), s_poly_coeffs: pyarts3.arts.StokvecMatrix | None = None, beam_phase_matrix: pyarts3.arts.MuelmatTensor4 | None = None, source_coordinate_scale: pyarts3.arts.Vector | None = None, source_coordinate_offset: pyarts3.arts.Vector | None = None) None
__init__(self) None
__init__(self, arg: pyarts3.arts.cppvdisort) None

Overloaded function.

  1. __init__(self, tau_arr: pyarts3.arts.AscendingGrid, omega_arr: pyarts3.arts.Vector, NQuad: int, phase_matrix: pyarts3.arts.MuelmatTensor5, mu0: float, beam_stokes: pyarts3.arts.Stokvec, phi0: float, NFourier: int | None = None, b_pos: pyarts3.arts.StokvecTensor3 | None = None, b_neg: pyarts3.arts.StokvecTensor3 | None = None, BDRF_Fourier_modes: pyarts3.arts.vdisort.ArrayOfBDRF = pyarts3.arts.vdisort.ArrayOfBDRF([]), s_poly_coeffs: pyarts3.arts.StokvecMatrix | None = None, beam_phase_matrix: pyarts3.arts.MuelmatTensor4 | None = None, source_coordinate_scale: pyarts3.arts.Vector | None = None, source_coordinate_offset: pyarts3.arts.Vector | None = None) -> None

Run polarized VDISORT with an interface parallel to cppdisort.

  1. __init__(self) -> None

  2. __init__(self, arg: pyarts3.arts.cppvdisort) -> None

Methods

flux(self, tau: pyarts3.arts.AscendingGrid) pyarts3.arts.Matrix

Compute Stokes-I upward, downward-diffuse, downward-direct flux and DFDT

has_complex_eigensolutions(self, tolerance: float = 1e-12) bool

Return whether any retained transport eigenvalue is significantly complex

pydisort_u(self, tau: pyarts3.arts.Vector, phi: pyarts3.arts.Vector) pyarts3.arts.Tensor4

Compute Stokes radiance with shape [stream, tau, phi, stokes]

u(self, tau: pyarts3.arts.AscendingGrid, phi: pyarts3.arts.Vector) pyarts3.arts.Tensor4

Compute the Stokes radiance with shape [tau, phi, stream, stokes]

u_user(self, tau: pyarts3.arts.AscendingGrid, phi: pyarts3.arts.Vector, mu: pyarts3.arts.Vector, phase_matrix: pyarts3.arts.MuelmatTensor5, beam_phase_matrix: pyarts3.arts.MuelmatTensor4 | None = None) pyarts3.arts.StokvecTensor3

Compute Stokes radiance at arbitrary nonzero polar-angle cosines.

The phase arrays contain the combined cosine/sine Mueller coefficients sampled at the requested outgoing directions. Their numerical shapes are [2, NFourier, NLayers, NUser, NQuad, 4, 4] and [2, NFourier, NLayers, NUser, 4, 4] for the direct beam.

Operators

__eq__(value, /)

Return self==value.

__format__(format_spec, /)

Default object formatter.

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

__ge__(value, /)

Return self>=value.

__gt__(value, /)

Return self>value.

__hash__()

Return hash(self).

__init__(self, tau_arr: pyarts3.arts.AscendingGrid, omega_arr: pyarts3.arts.Vector, NQuad: int, phase_matrix: pyarts3.arts.MuelmatTensor5, mu0: float, beam_stokes: pyarts3.arts.Stokvec, phi0: float, NFourier: int | None = None, b_pos: pyarts3.arts.StokvecTensor3 | None = None, b_neg: pyarts3.arts.StokvecTensor3 | None = None, BDRF_Fourier_modes: pyarts3.arts.vdisort.ArrayOfBDRF = pyarts3.arts.vdisort.ArrayOfBDRF([]), s_poly_coeffs: pyarts3.arts.StokvecMatrix | None = None, beam_phase_matrix: pyarts3.arts.MuelmatTensor4 | None = None, source_coordinate_scale: pyarts3.arts.Vector | None = None, source_coordinate_offset: pyarts3.arts.Vector | None = None) None
__init__(self) None
__init__(self, arg: pyarts3.arts.cppvdisort) None

Overloaded function.

  1. __init__(self, tau_arr: pyarts3.arts.AscendingGrid, omega_arr: pyarts3.arts.Vector, NQuad: int, phase_matrix: pyarts3.arts.MuelmatTensor5, mu0: float, beam_stokes: pyarts3.arts.Stokvec, phi0: float, NFourier: int | None = None, b_pos: pyarts3.arts.StokvecTensor3 | None = None, b_neg: pyarts3.arts.StokvecTensor3 | None = None, BDRF_Fourier_modes: pyarts3.arts.vdisort.ArrayOfBDRF = pyarts3.arts.vdisort.ArrayOfBDRF([]), s_poly_coeffs: pyarts3.arts.StokvecMatrix | None = None, beam_phase_matrix: pyarts3.arts.MuelmatTensor4 | None = None, source_coordinate_scale: pyarts3.arts.Vector | None = None, source_coordinate_offset: pyarts3.arts.Vector | None = None) -> None

Run polarized VDISORT with an interface parallel to cppdisort.

  1. __init__(self) -> None

  2. __init__(self, arg: pyarts3.arts.cppvdisort) -> None

__le__(value, /)

Return self<=value.

__lt__(value, /)

Return self<value.

__ne__(value, /)

Return self!=value.

__repr__()

Return repr(self).

__str__()

Return str(self).