ARTS 2.5.4 (git: 31ce4f0e)

Stuff related to the propagation matrix. More...
Go to the source code of this file.
Functions  
void  compute_transmission_matrix (Tensor3View T, const Numeric &r, const PropagationMatrix &upper_level, const PropagationMatrix &lower_level, const Index iz, const Index ia) 
Compute the matrix exponent as the transmission matrix of this propagation matrix. More...  
void  compute_transmission_matrix_from_averaged_matrix_at_frequency (MatrixView T, const Numeric &r, const PropagationMatrix &averaged_propagation_matrix, const Index iv, const Index iz, const Index ia) 
Compute the matrix exponent as the transmission matrix of this propagation matrix. More...  
void  compute_transmission_matrix_and_derivative (Tensor3View T, Tensor4View dT_dx_upper_level, Tensor4View dT_dx_lower_level, const Numeric &r, const PropagationMatrix &upper_level, const PropagationMatrix &lower_level, const ArrayOfPropagationMatrix &dupper_level_dx, const ArrayOfPropagationMatrix &dlower_level_dx, const Numeric &dr_dTu, const Numeric &dr_dTl, const Index it, const Index iz, const Index ia) 
std::ostream &  operator<< (std::ostream &os, const PropagationMatrix &pm) 
std::ostream &  operator<< (std::ostream &os, const StokesVector &sv) 
Stuff related to the propagation matrix.
The reason is that the naive approach to keep the full propagation matrix is memory intensive and slow
Definition in file propagationmatrix.cc.
void compute_transmission_matrix  (  Tensor3View  T, 
const Numeric &  r,  
const PropagationMatrix &  upper_level,  
const PropagationMatrix &  lower_level,  
const Index  iz = 0 , 

const Index  ia = 0 

) 
Compute the matrix exponent as the transmission matrix of this propagation matrix.
The propagation matrix is multiplied by r and levelaveraged before exponent is applied.
upper_level and lower_level propagation matrices should thus be the level matrices and r the distance between these levels. The same is true for the derivative matrices.
Stokes dim 1 and 4 have been tested more. Stokes dim 2 and 3 have been found to work but could still have hidden errors for uncommon cases
[in,out]  T  transmission tensor with outmost dimension being frequency 
[in]  r  the distance over which the propagation matrix causes the transmission 
[in]  upper_level  The upper level propagation matrix 
[in]  lower_level  The lower level propagation matrix 
[in]  iz  Zenith index 
[in]  ia  Azimuth index 
Definition at line 33 of file propagationmatrix.cc.
References a, a2, b, b2, c, joker, PropagationMatrix::K12(), PropagationMatrix::K13(), PropagationMatrix::K23(), PropagationMatrix::Kjj(), PropagationMatrix::NumberOfFrequencies(), sqrt(), PropagationMatrix::StokesDimensions(), and u.
void compute_transmission_matrix_and_derivative  (  Tensor3View  T, 
Tensor4View  dT_upper_level,  
Tensor4View  dT_lower_level,  
const Numeric &  r,  
const PropagationMatrix &  upper_level,  
const PropagationMatrix &  lower_level,  
const Array< PropagationMatrix > &  dprop_mat_upper_level,  
const Array< PropagationMatrix > &  dprop_mat_lower_level,  
const Numeric &  dr_dTu = 0.0 , 

const Numeric &  dr_dTl = 0.0 , 

const Index  it = 1 , 

const Index  iz = 0 , 

const Index  ia = 0 

) 
Compute the matrix exponent as the transmission matrix of this propagation matrix
The propagation matrix is multiplied by r and levelaveraged before exponent is applied.
upper_level and lower_level propagation matrices should thus be the level matrices and r the distance between these levels. The same is true for the derivative matrices.
Stokes dim 1 and 4 have been tested more. Stokes dim 2 and 3 have been found to work but could still have hidden errors for uncommon cases
[in,out]  T  transmission tensor with outmost dimension being frequency 
[in,out]  dT_upp  transmission tensors derivative with respect to derivatives of the propagation matrix for upper level 
[in,out]  dT_low  transmission tensors derivative with respect to derivatives of the propagation matrix for lower level 
[in]  r  the distance over which the propagation matrix causes the transmission 
[in]  upper_level  The upper level propagation matrix 
[in]  lower_level  The lower level propagation matrix 
[in]  dprop_mat_upp  derivatives of the upper propagation matrix with respect to some parameter (is multiplied by 0.5 r) 
[in]  dprop_mat_low  derivatives of the lower propagation matrix with respect to some parameter (is multiplied by 0.5 r) 
[in]  dr_dTu  Distance temperature derivative for upper level 
[in]  dr_dTl  Distance temperature derivative for lower level 
[in]  it  Position of temperature derivative (ignored at 1) 
[in]  iz  Zenith index 
[in]  ia  Azimuth index 
Definition at line 478 of file propagationmatrix.cc.
References a, a2, b, b2, c, joker, PropagationMatrix::K12(), PropagationMatrix::K13(), PropagationMatrix::K23(), PropagationMatrix::Kjj(), Array< base >::nelem(), PropagationMatrix::NumberOfFrequencies(), sqrt(), PropagationMatrix::StokesDimensions(), and u.
void compute_transmission_matrix_from_averaged_matrix_at_frequency  (  MatrixView  T, 
const Numeric &  r,  
const PropagationMatrix &  averaged_propagation_matrix,  
const Index  iv,  
const Index  iz = 0 , 

const Index  ia = 0 

) 
Compute the matrix exponent as the transmission matrix of this propagation matrix.
The propagation matrix is multiplied by r and levelaveraged before exponent is applied.
Stokes dim 1 and 4 have been tested more. Stokes dim 2 and 3 have been found to work but could still have hidden errors for uncommon cases
[in,out]  T  transmission matrix at the position 
[in]  r  the distance over which the propagation matrix causes the transmission 
[in]  averaged_propagation_matrix  The propagation matrix 
[in]  iv  Frequency index 
[in]  iz  Zenith index 
[in]  ia  Azimuth index 
Definition at line 272 of file propagationmatrix.cc.
References a, a2, b, b2, c, PropagationMatrix::K12(), PropagationMatrix::K13(), PropagationMatrix::K23(), PropagationMatrix::Kjj(), sqrt(), PropagationMatrix::StokesDimensions(), and u.
Referenced by rte_step_doit_replacement().
std::ostream & operator<<  (  std::ostream &  os, 
const PropagationMatrix &  pm  
) 
Definition at line 2037 of file propagationmatrix.cc.
std::ostream & operator<<  (  std::ostream &  os, 
const StokesVector &  sv  
) 
Definition at line 2043 of file propagationmatrix.cc.