ARTS 2.5.11 (git: 6827797f)
RetrievalQuantity Class Reference

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

#include <jacobian.h>

Public Member Functions

 RetrievalQuantity ()
 Default constructor.
 
 RetrievalQuantity (Jacobian::Target target, String subtag, String subsubtag, String mode, const Numeric &perturbation, ArrayOfVector grids)
 Constructor that sets the values.
 
const StringSubtag () const
 Returns the sub-tag.
 
void Subtag (const String &st)
 Sets the sub-tag.
 
const StringSubSubtag () const
 Returns the sub-sub-tag.
 
void SubSubtag (const String &sst)
 Sets the sub-sub-tag.
 
const StringMode () const
 Returns the mode.
 
void Mode (const String &m)
 Sets the mode.
 
const ArrayOfVector & Grids () const
 Returns the grids of the retrieval.
 
void Grids (const ArrayOfVector &g)
 Sets the grids of the retrieval.
 
Index nelem () const
 Number of elements in the grids.
 
Jacobian::TargetTarget ()
 Get the Jacobian Target.
 
const Jacobian::TargetTarget () const
 Get the Jacobian Target.
 
void Target (const Jacobian::Target &jac)
 Set the Jacobian Target.
 
const QuantumIdentifierQuantumIdentity () const
 Returns the identity of this Jacobian.
 
Jacobian::Line LineType () const noexcept
 Return line type.
 
bool operator== (Jacobian::Atm other) const noexcept
 Return atm type equality.
 
bool operator== (Jacobian::Line other) const noexcept
 Return line type equality.
 
bool operator== (Jacobian::Sensor other) const noexcept
 Return sensor type equality.
 
bool operator== (Jacobian::Special other) const noexcept
 Return special type equality.
 
bool operator== (Jacobian::Type other) const noexcept
 Return special type equality.
 
bool operator== (const ArrayOfSpeciesTag &st) const noexcept
 Return special type equality.
 
void QuantumIdentity (const QuantumIdentifier &qi)
 Sets the identity of this Jacobian.
 
bool propmattype () const noexcept
 Returns if this is a propagation matrix type.
 
bool is_wind () const noexcept
 
bool is_mag () const noexcept
 
void SetTransformationFunc (const String &s)
 Transformation.
 
void SetTFuncParameters (const Vector &p)
 
void SetTransformationMatrix (const Matrix &A)
 
void SetOffsetVector (const Vector &b)
 
bool HasAffine () const
 
const StringTransformationFunc () const
 
const Vector & TFuncParameters () const
 
const Matrix & TransformationMatrix () const
 
const Vector & OffsetVector () const
 
bool HasSameInternalsAs (const RetrievalQuantity &a) const
 Checks that all the internal variables of *this match with those of the input.
 
StringSubTag ()
 
StringSubSubTag ()
 
StringMode ()
 
ArrayOfVector & Grids ()
 
StringTransformationFunc ()
 
Vector & TFuncParameters ()
 
Matrix & Transformation ()
 
Vector & Offset ()
 
const StringSubTag () const
 
const StringSubSubTag () const
 
const Matrix & Transformation () const
 
const Vector & Offset () const
 

Private Attributes

String msubtag
 
String msubsubtag
 
String mmode
 
ArrayOfVector mgrids
 
Jacobian::Target mjac
 
String transformation_func
 
Vector tfunc_parameters
 
Matrix transformation_matrix
 
Vector offset_vector
 

Friends

ostream & operator<< (ostream &os, const RetrievalQuantity &ot)
 

Detailed Description

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

Definition at line 310 of file jacobian.h.

Constructor & Destructor Documentation

◆ RetrievalQuantity() [1/2]

RetrievalQuantity::RetrievalQuantity ( )
inline

Default constructor.

Needed by make_array.

Definition at line 313 of file jacobian.h.

◆ RetrievalQuantity() [2/2]

RetrievalQuantity::RetrievalQuantity ( Jacobian::Target  target,
String  subtag,
String  subsubtag,
String  mode,
const Numeric &  perturbation,
ArrayOfVector  grids 
)
inline

Constructor that sets the values.

Parameters
[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 330 of file jacobian.h.

References mjac, and Jacobian::Target::perturbation.

Member Function Documentation

◆ Grids() [1/3]

ArrayOfVector & RetrievalQuantity::Grids ( )
inline

Definition at line 502 of file jacobian.h.

References mgrids.

◆ Grids() [2/3]

◆ Grids() [3/3]

void RetrievalQuantity::Grids ( const ArrayOfVector &  g)
inline

Sets the grids of the retrieval.

Parameters
[in]gThe grids of the retrieval

Definition at line 399 of file jacobian.h.

References mgrids.

◆ HasAffine()

bool RetrievalQuantity::HasAffine ( ) const
inline

Definition at line 481 of file jacobian.h.

References transformation_matrix.

Referenced by jac_ranges_indices(), transform_jacobian(), 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 493 of file jacobian.h.

References a, mjac, mmode, msubsubtag, and msubtag.

◆ is_mag()

bool RetrievalQuantity::is_mag ( ) const
inlinenoexcept

Definition at line 470 of file jacobian.h.

References Jacobian::Target::isMagnetic(), and mjac.

◆ is_wind()

bool RetrievalQuantity::is_wind ( ) const
inlinenoexcept

Definition at line 468 of file jacobian.h.

References Jacobian::Target::isWind(), and mjac.

◆ LineType()

Jacobian::Line RetrievalQuantity::LineType ( ) const
inlinenoexcept

Return line type.

Definition at line 435 of file jacobian.h.

References Jacobian::Target::line, and mjac.

◆ Mode() [1/3]

String & RetrievalQuantity::Mode ( )
inline

Definition at line 501 of file jacobian.h.

References mmode.

◆ Mode() [2/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 379 of file jacobian.h.

References mmode.

Referenced by jacobianAddAbsSpecies(), jacobianAddFreqShift(), jacobianAddFreqStretch(), jacobianAddPolyfit(), jacobianAddShapeCatalogParameter(), jacobianAddSinefit(), and xml_write_to_stream().

◆ Mode() [3/3]

void RetrievalQuantity::Mode ( const String m)
inline

Sets the mode.

Parameters
[in]mA mode

Definition at line 385 of file jacobian.h.

References mmode.

◆ 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 407 of file jacobian.h.

References mgrids.

Referenced by jac_ranges_indices().

◆ Offset() [1/2]

Vector & RetrievalQuantity::Offset ( )
inline

Definition at line 506 of file jacobian.h.

References offset_vector.

◆ Offset() [2/2]

const Vector & RetrievalQuantity::Offset ( ) const
inline

Definition at line 511 of file jacobian.h.

References offset_vector.

◆ OffsetVector()

const Vector & RetrievalQuantity::OffsetVector ( ) const
inline

Definition at line 485 of file jacobian.h.

References offset_vector.

Referenced by transform_x(), and transform_x_back().

◆ operator==() [1/6]

bool RetrievalQuantity::operator== ( const ArrayOfSpeciesTag st) const
inlinenoexcept

Return special type equality.

Definition at line 453 of file jacobian.h.

References mjac, and Jacobian::Target::species_array_id.

◆ operator==() [2/6]

bool RetrievalQuantity::operator== ( Jacobian::Atm  other) const
inlinenoexcept

Return atm type equality.

Definition at line 438 of file jacobian.h.

References mjac.

◆ operator==() [3/6]

bool RetrievalQuantity::operator== ( Jacobian::Line  other) const
inlinenoexcept

Return line type equality.

Definition at line 441 of file jacobian.h.

References mjac.

◆ operator==() [4/6]

bool RetrievalQuantity::operator== ( Jacobian::Sensor  other) const
inlinenoexcept

Return sensor type equality.

Definition at line 444 of file jacobian.h.

References mjac.

◆ operator==() [5/6]

bool RetrievalQuantity::operator== ( Jacobian::Special  other) const
inlinenoexcept

Return special type equality.

Definition at line 447 of file jacobian.h.

References mjac.

◆ operator==() [6/6]

bool RetrievalQuantity::operator== ( Jacobian::Type  other) const
inlinenoexcept

Return special type equality.

Definition at line 450 of file jacobian.h.

References mjac.

◆ propmattype()

bool RetrievalQuantity::propmattype ( ) const
inlinenoexcept

Returns if this is a propagation matrix type.

Definition at line 462 of file jacobian.h.

References mjac.

◆ QuantumIdentity() [1/2]

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 430 of file jacobian.h.

References mjac, and Jacobian::Target::qid.

Referenced by species_iso_match(), and species_match().

◆ QuantumIdentity() [2/2]

void RetrievalQuantity::QuantumIdentity ( const QuantumIdentifier qi)
inline

Sets the identity of this Jacobian.

Parameters
[in]qiThe identity of this Jacobian

Definition at line 459 of file jacobian.h.

References mjac, and Jacobian::Target::qid.

◆ SetOffsetVector()

void RetrievalQuantity::SetOffsetVector ( const Vector &  b)
inline

Definition at line 480 of file jacobian.h.

References b, and offset_vector.

◆ SetTFuncParameters()

void RetrievalQuantity::SetTFuncParameters ( const Vector &  p)
inline

Definition at line 478 of file jacobian.h.

References tfunc_parameters.

◆ SetTransformationFunc()

void RetrievalQuantity::SetTransformationFunc ( const String s)
inline

Transformation.

FIXMEDOC@Simon The transformations are yours to fix and document FIXMEDOC@Patrick The transformations are yours to fix and document

Definition at line 477 of file jacobian.h.

References transformation_func.

◆ SetTransformationMatrix()

void RetrievalQuantity::SetTransformationMatrix ( const Matrix &  A)
inline

Definition at line 479 of file jacobian.h.

References transformation_matrix.

◆ SubSubTag() [1/2]

String & RetrievalQuantity::SubSubTag ( )
inline

Definition at line 500 of file jacobian.h.

References msubsubtag.

◆ 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 364 of file jacobian.h.

References msubsubtag.

Referenced by jacobianAddScatSpecies(), and xml_write_to_stream().

◆ SubSubTag() [2/2]

const String & RetrievalQuantity::SubSubTag ( ) const
inline

Definition at line 509 of file jacobian.h.

References msubsubtag.

◆ SubSubtag() [2/2]

void RetrievalQuantity::SubSubtag ( const String sst)
inline

Sets the sub-sub-tag.

Parameters
[in]sstA sub-sub-tag

Definition at line 370 of file jacobian.h.

References msubsubtag.

◆ SubTag() [1/2]

String & RetrievalQuantity::SubTag ( )
inline

Definition at line 499 of file jacobian.h.

References msubtag.

◆ 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 350 of file jacobian.h.

References msubtag.

Referenced by jacobianAddAbsSpecies(), jacobianAddPolyfit(), jacobianAddScatSpecies(), jacobianAddSinefit(), jacobianAddSurfaceQuantity(), jacobianAddTemperature(), jacobianAddWind(), and xml_write_to_stream().

◆ SubTag() [2/2]

const String & RetrievalQuantity::SubTag ( ) const
inline

Definition at line 508 of file jacobian.h.

References msubtag.

◆ Subtag() [2/2]

void RetrievalQuantity::Subtag ( const String st)
inline

Sets the sub-tag.

Parameters
[in]stA sub-tag

Definition at line 356 of file jacobian.h.

References msubtag.

◆ Target() [1/3]

◆ Target() [2/3]

const Jacobian::Target & RetrievalQuantity::Target ( ) const
inline

Get the Jacobian Target.

Definition at line 419 of file jacobian.h.

References mjac.

◆ Target() [3/3]

void RetrievalQuantity::Target ( const Jacobian::Target jac)
inline

Set the Jacobian Target.

Definition at line 422 of file jacobian.h.

References mjac.

◆ TFuncParameters() [1/2]

Vector & RetrievalQuantity::TFuncParameters ( )
inline

Definition at line 504 of file jacobian.h.

References tfunc_parameters.

◆ TFuncParameters() [2/2]

const Vector & RetrievalQuantity::TFuncParameters ( ) const
inline

Definition at line 483 of file jacobian.h.

References tfunc_parameters.

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

◆ Transformation() [1/2]

Matrix & RetrievalQuantity::Transformation ( )
inline

Definition at line 505 of file jacobian.h.

References transformation_matrix.

◆ Transformation() [2/2]

const Matrix & RetrievalQuantity::Transformation ( ) const
inline

Definition at line 510 of file jacobian.h.

References transformation_matrix.

◆ TransformationFunc() [1/2]

String & RetrievalQuantity::TransformationFunc ( )
inline

Definition at line 503 of file jacobian.h.

References transformation_func.

◆ TransformationFunc() [2/2]

const String & RetrievalQuantity::TransformationFunc ( ) const
inline

Definition at line 482 of file jacobian.h.

References transformation_func.

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

◆ TransformationMatrix()

const Matrix & RetrievalQuantity::TransformationMatrix ( ) const
inline

Definition at line 484 of file jacobian.h.

References transformation_matrix.

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

Friends And Related Function Documentation

◆ operator<<

ostream & operator<< ( ostream &  os,
const RetrievalQuantity ot 
)
friend

Definition at line 23 of file jacobian.cc.

Member Data Documentation

◆ mgrids

ArrayOfVector RetrievalQuantity::mgrids
private

Definition at line 519 of file jacobian.h.

Referenced by Grids(), and nelem().

◆ mjac

Jacobian::Target RetrievalQuantity::mjac
private

◆ mmode

String RetrievalQuantity::mmode
private

Definition at line 518 of file jacobian.h.

Referenced by HasSameInternalsAs(), and Mode().

◆ msubsubtag

String RetrievalQuantity::msubsubtag
private

Definition at line 517 of file jacobian.h.

Referenced by HasSameInternalsAs(), SubSubTag(), and SubSubtag().

◆ msubtag

String RetrievalQuantity::msubtag
private

Definition at line 516 of file jacobian.h.

Referenced by HasSameInternalsAs(), SubTag(), and Subtag().

◆ offset_vector

Vector RetrievalQuantity::offset_vector
private

Definition at line 526 of file jacobian.h.

Referenced by Offset(), OffsetVector(), and SetOffsetVector().

◆ tfunc_parameters

Vector RetrievalQuantity::tfunc_parameters
private

Definition at line 523 of file jacobian.h.

Referenced by SetTFuncParameters(), and TFuncParameters().

◆ transformation_func

String RetrievalQuantity::transformation_func
private

Definition at line 522 of file jacobian.h.

Referenced by SetTransformationFunc(), and TransformationFunc().

◆ transformation_matrix

Matrix RetrievalQuantity::transformation_matrix
private

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