ARTS
2.5.11 (git: 6827797f)
workspace.cc
Go to the documentation of this file.
1
13
#include "
workspace.h
"
14
#include "
tokval_io.h
"
15
16
// Some #defines to make the records better readable:
17
#define NAME(x) x
18
#define DESCRIPTION(x) x
19
#define GROUP(x) x
20
21
namespace
global_data
{
22
Array<WsvRecord>
wsv_data
;
23
24
std::map<String, Index>
WsvMap
;
25
}
// namespace global_data
26
27
using
global_data::wsv_data
;
28
29
void
define_wsv_data
() {
30
//--------------------< Build the wsv data >--------------------
31
// Initialize to empty, just in case.
32
wsv_data.resize(0);
33
34
/* Templace record entry:
35
36
wsv_data.push_back
37
(WsvRecord
38
( NAME( "workspace_variable_name" ),
39
DESCRIPTION
40
(
41
"Brief description of the variable (1 line).\n"
42
"\n"
43
"Detailed description of the variable. Don't be too short here,\n"
44
"this is the main place where your documentation should be. I\n"
45
"really recommend to edit this in a text buffer, so that you can\n"
46
"do some re-formatting until it looks nice. Only at the end put it\n"
47
"in quotes and add the line breaks.\n"
48
"\n"
49
"Use blank lines to separate paragraphs. There really should be a\n"
50
"detailed descriptions of all component of your variable, if it\n"
51
"has a complicated type. Also some detailed discussion of the\n"
52
"dimensions if necessary. Also some detailed discussion of the\n"
53
"members if your variable is a structure.\n"
54
"\n"
55
"Usage: Set by user (or "Method output.")\n"
56
"\n"
57
"Units: E.g., kg/m\n"
58
"\n"
59
"Dimensions: [ first dimension, second dimension, ... ]\n"
60
"or\n"
61
"Size: [ .., nrows, ncols ]\n"
62
"\n"
63
"Members: Here you would list the members if your\n"
64
" variable is a structure.\n"
65
"\n"
66
"Dimensions: [x, y]\n"
67
"\n"
68
"Unit: Which unit this variable uses\n"
69
"\n"
70
"Give the keywords above only if they apply, i.e., Members only\n"
71
"for a structure, Units only for a physical variable.\n"
72
"Use either Dimensions or Size, depending on what is most appropiate\n"
73
"for the variable.\n"
74
),
75
GROUP( "VariableType" )));
76
77
*/
78
79
/*----------------------------------------------------------------------
80
Let's put in the variables in alphabetical order. This gives a clear
81
rule for where to place a new variable and this gives a nicer
82
results when the methods are listed by "arts -w all". No
83
distinction is made between uppercase and lowercase letters. The
84
sign "_" comes after all letters.
85
Patrick Eriksson 2002-05-08
86
----------------------------------------------------------------------*/
87
88
wsv_data.push_back(
WsvRecord
(
89
NAME
(
"aa_grid"
),
90
DESCRIPTION
(
91
"Azimuthal angle grid.\n"
92
"\n"
93
"The azimutal angle grid, on which the *cloudbox_field* is stored. \n"
94
"This grid is used for RT calculations inside the cloudbox, \n"
95
"therefore one has to define it if the cloudbox is activated by \n"
96
"the flag *cloudbox_on*. Furthermore the zenith angle grid is also used"
97
"for RT calculations of clear-sky *spectral radiance field*.\n"
98
"The grid must be sorted in increasing order, with no repetitions.\n"
99
"\n"
100
"Usage: Set by the user.\n"
101
"\n"
102
"Unit: degrees \n"
),
103
GROUP
(
"Vector"
)));
104
105
wsv_data.push_back(
WsvRecord
(
106
NAME
(
"aa_index"
),
107
DESCRIPTION
(
108
"Azimuth angle index for scattering calculations.\n"
109
"\n"
110
"This variable is used in methods used for computing scattering\n"
111
"properties. \n"
112
"It holds the information about the azimuth angles for which the \n"
113
"scattering calculations are done. The angles used for computing \n"
114
"scattering properties of particles can be different from that used \n"
115
"for radiative transfer calculation. \n"
116
"\n"
117
"Usage: Method output.\n"
),
118
GROUP
(
"Index"
)));
119
120
wsv_data.push_back(
WsvRecord
(
121
NAME
(
"abs_cia_data"
),
122
DESCRIPTION
(
123
"HITRAN Collision Induced Absorption (CIA) Data.\n"
124
"\n"
125
"This variable holds HITRAN CIA data (binary absorption\n"
126
"cross-sections). The data itself is described in: Richard, C. et al.\n"
127
"(2012), New section of the HITRAN database: Collision-induced\n"
128
"absorption (CIA), J. Quant. Spectrosc. Radiat. Transfer, 113,\n"
129
"1276-1285, doi:10.1016/j.jqsrt.2011.11.004.\n"
130
" \n"
131
"The binary absorption cross-sections have to be multiplied with the\n"
132
"densities of both molecules to get absorption coefficients.\n"
133
"\n"
134
"Dimensions:\n"
135
"\n"
136
"The outer array dimension in the ArrayOfArrayOfCIARecord is the same\n"
137
"as that of *abs_species*. There will be CIA data only for those\n"
138
"species that contain a CIA tag, for all other species it will be\n"
139
"empty. The inner array dimension corresponds to the number of CIA tags\n"
140
"for this species (there could be for example both N2-N2 and N2-H2) in\n"
141
"the same species.\n"
142
"\n"
143
"The CIA *abs_species* tags are described in *abs_speciesSet*.\n"
144
"\n"
145
"Each individual CIARecord holds the complete information from one\n"
146
"HITRAN CIA file. For the given pair of molecules A HITRAN CIA data\n"
147
"file can hold several datasets (data for different temperatures but\n"
148
"fixed frequency range).\n"
149
"\n"
150
"Units: \n"
151
"Frequencies: Hz\n"
152
"Binary absorption cross-sections: m^5*molecule^-2\n"
),
153
GROUP
(
"ArrayOfCIARecord"
)));
154
155
wsv_data.push_back(
WsvRecord
(
156
NAME
(
"abs_f_interp_order"
),
157
DESCRIPTION
(
158
"Frequency interpolation order for absorption lookup table.\n"
159
"\n"
160
"The interpolation order to use when interpolating the absorption\n"
161
"lookup table in frequency. This is in particular needed for\n"
162
"calculations with Doppler shift, so that absorption is interpolated to\n"
163
"the shifted frequency grid. One is linear interpolation, two\n"
164
"quadratic, and so on.\n"
165
"\n"
166
"As a special case, order 0 in this particular case means no\n"
167
"interpolation. In that case f_grid must match exactly the grid inside\n"
168
"the lookup table. This is the global default value.\n"
),
169
GROUP
(
"Index"
), Index{0}));
170
171
172
wsv_data.push_back(
WsvRecord
(
173
NAME
(
"abs_hitran_relmat_data"
),
174
DESCRIPTION
(
175
"HITRAN line mixing data to compute the relaxation matrix.\n"
176
"\n"
177
"This variable holds HITRAN line mixing data\n"
178
"as per J. Lamouroux, L. Realia, X. Thomas, et al., J.Q.S.R.T. 151 (2015), 88-96\n"
179
"\n"
180
"It is used for absorption bands with these population tags:\n"
181
"\tByHITRANFullRelmat\n"
182
"\tByHITRANRosenkranzRelmat\n"
),
183
GROUP
(
"HitranRelaxationMatrixData"
)));
184
185
wsv_data.push_back(
WsvRecord
(
NAME
(
"abs_lines"
),
186
DESCRIPTION
(
"A list of spectral line data.\n"
),
187
GROUP
(
"ArrayOfAbsorptionLines"
)));
188
189
wsv_data.push_back(
WsvRecord
(
190
NAME
(
"abs_lines_per_species"
),
191
DESCRIPTION
(
192
"A list of spectral line data for each tag.\n"
193
"\n"
194
"Dimensions: [*abs_species*.nelem()][Depends on how many bands there are in *abs_lines*]\n"
),
195
GROUP
(
"ArrayOfArrayOfAbsorptionLines"
)));
196
197
wsv_data.push_back(
WsvRecord
(
198
NAME
(
"abs_lookup"
),
199
DESCRIPTION
(
200
"An absorption lookup table.\n"
201
"\n"
202
"It holds an absorption lookup table, as well as all information that\n"
203
"is necessary to use the table to extract absorption. Extraction\n"
204
"routines are implemented as member functions. \n"
205
"\n"
206
"It has quite a complicated structure. For details see the Arts User\n"
207
"Guide section \"The gas absorption lookup table\" or the source code\n"
208
"documentation in gas_abs_lookup.h.\n"
),
209
GROUP
(
"GasAbsLookup"
)));
210
211
wsv_data.push_back(
WsvRecord
(
212
NAME
(
"abs_nls"
),
213
DESCRIPTION
(
214
"Nonlinear species for absorption lookup table generation.\n"
215
"\n"
216
"A list of absorption species that should be treated non-linearly.\n"
217
"This means that the H2O VMR should be varied when calculating the\n"
218
"lookup table for those species.\n"
219
"\n"
220
"A typical example is for this to containt the Rosenkranz full\n"
221
"absorption model species for water vapor and oxygen \n"
222
"([\"H2O-PWR98\", \"O2-PWR93\"]).\n"
223
"\n"
224
"See user guide and online documentation of *abs_lookupCalc*\n"
225
"for more details and usage examples.\n"
),
226
GROUP
(
"ArrayOfArrayOfSpeciesTag"
)));
227
228
wsv_data.push_back(
WsvRecord
(
229
NAME
(
"abs_nls_pert"
),
230
DESCRIPTION
(
231
"Fractional perturbations for the nonlinear species in the absorption\n"
232
"lookup table.\n"
233
"\n"
234
"This is a vector of fractional perturbations that should contain 1\n"
235
"(the unperturbed reference profile). A value of 0 may lead to error\n"
236
"messages from some absorption routines, so a possible content for this\n"
237
"variable is: [1e-24, 1, 2].\n"
238
"(This is similar to *abs_t_pert*, but multiplicative, not additive.)\n"
),
239
GROUP
(
"Vector"
)));
240
241
wsv_data.push_back(
WsvRecord
(
242
NAME
(
"abs_nls_interp_order"
),
243
DESCRIPTION
(
244
"The interpolation order to use when interpolating absorption between\n"
245
"the H2O values given by *abs_nls_pert*.\n"
246
"\n"
247
"This is used by methods extracting absorption coefficients\n"
248
"from the lookup table, and by methods setting up\n"
249
"parameters for lookup table generation.\n"
250
"\n"
251
"Note that the number of points used in the interpolation scheme is\n"
252
"interpolation order + 1 (e.g., two for first order interpolation).\n"
),
253
GROUP
(
"Index"
), Index{5}));
254
255
wsv_data.push_back(
WsvRecord
(
256
NAME
(
"abs_p_interp_order"
),
257
DESCRIPTION
(
258
"The interpolation order to use when interpolating absorption\n"
259
"between pressure levels.\n"
260
"\n"
261
"This is used by methods extracting absorption coefficients\n"
262
"from the lookup table, and by methods\n"
263
"setting up parameters for lookup table generation.\n"
264
"\n"
265
"Note that the number of points used in the interpolation scheme is\n"
266
"interpolation order + 1 (e.g., two for first order interpolation).\n"
),
267
GROUP
(
"Index"
), Index{5}));
268
269
wsv_data.push_back(
WsvRecord
(
270
NAME
(
"abs_t_pert"
),
271
DESCRIPTION
(
272
"Temperature perturbations for the absorption lookup table.\n"
273
"\n"
274
"This is a vector containing temperature perturbations (in Kelvin) that\n"
275
"should be added to the reference temperature profile. (Similar to\n"
276
"*abs_nls_pert*, but additive, not multiplicative.) Should normally\n"
277
"contain 0, to include the reference profile itself. Example content:\n"
278
"[-5, 0, 5].\n"
),
279
GROUP
(
"Vector"
)));
280
281
wsv_data.push_back(
WsvRecord
(
282
NAME
(
"abs_t_interp_order"
),
283
DESCRIPTION
(
284
"The interpolation order to use when interpolating absorption between\n"
285
"the temperature values given by *abs_t_pert*.\n"
286
"\n"
287
"This is used by methods\n"
288
"extracting absorption coefficients from the lookup table, and by\n"
289
"methods setting up parameters for lookup table generation.\n"
290
"\n"
291
"Note that the number of points used in the interpolation scheme is\n"
292
"interpolation order + 1 (e.g., two for first order interpolation).\n"
),
293
GROUP
(
"Index"
), Index{7}));
294
295
wsv_data.push_back(
WsvRecord
(
296
NAME
(
"abs_lookup_is_adapted"
),
297
DESCRIPTION
(
298
"Flag to indicate whether *abs_lookupAdapt* has already been\n"
299
"called.\n"
300
"\n"
301
"Values: 0=false, 1=true.\n"
),
302
GROUP
(
"Index"
)));
303
304
wsv_data.push_back(
WsvRecord
(
305
NAME
(
"abs_p"
),
306
DESCRIPTION
(
307
"List of pressures to be used for the calculation of absorption\n"
308
"coefficients.\n"
309
"\n"
310
"This can be copied from the global *p_grid*, but could also be\n"
311
"different.\n"
312
"\n"
313
"Any absorption method should check that the length of this vector\n"
314
"is the same as that of *abs_t*\n"
315
"\n"
316
"Dimension: [p_grid]\n"
317
"\n"
318
"Unit: Pa\n"
),
319
GROUP
(
"Vector"
)));
320
321
wsv_data.push_back(
WsvRecord
(
322
NAME
(
"abs_species"
),
323
DESCRIPTION
(
324
"Tag groups for gas absorption.\n"
325
"\n"
326
"This is an array of arrays of SpeciesTag tag definitions. It defines the\n"
327
"available tag groups for the calculation of scalar gas absorption\n"
328
"coefficients. See online documentation of method *abs_speciesSet* for\n"
329
"more detailed information how tag groups work and some examples.\n"
),
330
GROUP
(
"ArrayOfArrayOfSpeciesTag"
)));
331
332
wsv_data.push_back(
WsvRecord
(
333
NAME
(
"abs_t"
),
334
DESCRIPTION
(
335
"List of temperatures to be used for the calculation of absorption\n"
336
"coefficients.\n"
337
"\n"
338
"In contrast to the global *t_field*, this is just a vector. Any\n"
339
"absorption method should check that the length of this vector is the\n"
340
"same as that of *abs_p*\n"
341
"\n"
342
"Dimension: [p_grid]\n"
343
"\n"
344
"Unit: K\n"
),
345
GROUP
(
"Vector"
)));
346
347
wsv_data.push_back(
WsvRecord
(
348
NAME
(
"abs_nlte"
),
349
DESCRIPTION
(
350
"NLTE temperatures or ratios to be used for the calculation of\n"
351
"absorption coefficients.\n"
352
"\n"
353
"In contrast to the global *nlte_field*, this is just a matrix. Any\n"
354
"absorption method should check that the columns of this vector is the\n"
355
"same as that of *abs_p*\n"
356
"\n"
357
"Dimension: [nltes, 1, 1, p_grid] or [ 0, 0, 0, 0 ]\n"
358
"\n"
359
"Unit: K\n"
),
360
GROUP
(
"EnergyLevelMap"
)));
361
362
wsv_data.push_back(
WsvRecord
(
363
NAME
(
"abs_vec"
),
364
DESCRIPTION
(
365
"Total absorption vector.\n"
366
"\n"
367
"This variable contains the absorption coefficient vector which\n"
368
"is used in the RTE calculation. It is the physical absorption which\n"
369
"includes particle absorption for all considered scattering elements as\n"
370
"well as gaseous absorption for all selected gaseous species.\n"
371
"The vector is calculated by *opt_prop_bulkCalc*\n"
372
"The dimension of the variable adapts to *stokes_dim*.\n"
373
"\n"
374
"See ARTS user guide (AUG) for further information. Use the index to find\n"
375
"where this variable is discussed. The variable is listed as a subentry\n"
376
"to \"workspace variables\".\n"
377
"\n"
378
"Usage: Output of *opt_prop_bulkCalc* \n"
379
"\n"
380
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
381
"\n"
382
"Dimensions: [f_grid, stokes_dim]\n"
),
383
GROUP
(
"StokesVector"
)));
384
385
wsv_data.push_back(
WsvRecord
(
386
NAME
(
"abs_vec_spt"
),
387
DESCRIPTION
(
388
"Absorption vectors of the scattering elements.\n"
389
"\n"
390
"This variable contains the elements of the absorption vector of the\n"
391
"individual scattering elements. It is calculated in the agenda \n"
392
"*spt_calc_agenda*.\n"
393
"\n"
394
"See ARTS user guide (AUG) for further information.\n"
395
"\n"
396
"Usage: Input and Output of the method abs_vec_sptCalc\n"
397
"\n"
398
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
399
"\n"
400
"Dimensions: [number of scattering elements, stokes_dim]\n"
),
401
GROUP
(
"ArrayOfStokesVector"
)));
402
403
wsv_data.push_back(
WsvRecord
(
404
NAME
(
"abs_vmrs"
),
405
DESCRIPTION
(
"The VMRs (unit: absolute number) on the abs_p grid.\n"
406
"\n"
407
"Dimensions: [tag_groups.nelem(), abs_p.nelem()]\n"
),
408
GROUP
(
"Matrix"
)));
409
410
wsv_data.push_back(
WsvRecord
(
411
NAME
(
"agenda_array_index"
),
412
DESCRIPTION
(
413
"Index of the current agenda in *ArrayOfAgenda*.\n"
414
"\n"
415
"This is set during the execution of an agenda from an *ArrayOfAgenda*.\n"
416
"It indicates the index of the current agenda inside the array.\n"
417
"\n"
418
"Unit: Integer value.\n"
),
419
GROUP
(
"Index"
)));
420
421
wsv_data.push_back(
WsvRecord
(
422
NAME
(
"antenna_dim"
),
423
DESCRIPTION
(
424
"The dimensionality of the antenna pattern (1-2).\n"
425
"\n"
426
"A dimensionality of 1 means that only the respons variation in the\n"
427
"zenith direction is considered. The provided respons shall then be the\n"
428
"integrated in the azimuth direction. For 2D, the respons of the\n"
429
"antenna has both a zenith and azimuth variation.\n"
430
"\n"
431
"Usage: Set by the user.\n"
432
"\n"
433
"Unit: Integer value [1-2].\n"
),
434
GROUP
(
"Index"
)));
435
436
wsv_data.push_back(
WsvRecord
(
437
NAME
(
"antenna_dlos"
),
438
DESCRIPTION
(
439
"The relative line-of-sight of each antenna pattern.\n"
440
"\n"
441
"This variable describes the line-of-sight of the individual antennae\n"
442
"relative to *sensor_los*. If each measurement block corresponds to\n"
443
"a single antenna pattern, the normal choice is to set the angle(s) of\n"
444
"this variable to zero.\n"
445
"\n"
446
"The first column holds the relative zenith angle. This column is\n"
447
"mandatory for all atmospheric dimensionalities. For 3D, there can\n"
448
"also be a second column, giving relative azimuth angles. If this\n"
449
"column is not present (for 3D) zero azimuth off-sets are assumed.\n"
450
"\n"
451
"See further the ARTS user guide (AUG). Use the index to find where\n"
452
"this variable is discussed. The variable is listed as a subentry to\n"
453
"\"workspace variables\".\n"
454
"\n"
455
"Usage: Set by the user.\n"
456
"\n"
457
"Unit: [ degrees, degrees ]\n"
458
"\n"
459
"Size: [ number of antennae, 1 or 2 ]\n"
),
460
GROUP
(
"Matrix"
)));
461
462
wsv_data.push_back(
WsvRecord
(
463
NAME
(
"antenna_response"
),
464
DESCRIPTION
(
465
"The antenna pattern/response.\n"
466
"\n"
467
"This WSV describes the antenna response as a function of polarisation\n"
468
"(pol), frequencue (f), zenith angle (za) and azimuth angle (aa).\n"
469
"\n"
470
"Polarisation dimension: If this dimension has size 1, the data are\n"
471
"applied for all polarisations of concern. The data are otherwise used\n"
472
"in sequential order. This signifies that, in general, the first\n"
473
"polarisation \"layer\" corresponds to the first stokes dimension\n"
474
"etc. An exception is if a polarisation rotation has been applied. In\n"
475
"any case, it is up to the user to ensure that polarisations are\n"
476
"consistently defined.\n"
477
"\n"
478
"Frequency dimension: If this dimension has size 1, the data are\n"
479
"applied for all frequencies of concern. The given frequency must be\n"
480
"inside the frequency range of concern. A linear interpolation is\n"
481
"otherwise applied.\n"
482
"\n"
483
"Zenith angle dimension: This dimension must always have a size >= 2\n"
484
"The response outside covered grid range is treated as zero. If\n"
485
"*antenna_dim* equals 1, the data should correspond to the response\n"
486
"integrated in the azimuthal direction.\n"
487
"\n"
488
"Azimuth angle dimension: If *antenna_dim* equals 1, this dimension\n"
489
"must have size 1. A size >= 2 is otherwise required. The response\n"
490
"outside covered grid range is treated as zero.\n"
491
"\n"
492
"Usage: Set by the user.\n"
493
"\n"
494
"Unit: The unit of the actual response is 1/sr. Properly normalised\n"
495
" a 4pi integration shall shall give 1.\n"
496
"\n"
497
"Dimensions: \n"
498
" GriddedField4:\n"
499
" ArrayOfString field_names[N_pol]\n"
500
" Vector f_grid[N_f]\n"
501
" Vector za_grid[N_za]\n"
502
" Vector aa_grid[N_aa]\n"
503
" Tensor4 data[N_pol][N_f][N_za][N_aa]\n"
),
504
GROUP
(
"GriddedField4"
)));
505
506
wsv_data.push_back(
WsvRecord
(
507
NAME
(
"atmosphere_dim"
),
508
DESCRIPTION
(
509
"The atmospheric dimensionality (1-3).\n"
510
"\n"
511
"This variable defines the complexity of the atmospheric structure.\n"
512
"The dimensionality is given by an integer between 1 and 3, where 1\n"
513
"means 1D etc. This is the master variable for the atmospheric\n"
514
"dimensionality, variables which size changes with the dimensionality\n"
515
"are checked to match this variable. \n"
516
"\n"
517
"Methods adapt automatically to this variable. That is, it should\n"
518
"not be needed to change any methods if the dimensionality is\n"
519
"changed. However, not all methods are working for higher dimensions.\n"
520
"\n"
521
"Usage: Set by the user.\n"
522
"\n"
523
"Unit: Integer value.\n"
),
524
GROUP
(
"Index"
)));
525
526
wsv_data.push_back(
WsvRecord
(
527
NAME
(
"atmfields_checked"
),
528
DESCRIPTION
(
529
"OK-flag for atmospheric grids and (physical) fields.\n"
530
"\n"
531
"The variable flags that clear-sky part of the atmosphere is\n"
532
"defined in formally correct way. Example on problems captured\n"
533
"include that the size of an atmospheric fields does not match the\n"
534
"length of the atmospheric grids, and physically incorrect data such\n"
535
"as negative temperatures.\n"
536
"\n"
537
"Note that *z_field* is not covered by this variable, it is instead\n"
538
"treated to be part of the geometrical considerations where the ok-flag\n"
539
"is denoted as *atmgeom_checked*. The cloudbox is covered by\n"
540
"*cloudbox_checked*.\n"
541
"\n"
542
"Shall be set by *atmfields_checkedCalc*. See that WSMs for treated\n"
543
"WSVs. Only the value 1 is taken as OK.\n"
),
544
GROUP
(
"Index"
), Index{0}));
545
546
wsv_data.push_back(
WsvRecord
(
547
NAME
(
"atmgeom_checked"
),
548
DESCRIPTION
(
549
"OK-flag for the geometry of the model atmosphere.\n"
550
"\n"
551
"The variable flags that reference ellipsoid, the surfae and *z_field*\n"
552
"contain formally correct values. Includes for example, that *z_field*\n"
553
"holds strictly increasing values at each geographical position.\n"
554
"\n"
555
"See also *atmfields_checked*.\n"
556
"\n"
557
"Shall be set by *atmgeom_checkedCalc*. Only the value 1 is taken\n"
558
"as OK.\n"
),
559
GROUP
(
"Index"
), Index{0}));
560
561
wsv_data.push_back(
WsvRecord
(
562
NAME
(
"atm_fields_compact"
),
563
DESCRIPTION
(
564
"A compact set of atmospheric fields on a common set of grids.\n"
565
"\n"
566
"Data is supposed to contain basic atmsopheric fields for a RT\n"
567
"calculation, i.e., temperature, altitude, and gas VMRs. It can\n"
568
"furthermore contain fields describing scattering species like mass\n"
569
"content, mass flux, number density of diverse scattering species.\n"
570
"\n"
571
"VMR fields are unitless, scattering species fields are supposed to be\n"
572
"in SI units (i.e. kg/m3 for mass contents, kg/m2/s for mass flux,\n"
573
"1/m3 for number densities).\n"
574
"\n"
575
"The data are stored in a *GriddedField4*.\n"
576
"\n"
577
"The first field in the matrix (i.e., first matrix column) has to be\n"
578
"atmospheric pressure. Apart from this, the order of the fields is\n"
579
"free. Field content (apart from pressure) is identified by their\n"
580
"given field name tag. Furthermore, absorption species (e.g. VMR)\n"
581
"fields and scattering species fields are related to *abs_species*\n"
582
"and *scat_species* entries, respectively, by their field name tags.\n"
583
"The tags must exhibit the following structure:\n"
584
"\n"
585
"0) species identifier:\n"
586
" Fields, supposed to be sorted into *vmr_field*, must be headed the\n"
587
" tag 'abs_species'. Names of scattering species fields likewise must\n"
588
" be headed by the 'scat_species' tag. Temperature and altitude\n"
589
" fields do not hold any heading tag.\n"
590
"1) species name:\n"
591
" The (core) name of the field: 'T' for temperature, 'z' for\n"
592
" altitude, the absorption species name (e.g. 'H2O, 'O3', etc.) for\n"
593
" absorption species, the scattering species name (e.g. 'IWC') for\n"
594
" scattering species. For scattering species, this part is matched\n"
595
" against the scattering species name part of the *scat_species*\n"
596
" tags.\n"
597
"2) field type:\n"
598
" This has to be given for scattering species only, indicating the\n"
599
" type of the scattering species fields, i.e. 'mass_density',\n"
600
" 'mass_flux', 'number_density', 'mean_mass'.\n"
601
"Dashes ('-') serve as delimiter, separating the elements of each\n"
602
"field name tag.\n"
603
"\n"
604
"Usage: Used inside batch calculations, to hold successive atmospheric\n"
605
" states from an *ArrayOfGriddedField4*.\n"
606
"\n"
607
"Dimensions: \n"
608
" GriddedField4:\n"
609
" ArrayOfString field_names[N_fields]\n"
610
" Vector p_grid[N_p]\n"
611
" Vector lat_grid[N_lat]\n"
612
" Vector lon_grid[N_lon]\n"
613
" Tensor4 data[N_fields][N_p][N_lat][N_lon]\n"
),
614
GROUP
(
"GriddedField4"
)));
615
616
wsv_data.push_back(
WsvRecord
(
617
NAME
(
"avk"
),
618
DESCRIPTION
(
619
"Averaging kernel matrix.\n"
620
"\n"
621
"This matrix is the partial derivative of the retrieved state vector\n"
622
"with respect to the measurement vector (*y*).\n"
623
"\n"
624
"Usage: Used and set by inversion methods. \n"
),
625
GROUP
(
"Matrix"
)));
626
627
wsv_data.push_back(
WsvRecord
(
628
NAME
(
"backend_channel_response"
),
629
DESCRIPTION
(
630
"The response of each backend channel.\n"
631
"\n"
632
"The response is given as an *ArrayOfGriddedField1*. The grid consists of\n"
633
"relative frequencies. These relative frequencies are added to \n"
634
"*f_backend* to obtain the absolute frequency for each response value.\n"
635
"The actual data are the response at each frequency grid point.\n"
636
"\n"
637
"There are here two options. If the array has length 1, the same\n"
638
"response is applied for all channels. Accordingly, this assumes that\n"
639
"all channels have the same response function. The second option is to\n"
640
"specify the response for each channel seperately. This signifies that\n"
641
"the *backend_channel_response* array has either 1 or n elements, where\n"
642
"n is the length of *f_backend*\n"
643
"\n"
644
"Usage: Set by the user.\n"
645
"\n"
646
"Size: Array[N_ch]\n"
647
" GriddedField1 \n "
648
" [N_f] \n"
649
" [N_f] \n"
),
650
GROUP
(
"ArrayOfGriddedField1"
)));
651
652
wsv_data.push_back(
WsvRecord
(
653
NAME
(
"backend_channel_response_multi"
),
654
DESCRIPTION
(
655
"As *backend_channel_response* but describes an instrument with\n"
656
"muliple mixer/receiver chains.\n"
657
"\n"
658
"See *f_backend_multi* for when to use this variable and size\n"
659
"constraints.\n"
660
"\n"
661
"Usage: Set by the user.\n "
),
662
GROUP
(
"ArrayOfArrayOfGriddedField1"
)));
663
664
wsv_data.push_back(
WsvRecord
(
665
NAME
(
"batch_atm_fields_compact"
),
666
DESCRIPTION
(
667
"An array of compact atmospheric states.\n"
668
"\n"
669
"This is used to hold a set of *atm_fields_compact* for batch\n"
670
"calculations. For further information see *atm_fields_compact*.\n"
),
671
GROUP
(
"ArrayOfGriddedField4"
)));
672
673
wsv_data.push_back(
WsvRecord
(
674
NAME
(
"band_identifiers"
),
675
DESCRIPTION
(
676
"An array of identifiers for bands.\n"
677
"\n"
678
"Used by line mixing calculations to identify which bands to match to the\n"
679
"line database.\n"
),
680
GROUP
(
"ArrayOfQuantumIdentifier"
)));
681
682
wsv_data.push_back(
WsvRecord
(
683
NAME
(
"batch_cloudbox_limits"
),
684
DESCRIPTION
(
"An array of *cloudbox_limits*.\n"
685
"\n"
686
"This is used to hold a set of *cloudbox_limits* for batch\n"
687
"calculations. \n"
),
688
GROUP
(
"ArrayOfArrayOfIndex"
)));
689
690
wsv_data.push_back(
WsvRecord
(
691
NAME
(
"batch_pnd_fields"
),
692
DESCRIPTION
(
"An array of compact pnd states.\n"
693
"\n"
694
"This is used to hold a set of 1D *pnd_field* for batch\n"
695
"calculations. \n"
),
696
GROUP
(
"ArrayOfTensor4"
)));
697
698
wsv_data.push_back(
WsvRecord
(
699
NAME
(
"channel2fgrid_indexes"
),
700
DESCRIPTION
(
701
"Definition of backend frequency response, link to *f_grid*.\n"
702
"\n"
703
"The WSV is used to describe the frequency response of backend channels\n"
704
"together with the accompanying WSV *channel2fgrid_weights*.\n"
705
"\n"
706
"This WSV links each channel to the elements of *f_grid*. In short it\n"
707
"lists what elements of *f_grid* that are relevant for each channel.\n"
708
"\n"
709
"More precisely, the first dimension gives the number of output channels.\n"
710
"Each ArrayOfIndex gives the index of the values in *f_grid* associated\n"
711
"with the channel of concern. For a pure double-sideband receiver, where\n"
712
"there is one monochromatic frequency per passband, this argument could\n"
713
"look like: [[0,5],[1,4],[2,3],[7,8],[7,8]].\n"
),
714
GROUP
(
"ArrayOfArrayOfIndex"
)));
715
716
wsv_data.push_back(
WsvRecord
(
717
NAME
(
"channel2fgrid_weights"
),
718
DESCRIPTION
(
719
"Definition of backend frequency response, weighting of *f_grid*.\n"
720
"\n"
721
"The WSV is used to describe the frequency response of backend channels\n"
722
"together with the accompanying WSV *channel2fgrid_indexes*.\n"
723
"\n"
724
"This WSV shall have excatly the same sizes as *channel2fgrid_indexes*.\n"
725
"Each element gives the weight to be assigned to the associated\n"
726
"monochromatic frequency. \n"
),
727
GROUP
(
"ArrayOfVector"
)));
728
729
wsv_data.push_back(
WsvRecord
(
730
NAME
(
"cloudbox_checked"
),
731
DESCRIPTION
(
732
"OK-flag for variables associated with the cloudbox.\n"
733
"\n"
734
"This variable flags that cloudbox variables are defined in a formally\n"
735
"and practically correct way. For example, that there is sufficient\n"
736
"space between the cloudbox and edges of the model atmosphere (for\n"
737
"2D and 3D). Pure clear-sky variables are covered by\n"
738
"*atmfields_checked* (and *atmgeom_checked*).\n"
739
"\n"
740
"Relevant checks are performed by *cloudbox_checkedCalc. Only the\n"
741
"value 1 is taken as OK.\n"
),
742
GROUP
(
"Index"
), Index{0}));
743
744
wsv_data.push_back(
WsvRecord
(
745
NAME
(
"cloudbox_field"
),
746
DESCRIPTION
(
747
"The spectral radiance field inside the cloudbx.\n"
748
"\n"
749
"This variable is used to store the radiance field inside the cloud\n"
750
"box, probably determined by a scattering solver method.\n"
751
"\n"
752
"That is, this variable matches *spectral_radiance_field* but holds\n"
753
"a field that is restricted to the cloud box.\n"
754
"\n"
755
"Unit: W / (m^2 Hz sr) for each Stokes component.\n"
756
"\n"
757
" Size: [f_grid,\n"
758
" p_grid, \n"
759
" lat_grid, \n"
760
" lon_grid, \n"
761
" za_grid,\n"
762
" aa_grid,\n"
763
" stokes_dim ]\n"
764
"\n"
765
"Note: For 1D, the size of the latitude, longitude and azimuth\n"
766
"dimension (N_aa) are all 1.\n"
),
767
GROUP
(
"Tensor7"
)));
768
769
wsv_data.push_back(
WsvRecord
(
770
NAME
(
"cloudbox_field_mono"
),
771
DESCRIPTION
(
772
"Monochromatic radiation field inside the cloudbox.\n"
773
"\n"
774
"This variable is used to store the monochromatic radiation field \n"
775
"inside the cloudbox which is found by an iterative solution (DOIT).\n"
776
"Refer to AUG for further information.\n"
777
"\n"
778
"Usage: Method output. \n"
779
"\n"
780
"Unit: W / (m^2 Hz sr) for each Stokes component.\n"
781
"\n"
782
"Size: [(cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
783
" (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
784
" (cloudbox_limits[5] - cloudbox_limits[4]) +1, \n"
785
" N_za, N_aa, N_i ]\n"
786
"\n"
787
"Note: For 1D, the size of the azimuth angle dimension (N_aa) is\n"
788
"always 1.\n"
),
789
GROUP
(
"Tensor6"
)));
790
791
wsv_data.push_back(
WsvRecord
(
792
NAME
(
"cloudbox_field_mono_old"
),
793
DESCRIPTION
(
794
"As *cloudbox_field_mono* but from previous iteration.\n"
795
"\n"
796
"This variable is used to store the intensity field inside the\n"
797
"cloudbox while performing the iteration. One has to store the\n"
798
"intensity field of the previous iteration to be able to do the \n"
799
"convergence test after each iteration.\n"
800
"Refer to AUG for more information.\n"
801
"\n"
802
"Usage: Method output. \n"
803
"\n"
804
"Unit: W / (m^2 Hz sr) for each Stokes component.\n"
805
"\n"
806
"Size: [(cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
807
" (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
808
" (cloudbox_limits[5] - cloudbox_limits[4]) +1, \n"
809
" N_za, N_aa, N_i ]\n"
),
810
GROUP
(
"Tensor6"
)));
811
812
wsv_data.push_back(
WsvRecord
(
813
NAME
(
"cloudbox_limits"
),
814
DESCRIPTION
(
815
"The limits of the cloud box.\n"
816
"\n"
817
"This variable defines the extension of the cloud box. The cloud box \n"
818
"is defined to be rectangular in the used coordinate system, with \n"
819
"limits exactly at points of the involved grids. This means, for \n"
820
"example, that the vertical limits of the cloud box are two pressure \n"
821
"levels. For 2D, the angular extension of the cloud box is between \n"
822
"two points of the latitude grid, and likewise for 3D but then also \n"
823
"with a longitude extension between two grid points. The latitude and\n"
824
"longitude limits for the cloud box cannot be placed at the end \n"
825
"points of the corresponding grid as it must be possible to calculate\n"
826
"the incoming intensity field.\n"
827
"\n"
828
"The variable *cloudbox_limits* is an array of index value with\n"
829
"length twice *atmosphere_dim*. For each dimension there is a lower \n"
830
"limit and an upper limit. The order of the dimensions is as usual \n"
831
"pressure, latitude and longitude. The upper limit index must be \n"
832
"greater then the lower limit index. For example, \n"
833
"*cloudbox_limits* = [0 5 4 11 4 11] means that cloud box extends\n"
834
"between pressure levels 0 and 5, and latitude and longitude points 4\n"
835
"and 11.\n"
836
"\n"
837
"If *cloudbox_on* = 0, the content of this variable is neglected, but\n"
838
"it must be initiated to some dummy values.\n"
839
"\n"
840
"See further the ARTS user guide (AUG). Use the index to find where\n"
841
"this variable is discussed. The variable is listed as a subentry to\n"
842
"\"workspace variables\".\n"
843
"\n"
844
"Usage: Set by the user, either directly or using a method\n"
845
" checking the extension of scattering particles.\n"
846
"\n"
847
"Unit: Index values.\n"
848
"\n"
849
"Size: [ 2 * atmosphere_dim ]\n"
),
850
GROUP
(
"ArrayOfIndex"
)));
851
852
wsv_data.push_back(
WsvRecord
(
853
NAME
(
"cloudbox_on"
),
854
DESCRIPTION
(
855
"Flag to activate the cloud box.\n"
856
"\n"
857
"Scattering calculations are confined to a part of the atmosphere\n"
858
"denoted as the cloud box. The extension of the cloud box is given by\n"
859
"*cloudbox_limits*. This variable tells methods if a cloud box is\n"
860
"activated or not. \n"
861
"\n"
862
"See further the ARTS user guide (AUG). Use the index to find where\n"
863
"this variable is discussed. The variable is listed as a subentry to\n"
864
"\"workspace variables\".\n"
865
"\n"
866
"Usage: Set by the user.\n"
867
"\n"
868
"Unit: Boolean.\n"
),
869
GROUP
(
"Index"
)));
870
871
wsv_data.push_back(
WsvRecord
(
872
NAME
(
"complex_refr_index"
),
873
DESCRIPTION
(
874
"Complex refractive index (n) data.\n"
875
"\n"
876
"The variable works as a lookup-table of complex refractive index.\n"
877
"The matter type (water, ice ...) is unspecified, it is up to the\n"
878
"user to fill the variable with data for the expected matter.\n"
879
"This variable type can be used to describe n of both the surface and\n"
880
"atmospheric particles. For the surface, a dedicated variable exists:\n"
881
"*surface_complex_refr_index*.\n"
882
"\n"
883
"The column dimension has always size 2, where the first and second\n"
884
"column holds the real and imaginary part of n, respectively. The row\n"
885
"dimension matches temperature, and the page dimension is frequency.\n"
886
"Both the temperature and frequency dimensions grids are allowed to\n"
887
"have length 1, which is interpreted as n being constant in that\n"
888
"dimension.\n"
889
"\n"
890
"When mapping these data to the required frequencies and temperatures\n"
891
"a bi-linear interpolation is applied.\n"
892
"\n"
893
"Unit: -\n"
894
"\n"
895
"Dimensions: \n"
896
" Vector f_grid[N_f]\n"
897
" Vector T_grid[N_T]\n"
898
" ArrayOfString Complex[2]\n"
899
" Tensor3 data[N_f][N_T][2]\n"
),
900
GROUP
(
"GriddedField3"
)));
901
902
wsv_data.push_back(
WsvRecord
(
903
NAME
(
"covmat_block"
),
904
DESCRIPTION
(
905
"Holds matrices used to set blocks in *covmat_sx* and *covmat_se*.\n"
906
"\n"
907
"The matrix contained in this block will be added to the blocks in\n"
908
"in *covmat_sx* and *covmat_se* by the corresponding WSMs. Its dimensions\n"
909
"must agree with gridpoints of the correlated retrieval quantities."
910
"\n"
911
"Usage: Used by the retrievalAdd functions.\n"
),
912
GROUP
(
"Sparse"
)));
913
914
wsv_data.push_back(
WsvRecord
(
915
NAME
(
"covmat_inv_block"
),
916
DESCRIPTION
(
917
"Holds matrices used to set the inverse blocks in *covmat_sx* and *covmat_se*.\n"
918
"\n"
919
"The matrix contained in this block will be used as the inverse of the matrix\n"
920
"contained in covmat_block.\n"
921
"\n"
922
"Usage: Used by the retrievalAdd functions.\n"
),
923
GROUP
(
"Sparse"
)));
924
925
wsv_data.push_back(
WsvRecord
(
926
NAME
(
"covmat_se"
),
927
DESCRIPTION
(
928
"Covariance matrix for observation uncertainties.\n"
929
"\n"
930
"This matrix (Se) describes the uncertainty of the measurement vector (*y*),\n"
931
"and can be writtenn as\n"
932
" Se = Seps + Kb * Sb * Kb',\n"
933
"where Seps describes direct measurement errors (such as thermal noise),\n"
934
"Kb is Jacobian for forward model parameters, and Sb describes the uncertainty\n"
935
"of the forwatrd model parameters.\n"
936
"\n"
937
"Usage: Used by inversion methods.\n"
938
"\n"
939
"Dimensions: \n"
940
" [ y, y ]\n"
),
941
GROUP
(
"CovarianceMatrix"
)));
942
943
wsv_data.push_back(
WsvRecord
(
944
NAME
(
"covmat_sx"
),
945
DESCRIPTION
(
946
"Covariance matrix of a priori distribution\n"
947
"\n"
948
"This covariance matrix describes the Gaussian a priori distribution\n"
949
"for an OEM retrieval. It is represented using a symmetric block matrix.\n"
950
"covmat_sx can be used in two ways: Either with a block for each retrieval\n"
951
"quantity or with a single block containing the full covariance matrix.\n"
952
"\n"
953
"Using a single block for each retrieval quantity has is advantageous for\n"
954
"if the retrieval quantities are assumed to be independent. In this case,\n"
955
"the covariance blocks can be added separately for each quantity and will\n"
956
"allow optimizing matrix multiplications and inverses required for the OEM\n"
957
"calculation.\n"
958
"\n"
959
"The other case of using a single-block covariance matrix is supported\n"
960
"for convenience as well.\n"
961
"\n"
962
"Usage: Used by inversion methods.\n"
963
"\n"
964
"Dimensions: \n"
965
" [ x, x ]\n"
),
966
GROUP
(
"CovarianceMatrix"
)));
967
968
wsv_data.push_back(
WsvRecord
(
969
NAME
(
"covmat_so"
),
970
DESCRIPTION
(
971
"Covariance matrix describing the retrieval error due to uncertainties of\n"
972
"the observation system.\n"
973
"\n"
974
"That is: So = G * Se * G', where G is the gain matrix (*dxdy*).\n"
975
"\n"
976
"Usage: Set by the covmat_soCalc workspace method to characterize the error.\n"
977
"of a successful OEM calculation.\n"
978
"\n"
979
"Dimensions:\n"
980
" [x,x]\n"
),
981
GROUP
(
"Matrix"
)));
982
983
wsv_data.push_back(
WsvRecord
(
984
NAME
(
"covmat_ss"
),
985
DESCRIPTION
(
986
"Covariance matrix describing the retrieval error due to smoothing.\n"
987
"\n"
988
"That is: Ss = (A-I) * Sx * (A-I)', where A is the averaging kernel "
989
"matrix (*avk*).\n"
990
"\n"
991
"Usage: Set by the covmat_ssCalc workspace method to characterize the.\n"
992
"errors of a successful OEM calculation."
993
"\n"
994
"Dimensions:\n"
995
" [x,x]\n"
),
996
GROUP
(
"Matrix"
)));
997
998
wsv_data.push_back(
WsvRecord
(
999
NAME
(
"depolarization_factor"
),
1000
DESCRIPTION
(
1001
"Depolarization factor for the scattered gas.\n"
1002
"\n"
1003
"The variable accounts for the anisotropy of the scatterer.\n"
1004
"It is the ratio of intensities parallel and perpendicular \n"
1005
"to the plan of scattering. A table of measured values is \n"
1006
"given by Penndorf (1957). Some values are: H2=0.02, N2=0.03\n"
1007
"O2=0.06, CO2=0.09 and atmospheric air=0.03."
),
1008
GROUP
(
"Numeric"
)));
1009
1010
wsv_data.push_back(
WsvRecord
(
1011
NAME
(
"disort_aux"
),
1012
DESCRIPTION
(
1013
"Auxilary data to the output of the DisortCalc-Methods.\n"
1014
"\n"
1015
"Different data beside the direct result of Disort\n"
1016
"calculations can be obtained by this variable. These auxilary\n"
1017
"data are selected by *disort_aux_vars*.\n"
1018
"\n"
1019
"Usage: Provided by some radiative transfer methods.\n"
1020
"\n"
1021
"Dimensions: [quantity][ f_grid, number of disort levels/layers ]\n"
),
1022
GROUP
(
"ArrayOfMatrix"
)));
1023
1024
wsv_data.push_back(
WsvRecord
(
1025
NAME
(
"disort_aux_vars"
),
1026
DESCRIPTION
(
1027
"Selection of quantities for *disort_aux* .\n"
1028
"\n"
1029
"Each element of this string array determines the quantity for the\n"
1030
"corresponding element in *disort_aux* (i.e. the quantities\n"
1031
"are stored in the order given in *disort_aux_vars*).\n"
1032
"\n"
1033
"The possible choices vary between the Disort methods. See the WSM you select\n"
),
1034
GROUP
(
"ArrayOfString"
),
ArrayOfString
{}));
1035
1036
1037
wsv_data.push_back(
WsvRecord
(
1038
NAME
(
"dlos"
),
1039
DESCRIPTION
(
1040
"A set of relative angles.\n"
1041
"\n"
1042
"This variable is a matrix having two columns. The two columns hold\n"
1043
"relative zenith angle and relative azimuth angle, respectively.\n"
1044
"\n"
1045
"These relative angles have zenith angle 90 deg as reference. This\n"
1046
"means that dza and daa represent the same angle distance at dza=0.\n"
1047
"\n"
1048
"Let us say that you add relative angles to a line-of-sight of za = 90\n"
1049
"and aa=0. Then adding the following (dza,daa) gives los of (za,aa):\n"
1050
" (1,0) -> (91,0)\n"
1051
" (0,1) -> (90,1)\n"
1052
" (-90,45) -> (0,undefined)\n"
),
1053
GROUP
(
"Matrix"
)));
1054
1055
wsv_data.push_back(
WsvRecord
(
1056
NAME
(
"dlos_weight_vector"
),
1057
DESCRIPTION
(
1058
"A weight associated with each direction *dlos*.\n"
1059
"\n"
1060
"A standard application should be to store the solid angle each\n"
1061
"row in *dlos* covers.\n"
),
1062
GROUP
(
"Vector"
)));
1063
1064
wsv_data.push_back(
WsvRecord
(
1065
NAME
(
"dobatch_calc_agenda"
),
1066
DESCRIPTION
(
1067
"Agenda defining the calculations to perform for each batch case.\n"
),
1068
GROUP
(
"Agenda"
)));
1069
1070
wsv_data.push_back(
WsvRecord
(
1071
NAME
(
"dobatch_cloudbox_field"
),
1072
DESCRIPTION
(
1073
"Batch of radiation fields.\n"
1074
"\n"
1075
"Each element of *dobatch_cloudbox_field* corresponds to a radiation field.\n"
1076
"See further *DOBatchCalc*.\n"
1077
"\n"
1078
"Usage: Most commonly produced by *DOBatchCalc*.\n"
1079
"\n"
1080
"Unit: See *cloudbox_field*.\n"
1081
"\n"
1082
"Dimensions: Number of array elements equals number of batch cases.\n"
),
1083
GROUP
(
"ArrayOfTensor7"
)));
1084
1085
wsv_data.push_back(
WsvRecord
(
1086
NAME
(
"dobatch_radiance_field"
),
1087
DESCRIPTION
(
1088
"Batch of radiance fields.\n"
1089
"\n"
1090
"Each element of *dobatch_radiance_field* corresponds to a radiance field.\n"
1091
"See further *DOBatchCalc*.\n"
1092
"\n"
1093
"Usage: Most commonly produced by *DOBatchCalc*.\n"
1094
"\n"
1095
"Unit: See *radiance_field*.\n"
1096
"\n"
1097
"Dimensions: Number of array elements equals number of batch cases.\n"
),
1098
GROUP
(
"ArrayOfTensor5"
)));
1099
1100
wsv_data.push_back(
WsvRecord
(
1101
NAME
(
"dobatch_irradiance_field"
),
1102
DESCRIPTION
(
1103
"Batch of irradiance fields.\n"
1104
"\n"
1105
"Each element of *dobatch_irradiance_field* corresponds to a irradiance field.\n"
1106
"See further *DOBatchCalc*.\n"
1107
"\n"
1108
"Usage: Most commonly produced by *DOBatchCalc*.\n"
1109
"\n"
1110
"Unit: See *irradiance_field*.\n"
1111
"\n"
1112
"Dimensions: Number of array elements equals number of batch cases.\n"
),
1113
GROUP
(
"ArrayOfTensor4"
)));
1114
1115
wsv_data.push_back(
WsvRecord
(
1116
NAME
(
"dobatch_spectral_irradiance_field"
),
1117
DESCRIPTION
(
1118
"Batch of spectral irradiance fields.\n"
1119
"\n"
1120
"Each element of *dobatch_spectral_irradiance_field* corresponds to a\n"
1121
"spectral irradiance field.\n"
1122
"See further *DOBatchCalc*.\n"
1123
"\n"
1124
"Usage: Most commonly produced by *DOBatchCalc*.\n"
1125
"\n"
1126
"Unit: See *spectral_irradiance_field*.\n"
1127
"\n"
1128
"Dimensions: Number of array elements equals number of batch cases.\n"
),
1129
GROUP
(
"ArrayOfTensor5"
)));
1130
1131
wsv_data.push_back(
WsvRecord
(
1132
NAME
(
"diy_dx"
),
1133
DESCRIPTION
(
1134
"Derivative of *iy* with respect to retrieval quantities.\n"
1135
"\n"
1136
"The variable gives the derivative if *iy* with respect to some\n"
1137
"variables (but not all jacobian variables). Handled are only variables\n"
1138
"affecting monochromatic pencil beam radiances where an (semi-)\n"
1139
"analytical expression can be applied (and that this calculation way\n"
1140
"has been selected when the jacobian was been set-up).\n"
1141
"\n"
1142
"The values in *diy_dx* considers the retrieval unit selected (such as\n"
1143
"\"nd\"), but no transformations are applied.\n"
1144
"\n"
1145
"Usage: Output of *iy_main_agenda*.\n"
1146
"\n"
1147
"Dimensions: \n"
1148
" [n_quantities][ n_retrieval_points, f_grid, stokes_dim ]\n"
),
1149
GROUP
(
"ArrayOfTensor3"
)));
1150
1151
wsv_data.push_back(
WsvRecord
(
1152
NAME
(
"dpnd_data_dx"
),
1153
DESCRIPTION
(
1154
"Partial derivates of *pnd_data*.\n"
1155
"\n"
1156
"The variable gives the particle derivate of *pnd_data* with respect\n"
1157
"to the quantities set in *dpnd_data_dx_names*.\n"
1158
"\n"
1159
"Dimensions: [ n_quantities, n_points, n_scattering_elements ]\n"
),
1160
GROUP
(
"Tensor3"
)));
1161
1162
wsv_data.push_back(
WsvRecord
(
1163
NAME
(
"dpnd_data_dx_names"
),
1164
DESCRIPTION
(
1165
"Selection of partial derivatives of *pnd_data*.\n"
1166
"\n"
1167
"This variable tells an element in *pnd_agenda_array* for which\n"
1168
"quantities partial derivatives shall be calculated.\n"
1169
"\n"
1170
"Dimensions: [ n_quantities ]\n"
),
1171
GROUP
(
"ArrayOfString"
)));
1172
1173
wsv_data.push_back(
WsvRecord
(
1174
NAME
(
"dpnd_field_dx"
),
1175
DESCRIPTION
(
1176
"Partial derivatives of *pnd_field*.\n"
1177
"\n"
1178
"The variable gives the particle derivative of *pnd_field* with respect\n"
1179
"to scattering species variables included in *jacobian_quantities*.\n"
1180
"\n"
1181
"The length of this array shall match the size of *jacobian_quantities*.\n"
1182
"For retrieval quantities that are not scattering species, the matching\n"
1183
"Tensor4 is of no relevance and must be set to be empty.\n"
1184
"\n"
1185
"Dimensions: [n_quantities][ n_scattering_elements, n_p, n_lat, n_lon ]\n"
),
1186
GROUP
(
"ArrayOfTensor4"
), ArrayOfTensor4{}));
1187
1188
wsv_data.push_back(
WsvRecord
(
1189
NAME
(
"dpropmat_clearsky_dx"
),
1190
DESCRIPTION
(
1191
// FIXMEDOC
1192
"Partial derivative of absorption coefficients.\n"
1193
"\n"
1194
"This contains the partial derivative of absorption coefficients for\n"
1195
"one point in the atmosphere (one set of pressure, temperature, zn"
1196
"magnetic field, and VMR values) with respect to one of the input\n"
1197
"parameters.\n"
1198
"\n"
1199
"Dimension: [ n_quantities ] [naa, nza, nf, f(stokes_dim)]\n"
1200
"\n"
1201
"*jacobian_quantities* should be used to set the input variable for\n"
1202
"partial derivation\n"
1203
"\n"
1204
"Unit: 1/m/jacobian_quantity\n"
),
1205
GROUP
(
"ArrayOfPropagationMatrix"
)));
1206
1207
wsv_data.push_back(
WsvRecord
(
1208
NAME
(
"dpsd_data_dx"
),
1209
DESCRIPTION
(
1210
"Partial derivates of *psd_data*.\n"
1211
"\n"
1212
"The variable gives the particle derivate of *psd_data* with respect\n"
1213
"to the quantities set in *dpnd_data_dx_names*.\n"
1214
"\n"
1215
"Dimensions: [ n_quantities, n_points, n_scattering_elements ]\n"
),
1216
GROUP
(
"Tensor3"
)));
1217
1218
wsv_data.push_back(
WsvRecord
(
1219
NAME
(
"dnlte_source_dx"
),
1220
DESCRIPTION
(
1221
"NLTE partial derivatives output is two parts: S*dB/dx+dS/dx*B.\n"
1222
"\n"
1223
"Dimensions: [ quantities ] [nza, naa, nf, stokes_dim] or [0]\n"
1224
"\n"
1225
"Unit: 1/m/jacobian_quantity\n"
),
1226
GROUP
(
"ArrayOfStokesVector"
)));
1227
1228
wsv_data.push_back(
WsvRecord
(
1229
NAME
(
"doit_conv_flag"
),
1230
DESCRIPTION
(
1231
"Flag for the convergence test.\n"
1232
"\n"
1233
"This variable is initialized with 0 inside the method \n"
1234
"*cloudbox_field_monoIterate*.\n"
1235
"If after an iteration the convergence test is fulfilled, 1 is \n"
1236
"assigned which means that the iteration is completed. \n"
1237
"\n"
1238
"Usage: Method output. \n"
),
1239
GROUP
(
"Index"
)));
1240
1241
wsv_data.push_back(
1242
WsvRecord
(
NAME
(
"doit_conv_test_agenda"
),
1243
DESCRIPTION
(
"Agenda executing the DOIT convergence test.\n"
),
1244
GROUP
(
"Agenda"
)));
1245
1246
wsv_data.push_back(
WsvRecord
(
1247
NAME
(
"doit_is_initialized"
),
1248
DESCRIPTION
(
"Flag to determine if *DoitInit* was called.\n"
1249
"\n"
1250
"This flag is checked by *DoitCalc* to make sure that\n"
1251
"*DoitInit* was called before.\n"
),
1252
GROUP
(
"Index"
)));
1253
1254
wsv_data.push_back(
1255
WsvRecord
(
NAME
(
"doit_iteration_counter"
),
1256
DESCRIPTION
(
"Counter for number of iterations.\n"
1257
"\n"
1258
"This variable holds the number of iterations \n"
1259
"while solving the VRTE using the DOIT method. \n"
),
1260
GROUP
(
"Index"
)));
1261
1262
wsv_data.push_back(
WsvRecord
(
1263
NAME
(
"doit_mono_agenda"
),
1264
DESCRIPTION
(
"Agenda performing monochromatic DOIT calculation.\n"
),
1265
GROUP
(
"Agenda"
)));
1266
1267
wsv_data.push_back(
WsvRecord
(
1268
NAME
(
"doit_rte_agenda"
),
1269
DESCRIPTION
(
1270
"Agenda performing the DOIT cloudbox radiative transfer update.\n"
),
1271
GROUP
(
"Agenda"
)));
1272
1273
wsv_data.push_back(
WsvRecord
(
1274
NAME
(
"doit_scat_field_agenda"
),
1275
DESCRIPTION
(
1276
"Agenda calculating the scattering integral field in DOIT.\n"
),
1277
GROUP
(
"Agenda"
)));
1278
1279
wsv_data.push_back(
WsvRecord
(
1280
NAME
(
"doit_scat_field"
),
1281
DESCRIPTION
(
1282
"Scattered field inside the cloudbox.\n"
1283
"\n"
1284
"This variable holds the value of the scattering integral for all\n"
1285
"points inside the cloudbox. For more information refer to AUG.\n"
1286
"\n"
1287
"Usage: Input to *cloudbox_fieldUpdate...*. \n"
1288
"\n"
1289
"Unit: W / (m^2 Hz sr) for each Stokes component.\n"
1290
"\n"
1291
"Size: [(cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
1292
" (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
1293
" (cloudbox_limits[5] - cloudbox_limits[4]) +1, \n"
1294
" N_za, N_aa, N_i ]\n"
),
1295
GROUP
(
"Tensor6"
)));
1296
1297
wsv_data.push_back(
1298
WsvRecord
(
NAME
(
"doit_za_grid_opt"
),
1299
DESCRIPTION
(
"Optimized zenith angle grid.\n"
1300
"\n"
1301
"Output of the method *doit_za_grid_optCalc*.\n"
1302
"\n"
1303
"Usage: Output of *doit_za_grid_optCalc*\n"
1304
"\n"
1305
"Unit: degrees \n"
),
1306
GROUP
(
"Vector"
)));
1307
1308
wsv_data.push_back(
WsvRecord
(
1309
NAME
(
"doit_za_grid_size"
),
1310
DESCRIPTION
(
1311
"Number of equidistant grid points of the zenith angle grid.\n"
1312
"\n"
1313
"Grid points are defined from 0 to 180 deg, for the scattering\n"
1314
"integral calculation.\n"
1315
"\n"
1316
"Usage: Output of *DOAngularGridsSet*.\n"
),
1317
GROUP
(
"Index"
)));
1318
1319
wsv_data.push_back(
WsvRecord
(
1320
NAME
(
"doit_za_interp"
),
1321
DESCRIPTION
(
"Flag for interplation method in zenith angle dimension.\n"
1322
"\n"
1323
"0 - linear interpolation \n"
1324
"1 - cubic interpolation \n"
1325
"\n"
1326
"Usage: Set by user in *doit_za_interpSet*. \n"
),
1327
GROUP
(
"Index"
)));
1328
1329
wsv_data.push_back(
WsvRecord
(
1330
NAME
(
"dsurface_emission_dx"
),
1331
DESCRIPTION
(
1332
"The derivative of *surface_emission* with respect to quantities\n"
1333
"listed in *dsurface_names*.\n"
1334
"\n"
1335
"Usage: Used internally of radiative transfer methods\n"
1336
"\n"
1337
"Dimensions: [dsurface_names][f_grid, stokes_dim]\n"
),
1338
GROUP
(
"ArrayOfMatrix"
)));
1339
1340
wsv_data.push_back(
WsvRecord
(
1341
NAME
(
"dsurface_names"
),
1342
DESCRIPTION
(
"Name of surface retrieval quantities.\n"
1343
"\n"
1344
"Usage: Used internally of radiative transfer methods\n"
1345
"\n"
1346
"Dimensions: [retrieval quantity]\n"
),
1347
GROUP
(
"ArrayOfString"
)));
1348
1349
wsv_data.push_back(
WsvRecord
(
1350
NAME
(
"dsurface_rmatrix_dx"
),
1351
DESCRIPTION
(
1352
"The derivative of *surface_rmatrix* with respect to quantities\n"
1353
"listed in *dsurface_names*.\n"
1354
"\n"
1355
"Usage: Used internally of radiative transfer methods\n"
1356
"\n"
1357
"Dimensions: [dsurface_names][surface_los, f_grid, stokes_dim, stokes_dim]\n"
),
1358
GROUP
(
"ArrayOfTensor4"
)));
1359
1360
wsv_data.push_back(
WsvRecord
(
1361
NAME
(
"dxdy"
),
1362
DESCRIPTION
(
1363
"Contribution function (or gain) matrix.\n"
1364
"\n"
1365
"This matrix is the partial derivative of the retrieved state vector\n"
1366
"with respect to the measurement vector (*y*).\n"
1367
"\n"
1368
"Usage: Used and set by inversion methods. \n"
),
1369
GROUP
(
"Matrix"
)));
1370
1371
wsv_data.push_back(
WsvRecord
(
1372
NAME
(
"ecs_data"
),
1373
DESCRIPTION
(
1374
"Error corrected sudden data\n"
1375
"\n"
1376
"Dimensions: [num IDs] [num Species]\n"
1377
"\n"
1378
"It is used for absorption bands with these population tags:\n"
1379
"\t ByMakarovFullRelmat \n"
1380
"\t ByRovibLinearDipoleLineMixing \n"
),
1381
GROUP
(
"MapOfErrorCorrectedSuddenData"
)));
1382
1383
wsv_data.push_back(
WsvRecord
(
1384
NAME
(
"ext_mat"
),
1385
DESCRIPTION
(
1386
"Total extinction matrix.\n"
1387
"\n"
1388
"This variable contains the extinction coefficient matrix, which\n"
1389
"is used in the RT calculation in the cloudbox. It is the physical\n"
1390
"extinction matrix which includes particle extinction for all chosen\n"
1391
"scattering species and gaseous extinction for all chosen gaseous species.\n"
1392
"\n"
1393
"See the ARTS user guide (AUG) for further information. Use the index to\n"
1394
"find where this variable is discussed. The variable is listed as a\n"
1395
"subentry to \"workspace variables\".\n"
1396
"\n"
1397
"Usage: Output of *opt_prop_bulkCalc* \n"
1398
"\n"
1399
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
1400
"\n"
1401
"Dimensions: [f_grid, stokes_dim, stokes_dim]\n"
),
1402
GROUP
(
"PropagationMatrix"
)));
1403
1404
wsv_data.push_back(
WsvRecord
(
1405
NAME
(
"ext_mat_spt"
),
1406
DESCRIPTION
(
1407
"Extinction matrix for all individual scattering elements.\n"
1408
"\n"
1409
"This variable contains the elements of the extinction matrix of all\n"
1410
"individual scattering elements for a given propagation direction. It is\n"
1411
"calculated input as well as the output of the agenda *spt_calc_agenda*.\n"
1412
"\n"
1413
"Usage: Output of *spt_calc_agenda* \n"
1414
"\n"
1415
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
1416
"\n"
1417
"Dimensions: [number of scattering elements, stokes_dim, stokes_dim]\n"
),
1418
GROUP
(
"ArrayOfPropagationMatrix"
)));
1419
1420
wsv_data.push_back(
WsvRecord
(
1421
NAME
(
"file_index"
),
1422
DESCRIPTION
(
1423
"Index number for files.\n"
1424
"\n"
1425
"See *WriteXMLIndexed* for further information.\n"
1426
"\n"
1427
"Usage: Input to *WriteXMLIndexed* and *ReadXMLIndexed*. \n"
),
1428
GROUP
(
"Index"
)));
1429
1430
wsv_data.push_back(
WsvRecord
(
NAME
(
"forloop_agenda"
),
1431
DESCRIPTION
(
"Agenda performing a for loop.\n"
),
1432
GROUP
(
"Agenda"
)));
1433
1434
wsv_data.push_back(
WsvRecord
(
1435
NAME
(
"forloop_index"
),
1436
DESCRIPTION
(
1437
"The index for for-loops.\n"
1438
"\n"
1439
"This is the index that is used by method *ForLoop* to loop over\n"
1440
"*forloop_agenda*. \n"
),
1441
GROUP
(
"Index"
)));
1442
1443
wsv_data.push_back(
WsvRecord
(
NAME
(
"fos_iyin_za_angles"
),
1444
DESCRIPTION
(
"So far just testing of FOS ...\n"
),
1445
GROUP
(
"Vector"
)));
1446
1447
wsv_data.push_back(
WsvRecord
(
NAME
(
"fos_scatint_angles"
),
1448
DESCRIPTION
(
"So far just testing of FOS ...\n"
),
1449
GROUP
(
"Matrix"
)));
1450
1451
wsv_data.push_back(
WsvRecord
(
1452
NAME
(
"f_backend"
),
1453
DESCRIPTION
(
1454
"The frequency position of each backend (spectrometer) channel.\n"
1455
"\n"
1456
"Usage: Set by the user.\n "
1457
"\n"
1458
"Unit: Hz\n"
),
1459
GROUP
(
"Vector"
)));
1460
1461
wsv_data.push_back(
WsvRecord
(
1462
NAME
(
"f_backend_multi"
),
1463
DESCRIPTION
(
1464
"As *f_backend* but describes an instrument with muliple\n"
1465
"mixer/receiver chains.\n"
1466
"\n"
1467
"This variable is needed when e.g. the receiver has several mixers\n"
1468
"or the the receiver measures several polarisation and the channels\n"
1469
"differ in position or response function. \n"
1470
"\n"
1471
"The array has one element for each \"receiver chain\". The array\n"
1472
"length must match *backend_channel_response_multi*, and possibly\n"
1473
"also *lo_multi*.\n"
1474
"\n"
1475
"Usage: Set by the user.\n "
1476
"\n"
1477
"Unit: Hz\n"
),
1478
GROUP
(
"ArrayOfVector"
)));
1479
1480
wsv_data.push_back(
WsvRecord
(
1481
NAME
(
"f_grid"
),
1482
DESCRIPTION
(
1483
"The frequency grid for monochromatic pencil beam calculations.\n"
1484
"\n"
1485
"Usage: Set by the user.\n "
1486
"\n"
1487
"Unit: Hz\n"
),
1488
GROUP
(
"Vector"
)));
1489
1490
wsv_data.push_back(
WsvRecord
(
1491
NAME
(
"f_index"
),
1492
DESCRIPTION
(
1493
"Frequency index.\n"
1494
"\n"
1495
"Not all methods handle all monochromatic frequencies (of *f_grid*) in\n"
1496
"parellel and this variable is used for communication between methods,\n"
1497
"holding the index of the frequency treated presently.\n"
1498
"\n"
1499
"In some contexts, a negative f_index means all frequencies.\n"
1500
"\n"
1501
"Usage: Method output.\n"
),
1502
GROUP
(
"Index"
)));
1503
1504
wsv_data.push_back(
WsvRecord
(
1505
NAME
(
"gas_scattering_do"
),
1506
DESCRIPTION
(
1507
"Flag to activate gas scattering.\n"
1508
"\n"
1509
"If this variable is set to 0, no gas scattering will be considered,\n"
1510
"even if the gas_scattering_agenda is set.\n"
1511
"\n"
),
1512
GROUP
(
"Index"
), Index{0}));
1513
1514
wsv_data.push_back(
WsvRecord
(
1515
NAME
(
"gas_scattering_output_type"
),
1516
DESCRIPTION
(
1517
"Flag to select the output of the *gas_scattering_agenda*.\n"
1518
"\n"
1519
"Internal communications variable, not intended to be used by user."
1520
"If equals 0 *gas_scattering_mat* is output and *gas_scattering_fct_legendre* is empty.\n"
1521
"If equals 1 *gas_scattering_fct_legendre* is output and *gas_scattering_mat* is empty.\n"
1522
"\n"
),
1523
GROUP
(
"Index"
)));
1524
1525
wsv_data.push_back(
WsvRecord
(
1526
NAME
(
"gas_scattering_agenda"
),
1527
DESCRIPTION
(
1528
"Agenda calculating gas scattering extinction and phase matrix.\n"
1529
"\n"
),
1530
GROUP
(
"Agenda"
)));
1531
1532
wsv_data.push_back(
WsvRecord
(
1533
NAME
(
"gas_scattering_los_in"
),
1534
DESCRIPTION
(
1535
"Incoming line-of-sight for gas scattering.\n"
1536
"\n"
1537
"This variable holds a local line-of-sight. The angles of this\n"
1538
"vector are defined as for *rte_los*.\n"
1539
"\n"
1540
"The WSV is used as input in *gas_scattering_agenda*\n"
1541
"\n"
1542
"Usage: Communication variable.\n"
1543
"\n"
1544
"Units: [ degree, degree ]\n"
1545
"\n"
1546
"Size: [ 2 ]\n"
),
1547
GROUP
(
"Vector"
)));
1548
1549
wsv_data.push_back(
WsvRecord
(
1550
NAME
(
"gas_scattering_los_out"
),
1551
DESCRIPTION
(
1552
"Outgoing line-of-sight for gas scattering.\n"
1553
"\n"
1554
"This variable holds a local line-of-sight. The angles of this\n"
1555
"vector are defined as for *rte_los*.\n"
1556
"\n"
1557
"The WSV is used as input in *gas_scattering_agenda*\n"
1558
"\n"
1559
"Usage: Communication variable.\n"
1560
"\n"
1561
"Units: [ degree, degree ]\n"
1562
"\n"
1563
"Size: [ 2 ]\n"
),
1564
GROUP
(
"Vector"
)));
1565
1566
wsv_data.push_back(
WsvRecord
(
1567
NAME
(
"gas_scattering_coef"
),
1568
DESCRIPTION
(
1569
"Spectrum of scattering coefficient matrices.\n"
1570
"\n"
1571
"This variable contains the elements of the extinction matrix solely\n"
1572
"due to scattering.\n"
1573
"\n"
1574
"Usage: Output of *gas_scattering_agenda*.\n"
1575
"\n"
1576
"Units: [ m^-1. ]\n"
1577
"\n"
1578
"Size: [fgrid, stokes_dim, stokes_dim]\n"
),
1579
GROUP
(
"PropagationMatrix"
)));
1580
1581
wsv_data.push_back(
WsvRecord
(
1582
NAME
(
"gas_scattering_mat"
),
1583
DESCRIPTION
(
1584
"Spectrum of normalized phase matrices.\n"
1585
"\n"
1586
"This variable contains the elements of the normalized phase matrix\n"
1587
"for a specific incoming and outgoing direction.\n"
1588
"\n"
1589
"Usage: Output of *gas_scattering_agenda*.\n"
1590
"\n"
1591
"Units: [ 1 ]\n"
1592
"\n"
1593
"Size: [fgrid, stokes_dim, stokes_dim]\n"
),
1594
GROUP
(
"TransmissionMatrix"
)));
1595
1596
wsv_data.push_back(
WsvRecord
(
1597
NAME
(
"gas_scattering_fct_legendre"
),
1598
DESCRIPTION
(
1599
"Normalized phase function as Legendre series.\n"
1600
"\n"
1601
"This variable contains the normalized phase function\n"
1602
"as Legendre series.\n"
1603
"\n"
1604
"Usage: Output of *gas_scattering_agenda*.\n"
1605
"\n"
1606
"Units: [ 1 ]\n"
1607
"\n"
1608
"Size: [Number of Legendre polynomials]\n"
),
1609
GROUP
(
"Vector"
)));
1610
1611
wsv_data.push_back(
WsvRecord
(
1612
NAME
(
"geo_pos"
),
1613
DESCRIPTION
(
1614
"Geo-position of a measurement.\n"
1615
"\n"
1616
"An empty vector is allowed, then flagging that no geo-positioning\n"
1617
"has been performed.\n"
1618
"\n"
1619
"Otherwise, this should be a vector having length 5. The elements are:\n"
1620
" altitude\n"
1621
" latitude\n"
1622
" longitide\n"
1623
" zenith angle\n"
1624
" azimuth angle\n"
1625
"\n"
1626
"Dimensions: 0 or 5\n"
1627
"\n"
1628
"Unit: [ m, deg, deg, deg, deg ]\n"
),
1629
GROUP
(
"Vector"
)));
1630
1631
wsv_data.push_back(
WsvRecord
(
1632
NAME
(
"g0"
),
1633
DESCRIPTION
(
1634
"Gravity at zero altitude.\n"
1635
"\n"
1636
"This variable is \"little g\" at the reference ellipsiod. That is,\n"
1637
"for Earth this is a value around 9.81 m/s2\n"
),
1638
GROUP
(
"Numeric"
)));
1639
1640
wsv_data.push_back(
1641
WsvRecord
(
NAME
(
"g0_agenda"
),
1642
DESCRIPTION
(
"Agenda providing the gravity constant.\n"
),
1643
GROUP
(
"Agenda"
)));
1644
1645
wsv_data.push_back(
WsvRecord
(
1646
NAME
(
"heating_rates"
),
1647
DESCRIPTION
(
1648
"The heating rates of atmospheric layers.\n"
1649
"\n"
1650
"The heating rate is defined as the rate of temperature change of an \n"
1651
"atmospheric layer due to heating by absorption of radiation or if it\n"
1652
"is negative due to loss of energy by emission of radiation.\n"
1653
"\n"
1654
"Units: K s^-1\n"
1655
"\n"
1656
"Size: [ p_grid, \n"
1657
" lat_grid, \n"
1658
" lon_grid ]\n"
),
1659
GROUP
(
"Tensor3"
)));
1660
1661
wsv_data.push_back(
WsvRecord
(
1662
NAME
(
"xsec_fit_data"
),
1663
DESCRIPTION
(
1664
"Fitting model coefficients for cross section species.\n"
1665
"\n"
1666
"Dimensions: [ n_species ]\n"
1667
"\n"
1668
"XsecRecord:\n"
1669
" species: Name of species\n"
1670
" version: Fit model version\n"
1671
" fitcoeffs:\n"
1672
" Fit model coefficients as an *ArrayOfGriddedField2*\n"
1673
" Dimensions: [ n_bands ]\n"
1674
" GriddedField2: [ n_band_frequencies, n_coeffs ]\n"
1675
" The fit model:\n"
1676
" z = p00 + p10*x + p01*y + p20*x^2\n"
1677
"\n"
1678
" z = Xsec [m^2]\n"
1679
" x = T / T0\n"
1680
" y = P / P0\n"
1681
"\n"
1682
" T0 = 1 [K]\n"
1683
" P0 = 1 [Pa]\n"
1684
"\n"
1685
" fitcoeffs(:, 0) p00 [m^2]\n"
1686
" fitcoeffs(:, 1) p10 [m^2]\n"
1687
" fitcoeffs(:, 2) p01 [m^2]\n"
1688
" fitcoeffs(:, 3) p20 [m^2]\n"
1689
" fitminpressures:\n"
1690
" Minimum pressure available in source xsec data to generate the fit coefficients.\n"
1691
" Dimensions: [ n_bands ]\n"
1692
" fitmaxpressures:\n"
1693
" Maximum pressure available in source xsec data to generate the fit coefficients.\n"
1694
" Dimensions: [ n_bands ]\n"
1695
" fitmintemperatures:\n"
1696
" Minimum temperature available in source xsec data to generate the fit coefficients.\n"
1697
" Dimensions: [ n_bands ]\n"
1698
" fitmintemperatures:\n"
1699
" Maximum temperature available in source xsec data to generate the fit coefficients.\n"
1700
" Dimensions: [ n_bands ]\n"
1701
"\n"
1702
"fitminpressures, fitmaxpressures, fitmintemperatures and fitmaxtemperatures\n"
1703
"are not used to apply the model and solely serve for informational purposes.\n"
),
1704
GROUP
(
"ArrayOfXsecRecord"
)));
1705
1706
wsv_data.push_back(
WsvRecord
(
1707
NAME
(
"instrument_pol"
),
1708
DESCRIPTION
(
1709
"Definition of the polarisation of an instrument.\n"
1710
"\n"
1711
"The default for output is to give data for the selected Stokes\n"
1712
"elements (1:stokes_dim). This variable defines the polarisations\n"
1713
"that are actually measured, or are transmitted.\n"
1714
"\n"
1715
"The polarisation states/components are coded as\n"
1716
" 0 = Undefined.\n"
1717
" 1 = I, total intensity.\n"
1718
" 2 = Q, second Stokes component, Iv - Ih.\n"
1719
" 3 = U, third Stokes component, I+45 - I-45.\n"
1720
" 4 = V, forth Stokes component, Irc - Ilc\n"
1721
" 5 = Iv, intensity of vertically polarised component.\n"
1722
" 6 = Ih, intensity of horizontally polarised component.\n"
1723
" 7 = I+45, intensity of +45 deg linearly polarised component.\n"
1724
" 8 = I-45, intensity of -45 deg linearly polarised component.\n"
1725
" 9 = Ilhc, intensity of left-hand circularly polarised component.\n"
1726
" 10 = Irhc, intensity of right-hand circularly polarised component.\n"
1727
"\n"
1728
"See the documentation for definition of the Stokes vector and the\n"
1729
"different components.\n"
1730
"\n"
1731
"If the instrument measures, or transmits, vertical and horizontal\n"
1732
"components, this variable shall accordingly be set to [5,6].\n"
1733
"\n"
1734
"Conversion to Planck-BT of components 2-4 requires that component\n"
1735
"1 is kept, and must be included as first element.\n"
1736
"\n"
1737
"The shift from the Stokes vector can be made at any stage when of the\n"
1738
"sensor response set-up. The responses used must of course be adopted\n"
1739
"correspondingly. Or reversed, if the antenna response is defined for\n"
1740
"Iv or Ih it could be useful to shift polarisation as first sensor\n"
1741
"operation.\n"
1742
"\n"
1743
"Usage: Set by the user.\n"
),
1744
GROUP
(
"ArrayOfIndex"
)));
1745
1746
wsv_data.push_back(
WsvRecord
(
1747
NAME
(
"instrument_pol_array"
),
1748
DESCRIPTION
(
1749
"Multiple definition of instrument polarisation.\n"
1750
"\n"
1751
"Defined as *instrument_pol* but used when multiple polarisations\n"
1752
"are possible/required.\n"
1753
"\n"
1754
"Usage: Set by the user.\n"
),
1755
GROUP
(
"ArrayOfArrayOfIndex"
)));
1756
1757
wsv_data.push_back(
WsvRecord
(
1758
NAME
(
"inversion_iteration_counter"
),
1759
DESCRIPTION
(
1760
"Iteration counter variable for *inversion_iterate_agenda*.\n"
),
1761
GROUP
(
"Index"
)));
1762
1763
wsv_data.push_back(
WsvRecord
(
1764
NAME
(
"inversion_iterate_agenda"
),
1765
DESCRIPTION
(
1766
"Agenda recalculating spectra and Jacobian for iterative inversion methods.\n"
),
1767
GROUP
(
"Agenda"
)));
1768
1769
wsv_data.push_back(
WsvRecord
(
1770
NAME
(
"irradiance_field"
),
1771
DESCRIPTION
(
1772
"Irradiance field also known as flux density.\n"
1773
"\n"
1774
"Radiant flux received by a surface per unit area for each hemisphere.\n"
1775
"The last dimension denotes the hemispheres. The first component is\n"
1776
"the downward irradiance and the second component is the upward irradiance\n"
1777
"\n"
1778
"Units: W m^-2\n"
1779
"\n"
1780
"Size: [ p_grid, \n"
1781
" lat_grid, \n"
1782
" lon_grid, \n"
1783
" 2 ]\n"
),
1784
GROUP
(
"Tensor4"
)));
1785
1786
wsv_data.push_back(
1787
WsvRecord
(
NAME
(
"isotopologue_ratios"
),
1788
DESCRIPTION
(R
"--(Contains the isotopologue ratios.
1789
1790
This variable is set to the default provided by *isotopologue_ratiosInitFromBuiltin*
1791
)--"),
1792
GROUP
(
"SpeciesIsotopologueRatios"
),
1793
Species::isotopologue_ratiosInitFromBuiltin
()));
1794
1795
wsv_data.push_back(
WsvRecord
(
1796
NAME
(
"iy"
),
1797
DESCRIPTION
(
1798
"Monochromatic pencil beam radiance spectrum.\n"
1799
"\n"
1800
"This variable holds a single spectrum, with values corresponding\n"
1801
"to infinite frequency and spatial resolution (compare to *y*).\n"
1802
"\n"
1803
"The variable is used to represent spectra at all positions of the\n"
1804
"propagation path and can e.g. temporarily hold radiation entering\n"
1805
"the atmosphere from space.\n"
1806
"\n"
1807
"Usage: Used by radiative transfer methods.\n"
1808
"\n"
1809
"Unit: For passive observations, as selected by *iy_unit*.\n"
1810
" For transmission calculations, same as for transmitted\n"
1811
" signal.\n"
1812
"\n"
1813
"Dimensions: [ f_grid, stokes_dim ]\n"
),
1814
GROUP
(
"Matrix"
)));
1815
1816
wsv_data.push_back(
WsvRecord
(
1817
NAME
(
"iyb"
),
1818
DESCRIPTION
(
1819
"Monochromatic pencil beam data for one measurement block.\n"
1820
"\n"
1821
"The data for all *iy* of a measurement block appended to a vector,\n"
1822
"following the sorting order used for *y*.\n"
1823
"\n"
1824
"Usage: Used internally.\n"
1825
"\n"
1826
"Unit: W / (m^2 Hz sr) or transmittance.\n"
1827
"\n"
1828
"Dimensions: [ nlos * nf * stokes_dim ] where nlos is number of rows in\n"
1829
" mblock_dlos, and nf is length of f_grid.\n"
),
1830
GROUP
(
"Vector"
)));
1831
1832
wsv_data.push_back(
WsvRecord
(
1833
NAME
(
"iy_agenda_call1"
),
1834
DESCRIPTION
(
1835
"Flag to handle recursive calls of *iy_main_agenda*\n"
1836
"\n"
1837
"The agenda *iy_main_agenda* can be used recursively and this flag\n"
1838
"is used to tell the methods inside the agenda which is the primary\n"
1839
" call. This is handled automatically for methods using\n"
1840
"*iy_main_agenda*, such as *yCalc*, but the user must set this\n"
1841
"variable to 1 if the agenda is called directly inside the control\n"
1842
"file (which should be a rare case).\n"
),
1843
GROUP
(
"Index"
)));
1844
1845
wsv_data.push_back(
WsvRecord
(
1846
NAME
(
"iy_aux"
),
1847
DESCRIPTION
(
1848
"Data auxiliary to *iy*.\n"
1849
"\n"
1850
"Different data beside the direct result of the radiative transfer\n"
1851
"calculations (*iy*) can be obtained by this variable. These auxilary\n"
1852
"data are selected by *iy_aux_vars*.\n"
1853
"\n"
1854
"Usage: Provided by some radiative transfer methods.\n"
1855
"\n"
1856
"Dimensions: [quantity][ f_grid, stokes_dim ]\n"
),
1857
GROUP
(
"ArrayOfMatrix"
)));
1858
1859
wsv_data.push_back(
WsvRecord
(
1860
NAME
(
"iy_aux_vars"
),
1861
DESCRIPTION
(
1862
"Selection of quantities for *iy_aux* and when applicable also *y_aux*.\n"
1863
"\n"
1864
"Each element of this string array determines the quantity for the\n"
1865
"corresponding element in *iy_aux* and *y_aux* (i.e. the quantities\n"
1866
"are stored in the order given in *iy_aux_vars*).\n"
1867
"\n"
1868
"The possible choices vary between the methods. See the WSM you select\n"
1869
"for *iy_main_agenda* for the complete set of choices. Please not that\n"
1870
"if the calculations are done through *yCalc*, you can not select\n"
1871
"along-the-path variables.\n"
),
1872
GROUP
(
"ArrayOfString"
),
ArrayOfString
{}));
1873
1874
wsv_data.push_back(
WsvRecord
(
1875
NAME
(
"iy_cloudbox_agenda"
),
1876
DESCRIPTION
(
1877
"Agenda deriving the intensity at boundary or interior of the cloudbox.\n"
),
1878
GROUP
(
"Agenda"
)));
1879
1880
wsv_data.push_back(
WsvRecord
(
1881
NAME
(
"iy_independent_beam_approx_agenda"
),
1882
DESCRIPTION
(
"Agenda dedicated to *iyIndependentBeamApproximation*."
),
1883
GROUP
(
"Agenda"
)));
1884
1885
wsv_data.push_back(
WsvRecord
(
1886
NAME
(
"iy_id"
),
1887
DESCRIPTION
(
1888
"Identification number of *iy*.\n"
1889
"\n"
1890
"This variable is intended to be an identification number for individual\n"
1891
"calculations of *iy*. This id-number can e.g. be used as input to \n"
1892
"*WriteXMLIndexed*, to link filenames to the different calculations.\n"
1893
"\n"
1894
"Some methods sets and updates *iy_id*. The general numbering scheme is:\n"
1895
" xxxyyycba\n"
1896
"where xxx identifies the row in sensorPos/los (i.e. the mblock_index),\n"
1897
"yyy identifies pencil beam direction inside measurement block (should\n"
1898
"in general match a row in mblock_dlos), and cba identies later legs\n"
1899
"of total propagation paths, where a, b and c identifies secondary, tertiary\n"
1900
"and quaternary part, respectively. 1-based numbering is used. That is,\n"
1901
"the primary path of the first pencil beam of the first measurement block\n"
1902
"has iy_id = 001001000.\n"
1903
"\n"
1904
"Accordingly, the primary propagation path has cba = 000. If the primary path\n"
1905
"intersects with the surface, and the downwelling radiation is calculated\n"
1906
"for three directions, these secondary paths get cba = 001, 002 and 003.\n"
1907
"If tertiary paths appear, they have numbers such as 011. \n"
1908
"\n"
1909
"As the numbering scheme has nine positions, it is suitable to store\n"
1910
"files as: WriteXMLIndexed(output_file_format,iy_id,in,filename,9)\n"
1911
"\n"
1912
"Setting of *iy_id* is not yet supported together with scattering\n"
1913
"calculations. The value of iy_id then differs, it is either set to 0\n"
1914
"or keeps its value set by *yCalc*.\n"
),
1915
GROUP
(
"Index"
), Index{0}));
1916
1917
wsv_data.push_back(
1918
WsvRecord
(
NAME
(
"iy_loop_freqs_agenda"
),
1919
DESCRIPTION
(
"Agenda dedicated to *iyLoopFrequencies*."
),
1920
GROUP
(
"Agenda"
)));
1921
1922
wsv_data.push_back(
WsvRecord
(
1923
NAME
(
"iy_main_agenda"
),
1924
DESCRIPTION
(
1925
"Agenda calculating the single monochromatic pencil beam spectrum.\n"
),
1926
GROUP
(
"Agenda"
)));
1927
1928
wsv_data.push_back(
WsvRecord
(
1929
NAME
(
"iy_radar_agenda"
),
1930
DESCRIPTION
(
1931
"Agenda calculating pointwise backscattering.\n"
),
1932
GROUP
(
"Agenda"
)));
1933
1934
wsv_data.push_back(
WsvRecord
(
1935
NAME
(
"iy_space_agenda"
),
1936
DESCRIPTION
(
1937
"Agenda providing the downwelling radiation at the top of the atmosphere.\n"
),
1938
GROUP
(
"Agenda"
)));
1939
1940
wsv_data.push_back(
WsvRecord
(
1941
NAME
(
"iy_surface_agenda"
),
1942
DESCRIPTION
(
1943
"Agenda providing the upwelling radiation from the surface.\n"
),
1944
GROUP
(
"Agenda"
)));
1945
1946
wsv_data.push_back(
WsvRecord
(
1947
NAME
(
"iy_transmittance"
),
1948
DESCRIPTION
(
1949
"Transmittance to be included in *iy*.\n"
1950
"\n"
1951
"The calculation of *iy* can be performed over several propation path\n"
1952
"branches, and there can be recursive calls of *iy_main_agenda*.\n"
1953
"This variable gives the transmittance from the end point of the present\n"
1954
"branch and the sensor for such recursive cases.\n"
1955
"\n"
1956
"This variable is used purely internally. The exact usage can vary\n"
1957
"between different RT integration schemes.\n"
1958
"\n"
1959
"Usage: Internally inside iy_main_agenda.\n"
1960
"\n"
1961
"Unit: 1\n"
1962
"\n"
1963
"Dimensions: [ f_grid, stokes_dim, stokes_dim ]\n"
),
1964
GROUP
(
"Tensor3"
)));
1965
1966
wsv_data.push_back(
WsvRecord
(
1967
NAME
(
"iy_transmitter"
),
1968
DESCRIPTION
(
1969
"Monochromatic pencil beam radiance spectrum of transmitter signal.\n"
1970
"\n"
1971
"This variable holds a single spectrum, with values corresponding\n"
1972
"to infinite frequency and spatial resolution (compare to *y*).\n"
1973
"\n"
1974
"Unit: Depend on the transmitted signal\n"
1975
"\n"
1976
"Dimensions: [ f_grid, stokes_dim ]\n"
),
1977
GROUP
(
"Matrix"
)));
1978
1979
wsv_data.push_back(
WsvRecord
(
1980
NAME
(
"iy_unit"
),
1981
DESCRIPTION
(
1982
"Selection of output unit for radiative transfer methods.\n"
1983
"\n"
1984
"This variable allows that the unit of the output radiance/intensity\n"
1985
"is changed. The possible choices differ between the radiative\n"
1986
"methods, including not considering the variable at all.\n"
1987
"Accordingly, for details see the radiative method you have selected\n"
1988
"(e.g., *iyEmissionStandard*, *iyMC* and the like).\n"
),
1989
GROUP
(
"String"
),
String
{
"1"
}));
1990
1991
wsv_data.push_back(
WsvRecord
(
1992
NAME
(
"iy_unit_radar"
),
1993
DESCRIPTION
(
1994
"Unit for radar simulations.\n"
1995
"\n"
1996
"See the radar methods for allowed options.\n"
),
1997
GROUP
(
"String"
)));
1998
1999
wsv_data.push_back(
WsvRecord
(
2000
NAME
(
"jacobian"
),
2001
DESCRIPTION
(
2002
"The Jacobian matrix.\n"
2003
"\n"
2004
"The matrix holding the Jacobians of the retrieval quantities. The\n"
2005
"matrix has to be initialised before the retrieval quantities can be\n"
2006
"defined. Initialisation is done by*jacobianInit*. Retrieval quantities\n"
2007
"are then added with *jacobianAdd...* or *retrievalAdd..* methods.\n"
2008
"\n"
2009
"The order between rows and columns follows how data are stored in *y*\n"
2010
"and *x*, respectively.\n"
2011
"\n"
2012
"Units: See the different retrieval quantities.\n"
2013
"\n"
2014
"Dimension: [ y, number of retrieval quantities and grids ]\n"
),
2015
GROUP
(
"Matrix"
)));
2016
2017
wsv_data.push_back(
2018
WsvRecord
(
NAME
(
"jacobian_agenda"
),
2019
DESCRIPTION
(
"Pure numerical Jacobian calculation agenda.\n"
),
2020
GROUP
(
"Agenda"
)));
2021
2022
wsv_data.push_back(
WsvRecord
(
2023
NAME
(
"jacobian_do"
),
2024
DESCRIPTION
(
2025
"Flag to activate (clear-sky) Jacobian calculations.\n"
2026
"\n"
2027
"If this variable is set to 0, no Jacobian calculations will be done,\n"
2028
"even if such calculations have been set-up (through the\n"
2029
"jacobianAddXxx methods).\n"
2030
"\n"
2031
"Needs to be 0 if cloudy-sky (Doit) Jacobians shall be calculated.\n"
),
2032
GROUP
(
"Index"
)));
2033
2034
wsv_data.push_back(
WsvRecord
(
2035
NAME
(
"jacobian_quantities"
),
2036
DESCRIPTION
(
2037
"The retrieval quantities in the Jacobian matrix.\n"
2038
"\n"
2039
"An array of retrieval quantities for which the Jacobians are\n"
2040
"calculated.\n"
2041
"\n"
2042
"Usage: Quantities are added by the jacobianAdd WSMs.\n"
),
2043
GROUP
(
"ArrayOfRetrievalQuantity"
)));
2044
2045
wsv_data.push_back(
WsvRecord
(
2046
NAME
(
"jacobian_targets"
),
2047
DESCRIPTION
(
2048
"The partial derivatives that are computed for the Jacobian matrix.\n"
2049
"\n"
2050
"An array of jacobian targets for which the Jacobians are\n"
2051
"calculated.\n"
2052
"\n"
2053
"Usage: Input to absorption agendas.\n"
),
2054
GROUP
(
"ArrayOfJacobianTarget"
)));
2055
2056
wsv_data.push_back(
WsvRecord
(
NAME
(
"lat"
),
2057
DESCRIPTION
(
"A latitude.\n"
2058
"\n"
2059
"Unit: degrees\n"
),
2060
GROUP
(
"Numeric"
)));
2061
2062
wsv_data.push_back(
WsvRecord
(
2063
NAME
(
"lat_grid"
),
2064
DESCRIPTION
(
2065
"The latitude grid.\n"
2066
"\n"
2067
"The latitudes for which the atmospheric fields are defined. The\n"
2068
"atmosphere is undefined outside the range covered by the grid.\n"
2069
"The grid must be sorted in increasing order, with no repetitions.\n"
2070
"\n"
2071
"Geocentric latitudes are used.\n"
2072
"\n"
2073
"For 1D calculations this vector shall be set to be empty.\n"
2074
"\n"
2075
"For 2D cases the latitudes shall be interpreted as the angular\n"
2076
"distance inside the orbit plane from the equator (values\n"
2077
"outside +-90 deg are allowed).\n"
2078
"\n"
2079
"For 3D, the valid latitude range is [-90,90].\n"
2080
"\n"
2081
"See further the ARTS user guide (AUG). Use the index to find where\n"
2082
"this variable is discussed. The variable is listed as a subentry to\n"
2083
"\"workspace variables\".\n"
2084
"\n"
2085
"Usage: Set by the user.\n"
2086
"\n"
2087
"Unit: degrees\n"
),
2088
GROUP
(
"Vector"
)));
2089
2090
wsv_data.push_back(
WsvRecord
(
2091
NAME
(
"lat_true"
),
2092
DESCRIPTION
(
2093
"Latitudinal geolocation for 1D and 2D data.\n"
2094
"\n"
2095
"The variables *lat_grid* and *lon_grid* contain true positions only\n"
2096
"for 3D. For 1D and 2D, the geographical position is given by\n"
2097
"*lat_true* and *lon_true*. Can be left empty when not used.\n"
2098
"Otherwise:\n"
2099
"\n"
2100
" 1D: *lat_true* shall have length 1\n"
2101
"\n"
2102
" 2D: Both *lat_true* and *lon_true* shall have a length matching\n"
2103
" *lat_grid*. That is, *lat_true* and *lon_true* shall not be\n"
2104
" seen as grids, they are vectors giving the actual lat or lon\n"
2105
" for each point corresponding to *lat_grid*.\n"
2106
"\n"
2107
"Usage: Set by the user.\n"
2108
"\n"
2109
"Unit: degrees\n"
),
2110
GROUP
(
"Vector"
), Vector{}));
2111
2112
wsv_data.push_back(
WsvRecord
(
2113
NAME
(
"lbl_checked"
),
2114
DESCRIPTION
(
"Flag to check if the line-by-line calculations will work\n"
2115
"\n"
2116
"Usage: Set manually on own risk, or use *lbl_checkedCalc*.\n"
2117
"\n"
2118
"Unit: Boolean\n"
),
2119
GROUP
(
"Index"
), Index{0}));
2120
2121
wsv_data.push_back(
2122
WsvRecord
(
NAME
(
"line_irradiance"
),
2123
DESCRIPTION
(
"Irradiance as seen by a single absorption line.\n"
2124
"\n"
2125
"Used internally for, e.g., NLTE effects\n"
),
2126
GROUP
(
"Matrix"
)));
2127
2128
wsv_data.push_back(
WsvRecord
(
2129
NAME
(
"line_transmission"
),
2130
DESCRIPTION
(
"Transmission as seen by a single absorption line.\n"
2131
"\n"
2132
"Used internally for, e.g., NLTE effects\n"
),
2133
GROUP
(
"Tensor3"
)));
2134
2135
wsv_data.push_back(
WsvRecord
(
2136
NAME
(
"lo"
),
2137
DESCRIPTION
(
2138
"The local oscillator frequency.\n"
2139
"\n"
2140
"A local oscillator frequency is used in a heterodyne system when\n"
2141
"the mixer folds the spectra from from radio frequencies (RF) to\n"
2142
"intermediate frequencies (IF).\n"
2143
"\n"
2144
"Unit: Hz\n"
2145
"\n"
2146
"Usage: Set by the user.\n"
),
2147
GROUP
(
"Numeric"
)));
2148
2149
wsv_data.push_back(
WsvRecord
(
2150
NAME
(
"lo_multi"
),
2151
DESCRIPTION
(
2152
"Local oscillator frequencies.\n"
2153
"\n"
2154
"As *lo* but describes an instrument with multiple mixers. A vector\n"
2155
"element for each LO. The size of this variable and\n"
2156
"*sideband_response_multi* shall match, and probably also\n"
2157
"*sideband_mode_multi*.\n"
2158
"\n"
2159
"Unit: Hz\n"
2160
"\n"
2161
"Usage: Set by the user.\n"
),
2162
GROUP
(
"Vector"
)));
2163
2164
wsv_data.push_back(
WsvRecord
(
NAME
(
"lon"
),
2165
DESCRIPTION
(
"A longitude.\n"
2166
"\n"
2167
"Unit: degrees\n"
),
2168
GROUP
(
"Numeric"
)));
2169
2170
wsv_data.push_back(
WsvRecord
(
2171
NAME
(
"lon_grid"
),
2172
DESCRIPTION
(
2173
"The longitude grid.\n"
2174
"\n"
2175
"The longitudes for which the atmospheric fields are defined. The\n"
2176
"atmosphere is undefined outside the range covered by the grid.\n"
2177
"The grid must be sorted in increasing order, with no repetitions.\n"
2178
"\n"
2179
"For 1D and 2D, this WSV shall be set to be empty.\n"
2180
"\n"
2181
"Allowed values for longitudes is the range [-360,360]. The difference\n"
2182
"between last and first value can not exceed 360 degrees. A difference\n"
2183
"of exactly 360 deg. means that the complete globe is covered and no\n"
2184
"propagation paths will reach a longitude edge.\n"
2185
"\n"
2186
"See further the ARTS user guide (AUG). Use the index to find where\n"
2187
"this variable is discussed. The variable is listed as a subentry to\n"
2188
"\"workspace variables\".\n"
2189
"\n"
2190
"Usage: Set by the user.\n"
2191
"\n"
2192
"Unit: degrees\n"
),
2193
GROUP
(
"Vector"
)));
2194
2195
wsv_data.push_back(
WsvRecord
(
2196
NAME
(
"lon_true"
),
2197
DESCRIPTION
(
2198
"Longitudinal geolocation for 1D and 2D data.\n"
2199
"\n"
2200
"The variables *lat_grid* and *lon_grid* contain true positions only\n"
2201
"for 3D. For 1D and 2D, the geographical position is given by\n"
2202
"*lat_true* and *lon_true*. Can be left empty when not used.\n"
2203
"Otherwise:\n"
2204
"\n"
2205
" 1D: *lon_true* shall have length 1\n"
2206
"\n"
2207
" 2D: Both *lat_true* and *lon_true* shall have a length matching\n"
2208
" *lat_grid*. That is, *lat_true* and *lon_true* shall not be\n"
2209
" seen as grids, they are vectors giving the actual lat or lon\n"
2210
" for each point corresponding to *lat_grid*.\n"
2211
"\n"
2212
"Usage: Set by the user.\n"
2213
"\n"
2214
"Unit: degrees\n"
),
2215
GROUP
(
"Vector"
), Vector{}));
2216
2217
wsv_data.push_back(
WsvRecord
(
2218
NAME
(
"mag_u_field"
),
2219
DESCRIPTION
(
2220
"Zonal component of the magnetic field.\n"
2221
"\n"
2222
"The East-West magnetic field component. Positive values, when\n"
2223
"pointing eastward.\n"
2224
"\n"
2225
"Can be set to be empty, which is interpreted as zero field strength\n"
2226
"everywhere.\n"
2227
"\n"
2228
"Unit: T\n"
2229
"\n"
2230
"Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
),
2231
GROUP
(
"Tensor3"
), Tensor3{}));
2232
2233
wsv_data.push_back(
WsvRecord
(
2234
NAME
(
"mag_u_field_raw"
),
2235
DESCRIPTION
(
2236
"Raw zonal component of the magnetic field.\n"
2237
"\n"
2238
"The East-West magnetic field component. Positive values, when\n"
2239
"pointing eastward.\n"
2240
"\n"
2241
"Can be set to be empty, which is interpreted as zero field strength\n"
2242
"everywhere.\n"
2243
"\n"
2244
"Unit: T\n"
2245
"\n"
2246
"Dimensions: [ p_grid, lat_grid, lon_grid ].\n"
),
2247
GROUP
(
"GriddedField3"
)));
2248
2249
wsv_data.push_back(
WsvRecord
(
2250
NAME
(
"mag_v_field"
),
2251
DESCRIPTION
(
2252
"Meridional component of the magnetic field.\n"
2253
"\n"
2254
"The North-South magnetic field component. Positive values, when\n"
2255
"pointing northward.\n"
2256
"\n"
2257
"Can be set to be empty, which is interpreted as zero field strength\n"
2258
"everywhere.\n"
2259
"\n"
2260
"Unit: T\n"
2261
"\n"
2262
"Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
),
2263
GROUP
(
"Tensor3"
), Tensor3{}));
2264
2265
wsv_data.push_back(
WsvRecord
(
2266
NAME
(
"mag_v_field_raw"
),
2267
DESCRIPTION
(
2268
"Raw meridional component of the magnetic field.\n"
2269
"\n"
2270
"The North-South magnetic field component. Positive values, when\n"
2271
"pointing northward.\n"
2272
"\n"
2273
"Can be set to be empty, which is interpreted as zero field strength\n"
2274
"everywhere.\n"
2275
"\n"
2276
"Unit: T\n"
2277
"\n"
2278
"Dimensions: [ p_grid, lat_grid, lon_grid ].\n"
),
2279
GROUP
(
"GriddedField3"
)));
2280
2281
wsv_data.push_back(
WsvRecord
(
2282
NAME
(
"mag_w_field"
),
2283
DESCRIPTION
(
2284
"Vertical component of the magnetic field.\n"
2285
"\n"
2286
"Positive values, when pointing upward.\n"
2287
"\n"
2288
"Can be set to be empty, which is interpreted as zero field strength\n"
2289
"everywhere.\n"
2290
"\n"
2291
"Unit: T\n"
2292
"\n"
2293
"Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
),
2294
GROUP
(
"Tensor3"
), Tensor3{}));
2295
2296
wsv_data.push_back(
WsvRecord
(
2297
NAME
(
"mag_w_field_raw"
),
2298
DESCRIPTION
(
2299
"Raw vertical component of the magnetic field.\n"
2300
"\n"
2301
"Positive values, when pointing upward.\n"
2302
"\n"
2303
"Can be set to be empty, which is interpreted as zero field strength\n"
2304
"everywhere.\n"
2305
"\n"
2306
"Unit: T\n"
2307
"\n"
2308
"Dimensions: [ p_grid, lat_grid, lon_grid ].\n"
),
2309
GROUP
(
"GriddedField3"
)));
2310
2311
wsv_data.push_back(
WsvRecord
(
2312
NAME
(
"main_agenda"
),
2313
DESCRIPTION
(
"Agenda corresponding to the entire controlfile.\n"
),
2314
GROUP
(
"Agenda"
)));
2315
2316
wsv_data.push_back(
WsvRecord
(
2317
NAME
(
"mblock_dlos"
),
2318
DESCRIPTION
(
2319
"The set of angular pencil beam directions for each measurement block.\n"
2320
"\n"
2321
"The relative angles in this variable are angular off-sets with\n"
2322
"respect to the angles in *sensor_los*. Defined as *dlos* but is\n"
2323
"allowed to only have a single column, as described below.\n"
2324
"\n"
2325
"The first column holds the relative zenith angle. This column is\n"
2326
"mandatory for all atmospheric dimensionalities. For 3D, there can\n"
2327
"also be a second column, giving relative azimuth angles. If this\n"
2328
"column is not present (for 3D) zero azimuth off-sets are assumed.\n"
2329
"\n"
2330
"Usage: Set by the user or output of antenna WSMs.\n"
2331
"\n"
2332
"Unit: degrees\n"
),
2333
GROUP
(
"Matrix"
)));
2334
2335
wsv_data.push_back(
WsvRecord
(
2336
NAME
(
"mblock_index"
),
2337
DESCRIPTION
(
2338
"Measurement block index. \n"
2339
"\n"
2340
"Used to tell agendas the index of present measurement block.\n"
2341
"\n"
2342
"Usage: Used internally.\n"
),
2343
GROUP
(
"Index"
)));
2344
2345
wsv_data.push_back(
WsvRecord
(
2346
NAME
(
"mc_antenna"
),
2347
DESCRIPTION
(
2348
"Antenna pattern description for dedicated MC calculaions.\n"
2349
"\n"
2350
"Usage: Input to MCGeneral. Set by *mc_antennaSetGaussian* and similar\n"
2351
" methods.\n"
),
2352
GROUP
(
"MCAntenna"
)));
2353
2354
wsv_data.push_back(
WsvRecord
(
2355
NAME
(
"mc_error"
),
2356
DESCRIPTION
(
"Error in simulated *y* when using a Monte Carlo approach.\n"
2357
"\n"
2358
"Usage: Output from Monte Carlo functions. \n"
2359
"\n"
2360
"Units: Depends on *iy_unit*.\n"
2361
"\n"
2362
"Size: [ stokes_dim ]\n"
),
2363
GROUP
(
"Vector"
)));
2364
2365
wsv_data.push_back(
WsvRecord
(
2366
NAME
(
"mc_iteration_count"
),
2367
DESCRIPTION
(
2368
"Counts the number of iterations (or photons) used in the MC\n"
2369
"scattering algorithm.\n"
2370
"\n"
2371
"Usage: Set by MCGeneral and other MC methods.\n"
),
2372
GROUP
(
"Index"
)));
2373
2374
wsv_data.push_back(
WsvRecord
(
2375
NAME
(
"mc_max_iter"
),
2376
DESCRIPTION
(
"The maximum number of iterations allowed for Monte Carlo\n"
2377
"calculations.\n"
2378
"\n"
2379
"Usage: Set by the user.\n"
),
2380
GROUP
(
"Index"
)));
2381
2382
wsv_data.push_back(
WsvRecord
(
2383
NAME
(
"mc_max_scatorder"
),
2384
DESCRIPTION
(
"The maximum scattering order allowed for Monte Carlo\n"
2385
"radar calculations.\n"
2386
"\n"
2387
"Usage: Set by the user.\n"
),
2388
GROUP
(
"Index"
)));
2389
2390
wsv_data.push_back(
WsvRecord
(
2391
NAME
(
"mc_max_time"
),
2392
DESCRIPTION
(
"The maximum time allowed for Monte Carlo calculations.\n"
2393
"\n"
2394
"Usage: Set by the user.\n"
2395
"\n"
2396
"Unit: s\n"
),
2397
GROUP
(
"Index"
)));
2398
2399
wsv_data.push_back(
WsvRecord
(
2400
NAME
(
"mc_min_iter"
),
2401
DESCRIPTION
(
"The minimum number of iterations allowed for Monte Carlo\n"
2402
"calculations.\n"
2403
"\n"
2404
"Usage: Set by the user.\n"
),
2405
GROUP
(
"Index"
), Index{100}));
2406
2407
wsv_data.push_back(
2408
WsvRecord
(
NAME
(
"mc_points"
),
2409
DESCRIPTION
(
2410
//FIXMEDOC
2411
"Source to emission, position.\n"
2412
"\n"
2413
"Counts the number of MC endpoints in each grid cell.\n"
2414
"\n"
2415
"Usage: Set by MCGeneral and other MC methods.\n"
),
2416
GROUP
(
"Tensor3"
)));
2417
2418
wsv_data.push_back(
WsvRecord
(
2419
NAME
(
"mc_scat_order"
),
2420
DESCRIPTION
(
2421
"Number of atmospheric scattering events between emission point and sensor.\n"
2422
"\n"
2423
"The first element gives the number of cases with zero scattering events,\n"
2424
"the second the number of single scattering cases etc.\n"
2425
"\n"
2426
"Scattering orders above what the variable can hold are not stored at all.\n"
2427
"The number of such cases can be determined by comparing\n"
2428
"*mc_iteration_count* with the sum of the elements in this array.\n"
2429
"\n"
2430
"Usage: Set by MCGeneral and other MC methods.\n"
),
2431
GROUP
(
"ArrayOfIndex"
)));
2432
2433
wsv_data.push_back(
WsvRecord
(
2434
NAME
(
"mc_source_domain"
),
2435
DESCRIPTION
(
2436
"Rough classification of source to emission.\n"
2437
"\n"
2438
"This is an array of length 4, where the elements in order represent\n"
2439
"space, the surface, atmospheric gas and atmospheric particle.\n"
2440
"The distinction between the two last elements is if the emission\n"
2441
"is associated with *vmr_field* or *pnd_field*.\n"
2442
"\n"
2443
"The values of the array give the number of cases where the emission\n"
2444
"source was found to be inside each \"domain\".\n"
2445
"\n"
2446
"Usage: Set by MCGeneral and other MC methods.\n"
),
2447
GROUP
(
"ArrayOfIndex"
)));
2448
2449
wsv_data.push_back(
WsvRecord
(
2450
NAME
(
"mc_seed"
),
2451
DESCRIPTION
(
"The integer seed for the random number generator used by\n"
2452
"Monte Carlo methods.\n"
2453
"\n"
2454
"Usage: Set by MCSetSeed.\n"
),
2455
GROUP
(
"Index"
)));
2456
2457
wsv_data.push_back(
WsvRecord
(
2458
NAME
(
"mc_std_err"
),
2459
DESCRIPTION
(
2460
"Target precision (1 std. dev.) for Monte Carlo calculations.\n"
2461
"\n"
2462
"Usage: Set by the user.\n"
),
2463
GROUP
(
"Numeric"
)));
2464
2465
wsv_data.push_back(
WsvRecord
(
2466
NAME
(
"mc_y_tx"
),
2467
DESCRIPTION
(
"Normalized Stokes vector for transmittance (e.g., radar).\n"
2468
"\n"
2469
"The first element (intensity) should have a value of 1."
2470
"\n"
2471
"Usage: Set by user. \n"
2472
"\n"
2473
"Units: Unitless.\n"
2474
"\n"
2475
"Size: [ stokes_dim ]\n"
),
2476
GROUP
(
"Vector"
)));
2477
2478
wsv_data.push_back(
WsvRecord
(
2479
NAME
(
"mc_taustep_limit"
),
2480
DESCRIPTION
(
2481
"Defines an upper step length in terms of optical thickness for Monte "
2482
"Carlo calculations.\n"
2483
"\n"
2484
"Usage: Set by the user.\n"
),
2485
GROUP
(
"Numeric"
), Numeric{0.1}));
2486
2487
wsv_data.push_back(
WsvRecord
(
2488
NAME
(
"met_amsu_data"
),
2489
DESCRIPTION
(
2490
"The AMSU data set.\n"
2491
"\n"
2492
"This is intended as input for the method ybatchMetProfiles. It holds the\n"
2493
"latitude, longitude, satellite zenith angle and amsu-b corrected and \n"
2494
"uncorrected brightness temperatures. It also has information about \n"
2495
"the particular pixel corresponds to a land or sea point. This will be \n"
2496
"read in the method ybatchMetProfiles and the profiles corresponding to \n"
2497
"each latitude and longitude will be read in.\n"
2498
"\n"
2499
"See documentation of WSM *ybatchMetProfiles* for more information.\n"
),
2500
GROUP
(
"Matrix"
)));
2501
2502
wsv_data.push_back(
WsvRecord
(
2503
NAME
(
"met_mm_antenna"
),
2504
DESCRIPTION
(
2505
"The antenna beam width for meteorological millimeter instruments.\n"
2506
"\n"
2507
"This Vector must match the number and order of channels in\n"
2508
"*met_mm_backend*.\n"
2509
"\n"
2510
"Usage: Set by the user.\n"
2511
"\n"
2512
"Unit: [ Hz ]\n"
2513
"\n"
2514
"Size: [ number of channels ]\n"
),
2515
GROUP
(
"Vector"
)));
2516
2517
wsv_data.push_back(
WsvRecord
(
2518
NAME
(
"met_mm_backend"
),
2519
DESCRIPTION
(
2520
"Backend description for meteorological millimeter sensors with passbands.\n"
2521
"\n"
2522
"This is a compact description of a passband-type sensor, e.g. AMSU-A. The matrix\n"
2523
"contains one row for each instrument channel. Each row contains four elements:\n\n"
2524
" LO position [Hz]\n"
2525
" first offset from the LO [Hz]\n"
2526
" second offset from the LO+offset1 [Hz]\n"
2527
" channel width [Hz]\n"
2528
"\n"
2529
" LO\n"
2530
" |\n"
2531
" offset1 | offset1\n"
2532
" ----------------+----------------\n"
2533
" | |\n"
2534
" | |\n"
2535
" offset2 | offset2 offset2 | offset2\n"
2536
" ---------+--------- ---------+---------\n"
2537
" | | | |\n"
2538
" | | | |\n"
2539
"##### ##### ##### #####\n"
2540
"width width width width\n"
2541
"\n"
2542
"For a sensor with 1 passband, offset1 and offset2 are zero.\n"
2543
"For a sensor with 2 passbands, only offset2 is zero.\n"
2544
"\n"
2545
"Usage: Set by the user.\n"
2546
"\n"
2547
"Unit: All entries in Hz.\n"
2548
"\n"
2549
"Size: [number of channels, 4]\n"
),
2550
GROUP
(
"Matrix"
)));
2551
2552
wsv_data.push_back(
WsvRecord
(
2553
NAME
(
"met_mm_polarisation"
),
2554
DESCRIPTION
(
2555
"The polarisation for meteorological millimeter instruments.\n"
2556
"\n"
2557
"This array must match the number and order of channels in\n"
2558
"*met_mm_backend*.\n"
2559
"\n"
2560
"Possible values:\n"
2561
"V: Vertical polarisation\n"
2562
"H: Horizontal polarisation\n"
2563
"LHC: Left-hand circular polarisation\n"
2564
"RHC: Right-hand circular polarisation\n"
2565
"AMSU-V: Vertical polarisation dependening on AMSU zenith angle\n"
2566
"AMSU-H: Horizontal polarisation dependening on AMSU zenith angle\n"
2567
"ISMAR-V: Vertical polarisation dependening on ISMAR zenith angle\n"
2568
"ISMAR-H: Horizontal polarisation dependening on AMSU zenith angle\n"
2569
"\n"
2570
"Usage: Set by the user.\n"
2571
"\n"
2572
"Unit: [ String ]\n"
2573
"\n"
2574
"Size: [ number of channels ]\n"
),
2575
GROUP
(
"ArrayOfString"
)));
2576
2577
wsv_data.push_back(
2578
WsvRecord
(
NAME
(
"met_profile_calc_agenda"
),
2579
DESCRIPTION
(
"Agenda for metoffice profile calculations.\n"
),
2580
GROUP
(
"Agenda"
)));
2581
2582
wsv_data.push_back(
WsvRecord
(
2583
NAME
(
"level0_data"
),
2584
DESCRIPTION
(
"List of L0 data. Can be of any type.\n"
2585
"It is method-dependent how this is used to calibrated to L1\n"
),
2586
GROUP
(
"ArrayOfVector"
)));
2587
2588
wsv_data.push_back(
WsvRecord
(
2589
NAME
(
"level0_time"
),
2590
DESCRIPTION
(
"List of L0 times. Should be in UTC.\n"
2591
"It is method-dependent how this is used to calibrated to L1\n"
),
2592
GROUP
(
"ArrayOfTime"
)));
2593
2594
wsv_data.push_back(
WsvRecord
(
2595
NAME
(
"lm_ga_history"
),
2596
DESCRIPTION
(
2597
"The series of gamma values for a Marquardt-levenberg inversion.\n"
2598
"\n"
2599
"The values are stored following iteration order, i.e. the first\n"
2600
"is the gamma factor for the first iteration etc.\n"
),
2601
GROUP
(
"Vector"
)));
2602
2603
wsv_data.push_back(
WsvRecord
(
2604
NAME
(
"molarmass_dry_air"
),
2605
DESCRIPTION
(
2606
"The average molar mass of dry air.\n"
2607
"\n"
2608
"This could also be referred to as the average molecular weight for\n"
2609
"dry air. The definition of \"dry air\" can differ between planets and\n"
2610
"methods using the WSV. For Earth, this should be a value around\n"
2611
"28.97.\n"
),
2612
GROUP
(
"Numeric"
)));
2613
2614
wsv_data.push_back(
WsvRecord
(
2615
NAME
(
"nlte_level_identifiers"
),
2616
DESCRIPTION
(
"An array of non-lte quantum identifiers for levels matching\n"
2617
"*nlte_field_raw* and on request *nlte_vibrational_energies*.\n"
),
2618
GROUP
(
"ArrayOfQuantumIdentifier"
),
ArrayOfQuantumIdentifier
{}));
2619
2620
wsv_data.push_back(
WsvRecord
(
2621
NAME
(
"nlte_vibrational_energies"
),
2622
DESCRIPTION
(
"An list of vibrational energies matching\n"
2623
"*nlte_level_identifiers* and *nlte_field_raw* or being 0.\n"
),
2624
GROUP
(
"Vector"
)));
2625
2626
wsv_data.push_back(
WsvRecord
(
2627
NAME
(
"collision_line_identifiers"
),
2628
DESCRIPTION
(
2629
//FIXMEDOC
2630
"An array of quantum identifiers for finding collisional rates\n"
2631
"in *collision_coefficients*\n"
),
2632
GROUP
(
"ArrayOfQuantumIdentifier"
)));
2633
2634
wsv_data.push_back(
2635
WsvRecord
(
NAME
(
"collision_coefficients"
),
2636
DESCRIPTION
(
2637
//FIXMEDOC
2638
"An array of coefficients for effective collisions\n"
),
2639
GROUP
(
"ArrayOfArrayOfGriddedField1"
)));
2640
2641
wsv_data.push_back(
2642
WsvRecord
(
NAME
(
"nelem"
),
2643
DESCRIPTION
(
"Number of elements of a Vector or Array.\n"
),
2644
GROUP
(
"Index"
)));
2645
2646
wsv_data.push_back(
WsvRecord
(
2647
NAME
(
"ncols"
),
2648
DESCRIPTION
(
2649
"Number of columns (elements in lowest dimension) of a Matrix or Tensor.\n"
),
2650
GROUP
(
"Index"
)));
2651
2652
wsv_data.push_back(
WsvRecord
(
2653
NAME
(
"nrows"
),
2654
DESCRIPTION
(
2655
"Number of rows (elements in 2nd lowest dimension) of a Matrix or Tensor.\n"
),
2656
GROUP
(
"Index"
)));
2657
2658
wsv_data.push_back(
WsvRecord
(
2659
NAME
(
"npages"
),
2660
DESCRIPTION
(
"Number of elements in 3rd lowest dimension of a Tensor.\n"
),
2661
GROUP
(
"Index"
)));
2662
2663
wsv_data.push_back(
WsvRecord
(
2664
NAME
(
"nbooks"
),
2665
DESCRIPTION
(
"Number of elements in 4th lowest dimension of a Tensor.\n"
),
2666
GROUP
(
"Index"
)));
2667
2668
wsv_data.push_back(
WsvRecord
(
2669
NAME
(
"nshelves"
),
2670
DESCRIPTION
(
"Number of elements in 5th lowest dimension of a Tensor.\n"
),
2671
GROUP
(
"Index"
)));
2672
2673
wsv_data.push_back(
WsvRecord
(
2674
NAME
(
"nvitrines"
),
2675
DESCRIPTION
(
"Number of elements in 6th lowest dimension of a Tensor.\n"
),
2676
GROUP
(
"Index"
)));
2677
2678
wsv_data.push_back(
WsvRecord
(
2679
NAME
(
"nlibraries"
),
2680
DESCRIPTION
(
"Number of elements in 7th lowest dimension of a Tensor.\n"
),
2681
GROUP
(
"Index"
)));
2682
2683
wsv_data.push_back(
2684
WsvRecord
(
NAME
(
"nlte_do"
),
2685
DESCRIPTION
(
"Flag to perform Non-LTE calculations.\n"
),
2686
GROUP
(
"Index"
), Index{0}));
2687
2688
wsv_data.push_back(
WsvRecord
(
2689
NAME
(
"nlte_source"
),
2690
DESCRIPTION
(
2691
"Variable to contain the additional source function due to NLTE effects.\n"
2692
"\n"
2693
"Dimensions: [nza, naa, nf, stokes_dim]\n"
),
2694
GROUP
(
"StokesVector"
)));
2695
2696
wsv_data.push_back(
WsvRecord
(
2697
NAME
(
"oem_diagnostics"
),
2698
DESCRIPTION
(
2699
"Basic diagnostics of an OEM type inversion.\n"
2700
"\n"
2701
"This is a vector of length 5, having the elements (0-based index):\n"
2702
" 0: Convergence status, with coding\n"
2703
" 0 = converged\n"
2704
" 1 = max iterations reached\n"
2705
" 2 = max gamma of LM reached\n"
2706
" 9 = some error when calling *inversion_iterate_agenda*\n"
2707
" 99 = too high start cost.\n"
2708
" 1: Start value of cost function.\n"
2709
" 2: End value of cost function.\n"
2710
" 3: End value of y-part of cost function.\n"
2711
" 4: Number of iterations used.\n"
2712
"\n"
2713
"See WSM *OEM* for a definition of \"cost\". Values not calculated\n"
2714
"are set to NaN.\n"
),
2715
GROUP
(
"Vector"
)));
2716
wsv_data.push_back(
2717
WsvRecord
(
NAME
(
"oem_errors"
),
2718
DESCRIPTION
(
"Errors encountered during OEM execution.\n"
),
2719
GROUP
(
"ArrayOfString"
)));
2720
2721
wsv_data.push_back(
WsvRecord
(
2722
NAME
(
"output_file_format"
),
2723
DESCRIPTION
(
2724
"Output file format.\n"
2725
"\n"
2726
"This variable sets the format for output files. It could be set to\n"
2727
"\"ascii\" for plain xml files, \"zascii\" for zipped xml files, or\n"
2728
"\"binary\".\n"
2729
"\n"
2730
"To change the value of this variable use the workspace methods\n"
2731
"*output_file_formatSetAscii*, *output_file_formatSetZippedAscii*, and\n"
2732
"*output_file_formatSetBinary*\n"
),
2733
GROUP
(
"String"
),
String
{
"ascii"
}));
2734
2735
wsv_data.push_back(
WsvRecord
(
2736
NAME
(
"particle_bulkprop_field"
),
2737
DESCRIPTION
(
2738
"Container for various data that describes scattering bulk properties.\n"
2739
"\n"
2740
"The number and order of bulk properties is free, as long as the data are\n"
2741
"consistent with the content of *particle_bulkprop_names*. \n"
2742
"\n"
2743
"The data shall be given on the standard atmospheric grids. When actually\n"
2744
"used, this variable must have zeros at all positions outside and at the\n"
2745
"border of the cloudbox.\n"
2746
"\n"
2747
"Dimensions: [ particle_bulkprop_names, p_grid, lat_grid, lon_grid ]\n"
),
2748
GROUP
(
"Tensor4"
), Tensor4{}));
2749
2750
wsv_data.push_back(
WsvRecord
(
2751
NAME
(
"particle_bulkprop_names"
),
2752
DESCRIPTION
(
2753
"Identification of the data in *particle_bulkprop_field*.\n"
2754
"\n"
2755
"This variable assigns a name to each field in *particle_bulkprop_field*.\n"
2756
"The naming is totally free. If two fields are given the same name, the\n"
2757
"first one will be selected.\n"
2758
"\n"
2759
"Dimensions: length should match book-dimension of *particle_bulkprop_field*\n"
),
2760
GROUP
(
"ArrayOfString"
),
ArrayOfString
{}));
2761
2762
wsv_data.push_back(
WsvRecord
(
2763
NAME
(
"particle_masses"
),
2764
DESCRIPTION
(
2765
"The mass of individual particles (or bulks).\n"
2766
"\n"
2767
"Each row corresponds to a scattering element (i.e. an element in\n"
2768
"*scat_data*). The user is free to define different mass\n"
2769
"categories and assign a mass for each category. Each column\n"
2770
"of *particle_masses* corresponds to such a mass category. A scattering\n"
2771
"element can have a non-zero mass for more than one category.\n"
2772
"\n"
2773
"For example, if you work with clouds, your mass categories could\n"
2774
"be ice and liquid, corresponding to IWC and LWC, respectively.\n"
2775
"The mass of particles inside the melting layer, having a mixed\n"
2776
"phase, could be divided between the two columns of the matrix.\n"
2777
"\n"
2778
"Shall either be empty, or have a row size consistent with the\n"
2779
"scattering variables (*scat_data*, *pnd_field*).\n"
2780
"\n"
2781
"Usage: Set by the user.\n"
2782
"\n"
2783
"Unit: kg\n"
2784
"\n"
2785
"Dimensions: [number of scattering elements, number of mass categories]\n"
),
2786
GROUP
(
"Matrix"
), Matrix{}));
2787
2788
wsv_data.push_back(
WsvRecord
(
2789
NAME
(
"pha_mat"
),
2790
DESCRIPTION
(
2791
"Ensemble averaged phase matrix.\n"
2792
"\n"
2793
"This workspace variable represents the actual physical phase\n"
2794
"matrix (averaged over all scattering elements) for given propagation\n"
2795
"directions. It is calculated in the method *pha_matCalc*.\n"
2796
"\n"
2797
"See ARTS user guide (AUG) for further information. Use the index to find\n"
2798
"where this variable is discussed. The variable is listed as a subentry\n"
2799
"to \"workspace variables\".\n"
2800
"\n"
2801
"Usage: Output of the method *pha_matCalc*\n"
2802
"\n"
2803
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
2804
"\n"
2805
"Dimensions: [za_grid, aa_grid, stokes_dim, stokes_dim]\n"
),
2806
GROUP
(
"Tensor4"
)));
2807
2808
wsv_data.push_back(
WsvRecord
(
2809
NAME
(
"pha_mat_doit"
),
2810
DESCRIPTION
(
2811
"Ensemble averaged phase matrix for DOIT calculation.\n"
2812
"\n"
2813
"This workspace variable represents the actual physical phase\n"
2814
"matrix (averaged over all scattering elements) for given incident and \n"
2815
"propagation directions. It is calculated in the method *DoitScatteringDataPrepare*.\n"
2816
"\n"
2817
"See ARTS user guide (AUG) for further information."
2818
"\n"
2819
"Usage: Output of the method *pha_matCalc*\n"
2820
"\n"
2821
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
2822
"\n"
2823
"Dimensions: [T,za_grid, aa_grid, za_grid, aa_grid, \n"
2824
" stokes_dim, stokes_dim]\n"
),
2825
GROUP
(
"Tensor7"
)));
2826
2827
wsv_data.push_back(
WsvRecord
(
2828
NAME
(
"pha_mat_spt"
),
2829
DESCRIPTION
(
2830
"Phase matrix for all individual scattering elements.\n"
2831
"\n"
2832
"This variable contains the elements of phase matrix for all individual\n"
2833
"scattering elements for given propagation directions. It is the\n"
2834
"calculated in the agenda *pha_mat_spt_agenda*. The elements of the phase\n"
2835
"matrix are calculated from the single scattering data.\n"
2836
"\n"
2837
"See ARTS user guide (AUG) for further information.\n"
2838
"\n"
2839
"Usage: Input and Output of the pha_mat_sptFrom* methods\n"
2840
"\n"
2841
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
2842
"\n"
2843
"Dimensions: [number of scattering elements, za_grid, aa_grid,\n"
2844
" stokes_dim, stokes_dim]\n"
),
2845
GROUP
(
"Tensor5"
)));
2846
2847
wsv_data.push_back(
WsvRecord
(
2848
NAME
(
"pha_mat_spt_agenda"
),
2849
DESCRIPTION
(
2850
"Agenda calculates the phase matrix for individual scattering elements.\n"
),
2851
GROUP
(
"Agenda"
)));
2852
2853
wsv_data.push_back(
WsvRecord
(
2854
NAME
(
"pha_mat_sptDOITOpt"
),
2855
DESCRIPTION
(
2856
"Interpolated phase matrix.\n"
2857
"\n"
2858
"This variable contains the data of the phase matrix in the \n"
2859
"scattering frame interpolated on the actual frequency (the variable\n"
2860
"is used inside *doit_mono_agenda*) and also interpolated on all \n"
2861
"possible scattering angles following from all combinations of \n"
2862
"*za_grid* and *aa_grid*. \n"
2863
"\n"
2864
"Usage: Input of the method *pha_mat_sptFromDataDOITOpt*\n"
2865
"\n"
2866
"Unit: m^2\n"
//FIXME: really m2? not 1/m?
2867
"\n"
2868
"Dimensions: \n"
2869
"[number of scattering elements]\n"
2870
"[T, za_grid, aa_grid, za_grid, aa_grid,\n"
2871
" stokes_dim, stokes_dim]\n"
),
2872
GROUP
(
"ArrayOfTensor7"
)));
2873
2874
wsv_data.push_back(
WsvRecord
(
2875
NAME
(
"planet_rotation_period"
),
2876
DESCRIPTION
(
2877
"The sidereal rotation period of the planet.\n"
2878
"\n"
2879
"This is time that it takes for the planet to complete one revolution\n"
2880
"around its axis of rotation relative to the suns. For Earth, this\n"
2881
"is a value roughly 4 min less than 24 h.\n"
2882
"\n"
2883
"A negative value signifies a retrograde rotation, i.e. opposite to\n"
2884
"the rotation of Earth.\n"
2885
"Unit: s\n"
),
2886
GROUP
(
"Numeric"
)));
2887
2888
wsv_data.push_back(
WsvRecord
(
2889
NAME
(
"pnd_agenda_array"
),
2890
DESCRIPTION
(
2891
"Mapping of particle bulk properties to number density data.\n"
2892
"\n"
2893
"The length of this agenda array shall match the size of *scat_species*.\n"
2894
"That is there is a \"pnd-agenda\" associated with each scattering species.\n"
2895
"\n"
2896
"In short, each agenda takes some bulk property data as input, and returns\n"
2897
"particle number densities for all scattering elements of the species.\n"
2898
"See further *pnd_agenda_input* and associated variables.\n"
),
2899
GROUP
(
"ArrayOfAgenda"
)));
2900
2901
wsv_data.push_back(
WsvRecord
(
2902
NAME
(
"pnd_agenda_input"
),
2903
DESCRIPTION
(
2904
"The variable input to one element of *pnd_agenda_array*.\n"
2905
"\n"
2906
"The column dimension corresponds to the input to the underlying\n"
2907
"particle size distribution method. For example, the first column\n"
2908
"can hold ice water content values, and the second one temperature\n"
2909
"data.\n"
2910
"\n"
2911
"Temperatures are handled by *pnd_agenda_input_t* and shall not be\n"
2912
"included in this variable.\n"
2913
"\n"
2914
"Each row corresponds to a position. That is, the methods in the\n"
2915
"pnd-agendas are expected to process multiple points in one call.\n"
2916
"\n"
2917
"Dimensions: [ n_points, n_input_variables ]\n"
),
2918
GROUP
(
"Matrix"
)));
2919
2920
wsv_data.push_back(
WsvRecord
(
2921
NAME
(
"pnd_agenda_input_t"
),
2922
DESCRIPTION
(
2923
"Temperature input to one element of *pnd_agenda_array*.\n"
2924
"\n"
2925
"This WSV works as *pnd_agenda_input* but holds a specific quantity,\n"
2926
"temperature.\n"
2927
"\n"
2928
"Each element corresponds to a position. That is, the methods in the\n"
2929
"pnd-agendas are expected to process multiple points in one call.\n"
2930
"\n"
2931
"Dimensions: [ n_points ]\n"
),
2932
GROUP
(
"Vector"
)));
2933
2934
wsv_data.push_back(
WsvRecord
(
2935
NAME
(
"pnd_agenda_array_input_names"
),
2936
DESCRIPTION
(
2937
"Naming of all input expected by *pnd_agenda_array*.\n"
2938
"\n"
2939
"This variable contains *pnd_agenda_input_names* for each agenda\n"
2940
"element in *pnd_agenda_array*.\n"
2941
"\n"
2942
"Dimension: [ n_scattering_species ][ n_input_variables ]\n"
),
2943
GROUP
(
"ArrayOfArrayOfString"
)));
2944
2945
wsv_data.push_back(
WsvRecord
(
2946
NAME
(
"pnd_agenda_input_names"
),
2947
DESCRIPTION
(
2948
"Naming of (existing or expected) data in *pnd_agenda_input*.\n"
2949
"\n"
2950
"The strings of this variable refer to the corresponding column in\n"
2951
"*pnd_agenda_input*.\n"
2952
"\n"
2953
"Dimension: [ n_input_variables ]\n"
),
2954
GROUP
(
"ArrayOfString"
)));
2955
2956
wsv_data.push_back(
WsvRecord
(
2957
NAME
(
"pnd_data"
),
2958
DESCRIPTION
(
2959
"Particle number density values for a set of points.\n"
2960
"\n"
2961
"The variable contains particle number density data for one scattering\n"
2962
"species. The row dimension corresponds to different positions, in the\n"
2963
"same way as *pnd_agenda_input* is defined.\n"
2964
"\n"
2965
"Dimensions: [ n_points, n_scattering_elements ]\n"
),
2966
GROUP
(
"Matrix"
)));
2967
2968
wsv_data.push_back(
WsvRecord
(
2969
NAME
(
"pnd_field"
),
2970
DESCRIPTION
(
2971
"Particle number density field.\n"
2972
"\n"
2973
"This variable holds the particle number density fields for all\n"
2974
"scattering elements being read in the WSMs\n"
2975
"*ScatElementsPndAndScatAdd* or *ScatSpeciesPndAndScatAdd* and\n"
2976
"interpolated to the calculation grids *p_grid*, *lat_grid*, and\n"
2977
"*lon_grid* inside the cloudbox. An alternative method to create\n"
2978
"*pnd_field* is *pnd_fieldCalcFromParticleBulkProps*.\n"
2979
"\n"
2980
"Total number and order of scattering elements in *pnd_field* and (the\n"
2981
"flattened) *scat_data* has to be identical.\n"
2982
"\n"
2983
"Note: To ensure that no particles exist outside the cloudbox,\n"
2984
"*pnd_field* is required to be 0 at its outer limits (corresponding\n"
2985
"to the *cloudbox_limits*).\n"
2986
"\n"
2987
"Usage: Set by user or output of *pnd_fieldCalcFromParticleBulkProps*\n"
2988
"\n"
2989
"Unit: m^-3\n"
2990
"\n"
2991
"Size: [number of scattering elements, \n"
2992
" (*cloudbox_limits*[1] - *cloudbox_limits*[0]) +1, \n"
2993
" (*cloudbox_limits*[3] - *cloudbox_limits*[2]) +1, \n"
2994
" (*cloudbox_limits*[5] - *cloudbox_limits*[4]) +1 ] \n"
),
2995
GROUP
(
"Tensor4"
)));
2996
2997
wsv_data.push_back(
WsvRecord
(
2998
NAME
(
"pnd_size_grid"
),
2999
DESCRIPTION
(
3000
"The particle sizes associated with *pnd_data*.\n"
3001
"\n"
3002
"This variable holds the size of each scattering element considered.\n"
3003
"Size can be defined differently, depending on particle size distribution\n"
3004
"used. Most common choices should by equivalent diameter, maximum diameter\n"
3005
"and mass.\n"
3006
"\n"
3007
"Dimension: [ n_sizes ]\n"
),
3008
GROUP
(
"Vector"
)));
3009
3010
wsv_data.push_back(
WsvRecord
(
3011
NAME
(
"pnd_field_raw"
),
3012
DESCRIPTION
(
3013
"The particle number density field raw data.\n"
3014
"\n"
3015
"This variable contains the particle number density data for all\n"
3016
"considered scattering elements. *pnd_field_raw* is an Array of\n"
3017
"GriddedField3. It includes one GriddedField3 for each scattering\n"
3018
"element, which contains both the data and the corresponding grids.\n"
3019
"\n"
3020
"Usage: Set by the user. Input to methods *ScatElementsPndAndScatAdd* and \n"
3021
" *ScatSpeciesPndAndScatAdd*\n"
3022
"\n"
3023
"Unit: m^-3\n"
3024
"\n"
3025
"Size: Array[number of scattering elementst]\n"
3026
" GriddedField3 \n "
3027
" [number of pressure levels] \n"
3028
" [number of latitudes] \n"
3029
" [number of longitudes] \n"
3030
" [number of pressure levels, number of latitudes, number of longitudes]\n"
),
3031
GROUP
(
"ArrayOfGriddedField3"
)));
3032
3033
wsv_data.push_back(
WsvRecord
(
3034
NAME
(
"ppath"
),
3035
DESCRIPTION
(
3036
"The propagation path for one line-of-sight.\n"
3037
"\n"
3038
"This variable describes the total (pencil beam) propagation path for\n"
3039
"a given combination of starting point and line-of-sight. The path is\n"
3040
"described by a data structure of type Ppath. This structure contains\n"
3041
"also additional fields to faciliate the calculation of spectra and\n"
3042
"interpolation of the atmospheric fields.\n"
3043
"\n"
3044
"The data struture is too extensive to be described here, but it is\n"
3045
"described carefully in the ARTS user guide (AUG). Use the index to\n"
3046
"find where the data structure, Ppath, for propagation paths is \n"
3047
"discussed. It is listed as a subentry to \"data structures\".\n"
3048
"\n"
3049
"Usage: Output from *ppath_agenda*.\n"
),
3050
GROUP
(
"Ppath"
)));
3051
3052
wsv_data.push_back(
3053
WsvRecord
(
NAME
(
"ppath_agenda"
),
3054
DESCRIPTION
(
"Agenda calculating complete propagation paths.\n"
),
3055
GROUP
(
"Agenda"
)));
3056
3057
wsv_data.push_back(
WsvRecord
(
3058
NAME
(
"ppath_field"
),
3059
DESCRIPTION
(
3060
"An array meant to build up the necessary geometries for radiative\n"
3061
"field calculations.\n"
3062
"\n"
3063
"Can be ordered or not\n"
3064
"\n"
3065
"Size: user-defined\n"
),
3066
GROUP
(
"ArrayOfPpath"
)));
3067
3068
wsv_data.push_back(
WsvRecord
(
3069
NAME
(
"ppath_inside_cloudbox_do"
),
3070
DESCRIPTION
(
3071
"Flag to perform ray tracing inside the cloudbox.\n"
3072
"\n"
3073
"Standard propagation path calculations stop at the boundary of the\n"
3074
"cloudbox, or stop directly if started inside the cloudbox. This WSV\n"
3075
"allows scattering methods to obtain propagation paths inside the\n"
3076
"cloudbox. Hence, this variable is for internal usage primarily.\n"
3077
"\n"
3078
"Usage: For communication between modules of arts.\n"
),
3079
GROUP
(
"Index"
), Index{0}));
3080
3081
wsv_data.push_back(
WsvRecord
(
3082
NAME
(
"ppath_lmax"
),
3083
DESCRIPTION
(
3084
"Maximum length between points describing propagation paths.\n"
3085
"\n"
3086
"See *ppath_stepGeometric* for a description of this variable.\n"
3087
"\n"
3088
"Usage: Ppath methods such as *ppath_stepGeometric*.\n"
),
3089
GROUP
(
"Numeric"
), Numeric{10e3}));
3090
3091
wsv_data.push_back(
WsvRecord
(
3092
NAME
(
"ppath_lraytrace"
),
3093
DESCRIPTION
(
3094
"Maximum length of ray tracing steps when determining propagation\n"
3095
"paths.\n"
3096
"\n"
3097
"See *ppath_stepRefractionBasic* for a description of this variable.\n"
3098
"\n"
3099
"Usage: Refraction ppath methods such as *ppath_stepRefractionBasic*.\n"
),
3100
GROUP
(
"Numeric"
), Numeric{1e3}));
3101
3102
wsv_data.push_back(
WsvRecord
(
3103
NAME
(
"ppath_step"
),
3104
DESCRIPTION
(
3105
"A propagation path step.\n"
3106
"\n"
3107
"The main intention of this variable is communication with the agenda\n"
3108
"*ppath_step_agenda*.\n"
3109
"\n"
3110
"See *ppath_step_agenda* for more information on this variable and\n"
3111
"the calculation of propagation paths. Or read the chapter on\n"
3112
"propagation paths in the ARTS user guide.\n"
3113
"\n"
3114
"Usage: In/output to/from *ppath_step_agenda*.\n"
3115
"\n"
3116
"Members: See AUG.\n"
),
3117
GROUP
(
"Ppath"
)));
3118
3119
wsv_data.push_back(
3120
WsvRecord
(
NAME
(
"ppath_step_agenda"
),
3121
DESCRIPTION
(
"Agenda calculating a propagation path step.\n"
),
3122
GROUP
(
"Agenda"
)));
3123
3124
wsv_data.push_back(
WsvRecord
(
3125
NAME
(
"ppvar_f"
),
3126
DESCRIPTION
(
3127
"Doppler adjusted frequencies along the propagation path.\n"
3128
"\n"
3129
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3130
"\n"
3131
"Dimension: [ number of frequencies, ppath.np ]\n"
3132
"\n"
3133
"Usage: Output of radiative transfer methods.\n"
),
3134
GROUP
(
"Matrix"
)));
3135
3136
wsv_data.push_back(
WsvRecord
(
3137
NAME
(
"ppvar_iy"
),
3138
DESCRIPTION
(
3139
"iy-values along the propagation path.\n"
3140
"\n"
3141
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3142
"\n"
3143
"Dimension: [ number of frequencies, stokes_dim, ppath.np ]\n"
3144
"\n"
3145
"Usage: Output of radiative transfer methods.\n"
),
3146
GROUP
(
"Tensor3"
)));
3147
3148
wsv_data.push_back(
WsvRecord
(
3149
NAME
(
"ppvar_mag"
),
3150
DESCRIPTION
(
3151
"Magnetic field along the propagation path.\n"
3152
"\n"
3153
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3154
"\n"
3155
"Dimension: [ 3, ppath.np ]\n"
3156
"\n"
3157
"Usage: Output of radiative transfer methods.\n"
),
3158
GROUP
(
"Matrix"
)));
3159
3160
wsv_data.push_back(
WsvRecord
(
3161
NAME
(
"ppvar_nlte"
),
3162
DESCRIPTION
(
3163
"Non-LTE temperatures/ratios along the propagation path.\n"
3164
"\n"
3165
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3166
"\n"
3167
"Dimension: [ number of non-lte temperatures, 1, 1, ppath.np ]\n"
3168
"\n"
3169
"Usage: Output of radiative transfer methods.\n"
),
3170
GROUP
(
"EnergyLevelMap"
)));
3171
3172
wsv_data.push_back(
WsvRecord
(
3173
NAME
(
"ppvar_p"
),
3174
DESCRIPTION
(
3175
"Pressure along the propagation path.\n"
3176
"\n"
3177
"ppvar stands for propagation path variable. The variables named in is\n"
3178
"way describe the atmosphere and its properties at each point of the\n"
3179
"propagation path\n"
3180
"\n"
3181
"Dimension: [ ppath.np ]\n"
3182
"\n"
3183
"Usage: Output of radiative transfer methods.\n"
),
3184
GROUP
(
"Vector"
)));
3185
3186
wsv_data.push_back(
WsvRecord
(
3187
NAME
(
"ppvar_pnd"
),
3188
DESCRIPTION
(
3189
"PND values along the propagation path.\n"
3190
"\n"
3191
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3192
"\n"
3193
"Dimension: [ number of scattering elements, ppath.np ]\n"
3194
"\n"
3195
"Usage: Output of radiative transfer methods.\n"
),
3196
GROUP
(
"Matrix"
)));
3197
3198
wsv_data.push_back(
WsvRecord
(
3199
NAME
(
"ppvar_optical_depth"
),
3200
DESCRIPTION
(
3201
"The optical depth between the sensor and each point of the propagation path.\n"
3202
"\n"
3203
"Returned as the one-way optical depth even in the case of radar\n"
3204
"simulations. Just a scalar value, i.e. no polarisation information is\n"
3205
"provided.\n"
3206
"\n"
3207
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3208
"\n"
3209
"Dimension: [ ppath.np, f_grid]\n"
3210
"\n"
3211
"Usage: Output of radiative transfer methods.\n"
),
3212
GROUP
(
"Matrix"
)));
3213
3214
wsv_data.push_back(
WsvRecord
(
3215
NAME
(
"ppvar_t"
),
3216
DESCRIPTION
(
3217
"Temperature along the propagation path.\n"
3218
"\n"
3219
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3220
"\n"
3221
"Dimension: [ ppath.np ]\n"
3222
"\n"
3223
"Usage: Output of radiative transfer methods.\n"
),
3224
GROUP
(
"Vector"
)));
3225
3226
wsv_data.push_back(
WsvRecord
(
3227
NAME
(
"ppvar_trans_cumulat"
),
3228
DESCRIPTION
(
3229
"The transmittance between the sensor and each point of the propagation path.\n"
3230
"\n"
3231
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3232
"\n"
3233
"Dimension: [ ppath.np, f_grid, stokes_dim, stokes_dim ]\n"
3234
"\n"
3235
"Usage: Output of radiative transfer methods.\n"
),
3236
GROUP
(
"Tensor4"
)));
3237
3238
wsv_data.push_back(
WsvRecord
(
3239
NAME
(
"ppvar_trans_partial"
),
3240
DESCRIPTION
(
3241
"The transmittance between the points along the propagation path.\n"
3242
"\n"
3243
"To maintain consistency in size also this variable stores np transmissivities,\n"
3244
"while there are only np-1 distances between the points of the ppath. The\n"
3245
"extra values placed at index 0 and can be seen as the transmissivities\n"
3246
"between the sensor and the start of the ppath. These transmissivities\n"
3247
"are always unity. That is, the transmissivities between ppath point i and i+1\n"
3248
"are found at index i+1 in *ppvar_trans_partial*.\n"
3249
"\n"
3250
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3251
"\n"
3252
"Dimension: [ ppath.np, f_grid, stokes_dim, stokes_dim ]\n"
3253
"\n"
3254
"Usage: Output of radiative transfer methods.\n"
),
3255
GROUP
(
"Tensor4"
)));
3256
3257
wsv_data.push_back(
WsvRecord
(
3258
NAME
(
"ppvar_vmr"
),
3259
DESCRIPTION
(
3260
"VMR values along the propagation path.\n"
3261
"\n"
3262
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3263
"\n"
3264
"Dimension: [ number of abs. species, ppath.np ]\n"
3265
"\n"
3266
"Usage: Output of radiative transfer methods.\n"
),
3267
GROUP
(
"Matrix"
)));
3268
3269
wsv_data.push_back(
WsvRecord
(
3270
NAME
(
"ppvar_wind"
),
3271
DESCRIPTION
(
3272
"Winds along the propagation path.\n"
3273
"\n"
3274
"See *ppvar_p* for a general description of WSVs of ppvar-type.\n"
3275
"\n"
3276
"Dimension: [ 3, ppath.np ]\n"
3277
"\n"
3278
"Usage: Output of radiative transfer methods.\n"
),
3279
GROUP
(
"Matrix"
)));
3280
3281
wsv_data.push_back(
WsvRecord
(
3282
NAME
(
"predefined_model_data"
),
3283
DESCRIPTION
(
3284
R
"--(This contains predefined model data that cannot
3285
be distributed directly for whatever reason
3286
3287
Can currently only contain data for new MT CKD models of water.
3288
)--"),
3289
GROUP
(
"PredefinedModelData"
), PredefinedModelData{}));
3290
3291
wsv_data.push_back(
WsvRecord
(
3292
NAME
(
"propmat_clearsky"
),
3293
DESCRIPTION
(
3294
"This contains the absorption coefficients for one point in the\n"
3295
"atmosphere (one set of pressure, temperature, magnetic field, and\n"
3296
"VMR values).\n"
3297
"\n"
3298
"Dimensions: [naa, nza, nf, f(stokes_dim)]\n"
3299
"\n"
3300
"Unit: 1/m\n"
),
3301
GROUP
(
"PropagationMatrix"
)));
3302
3303
wsv_data.push_back(
3304
WsvRecord
(
NAME
(
"propmat_clearsky_agenda_checked"
),
3305
DESCRIPTION
(
"OK-flag for *propmat_clearsky_agenda*.\n"
3306
"\n"
3307
"Set by *propmat_clearsky_agenda_checkedCalc*.\n"
),
3308
GROUP
(
"Index"
), Index{0}));
3309
3310
wsv_data.push_back(
WsvRecord
(
3311
NAME
(
"propmat_clearsky_agenda"
),
3312
DESCRIPTION
(
"Agenda calculating the absorption coefficient matrices.\n"
),
3313
GROUP
(
"Agenda"
)));
3314
3315
wsv_data.push_back(
WsvRecord
(
3316
NAME
(
"propmat_clearsky_field"
),
3317
DESCRIPTION
(
3318
"Gas absorption field.\n"
3319
"\n"
3320
"Contains the (polarized) gas absorption coefficients for all species\n"
3321
"as a function of *f_grid*, *p_grid*, *lat_grid*, and *lon_grid*. \n"
3322
"\n"
3323
"This is mainly for testing and plotting gas absorption. For RT\n"
3324
"calculations, gas absorption is calculated or extracted locally,\n"
3325
"therefore there is no need to store a global field. But this variable\n"
3326
"is handy for easy plotting of absorption vs. pressure, for example.\n"
3327
"\n"
3328
"Unit: 1/m\n"
3329
"\n"
3330
"Dimensions: [species, f_grid, *stokes_dim*, stokes_dim, p_grid, lat_grid, lon_grid]\n"
),
3331
GROUP
(
"Tensor7"
)));
3332
3333
wsv_data.push_back(
WsvRecord
(
3334
NAME
(
"psd_data"
),
3335
DESCRIPTION
(
3336
"Particle size distribution values for a set of points.\n"
3337
"\n"
3338
"The variable contains particle size distribution data for one scattering\n"
3339
"species. The row dimension corresponds to different positions, in the\n"
3340
"same way as *pnd_agenda_input* is defined.\n"
3341
"\n"
3342
"Dimensions: [ n_points, n_scattering_elements ]\n"
),
3343
GROUP
(
"Matrix"
)));
3344
3345
wsv_data.push_back(
WsvRecord
(
3346
NAME
(
"psd_size_grid"
),
3347
DESCRIPTION
(
3348
"The particle sizes associated with *psd_data*.\n"
3349
"\n"
3350
"This variable holds the size of each scattering element considered.\n"
3351
"Size can be defined differently, depending on particle size distribution\n"
3352
"used. Most common choices should by equivalent diameter, maximum diameter\n"
3353
"and mass.\n"
3354
"\n"
3355
"Dimension: [ n_sizes ]\n"
),
3356
GROUP
(
"Vector"
)));
3357
3358
wsv_data.push_back(
WsvRecord
(
3359
NAME
(
"p_grid"
),
3360
DESCRIPTION
(
3361
"The pressure grid.\n"
3362
"\n"
3363
"The pressure levels on which the atmospheric fields are defined.\n"
3364
"This variable must always be defined. The grid must be sorted in\n"
3365
"decreasing order, with no repetitions.\n"
3366
"\n"
3367
"No gap between the lowermost pressure level and the surface is \n"
3368
"allowed. The uppermost pressure level defines the practical upper\n"
3369
"limit of the atmosphere as vacuum is assumed above.\n"
3370
"\n"
3371
"See further the ARTS user guide (AUG). Use the index to find where\n"
3372
"this variable is discussed. The variable is listed as a subentry to\n"
3373
"\"workspace variables\".\n"
3374
"\n"
3375
"Usage: Set by the user.\n"
3376
"\n"
3377
"Unit: Pa\n"
),
3378
GROUP
(
"Vector"
)));
3379
3380
wsv_data.push_back(
WsvRecord
(
3381
NAME
(
"p_grid_orig"
),
3382
DESCRIPTION
(
3383
"The original pressure grid before optimization.\n"
3384
"\n"
3385
"This variable is used to interpolate *cloudbox_field* back to its original\n"
3386
"size after the calculation with *OptimizeDoitPressureGrid*.\n"
3387
" The variable is listed as a subentry to\n"
3388
"\"workspace variables\".\n"
3389
"\n"
3390
"Usage: Set by the user.\n"
3391
"\n"
3392
"Unit: Pa\n"
),
3393
GROUP
(
"Vector"
)));
3394
3395
wsv_data.push_back(
WsvRecord
(
3396
NAME
(
"p_hse"
),
3397
DESCRIPTION
(
3398
"Reference pressure calculation of hydrostatic equilibrium.\n"
3399
"\n"
3400
"The altitude specified by this pressure is used as the reference\n"
3401
"when calculating hydrostatic equilibrium. That is, the geometrical\n"
3402
"altitude at this pressure is not changed.\n"
3403
"\n"
3404
"Usage: Set by the user.\n"
3405
"\n"
3406
"Unit: Pa\n"
),
3407
GROUP
(
"Numeric"
)));
3408
wsv_data.push_back(
WsvRecord
(
3409
NAME
(
"radiance_field"
),
3410
DESCRIPTION
(
3411
"Radiance field.\n"
3412
"\n"
3413
"Radiant flux received by a surface per unit solid angle and per unit\n"
3414
"area for each hemisphere. The last dimension denotes the hemispheres.\n"
3415
"The first component is the downward radiance and the second component\n"
3416
"is the upward radiance.\n"
3417
"\n"
3418
"Units: W / (m^2 sr)\n"
3419
"\n"
3420
"Size: [p_grid, \n"
3421
" lat_grid, \n"
3422
" lon_grid, \n"
3423
" N_za, N_aa\n"
),
3424
GROUP
(
"Tensor5"
)));
3425
3426
wsv_data.push_back(
WsvRecord
(
3427
NAME
(
"range_bins"
),
3428
DESCRIPTION
(
3429
"The range bins of an active instrument.\n"
3430
"\n"
3431
"The bins are assumed to cover a range without gaps, and the bins are\n"
3432
"defined by their edges. That is, the length of this vector is the\n"
3433
"number of bins + 1.\n"
3434
"\n"
3435
"The bins can potentially be defined in two ways, by altitude or time.\n"
3436
"See the method you are using, if this variable shall hold time or\n"
3437
"altitude (or maybe both options are treated).\n"
3438
"\n"
3439
"Unit: m or s\n"
),
3440
GROUP
(
"Vector"
)));
3441
3442
wsv_data.push_back(
WsvRecord
(
3443
NAME
(
"refr_index_air"
),
3444
DESCRIPTION
(
3445
"Real part of the refractive index of air.\n"
3446
"\n"
3447
"The variable contains the refractive index summed over all relevant\n"
3448
"constituents, at one position in the atmosphere. This refractive\n"
3449
"is related to the phase velocity. See also *refr_index_air_group*.\n"
3450
"\n"
3451
"Unit: 1\n"
),
3452
GROUP
(
"Numeric"
)));
3453
3454
wsv_data.push_back(
WsvRecord
(
3455
NAME
(
"refr_index_air_agenda"
),
3456
DESCRIPTION
(
"Agenda calculating the refractive index of air.\n"
),
3457
GROUP
(
"Agenda"
)));
3458
3459
wsv_data.push_back(
WsvRecord
(
3460
NAME
(
"refr_index_air_group"
),
3461
DESCRIPTION
(
3462
"Group index of refractivity.\n"
3463
"\n"
3464
"This variable is defined as the ratio between group velocity and the\n"
3465
"speed of ligh in vacuum. That is, it is defined as the \"standard\"\n"
3466
"refractive index, but refers to the group velocity instead of the\n"
3467
"phase velocity. See also *refr_index_air*.\n"
3468
"\n"
3469
"Unit: 1\n"
),
3470
GROUP
(
"Numeric"
)));
3471
3472
wsv_data.push_back(
WsvRecord
(
3473
NAME
(
"refellipsoid"
),
3474
DESCRIPTION
(
3475
"Reference ellipsoid.\n"
3476
"\n"
3477
"This vector specifies the shape of the reference ellipsoid. The\n"
3478
"vector must have length 2, where the two elements are:\n"
3479
" 1: Equatorial radius.\n"
3480
" 2: The eccentricity.\n"
3481
"The eccentricity is sqrt(1-b*b/a*a) where a and b are equatorial and\n"
3482
"polar radius, respectively. If the eccentricity is set to 0, an\n"
3483
"average radius should be used instead of the equatorial one.\n"
3484
"\n"
3485
"The eccentricity must be 0 for 1D calculations, as a spherical Earth\n"
3486
"is implied by setting *atmosphere_dim* to 1. For 2D, the selected\n"
3487
"ellipsoid parameters should be selected according to cross-section\n"
3488
"between the real ellipsoid and the 2D plane considered. That is\n"
3489
"the applied ellipsoid shall have een converted to match the internal\n"
3490
"treatment of 2D cases. For 3D, models can be used, such as WGS84.\n"
3491
"\n"
3492
"Usage: Set by the user.\n"
3493
"\n"
3494
"Size: [ 2 ]\n"
),
3495
GROUP
(
"Vector"
)));
3496
3497
wsv_data.push_back(
WsvRecord
(
3498
NAME
(
"retrieval_checked"
),
3499
DESCRIPTION
(
3500
"Flag indicating completeness and consistency of retrieval setup.\n"
3501
"\n"
3502
"Unit: Boolean\n"
),
3503
GROUP
(
"Index"
), Index{0}));
3504
3505
wsv_data.push_back(
WsvRecord
(
3506
NAME
(
"retrieval_eo"
),
3507
DESCRIPTION
(
3508
"The estimated error in the retrieval due to uncertainty in the observations.\n"
3509
"\n"
3510
"The vector contains the square roots of the diagonal elements of the\n"
3511
"covariance matrix of the error due to measurement noise, S_m in Rodgers'\n"
3512
" book.\n"
),
3513
GROUP
(
"Vector"
)));
3514
3515
wsv_data.push_back(
WsvRecord
(
3516
NAME
(
"retrieval_ss"
),
3517
DESCRIPTION
(
3518
"The estimated error in the retrieval due to limited resolution of the\n"
3519
"observation system.\n"
3520
"\n"
3521
"The vector contains the square roots of the diagonal\n"
3522
"elements of the covariance matrix of the smoothing error, S_s in Rodgers'\n"
3523
"book.\n"
),
3524
GROUP
(
"Vector"
)));
3525
3526
wsv_data.push_back(
WsvRecord
(
3527
NAME
(
"rte_alonglos_v"
),
3528
DESCRIPTION
(
3529
"Velocity along the line-of-sight to consider for a RT calculation.\n"
3530
"\n"
3531
"This variable gives the velocity of the imaginary detector in\n"
3532
"monochromatic pencil beam calculations. The relevant velocity is\n"
3533
"the projection along the line-of-sight (ie. total velocity shall not\n"
3534
"be given). A positive value means a movement of the detector in the\n"
3535
"same direction as the line-of-sight.\n"
3536
"\n"
3537
"This variable is required to include Doppler effects due to\n"
3538
"velocities of the observer, relative the centre of the coordinate\n"
3539
"system used that is fixed to the planets centre point.\n"
3540
"\n"
3541
"Unit: [ m/s ]\n"
),
3542
GROUP
(
"Numeric"
), Numeric{0.0}));
3543
3544
wsv_data.push_back(
WsvRecord
(
3545
NAME
(
"rte_los"
),
3546
DESCRIPTION
(
3547
"A line-of-sight for (complete) radiative transfer calculations.\n"
3548
"\n"
3549
"This variable gives the observation direction for monochromatic\n"
3550
"pencil beam calculations. Hence, it is the line-of-sight at the end\n"
3551
"point of the propagation path.\n"
3552
"\n"
3553
"For 1D and 2D cases, *rte_los* is a vector of length 1 holding the \n"
3554
"zenith angle. For 3D, the length of the vector is 2, where the\n"
3555
"additional element is the azimuthal angle. These angles are defined\n"
3556
"in the ARTS user guide (AUG). Look in the index for \"zenith angle\"\n"
3557
"and \"azimuthal angle\".\n"
3558
"\n"
3559
"Usage: See above.\n"
3560
"\n"
3561
"Units: [ degree, degree ]\n"
3562
"\n"
3563
"Size: [ 1 or 2 ]\n"
),
3564
GROUP
(
"Vector"
)));
3565
3566
wsv_data.push_back(
WsvRecord
(
3567
NAME
(
"rte_pos"
),
3568
DESCRIPTION
(
3569
"A geographical position for starting radiative transfer calculations.\n"
3570
"\n"
3571
"This variable gives the observation position for monochromatic\n"
3572
"pencil beam calculations. Hence, it is the end point of the\n"
3573
"propagation path.\n"
3574
"\n"
3575
"This variable is a vector with a length equalling the atmospheric\n"
3576
"dimensionality. The first element is the geometrical altitude.\n"
3577
"Element 2 is the latitude and element 3 is the longitude.\n"
3578
"\n"
3579
"Usage: See above. \n"
3580
"\n"
3581
"Units: [ m, degree, degree ]\n"
3582
"\n"
3583
"Size: [ atmosphere_dim ]\n"
),
3584
GROUP
(
"Vector"
)));
3585
3586
wsv_data.push_back(
WsvRecord
(
3587
NAME
(
"rte_pos2"
),
3588
DESCRIPTION
(
3589
"A second geographical position to define the geometry for\n"
3590
"radiative transfer calculations.\n"
3591
"\n"
3592
"This variable is used when the propagation path is defined by two\n"
3593
"positions, instead of a position (*rte_pos*) and a line-of-sight\n"
3594
"(*rte_los*). That is, this variable basically replaces *rte_los*\n"
3595
"for the cases of consideration. In practice, *rte_los* is determined\n"
3596
"by finding the propagation path between *rte_pos* and *rte_pos2*.\n"
3597
"\n"
3598
"As *rte_pos* with the exception that a \"latitude\" must also be\n"
3599
"specified for 1D. This is the angular distance to *rte_pos*, where\n"
3600
"this distance is defined as the 2D-\"latitude\".\n"
3601
"\n"
3602
"Usage: See above. \n"
3603
"\n"
3604
"Units: [ m, degree, degree ]\n"
3605
"\n"
3606
"Size: [ atmosphere_dim ]\n"
),
3607
GROUP
(
"Vector"
)));
3608
3609
wsv_data.push_back(
WsvRecord
(
3610
NAME
(
"rtp_mag"
),
3611
DESCRIPTION
(
3612
"Magnetic field at a radiative transfer point.\n"
3613
"\n"
3614
"See *mag_u_field* etc. for a definition of the different components.\n"
3615
"For this variable the components are put together and thus defines\n"
3616
"magnetic field vector. Hence, this is a vector of length three, even\n"
3617
"if any of the input fields is set to be empty.\n"
3618
"\n"
3619
"The WSV is used as input to methods and agendas calculating radiative\n"
3620
"properties for a given conditions.\n"
3621
"\n"
3622
"Usage: Communication variable.\n"
3623
"\n"
3624
"Units: T\n"
3625
"\n"
3626
"Size: [ u-component, v-component, w-component ]\n"
),
3627
GROUP
(
"Vector"
)));
3628
3629
wsv_data.push_back(
WsvRecord
(
3630
NAME
(
"rtp_los"
),
3631
DESCRIPTION
(
3632
"Line-of-sight at a radiative transfer point.\n"
3633
"\n"
3634
"This variable holds a local line-of-sight. The angles of this\n"
3635
"vector are defined as for *rte_los*.\n"
3636
"\n"
3637
"The WSV is used as input to methods and agendas calculating radiative\n"
3638
"properties for a given conditions.\n"
3639
"\n"
3640
"Usage: Communication variable.\n"
3641
"\n"
3642
"Units: [ degree, degree ]\n"
3643
"\n"
3644
"Size: [ 1 or 2 ]\n"
),
3645
GROUP
(
"Vector"
)));
3646
3647
wsv_data.push_back(
WsvRecord
(
3648
NAME
(
"rtp_pos"
),
3649
DESCRIPTION
(
3650
"Position of a radiative transfer point.\n"
3651
"\n"
3652
"This vector is defined as *rte_pos*, but holds a position along\n"
3653
"the propgation path, or the start point for new paths, in contrast\n"
3654
"to *rte_pos* that is position of the (imaginary) detector.\n"
3655
"\n"
3656
"The WSV is used as input to methods and agendas calculating radiative\n"
3657
"properties for a given conditions.\n"
3658
"\n"
3659
"Usage: Communication variable.\n"
3660
"\n"
3661
"Units: [ m, degree, degree ]\n"
3662
"\n"
3663
"Size: [ atmosphere_dim ]\n"
),
3664
GROUP
(
"Vector"
)));
3665
3666
wsv_data.push_back(
WsvRecord
(
3667
NAME
(
"rtp_pressure"
),
3668
DESCRIPTION
(
3669
"Pressure at a radiative transfer point.\n"
3670
"\n"
3671
"This scalar variable holds the local pressure.\n"
3672
"\n"
3673
"The WSV is used as input to methods and agendas calculating radiative\n"
3674
"properties for a given conditions.\n"
3675
"\n"
3676
"Usage: Communication variable.\n"
3677
"\n"
3678
"Units: [ Pa ]\n"
),
3679
GROUP
(
"Numeric"
)));
3680
3681
wsv_data.push_back(
WsvRecord
(
3682
NAME
(
"rtp_temperature"
),
3683
DESCRIPTION
(
3684
"Temperature at a radiative transfer point.\n"
3685
"\n"
3686
"This scalar variable can hold the local temperature. It is intended\n"
3687
"mainly for communication with various methods and agendas, such as\n"
3688
"methods and agendas calculating absorption coefficients.\n"
3689
"The WSV is used as input to methods and agendas calculating radiative\n"
3690
"properties for a given conditions.\n"
3691
"\n"
3692
"Usage: Communication variable.\n"
3693
"\n"
3694
"Units: [ K ]\n"
),
3695
GROUP
(
"Numeric"
)));
3696
3697
wsv_data.push_back(
WsvRecord
(
3698
NAME
(
"rt_integration_option"
),
3699
DESCRIPTION
(
3700
"Switch between integration approaches for radiative transfer steps.\n"
3701
"\n"
3702
"See each WSM using this varaible as input for available options.\n"
),
3703
GROUP
(
"String"
),
String
{
"default"
}));
3704
3705
wsv_data.push_back(
WsvRecord
(
3706
NAME
(
"rtp_nlte"
),
3707
DESCRIPTION
(
3708
"NLTE temperature/ratio at a radiative transfer point.\n"
3709
"\n"
3710
"This vector variable can hold the NLTE temperature/ratio. It is intended\n"
3711
"mainly for communication with various methods and agendas, such as\n"
3712
"methods and agendas calculating absorption coefficients.\n"
3713
"The WSV is used as input to methods and agendas calculating radiative\n"
3714
"properties for a given conditions.\n"
3715
"\n"
3716
"Usage: Communication variable.\n"
3717
"\n"
3718
"Units: [ K/# ]\n"
3719
"Size: [ NLTE levels, 1, 1, 1 ] or [ 0, 0, 0, 0 ]\n"
),
3720
GROUP
(
"EnergyLevelMap"
)));
3721
3722
wsv_data.push_back(
WsvRecord
(
3723
NAME
(
"rtp_vmr"
),
3724
DESCRIPTION
(
3725
"Absorption species abundances for radiative transfer calculations.\n"
3726
"\n"
3727
"This vector variable holds the local abundance of the constituents\n"
3728
"included in *abs_species*.\n"
3729
"\n"
3730
"The WSV is used as input to methods and agendas calculating radiative\n"
3731
"properties for a given conditions.\n"
3732
"\n"
3733
"Usage: Communication variable.\n"
3734
"\n"
3735
"Units: [ Differ between the elements, can be VMR, kg/m3 or #/m3. ]\n"
3736
"\n"
3737
"Size: Should match abs_species.nelem()\n"
),
3738
GROUP
(
"Vector"
)));
3739
3740
wsv_data.push_back(
WsvRecord
(
3741
NAME
(
"scat_data"
),
3742
DESCRIPTION
(
3743
"Array of single scattering data.\n"
3744
"\n"
3745
"As *scat_data_raw*, but with frequency grids and dimensions reduced\n"
3746
"to the RT's *f_grid* or a single frequency entry. Also, temperature\n"
3747
"grid or dimensions can be reduced to a single entry, meaning no\n"
3748
"temperature interpolation is done for the respective data.\n"
3749
"\n"
3750
"Standard approach to derive scat_data is to use *scat_dataCalc* to\n"
3751
"derive it from *scat_data_raw*."
),
3752
GROUP
(
"ArrayOfArrayOfSingleScatteringData"
)));
3753
3754
wsv_data.push_back(
WsvRecord
(
3755
NAME
(
"scat_data_checked"
),
3756
DESCRIPTION
(
3757
"OK-flag for *scat_data*.\n"
3758
"\n"
3759
"Relevant checks are performed by *scat_data_checkedCalc. Only the\n"
3760
"value 1 is taken as OK.\n"
),
3761
GROUP
(
"Index"
), Index{0}));
3762
3763
wsv_data.push_back(
WsvRecord
(
3764
NAME
(
"scat_data_raw"
),
3765
DESCRIPTION
(
3766
"Array of raw single scattering data.\n"
3767
"\n"
3768
"This variable holds the single scattering properties for all \n"
3769
"scattering elements, organized according to their assignment to a\n"
3770
"scattering species. *scat_data_raw* entries can be derived from\n"
3771
"precalculated data files using the methods *ScatElementsPndAndScatAdd*,\n"
3772
"*ScatSpeciesPndAndScatAdd*, or *ScatSpeciesScatAndMetaRead* or\n"
3773
"can be calculated using *scat_data_singleTmatrix*.\n"
3774
"\n"
3775
"This may be used in combination with *scat_meta*\n"
3776
"\n"
3777
"Usage: Method ouput.\n"
3778
"\n"
3779
"Members: SingleScatteringData:\n"
3780
" Enum[ptype attribute]\n"
3781
" String[description] \n"
3782
" Vector[f_grid]\n"
3783
" Vector[T_grid]\n"
3784
" Vector[za_grid]\n"
3785
" Vector[aa_grid]\n"
3786
" Tensor7[pha_mat_data]\n"
3787
" [f_grid, T_grid, za_grid, aa_grid, za_grid, aa_grid, matrix_element]\n"
3788
" ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^\n"
3789
" scattered incoming\n"
3790
" Tensor5[ext_mat_data]\n"
3791
" [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
3792
" Tensor5[abs_vec_data]\n"
3793
" [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
3794
"\n"
3795
"Dimensions: [number of scattering species][number of scattering elements] \n"
),
3796
GROUP
(
"ArrayOfArrayOfSingleScatteringData"
)));
3797
3798
wsv_data.push_back(
WsvRecord
(
3799
NAME
(
"scat_data_mono"
),
3800
DESCRIPTION
(
3801
"Monochromatic single scattering data.\n"
3802
"\n"
3803
"This variable holds the single scattering properties for all\n"
3804
"scattering species and scattering elements for a specified frequency.\n"
3805
"It can be calculated from *scat_data* using *scat_data_monoCalc*,\n"
3806
"which interpolates *scat_data* to the required frequency.\n"
),
3807
GROUP
(
"ArrayOfArrayOfSingleScatteringData"
)));
3808
3809
wsv_data.push_back(
WsvRecord
(
3810
NAME
(
"scat_data_single"
),
3811
DESCRIPTION
(
3812
"Structure for the single scattering data.\n"
3813
"\n"
3814
"Comprises the single scattering data of a single scattering element.\n"
3815
"See ARTS user guide for further information.\n"
3816
"\n"
3817
"Usage: Set by the user.\n"
3818
"\n"
3819
"Dimensions: SingleScatteringData \n"
3820
" Enum[ptype attribute]\n"
3821
" String[description] \n"
3822
" Vector[f_grid]\n"
3823
" Vector[T_grid]\n"
3824
" Vector[za_grid]\n"
3825
" Vector[aa_grid]\n"
3826
" Tensor7[pha_mat_data]\n"
3827
" [f_grid, T_grid, za_grid, aa_grid, za_grid, aa_grid, matrix_element]\n"
3828
" ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^\n"
3829
" scattered incoming\n"
3830
" Tensor5[ext_mat_data]\n"
3831
" [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
3832
" Tensor5[abs_vec_data]\n"
3833
" [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
),
3834
GROUP
(
"SingleScatteringData"
)));
3835
3836
wsv_data.push_back(
WsvRecord
(
3837
NAME
(
"scat_lat_index"
),
3838
DESCRIPTION
(
3839
"Latitude index for scattering calculations.\n"
3840
"\n"
3841
"This variable is used in methods used for computing scattering\n"
3842
"properties of scattering elements like *opt_prop_sptFromData* and\n"
3843
"*pha_matCalc*. It holds the information about the position for which the\n"
3844
"scattering calculations are done.\n"
3845
"\n"
3846
"Usage: Input to the methods *spt_calc_agenda*,\n"
3847
" *pha_mat_spt_agenda*\n"
),
3848
GROUP
(
"Index"
)));
3849
3850
wsv_data.push_back(
WsvRecord
(
3851
NAME
(
"scat_lon_index"
),
3852
DESCRIPTION
(
3853
"Longitude index for scattering calculations.\n"
3854
"\n"
3855
"This variable is used in methods used for computing scattering\n"
3856
"properties of scattering elements like *opt_prop_sptFromData* and\n"
3857
"*pha_matCalc*. It holds the information about the position for which the\n"
3858
"scattering calculations are done.\n"
3859
"\n"
3860
"Usage: Input to the methods *spt_calc_agenda*,\n"
3861
" *pha_mat_spt_agenda*\n"
),
3862
GROUP
(
"Index"
)));
3863
3864
wsv_data.push_back(
WsvRecord
(
3865
NAME
(
"scat_meta_single"
),
3866
DESCRIPTION
(
3867
"Structure for the scattering meta data.\n"
3868
"\n"
3869
"This variable holds the scattering meta data for a single scattering\n"
3870
"element (see AUG for definition). Scattering meta data comprises\n"
3871
"the microphysical description of the scattering element as necessary\n"
3872
"to relate single scattering properties with mass density or flux\n"
3873
"fields. That is, e.g., in order to handle the scattering element in\n"
3874
"particle size (and shape) distribution calculations.\n"
3875
"\n"
3876
"For a definition of the structure members see below.\n"
3877
"\n"
3878
"Members of Numeric type can be flagged as unknown by setting them to\n"
3879
"NAN. This will cause a runtime error in case the parameter is needed in\n"
3880
"the calculation, but will be ignored otherwise.\n"
3881
"\n"
3882
"Usage: Set by the user.\n"
3883
"\n"
3884
"Members:\n"
3885
" description [*String*]\n"
3886
" Description: Free-form description of the scattering element,\n"
3887
" holding information deemed of interest by the user but not covered\n"
3888
" by other structure members (and not used within ARTS).\n"
3889
" source [*String*]\n"
3890
" Description: Free-form description of the source of the data,\n"
3891
" e.g., Mie, T-Matrix, or DDA calculation or a database or a\n"
3892
" literature source.\n"
3893
" refr_index [*String*]\n"
3894
" Description: Free-form description of the underlying complex\n"
3895
" refractive index data, e.g., a literature source.\n"
3896
" mass [*Numeric*]\n"
3897
" Unit: [kg]\n"
3898
" Description: The mass of the scattering element.\n"
3899
" diameter_max [*Numeric*]\n"
3900
" Unit: [m]\n"
3901
" Description: The maximum diameter (or dimension) of the scattering\n"
3902
" element, defined by the circumferential sphere diameter of the\n"
3903
" element. Note that this parameter is only used by some size\n"
3904
" distributions; it does not have a proper meaning if the scattering\n"
3905
" element represents an ensemble of differently sized particles.\n"
3906
" diameter_volume_equ [*Numeric*]\n"
3907
" Unit: [m]\n"
3908
" Description: The volume equivalent sphere diameter of the\n"
3909
" scattering element, i.e., the diameter of a sphere with the same\n"
3910
" volume. For nonspherical particles, volume refers to the volume\n"
3911
" of the particle-forming substance, not that of the circumferential\n"
3912
" sphere (which can be derived from diameter_max). If the particle\n"
3913
" consists of a mixture of materials, the substance\n"
3914
" encompasses the complete mixture. E.g., the substance of 'soft'\n"
3915
" ice particles includes both the ice and the air.\n"
3916
" diameter_area_equ_aerodynamical [*Numeric*]\n"
3917
" Unit: [m]\n"
3918
" Description: The area equivalent sphere diameter of the\n"
3919
" scattering element, i.e., the diameter of a sphere with the same\n"
3920
" cross-sectional area. Here, area refers to the aerodynamically\n"
3921
" relevant area, i.e., the cross-sectional area perpendicular to the\n"
3922
" direction of fall. Similarly to volume in the definition of\n"
3923
" diameter_volume_equ, for non-spherical and mixed-material\n"
3924
" particles, area refers to the area covered by the substance\n"
3925
" mixture of the particle.\n"
),
3926
GROUP
(
"ScatteringMetaData"
)));
3927
3928
wsv_data.push_back(
WsvRecord
(
3929
NAME
(
"scat_meta"
),
3930
DESCRIPTION
(
3931
"An Array of scattering meta data (*scat_meta_single*).\n"
3932
"\n"
3933
"The array holds the meta data for all scattering elements. For a\n"
3934
"description of the meta data contents refer to the documentation\n"
3935
"of *scat_data_single*.\n"
3936
"\n"
3937
"Corresponding to *scat_data*, it is organized in terms of scattering\n"
3938
"species (i.e., one sub-array per scattering species holding one\n"
3939
"*scat_meta_single* instance per scattering element assigned to this\n"
3940
"scattering species). It is primarily used for particle size and shape\n"
3941
"distribution calculations using *pnd_fieldCalcFromParticleBulkProps*.\n"
3942
"It is also applied for deducing microphysical characterizations of\n"
3943
"scattering species, e.g., by *particle_massesFromMetaData*.\n"
3944
"\n"
3945
"Note: This array must contain as many elements as *scat_data* (on\n"
3946
"both array levels).\n"
3947
"\n"
3948
"Usage: Set by the user.\n"
3949
"\n"
3950
"Dimensions: [scattering species][scattering elements]"
3951
"\n"
3952
"For more details, see also *scat_meta_single*.\n"
),
3953
GROUP
(
"ArrayOfArrayOfScatteringMetaData"
)));
3954
3955
wsv_data.push_back(
WsvRecord
(
3956
NAME
(
"scat_p_index"
),
3957
DESCRIPTION
(
3958
"Pressure index for scattering calculations.\n"
3959
"\n"
3960
"This variable is used in methods used for computing scattering\n"
3961
"properties of scattering elements like *opt_prop_sptFromData* and\n"
3962
"*pha_matCalc*. It holds the information about the location for which the\n"
3963
"scattering calculations are done.\n"
3964
"\n"
3965
"Usage: Input to the methods *spt_calc_agenda*,\n"
3966
" *pha_mat_spt_agenda*\n"
),
3967
GROUP
(
"Index"
)));
3968
3969
wsv_data.push_back(
WsvRecord
(
3970
NAME
(
"scat_species"
),
3971
DESCRIPTION
(
3972
"Array of Strings defining the scattering species to consider.\n"
3973
"\n"
3974
"Each String contains the information to connect scattering species\n"
3975
"(e.g., hydrometeor) atmospheric fields with the microphysical\n"
3976
"information like size and shape distributions. The strings follow\n"
3977
"the following structure with individual elements separated by dashes:\n"
3978
"\n"
3979
"- scattering species name [*String*]\n"
3980
" the name of the scattering species' atmospheric field. Free form,\n"
3981
" but is matched to *atm_fields_compact* fields by their names.\n"
3982
" Common are, e.g., IWC (ice water content), LWC (liquid water\n"
3983
" content), RR (rain rate), and SR (snow rate).\n"
3984
"- particle size distribution [*String*]:\n"
3985
" the size distribution function/parametrization to apply. For\n"
3986
" currently possible PSDs see *pnd_fieldCalcFromParticleBulkProps*.\n"
3987
"\n"
3988
"Example: [''IWC-MH97'', ''LWC-H98_STCO'', ...]\n"
),
3989
GROUP
(
"ArrayOfString"
),
3990
ArrayOfString
{}));
3991
3992
wsv_data.push_back(
WsvRecord
(
3993
NAME
(
"scat_species_a"
),
3994
DESCRIPTION
(
3995
"Mass-size relationship parameter, for one scattering species.\n"
3996
"\n"
3997
"Some methods require a relationship between mass and particle size,\n"
3998
"valid for the complete scattering species. A common model for this\n"
3999
"relationship is:\n"
4000
" mass(x) = a * x^b,\n"
4001
"where x is size (that could be Dveq, Dmax or mass) and a/b are parameters.\n"
4002
"\n"
4003
"This WSV is a in the expression above.\n"
4004
"The WSV matching b is *scat_species_b*.\n"
4005
"The WSV matching x is *scat_species_x*.\n"
),
4006
GROUP
(
"Numeric"
)));
4007
4008
wsv_data.push_back(
WsvRecord
(
4009
NAME
(
"scat_species_b"
),
4010
DESCRIPTION
(
4011
"Mass-size relationship parameter, for one scattering species.\n"
4012
"\n"
4013
"See *scat_species_a* for details.\n"
),
4014
GROUP
(
"Numeric"
)));
4015
4016
wsv_data.push_back(
WsvRecord
(
4017
NAME
(
"scat_species_x"
),
4018
DESCRIPTION
(
4019
"The size grid of one scattering species.\n"
4020
"\n"
4021
"The variable holds the sizes associated with one scattering species.\n"
4022
"The typical application of these data are as the size grid when\n"
4023
"calculating particle size distributions.\n"
4024
"\n"
4025
"The user must set this WSV as several quantities can be used as size,\n"
4026
"such as mass and maximum diamater.\n"
4027
"\n"
4028
"See also *scat_species_a*, for example usage of this WSV.\n"
4029
"\n"
4030
"Dimension: [number of scattering elements]\n"
),
4031
GROUP
(
"Vector"
)));
4032
4033
wsv_data.push_back(
4034
WsvRecord
(
NAME
(
"select_abs_species"
),
4035
DESCRIPTION
(R
"--(A select species tag group from *abs_species*
4036
4037
If set to empty, this selection is void. It must otherwise match perfectly a tag inside
4038
*abs_species* for that to be the selection.
4039
)--"),
4040
GROUP
(
"ArrayOfSpeciesTag"
),
ArrayOfSpeciesTag
{}));
4041
4042
wsv_data.push_back(
WsvRecord
(
4043
NAME
(
"sensor_checked"
),
4044
DESCRIPTION
(
4045
"OK-flag for sensor related variables.\n"
4046
"\n"
4047
"This variable flags that sensor variables are defined in a formally\n"
4048
"and practically correct way. For example, it checks for correct\n"
4049
"dimensions of *sensor_pos* and *sensor_los*.\n"
4050
"\n"
4051
"Shall be set by *sensor_checkedCalc*. See that WSM for treated WSVs.\n"
4052
"Only the value 1 is taken as OK.\n"
),
4053
GROUP
(
"Index"
), Index{0}));
4054
4055
wsv_data.push_back(
WsvRecord
(
4056
NAME
(
"sensor_description_amsu"
),
4057
DESCRIPTION
(
4058
"Sensor description for simple AMSU setup.\n"
4059
"\n"
4060
"This is a compact description of an AMSU-type sensor. The matrix\n"
4061
"contains one row for each instrument channel. Each row contains three\n"
4062
"elements: LO position [Hz], offset of the channel center from the LO\n"
4063
"[Hz], and channel width [Hz].\n"
4064
"\n"
4065
"Usage: Set by the user.\n"
4066
"\n"
4067
"Unit: All entries in Hz.\n"
4068
"\n"
4069
"Size: [number of channels, 3]\n"
),
4070
GROUP
(
"Matrix"
)));
4071
4072
wsv_data.push_back(
WsvRecord
(
4073
NAME
(
"sensor_los"
),
4074
DESCRIPTION
(
4075
"The sensor line-of-sight (LOS) for each measurement block.\n"
4076
"\n"
4077
"Line-of-sights are specified by giving the zenith and azimuth angles.\n"
4078
"Column 1 holds the zenith angle. This angle is simply the angle \n"
4079
"between the zenith and LOS directions. For 1D and 3D the valid\n"
4080
"range is [0 180], while for 2D angles down to -180 degrees are\n"
4081
"allowed. Negative angles signifies for 2D observations towards\n"
4082
"lower latitudes, while positive angles means observations towards\n"
4083
"higher latitudes. Nadir corresponds throughout to 180 degrees.\n"
4084
"\n"
4085
"The azimuth angle is given with respect to the meridian plane. That\n"
4086
"is, the plane going through the north and south poles. The valid \n"
4087
"range is [-180,180] where angles are counted clockwise; 0 means\n"
4088
"that the viewing or propagation direction is north-wise and +90 means\n"
4089
"that the direction of concern goes eastward.\n"
4090
"\n"
4091
"No azimuth angle shall be specified for 1D and 2D. This angle is in\n"
4092
"general of no concern for these atmospheric dimensionalities, but\n"
4093
"matter in some cases, such as with respect to the Doppler shift due\n"
4094
"to winds. For 1D the azimuth angle is then assumed to be 0 deg, i.e.\n"
4095
"the sensor is treated to be directed towards North. For 2D, the \n"
4096
"implied azimuth is 0 or 180, depending of the zenith angle is positive\n"
4097
"or negative.\n"
4098
"\n"
4099
"See further the ARTS user guide (AUG). Use the index to find where\n"
4100
"this variable is discussed. The variable is listed as a subentry to\n"
4101
"\"workspace variables\".\n"
4102
"\n"
4103
"Usage: Set by the user.\n"
4104
"\n"
4105
"Unit: [ degrees, degrees ]\n"
4106
"\n"
4107
"Size: [ number of measurement blocks, 1 or 2 ]\n"
),
4108
GROUP
(
"Matrix"
)));
4109
4110
wsv_data.push_back(
WsvRecord
(
4111
NAME
(
"sensor_los_geodetic"
),
4112
DESCRIPTION
(
4113
"As *sensor_los* but matching geodetic coordinates.\n"
4114
"\n"
4115
"For this version zenith is defined as the normal of the reference\n"
4116
"ellipsoid, in contrast to *sensor_los* zenith is along the direction\n"
4117
"towards the planets centre.\n"
4118
"\n"
4119
"Probably only useful for 3D.\n"
4120
"\n"
4121
"Usage: Set by the user.\n"
4122
"\n"
4123
"Unit: [ degrees, degrees ]\n"
4124
"\n"
4125
"Size: [ number of measurement blocks, 2 ]\n"
),
4126
GROUP
(
"Matrix"
)));
4127
4128
wsv_data.push_back(
WsvRecord
(
4129
NAME
(
"sensor_los_ecef"
),
4130
DESCRIPTION
(
4131
"As *sensor_los* but matching ECEF coordinates.\n"
4132
"\n"
4133
"For this version of sensor_los, each row shall hold [dx,dy,dz],\n"
4134
"where dx, dy and dz are the x, y and z components if the line-of-sight\n"
4135
"directions in ECEF coordinates. [dx,dy,dz] must form a unit vector (i.e.\n"
4136
"its 2-norm shall be 1).\n"
4137
"\n"
4138
"Probably only useful for 3D.\n"
4139
"\n"
4140
"Usage: Set by the user.\n"
4141
"\n"
4142
"Unit: [ m, m, m ]\n"
4143
"\n"
4144
"Size: [ number of measurement blocks, 3 ]\n"
),
4145
GROUP
(
"Matrix"
)));
4146
4147
wsv_data.push_back(
WsvRecord
(
4148
NAME
(
"sensor_norm"
),
4149
DESCRIPTION
(
4150
"Flag if sensor response should be normalised or not (0 or 1).\n"
4151
"\n"
4152
"If the flag is set to 1 each sensor response is normalised (where\n"
4153
"applicable). If set to 0 the sensor responses are left as provided.\n"
4154
"\n"
4155
"See further the ARTS user guide (AUG). Use the index to find where\n"
4156
"this variable is discussed. The variable is listed as a sub-entry to\n"
4157
"\"workspace variables\".\n"
4158
"\n"
4159
"Usage: Set by the user.\n"
),
4160
GROUP
(
"Index"
)));
4161
4162
wsv_data.push_back(
WsvRecord
(
4163
NAME
(
"sensor_pol"
),
4164
DESCRIPTION
(
4165
"A set of polarisation response angles.\n"
4166
"\n"
4167
"The standard choice to consider the polarisation response of the\n"
4168
"reciever is by *instrument_pol*, and this response becomes then part\n"
4169
"of *sensor_response*. However, that choice is not possible when the\n"
4170
"polartisation response changes between measurement blocks, and this\n"
4171
"variable combined with the *yApplySensorPol* offers an alternative for\n"
4172
"such situations. This WSV also allows defintion of an arbitrary\n"
4173
"polarisation angle.\n"
4174
"\n"
4175
"When applying the polarisation response by *yApplySensorPol*, this\n"
4176
"variable complements *sensor_pos* and *sensor_los*. This WSV matrix\n"
4177
"is also a matrix, that shall have the same number of rows as the other\n"
4178
"two matrices. \n"
4179
"\n"
4180
"The columns of *sensor_pol* corresponds to the channels/frequencies\n"
4181
"of the receiver. Each element gives the polarisation angle. A pure\n"
4182
"vertical response has the angle 0 deg, and pure horisontal 90 deg.\n"
4183
"If all U values (Stokes element 3) are zero, the sign of the angle does,\n"
4184
"not matter, and 0 and 180 degrees give the same result. With non-zero\n"
4185
"U, the result of e.g. -45 and +45 degrees differ.\n"
4186
"\n"
4187
"Note that a receiver with a linear response is assumed. Circular\n"
4188
"polarisation is not affected by any rotation.\n"
4189
"\n"
4190
"Usage: Set by the user.\n"
4191
"\n"
4192
"Unit: [ degrees ]\n"
4193
"\n"
4194
"Size: [ number of measurement blocks, number of channels/frequencies ]\n"
),
4195
GROUP
(
"Matrix"
)));
4196
4197
wsv_data.push_back(
WsvRecord
(
4198
NAME
(
"sensor_pos"
),
4199
DESCRIPTION
(
4200
"The sensor position for each measurement block.\n"
4201
"\n"
4202
"The sensor positions are specified as a matrix, where the number of\n"
4203
"columns shall be equal to *atmosphere_dim*. Column 1 shall contain\n"
4204
"the altitude of the sensor platform, column 2 the latitude and the \n"
4205
"last column the longitude. The number of rows corresponds to the\n"
4206
"number of measurement blocks.\n"
4207
"\n"
4208
"Valid range for latitudes in 3D is [-90,90], while for 2D any value\n"
4209
"is accepted. Accepted range for longitudes are [-360,360].\n"
4210
"\n"
4211
"See further the ARTS user guide (AUG). Use the index to find where\n"
4212
"this variable is discussed. The variable is listed as a subentry to\n"
4213
"\"workspace variables\".\n"
4214
"\n"
4215
"Usage: Set by the user.\n"
4216
"\n"
4217
"Unit: [ m, degrees, degrees ]\n"
4218
"\n"
4219
"Size: [ number of measurement blocks, atmosphere_dim ]\n"
),
4220
GROUP
(
"Matrix"
)));
4221
4222
wsv_data.push_back(
WsvRecord
(
4223
NAME
(
"sensor_pos_geodetic"
),
4224
DESCRIPTION
(
4225
"As *sensor_pos* but using geodetic coordinates.\n"
4226
"\n"
4227
"For this version the second column shall hold geodetic latitudes,\n"
4228
"in contrast to *sensor_pos* where the geocentric system us used.\n"
4229
"Please note that also the altitude (column 1) differs between\n"
4230
"the two versions of the variables. Here the altitude is with\n"
4231
"taken along the local nadir, while for *sensor_pos* it is taken\n"
4232
"along the direction towards the planets centre.\n"
4233
"\n"
4234
"Probably only useful for 3D.\n"
4235
"\n"
4236
"Usage: Set by the user.\n"
4237
"\n"
4238
"Unit: [ m, degrees, degrees ]\n"
4239
"\n"
4240
"Size: [ number of measurement blocks, atmosphere_dim ]\n"
),
4241
GROUP
(
"Matrix"
)));
4242
4243
wsv_data.push_back(
WsvRecord
(
4244
NAME
(
"sensor_pos_ecef"
),
4245
DESCRIPTION
(
4246
"As *sensor_pos* but using ECEF coordinates.\n"
4247
"\n"
4248
"The sensor position is here specified as earth-centered, earth-fixed\n"
4249
"(ECEF) coordinates (using standard definition of ECEF).\n"
4250
"\n"
4251
"Probably only useful for 3D.\n"
4252
"\n"
4253
"Column 1, 2 and 3 shall hold x, y and z coordinate, respectively.\n"
4254
"\n"
4255
"Usage: Set by the user.\n"
4256
"\n"
4257
"Unit: [ m, m, m ]\n"
4258
"\n"
4259
"Size: [ number of measurement blocks, atmosphere_dim ]\n"
),
4260
GROUP
(
"Matrix"
)));
4261
4262
wsv_data.push_back(
WsvRecord
(
4263
NAME
(
"sensor_response"
),
4264
DESCRIPTION
(
4265
"The matrix modelling the total sensor response.\n"
4266
"\n"
4267
"This matrix describes the sensor respons for one measurement block\n"
4268
"The response is assumed to be identical for each such block.\n"
4269
"\n"
4270
"The matrix is the product of all the individual sensor response\n"
4271
"matrices. Therefore its dimensions are depending on the total sensor\n"
4272
"configuration. The *sensor_response* has to initialised by the \n"
4273
"*sensor_responseInit* method.\n"
4274
"\n"
4275
"Usage: Output/input to the *sensor_response...* methods.\n"
4276
"\n"
4277
"Units: -\n"
4278
"\n"
4279
"Dimension: See the individual *sensor_response...* method. \n"
),
4280
GROUP
(
"Sparse"
)));
4281
4282
wsv_data.push_back(
WsvRecord
(
4283
NAME
(
"sensor_response_aa"
),
4284
DESCRIPTION
(
4285
"The relative azimuth angles associated with the output of\n"
4286
"*sensor_response*.\n"
4287
"\n"
4288
"The variable shall not be set manually, it will be set together with\n"
4289
"*sensor_response* by sensor response WSMs.\n"
4290
"\n"
4291
"Usage: Set by sensor response methods.\n"
4292
"\n"
4293
"Unit: [ degrees ]\n"
),
4294
GROUP
(
"Vector"
)));
4295
4296
wsv_data.push_back(
WsvRecord
(
4297
NAME
(
"sensor_response_agenda"
),
4298
DESCRIPTION
(
4299
"Agenda providing the sensor response data for a measurement block.\n"
),
4300
GROUP
(
"Agenda"
)));
4301
4302
wsv_data.push_back(
WsvRecord
(
4303
NAME
(
"sensor_response_dlos"
),
4304
DESCRIPTION
(
4305
"The relative zenith and azimuth angles associated with the output of\n"
4306
"*sensor_response*.\n"
4307
"\n"
4308
"Definition of angles match *mblock_dlos*. Works otherwise as\n"
4309
"*sensor_response_f*.\n"
4310
"\n"
4311
"The variable shall not be set manually, it will be set together with\n"
4312
"*sensor_response* by sensor response WSMs.\n"
4313
"\n"
4314
"Usage: Set by sensor response methods.\n"
4315
"\n"
4316
"Unit: [ degrees ]\n"
),
4317
GROUP
(
"Matrix"
)));
4318
4319
wsv_data.push_back(
WsvRecord
(
4320
NAME
(
"sensor_response_dlos_grid"
),
4321
DESCRIPTION
(
4322
"The zenith and azimuth angles associated with *sensor_response*.\n"
4323
"\n"
4324
"A variable for communication between sensor response WSMs. Matches\n"
4325
"initially *mblock_dlos*, but is later adjusted according to the\n"
4326
"sensor specifications. Only defined when a common grid exists. Values\n"
4327
"are here not repeated as in *sensor_response_dlos*.\n"
4328
"\n"
4329
"Usage: Set by sensor response methods.\n"
4330
"\n"
4331
"Unit: [ degrees ]\n"
),
4332
GROUP
(
"Matrix"
)));
4333
4334
wsv_data.push_back(
WsvRecord
(
4335
NAME
(
"sensor_response_f"
),
4336
DESCRIPTION
(
4337
"The frequencies associated with the output of *sensor_response*.\n"
4338
"\n"
4339
"This vector gives the frequency for each element of the measurement\n"
4340
"vector produced inside one measurement block. The frequencies of\n"
4341
"the total measurement vector, *y*, are obtained by repeating these\n"
4342
"frequencies n times, where n is the number of measurement blocks\n"
4343
"(e.g. the number of rows in *sensor_pos*).\n"
4344
"\n"
4345
"The variable shall not be set manually, it will be set together with\n"
4346
"*sensor_response* by sensor response WSMs.\n"
4347
"\n"
4348
"Usage: Set by sensor response methods.\n"
4349
"\n"
4350
"Unit: [ Hz ]\n"
),
4351
GROUP
(
"Vector"
)));
4352
4353
wsv_data.push_back(
WsvRecord
(
4354
NAME
(
"sensor_response_f_grid"
),
4355
DESCRIPTION
(
4356
"The frequency grid associated with *sensor_response*.\n"
4357
"\n"
4358
"A variable for communication between sensor response WSMs. Matches\n"
4359
"initially *f_grid*, but is later adjusted according to the sensor\n"
4360
"specifications. Only defined when a common grid exists. Values are\n"
4361
"here not repeated as in *sensor_response_f*\n"
4362
"\n"
4363
"Usage: Set by sensor response methods.\n"
4364
"\n"
4365
"Unit: [ Hz ]\n"
),
4366
GROUP
(
"Vector"
)));
4367
4368
wsv_data.push_back(
WsvRecord
(
4369
NAME
(
"sensor_response_pol"
),
4370
DESCRIPTION
(
4371
"The polarisation states associated with the output of\n"
4372
"*sensor_response*.\n"
4373
"\n"
4374
"Works basically as *sensor_response_f*.\n"
4375
"\n"
4376
"See *instrument_pol* for coding of polarisation states.\n"
4377
"\n"
4378
"The variable shall not be set manually, it will be set together with\n"
4379
"*sensor_response* by sensor response WSMs.\n"
4380
"\n"
4381
"Usage: Set by sensor response methods.\n"
4382
"\n"
4383
"Unit: [ - ]\n"
),
4384
GROUP
(
"ArrayOfIndex"
)));
4385
4386
wsv_data.push_back(
WsvRecord
(
4387
NAME
(
"sensor_response_pol_grid"
),
4388
DESCRIPTION
(
4389
"The \"polarisation grid\" associated with *sensor_response*.\n"
4390
"\n"
4391
"A variable for communication between sensor response WSMs. It is\n"
4392
"initially 1:stokes_dim, but can later adjusted according to the \n"
4393
"sensor specifications. Only defined when a common grid exists. \n"
4394
"\n"
4395
"See *instrument_pol* for coding of polarisation states.\n"
4396
"\n"
4397
"Usage: Set by sensor response methods.\n"
4398
"\n"
4399
"Unit: [ - ]\n"
),
4400
GROUP
(
"ArrayOfIndex"
)));
4401
4402
wsv_data.push_back(
WsvRecord
(
4403
NAME
(
"sensor_time"
),
4404
DESCRIPTION
(
4405
"The time for each measurement block.\n"
4406
"\n"
4407
"This WSV is used when a time must be assigned to the measurements.\n"
4408
"\n"
4409
"Usage: Set by the user.\n"
4410
"\n"
4411
"Unit: [ UTC date and time ]\n"
4412
"\n"
4413
"Size: [ number of measurement blocks ]\n"
),
4414
GROUP
(
"ArrayOfTime"
)));
4415
4416
wsv_data.push_back(
WsvRecord
(
4417
NAME
(
"sideband_mode"
),
4418
DESCRIPTION
(
4419
"Description of target sideband.\n"
4420
"\n"
4421
"A text string describing which of the two sidebands (of a heterodyne\n"
4422
"instrument) that can be seen as \"main\" band. Possible choices are:\n"
4423
" \"lower\" : Low frequency sideband shall be considered as target.\n"
4424
" \"upper\" : High frequency sideband shall be considered as target.\n"
4425
"\n"
4426
"Usage: Set by the user.\n"
),
4427
GROUP
(
"String"
)));
4428
4429
wsv_data.push_back(
WsvRecord
(
4430
NAME
(
"sideband_mode_multi"
),
4431
DESCRIPTION
(
4432
"Description of target sideband for a multiple LO receiver.\n"
4433
"\n"
4434
"As *sideband_mode* but handles an instrument with several LO chains.\n"
4435
"See further *lo_multi* and *sideband_response_multi*. This length of\n"
4436
"this array must match the size of those WSVs.\n"
4437
"\n"
4438
"Usage: Set by the user.\n"
),
4439
GROUP
(
"ArrayOfString"
)));
4440
4441
wsv_data.push_back(
WsvRecord
(
4442
NAME
(
"sideband_response"
),
4443
DESCRIPTION
(
4444
"Description of (mixer) sideband response.\n"
4445
"\n"
4446
"This variable describes the response of each sideband of a heterodyne\n"
4447
"receiver. The response is given as a GriddedField1, with frequency as the\n"
4448
"grid. The actual data describe the sideband filter function at each\n"
4449
"frequency grid point. An interpolation is applied to obtain the\n"
4450
"response for other frequencies.\n"
4451
"\n"
4452
"The frequency grid should be given in terms of IF, with end points\n"
4453
"symmetrically placed around zero. That is, the grid must contain\n"
4454
"both negative and positive values. The sideband response (after \n"
4455
"summation with *lo*) is not allowed to extend outside the range\n"
4456
"for which spectral data exist (normally determined by *f_grid*).\n"
4457
"\n"
4458
"Usage: Set by the user.\n"
4459
"\n"
4460
"Dimensions: \n"
4461
" GriddedField1:\n"
4462
" Vector f_grid[N_f]\n"
4463
" Vector data[N_f]\n"
),
4464
GROUP
(
"GriddedField1"
)));
4465
4466
wsv_data.push_back(
WsvRecord
(
4467
NAME
(
"sideband_response_multi"
),
4468
DESCRIPTION
(
4469
"Description of multiple (mixer) sideband responses.\n"
4470
"\n"
4471
"As *sideband_response* but describes an instrument with multiple\n"
4472
"mixers. An array element for each LO. The size of this variable and\n"
4473
"*lo_multi* shall match.\n"
4474
"\n"
4475
"Unit: Hz\n"
4476
"\n"
4477
"Usage: Set by the user.\n"
),
4478
GROUP
(
"ArrayOfGriddedField1"
)));
4479
4480
wsv_data.push_back(
WsvRecord
(
4481
NAME
(
"spectral_irradiance_field"
),
4482
DESCRIPTION
(
4483
"Spectral irradiance field.\n"
4484
"\n"
4485
"Spectral irradiance is the radiative power per unit area\n"
4486
"and unit frequency. The last dimension denotes the hemispheres.\n"
4487
"The first component denotes the downward direction and the second\n"
4488
"component denotes the upward direction.\n"
4489
"\n"
4490
"Units: W m^-2 Hz^-1\n"
4491
"\n"
4492
" Size: [ Nf,\n"
4493
" p_grid, \n"
4494
" lat_grid, \n"
4495
" lon_grid, \n"
4496
" 2 ]\n"
),
4497
GROUP
(
"Tensor5"
)));
4498
4499
wsv_data.push_back(
WsvRecord
(
4500
NAME
(
"spectral_radiance_field"
),
4501
DESCRIPTION
(
4502
"Spectral radiance field.\n"
4503
"\n"
4504
"This variable holds a calculation of the radiance field through\n"
4505
"the atmosphere, for the directions matching *za_grid* and *aa_grid*.\n"
4506
"\n"
4507
"Don't confuse this variable with *cloudbox_field*. That varinale also\n"
4508
"holds a field of spectral radiances, but is restricted to the cloud box.\n"
4509
"\n"
4510
"Units: W / (m^2 Hz sr)\n"
4511
"\n"
4512
" Size: [f_grid,\n"
4513
" p_grid, \n"
4514
" lat_grid, \n"
4515
" lon_grid, \n"
4516
" za_grid,\n"
4517
" aa_grid,\n"
4518
" stokes_dim ]\n"
4519
"\n"
4520
"Note: For 1D, the size of the latitude, longitude and azimuth\n"
4521
"dimension (N_aa) are all 1.\n"
),
4522
GROUP
(
"Tensor7"
)));
4523
4524
wsv_data.push_back(
WsvRecord
(
4525
NAME
(
"specific_heat_capacity"
),
4526
DESCRIPTION
(
"Specific heat capacity.\n"
4527
"\n"
4528
"It is the heat capacity per unit \n"
4529
"mass of a material.\n"
4530
"\n"
4531
"Units: K J^-1 kg^-1\n"
4532
"\n"
4533
"Size: [ p_grid, \n"
4534
" lat_grid, \n"
4535
" lon_grid] \n"
),
4536
GROUP
(
"Tensor3"
)));
4537
4538
wsv_data.push_back(
WsvRecord
(
4539
NAME
(
"specular_los"
),
4540
DESCRIPTION
(
4541
"The specular direction (for reflection by a flat surface).\n"
4542
"\n"
4543
"The specular direction as a standard line-of-sight vector, consisting\n"
4544
"of a zenith and azimuth angle (the later only for 3D).\n"
4545
"\n"
4546
"Units: degrees\n"
4547
"\n"
4548
"Size: [ 1 or 2 ]\n"
),
4549
GROUP
(
"Vector"
)));
4550
4551
wsv_data.push_back(
WsvRecord
(
4552
NAME
(
"spt_calc_agenda"
),
4553
DESCRIPTION
(
4554
"Agenda calculating single scattering properties from the amplitude matrix.\n"
),
4555
GROUP
(
"Agenda"
)));
4556
4557
wsv_data.push_back(
4558
WsvRecord
(
NAME
(
"stokes_dim"
),
4559
DESCRIPTION
(
"The dimensionality of the Stokes vector (1-4).\n"
4560
"\n"
4561
"Usage: Set by the user.\n"
),
4562
GROUP
(
"Index"
)));
4563
4564
wsv_data.push_back(
WsvRecord
(
4565
NAME
(
"suns_do"
),
4566
DESCRIPTION
(
"Flag to activate the sun(s).\n"
),
4567
GROUP
(
"Index"
), Index{0}));
4568
4569
wsv_data.push_back(
WsvRecord
(
4570
NAME
(
"suns"
),
4571
DESCRIPTION
(
"Array of Sun.\n"
4572
"\n"
4573
"This variable describes a list of suns.\n"
4574
"Each sun is described by a struct with its spectrum, radius,\n"
4575
"distance from center of planet to center of sun,\n"
4576
"temperature (if possible), latitude in the sky of the planet,\n"
4577
"longitude in the sky of the planet and the type\n"
),
4578
GROUP
(
"ArrayOfSun"
),
ArrayOfSun
{}));
4579
4580
wsv_data.push_back(
WsvRecord
(
4581
NAME
(
"stokes_rotation"
),
4582
DESCRIPTION
(
4583
"Rotation of the Stokes H and V directions.\n"
4584
"\n"
4585
"This variable allows to introduce a rotation of the Stokes coordinate\n"
4586
"system. Such a rotation could be needed to handle the scanning\n"
4587
"procedure of some instruments, such as AMSU-A. The variable is\n"
4588
"applied by the *sensor_responseStokesRotation* WSM.\n"
4589
"\n"
4590
"The rotation is given as an angle for each direction. In general, the\n"
4591
"number of rotations to be specified follows *sensor_response_dlos_grid*.\n"
4592
"In more detail, if no antenna is included or a 1D antenna is used, and\n"
4593
"the rotation is applied before the antenna is included in \n"
4594
"*sensor_response*, there should be one angle for each row of\n"
4595
"*mblock_dlos*. After inclusion of an antenna response, the relevant\n"
4596
"number of angles is determined by the rows of *antenna_dlos*.\n"
4597
"\n"
4598
"It is assumed that the rotation is common for all frequency elements.\n"
4599
"\n"
4600
"Units: degrees\n"
4601
"\n"
4602
"Size: [ number of directions ]\n"
4603
"\n"
4604
"Usage: Set by the user.\n"
),
4605
GROUP
(
"Vector"
)));
4606
4607
wsv_data.push_back(
WsvRecord
(
4608
NAME
(
"surface_complex_refr_index"
),
4609
DESCRIPTION
(
4610
"Complex refractive index of the surface, at a single point.\n"
4611
"\n"
4612
"See *complex_refr_index* for the expected format and how the data\n"
4613
"are treated.\n"
),
4614
GROUP
(
"GriddedField3"
)));
4615
4616
wsv_data.push_back(
WsvRecord
(
4617
NAME
(
"surface_emission"
),
4618
DESCRIPTION
(
4619
"The emission from the surface.\n"
4620
"\n"
4621
"See specific methods generating *surface_emission* and the user\n"
4622
"guide for more information.\n"
4623
"\n"
4624
"Dimensions: [ f_grid, stokes_dim ]\n"
),
4625
GROUP
(
"Matrix"
)));
4626
4627
wsv_data.push_back(
WsvRecord
(
4628
NAME
(
"surface_los"
),
4629
DESCRIPTION
(
4630
"Downwelling radiation directions to consider in surface reflection.\n"
4631
"\n"
4632
"The directions are given as a zenith and azimuth angle (the later\n"
4633
"only for 3D), following the definition of line-of-sights.\n"
4634
"\n"
4635
"Units: degrees\n"
4636
"\n"
4637
"Size: [ any number, 1 or 2 ]\n"
),
4638
GROUP
(
"Matrix"
)));
4639
4640
wsv_data.push_back(
WsvRecord
(
4641
NAME
(
"surface_normal"
),
4642
DESCRIPTION
(
4643
"The normal vector for a point at the surface.\n"
4644
"\n"
4645
"The vector is given as a zenith and azimuth (the later only for 3D)\n"
4646
"angle, following the definition of line-of-sights. For example,\n"
4647
"this vector is always [0] for 1D, as there is no surface topography\n"
4648
"for this atmospheric dimensionality.\n"
4649
"\n"
4650
"Units: degrees\n"
4651
"\n"
4652
"Size: [ 1 or 2 ]\n"
),
4653
GROUP
(
"Vector"
)));
4654
4655
wsv_data.push_back(
WsvRecord
(
4656
NAME
(
"surface_props_data"
),
4657
DESCRIPTION
(
4658
"Various surface properties.\n"
4659
"\n"
4660
"A general container for passing data to surface methods. Each surface\n"
4661
"property shall be specified on the grid set by *lat_grid* and *lon_grid*.\n"
4662
"\n"
4663
"The properties are identified by the accompanying variable\n"
4664
"*surface_props_names*.\n"
4665
"\n"
4666
"Size: [ number of props., lat_grid, lon_grid ]\n"
),
4667
GROUP
(
"Tensor3"
), Tensor3{}));
4668
4669
wsv_data.push_back(
WsvRecord
(
4670
NAME
(
"surface_props_names"
),
4671
DESCRIPTION
(
4672
"Name on surface properties found in *surface_props_data*.\n"
4673
"\n"
4674
"Each string names a property in *surface_props_data*. The user is free\n"
4675
"to include data with any name, but the surface methods making use of\n"
4676
"*surface_props_data* expect data to be named in a specific way. See\n"
4677
"the documentation of each method for recognised choices.\n"
4678
"\n"
4679
"Size: [ number of props. ]\n"
),
4680
GROUP
(
"ArrayOfString"
),
ArrayOfString
{}));
4681
4682
wsv_data.push_back(
WsvRecord
(
4683
NAME
(
"surface_rmatrix"
),
4684
DESCRIPTION
(
4685
"The reflection coefficients for the directions given by\n"
4686
"*surface_los* to the direction of interest.\n"
4687
"\n"
4688
"The rows and columns of this tensor holds the reflection\n"
4689
"coefficient matrix for one frequency and one LOS. The reflection\n"
4690
"coefficients shall take into accound the angular weighting of the\n"
4691
"downwelling radiation.\n"
4692
"\n"
4693
"See specific methods generating *surface_rmatrix* and the user guide\n"
4694
"for more information.\n"
4695
"\n"
4696
"Usage: Input to methods for *surface_rtprop_agenda*.\n"
4697
"\n"
4698
"Units: -\n"
4699
"\n"
4700
"Dimensions: [ surface_los, f_grid, stokes_dim, stokes_dim ]\n"
),
4701
GROUP
(
"Tensor4"
)));
4702
4703
wsv_data.push_back(
WsvRecord
(
4704
NAME
(
"surface_rtprop_agenda"
),
4705
DESCRIPTION
(
"Agenda providing radiative properties of the surface.\n"
),
4706
GROUP
(
"Agenda"
)));
4707
4708
wsv_data.push_back(
WsvRecord
(
4709
NAME
(
"surface_rtprop_agenda_array"
),
4710
DESCRIPTION
(
4711
"Description of surface radiative properties, for each surface type.\n"
),
4712
GROUP
(
"ArrayOfAgenda"
)));
4713
4714
wsv_data.push_back(
WsvRecord
(
4715
NAME
(
"surface_skin_t"
),
4716
DESCRIPTION
(
4717
"Surface skin temperature.\n"
4718
"\n"
4719
"This temperature shall be selected considering the radiative\n"
4720
"properties of the surface, and can differ from the \"bulk\"\n"
4721
"temperature.\n"
4722
"\n"
4723
"Usage: Input to methods for *surface_rtprop_agenda*.\n"
),
4724
GROUP
(
"Numeric"
)));
4725
4726
wsv_data.push_back(
WsvRecord
(
4727
NAME
(
"surface_reflectivity"
),
4728
DESCRIPTION
(
4729
"Surface reflectivity, for a given position and angle.\n"
4730
"\n"
4731
"This variable describes the surface reflectivity at one position\n"
4732
"and one incidence angle. It works as *surface_scalar_reflectivity*\n"
4733
"but is also defined for vector radiative transfer.\n"
4734
"\n"
4735
"The first dimension of the variable shall either match *f_grid* or\n"
4736
"be 1. The later case is interpreted as the reflectivity is the same\n"
4737
"for all frequencies.\n"
4738
"\n"
4739
"Usage: Input to some surface properties methods.\n"
4740
"\n"
4741
"Dimensions: [ f_grid or 1, stokes_dim, stokes_dim]\n"
),
4742
GROUP
(
"Tensor3"
)));
4743
4744
wsv_data.push_back(
WsvRecord
(
4745
NAME
(
"surface_rv_rh"
),
4746
DESCRIPTION
(
4747
"Surface reflectivity, described by rv and rh (power) reflectivities.\n"
4748
"\n"
4749
"This variable describes the surface reflectivity at one position\n"
4750
"and one incidence angle. For this position and angle, one or multiple\n"
4751
"combinations of rv and rh are specified, where rv and rh are the\n"
4752
"reflectivity for vertical and horizontal polarisation, respectively.\n"
4753
"\n"
4754
"This matrix shall always have two columns, where the first column\n"
4755
"holds rv values, and the second column rh. It is up to the user to\n"
4756
"make sure that data are put into the correct column, this can not\n"
4757
"be checked bu the methods using this WSV.\n"
4758
"\n"
4759
"The number of rows shall either match *f_grid* or be 1. The later case\n"
4760
"is interpreted as the reflectivities are the same for all frequencies.\n"
4761
"\n"
4762
"Usage: Input to some surface properties methods.\n"
4763
"\n"
4764
"Dimensions: [ f_grid or 1, 2]\n"
),
4765
GROUP
(
"Matrix"
)));
4766
4767
wsv_data.push_back(
WsvRecord
(
4768
NAME
(
"surface_scalar_reflectivity"
),
4769
DESCRIPTION
(
4770
"Surface reflectivity, assuming it can be described as a scalar value.\n"
4771
"\n"
4772
"This variable describes the surface reflectivity at one position\n"
4773
"and one incidence angle. For this position and angle, one or multiple\n"
4774
"scalar reflectivities are specified.\n"
4775
"\n"
4776
"The length of the vector shall either match *f_grid* or be 1. The \n"
4777
"later case is interpreted as the reflectivity is the same for all\n"
4778
"frequencies (ie. matches a constant vector).\n"
4779
"\n"
4780
"Usage: Input to some surface properties methods.\n"
4781
"\n"
4782
"Dimensions: [ f_grid or 1]\n"
),
4783
GROUP
(
"Vector"
)));
4784
4785
wsv_data.push_back(
WsvRecord
(
4786
NAME
(
"surface_type_mask"
),
4787
DESCRIPTION
(
4788
"Classification of the surface using a type coding.\n"
4789
"\n"
4790
"There is no fixed type coding, it is up to the user to set up\n"
4791
"a system consistent with *surface_rtprop_agenda_array*. A value\n"
4792
"of 0 in *surface_type_mask* means that element 0 in the agenda\n"
4793
"array is valid for that position etc.\n"
4794
"\n"
4795
"Dimensions: \n"
4796
" GriddedField2:\n"
4797
" Vector Latitude [N_lat]\n"
4798
" Vector Longitude [N_lon]\n"
4799
" Matrix data [N_lat][N_lon]\n"
),
4800
GROUP
(
"GriddedField2"
)));
4801
4802
wsv_data.push_back(
4803
WsvRecord
(
NAME
(
"surface_type_mix"
),
4804
DESCRIPTION
(
4805
"Gives the fraction of different surface types.\n"
4806
"\n"
4807
"For cases when the surface RT properties are taken from\n"
4808
"*surface_rtprop_agenda_array*, this variable specifies to\n"
4809
"what extent each surface type has contributed to the surface\n"
4810
"RT variables, such as *surface_emission* and *surface_skin_t*.\n"
4811
"\n"
4812
"The length of this vector follows *surface_rtprop_agenda_array*\n"
4813
"and the sum of the elements is 1. The first element in the\n"
4814
"vector matches the first agenda element, and so on."
),
4815
GROUP
(
"Vector"
)));
4816
4817
wsv_data.push_back(
WsvRecord
(
4818
NAME
(
"telsem_atlases"
),
4819
DESCRIPTION
(
4820
"TELSEM 2 emissivity atlases.\n"
4821
"\n"
4822
"Array should be filled with 12\n"
4823
"atlases, one for each month. Index 0 is January, index 11 December.\n"
4824
""
),
4825
GROUP
(
"ArrayOfTelsemAtlas"
)));
4826
4827
wsv_data.push_back(
WsvRecord
(
4828
NAME
(
"tessem_neth"
),
4829
DESCRIPTION
(
4830
//FIXMEDOC Add more documentation?
4831
"TESSEM2 neural network parameters for horizontal polarization.\n"
),
4832
GROUP
(
"TessemNN"
)));
4833
4834
wsv_data.push_back(
WsvRecord
(
4835
NAME
(
"tessem_netv"
),
4836
DESCRIPTION
(
4837
//FIXMEDOC Add more documentation?
4838
"TESSEM2 neural network parameters for vertical polarization.\n"
),
4839
GROUP
(
"TessemNN"
)));
4840
4841
wsv_data.push_back(
4842
WsvRecord
(
NAME
(
"test_agenda"
),
4843
DESCRIPTION
(
"A dummy agenda for testing purposes.\n"
4844
"\n"
4845
"Only used for testing by developers.\n"
),
4846
GROUP
(
"Agenda"
)));
4847
4848
wsv_data.push_back(
4849
WsvRecord
(
NAME
(
"test_agenda_array"
),
4850
DESCRIPTION
(
"Array of agenda for TestArrayOfAgenda case.\n"
4851
"\n"
4852
"Only used for testing by developers.\n"
),
4853
GROUP
(
"ArrayOfAgenda"
)));
4854
4855
wsv_data.push_back(
WsvRecord
(
4856
NAME
(
"time"
),
4857
DESCRIPTION
(
"A UTC time point.\n"
),
4858
GROUP
(
"Time"
)));
4859
4860
wsv_data.push_back(
WsvRecord
(
4861
NAME
(
"timer"
),
4862
DESCRIPTION
(
"Stores the starting time for time measurements.\n"
),
4863
GROUP
(
"Timer"
)));
4864
4865
wsv_data.push_back(
WsvRecord
(
4866
NAME
(
"time_grid"
),
4867
DESCRIPTION
(
"A grid of times. Should be increasing\n"
),
4868
GROUP
(
"ArrayOfTime"
)));
4869
4870
wsv_data.push_back(
WsvRecord
(
4871
NAME
(
"time_stamps"
),
4872
DESCRIPTION
(
"A set of times. Can be in random order\n"
),
4873
GROUP
(
"ArrayOfTime"
)));
4874
4875
wsv_data.push_back(
WsvRecord
(
4876
NAME
(
"transmitter_pos"
),
4877
DESCRIPTION
(
4878
"Transmitter positions.\n"
4879
"\n"
4880
"Used for radio link calculations and gives then the position of the\n"
4881
"transmitting device. The corresponding positions of the receiver are\n"
4882
"given by *sensor_pos*. The number of rows in *transmitter_pos* and\n"
4883
"*sensor_pos* must be equal.\n"
4884
"\n"
4885
"This WSV is also defined as *sensor_pos* regarding the content of the\n"
4886
"columns, accepted range for latitudes etc. With one exception, this\n"
4887
"WSV is demanded to have two columns also for 1D. The additional\n"
4888
"second value is the angular distance between the transmitter and the\n"
4889
"reciver. This angle is defined as \"latitude\" for 2D, with the\n"
4890
"sensor fixed at the angle of 0 degree.\n"
4891
"\n"
4892
"Each row this matrix defines *rte_pos2* for the measurement block,\n"
4893
"exactly as *sensor_pos* is translated to *rte_pos*.\n"
4894
"\n"
4895
"If no transmitter is involved in the calculations, the variable can\n"
4896
"be set to be empty.\n"
4897
"\n"
4898
"Usage: Set by the user.\n"
4899
"\n"
4900
"Unit: [ m, degrees, degrees ]\n"
),
4901
GROUP
(
"Matrix"
), Matrix{}));
4902
4903
wsv_data.push_back(
WsvRecord
(
4904
NAME
(
"t_field"
),
4905
DESCRIPTION
(
4906
"The field of atmospheric temperatures.\n"
4907
"\n"
4908
"This variable gives the atmospheric temperature at each crossing of\n"
4909
"the pressure, latitude and longitude grids.\n"
4910
"\n"
4911
"The temperature for a point between the grid crossings is obtained \n"
4912
"by (multi-)linear interpolation of the *t_field*.\n"
4913
"\n"
4914
"See further the ARTS user guide (AUG). Use the index to find where\n"
4915
"this variable is discussed. The variable is listed as a subentry to\n"
4916
"\"workspace variables\".\n"
4917
"\n"
4918
"Usage: Output of *AtmFieldsCalc*.\n"
4919
"\n"
4920
"Unit: K\n"
4921
"\n"
4922
"Dimensions: [ p_grid, lat_grid, lon_grid ]\n"
),
4923
GROUP
(
"Tensor3"
)));
4924
4925
wsv_data.push_back(
WsvRecord
(
4926
NAME
(
"nlte_field"
),
4927
DESCRIPTION
(
4928
"The field of NLTE temperatures and/or ratios.\n"
4929
"\n"
4930
"This variable gives the NLTE temperature/ratio at each crossing of\n"
4931
"the pressure, latitude and longitude grids. The size of the\n"
4932
"array is the number of NLTE levels in all molecules.\n"
4933
"\n"
4934
"The temperature/ratio for a point between the grid crossings is obtained \n"
4935
"by (multi-)linear interpolation of the *nlte_field*.\n"
4936
"\n"
4937
"There are two types of NLTE computations available in ARTS. One from\n"
4938
"giving excitiation temperatures that makes the absorption/emission diverge\n"
4939
"from LTE. The other is to use the absolute ratios of upper-to-lower states at\n"
4940
"the levels of interest.\n"
4941
""
4942
"\n"
4943
"Units: [ K or \% ]]\n"
4944
"\n"
4945
"Dimensions: [ NLTE levels, p_grid, lat_grid, lon_grid ] or [ 0, 0, 0, 0 ]\n"
),
4946
GROUP
(
"EnergyLevelMap"
),
EnergyLevelMap
{}));
4947
4948
wsv_data.push_back(
WsvRecord
(
4949
NAME
(
"t_field_raw"
),
4950
DESCRIPTION
(
4951
"Raw data for atmospheric temperatures.\n"
4952
"\n"
4953
"This variable gives the atmospheric temperature as stored in the \n"
4954
"database for the atmospheric scenarios.\n"
4955
"\n"
4956
"See further the ARTS user guide (AUG). Use the index to find where\n"
4957
"this variable is discussed. The variable is listed as a subentry to\n"
4958
"\"workspace variables\".\n"
4959
"\n"
4960
"Usage: Set by the user by choosing a climatology.\n"
4961
"\n"
4962
"Unit: K\n"
4963
"\n"
4964
"Size GriddedField3 \n "
4965
" [N_p] \n"
4966
" [N_lat] \n"
4967
" [N_lon] \n"
4968
" [N_p, N_lat, N_lon] \n"
),
4969
GROUP
(
"GriddedField3"
)));
4970
4971
wsv_data.push_back(
WsvRecord
(
4972
NAME
(
"nlte_field_raw"
),
4973
(
"Raw data for NLTE temperatures and/or ratios.\n"
4974
"\n"
4975
"This variable gives the NLTE temperature/ratio as stored in the \n"
4976
"database for the atmospheric scenarios.\n"
4977
"\n"
4978
"See further the ARTS user guide (AUG). Use the index to find where\n"
4979
"this variable is discussed. The variable is listed as a subentry to\n"
4980
"\"workspace variables\".\n"
4981
"\n"
4982
"Usage: Set by the user by choosing a climatology.\n"
4983
"\n"
4984
"Unit: K\n"
4985
"\n"
4986
"Size ArrayOfGriddedField3 \n "
4987
"array:\n"
4988
" [NLTE levels] or [ 0 ]\n"
4989
"fields:\n"
4990
" [N_p] \n"
4991
" [N_lat] \n"
4992
" [N_lon] \n"
4993
" [N_p, N_lat, N_lon] \n"
),
4994
GROUP
(
"ArrayOfGriddedField3"
)));
4995
4996
wsv_data.push_back(
WsvRecord
(
4997
NAME
(
"t_surface"
),
4998
DESCRIPTION
(
4999
"The surface temperature.\n"
5000
"\n"
5001
"This variable holds the temperature of the surface at each latitude\n"
5002
"and longitude grid crossing. The normal case should be that this \n"
5003
"temperature field is interpolated to obtain *surface_skin_t*.\n"
5004
"Accordingly, for 1D cases it could be a better idea to specify\n"
5005
"*surface_skin_t* directly.\n"
5006
"\n"
5007
"These temperature shall be selected considering the radiative\n"
5008
"properties of the surface, and can differ from the \"bulk\"\n"
5009
"temperatures.\n"
5010
"\n"
5011
"Usage: Set by user.\n"
5012
"\n"
5013
"Unit: K\n"
5014
"\n"
5015
"Dimensions: [ lat_grid, lon_grid ]\n"
),
5016
GROUP
(
"Matrix"
)));
5017
5018
wsv_data.push_back(
WsvRecord
(
5019
NAME
(
"verbosity"
),
5020
DESCRIPTION
(
5021
"ARTS verbosity.\n"
5022
"\n"
5023
"The verbosity variable is implicitly passed to all workspace methods.\n"
5024
"It can be used to dynamically control the reporting level during\n"
5025
"runtime.\n"
5026
"\n"
5027
"Usage: Set by user.\n"
5028
"\n"
5029
"See also: *verbosityInit*\n"
5030
" *verbositySet*\n"
5031
" *verbositySetAgenda*\n"
5032
" *verbositySetScreen*\n"
5033
" *verbositySetFile*\n"
),
5034
GROUP
(
"Verbosity"
)));
5035
5036
wsv_data.push_back(
WsvRecord
(
5037
NAME
(
"vmr_field"
),
5038
DESCRIPTION
(
5039
"VMR field.\n"
5040
"\n"
5041
"This variable gives the volume mixing ratio of the chosen gaseous \n"
5042
"species as a function of p_grid, lat_grid, lon_grid. \n"
5043
"\n"
5044
"See further the ARTS user guide (AUG). Use the index to find where\n"
5045
"this variable is discussed. The variable is listed as a subentry to\n"
5046
"\"workspace variables\".\n"
5047
"\n"
5048
"Units: [ Differ between the elements, can be VMR, kg/m3 or #/m3. ]\n"
5049
"\n"
5050
"Dimensions: [species, p_grid, lat_grid, lon_grid]\n"
),
5051
GROUP
(
"Tensor4"
)));
5052
5053
wsv_data.push_back(
WsvRecord
(
5054
NAME
(
"vmr_field_raw"
),
5055
DESCRIPTION
(
5056
"VMR data for the chosen gaseous species.\n"
5057
"\n"
5058
"This variable contains the volume mixing ratios (VMR) for all \n"
5059
"chosen gaseous species. It includes the grids corresponding to the \n"
5060
"grids in the database. \n"
5061
"*vmr_field_raw* is an Array of Array of Tensor3. It contains one \n"
5062
"gridded field for each species which contains the data and \n"
5063
"also the grids.\n"
5064
"For the calculation the data is \n"
5065
"interpolated on *p_grid*, *lat_grid* and *lon_grid*\n"
5066
"\n"
5067
"Usage: Output of *AtmRawRead*\n"
5068
" Input to *AtmFieldsCalc*.\n"
5069
"\n"
5070
"Unit: absolute number\n"
5071
"\n"
5072
"Size: Array[number of absorption species]\n"
5073
" GriddedField3 \n "
5074
" [N_p] \n"
5075
" [N_lat] \n"
5076
" [N_lon] \n"
5077
" [N_p, N_lat, N_lon] \n"
),
5078
GROUP
(
"ArrayOfGriddedField3"
)));
5079
5080
wsv_data.push_back(
WsvRecord
(
5081
NAME
(
"water_p_eq_agenda"
),
5082
DESCRIPTION
(
"Agenda to calculate the saturation pressure of water.\n"
),
5083
GROUP
(
"Agenda"
)));
5084
5085
wsv_data.push_back(
WsvRecord
(
5086
NAME
(
"water_p_eq_field"
),
5087
DESCRIPTION
(
5088
"The field of water saturation pressure.\n"
5089
"\n"
5090
"This variable holds the saturation pressure of water at each crossing of\n"
5091
"the pressure, latitude and longitude grids.\n"
5092
"\n"
5093
"Unit: Pa\n"
5094
"\n"
5095
"Dimensions: [ p_grid, lat_grid, lon_grid ]\n"
),
5096
GROUP
(
"Tensor3"
)));
5097
5098
wsv_data.push_back(
WsvRecord
(
5099
NAME
(
"wigner_initialized"
),
5100
DESCRIPTION
(
5101
"Indicates if the wigner tables are initialized.\n"
5102
"If they are not, computations will be aborted.\n"
5103
"\n"
5104
"Will hold the value of provided maximum factorial value\n"
5105
"\n"
5106
"The developer should always test this variable in functions\n"
5107
"that might require computing wigner symbols because the error\n"
5108
"handling is otherwise offloaded to third party software...\n"
),
5109
GROUP
(
"Index"
)));
5110
5111
wsv_data.push_back(
WsvRecord
(
5112
NAME
(
"wind_u_field"
),
5113
DESCRIPTION
(
5114
"Zonal component of the wind field.\n"
5115
"\n"
5116
"The East-West wind component. Air moving towards higher\n"
5117
"longitudes is a positive wind. This wind causes no Doppler shift\n"
5118
"for 1D and 2D simulations.\n"
5119
"\n"
5120
"Can be set to be empty, which is interpreted as zero wind speed\n"
5121
"everywhere.\n"
5122
"\n"
5123
"Unit: m/s\n"
5124
"\n"
5125
"Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
),
5126
GROUP
(
"Tensor3"
), Tensor3{}));
5127
5128
wsv_data.push_back(
WsvRecord
(
5129
NAME
(
"wind_u_field_raw"
),
5130
DESCRIPTION
(
5131
"Raw zonal component of the wind field.\n"
5132
"\n"
5133
"The East-West wind component. Air moving towards higher\n"
5134
"longitudes is a positive wind. This wind causes no Doppler shift\n"
5135
"for 1D and 2D simulations.\n"
5136
"\n"
5137
"Can be set to be empty, which is interpreted as zero wind speed\n"
5138
"everywhere.\n"
5139
"\n"
5140
"Unit: m/s\n"
5141
"\n"
5142
"Dimensions: [ p_grid, lat_grid, lon_grid ].\n"
),
5143
GROUP
(
"GriddedField3"
)));
5144
5145
wsv_data.push_back(
WsvRecord
(
5146
NAME
(
"wind_v_field"
),
5147
DESCRIPTION
(
5148
"Meridional component of the magnetic field.\n"
5149
"\n"
5150
"The North-South wind component. Air moving towards higher\n"
5151
"latitudes is a positive wind.\n"
5152
"\n"
5153
"Can be set to be empty, which is interpreted as zero wind speed\n"
5154
"everywhere.\n"
5155
"\n"
5156
"Unit: m/s\n"
5157
"\n"
5158
"Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ]\n"
),
5159
GROUP
(
"Tensor3"
), Tensor3{}));
5160
5161
wsv_data.push_back(
WsvRecord
(
5162
NAME
(
"wind_v_field_raw"
),
5163
DESCRIPTION
(
5164
"Raw meridional component of the magnetic field.\n"
5165
"\n"
5166
"The North-South wind component. Air moving towards higher\n"
5167
"latitudes is a positive wind.\n"
5168
"\n"
5169
"Can be set to be empty, which is interpreted as zero wind speed\n"
5170
"everywhere.\n"
5171
"\n"
5172
"Unit: m/s\n"
5173
"\n"
5174
"Dimensions: [ p_grid, lat_grid, lon_grid ]\n"
),
5175
GROUP
(
"GriddedField3"
)));
5176
5177
wsv_data.push_back(
WsvRecord
(
5178
NAME
(
"wind_w_field"
),
5179
DESCRIPTION
(
5180
"Vertical wind component field.\n"
5181
"\n"
5182
"Upward moving air corresponds to a positive wind speed.\n"
5183
"\n"
5184
"Can be set to be empty, which is interpreted as zero wind speed\n"
5185
"everywhere.\n"
5186
"\n"
5187
"Unit: m/s\n"
5188
"\n"
5189
"Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ]\n"
),
5190
GROUP
(
"Tensor3"
), Tensor3{}));
5191
5192
wsv_data.push_back(
WsvRecord
(
5193
NAME
(
"wind_w_field_raw"
),
5194
DESCRIPTION
(
5195
"Raw vertical wind component field.\n"
5196
"\n"
5197
"Upward moving air corresponds to a positive wind speed.\n"
5198
"\n"
5199
"Can be set to be empty, which is interpreted as zero wind speed\n"
5200
"everywhere.\n"
5201
"\n"
5202
"Unit: m/s\n"
5203
"\n"
5204
"Dimensions: [ p_grid, lat_grid, lon_grid ]\n"
),
5205
GROUP
(
"GriddedField3"
)));
5206
5207
wsv_data.push_back(
WsvRecord
(
5208
NAME
(
"wmrf_channels"
),
5209
DESCRIPTION
(
5210
"Channel selection for WMRF fast calculation.\n"
5211
"\n"
5212
"This variable can be used to select one or several instrument channels\n"
5213
"from the list of all possible channels. Zero-based indexing is used, so\n"
5214
"Channel 0 is the first instrument channel!\n"
),
5215
GROUP
(
"ArrayOfIndex"
)));
5216
5217
wsv_data.push_back(
WsvRecord
(
5218
NAME
(
"wmrf_weights"
),
5219
DESCRIPTION
(
5220
"The weights for a WMRF fast calculation.\n"
5221
"\n"
5222
"Weights are stored in a sparse matrix. This can be used as a\n"
5223
"sensor_response matrix.\n"
5224
"\n"
5225
"The dimension of the matrix is (nchan, nfreq), where nchan\n"
5226
"is the number of instrument channels and nfreq is the number\n"
5227
"of monochromatic frequencies.\n"
),
5228
GROUP
(
"Sparse"
)));
5229
5230
wsv_data.push_back(
WsvRecord
(
5231
NAME
(
"xml_output_type"
),
5232
DESCRIPTION
(
5233
"Flag to determine whether XML output shall be binary or ascii.\n"
5234
"\n"
5235
"This flag has to be set using the workspace method\n"
5236
"*output_file_formatSetAscii* or *output_file_formatSetBinary*.\n"
5237
"One of these methods MUST be called before writing the first\n"
5238
"output file.\n"
5239
"\n"
5240
"Usage: Set by user.\n"
),
5241
GROUP
(
"Index"
)));
5242
5243
wsv_data.push_back(
WsvRecord
(
5244
NAME
(
"x"
),
5245
DESCRIPTION
(
5246
"The state vector.\n"
5247
"\n"
5248
"This WSV matches directly the x-vector in the formalism by C.D. Rodgers.\n"
5249
"\n"
5250
"Inside *x*, the elements matching one retrieval quantity, such as\n"
5251
"atmospheric temperatures, are kept together. That is, each retrieval\n"
5252
"quantity covers a continuous range inside *x*. The start and index of\n"
5253
"these ranges can be deduced by *jacobian_quantities* (see function(s)\n"
5254
"inside jacobian.cc for details).\n"
5255
"\n"
5256
"The order of elements inside each retrieval quantity should be clarified\n"
5257
"by corresponding \"adding\" method, i.e. *jacobianAddTemperature* for\n"
5258
"atmospheric temperatures. The general rule is that data are sorted from\n"
5259
"left to right with respect to the order in the corresponding WSV. For\n"
5260
"example, inside *x* atmospheric data are stored with pressure as inner-\n"
5261
"most loop, followed by latitude and longitude as outermost loop.\n"
5262
"\n"
5263
"Usage: Used by inversion methods.\n"
5264
"\n"
5265
"Unit: Varies, follows unit of selected retrieval quantities.\n"
),
5266
GROUP
(
"Vector"
)));
5267
5268
wsv_data.push_back(
WsvRecord
(
5269
NAME
(
"xa"
),
5270
DESCRIPTION
(
5271
"The a priori state vector.\n"
5272
"\n"
5273
"This WSV matches directly the x_a-vector in the formalism by C.D. Rodgers.\n"
5274
"\n"
5275
"Usage: Used by inversion methods.\n"
5276
"\n"
5277
"Unit: Varies, follows unit of selected retrieval quantities.\n"
),
5278
GROUP
(
"Vector"
)));
5279
5280
wsv_data.push_back(
WsvRecord
(
5281
NAME
(
"y"
),
5282
DESCRIPTION
(
5283
"The measurement vector.\n"
5284
"\n"
5285
"This vector holds radiances averaged in frequency and spatially,\n"
5286
"and can contain many spectra appended. That is, this WSV matches\n"
5287
"directly the y-vector in the formalism by C.D. Rodgers.\n"
5288
"\n"
5289
"The polarisation, frequency, position and line-of-sight associated\n"
5290
"with each element in *y* are given by *y_pol*, *y_f*, *y_pos* and\n"
5291
"*y_los*. For monochromatic pencil beam radiances, data are sorted\n"
5292
"in the following way, from the innermost to the outermost loop\n"
5293
" Stokes\n"
5294
" Frequency\n"
5295
" LOS inside the measurement block\n"
5296
" Measurement block\n"
5297
"With sensor response included, the order can be differ. As output\n"
5298
"of *yRadar*, the order will also be different.\n"
5299
"\n"
5300
"Usage: Output from radiative transfer calculations considering\n"
5301
" sensor response.\n"
5302
"\n"
5303
"Unit: Undefined. Possibilities include: K, W/(m^2 Hz sr) and\n "
5304
" optical thickness.\n"
),
5305
GROUP
(
"Vector"
)));
5306
5307
wsv_data.push_back(
WsvRecord
(
5308
NAME
(
"y_aux"
),
5309
DESCRIPTION
(
5310
"Data auxilary to *y*.\n"
5311
"\n"
5312
"Different data beside the direct result of the radiative transfer\n"
5313
"calculations can be obtained by this variable. These auxilary data\n"
5314
"are selected by *iy_aux_vars*.\n"
5315
"\n"
5316
"In contrast to *iy_aux*, this variable can only hold quantities such\n"
5317
"as optical depth, and other quantites that could be the result\n"
5318
"of a complete radiative transfer calculation. The data are weighted\n"
5319
"with sensor properties in the same way as for *y*.\n"
5320
"\n"
5321
"See also *iy_aux_vars*.\n"
5322
"\n"
5323
"Usage: Output of *yCalc*.\n"
5324
"\n"
5325
"Dimensions: [quantity][ element of y ]\n"
),
5326
GROUP
(
"ArrayOfVector"
)));
5327
5328
wsv_data.push_back(
WsvRecord
(
5329
NAME
(
"y_baseline"
),
5330
DESCRIPTION
(
5331
"The baseline of *y*.\n"
5332
"\n"
5333
"In retrieval \"lingo\", the baseline is an addiative disturbance of\n"
5334
"the measured spectrum. That is, it can be seen as a shift (from zero)\n"
5335
"of measurement. Reflections inside microwave receivers is one source to\n"
5336
"a baseline off-set.\n"
5337
"\n"
5338
"So far there is no module in ARTS that actually tries to physically model\n"
5339
"any baseline effect. *y_baseline* is just used as a pure fitting parameter\n"
5340
"in retrievals. One example on method to include a baseline fit is \n"
5341
"*jacobianAddPolyfit*.\n"
5342
"\n"
5343
"If the baseline is totally constant, it is allowed to set *y_baseline*\n"
5344
"to have length one, with this element set to the baseline value.\n"
5345
"\n"
5346
"Usage: Output of retrievals.\n"
5347
"\n"
5348
"Unit: Same as applied for *y*.\n"
),
5349
GROUP
(
"Vector"
)));
5350
5351
wsv_data.push_back(
WsvRecord
(
5352
NAME
(
"y_f"
),
5353
DESCRIPTION
(
5354
"The frequencies associated with *y*.\n"
5355
"\n"
5356
"A value is returned for each element of *y*. Depending on the sensor\n"
5357
"set-up and number of measurement blocks, this can be a copy of\n"
5358
"*sensor_response_f*, sveral copies of this vector appended, or some\n"
5359
"other frequenices.\n"
5360
"\n"
5361
"Don't confuse this variable with *yf*.\n"
5362
"\n"
5363
"Usage: Output from radiative transfer calculations considering\n"
5364
" sensor response.\n"
5365
"\n"
5366
"Unit: [ Hz ]\n"
),
5367
GROUP
(
"Vector"
)));
5368
5369
wsv_data.push_back(
WsvRecord
(
5370
NAME
(
"y_geo"
),
5371
DESCRIPTION
(
5372
"The geo-position assigned to each element of *y*.\n"
5373
"\n"
5374
"The columns of this matrix matches the elements of *geo_pos*.\n"
5375
"\n"
5376
"Unit: [ m, deg, deg, deg, deg ]\n"
),
5377
GROUP
(
"Matrix"
)));
5378
5379
wsv_data.push_back(
WsvRecord
(
5380
NAME
(
"y_geo_series"
),
5381
DESCRIPTION
(
5382
"The geo-positioning assigned to each row of *y_series*.\n"
5383
"\n"
5384
"All channels are assumed to have the same geo-position.\n"
5385
"\n"
5386
"Otherwise as *y_geo*.\n"
),
5387
GROUP
(
"Matrix"
)));
5388
5389
wsv_data.push_back(
WsvRecord
(
5390
NAME
(
"y_geo_swath"
),
5391
DESCRIPTION
(
5392
"The geo-positioning assigned to each pixel of *y_swath*.\n"
5393
"\n"
5394
"All channels are assumed to have the same geo-position.\n"
5395
"\n"
5396
"Otherwise as *y_geo*.\n"
),
5397
GROUP
(
"Tensor3"
)));
5398
5399
wsv_data.push_back(
WsvRecord
(
5400
NAME
(
"y_los"
),
5401
DESCRIPTION
(
5402
"The line-of-sights associated with *y*.\n"
5403
"\n"
5404
"Definition of angles matches *sensor_los* (such as first column holds\n"
5405
"zenith angles), but gives actual observed LOS. That is, the values of\n"
5406
"both *sensor_los* and *antenna_dlos* are considered. Data are provided\n"
5407
"for each element of *y*, following y_f, and the number of rows equals\n"
5408
"the length of *y*.\n"
5409
"\n"
5410
"Usage: Output from radiative transfer calculations considering\n"
5411
" sensor response.\n"
5412
"\n"
5413
"Unit: [ degrees, degrees ]\n"
),
5414
GROUP
(
"Matrix"
)));
5415
5416
wsv_data.push_back(
WsvRecord
(
5417
NAME
(
"y_pol"
),
5418
DESCRIPTION
(
5419
"The polarisation states associated with *y*.\n"
5420
"\n"
5421
"Data are provided for each element of *y*, following y_f, and the\n"
5422
"length of this variable and *y* is equal.\n"
5423
"\n"
5424
"See *instrument_pol* for coding of polarisation components.\n"
5425
"\n"
5426
"Usage: Output from radiative transfer calculations considering\n"
5427
" sensor response.\n"
5428
"\n"
5429
"Unit: [ - ]\n"
),
5430
GROUP
(
"ArrayOfIndex"
)));
5431
5432
wsv_data.push_back(
WsvRecord
(
5433
NAME
(
"y_pos"
),
5434
DESCRIPTION
(
5435
"The sensor positions associated with *y*.\n"
5436
"\n"
5437
"Definition of positions matches *sensor_pos* (such as first column\n"
5438
"holds the altitude). Data are provided for each element of *y*,\n"
5439
"following y_f, and the number of rows equals the length of *y*.\n"
5440
"\n"
5441
"Usage: Output from radiative transfer calculations considering\n"
5442
" sensor response.\n"
5443
"\n"
5444
"Unit: [ m, deg, deg ]\n"
),
5445
GROUP
(
"Matrix"
)));
5446
5447
wsv_data.push_back(
WsvRecord
(
5448
NAME
(
"y_series"
),
5449
DESCRIPTION
(
5450
"Two-dimensional version of the measurement vector.\n"
5451
"\n"
5452
"This WSV can be used for storing *y* reshaped when all measurement\n"
5453
"blocks have the same set of channels.\n"
5454
"\n"
5455
"Dimesion: [ position, channel ]\n"
),
5456
GROUP
(
"Matrix"
)));
5457
5458
wsv_data.push_back(
WsvRecord
(
5459
NAME
(
"y_swath"
),
5460
DESCRIPTION
(
5461
"Three-dimensional version of the measurement vector.\n"
5462
"\n"
5463
"This WSV can be used for storing *y* reshaped when all measurement\n"
5464
"blocks have the same set of channels, and that the data constitutes\n"
5465
"a part of a swath.\n"
5466
"\n"
5467
"Dimesion: [ scan, pixel, channel ]\n"
),
5468
GROUP
(
"Tensor3"
)));
5469
5470
wsv_data.push_back(
WsvRecord
(
5471
NAME
(
"yb"
),
5472
DESCRIPTION
(
5473
"The measurement vector for a single measurement block.\n"
5474
"\n"
5475
"Exactly as *y*, but holds data only for a single measurement block.\n"
5476
"\n"
5477
"Usage: Used internally.\n"
),
5478
GROUP
(
"Vector"
)));
5479
5480
wsv_data.push_back(
WsvRecord
(
5481
NAME
(
"ybatch"
),
5482
DESCRIPTION
(
5483
"Batch of spectra.\n"
5484
"\n"
5485
"Each element of *ybatch* corresponds to a spectrum vector *y*. \n"
5486
"See further *ybatchCalc*.\n"
5487
"\n"
5488
"Usage: Most commonly produced by *ybatchCalc*.\n"
5489
"\n"
5490
"Unit: Undefined. Possibilities include: K, W/(m^2 Hz sr) and\n "
5491
" optical thickness.\n"
5492
"\n"
5493
"Dimensions: Number of array elements equals number of batch cases,\n"
5494
" Vectors have length(y)\n"
),
5495
GROUP
(
"ArrayOfVector"
)));
5496
5497
wsv_data.push_back(
WsvRecord
(
5498
NAME
(
"ybatch_aux"
),
5499
DESCRIPTION
(
5500
"Data auxilary to *ybatch*.\n"
5501
"\n"
5502
"Each element of *ybatch_aux* corresponds to a auxiliary data *y_aux*. \n"
5503
"See further *y_aux* and *ybatchCalc*.\n"
5504
"\n"
5505
"Usage: Most commonly produced by *ybatchCalc*.\n"
5506
"\n"
5507
"Dimensions: Number of array elements equals number of batch cases,\n"
),
5508
GROUP
(
"ArrayOfArrayOfVector"
)));
5509
5510
wsv_data.push_back(
WsvRecord
(
5511
NAME
(
"ybatch_calc_agenda"
),
5512
DESCRIPTION
(
5513
"Agenda defining the calculations to perform for each batch case.\n"
),
5514
GROUP
(
"Agenda"
)));
5515
5516
wsv_data.push_back(
WsvRecord
(
5517
NAME
(
"ybatch_index"
),
5518
DESCRIPTION
(
"Index of batch case.\n"