#include <math.h>
#include "arts.h"
#include "auto_md.h"
#include "matpackI.h"
#include "messages.h"
#include "auto_wsv.h"
#include "math_funcs.h"
#include "atm_funcs.h"
#include "los.h"
Go to the source code of this file.
Functions | |
void | k_append (Matrix &kx, ArrayOfString &kx_names, ArrayOfIndex &kx_lengths, Matrix &kx_aux, const Matrix &k, const ArrayOfString &k_names, const Matrix &k_aux) |
Appends the K matrix to either Kx or Kb. | |
void | p2grid (Vector &grid, const Vector &pgrid) |
Converts a pressure grid to a grid fitting the grid functions below. | |
void | grid2grid_index (Matrix &is, const Vector &x0, const Vector &xp) |
Gives indecies for conversion between vertical grids. | |
void | grid2grid_weights (Vector &w, const Vector &x0, const Index &i1, const Index &i2, const Vector &xp, const Index &ip) |
Gives weights for conversion between vertical grids. | |
void | grid2grid_weights_total (ArrayOfMatrix &W, const Los &los, const Vector &k_grid) |
Gives weights for conversion between vertical grids. | |
void | absloswfs_rte_1pass (Matrix &k, Vector y, const Index &start_index, const Index &stop_index, const Numeric &lstep, const Matrix &tr, const Matrix &s, const Index &ground, const Vector &e_ground, const Vector &y_ground) |
Calculates absorption LOS WFs f single pass cases. | |
void | absloswfs_rte_limb (Matrix &k, Vector y, const Vector &y_space, const Index &start_index, const Numeric &lstep, const Matrix &tr, const Matrix &s, const Index &ground, const Vector &e_ground) |
Calculates absorption LOS WFs for 1D limb sounding. | |
void | absloswfs_rte_down (Matrix &k, const Vector &y, const Vector &y_space, const Index &start_index, const Index &stop_index, const Numeric &lstep, const Matrix &tr, const Matrix &s, const Index &ground, const Vector &e_ground, const Vector &y_ground) |
Calculates absorption LOS WFs for 1D downward looking observations. | |
void | absloswfs_rte (ArrayOfMatrix &absloswfs, const Los &los, const ArrayOfMatrix &source, const ArrayOfMatrix &trans, const Vector &y, const Vector &y_space, const Vector &f_mono, const Vector &e_ground, const Numeric &t_ground) |
void | absloswfs_tau (ArrayOfMatrix &absloswfs, const Los &los, const Vector &f_mono) |
void | sourceloswfs_1pass (Matrix &k, const Index &start_index, const Index &stop_index, const Matrix &tr, const Index &ground, const Vector &e_ground) |
Calculates source function LOS WFs for single pass cases. | |
void | sourceloswfs_limb (Matrix &k, const Index &start_index, const Matrix &tr, const Index &ground, const Vector &e_ground) |
Calculates source function LOS WFs for 1D limb sounding. | |
void | sourceloswfs_down (Matrix &k, const Index &start_index, const Index &stop_index, const Matrix &tr, const Index &ground, const Vector &e_ground) |
Calculates source function LOS WFs for 1D downward looking observations. | |
void | sourceloswfs (ArrayOfMatrix &sourceloswfs, const Los &los, const ArrayOfMatrix &trans, const Vector &, const Vector &e_ground) |
Calculates source function LOS WFs,. | |
void | k_species (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Los &los, const ArrayOfMatrix &absloswfs, const Vector &p_abs, const Vector &t_abs, const TagGroups &tags, const ArrayOfMatrix &abs_per_tg, const Matrix &vmrs, const Vector &k_grid, const ArrayOfIndex &tg_nr, const String &unit) |
Species WFs for one or several species. | |
void | k_contabs (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Los &los, const ArrayOfMatrix &absloswfs, const Vector &f_mono, const Vector &k_grid, const Index &order, const Numeric &flow, const Numeric &fhigh, const String &lunit) |
WFs for fit of continuum absorption. | |
void | k_temp_nohydro (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const TagGroups &tag_groups, const Los &los, const ArrayOfMatrix &absloswfs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &n2_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const Matrix &abs, const ArrayOfMatrix &trans, const Vector &e_ground, const Vector &k_grid, const ArrayOfString &cont_description_names, const ArrayOfVector &cont_description_parameters, const ArrayOfString &cont_description_models) |
Temparature WFs without hydrostatic eq. | |
void | kb_spectro (Matrix &kb, ArrayOfString &kb_names, Matrix &, Matrix &S_S, const TagGroups &wfss_tgs, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const Los &los, const ArrayOfMatrix &absweight, const Index &IndexPar, const String &StrPar) |
Spectroscopic parameters weighting function. | |
void | kSpectro (Matrix &k, ArrayOfString &k_names, Matrix &, Matrix &S_S, const TagGroups &wfss_tgs, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &z_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const Los &los, const ArrayOfMatrix &absloswfs, const Index &kw_intens, const Index &kw_position, const Index &kw_agam, const Index &kw_sgam, const Index &kw_nair, const Index &kw_nself, const Index &kw_pSift) |
Spectroscopic parameters weighting function. | |
void | wfs_tgsDefine (TagGroups &wfs_tag_groups, const ArrayOfString &tags) |
See the the online help (arts -d FUNCTION_NAME). | |
void | wfss_tgsDefine (TagGroups &wfss_tgs, const ArrayOfString &tags) |
See the the online help (arts -d FUNCTION_NAME). | |
void | absloswfsCalc (ArrayOfMatrix &absloswfs, const Index &emission, const Los &los, const ArrayOfMatrix &source, const ArrayOfMatrix &trans, const Vector &y, const Vector &y_space, const Vector &f_mono, const Vector &e_ground, const Numeric &t_ground) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kSpecies (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Los &los, const ArrayOfMatrix &absloswfs, const Vector &p_abs, const Vector &t_abs, const TagGroups &wfs_tgs, const ArrayOfMatrix &abs_per_tg, const Matrix &vmrs, const Vector &k_grid, const String &unit) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kSpeciesSingle (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Los &los, const ArrayOfMatrix &absloswfs, const Vector &p_abs, const Vector &t_abs, const TagGroups &wfs_tgs, const ArrayOfMatrix &abs_per_tg, const Matrix &vmrs, const Vector &k_grid, const String &tg, const String &unit) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kContAbs (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Los &los, const ArrayOfMatrix &absloswfs, const Vector &f_mono, const Vector &k_grid, const Index &order, const Numeric &f_low, const Numeric &f_high, const String &l_unit) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kTemp (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &n2_abs, const Vector &h2o_abs, const Matrix &vmrs, const Matrix &abs0, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const Vector &e_ground, const Index &emission, const Vector &k_grid, const ArrayOfString &cont_description_names, const ArrayOfVector &cont_description_parameters, const ArrayOfString &cont_description_models, const Los &los, const ArrayOfMatrix &absloswfs, const ArrayOfMatrix &trans, const Numeric &z_plat, const Vector &za, const Numeric &l_step, const Vector &z_abs, const Index &refr, const Index &refr_lfac, const Vector &refr_index, const String &refr_model, const Numeric &z_ground, const Numeric &t_ground, const Vector &y_space, const Numeric &r_geoid, const Vector &hse, const Index &kw_hse, const Index &kw_fast) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kFrequencyOffSet (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const TagGroups &tgs, const Vector &f_mono, const Vector &p_abs, const Vector &t_abs, const Vector &n2_abs, const Vector &h2o_abs, const Matrix &vmrs, const ArrayOfArrayOfLineRecord &lines_per_tg, const ArrayOfLineshapeSpec &lineshape, const Vector &e_ground, const Index &emission, const ArrayOfString &cont_description_names, const ArrayOfVector &cont_description_parameters, const ArrayOfString &cont_description_models, const Los &los, const Numeric &t_ground, const Vector &y_space, const Vector &y, const Numeric &delta, const String &f_unit) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kPointingOffSet (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Numeric &z_plat, const Vector &za_pencil, const Numeric &l_step, const Vector &p_abs, const Vector &z_abs, const Vector &t_abs, const Vector &f_mono, const Index &refr, const Index &refr_lfac, const Vector &refr_index, const Numeric &z_ground, const Numeric &r_geoid, const Matrix &abs, const Index &emission, const Vector &y_space, const Vector &e_ground, const Numeric &t_ground, const Vector &y, const Numeric &delta) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kEground (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Vector &za_pencil, const Vector &f_mono, const Index &emission, const Vector &y_space, const Vector &e_ground, const Numeric &t_ground, const Los &los, const ArrayOfMatrix &source, const ArrayOfMatrix &trans, const Index &single_e) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kCalibration (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Vector &y, const Vector &f_mono, const Vector &y0, const String &) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kManual (Matrix &k, ArrayOfString &k_names, Matrix &k_aux, const Vector &y0, const Vector &y, const String &name, const Numeric &delta, const Numeric &grid, const Numeric &apriori) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kxInit (Matrix &kx, ArrayOfString &kx_names, ArrayOfIndex &kx_lengths, Matrix &kx_aux) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kbInit (Matrix &kb, ArrayOfString &kb_names, ArrayOfIndex &kb_lengths, Matrix &kb_aux) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kxAppend (Matrix &kx, ArrayOfString &kx_names, ArrayOfIndex &kx_lengths, Matrix &kx_aux, const Matrix &k, const ArrayOfString &k_names, const Matrix &k_aux) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kbAppend (Matrix &kb, ArrayOfString &kb_names, ArrayOfIndex &kb_lengths, Matrix &kb_aux, const Matrix &k, const ArrayOfString &k_names, const Matrix &k_aux) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kxAllocate (Matrix &kx, ArrayOfString &kx_names, ArrayOfIndex &kx_lengths, Matrix &kx_aux, const Vector &y, const String &, const Index &ni, const Index &nx) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kbAllocate (Matrix &kb, ArrayOfString &kb_names, ArrayOfIndex &kb_lengths, Matrix &kb_aux, const Vector &y, const String &y_name, const Index &ni, const Index &nx) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kxPutInK (Matrix &kx, ArrayOfString &kx_names, ArrayOfIndex &kx_lengths, Matrix &kx_aux, const Matrix &k, const ArrayOfString &k_names, const Matrix &k_aux) |
See the the online help (arts -d FUNCTION_NAME). | |
void | kbPutInK (Matrix &kb, ArrayOfString &kb_names, ArrayOfIndex &kb_lengths, Matrix &kb_aux, const Matrix &k, const ArrayOfString &k_names, const Matrix &k_aux) |
See the the online help (arts -d FUNCTION_NAME). | |
Variables | |
const Numeric | PLANCK_CONST |
const Numeric | BOLTZMAN_CONST |
Calculation of WFs are described in the AUG sections "Atmospheric WFs" and "Measurement errors".
Definition in file m_wfs.cc.
void absloswfs_rte | ( | ArrayOfMatrix & | absloswfs, | |
const Los & | los, | |||
const ArrayOfMatrix & | source, | |||
const ArrayOfMatrix & | trans, | |||
const Vector & | y, | |||
const Vector & | y_space, | |||
const Vector & | f_mono, | |||
const Vector & | e_ground, | |||
const Numeric & | t_ground | |||
) |
void absloswfs_rte_1pass | ( | Matrix & | k, | |
Vector | y, | |||
const Index & | start_index, | |||
const Index & | stop_index, | |||
const Numeric & | lstep, | |||
const Matrix & | tr, | |||
const Matrix & | s, | |||
const Index & | ground, | |||
const Vector & | e_ground, | |||
const Vector & | y_ground | |||
) |
Calculates absorption LOS WFs f single pass cases.
Help function for absloswfsCalc treating a single zenith angle.
This function covers cases where each point is passed once. That is 1D limb sounding and downward observatiuons are not covered.
The expression used are described in sub-section 2.1 of the AUG section "Atmospheric WFs".
k | abs. LOS WFs |
y | spectrum vector | |
start_index | start LOS index for iteration | |
stop_index | stop LOS index for iteration | |
lstep | length between LOS points | |
tr | transmissions | |
s | source function values | |
ground | ground flag | |
e_ground | ground emissivity | |
y_ground | ground emission |
void absloswfs_rte_down | ( | Matrix & | k, | |
const Vector & | y, | |||
const Vector & | y_space, | |||
const Index & | start_index, | |||
const Index & | stop_index, | |||
const Numeric & | lstep, | |||
const Matrix & | tr, | |||
const Matrix & | s, | |||
const Index & | ground, | |||
const Vector & | e_ground, | |||
const Vector & | y_ground | |||
) |
Calculates absorption LOS WFs for 1D downward looking observations.
Help function for absloswfsCalc treating a single zenith angle.
The expression used are described in sub-section 2.3 of the AUG section "Atmospheric WFs".
k | abs. LOS WFs |
y | spectrum vector | |
y_space | cosmic radiation | |
start_index | start LOS index for iteration | |
stop_index | stop LOS index for iteration | |
lstep | length between LOS points | |
tr | transmissions | |
s | source function values | |
ground | ground flag | |
e_ground | ground emissivity | |
y_ground | ground emission |
void absloswfs_rte_limb | ( | Matrix & | k, | |
Vector | y, | |||
const Vector & | y_space, | |||
const Index & | start_index, | |||
const Numeric & | lstep, | |||
const Matrix & | tr, | |||
const Matrix & | s, | |||
const Index & | ground, | |||
const Vector & | e_ground | |||
) |
Calculates absorption LOS WFs for 1D limb sounding.
Help function for absloswfsCalc treating a single zenith angle.
The expression used are described in sub-section 2.2 of the AUG section "Atmospheric WFs".
k | abs. LOS WFs |
y | spectrum vector | |
y_space | cosmic radiation | |
start_index | start LOS index for iteration | |
lstep | length between LOS points | |
tr | transmissions | |
s | source function values | |
ground | ground flag | |
e_ground | ground emissivity |
void absloswfs_tau | ( | ArrayOfMatrix & | absloswfs, | |
const Los & | los, | |||
const Vector & | f_mono | |||
) |
void absloswfsCalc | ( | ArrayOfMatrix & | absloswfs, | |
const Index & | emission, | |||
const Los & | los, | |||
const ArrayOfMatrix & | source, | |||
const ArrayOfMatrix & | trans, | |||
const Vector & | y, | |||
const Vector & | y_space, | |||
const Vector & | f_mono, | |||
const Vector & | e_ground, | |||
const Numeric & | t_ground | |||
) |
Gives indecies for conversion between vertical grids.
This function gives the indeces of the grid points affected by a change at a set of retrieval points. That is, a first step to calculate dkappa/dkp (see Equation 4 of the AUG section on "Basic atmospheric WFs). The second step is performed by the function GRID2GRID_WEIGHTS found below.
This function can be used to convert LOS WFs to WFs for vertical altitudes.
The profile/function for the retrieved quantity is treated to be piecewise linear. With other words, the base functions are tenth functions. The functions areis treated to be 0 outside the end points.
The function returns a 2 column matrix, where column 1 is the lowest index affected and column 2 the highest index. If no points are affected -1 are returned.
An example:
x0 = [1 2 3 4 5 6 7] and
xp = [0 1 2 3 4.5 5 5.5 6 8] gives
Is = [-1 -1 0 0 1 1 2 3 3 3 4 4 -1 -1 5 6 6 6 ]
Note that the XP point 5.5 gives -1 as this point not embraces any point of X0 as there are retrieval points at the neighbouring X0 points.
X0 is the original grid. For example, the LOS grid. XP is the retrieval grid. For example, vertical altitudes.
Both vectors most be sorted with increasing values. The length of XP must be > 1.
The algorithm used here is not the most effective. However, more elaborated algorithms were tested but they failed for some special case, and instead a simplistic approach was used.
is | two column matrix with indecies of x0 |
x0 | grid for some variable | |
xp | retrieval grid |
void grid2grid_weights | ( | Vector & | w, | |
const Vector & | x0, | |||
const Index & | i1, | |||
const Index & | i2, | |||
const Vector & | xp, | |||
const Index & | ip | |||
) |
Gives weights for conversion between vertical grids.
This function returns the derivative dkappa/dkp (see the AUG section on "Atmospheric WFs"), here dennoted as the weight, for the indeces selected.
This is an accompanying function to GRID2GRID_INDEX. This latter function gives the indeces for which the weight > 0.
The weight is
w = abs( (x0-xp(ip+-1)) / (xp(ip)-xp(ip+-1)))
where x0 is the point of the original grid (kappa), xp(ip) is the considered retrieval point and xp(ip+-1) is the retrieval point on the other side of x0.
w | weights for each point in x0 |
x0 | the original grid, e.g. the LOS grid. | |
i1 | first index of x0 to consider | |
i2 | last index of x0 to consider | |
xp | retrieval grid, e.g. vertical altitudes | |
ip | index of retrieval point |
void grid2grid_weights_total | ( | ArrayOfMatrix & | W, | |
const Los & | los, | |||
const Vector & | k_grid | |||
) |
Gives weights for conversion between vertical grids.
This function returns the derivative dkappa/dk (see the AUG section on "Atmospheric WFs"), here dennoted as the weight, for the grid specified by k_grid.
This uses GRID2GRID_WEIGHTS function which calculate the weights for a single grid point
W | weights for each point in x0 |
Los | structure for the line of sight | |
k_grid | the grid to calculate the weights |
void k_append | ( | Matrix & | kx, | |
ArrayOfString & | kx_names, | |||
ArrayOfIndex & | kx_lengths, | |||
Matrix & | kx_aux, | |||
const Matrix & | k, | |||
const ArrayOfString & | k_names, | |||
const Matrix & | k_aux | |||
) |
Appends the K matrix to either Kx or Kb.
Output matrix kx is resized!
kx | the Kx matrix | |
kx_names | identity names for KX | |
kx_index | identity indecies KX | |
kx_aux | additional data KX |
k | the K matrix | |
k_names | identity names for K | |
k_aux | additional data K |
void k_contabs | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absloswfs, | |||
const Vector & | f_mono, | |||
const Vector & | k_grid, | |||
const Index & | order, | |||
const Numeric & | flow, | |||
const Numeric & | fhigh, | |||
const String & | lunit | |||
) |
WFs for fit of continuum absorption.
Calculates semi-analytical WFs for fit of continuum absorption using precalculated absorption LOS WFs.
The expression used are described in sub-section 6 of the AUG section "Atmospheric WFs".
The continuum is fitted be determining an off-set at a number of points (order+1) that are evenly spread between the given frequencies. The weighting functions are zero outside these limits.
k | weighting function matrix | |
k_names | identity name(s) | |
k_aux | additional data |
los | line of sight structure | |
absloswfs | absorption LOS Wfs | |
f_mono | frequency absoprtion grid | |
k_grid | retrieval grid | |
order | polynomial order | |
flow | lower frequency limit of fit | |
fhigh | upper frequency limit of fit |
void k_species | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absloswfs, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const TagGroups & | tags, | |||
const ArrayOfMatrix & | abs_per_tg, | |||
const Matrix & | vmrs, | |||
const Vector & | k_grid, | |||
const ArrayOfIndex & | tg_nr, | |||
const String & | unit | |||
) |
Species WFs for one or several species.
Calculates semi-analytical WFs for one or several species using precalculated absorption LOS WFs.
The expression used are described in sub-section 5 of the AUG section "Atmospheric WFs".
The avaliable units are 1 fractions of linearisation state 2 volume mixing ratio 3 number density
k | weighting function matrix | |
k_names | identity name(s) | |
k_aux | additional data |
los | line of sight structure | |
absloswfs | absorption LOS Wfs | |
p_abs | pressure grid for abs. calculations | |
t_abs | temperatures at p_abs | |
tags | all tags | |
abs_per_tg | absorption for each tag | |
vmrs | VMR profiles at p_abs | |
k_grid | retrieval grid | |
tg_nr | WFs are calculated for these tag index | |
unit | unit for the WFs (see above) |
void k_temp_nohydro | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const TagGroups & | tag_groups, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absloswfs, | |||
const Vector & | f_mono, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const Vector & | n2_abs, | |||
const Vector & | h2o_abs, | |||
const Matrix & | vmrs, | |||
const ArrayOfArrayOfLineRecord & | lines_per_tg, | |||
const ArrayOfLineshapeSpec & | lineshape, | |||
const Matrix & | abs, | |||
const ArrayOfMatrix & | trans, | |||
const Vector & | e_ground, | |||
const Vector & | k_grid, | |||
const ArrayOfString & | cont_description_names, | |||
const ArrayOfVector & | cont_description_parameters, | |||
const ArrayOfString & | cont_description_models | |||
) |
Temparature WFs without hydrostatic eq.
Calculates temperature 1D weighting functions WITHOUT including hydrostatic equilibrium. The function uses precalculated absorption LOS WFs, while source function LOS WFs are calculated inside the function.
The expression used are described in sub-section 7 of the AUG section "Atmospheric WFs".
k | weighting function matrix | |
k_names | identity name(s) | |
k_aux | additional data |
tag_groups | The list of tag groups | |
los | line of sight structure | |
absloswfs | absorption LOS Wfs | |
f_mono | frequency absorption grid | |
p_abs | pressure grid for abs. calculations | |
t_abs | temperatures at p_abs | |
vmrs | VMR profiles at p_abs | |
lines_per_tg | lines tag sorted | |
lineshape | lineshape specifications: function, norm, cutoff | |
abs | total absorption | |
trans | transmissions | |
e_ground | ground emissivity | |
k_grid | retrieval grid | |
cont_description_names | names of different continuum models | |
cont_description_parameters | continuum parameters for the models listed in cont_description_names |
void kb_spectro | ( | Matrix & | kb, | |
ArrayOfString & | kb_names, | |||
Matrix & | , | |||
Matrix & | S_S, | |||
const TagGroups & | wfss_tgs, | |||
const TagGroups & | tgs, | |||
const Vector & | f_mono, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const Vector & | h2o_abs, | |||
const Matrix & | vmrs, | |||
const ArrayOfArrayOfLineRecord & | lines_per_tg, | |||
const ArrayOfLineshapeSpec & | lineshape, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absweight, | |||
const Index & | IndexPar, | |||
const String & | StrPar | |||
) |
Spectroscopic parameters weighting function.
Calculates temperature 1D weighting functions for the spectroscopic parameters The function uses precalculated absorption LOS WFs
The expression used are described in sub-section 7 of the AUG section "Atmospheric WFs".
kb | weighting function matrix | |
kb_names | identity name(s) | |
kb_aux | additional data | |
S_S | matrix keeping the spectrposcopic parameters uncertainties |
wfss_tgs | list of the tag groups to calculate the spectro weighting function this is useful when the number of lines is large and lines of one species have to be ignored | |
tgs | the list of tag groups | |
f_mono | frequency absorption grid | |
p_abs | pressure grid for abs. calculations | |
t_abs | temperatures at p_abs | |
h2o_abs | for h2o absorption | |
vmrs | VMR profiles at p_abs | |
lines_per_tg | lines tag sorted | |
lineshape | lineshape specifications: function, norm, cutoff | |
los | line of sight structure | |
absweight | weight for absorption LOS Wfs | |
IndexPar | index for the spectroscopic parameter | |
StrPar | name of the spectroscopic parameter |
void kbAllocate | ( | Matrix & | kb, | |
ArrayOfString & | kb_names, | |||
ArrayOfIndex & | kb_lengths, | |||
Matrix & | kb_aux, | |||
const Vector & | y, | |||
const String & | y_name, | |||
const Index & | ni, | |||
const Index & | nx | |||
) |
void kbAppend | ( | Matrix & | kb, | |
ArrayOfString & | kb_names, | |||
ArrayOfIndex & | kb_lengths, | |||
Matrix & | kb_aux, | |||
const Matrix & | k, | |||
const ArrayOfString & | k_names, | |||
const Matrix & | k_aux | |||
) |
void kbInit | ( | Matrix & | kb, | |
ArrayOfString & | kb_names, | |||
ArrayOfIndex & | kb_lengths, | |||
Matrix & | kb_aux | |||
) |
void kbPutInK | ( | Matrix & | kb, | |
ArrayOfString & | kb_names, | |||
ArrayOfIndex & | kb_lengths, | |||
Matrix & | kb_aux, | |||
const Matrix & | k, | |||
const ArrayOfString & | k_names, | |||
const Matrix & | k_aux | |||
) |
void kEground | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const Vector & | za_pencil, | |||
const Vector & | f_mono, | |||
const Index & | emission, | |||
const Vector & | y_space, | |||
const Vector & | e_ground, | |||
const Numeric & | t_ground, | |||
const Los & | los, | |||
const ArrayOfMatrix & | source, | |||
const ArrayOfMatrix & | trans, | |||
const Index & | single_e | |||
) |
void kFrequencyOffSet | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const TagGroups & | tgs, | |||
const Vector & | f_mono, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const Vector & | n2_abs, | |||
const Vector & | h2o_abs, | |||
const Matrix & | vmrs, | |||
const ArrayOfArrayOfLineRecord & | lines_per_tg, | |||
const ArrayOfLineshapeSpec & | lineshape, | |||
const Vector & | e_ground, | |||
const Index & | emission, | |||
const ArrayOfString & | cont_description_names, | |||
const ArrayOfVector & | cont_description_parameters, | |||
const ArrayOfString & | cont_description_models, | |||
const Los & | los, | |||
const Numeric & | t_ground, | |||
const Vector & | y_space, | |||
const Vector & | y, | |||
const Numeric & | delta, | |||
const String & | f_unit | |||
) |
void kPointingOffSet | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const Numeric & | z_plat, | |||
const Vector & | za_pencil, | |||
const Numeric & | l_step, | |||
const Vector & | p_abs, | |||
const Vector & | z_abs, | |||
const Vector & | t_abs, | |||
const Vector & | f_mono, | |||
const Index & | refr, | |||
const Index & | refr_lfac, | |||
const Vector & | refr_index, | |||
const Numeric & | z_ground, | |||
const Numeric & | r_geoid, | |||
const Matrix & | abs, | |||
const Index & | emission, | |||
const Vector & | y_space, | |||
const Vector & | e_ground, | |||
const Numeric & | t_ground, | |||
const Vector & | y, | |||
const Numeric & | delta | |||
) |
void kSpecies | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absloswfs, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const TagGroups & | wfs_tgs, | |||
const ArrayOfMatrix & | abs_per_tg, | |||
const Matrix & | vmrs, | |||
const Vector & | k_grid, | |||
const String & | unit | |||
) |
void kSpeciesSingle | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absloswfs, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const TagGroups & | wfs_tgs, | |||
const ArrayOfMatrix & | abs_per_tg, | |||
const Matrix & | vmrs, | |||
const Vector & | k_grid, | |||
const String & | tg, | |||
const String & | unit | |||
) |
void kSpectro | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | , | |||
Matrix & | S_S, | |||
const TagGroups & | wfss_tgs, | |||
const TagGroups & | tgs, | |||
const Vector & | f_mono, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const Vector & | z_abs, | |||
const Vector & | h2o_abs, | |||
const Matrix & | vmrs, | |||
const ArrayOfArrayOfLineRecord & | lines_per_tg, | |||
const ArrayOfLineshapeSpec & | lineshape, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absloswfs, | |||
const Index & | kw_intens, | |||
const Index & | kw_position, | |||
const Index & | kw_agam, | |||
const Index & | kw_sgam, | |||
const Index & | kw_nair, | |||
const Index & | kw_nself, | |||
const Index & | kw_pSift | |||
) |
Spectroscopic parameters weighting function.
Calculates temperature 1D weighting functions for the spectroscopic parameters The function uses precalculated absorption LOS WFs.
The expression used are described in sub-section 7 of the AUG section "Atmospheric WFs". See the the online help (arts -d FUNCTION_NAME)
k | weighting function matrix | |
k_names | identity name(s) | |
k_aux | additional data | |
S_S | matrix keeping the spectrposcopic parameters uncertainties |
wfss_tgs | list of the tag groups to calculate the spectro weighting function this is useful when the number of lines is large and lines of one species have to be ignored | |
tgs | the list of tag groups | |
f_mono | frequency absorption grid | |
p_abs | pressure grid for abs. calculations | |
t_abs | temperatures at p_abs | |
z_abs | altitude grid for abs. calculations | |
h2o_abs | for h2o abs. | |
vmrs | VMR profiles at p_abs | |
lines_per_tg | lines tag sorted | |
lineshape | lineshape specifications: function, norm, cutoff | |
los | line of sight structure | |
absloswfs | absorption LOS Wfs |
void kTemp | ( | Matrix & | k, | |
ArrayOfString & | k_names, | |||
Matrix & | k_aux, | |||
const TagGroups & | tgs, | |||
const Vector & | f_mono, | |||
const Vector & | p_abs, | |||
const Vector & | t_abs, | |||
const Vector & | n2_abs, | |||
const Vector & | h2o_abs, | |||
const Matrix & | vmrs, | |||
const Matrix & | abs0, | |||
const ArrayOfArrayOfLineRecord & | lines_per_tg, | |||
const ArrayOfLineshapeSpec & | lineshape, | |||
const Vector & | e_ground, | |||
const Index & | emission, | |||
const Vector & | k_grid, | |||
const ArrayOfString & | cont_description_names, | |||
const ArrayOfVector & | cont_description_parameters, | |||
const ArrayOfString & | cont_description_models, | |||
const Los & | los, | |||
const ArrayOfMatrix & | absloswfs, | |||
const ArrayOfMatrix & | trans, | |||
const Numeric & | z_plat, | |||
const Vector & | za, | |||
const Numeric & | l_step, | |||
const Vector & | z_abs, | |||
const Index & | refr, | |||
const Index & | refr_lfac, | |||
const Vector & | refr_index, | |||
const String & | refr_model, | |||
const Numeric & | z_ground, | |||
const Numeric & | t_ground, | |||
const Vector & | y_space, | |||
const Numeric & | r_geoid, | |||
const Vector & | hse, | |||
const Index & | kw_hse, | |||
const Index & | kw_fast | |||
) |
void kxAllocate | ( | Matrix & | kx, | |
ArrayOfString & | kx_names, | |||
ArrayOfIndex & | kx_lengths, | |||
Matrix & | kx_aux, | |||
const Vector & | y, | |||
const String & | , | |||
const Index & | ni, | |||
const Index & | nx | |||
) |
void kxAppend | ( | Matrix & | kx, | |
ArrayOfString & | kx_names, | |||
ArrayOfIndex & | kx_lengths, | |||
Matrix & | kx_aux, | |||
const Matrix & | k, | |||
const ArrayOfString & | k_names, | |||
const Matrix & | k_aux | |||
) |
void kxInit | ( | Matrix & | kx, | |
ArrayOfString & | kx_names, | |||
ArrayOfIndex & | kx_lengths, | |||
Matrix & | kx_aux | |||
) |
void kxPutInK | ( | Matrix & | kx, | |
ArrayOfString & | kx_names, | |||
ArrayOfIndex & | kx_lengths, | |||
Matrix & | kx_aux, | |||
const Matrix & | k, | |||
const ArrayOfString & | k_names, | |||
const Matrix & | k_aux | |||
) |
Converts a pressure grid to a grid fitting the grid functions below.
-log(p) is used as altitude variable. The minus is included to get increasing values, a demand for the grid functions.
grid | -log(pgrid) |
pgrid | pressure grid for some variable |
void sourceloswfs | ( | ArrayOfMatrix & | sourceloswfs, | |
const Los & | los, | |||
const ArrayOfMatrix & | trans, | |||
const Vector & | , | |||
const Vector & | e_ground | |||
) |
Calculates source function LOS WFs,.
Main function for calulation of source function LOS WFs..
The expression used are described in sub-section 2.3 of the AUG section "Atmospheric WFs".
sourceloswfs | source LOS WFs |
los | line of sight structure | |
tr | transmissions | |
e_ground | ground emissivity |
void sourceloswfs_1pass | ( | Matrix & | k, | |
const Index & | start_index, | |||
const Index & | stop_index, | |||
const Matrix & | tr, | |||
const Index & | ground, | |||
const Vector & | e_ground | |||
) |
Calculates source function LOS WFs for single pass cases.
Help function for sourceloswfs treating a single zenith angle.
This function covers cases where each point is passed once. That is 1D limb sounding and downward observatiuons are not covered.
The expression used are described in sub-section 3.1 of the AUG section "Atmospheric WFs".
k | source LOS WFs |
start_index | start LOS index for iteration | |
stop_index | stop LOS index for iteration | |
tr | transmissions | |
ground | ground flag | |
e_ground | ground emissivity |
void sourceloswfs_down | ( | Matrix & | k, | |
const Index & | start_index, | |||
const Index & | stop_index, | |||
const Matrix & | tr, | |||
const Index & | ground, | |||
const Vector & | e_ground | |||
) |
Calculates source function LOS WFs for 1D downward looking observations.
Help function for sourceloswfs treating a single zenith angle.
The expression used are described in sub-section 3.3 of the AUG section "Atmospheric WFs".
k | abs. LOS WFs |
start_index | start LOS index for iteration | |
stop_index | stop LOS index for iteration | |
tr | transmissions | |
ground | ground flag | |
e_ground | ground emissivity |
void sourceloswfs_limb | ( | Matrix & | k, | |
const Index & | start_index, | |||
const Matrix & | tr, | |||
const Index & | ground, | |||
const Vector & | e_ground | |||
) |
Calculates source function LOS WFs for 1D limb sounding.
Help function for sourceloswfs treating a single zenith angle.
The expression used are described in sub-section 3.2 of the AUG section "Atmospheric WFs".
k | abs. LOS WFs |
start_index | start LOS index for iteration | |
tr | transmissions | |
ground | ground flag | |
e_ground | ground emissivity |
void wfs_tgsDefine | ( | TagGroups & | wfs_tag_groups, | |
const ArrayOfString & | tags | |||
) |
void wfss_tgsDefine | ( | TagGroups & | wfss_tgs, | |
const ArrayOfString & | tags | |||
) |
const Numeric BOLTZMAN_CONST |
const Numeric PLANCK_CONST |