ARTS  2.3.1285(git:92a29ea9-dirty)
m_retrieval.cc File Reference
#include <algorithm>
#include "auto_md.h"
#include "covariance_matrix.h"
#include "jacobian.h"

Go to the source code of this file.

Functions

void check_and_add_block (CovarianceMatrix &covmat, const RetrievalQuantity &jq, const Index rq_index, const Index grid_dimensions, const Sparse &covmat_block, const Sparse &covmat_inv_block)
 
void add_scalar_variance (CovarianceMatrix &covmat, ArrayOfRetrievalQuantity &jacobian_quantities, Numeric var)
 
void ZFromPSimple (Vector &z_grid, const Vector &p_grid, const Verbosity &)
 WORKSPACE METHOD: ZFromPSimple. More...
 
void PFromZSimple (Vector &p_grid, const Vector &z_grid, const Verbosity &)
 WORKSPACE METHOD: PFromZSimple. More...
 
template<typename MatrixType >
void insert_elements (MatrixType &matrix, Index, Index, const ArrayOfIndex &row_indices, const ArrayOfIndex &column_indices, const Vector &elements)
 
template<>
void insert_elements (Matrix &matrix, Index m, Index n, const ArrayOfIndex &row_indices, const ArrayOfIndex &column_indices, const Vector &elements)
 
template<typename MatrixType >
void covmatDiagonal (MatrixType &block, MatrixType &block_inv, const Vector &vars, const Verbosity &)
 
template void covmatDiagonal (Matrix &block, Matrix &block_inv, const Vector &vars, const Verbosity &)
 
template void covmatDiagonal (Sparse &block, Sparse &block_inv, const Vector &vars, const Verbosity &)
 
template<typename MatrixType >
void covmat1DMarkov (MatrixType &block, MatrixType &block_inv, const Vector &grid, const Vector &sigma, const Numeric &lc, const Numeric &, const Verbosity &)
 
template void covmat1DMarkov (Matrix &block, Matrix &block_inv, const Vector &grid, const Vector &sigma, const Numeric &lc, const Numeric &, const Verbosity &)
 
template void covmat1DMarkov (Sparse &block, Sparse &block_inv, const Vector &grid, const Vector &sigma, const Numeric &lc, const Numeric &, const Verbosity &)
 
template<typename MatrixType >
void covmat1D (MatrixType &block, const Vector &grid1, const Vector &grid2, const Vector &sigma1, const Vector &sigma2, const Vector &lc1, const Vector &lc2, const Numeric &co, const String &fname, const Verbosity &)
 
template void covmat1D (Matrix &block, const Vector &grid1, const Vector &grid2, const Vector &sigma1, const Vector &sigma2, const Vector &lc1, const Vector &lc2, const Numeric &co, const String &fname, const Verbosity &)
 
template void covmat1D (Sparse &block, const Vector &grid1, const Vector &grid2, const Vector &sigma1, const Vector &sigma2, const Vector &lc1, const Vector &lc2, const Numeric &co, const String &fname, const Verbosity &)
 
template<typename MatrixType >
void covmat_seAddBlock (CovarianceMatrix &covmat_se, const MatrixType &block, const Index &i, const Index &j, const Verbosity &)
 
template void covmat_seAddBlock (CovarianceMatrix &covmat_se, const Matrix &block, const Index &i, const Index &j, const Verbosity &)
 
template void covmat_seAddBlock (CovarianceMatrix &covmat_se, const Sparse &block, const Index &i, const Index &j, const Verbosity &)
 
template<typename MatrixType >
void covmat_seAddInverseBlock (CovarianceMatrix &covmat_se, const MatrixType &inv_block, const Index &i, const Index &j, const Verbosity &)
 
template void covmat_seAddInverseBlock (CovarianceMatrix &covmat_se, const Matrix &block, const Index &i, const Index &j, const Verbosity &)
 
template void covmat_seAddInverseBlock (CovarianceMatrix &covmat_se, const Sparse &block, const Index &i, const Index &j, const Verbosity &)
 
template<typename MatrixType >
void setCovarianceMatrix (CovarianceMatrix &covmat, const MatrixType &block)
 
template<>
void setCovarianceMatrix (CovarianceMatrix &covmat, const CovarianceMatrix &block)
 
template<typename MatrixType >
void covmat_seSet (CovarianceMatrix &covmat, const MatrixType &block, const Verbosity &)
 
template void covmat_seSet (CovarianceMatrix &covmat, const CovarianceMatrix &block, const Verbosity &)
 
template void covmat_seSet (CovarianceMatrix &covmat, const Matrix &block, const Verbosity &)
 
template void covmat_seSet (CovarianceMatrix &covmat, const Sparse &block, const Verbosity &)
 
template<typename MatrixType >
void covmat_sxSet (CovarianceMatrix &covmat, const MatrixType &block, const Verbosity &)
 
template void covmat_sxSet (CovarianceMatrix &covmat, const CovarianceMatrix &block, const Verbosity &)
 
template void covmat_sxSet (CovarianceMatrix &covmat, const Matrix &block, const Verbosity &)
 
template void covmat_sxSet (CovarianceMatrix &covmat, const Sparse &block, const Verbosity &)
 
template<typename MatrixType >
void covmat_sxAddBlock (CovarianceMatrix &covmat_sx, const ArrayOfRetrievalQuantity &jq, const MatrixType &block, const Index &i, const Index &j, const Verbosity &)
 
template void covmat_sxAddBlock (CovarianceMatrix &, const ArrayOfRetrievalQuantity &, const Matrix &, const Index &, const Index &, const Verbosity &)
 
template void covmat_sxAddBlock (CovarianceMatrix &, const ArrayOfRetrievalQuantity &, const Sparse &, const Index &, const Index &, const Verbosity &)
 
template<typename MatrixType >
void covmat_sxAddInverseBlock (CovarianceMatrix &covmat_sx, const ArrayOfRetrievalQuantity &jq, const MatrixType &block_inv, const Index &i, const Index &j, const Verbosity &)
 
template void covmat_sxAddInverseBlock (CovarianceMatrix &, const ArrayOfRetrievalQuantity &, const Matrix &, const Index &, const Index &, const Verbosity &)
 
template void covmat_sxAddInverseBlock (CovarianceMatrix &, const ArrayOfRetrievalQuantity &, const Sparse &, const Index &, const Index &, const Verbosity &)
 
void covmat_sxExtractSqrtDiagonal (Vector &x_norm, const CovarianceMatrix &covmat_sx, const Verbosity &)
 WORKSPACE METHOD: covmat_sxExtractSqrtDiagonal. More...
 
void retrievalAddAbsSpecies (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Index &atmosphere_dim, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &rq_p_grid, const Vector &rq_lat_grid, const Vector &rq_lon_grid, const String &species, const String &mode, const Index &for_species_tag, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddAbsSpecies. More...
 
void retrievalAddFreqShift (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Vector &f_grid, const Numeric &df, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddFreqShift. More...
 
void retrievalAddFreqStretch (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Vector &f_grid, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Numeric &df, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddFreqStretch. More...
 
void retrievalAddCatalogParameter (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const QuantumIdentifier &catalog_identity, const String &catalog_parameter, const Numeric &var, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddCatalogParameter. More...
 
void retrievalAddCatalogParameters (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Sparse &covmat_block, const Sparse &covmat_inv_block, const ArrayOfQuantumIdentifier &catalog_identities, const ArrayOfString &catalog_parameters, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddCatalogParameters. More...
 
void retrievalAddMagField (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Index &atmosphere_dim, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &rq_p_grid, const Vector &rq_lat_grid, const Vector &rq_lon_grid, const String &component, const Numeric &dB, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddMagField. More...
 
void retrievalAddPointingZa (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Matrix &sensor_pos, const Vector &sensor_time, const Index &poly_order, const String &calcmode, const Numeric &dza, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddPointingZa. More...
 
void retrievalAddPolyfit (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Sparse &covmat_block, const Sparse &covmat_inv_block, const ArrayOfIndex &sensor_response_pol_grid, const Matrix &sensor_response_dlos_grid, const Matrix &sensor_pos, const Index &poly_order, const Index &no_pol_variation, const Index &no_los_variation, const Index &no_mblock_variation, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddPolyfit. More...
 
void retrievalAddScatSpecies (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Index &atmosphere_dim, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &rq_p_grid, const Vector &rq_lat_grid, const Vector &rq_lon_grid, const String &species, const String &quantity, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddScatSpecies. More...
 
void retrievalAddSinefit (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Sparse &covmat_block, const Sparse &covmat_inv_block, const ArrayOfIndex &sensor_response_pol_grid, const Matrix &sensor_response_dlos_grid, const Matrix &sensor_pos, const Vector &period_lengths, const Index &no_pol_variation, const Index &no_los_variation, const Index &no_mblock_variation, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddSinefit. More...
 
void retrievalAddSpecialSpecies (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Index &atmosphere_dim, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &rq_p_grid, const Vector &rq_lat_grid, const Vector &rq_lon_grid, const String &species, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddSpecialSpecies. More...
 
void retrievalAddWind (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Index &atmosphere_dim, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &rq_p_grid, const Vector &rq_lat_grid, const Vector &rq_lon_grid, const String &component, const Numeric &dfrequency, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddWind. More...
 
void retrievalAddTemperature (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Index &atmosphere_dim, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &rq_p_grid, const Vector &rq_lat_grid, const Vector &rq_lon_grid, const String &hse, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddTemperature. More...
 
void retrievalAddSurfaceQuantity (Workspace &ws, CovarianceMatrix &covmat_sx, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Sparse &covmat_block, const Sparse &covmat_inv_block, const Index &atmosphere_dim, const Vector &lat_grid, const Vector &lon_grid, const Vector &rq_lat_grid, const Vector &rq_lon_grid, const String &quantity, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalAddSurfaceQuantity. More...
 
void retrievalDefClose (Workspace &ws, Index &jacobian_do, Agenda &jacobian_agenda, Index &retrieval_checked, const CovarianceMatrix &covmat_sx, const ArrayOfRetrievalQuantity &jacobian_quantities, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalDefClose. More...
 
void retrievalDefInit (CovarianceMatrix &covmat_se, CovarianceMatrix &covmat_sx, Sparse &covmat_block, Sparse &covmat_inv_block, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Index &initialize_jacobian, const Verbosity &verbosity)
 WORKSPACE METHOD: retrievalDefInit. More...
 
void retrievalErrorsExtract (Vector &retrieval_eo, Vector &retrieval_ss, const Matrix &covmat_so, const Matrix &covmat_ss, const Verbosity &)
 WORKSPACE METHOD: retrievalErrorsExtract. More...
 

Function Documentation

◆ add_scalar_variance()

void add_scalar_variance ( CovarianceMatrix covmat,
ArrayOfRetrievalQuantity jacobian_quantities,
Numeric  var 
)

◆ check_and_add_block()

◆ covmat1D() [1/3]

template<typename MatrixType >
void covmat1D ( MatrixType block,
const Vector grid1,
const Vector grid2,
const Vector sigma1,
const Vector sigma2,
const Vector lc1,
const Vector lc2,
const Numeric co,
const String fname,
const Verbosity  
)

◆ covmat1D() [2/3]

template void covmat1D ( Matrix block,
const Vector grid1,
const Vector grid2,
const Vector sigma1,
const Vector sigma2,
const Vector lc1,
const Vector lc2,
const Numeric co,
const String fname,
const Verbosity  
)

◆ covmat1D() [3/3]

template void covmat1D ( Sparse block,
const Vector grid1,
const Vector grid2,
const Vector sigma1,
const Vector sigma2,
const Vector lc1,
const Vector lc2,
const Numeric co,
const String fname,
const Verbosity  
)

◆ covmat1DMarkov() [1/3]

template<typename MatrixType >
void covmat1DMarkov ( MatrixType block,
MatrixType block_inv,
const Vector grid,
const Vector sigma,
const Numeric lc,
const Numeric ,
const Verbosity  
)

Definition at line 169 of file m_retrieval.cc.

References abs, i, n, and ConstVectorView::nelem().

Referenced by covmat1DMarkov_sg_MatrixMatrix_g(), and covmat1DMarkov_sg_SparseSparse_g().

◆ covmat1DMarkov() [2/3]

template void covmat1DMarkov ( Matrix block,
Matrix block_inv,
const Vector grid,
const Vector sigma,
const Numeric lc,
const Numeric ,
const Verbosity  
)

◆ covmat1DMarkov() [3/3]

template void covmat1DMarkov ( Sparse block,
Sparse block_inv,
const Vector grid,
const Vector sigma,
const Numeric lc,
const Numeric ,
const Verbosity  
)

◆ covmat_seAddBlock() [1/3]

◆ covmat_seAddBlock() [2/3]

template void covmat_seAddBlock ( CovarianceMatrix covmat_se,
const Matrix block,
const Index i,
const Index j,
const Verbosity  
)

◆ covmat_seAddBlock() [3/3]

template void covmat_seAddBlock ( CovarianceMatrix covmat_se,
const Sparse block,
const Index i,
const Index j,
const Verbosity  
)

◆ covmat_seAddInverseBlock() [1/3]

◆ covmat_seAddInverseBlock() [2/3]

template void covmat_seAddInverseBlock ( CovarianceMatrix covmat_se,
const Matrix block,
const Index i,
const Index j,
const Verbosity  
)

◆ covmat_seAddInverseBlock() [3/3]

template void covmat_seAddInverseBlock ( CovarianceMatrix covmat_se,
const Sparse block,
const Index i,
const Index j,
const Verbosity  
)

◆ covmat_seSet() [1/4]

template<typename MatrixType >
void covmat_seSet ( CovarianceMatrix covmat,
const MatrixType block,
const Verbosity  
)

◆ covmat_seSet() [2/4]

template void covmat_seSet ( CovarianceMatrix covmat,
const CovarianceMatrix block,
const Verbosity  
)

◆ covmat_seSet() [3/4]

template void covmat_seSet ( CovarianceMatrix covmat,
const Matrix block,
const Verbosity  
)

◆ covmat_seSet() [4/4]

template void covmat_seSet ( CovarianceMatrix covmat,
const Sparse block,
const Verbosity  
)

◆ covmat_sxAddBlock() [1/3]

◆ covmat_sxAddBlock() [2/3]

template void covmat_sxAddBlock ( CovarianceMatrix ,
const ArrayOfRetrievalQuantity ,
const Matrix ,
const Index ,
const Index ,
const Verbosity  
)

◆ covmat_sxAddBlock() [3/3]

template void covmat_sxAddBlock ( CovarianceMatrix ,
const ArrayOfRetrievalQuantity ,
const Sparse ,
const Index ,
const Index ,
const Verbosity  
)

◆ covmat_sxAddInverseBlock() [1/3]

◆ covmat_sxAddInverseBlock() [2/3]

template void covmat_sxAddInverseBlock ( CovarianceMatrix ,
const ArrayOfRetrievalQuantity ,
const Matrix ,
const Index ,
const Index ,
const Verbosity  
)

◆ covmat_sxAddInverseBlock() [3/3]

template void covmat_sxAddInverseBlock ( CovarianceMatrix ,
const ArrayOfRetrievalQuantity ,
const Sparse ,
const Index ,
const Index ,
const Verbosity  
)

◆ covmat_sxExtractSqrtDiagonal()

void covmat_sxExtractSqrtDiagonal ( Vector x_norm,
const CovarianceMatrix covmat_sx,
const Verbosity verbosity 
)

WORKSPACE METHOD: covmat_sxExtractSqrtDiagonal.

Extract the square root of the diagonal of the state space covariance matrix. This function extracts the diagonal of the state space covariance matrix covmat_sx* and computes its square root. The resulting vector can then be used as x_norm argument for the OEM method to avoid scaling problems.

Author
Simon Pfreundschuh
Parameters
[out]x_normGeneric output
[in]covmat_sxWS Input

Definition at line 758 of file m_retrieval.cc.

References CovarianceMatrix::diagonal(), i, ConstVectorView::nelem(), and sqrt().

Referenced by covmat_sxExtractSqrtDiagonal_g().

◆ covmat_sxSet() [1/4]

template<typename MatrixType >
void covmat_sxSet ( CovarianceMatrix covmat,
const MatrixType block,
const Verbosity  
)

◆ covmat_sxSet() [2/4]

template void covmat_sxSet ( CovarianceMatrix covmat,
const CovarianceMatrix block,
const Verbosity  
)

◆ covmat_sxSet() [3/4]

template void covmat_sxSet ( CovarianceMatrix covmat,
const Matrix block,
const Verbosity  
)

◆ covmat_sxSet() [4/4]

template void covmat_sxSet ( CovarianceMatrix covmat,
const Sparse block,
const Verbosity  
)

◆ covmatDiagonal() [1/3]

template<typename MatrixType >
void covmatDiagonal ( MatrixType block,
MatrixType block_inv,
const Vector vars,
const Verbosity  
)

◆ covmatDiagonal() [2/3]

template void covmatDiagonal ( Matrix block,
Matrix block_inv,
const Vector vars,
const Verbosity  
)

◆ covmatDiagonal() [3/3]

template void covmatDiagonal ( Sparse block,
Sparse block_inv,
const Vector vars,
const Verbosity  
)

◆ insert_elements() [1/2]

template<typename MatrixType >
void insert_elements ( MatrixType matrix,
Index  ,
Index  ,
const ArrayOfIndex row_indices,
const ArrayOfIndex column_indices,
const Vector elements 
)

Definition at line 107 of file m_retrieval.cc.

References Array< base >::nelem().

Referenced by covmatDiagonal().

◆ insert_elements() [2/2]

template<>
void insert_elements ( Matrix matrix,
Index  m,
Index  n,
const ArrayOfIndex row_indices,
const ArrayOfIndex column_indices,
const Vector elements 
)

Definition at line 118 of file m_retrieval.cc.

References i, Array< base >::nelem(), ConstVectorView::nelem(), and Matrix::resize().

◆ PFromZSimple()

void PFromZSimple ( Vector p_grid,
const Vector z_grid,
const Verbosity verbosity 
)

WORKSPACE METHOD: PFromZSimple.

Simple conversion from altitude to pressure.

This function converts a vector of altitudes to an approximate vector of corresponding pressures. The formula used to convert altitide z to height <br> is: p = 10.0^(5.0 - z / 1600)

Note that all altitude values in the vector must be less than 120 km, <br> otherwise an error will be thrown.

Author
Simon Pfreundschuh
Parameters
[out]p_gridGeneric output
[in]z_gridGeneric Input

Definition at line 88 of file m_retrieval.cc.

References i, ConstVectorView::nelem(), and pow().

Referenced by PFromZSimple_g().

◆ retrievalAddAbsSpecies()

void retrievalAddAbsSpecies ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Index atmosphere_dim,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector g1,
const Vector g2,
const Vector g3,
const String species,
const String unit,
const Index for_species_tag,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddAbsSpecies.

Adds an absorption species to the retrieval quantities.

Similar to jacobianAddAbsSpecies but also sets the corresponding block in covmat_sx* to the matrices provided in covmat_block and covmat_inv_block. The dimensions of covmat_block are required to agree with the dimensions of the retrieval grid.

covmat_inv_block* must be either empty or the same dimension as covmat_block. If provided, this matrix will be used as the inverse for the covariance matrix block and numerical inversion of this block is thus avoided. Note, however, that this is only effective if this block is uncorrelated with any other retrieval quantity.

For number and order of elements added to x, see jacobianAddAbsSpecies.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]atmosphere_dimWS Input
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]p_gridWS Input
[in]lat_gridWS Input
[in]lon_gridWS Input
[in]g1Generic Input
[in]g2Generic Input
[in]g3Generic Input
[in]speciesGeneric Input
[in]unitGeneric Input (Default: "rel")
[in]for_species_tagGeneric Input (Default: "1")

Definition at line 771 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddAbsSpecies(), and Array< base >::nelem().

Referenced by retrievalAddAbsSpecies_g().

◆ retrievalAddCatalogParameter()

void retrievalAddCatalogParameter ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const QuantumIdentifier catalog_identity,
const String catalog_parameter,
const Numeric var,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddCatalogParameter.

Similar to jacobianAddBasicCatalogParameter but also adds a corresponding block to covmat_sx with the given var as variance value.

For number and order of elements added to x, see jacobianAddBasicCatalogParameter.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]catalog_identityGeneric Input
[in]catalog_parameterGeneric Input
[in]varGeneric Input

Definition at line 848 of file m_retrieval.cc.

References add_scalar_variance(), and jacobianAddBasicCatalogParameter().

Referenced by retrievalAddCatalogParameter_g().

◆ retrievalAddCatalogParameters()

void retrievalAddCatalogParameters ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const ArrayOfQuantumIdentifier catalog_identities,
const ArrayOfString catalog_parameters,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddCatalogParameters.

Same as jacobianAddBasicCatalogParameters but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block*.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddBasicCatalogParameters.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]catalog_identitiesGeneric Input
[in]catalog_parametersGeneric Input

Definition at line 865 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddBasicCatalogParameters(), and Array< base >::nelem().

Referenced by retrievalAddCatalogParameters_g().

◆ retrievalAddFreqShift()

void retrievalAddFreqShift ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Vector f_grid,
const Numeric df,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddFreqShift.

Same as jacobianAddFreqShift but also adds the correlation block contained in covmat_block and covmat_inv_block to covmat_sx.

For number and order of elements added to x, see jacobianAddFreqShift.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]f_gridWS Input
[in]dfGeneric Input (Default: "100e3")

Definition at line 810 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddFreqShift(), and Array< base >::nelem().

Referenced by retrievalAddFreqShift_g().

◆ retrievalAddFreqStretch()

void retrievalAddFreqStretch ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Vector f_grid,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Numeric df,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddFreqStretch.

Same as jacobianAddFreqShift but also adds the correlation block contained in covmat_block and covmat_inv_block to covmat_sx.

For number and order of elements added to x, see jacobianAddFreqStretch.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[out]covmat_sxWS Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]f_gridWS Input
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]dfGeneric Input (Default: "100e3")

Definition at line 829 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddFreqStretch(), and Array< base >::nelem().

Referenced by retrievalAddFreqStretch_g().

◆ retrievalAddMagField()

void retrievalAddMagField ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Index atmosphere_dim,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector g1,
const Vector g2,
const Vector g3,
const String component,
const Numeric dB,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddMagField.

Same as jacobianAddMagField but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddMagField.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]atmosphere_dimWS Input
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]p_gridWS Input
[in]lat_gridWS Input
[in]lon_gridWS Input
[in]g1Generic Input
[in]g2Generic Input
[in]g3Generic Input
[in]componentGeneric Input (Default: "v")
[in]dBGeneric Input (Default: "1.0e-7")

Definition at line 889 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddMagField(), and Array< base >::nelem().

Referenced by retrievalAddMagField_g().

◆ retrievalAddPointingZa()

void retrievalAddPointingZa ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Matrix sensor_pos,
const Vector sensor_time,
const Index poly_order,
const String calcmode,
const Numeric dza,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddPointingZa.

Same as jacobianAddPointingZa but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddPointingZa.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]sensor_posWS Input
[in]sensor_timeWS Input
[in]poly_orderGeneric Input (Default: "0")
[in]calcmodeGeneric Input (Default: "recalc")
[in]dzaGeneric Input (Default: "0.01")

Definition at line 926 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddPointingZa(), and Array< base >::nelem().

Referenced by retrievalAddPointingZa_g().

◆ retrievalAddPolyfit()

void retrievalAddPolyfit ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const ArrayOfIndex sensor_response_pol_grid,
const Matrix sensor_response_dlos_grid,
const Matrix sensor_pos,
const Index poly_order,
const Index no_pol_variation,
const Index no_los_variation,
const Index no_mblock_variation,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddPolyfit.

Same as jacobianAddPolyfit but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddPolyfit.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]sensor_response_pol_gridWS Input
[in]sensor_response_dlos_gridWS Input
[in]sensor_posWS Input
[in]poly_orderGeneric Input
[in]no_pol_variationGeneric Input (Default: "0")
[in]no_los_variationGeneric Input (Default: "0")
[in]no_mblock_variationGeneric Input (Default: "0")

Definition at line 955 of file m_retrieval.cc.

References check_and_add_block(), i, and jacobianAddPolyfit().

Referenced by retrievalAddPolyfit_g().

◆ retrievalAddScatSpecies()

void retrievalAddScatSpecies ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Index atmosphere_dim,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector g1,
const Vector g2,
const Vector g3,
const String species,
const String quantity,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddScatSpecies.

Same as jacobianAddPolyfit but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddScatSpecies.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]atmosphere_dimWS Input
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]p_gridWS Input
[in]lat_gridWS Input
[in]lon_gridWS Input
[in]g1Generic Input
[in]g2Generic Input
[in]g3Generic Input
[in]speciesGeneric Input
[in]quantityGeneric Input

Definition at line 991 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddScatSpecies(), and Array< base >::nelem().

Referenced by retrievalAddScatSpecies_g().

◆ retrievalAddSinefit()

void retrievalAddSinefit ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const ArrayOfIndex sensor_response_pol_grid,
const Matrix sensor_response_dlos_grid,
const Matrix sensor_pos,
const Vector period_lengths,
const Index no_pol_variation,
const Index no_los_variation,
const Index no_mblock_variation,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddSinefit.

Same as jacobianAddSinefit but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddSinefit.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]sensor_response_pol_gridWS Input
[in]sensor_response_dlos_gridWS Input
[in]sensor_posWS Input
[in]period_lengthsGeneric Input
[in]no_pol_variationGeneric Input (Default: "0")
[in]no_los_variationGeneric Input (Default: "0")
[in]no_mblock_variationGeneric Input (Default: "0")

Definition at line 1028 of file m_retrieval.cc.

References check_and_add_block(), i, jacobianAddSinefit(), and ConstVectorView::nelem().

Referenced by retrievalAddSinefit_g().

◆ retrievalAddSpecialSpecies()

void retrievalAddSpecialSpecies ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Index atmosphere_dim,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector g1,
const Vector g2,
const Vector g3,
const String species,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddSpecialSpecies.

Same as jacobianAddSpecialSpecies but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddSpecialSpecies.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]atmosphere_dimWS Input
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]p_gridWS Input
[in]lat_gridWS Input
[in]lon_gridWS Input
[in]g1Generic Input
[in]g2Generic Input
[in]g3Generic Input
[in]speciesGeneric Input

Definition at line 1064 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddSpecialSpecies(), and Array< base >::nelem().

Referenced by retrievalAddSpecialSpecies_g().

◆ retrievalAddSurfaceQuantity()

void retrievalAddSurfaceQuantity ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Index atmosphere_dim,
const Vector lat_grid,
const Vector lon_grid,
const Vector g1,
const Vector g2,
const String quantity,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddSurfaceQuantity.

Same as jacobianAddSurfaceQuantity but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddSurfaceQuantity.

Author
Patrick Eriksson
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]atmosphere_dimWS Input
[in]lat_gridWS Input
[in]lon_gridWS Input
[in]g1Generic Input
[in]g2Generic Input
[in]quantityGeneric Input

Definition at line 1171 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddSurfaceQuantity(), and Array< base >::nelem().

Referenced by retrievalAddSurfaceQuantity_g().

◆ retrievalAddTemperature()

void retrievalAddTemperature ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Index atmosphere_dim,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector g1,
const Vector g2,
const Vector g3,
const String hse,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddTemperature.

Same as jacobianAddTemperature but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddTemperature.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]atmosphere_dimWS Input
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]p_gridWS Input
[in]lat_gridWS Input
[in]lon_gridWS Input
[in]g1Generic Input
[in]g2Generic Input
[in]g3Generic Input
[in]hseGeneric Input (Default: "on")

Definition at line 1136 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddTemperature(), and Array< base >::nelem().

Referenced by retrievalAddTemperature_g().

◆ retrievalAddWind()

void retrievalAddWind ( Workspace ws,
CovarianceMatrix covmat_sx,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Index atmosphere_dim,
const Sparse covmat_block,
const Sparse covmat_inv_block,
const Vector p_grid,
const Vector lat_grid,
const Vector lon_grid,
const Vector g1,
const Vector g2,
const Vector g3,
const String component,
const Numeric dfrequency,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalAddWind.

Same as jacobianAddWind but also adds a new block to covmat_sx using the matrices in covmat_block and covmat_inv_block.

If covmat_inv_block is non-empty, it is used as inverse for the added block which avoids its numerical computation.

For number and order of elements added to x, see jacobianAddWind.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[in,out]covmat_sxWS Input/Output
[in,out]jacobian_quantitiesWS Input/Output
[in,out]jacobian_agendaWS Input/Output
[in]atmosphere_dimWS Input
[in]covmat_blockWS Input
[in]covmat_inv_blockWS Input
[in]p_gridWS Input
[in]lat_gridWS Input
[in]lon_gridWS Input
[in]g1Generic Input
[in]g2Generic Input
[in]g3Generic Input
[in]componentGeneric Input (Default: "v")
[in]dfrequencyGeneric Input (Default: "0.1")

Definition at line 1099 of file m_retrieval.cc.

References check_and_add_block(), jacobianAddWind(), and Array< base >::nelem().

Referenced by retrievalAddWind_g().

◆ retrievalDefClose()

void retrievalDefClose ( Workspace ws,
Index jacobian_do,
Agenda jacobian_agenda,
Index retrieval_checked,
const CovarianceMatrix covmat_sx,
const ArrayOfRetrievalQuantity jacobian_quantities,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalDefClose.

Closes the definition of retrieval quantities and correlations and prepares related WSVs for the retrieval.

This function calls jacobianClose and checks that the corvariance matrices are consistent with the Jacobian.

Author
Simon Pfreundschuh
Parameters
[in,out]wsWorkspace
[out]jacobian_doWS Output
[in,out]jacobian_agendaWS Input/Output
[out]retrieval_checkedWS Output
[in]covmat_sxWS Input
[in]jacobian_quantitiesWS Input

Definition at line 1204 of file m_retrieval.cc.

References CovarianceMatrix::has_diagonal_blocks(), CovarianceMatrix::is_consistent(), jac_ranges_indices(), and jacobianClose().

Referenced by retrievalDefClose_g().

◆ retrievalDefInit()

void retrievalDefInit ( CovarianceMatrix covmat_se,
CovarianceMatrix covmat_sx,
Sparse covmat_block,
Sparse covmat_inv_block,
ArrayOfRetrievalQuantity jacobian_quantities,
Agenda jacobian_agenda,
const Index initialize_jacobian,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalDefInit.

Begin retrieval definition section.

This function initialises all variables required for defining retrieval quantities and corresponding covariance matrices. By default, Jacobian quantities should be added withing the. retrieval definition section. If Jacobian quantities are defined separately initialize_jacobian must be set to 0, otherwise the quantities will be discarded.

Author
Simon Pfreundschuh
Parameters
[out]covmat_seWS Output
[out]covmat_sxWS Output
[out]covmat_blockWS Output
[out]covmat_inv_blockWS Output
[out]jacobian_quantitiesWS Output
[out]jacobian_agendaWS Output
[in]initialize_jacobianGeneric Input (Default: "1")

Definition at line 1234 of file m_retrieval.cc.

References jacobianInit().

Referenced by retrievalDefInit_g().

◆ retrievalErrorsExtract()

void retrievalErrorsExtract ( Vector retrieval_eo,
Vector retrieval_ss,
const Matrix covmat_so,
const Matrix covmat_ss,
const Verbosity verbosity 
)

WORKSPACE METHOD: retrievalErrorsExtract.

Extract retrieval error from covariance matrices.

Extracts the error estimates for the retrieved quantities from the covariance matrices for the error due to measurement noise covmat_so and the error due to limited resolution of the observation system covmat_ss and stores them in the vectors retrieval_eo and retrieval_ss, respectively. To etract these errors, first the convariance matrices of which the errors should be extracted have to be computed using the WSMs covmat_soCalc and covmat_ssCalc or set to be empty in order to be ignored. Note, however, that this will also set the corresponding error vector to be empty.

Author
Simon Pfreundschuh
Parameters
[out]retrieval_eoWS Output
[out]retrieval_ssWS Output
[in]covmat_soWS Input
[in]covmat_ssWS Input

Definition at line 1252 of file m_retrieval.cc.

References i, ConstMatrixView::nrows(), Vector::resize(), and sqrt().

Referenced by retrievalErrorsExtract_g().

◆ setCovarianceMatrix() [1/2]

template<typename MatrixType >
void setCovarianceMatrix ( CovarianceMatrix covmat,
const MatrixType block 
)

Definition at line 539 of file m_retrieval.cc.

References CovarianceMatrix::add_correlation(), and n.

Referenced by covmat_seSet(), and covmat_sxSet().

◆ setCovarianceMatrix() [2/2]

template<>
void setCovarianceMatrix ( CovarianceMatrix covmat,
const CovarianceMatrix block 
)

Definition at line 555 of file m_retrieval.cc.

◆ ZFromPSimple()

void ZFromPSimple ( Vector z_grid,
const Vector p_grid,
const Verbosity verbosity 
)

WORKSPACE METHOD: ZFromPSimple.

Simple conversion from pressure to altitude.

This function converts a vector of pressure values to an approximate vector of corresponding heights. The formula used to convert pressure to height is: z = 16000 * (5.0 - log10(p))That is, a pressure is assumed to decrease by a factor of 10 every 16km.

Note that all pressure values in the vector must be greater than 0.01.

Author
Simon Pfreundschuh
Parameters
[out]z_gridGeneric output
[in]p_gridGeneric Input

Definition at line 74 of file m_retrieval.cc.

References i, and ConstVectorView::nelem().

Referenced by ZFromPSimple_g().