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