ARTS
2.2.66
|
Workspace functions related to the jacobian. More...
#include <cmath>
#include <string>
#include "absorption.h"
#include "arts.h"
#include "auto_md.h"
#include "check_input.h"
#include "math_funcs.h"
#include "messages.h"
#include "interpolation_poly.h"
#include "jacobian.h"
#include "physics_funcs.h"
#include "rte.h"
Go to the source code of this file.
Functions | |
void | jacobianClose (Workspace &ws, Index &jacobian_do, ArrayOfArrayOfIndex &jacobian_indices, Agenda &jacobian_agenda, const ArrayOfRetrievalQuantity &jacobian_quantities, const Matrix &sensor_pos, const Sparse &sensor_response, const Verbosity &verbosity) |
WORKSPACE METHOD: jacobianClose. More... | |
void | jacobianInit (ArrayOfRetrievalQuantity &jacobian_quantities, ArrayOfArrayOfIndex &jacobian_indices, Agenda &jacobian_agenda, const Verbosity &) |
WORKSPACE METHOD: jacobianInit. More... | |
void | jacobianOff (Index &jacobian_do, Agenda &jacobian_agenda, ArrayOfRetrievalQuantity &jacobian_quantities, ArrayOfArrayOfIndex &jacobian_indices, const Verbosity &verbosity) |
WORKSPACE METHOD: jacobianOff. More... | |
void | jacobianAddAbsSpecies (Workspace &ws, ArrayOfRetrievalQuantity &jq, Agenda &jacobian_agenda, const Index &atmosphere_dim, 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 &method, const String &mode, const Numeric &dx, const Verbosity &verbosity) |
WORKSPACE METHOD: jacobianAddAbsSpecies. More... | |
void | jacobianCalcAbsSpeciesAnalytical (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcAbsSpeciesAnalytical. More... | |
void | jacobianCalcAbsSpeciesPerturbations (Workspace &ws, Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Tensor3 &t_field, const Tensor3 &z_field, const Tensor4 &vmr_field, const ArrayOfArrayOfSpeciesTag &abs_species, const Index &cloudbox_on, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_pos, const Matrix &sensor_los, const Matrix &transmitter_pos, const Vector &mblock_za_grid, const Vector &mblock_aa_grid, const Index &antenna_dim, const Sparse &sensor_response, const Agenda &iy_main_agenda, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const String &species, const Verbosity &verbosity) |
WORKSPACE METHOD: jacobianCalcAbsSpeciesPerturbations. More... | |
void | jacobianAddFreqShift (Workspace &ws, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Vector &f_grid, const Matrix &sensor_pos, const Vector &sensor_time, const Index &poly_order, const Numeric &df, const Verbosity &) |
WORKSPACE METHOD: jacobianAddFreqShift. More... | |
void | jacobianCalcFreqShift (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_los, const Vector &mblock_za_grid, const Vector &mblock_aa_grid, const Index &antenna_dim, const Sparse &sensor_response, const Vector &sensor_time, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcFreqShift. More... | |
void | jacobianAddFreqStretch (Workspace &ws, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Vector &f_grid, const Matrix &sensor_pos, const Vector &sensor_time, const Index &poly_order, const Numeric &df, const Verbosity &) |
WORKSPACE METHOD: jacobianAddFreqStretch. More... | |
void | jacobianCalcFreqStretch (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_los, const Vector &mblock_za_grid, const Vector &mblock_aa_grid, const Index &antenna_dim, const Sparse &sensor_response, const ArrayOfIndex &sensor_response_pol_grid, const Vector &sensor_response_f_grid, const Vector &sensor_response_za_grid, const Vector &sensor_time, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcFreqStretch. More... | |
void | jacobianAddPointingZa (Workspace &ws, ArrayOfRetrievalQuantity &jacobian_quantities, Agenda &jacobian_agenda, const Matrix &sensor_pos, const Vector &sensor_time, const Index &poly_order, const String &calcmode, const Numeric &dza, const Verbosity &) |
WORKSPACE METHOD: jacobianAddPointingZa. More... | |
void | jacobianCalcPointingZaInterp (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_los, const Vector &mblock_za_grid, const Vector &mblock_aa_grid, const Index &antenna_dim, const Sparse &sensor_response, const Vector &sensor_time, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcPointingZaInterp. More... | |
void | jacobianCalcPointingZaRecalc (Workspace &ws, Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Index &atmosphere_dim, const Tensor3 &t_field, const Tensor3 &z_field, const Tensor4 &vmr_field, const Index &cloudbox_on, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_pos, const Matrix &sensor_los, const Matrix &transmitter_pos, const Vector &mblock_za_grid, const Vector &mblock_aa_grid, const Index &antenna_dim, const Sparse &sensor_response, const Vector &sensor_time, const Agenda &iy_main_agenda, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const Verbosity &verbosity) |
WORKSPACE METHOD: jacobianCalcPointingZaRecalc. More... | |
void | jacobianAddPolyfit (Workspace &ws, ArrayOfRetrievalQuantity &jq, Agenda &jacobian_agenda, const ArrayOfIndex &sensor_response_pol_grid, const Vector &sensor_response_za_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 &) |
WORKSPACE METHOD: jacobianAddPolyfit. More... | |
void | jacobianCalcPolyfit (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Sparse &sensor_response, const ArrayOfIndex &sensor_response_pol_grid, const Vector &sensor_response_f_grid, const Vector &sensor_response_za_grid, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const Index &poly_coeff, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcPolyfit. More... | |
void | jacobianAddSinefit (Workspace &ws, ArrayOfRetrievalQuantity &jq, Agenda &jacobian_agenda, const ArrayOfIndex &sensor_response_pol_grid, const Vector &sensor_response_za_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 &) |
WORKSPACE METHOD: jacobianAddSinefit. More... | |
void | jacobianCalcSinefit (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Sparse &sensor_response, const ArrayOfIndex &sensor_response_pol_grid, const Vector &sensor_response_f_grid, const Vector &sensor_response_za_grid, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const Index &period_index, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcSinefit. More... | |
void | jacobianAddTemperature (Workspace &ws, ArrayOfRetrievalQuantity &jq, Agenda &jacobian_agenda, const Index &atmosphere_dim, 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 String &method, const Numeric &dx, const Verbosity &verbosity) |
WORKSPACE METHOD: jacobianAddTemperature. More... | |
void | jacobianCalcTemperatureAnalytical (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcTemperatureAnalytical. More... | |
void | jacobianCalcTemperaturePerturbations (Workspace &ws, Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Index &atmosphere_dim, const Vector &p_grid, const Vector &lat_grid, const Vector &lon_grid, const Vector &lat_true, const Vector &lon_true, const Tensor3 &t_field, const Tensor3 &z_field, const Tensor4 &vmr_field, const ArrayOfArrayOfSpeciesTag &abs_species, const Vector &refellipsoid, const Matrix &z_surface, const Index &cloudbox_on, const Index &stokes_dim, const Vector &f_grid, const Matrix &sensor_pos, const Matrix &sensor_los, const Matrix &transmitter_pos, const Vector &mblock_za_grid, const Vector &mblock_aa_grid, const Index &antenna_dim, const Sparse &sensor_response, const Agenda &iy_main_agenda, const Agenda &g0_agenda, const Numeric &molarmass_dry_air, const Numeric &p_hse, const Numeric &z_hse_accuracy, const ArrayOfRetrievalQuantity &jacobian_quantities, const ArrayOfArrayOfIndex &jacobian_indices, const Verbosity &verbosity) |
WORKSPACE METHOD: jacobianCalcTemperaturePerturbations. More... | |
void | jacobianAddWind (Workspace &ws, ArrayOfRetrievalQuantity &jq, Agenda &jacobian_agenda, const Index &atmosphere_dim, 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 Verbosity &verbosity) |
WORKSPACE METHOD: jacobianAddWind. More... | |
void | jacobianCalcWindAnalytical (Matrix &jacobian, const Index &mblock_index, const Vector &iyb, const Vector &yb, const Verbosity &) |
WORKSPACE METHOD: jacobianCalcWindAnalytical. More... | |
Variables | |
const Numeric | PI |
const String | ABSSPECIES_MAINTAG |
const String | FREQUENCY_MAINTAG |
const String | FREQUENCY_SUBTAG_0 |
const String | FREQUENCY_SUBTAG_1 |
const String | POINTING_MAINTAG |
const String | POINTING_SUBTAG_A |
const String | POINTING_CALCMODE_A |
const String | POINTING_CALCMODE_B |
const String | POLYFIT_MAINTAG |
const String | SINEFIT_MAINTAG |
const String | TEMPERATURE_MAINTAG |
const String | WIND_MAINTAG |
Workspace functions related to the jacobian.
These functions are listed in the doxygen documentation as entries of the file auto_md.h.
Definition in file m_jacobian.cc.
void jacobianAddAbsSpecies | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const Index & | atmosphere_dim, | ||
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 & | method, | ||
const String & | unit, | ||
const Numeric & | dx, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianAddAbsSpecies.
Includes an absorption species in the Jacobian.
Details are given in the user guide.
For 1D or 2D calculations the latitude and/or longitude grid of the retrieval field should set to have zero length.
There are two possible calculation methods: <br> "analytical" : (semi-)analytical expressions are used <br> "perturbation" : pure numerical perturbations are used
The retrieval unit can be: <br> "vmr" : Volume mixing ratio. <br> "nd" : Number density. <br> "rel" : Relative unit (e.g. 1.1 means 10% more of the gas). <br> "logrel" : The retrieval is performed with the logarithm of <br> the "rel" option.
For perturbation calculations the size of the perturbation is set by the user. The unit for the perturbation is the same as for the retrieval unit.
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | g1 | Generic Input |
[in] | g2 | Generic Input |
[in] | g3 | Generic Input |
[in] | species | Generic Input |
[in] | method | Generic Input (Default: "analytical") |
[in] | unit | Generic Input (Default: "rel") |
[in] | dx | Generic Input (Default: "0.001") |
Definition at line 180 of file m_jacobian.cc.
References Agenda::append(), check_retrieval_grids(), CREATE_OUT2, CREATE_OUT3, RetrievalQuantity::MainTag(), Array< base >::nelem(), and TEMPERATURE_MAINTAG.
Referenced by abs_speciesAdd2(), and jacobianAddAbsSpecies_g().
void jacobianAddFreqShift | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_pos, | ||
const Vector & | sensor_time, | ||
const Index & | poly_order, | ||
const Numeric & | df, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianAddFreqShift.
Includes a frequency for of shift type in the Jacobian.
Retrieval of deviations between nominal and actual backend frequencies can be included by this method. The assumption here is that the deviation is a constant off-set, a shift, common for all frequencies.
The frequency shift can be modelled to be time varying. The time variation is then described by a polynomial (with standard base functions). For example, a polynomial order of 0 means that the shift is constant in time. If the shift is totally uncorrelated between the spectra, set the order to -1.
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | f_grid | WS Input |
[in] | sensor_pos | WS Input |
[in] | sensor_time | WS Input |
[in] | poly_order | Generic Input (Default: "0") |
[in] | df | Generic Input (Default: "100e3") |
Definition at line 536 of file m_jacobian.cc.
References RetrievalQuantity::Analytical(), Agenda::append(), FREQUENCY_SUBTAG_0, RetrievalQuantity::Grids(), RetrievalQuantity::MainTag(), RetrievalQuantity::Mode(), Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), RetrievalQuantity::Perturbation(), Vector::resize(), and RetrievalQuantity::Subtag().
Referenced by jacobianAddFreqShift_g().
void jacobianAddFreqStretch | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_pos, | ||
const Vector & | sensor_time, | ||
const Index & | poly_order, | ||
const Numeric & | df, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianAddFreqStretch.
Includes a frequency for of stretch type in the Jacobian.
Retrieval of deviations between nominal and actual backend frequencies can be included by this method. The assumption here is that the deviation varies linearly over the frequency range (following ARTS basis function for polynomial order 1).
The frequency shift can be modelled to be time varying. The time variation is then described by a polynomial (with standard base functions). For example, a polynomial order of 0 means that the shift is constant in time. If the shift is totally uncorrelated between the spectra, set the order to -1.
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | f_grid | WS Input |
[in] | sensor_pos | WS Input |
[in] | sensor_time | WS Input |
[in] | poly_order | Generic Input (Default: "0") |
[in] | df | Generic Input (Default: "100e3") |
Definition at line 762 of file m_jacobian.cc.
References RetrievalQuantity::Analytical(), Agenda::append(), FREQUENCY_SUBTAG_1, RetrievalQuantity::Grids(), RetrievalQuantity::MainTag(), RetrievalQuantity::Mode(), Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), RetrievalQuantity::Perturbation(), Vector::resize(), and RetrievalQuantity::Subtag().
Referenced by jacobianAddFreqStretch_g().
void jacobianAddPointingZa | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const Matrix & | sensor_pos, | ||
const Vector & | sensor_time, | ||
const Index & | poly_order, | ||
const String & | calcmode, | ||
const Numeric & | dza, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianAddPointingZa.
Adds sensor pointing zenith angle off-set jacobian.
Retrieval of deviations between nominal and actual zenith angle of the sensor can be included by this method. The weighing functions can be calculated in several ways: <br> calcmode = "recalc": Recalculation of pencil beam spectra, <br> shifted with dza from nominal values. A single-sided <br> perturbation is applied (towards higher zenith angles). <br> calcmode = "interp": Inter/extrapolation of existing pencil <br> beam spectra. For this option, allow some extra margins for <br> zenith angle grids, to avoid artifacts when extrapolating <br> the data (to shifted zenith angles). The average of a <br> negative and a positive shift is taken. The interp option is recommended. It should in general be both faster and more accurate (due to the double sided disturbance). In addition, it is less sensitive to the choice of dza (as long as a small value is applied).
The pointing off-set can be modelled to be time varying. The time variation is then described by a polynomial (with standard base functions). For example, a polynomial order of 0 means that the off-set is constant in time. If the off-set is totally uncorrelated between the spectra, set the order to -1.
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | sensor_pos | WS Input |
[in] | sensor_time | WS Input |
[in] | poly_order | Generic Input (Default: "0") |
[in] | calcmode | Generic Input (Default: "recalc") |
[in] | dza | Generic Input (Default: "0.01") |
Definition at line 1014 of file m_jacobian.cc.
References RetrievalQuantity::Analytical(), Agenda::append(), RetrievalQuantity::Grids(), RetrievalQuantity::MainTag(), RetrievalQuantity::Mode(), Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), RetrievalQuantity::Perturbation(), POINTING_SUBTAG_A, Vector::resize(), and RetrievalQuantity::Subtag().
Referenced by jacobianAddPointingZa_g().
void jacobianAddPolyfit | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const ArrayOfIndex & | sensor_response_pol_grid, | ||
const Vector & | sensor_response_za_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: jacobianAddPolyfit.
Includes polynomial baseline fit in the Jacobian.
This method deals with retrieval of disturbances of the spectra that can be described by an addidative term, a baseline off-set.
The baseline off-set is here modelled as a polynomial. The polynomial spans the complete frequency range spanned by sensor_response_f_grid* and the method should only of interest for cases with no frequency gap in the spectra. The default assumption is that the off-set differs between all spectra, but it can also be assumed that the off-set is common for all e.g. line-of-sights.
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | sensor_response_pol_grid | WS Input |
[in] | sensor_response_za_grid | WS Input |
[in] | sensor_pos | WS Input |
[in] | poly_order | Generic Input |
[in] | no_pol_variation | Generic Input (Default: "0") |
[in] | no_los_variation | Generic Input (Default: "0") |
[in] | no_mblock_variation | Generic Input (Default: "0") |
Definition at line 1354 of file m_jacobian.cc.
References Agenda::append(), RetrievalQuantity::MainTag(), Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), and POLYFIT_MAINTAG.
Referenced by jacobianAddPolyfit_g().
void jacobianAddSinefit | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const ArrayOfIndex & | sensor_response_pol_grid, | ||
const Vector & | sensor_response_za_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: jacobianAddSinefit.
Includes sinusoidal baseline fit in the Jacobian.
Works as jacobianAddPolyFit, beside that a series of sine and cosine terms are used for the baseline fit.
For each value in *period_lengths one sine and one cosine term are included (in mentioned order). By these two terms the amplitude and "phase" for each period length can be determined. The sine and cosine terms have value 0 and 1, respectively, for first frequency.
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | sensor_response_pol_grid | WS Input |
[in] | sensor_response_za_grid | WS Input |
[in] | sensor_pos | WS Input |
[in] | period_lengths | Generic Input |
[in] | no_pol_variation | Generic Input (Default: "0") |
[in] | no_los_variation | Generic Input (Default: "0") |
[in] | no_mblock_variation | Generic Input (Default: "0") |
Definition at line 1527 of file m_jacobian.cc.
References Agenda::append(), RetrievalQuantity::MainTag(), Array< base >::nelem(), ConstVectorView::nelem(), ConstMatrixView::nrows(), and SINEFIT_MAINTAG.
Referenced by jacobianAddSinefit_g().
void jacobianAddTemperature | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const Index & | atmosphere_dim, | ||
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 String & | method, | ||
const Numeric & | dt, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianAddTemperature.
Includes atmospheric temperatures in the Jacobian.
The calculations can be performed by (semi-)analytical expressions or by perturbations. Hydrostatic equilibrium (HSE) can be included. For perturbation calculations, all possible effects are included (but is a costly option). The analytical calculation approach neglects refraction totally, but considers the local effect of HSE. The later should be accaptable for observations around zenith and nadir. There is no warning if the method is applied incorrectly, with respect to these issues.
The calculations (both options) assume that gas species are defined in VMR (a change in temperature then changes the number density). This has the consequence that retrieval of temperatures and number density can not be mixed. Neither any warning here!
The choices for method are: <br> "analytical" : (semi-)analytical expressions are used <br> "perturbation" : pure numerical perturbations are used
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | g1 | Generic Input |
[in] | g2 | Generic Input |
[in] | g3 | Generic Input |
[in] | hse | Generic Input (Default: "on") |
[in] | method | Generic Input (Default: "analytical") |
[in] | dt | Generic Input (Default: "0.1") |
Definition at line 1712 of file m_jacobian.cc.
References Agenda::append(), check_retrieval_grids(), CREATE_OUT3, RetrievalQuantity::MainTag(), Array< base >::nelem(), and TEMPERATURE_MAINTAG.
Referenced by jacobianAddTemperature_g().
void jacobianAddWind | ( | Workspace & | ws, |
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
Agenda & | jacobian_agenda, | ||
const Index & | atmosphere_dim, | ||
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 Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianAddWind.
Includes one atmospheric wind component in the Jacobian.
The method follows the pattern of other Jacobian methods. The calculations can only be performed by analytic expressions.
As mentioned, the wind components are assumed to be retrieved separately, and, hence, the argument component can be "u", "v" or "w".
[in,out] | ws | Workspace |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | g1 | Generic Input |
[in] | g2 | Generic Input |
[in] | g3 | Generic Input |
[in] | component | Generic Input (Default: "v") |
Definition at line 2051 of file m_jacobian.cc.
References RetrievalQuantity::Analytical(), Agenda::append(), check_retrieval_grids(), CREATE_OUT2, CREATE_OUT3, RetrievalQuantity::Grids(), RetrievalQuantity::MainTag(), Array< base >::nelem(), and RetrievalQuantity::Subtag().
Referenced by jacobianAddWind_g().
void jacobianCalcAbsSpeciesAnalytical | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcAbsSpeciesAnalytical.
This function doesn't do anything. It just exists to satisfy the input and output requirement of the jacobian_agenda.
This function is added to jacobian_agenda by jacobianAddAbsSpecies and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
Definition at line 295 of file m_jacobian.cc.
Referenced by jacobianCalcAbsSpeciesAnalytical_g().
void jacobianCalcAbsSpeciesPerturbations | ( | Workspace & | ws, |
Matrix & | jacobian, | ||
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Index & | atmosphere_dim, | ||
const Vector & | p_grid, | ||
const Vector & | lat_grid, | ||
const Vector & | lon_grid, | ||
const Tensor3 & | t_field, | ||
const Tensor3 & | z_field, | ||
const Tensor4 & | vmr_field, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Index & | cloudbox_on, | ||
const Index & | stokes_dim, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_pos, | ||
const Matrix & | sensor_los, | ||
const Matrix & | transmitter_pos, | ||
const Vector & | mblock_za_grid, | ||
const Vector & | mblock_aa_grid, | ||
const Index & | antenna_dim, | ||
const Sparse & | sensor_response, | ||
const Agenda & | iy_main_agenda, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const String & | species, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcAbsSpeciesPerturbations.
Calculates absorption species jacobians by perturbations.
This function is added to jacobian_agenda by jacobianAddAbsSpecies and should normally not be called by the user.
[in,out] | ws | Workspace |
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | t_field | WS Input |
[in] | z_field | WS Input |
[in] | vmr_field | WS Input |
[in] | abs_species | WS Input |
[in] | cloudbox_on | WS Input |
[in] | stokes_dim | WS Input |
[in] | f_grid | WS Input |
[in] | sensor_pos | WS Input |
[in] | sensor_los | WS Input |
[in] | transmitter_pos | WS Input |
[in] | mblock_za_grid | WS Input |
[in] | mblock_aa_grid | WS Input |
[in] | antenna_dim | WS Input |
[in] | sensor_response | WS Input |
[in] | iy_main_agenda | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
[in] | species | Generic Input |
Definition at line 309 of file m_jacobian.cc.
References RetrievalQuantity::Analytical(), array_species_tag_from_string(), calc_nd_field(), chk_contains(), get_perturbation_gridpos(), get_perturbation_range(), get_rowindex_for_mblock(), RetrievalQuantity::Grids(), iyb_calc(), joker, RetrievalQuantity::Mode(), mult(), ConstTensor3View::ncols(), Array< base >::nelem(), ConstTensor3View::npages(), Sparse::nrows(), ConstTensor3View::nrows(), RetrievalQuantity::Perturbation(), perturbation_field_1d(), perturbation_field_2d(), perturbation_field_3d(), and Tensor3::resize().
Referenced by jacobianCalcAbsSpeciesPerturbations_g().
void jacobianCalcFreqShift | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Index & | stokes_dim, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_los, | ||
const Vector & | mblock_za_grid, | ||
const Vector & | mblock_aa_grid, | ||
const Index & | antenna_dim, | ||
const Sparse & | sensor_response, | ||
const Vector & | sensor_time, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcFreqShift.
Calculates frequency shift jacobians by interpolation of iyb.
This function is added to jacobian_agenda by jacobianAddFreqShift and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | stokes_dim | WS Input |
[in] | f_grid | WS Input |
[in] | sensor_los | WS Input |
[in] | mblock_za_grid | WS Input |
[in] | mblock_aa_grid | WS Input |
[in] | antenna_dim | WS Input |
[in] | sensor_response | WS Input |
[in] | sensor_time | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
Definition at line 627 of file m_jacobian.cc.
References FREQUENCY_SUBTAG_0, get_rowindex_for_mblock(), Range::get_start(), gridpos_poly(), RetrievalQuantity::Grids(), interp(), interpweights(), mult(), Sparse::ncols(), Array< base >::nelem(), ConstVectorView::nelem(), Sparse::nrows(), ConstMatrixView::nrows(), RetrievalQuantity::Perturbation(), polynomial_basis_func(), and w().
Referenced by jacobianCalcFreqShift_g().
void jacobianCalcFreqStretch | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Index & | stokes_dim, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_los, | ||
const Vector & | mblock_za_grid, | ||
const Vector & | mblock_aa_grid, | ||
const Index & | antenna_dim, | ||
const Sparse & | sensor_response, | ||
const ArrayOfIndex & | sensor_response_pol_grid, | ||
const Vector & | sensor_response_f_grid, | ||
const Vector & | sensor_response_za_grid, | ||
const Vector & | sensor_time, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcFreqStretch.
Calculates frequency stretch jacobians by interpolation of iyb.
This function is added to jacobian_agenda by jacobianAddFreqStretch and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | stokes_dim | WS Input |
[in] | f_grid | WS Input |
[in] | sensor_los | WS Input |
[in] | mblock_za_grid | WS Input |
[in] | mblock_aa_grid | WS Input |
[in] | antenna_dim | WS Input |
[in] | sensor_response | WS Input |
[in] | sensor_response_pol_grid | WS Input |
[in] | sensor_response_f_grid | WS Input |
[in] | sensor_response_za_grid | WS Input |
[in] | sensor_time | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
Definition at line 853 of file m_jacobian.cc.
References FREQUENCY_SUBTAG_1, get_rowindex_for_mblock(), Range::get_start(), gridpos_poly(), RetrievalQuantity::Grids(), interp(), interpweights(), mult(), Sparse::ncols(), Array< base >::nelem(), ConstVectorView::nelem(), Sparse::nrows(), ConstMatrixView::nrows(), RetrievalQuantity::Perturbation(), polynomial_basis_func(), and w().
Referenced by jacobianCalcFreqStretch_g().
void jacobianCalcPointingZaInterp | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Index & | stokes_dim, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_los, | ||
const Vector & | mblock_za_grid, | ||
const Vector & | mblock_aa_grid, | ||
const Index & | antenna_dim, | ||
const Sparse & | sensor_response, | ||
const Vector & | sensor_time, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcPointingZaInterp.
Calculates zenith angle pointing deviation jacobians by inter-extrapolation of iyb.
This function is added to jacobian_agenda by jacobianAddPointingZa and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | stokes_dim | WS Input |
[in] | f_grid | WS Input |
[in] | sensor_los | WS Input |
[in] | mblock_za_grid | WS Input |
[in] | mblock_aa_grid | WS Input |
[in] | antenna_dim | WS Input |
[in] | sensor_response | WS Input |
[in] | sensor_time | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
Definition at line 1105 of file m_jacobian.cc.
References get_rowindex_for_mblock(), Range::get_start(), gridpos(), RetrievalQuantity::Grids(), interp(), interpweights(), mult(), Array< base >::nelem(), ConstVectorView::nelem(), Sparse::nrows(), ConstMatrixView::nrows(), RetrievalQuantity::Perturbation(), POINTING_CALCMODE_B, polynomial_basis_func(), and w().
Referenced by jacobianCalcPointingZaInterp_g().
void jacobianCalcPointingZaRecalc | ( | Workspace & | ws, |
Matrix & | jacobian, | ||
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Index & | atmosphere_dim, | ||
const Tensor3 & | t_field, | ||
const Tensor3 & | z_field, | ||
const Tensor4 & | vmr_field, | ||
const Index & | cloudbox_on, | ||
const Index & | stokes_dim, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_pos, | ||
const Matrix & | sensor_los, | ||
const Matrix & | transmitter_pos, | ||
const Vector & | mblock_za_grid, | ||
const Vector & | mblock_aa_grid, | ||
const Index & | antenna_dim, | ||
const Sparse & | sensor_response, | ||
const Vector & | sensor_time, | ||
const Agenda & | iy_main_agenda, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcPointingZaRecalc.
Calculates zenith angle pointing deviation jacobians by recalulation of iyb.
This function is added to jacobian_agenda by jacobianAddPointingZa and should normally not be called by the user.
[in,out] | ws | Workspace |
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | t_field | WS Input |
[in] | z_field | WS Input |
[in] | vmr_field | WS Input |
[in] | cloudbox_on | WS Input |
[in] | stokes_dim | WS Input |
[in] | f_grid | WS Input |
[in] | sensor_pos | WS Input |
[in] | sensor_los | WS Input |
[in] | transmitter_pos | WS Input |
[in] | mblock_za_grid | WS Input |
[in] | mblock_aa_grid | WS Input |
[in] | antenna_dim | WS Input |
[in] | sensor_response | WS Input |
[in] | sensor_time | WS Input |
[in] | iy_main_agenda | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
Definition at line 1236 of file m_jacobian.cc.
References get_rowindex_for_mblock(), Range::get_start(), RetrievalQuantity::Grids(), iyb_calc(), joker, mult(), Array< base >::nelem(), Sparse::nrows(), ConstMatrixView::nrows(), RetrievalQuantity::Perturbation(), POINTING_CALCMODE_A, polynomial_basis_func(), and w().
Referenced by jacobianCalcPointingZaRecalc_g().
void jacobianCalcPolyfit | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Sparse & | sensor_response, | ||
const ArrayOfIndex & | sensor_response_pol_grid, | ||
const Vector & | sensor_response_f_grid, | ||
const Vector & | sensor_response_za_grid, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Index & | poly_coeff, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcPolyfit.
Calculates jacobians for polynomial baseline fit.
This function is added to jacobian_agenda by jacobianAddPolyfit and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | sensor_response | WS Input |
[in] | sensor_response_pol_grid | WS Input |
[in] | sensor_response_f_grid | WS Input |
[in] | sensor_response_za_grid | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
[in] | poly_coeff | Generic Input |
Definition at line 1436 of file m_jacobian.cc.
References get_rowindex_for_mblock(), Range::get_start(), Array< base >::nelem(), ConstVectorView::nelem(), polynomial_basis_func(), and w().
Referenced by jacobianCalcPolyfit_g().
void jacobianCalcSinefit | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Sparse & | sensor_response, | ||
const ArrayOfIndex & | sensor_response_pol_grid, | ||
const Vector & | sensor_response_f_grid, | ||
const Vector & | sensor_response_za_grid, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Index & | period_index, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcSinefit.
Calculates jacobians for sinusoidal baseline fit.
This function is added to jacobian_agenda by jacobianAddPolyfit and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | sensor_response | WS Input |
[in] | sensor_response_pol_grid | WS Input |
[in] | sensor_response_f_grid | WS Input |
[in] | sensor_response_za_grid | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
[in] | period_index | Generic Input |
Definition at line 1611 of file m_jacobian.cc.
References get_rowindex_for_mblock(), Range::get_start(), Array< base >::nelem(), ConstVectorView::nelem(), and PI.
Referenced by jacobianCalcSinefit_g().
void jacobianCalcTemperatureAnalytical | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcTemperatureAnalytical.
This function doesn't do anything. It just exists to satisfy the input and output requirement of the jacobian_agenda.
This function is added to jacobian_agenda by jacobianAddTemperature and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
Definition at line 1824 of file m_jacobian.cc.
Referenced by jacobianCalcTemperatureAnalytical_g().
void jacobianCalcTemperaturePerturbations | ( | Workspace & | ws, |
Matrix & | jacobian, | ||
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Index & | atmosphere_dim, | ||
const Vector & | p_grid, | ||
const Vector & | lat_grid, | ||
const Vector & | lon_grid, | ||
const Vector & | lat_true, | ||
const Vector & | lon_true, | ||
const Tensor3 & | t_field, | ||
const Tensor3 & | z_field, | ||
const Tensor4 & | vmr_field, | ||
const ArrayOfArrayOfSpeciesTag & | abs_species, | ||
const Vector & | refellipsoid, | ||
const Matrix & | z_surface, | ||
const Index & | cloudbox_on, | ||
const Index & | stokes_dim, | ||
const Vector & | f_grid, | ||
const Matrix & | sensor_pos, | ||
const Matrix & | sensor_los, | ||
const Matrix & | transmitter_pos, | ||
const Vector & | mblock_za_grid, | ||
const Vector & | mblock_aa_grid, | ||
const Index & | antenna_dim, | ||
const Sparse & | sensor_response, | ||
const Agenda & | iy_main_agenda, | ||
const Agenda & | g0_agenda, | ||
const Numeric & | molarmass_dry_air, | ||
const Numeric & | p_hse, | ||
const Numeric & | z_hse_accuracy, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcTemperaturePerturbations.
Calculates atmospheric temperature jacobians by perturbations.
This function is added to jacobian_agenda by jacobianAddTemperature and should normally not be called by the user.
[in,out] | ws | Workspace |
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
[in] | atmosphere_dim | WS Input |
[in] | p_grid | WS Input |
[in] | lat_grid | WS Input |
[in] | lon_grid | WS Input |
[in] | lat_true | WS Input |
[in] | lon_true | WS Input |
[in] | t_field | WS Input |
[in] | z_field | WS Input |
[in] | vmr_field | WS Input |
[in] | abs_species | WS Input |
[in] | refellipsoid | WS Input |
[in] | z_surface | WS Input |
[in] | cloudbox_on | WS Input |
[in] | stokes_dim | WS Input |
[in] | f_grid | WS Input |
[in] | sensor_pos | WS Input |
[in] | sensor_los | WS Input |
[in] | transmitter_pos | WS Input |
[in] | mblock_za_grid | WS Input |
[in] | mblock_aa_grid | WS Input |
[in] | antenna_dim | WS Input |
[in] | sensor_response | WS Input |
[in] | iy_main_agenda | WS Input |
[in] | g0_agenda | WS Input |
[in] | molarmass_dry_air | WS Input |
[in] | p_hse | WS Input |
[in] | z_hse_accuracy | WS Input |
[in] | jacobian_quantities | WS Input |
[in] | jacobian_indices | WS Input |
Definition at line 1839 of file m_jacobian.cc.
References RetrievalQuantity::Analytical(), get_perturbation_gridpos(), get_perturbation_range(), get_rowindex_for_mblock(), RetrievalQuantity::Grids(), iyb_calc(), joker, mult(), Array< base >::nelem(), Sparse::nrows(), RetrievalQuantity::Perturbation(), perturbation_field_1d(), perturbation_field_2d(), perturbation_field_3d(), RetrievalQuantity::Subtag(), TEMPERATURE_MAINTAG, and z_fieldFromHSE().
Referenced by jacobianCalcTemperaturePerturbations_g().
void jacobianCalcWindAnalytical | ( | Matrix & | jacobian, |
const Index & | mblock_index, | ||
const Vector & | iyb, | ||
const Vector & | yb, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianCalcWindAnalytical.
This function doesn't do anything. It just exists to satisfy the input and output requirement of the jacobian_agenda.
This function is added to jacobian_agenda by jacobianAddWind and should normally not be called by the user.
[out] | jacobian | WS Output |
[in] | mblock_index | WS Input |
[in] | iyb | WS Input |
[in] | yb | WS Input |
Definition at line 2119 of file m_jacobian.cc.
Referenced by jacobianCalcWindAnalytical_g().
void jacobianClose | ( | Workspace & | ws, |
Index & | jacobian_do, | ||
ArrayOfArrayOfIndex & | jacobian_indices, | ||
Agenda & | jacobian_agenda, | ||
const ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
const Matrix & | sensor_pos, | ||
const Sparse & | sensor_response, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianClose.
Closes the array of retrieval quantities and prepares for calculation of the Jacobian matrix.
This function closes the jacobian_quantities array, sets the correct size of jacobian and sets jacobian_do to 1.
Retrieval quantities should not be added after a call to this WSM. No calculations are performed here.
[in,out] | ws | Workspace |
[out] | jacobian_do | WS Output |
[out] | jacobian_indices | WS Output |
[out] | jacobian_agenda | WS Output |
[in] | jacobian_quantities | WS Input |
[in] | sensor_pos | WS Input |
[in] | sensor_response | WS Input |
Definition at line 83 of file m_jacobian.cc.
References Agenda::check(), Array< base >::nelem(), Sparse::nrows(), and ConstMatrixView::nrows().
Referenced by jacobianClose_g().
void jacobianInit | ( | ArrayOfRetrievalQuantity & | jacobian_quantities, |
ArrayOfArrayOfIndex & | jacobian_indices, | ||
Agenda & | jacobian_agenda, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianInit.
Initialises the variables connected to the Jacobian matrix.
This function initialises the jacobian_quantities array so that retrieval quantities can be added to it. Accordingly, it has to be called before any calls to jacobianAddTemperature or similar methods.
The Jacobian quantities are initialised to be empty.
[out] | jacobian_quantities | WS Output |
[out] | jacobian_indices | WS Output |
[out] | jacobian_agenda | WS Output |
Definition at line 144 of file m_jacobian.cc.
References Agenda::set_name().
Referenced by jacobianInit_g(), and jacobianOff().
void jacobianOff | ( | Index & | jacobian_do, |
Agenda & | jacobian_agenda, | ||
ArrayOfRetrievalQuantity & | jacobian_quantities, | ||
ArrayOfArrayOfIndex & | jacobian_indices, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: jacobianOff.
Makes mandatory initialisation of some jacobian variables.
Some jacobian WSVs must be initilised even if no such calculations will be performed and this is handled with this method. That is, this method must be called when no jacobians will be calculated. Sets jacobian_on to 0.
[out] | jacobian_do | WS Output |
[out] | jacobian_agenda | WS Output |
[out] | jacobian_quantities | WS Output |
[out] | jacobian_indices | WS Output |
Definition at line 159 of file m_jacobian.cc.
References jacobianInit().
Referenced by jacobianOff_g().
const String ABSSPECIES_MAINTAG |
const String FREQUENCY_MAINTAG |
const String FREQUENCY_SUBTAG_0 |
Referenced by jacobianAddFreqShift(), and jacobianCalcFreqShift().
const String FREQUENCY_SUBTAG_1 |
Referenced by jacobianAddFreqStretch(), and jacobianCalcFreqStretch().
const Numeric PI |
Referenced by jacobianCalcSinefit().
const String POINTING_CALCMODE_A |
Referenced by jacobianCalcPointingZaRecalc().
const String POINTING_CALCMODE_B |
Referenced by jacobianCalcPointingZaInterp().
const String POINTING_MAINTAG |
const String POINTING_SUBTAG_A |
Referenced by jacobianAddPointingZa().
const String POLYFIT_MAINTAG |
Referenced by jacobianAddPolyfit().
const String SINEFIT_MAINTAG |
Referenced by jacobianAddSinefit().
const String TEMPERATURE_MAINTAG |
Referenced by jacobianAddAbsSpecies(), jacobianAddTemperature(), and jacobianCalcTemperaturePerturbations().
const String WIND_MAINTAG |