ARTS  2.3.1285(git:92a29ea9-dirty)
RetrievalQuantity Class Reference

Deals with internal derivatives, Jacobian definition, and OEM calculations. More...

#include <jacobian.h>

Public Member Functions

 RetrievalQuantity ()
 Default constructor. More...
 
 RetrievalQuantity (const String &maintag, const String &subtag, const String &subsubtag, const String &mode, const Index &analytical, const Numeric &perturbation, const ArrayOfVector &grids)
 Constructor that sets the values. More...
 
const StringMainTag () const
 Returns the main tag. More...
 
void MainTag (const String &mt)
 Sets the main tag. More...
 
const StringSubtag () const
 Returns the sub-tag. More...
 
void Subtag (const String &st)
 Sets the sub-tag. More...
 
const StringSubSubtag () const
 Returns the sub-sub-tag. More...
 
void SubSubtag (const String &sst)
 Sets the sub-sub-tag. More...
 
const StringMode () const
 Returns the mode. More...
 
void Mode (const String &m)
 Sets the mode. More...
 
const IndexAnalytical () const
 Returns the analytical tag. More...
 
void Analytical (const Index &m)
 Sets the analytical tag. More...
 
const NumericPerturbation () const
 Returns the size of perturbation. More...
 
void Perturbation (const Numeric &p)
 Sets the size of perturbation. More...
 
const ArrayOfVectorGrids () const
 Returns the grids of the retrieval. More...
 
void Grids (const ArrayOfVector &g)
 Sets the grids of the retrieval. More...
 
JacPropMatType PropMatType () const
 Returns the propagation matrix derivative type. More...
 
void PropType (const JacPropMatType t)
 Sets the propagation matrix derivative type. More...
 
bool operator== (const JacPropMatType t) const
 Checks if this represents the propagation matrix derivative type. More...
 
bool operator!= (const JacPropMatType t) const
 Returns "not operator==(t)". More...
 
Index nelem () const
 Number of elements in the grids. More...
 
const QuantumIdentifierQuantumIdentity () const
 Returns the identity of this Jacobian. More...
 
void QuantumIdentity (const QuantumIdentifier &qi)
 Sets the identity of this Jacobian. More...
 
bool Integration () const
 Do integration? More...
 
void IntegrationOn ()
 Sets the integration flag to true. More...
 
void IntegrationOff ()
 Sets the integration flag to false. More...
 
void SetTransformationFunc (const String &s)
 Transformation. More...
 
void SetTFuncParameters (const Vector &p)
 
void SetTransformationMatrix (const Matrix &A)
 
void SetOffsetVector (const Vector &b)
 
bool HasAffine () const
 
const StringTransformationFunc () const
 
const VectorTFuncParameters () const
 
const MatrixTransformationMatrix () const
 
const VectorOffsetVector () const
 
bool HasSameInternalsAs (const RetrievalQuantity &a) const
 Checks that all the internal variables of *this match with those of the input. More...
 
StringMainTag ()
 
StringSubTag ()
 
StringSubSubTag ()
 
StringMode ()
 
IndexAnalytical ()
 
NumericPerturbation ()
 
ArrayOfVectorGrids ()
 
QuantumIdentifierQuantumIdentity ()
 
JacPropMatType Proptype () const
 
Index Proptype (JacPropMatType x)
 
void Integration (bool x)
 
StringTransformationFunc ()
 
VectorTFuncParameters ()
 
MatrixTransformation ()
 
VectorOffset ()
 

Static Public Member Functions

static bool validProptype (JacPropMatType x) noexcept
 

Private Attributes

String mmaintag
 
String msubtag
 
String msubsubtag
 
String mmode
 
Index manalytical
 
Numeric mperturbation
 
ArrayOfVector mgrids
 
QuantumIdentifier mquantumidentifier
 
JacPropMatType mproptype
 
bool mintegration_flag
 
String transformation_func
 
Vector tfunc_parameters
 
Matrix transformation_matrix
 
Vector offset_vector
 

Detailed Description

Deals with internal derivatives, Jacobian definition, and OEM calculations.

Definition at line 120 of file jacobian.h.

Constructor & Destructor Documentation

◆ RetrievalQuantity() [1/2]

RetrievalQuantity::RetrievalQuantity ( )
inline

Default constructor.

Needed by make_array.

Definition at line 123 of file jacobian.h.

◆ RetrievalQuantity() [2/2]

RetrievalQuantity::RetrievalQuantity ( const String maintag,
const String subtag,
const String subsubtag,
const String mode,
const Index analytical,
const Numeric perturbation,
const ArrayOfVector grids 
)
inline

Constructor that sets the values.

Parameters
[in]maintagThe main derivative
[in]subtagThe sub-derivative
[in]subsubtagThe sub-sub-derivative
[in]modeThe mode of the derivative
[in]analyticalBoolean analytical tag
[in]perturbationThe size of the perturbation required
[in]gridsThe retrieval grid

Definition at line 146 of file jacobian.h.

Member Function Documentation

◆ Analytical() [1/3]

const Index& RetrievalQuantity::Analytical ( ) const
inline

Returns the analytical tag.

Boolean to make analytical calculations (if possible).

Returns
A representation of analytical tag

Definition at line 227 of file jacobian.h.

Referenced by jacobianAddAbsSpecies(), jacobianAddPointingZa(), jacobianAddShapeCatalogParameter(), operator<<(), and xml_write_to_stream().

◆ Analytical() [2/3]

void RetrievalQuantity::Analytical ( const Index m)
inline

Sets the analytical tag.

Parameters
[in]mAn analytical tag

Definition at line 233 of file jacobian.h.

◆ Analytical() [3/3]

Index& RetrievalQuantity::Analytical ( )
inline

Definition at line 367 of file jacobian.h.

◆ Grids() [1/3]

◆ Grids() [2/3]

void RetrievalQuantity::Grids ( const ArrayOfVector g)
inline

Sets the grids of the retrieval.

Parameters
[in]gThe grids of the retrieval

Definition at line 261 of file jacobian.h.

◆ Grids() [3/3]

ArrayOfVector& RetrievalQuantity::Grids ( )
inline

Definition at line 369 of file jacobian.h.

◆ HasAffine()

bool RetrievalQuantity::HasAffine ( ) const
inline

Definition at line 343 of file jacobian.h.

Referenced by jac_ranges_indices(), transform_x(), and transform_x_back().

◆ HasSameInternalsAs()

bool RetrievalQuantity::HasSameInternalsAs ( const RetrievalQuantity a) const
inline

Checks that all the internal variables of *this match with those of the input.

Parameters
[in]aAnother retrieval quantity object
Returns
true if the input performs the exact same Jacobian calculations
false otherwise

Definition at line 355 of file jacobian.h.

References manalytical, mmaintag, mmode, mproptype, mquantumidentifier, msubsubtag, and msubtag.

◆ Integration() [1/2]

bool RetrievalQuantity::Integration ( ) const
inline

Do integration?

Returns
true if the values should be integrated over all the grids
false otherwise

Definition at line 326 of file jacobian.h.

Referenced by diy_from_path_to_rgrids().

◆ Integration() [2/2]

void RetrievalQuantity::Integration ( bool  x)
inline

Definition at line 374 of file jacobian.h.

◆ IntegrationOff()

void RetrievalQuantity::IntegrationOff ( )
inline

Sets the integration flag to false.

Definition at line 332 of file jacobian.h.

◆ IntegrationOn()

void RetrievalQuantity::IntegrationOn ( )
inline

Sets the integration flag to true.

Definition at line 329 of file jacobian.h.

Referenced by jacobianAddShapeCatalogParameter().

◆ MainTag() [1/3]

◆ MainTag() [2/3]

void RetrievalQuantity::MainTag ( const String mt)
inline

Sets the main tag.

Parameters
[in]mtA main tag

Definition at line 176 of file jacobian.h.

◆ MainTag() [3/3]

String& RetrievalQuantity::MainTag ( )
inline

Definition at line 363 of file jacobian.h.

◆ Mode() [1/3]

const String& RetrievalQuantity::Mode ( ) const
inline

Returns the mode.

Calculation mode. Eg. "abs", "rel", "vmr", "nd", "From propagation matrix". Note that the latter of these only supports "vmr" for abs species.

Returns
A representation of the mode

Definition at line 213 of file jacobian.h.

Referenced by jacobianAddAbsSpecies(), jacobianAddPointingZa(), jacobianAddShapeCatalogParameter(), operator<<(), and xml_write_to_stream().

◆ Mode() [2/3]

void RetrievalQuantity::Mode ( const String m)
inline

Sets the mode.

Parameters
[in]mA mode

Definition at line 219 of file jacobian.h.

◆ Mode() [3/3]

String& RetrievalQuantity::Mode ( )
inline

Definition at line 366 of file jacobian.h.

◆ nelem()

Index RetrievalQuantity::nelem ( ) const
inline

Number of elements in the grids.

The multiplicative accumulation of grid elements

Returns
The number of elements if each grid represents a dimension

Definition at line 297 of file jacobian.h.

References i.

Referenced by jac_ranges_indices().

◆ Offset()

Vector& RetrievalQuantity::Offset ( )
inline

Definition at line 378 of file jacobian.h.

◆ OffsetVector()

const Vector& RetrievalQuantity::OffsetVector ( ) const
inline

Definition at line 347 of file jacobian.h.

Referenced by transform_x(), and transform_x_back().

◆ operator!=()

bool RetrievalQuantity::operator!= ( const JacPropMatType  t) const
inline

Returns "not operator==(t)".

Parameters
[in]tA propagation matrix derivative type
Returns
false if the input propagation matrix derivative type matches PropMatType()
true otherwise

Definition at line 289 of file jacobian.h.

References operator==().

◆ operator==()

bool RetrievalQuantity::operator== ( const JacPropMatType  t) const
inline

Checks if this represents the propagation matrix derivative type.

Parameters
[in]tA propagation matrix derivative type
Returns
true if the input propagation matrix derivative type matches PropMatType()
false otherwise

Definition at line 281 of file jacobian.h.

◆ Perturbation() [1/3]

const Numeric& RetrievalQuantity::Perturbation ( ) const
inline

Returns the size of perturbation.

Size of perturbation used for perturbation calculations

Returns
The size of perturbation

Definition at line 241 of file jacobian.h.

Referenced by jacobianAddAbsSpecies(), jacobianAddPointingZa(), jacobianCalcFreqShift(), jacobianCalcFreqStretch(), jacobianCalcPointingZaInterp(), jacobianCalcPointingZaRecalc(), and xml_write_to_stream().

◆ Perturbation() [2/3]

void RetrievalQuantity::Perturbation ( const Numeric p)
inline

Sets the size of perturbation.

Parameters
[in]pThe size of perturbation

Definition at line 247 of file jacobian.h.

◆ Perturbation() [3/3]

Numeric& RetrievalQuantity::Perturbation ( )
inline

Definition at line 368 of file jacobian.h.

◆ PropMatType()

JacPropMatType RetrievalQuantity::PropMatType ( ) const
inline

Returns the propagation matrix derivative type.

Returns
The propagation matrix derivative type

Definition at line 267 of file jacobian.h.

Referenced by propmattype_string().

◆ PropType()

void RetrievalQuantity::PropType ( const JacPropMatType  t)
inline

Sets the propagation matrix derivative type.

Parameters
[in]tThe propagation matrix derivative type

Definition at line 273 of file jacobian.h.

Referenced by jacobianAddAbsSpecies(), jacobianAddBasicCatalogParameter(), jacobianAddMagField(), jacobianAddShapeCatalogParameter(), and jacobianAddWind().

◆ Proptype() [1/2]

JacPropMatType RetrievalQuantity::Proptype ( ) const
inline

Definition at line 371 of file jacobian.h.

◆ Proptype() [2/2]

Index RetrievalQuantity::Proptype ( JacPropMatType  x)
inline

Definition at line 372 of file jacobian.h.

◆ QuantumIdentity() [1/3]

const QuantumIdentifier& RetrievalQuantity::QuantumIdentity ( ) const
inline

Returns the identity of this Jacobian.

QuantumIdentifier as necessary for matching line specific parameters to Jacobian grid

Returns
The identity of this Jacobian

Definition at line 311 of file jacobian.h.

Referenced by Linefunctions::apply_lineshapemodel_jacobian_scaling(), jacobianAddAbsSpecies(), jacobianAddShapeCatalogParameter(), species_iso_match(), and species_match().

◆ QuantumIdentity() [2/3]

void RetrievalQuantity::QuantumIdentity ( const QuantumIdentifier qi)
inline

Sets the identity of this Jacobian.

Parameters
[in]qiThe identity of this Jacobian

Definition at line 319 of file jacobian.h.

◆ QuantumIdentity() [3/3]

QuantumIdentifier& RetrievalQuantity::QuantumIdentity ( )
inline

Definition at line 370 of file jacobian.h.

◆ SetOffsetVector()

void RetrievalQuantity::SetOffsetVector ( const Vector b)
inline

Definition at line 342 of file jacobian.h.

◆ SetTFuncParameters()

void RetrievalQuantity::SetTFuncParameters ( const Vector p)
inline

Definition at line 340 of file jacobian.h.

◆ SetTransformationFunc()

void RetrievalQuantity::SetTransformationFunc ( const String s)
inline

Transformation.

FIXMEDOC The transformations are yours to fix and document FIXMEDOC The transformations are yours to fix and document

Definition at line 339 of file jacobian.h.

◆ SetTransformationMatrix()

void RetrievalQuantity::SetTransformationMatrix ( const Matrix A)
inline

Definition at line 341 of file jacobian.h.

◆ SubSubtag() [1/2]

const String& RetrievalQuantity::SubSubtag ( ) const
inline

Returns the sub-sub-tag.

SubSubtag. Eg. for scat species fields: mass_density, mass_flux, ...

Returns
A representation of the sub-sub-tag

Definition at line 198 of file jacobian.h.

Referenced by jacobianAddAbsSpecies(), jacobianAddShapeCatalogParameter(), and xml_write_to_stream().

◆ SubSubtag() [2/2]

void RetrievalQuantity::SubSubtag ( const String sst)
inline

Sets the sub-sub-tag.

Parameters
[in]sstA sub-sub-tag

Definition at line 204 of file jacobian.h.

◆ SubSubTag()

String& RetrievalQuantity::SubSubTag ( )
inline

Definition at line 365 of file jacobian.h.

◆ Subtag() [1/2]

const String& RetrievalQuantity::Subtag ( ) const
inline

Returns the sub-tag.

Subtag. Eg. for gas species: O3, ClO

Returns
A representation of the sub-tag

Definition at line 184 of file jacobian.h.

Referenced by jacobianAddAbsSpecies(), jacobianAddPointingZa(), operator<<(), species_match(), and xml_write_to_stream().

◆ Subtag() [2/2]

void RetrievalQuantity::Subtag ( const String st)
inline

Sets the sub-tag.

Parameters
[in]stA sub-tag

Definition at line 190 of file jacobian.h.

◆ SubTag()

String& RetrievalQuantity::SubTag ( )
inline

Definition at line 364 of file jacobian.h.

◆ TFuncParameters() [1/2]

const Vector& RetrievalQuantity::TFuncParameters ( ) const
inline

Definition at line 345 of file jacobian.h.

Referenced by transform_x(), and transform_x_back().

◆ TFuncParameters() [2/2]

Vector& RetrievalQuantity::TFuncParameters ( )
inline

Definition at line 376 of file jacobian.h.

◆ Transformation()

Matrix& RetrievalQuantity::Transformation ( )
inline

Definition at line 377 of file jacobian.h.

◆ TransformationFunc() [1/2]

const String& RetrievalQuantity::TransformationFunc ( ) const
inline

Definition at line 344 of file jacobian.h.

Referenced by transform_jacobian(), transform_x(), and transform_x_back().

◆ TransformationFunc() [2/2]

String& RetrievalQuantity::TransformationFunc ( )
inline

Definition at line 375 of file jacobian.h.

◆ TransformationMatrix()

const Matrix& RetrievalQuantity::TransformationMatrix ( ) const
inline

Definition at line 346 of file jacobian.h.

Referenced by jac_ranges_indices(), transform_x(), and transform_x_back().

◆ validProptype()

static bool RetrievalQuantity::validProptype ( JacPropMatType  x)
inlinestaticnoexcept

Definition at line 373 of file jacobian.h.

References NotPropagationMatrixType.

Member Data Documentation

◆ manalytical

Index RetrievalQuantity::manalytical
private

Definition at line 385 of file jacobian.h.

Referenced by HasSameInternalsAs().

◆ mgrids

ArrayOfVector RetrievalQuantity::mgrids
private

Definition at line 387 of file jacobian.h.

◆ mintegration_flag

bool RetrievalQuantity::mintegration_flag
private

Definition at line 390 of file jacobian.h.

◆ mmaintag

String RetrievalQuantity::mmaintag
private

Definition at line 381 of file jacobian.h.

Referenced by HasSameInternalsAs().

◆ mmode

String RetrievalQuantity::mmode
private

Definition at line 384 of file jacobian.h.

Referenced by HasSameInternalsAs().

◆ mperturbation

Numeric RetrievalQuantity::mperturbation
private

Definition at line 386 of file jacobian.h.

◆ mproptype

JacPropMatType RetrievalQuantity::mproptype
private

Definition at line 389 of file jacobian.h.

Referenced by HasSameInternalsAs().

◆ mquantumidentifier

QuantumIdentifier RetrievalQuantity::mquantumidentifier
private

Definition at line 388 of file jacobian.h.

Referenced by HasSameInternalsAs().

◆ msubsubtag

String RetrievalQuantity::msubsubtag
private

Definition at line 383 of file jacobian.h.

Referenced by HasSameInternalsAs().

◆ msubtag

String RetrievalQuantity::msubtag
private

Definition at line 382 of file jacobian.h.

Referenced by HasSameInternalsAs().

◆ offset_vector

Vector RetrievalQuantity::offset_vector
private

Definition at line 396 of file jacobian.h.

◆ tfunc_parameters

Vector RetrievalQuantity::tfunc_parameters
private

Definition at line 393 of file jacobian.h.

◆ transformation_func

String RetrievalQuantity::transformation_func
private

Definition at line 392 of file jacobian.h.

◆ transformation_matrix

Matrix RetrievalQuantity::transformation_matrix
private

Definition at line 395 of file jacobian.h.


The documentation for this class was generated from the following file: