Stokes Vector

class radtran.sasktran.StokesVector(stokes, basis)

Defines a stokes vector with its associated basis.

Parameters:

stokes : numpy array shape (4,)

The stokes vector [I, Q, U, V]

basis : numpy array shape (3,3)

Coordinate basis the stokes vector is defined in. basis[0, :] is the propagation direction, basis[1, :] is the theta direction, and basis[2, :] is the phi direction. Directions are specified in ECEF coordinates. The basis must be constructed such that basis[1, :] cross basis[2, :] is equal to basis[0, :]

Raises:

ValueError if the basis is not correctly constructed

Methods

I
Q
U
V
phi_direction
propagation_direction
theta_direction
to_new_basis
phi_direction()

Returns the phi direction of the current basis in ECEF coordinates

propagation_direction()

Returns the propagation direction of the current basis in ECEF coordinates

theta_direction()

Returns the theta direction of the current basis in ECEF coordinates

to_new_basis(new_basis)

Converts the stokes vector to a new basis. A rotation matrix between the new basis and old basis is constructed and applied to the stokes vector. Note that this process overrides the old basis

Parameters:

new_basis : numpy array shape (3,3)

The new basis. See the class constructor documentation for the format