ARTS  2.2.66
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 
34 #include "arts.h"
35 #include "matpackI.h"
36 #include "matpackII.h"
37 #include "matpackIII.h"
38 #include "matpackVI.h"
39 #include "array.h"
40 #include "wsv_aux.h"
41 #include "ppath.h"
42 #include "workspace_ng.h"
43 
44 // Some #defines to make the records better readable:
45 #define NAME(x) x
46 #define DESCRIPTION(x) x
47 #define GROUP(x) x
48 
49 
51 {
52 
53  //--------------------< Build the wsv data >--------------------
54  // Initialize to empty, just in case.
55  wsv_data.resize(0);
56 
57 /* Templace record entry:
58 
59  wsv_data.push_back
60  (WsvRecord
61  ( NAME( "workspace_variable_name" ),
62  DESCRIPTION
63  (
64  "Brief description of the variable (1 line).\n"
65  "\n"
66  "Detailed description of the variable. Don't be too short here,\n"
67  "this is the main place where your documentation should be. I\n"
68  "really recommend to edit this in a text buffer, so that you can\n"
69  "do some re-formatting until it looks nice. Only at the end put it\n"
70  "in quotes and add the line breaks.\n"
71  "\n"
72  "Use blank lines to separate paragraphs. There really should be a\n"
73  "detailed descriptions of all component of your variable, if it\n"
74  "has a complicated type. Also some detailed discussion of the\n"
75  "dimensions if necessary. Also some detailed discussion of the\n"
76  "members if your variable is a structure.\n"
77  "\n"
78  "Usage: Set by user (or "Method output.")\n"
79  "\n"
80  "Units: E.g., kg/m\n"
81  "\n"
82  "Dimensions: [ first dimension, second dimension, ... ]\n"
83  "or\n"
84  "Size: [ .., nrows, ncols ]\n"
85  "\n"
86  "Members: Here you would list the members if your\n"
87  " variable is a structure.\n"
88  "\n"
89  "Dimensions: [x, y]\n"
90  "\n"
91  "Unit: Which unit this variable uses\n"
92  "\n"
93  "Give the keywords above only if they apply, i.e., Members only\n"
94  "for a structure, Units only for a physical variable.\n"
95  "Use either Dimensions or Size, depending on what is most appropiate\n"
96  "for the variable.\n"
97  ),
98  GROUP( "VariableType" )));
99 
100 */
101 
102 
103 
104  /*----------------------------------------------------------------------
105  Let's put in the variables in alphabetical order. This gives a clear
106  rule for where to place a new variable and this gives a nicer
107  results when the methods are listed by "arts -w all". No
108  distinction is made between uppercase and lowercase letters. The
109  sign "_" comes after all letters.
110  Patrick Eriksson 2002-05-08
111  ----------------------------------------------------------------------*/
112 
113  wsv_data.push_back
114  (WsvRecord
115  ( NAME( "abs_cia_data" ),
117  (
118  "HITRAN Collision Induced Absorption (CIA) Data.\n"
119  "\n"
120  "This variable holds HITRAN CIA data (binary absorption\n"
121  "cross-sections). The data itself is described in: Richard, C. et al.\n"
122  "(2012), New section of the HITRAN database: Collision-induced\n"
123  "absorption (CIA), J. Quant. Spectrosc. Radiat. Transfer, 113,\n"
124  "1276-1285, doi:10.1016/j.jqsrt.2011.11.004.\n"
125  " \n"
126  "The binary absorption cross-sections have to be multiplied with the\n"
127  "densities of both molecules to get absorption coefficients.\n"
128  "\n"
129  "Dimensions:\n"
130  "\n"
131  "The outer array dimension in the ArrayOfArrayOfCIARecord is the same\n"
132  "as that of *abs_species*. There will be CIA data only for those\n"
133  "species that contain a CIA tag, for all other species it will be\n"
134  "empty. The inner array dimension corresponds to the number of CIA tags\n"
135  "for this species (there could be for example both N2-N2 and N2-H2) in\n"
136  "the same species.\n"
137  "\n"
138  "FIXME: Somewhere there should be a description of the CIA tag system.\n"
139  "\n"
140  "Each individual CIARecord holds the complete information from one\n"
141  "HITRAN CIA file. For the given pair of molecules A HITRAN CIA data\n"
142  "file can hold several datasets (data for different temperatures but\n"
143  "fixed frequency range).\n"
144  "\n"
145  "Units: \n"
146  "Frequencies: Hz\n"
147  "Binary absorption cross-sections: m^5*molecule^-2\n"
148  ),
149  GROUP( "ArrayOfCIARecord" )));
150 
151  wsv_data.push_back
152  (WsvRecord
153  ( NAME( "abs_coef" ),
155  (
156  "The matrix of total scalar absorption coefficients.\n"
157  "\n"
158  "Contains the gas absorption summed over all species as a function of\n"
159  "*f_grid* and *abs_p*, i.e., for a single atmospheric profile.\n"
160  "\n"
161  "This variable is not used explicitly in a standard calculation, where\n"
162  "absorption comes from the lookup table *abs_lookup*. However, it is\n"
163  "useful for testing the methods that actually calculate line-by-line\n"
164  "absorption, which have this variable as output. These methods are\n"
165  "called internally by the method *abs_lookupCalc*, which generates\n"
166  "the lookup table.\n"
167  "\n"
168  "Dimensions: [f_grid, abs_p]\n"
169  "\n"
170  "Unit: 1/m\n"
171  ),
172  GROUP( "Matrix" )));
173 
174  wsv_data.push_back
175  (WsvRecord
176  ( NAME( "abs_coef_per_species" ),
178  (
179  "Scalar absorption coefficients individually per tag group.\n"
180  "\n"
181  "The Array contains one matrix of absorption coefficients for each\n"
182  "tag group, where the matrix format is the same as that of *abs_coef*\n"
183  ),
184  GROUP( "ArrayOfMatrix" )));
185 
186  wsv_data.push_back
187  (WsvRecord
188  ( NAME( "abs_cont_models" ),
190  (
191  "Continuum / full model absorption model description parameter.\n"
192  "See the WSV `abs_cont_names' for a detailed description\n"
193  "of the allowed continuum models. There should be one string here\n"
194  "for each entry in `abs_cont_names'.See also the online\n"
195  "documentation in arts/doc/doxygen/html/continua_cc.html.\n"
196  ),
197  GROUP( "ArrayOfString" )));
198 
199  wsv_data.push_back
200  (WsvRecord
201  ( NAME( "abs_cont_names" ),
203  (
204  "Continuum / full model absorption tag names. This variable should\n"
205  "contain a list of tag names of continuum and full models, respectively.\n"
206  "Associated with this WSV is the WSV\n"
207  "`abs_cont_models' which contains the specific model version of\n"
208  "each continuum / full model absorption tag and the WSV\n"
209  "`abs_cont_parameters' which should contain the continuum / full model\n"
210  "user defined parameters. The user defined parameters are only used when\n"
211  "the specified model is 'user'. See also the online documentation in\n"
212  "arts/doc/doxygen/html/continua_cc.html.\n"
213  "\n"
214  "The following full water vapor models are implemented:\n"
215  "'H2O-MPM87': absorption model (line and continuum) according to \n"
216  " H. J. Liebe,\n"
217  " A contribution to modeling atmospheric millimeter-wave properties,\n"
218  " Frequenz, 41, 1987, 31-36\n"
219  " and\n"
220  " H. J. Liebe and D. H. Layton,\n"
221  " Millimeter-wave properties of the atmosphere:\n"
222  " Laboratory studies and propagation modeling,\n"
223  " U.S. Dept. of Commerce, National Telecommunications and Information\n"
224  " Administration, Institute for Communication Sciences,\n"
225  " 325 Broadway, Boulder, CO 80303-3328, report 87224.\n"
226  "'H2O-MPM89': absorption model (line and continuum) according to \n"
227  " H. J. Liebe,\n Int. J. Infrared and Millimeter Waves, 10(6), 1989, 631\n"
228  "'H2O-MPM93': absorption model (line and continuum) according to \n"
229  " H. J. Liebe and G. A. Hufford and M. G. Cotton,\n"
230  " Propagation modeling of moist air and suspended water/ice\n"
231  " particles at frequencies below 1000 GHz,\n"
232  " AGARD 52nd Specialists Meeting of the Electromagnetic Wave\n"
233  " Propagation Panel,\n Palma de Mallorca, Spain, 1993, May 17-21 \n"
234  " (ftp.its.bldrdoc.gov/pub/mpm93/)\n"
235  "'H2O-CP98': absorption model (line and continuum) according to \n"
236  " S. L. Cruz-Pol et al.,\n Radio Science, 33(5), 1319, 1998"
237  " (ece.uprm.edu/~pol/Atmosphere.html)\n"
238  "'H2O-PWR98': absorption model (line and continuum) according to \n"
239  " P. W. Rosenkranz,\n "
240  " Radio Science, 33(4), 919, 1998, Radio Science, 34(4), 1025, 1999\n"
241  " (ftp: mesa.mit.edu/phil/lbl_rt).\n"
242  "\n"
243  "The following full oxygen models are implemented:\n"
244  "'O2-MPM93': absorption model (line and continuum) according to\n"
245  " H. J. Liebe and G. A. Hufford and M. G. Cotton,\n"
246  " Propagation modeling of moist air and suspended water/ice\n"
247  " particles at frequencies below 1000 GHz,\n"
248  " AGARD 52nd Specialists Meeting of the Electromagnetic Wave\n"
249  " Propagation Panel,\n Palma de Mallorca, Spain, 1993, May 17-21\n"
250  " (ftp.its.bldrdoc.gov/pub/mpm93/)\n"
251  "'O2-PWR93': absorption model (line and continuum) according to \n"
252  " P. W. Rosenkranz,\n Chapter 2, in M. A. Janssen, \n"
253  " Atmospheric Remote Sensing by Microwave Radiometry\n"
254  " John Wiley & Sons, Inc., 1993 (mesa.mit.edu/phil/lbl_rt)\n"
255  "\n"
256  "The following continuum parameterizations are implemented:\n"
257  "H2O-H2O ('H2O-SelfContStandardType'):\n"
258  " P. W. Rosenkranz, \n"
259  " Radio Science, Vol. 33, No 4, Pages 919-928, 1998 and \n"
260  " Radio Science, Vol. 34, No 4, Page 1025, 1999 (mesa.mit.edu/phil/lbl_rt)\n"
261  "H2O-air ('H2O-ForeignContStandardType'): \n"
262  " P. W. Rosenkranz, \n"
263  " Radio Science, Vol. 33, No 4, Pages 919-928, 1998 and \n"
264  " Radio Science, Vol. 34, No 4, Page 1025, 1999 (mesa.mit.edu/phil/lbl_rt)\n"
265  "H2O-air ('H2O-ContMPM93'): \n"
266  " H. J. Liebe and G. A. Hufford and M. G. Cotton,\n"
267  " Propagation modeling of moist air and suspended water/ice\n"
268  " particles at frequencies below 1000 GHz,\n"
269  " AGARD 52nd Specialists Meeting of the Electromagnetic Wave\n"
270  " Propagation Panel,\n Palma de Mallorca, Spain, 1993, May 17-21\n"
271  " (ftp.its.bldrdoc.gov/pub/mpm93/)\n"
272  "O2-air ('O2-SelfContStandardType'):\n"
273  " P. W. Rosenkranz,\n"
274  " Chapter 2, in M. A. Janssen,\n"
275  " Atmospheric Remote Sensing by Microwave Radiometry,\n"
276  " John Wiley & Sons, Inc., 1993\n"
277  " (mesa.mit.edu/phil/lbl_rt)\n"
278  " and also described in \n"
279  " H. J. Liebe and G. A. Hufford and M. G. Cotton,\n"
280  " Propagation modeling of moist air and suspended water/ice\n"
281  " particles at frequencies below 1000 GHz,\n"
282  " AGARD 52nd Specialists Meeting of the Electromagnetic Wave\n"
283  " Propagation Panel,\n Palma de Mallorca, Spain, 1993, May 17-21\n"
284  " (ftp.its.bldrdoc.gov/pub/mpm93/)\n"
285  "N2-N2 ('N2-SelfContStandardType'):\n"
286  " The functional form of Rosenkranz but with more input parameters.\n"
287  " P. W. Rosenkranz,\n"
288  " Chapter 2, in M. A. Janssen,\n"
289  " Atmospheric Remote Sensing by Microwave Radiometry,\n"
290  " John Wiley & Sons, Inc., 1993 (mesa.mit.edu/phil/lbl_rt)\n"
291  "N2-N2 ('N2-SelfContMPM93'):\n"
292  " H. J. Liebe and G. A. Hufford and M. G. Cotton,\n"
293  " Propagation modeling of moist air and suspended water/ice\n"
294  " particles at frequencies below 1000 GHz,\n"
295  " AGARD 52nd Specialists Meeting of the Electromagnetic Wave\n"
296  " Propagation Panel, Palma de Mallorca, Spain, 1993, May 17-21 \n"
297  " (ftp.its.bldrdoc.gov/pub/mpm93/)\n"
298  "CO2-CO2 ('CO2-SelfContPWR93'):\n"
299  " P. W. Rosenkranz,\n"
300  " Chapter 2, in M. A. Janssen,\n"
301  " Atmospheric Remote Sensing by Microwave Radiometry,\n"
302  " John Wiley & Sons, Inc., 1993 (mesa.mit.edu/phil/lbl_rt)\n"
303  "CO2-N2 ('CO2-ForeignContPWR93'):\n"
304  " P. W. Rosenkranz,\n"
305  " Chapter 2, in M. A. Janssen,\n"
306  " Atmospheric Remote Sensing by Microwave Radiometry,\n"
307  " John Wiley & Sons, Inc., 1993 (mesa.mit.edu/phil/lbl_rt)\n"
308  "\n"
309  "The following cloud absorption models are implemented:\n"
310  "Suspended water droplet ('liquidcloud-MPM93') \n"
311  " absorption parameterization from the MPM93 model:\n"
312  " H. J. Liebe and G. A. Hufford and M. G. Cotton,\n"
313  " Propagation modeling of moist air and suspended water/ice\n"
314  " particles at frequencies below 1000 GHz,\n"
315  " AGARD 52nd Specialists Meeting of the Electromagnetic Wave\n"
316  " Propagation Panel,\n Palma de Mallorca, Spain, 1993, May 17-21\n"
317  " (ftp.its.bldrdoc.gov/pub/mpm93/)\n"
318  "Ice water droplet absorption ('icecloud-MPM93') \n"
319  " parameterization from MPM93 model:\n"
320  " H. J. Liebe and G. A. Hufford and M. G. Cotton,\n"
321  " Propagation modeling of moist air and suspended water/ice\n"
322  " particles at frequencies below 1000 GHz,\n"
323  " AGARD 52nd Specialists Meeting of the Electromagnetic Wave\n"
324  " Propagation Panel,\n Palma de Mallorca, Spain, 1993, May 17-21\n"
325  " (ftp.its.bldrdoc.gov/pub/mpm93/)\n"
326  "\n"
327  "The following rain extinction model is implemented:\n"
328  "Rain extinction parameterization ('rain-MPM93') from the\n"
329  " MPM93 model, described in:\n"
330  " H. J. Liebe,\n"
331  " MPM - An Atmospheric Millimeter-Wave Propagation Model,\n"
332  " Int. J. Infrared and Millimeter Waves, vol. 10(6),\n"
333  " pp. 631-650, 1989;\n"
334  " and based on:\n"
335  " Olsen, R.L., D.V. Rogers, and D. B. Hodge,\n"
336  " The aR^b relation in the calculation of rain attenuation,\n"
337  " IEEE Trans. Antennas Propagat., vol. AP-26, pp. 318-329, 1978.\n"
338  " IMPORTANT NOTE: rain-MPM93 parameterizes the EXTINCTION by rain,\n"
339  " not just the absorption. Therefore it is not suitable for \n"
340  " calculating thermal emission by rain!\n"
341  " Please use rain-MPM93 only for calculation of attenuation.\n"
342  ),
343  GROUP( "ArrayOfString" )));
344 
345  wsv_data.push_back
346  (WsvRecord
347  ( NAME( "abs_cont_parameters" ),
349  (
350  "Continuum model parameters. See the WSV *abs_cont_names*\n"
351  "for a detailed description of the allowed continuum models. There\n"
352  "should be one parameter vector here for each entry in\n"
353  "*abs_cont_names*. See also the online documentation in\n"
354  "arts/doc/doxygen/html/continua_cc.html.\n"
355  ),
356  GROUP( "ArrayOfVector" )));
357 
358  wsv_data.push_back
359  (WsvRecord
360  ( NAME( "abs_f_interp_order" ),
362  (
363  "Frequency interpolation order for absorption lookup table.\n"
364  "\n"
365  "The interpolation order to use when interpolating the absorption\n"
366  "lookup table in frequency. This is in particular needed for\n"
367  "calculations with Doppler shift, so that absorption is interpolated to\n"
368  "the shifted frequency grid. One is linear interpolation, two\n"
369  "quadratic, and so on.\n"
370  "\n"
371  "As a special case, order 0 in this particular case means no\n"
372  "interpolation. In that case f_grid must match exactly the grid inside\n"
373  "the lookup table. This is the global default value, set in\n"
374  "general.arts.\n"
375  ),
376  GROUP( "Index" )));
377 
378  wsv_data.push_back
379  (WsvRecord
380  ( NAME( "abs_lines" ),
382  (
383  "A list of spectral line data.\n"
384  ),
385  GROUP( "ArrayOfLineRecord" )));
386 
387  wsv_data.push_back
388  (WsvRecord
389  ( NAME( "abs_lineshape" ),
391  (
392  "Lineshape specification: function, norm, cutoff. There is one entry for\n"
393  "each abs_tag, not for each species. This means if you have several\n"
394  "abs_tags for different isotopologues or transitions of a species, you\n"
395  "may use different lineshapes.\n"
396  ),
397  GROUP( "ArrayOfLineshapeSpec" )));
398 
399  wsv_data.push_back
400  (WsvRecord
401  ( NAME( "abs_lines_per_species" ),
403  (
404  "A list of spectral line data for each tag.\n"
405  "Dimensions: (tag_groups.nelem()) (# of lines for this tag)\n"
406  ),
407  GROUP( "ArrayOfArrayOfLineRecord" )));
408 
409  wsv_data.push_back
410  (WsvRecord
411  ( NAME( "abs_lookup" ),
413  (
414  "An absorption lookup table.\n"
415  "\n"
416  "It holds an absorption lookup table, as well as all information that\n"
417  "is necessary to use the table to extract absorption. Extraction\n"
418  "routines are implemented as member functions. \n"
419  "\n"
420  "It has quite a complicated structure. For details see the Arts User\n"
421  "Guide section \"The gas absorption lookup table\" or the source code\n"
422  "documentation in gas_abs_lookup.h.\n"
423  ),
424  GROUP( "GasAbsLookup" )));
425 
426  wsv_data.push_back
427  (WsvRecord
428  ( NAME( "abs_nls" ),
430  (
431  "Nonlinear species for absorption lookup table generation.\n"
432  "\n"
433  "A list of absorption species that should be treated non-linearly.\n"
434  "This means that the H2O VMR should be varied when calculating the\n"
435  "lookup table for those species.\n"
436  "\n"
437  "A typical example is for this to containt the Rosenkranz full\n"
438  "absorption model species for water vapor and oxygen \n"
439  "([\"H2O-PWR98\", \"O2-PWR93\"]).\n"
440  "\n"
441  "It only makes sense to put a species here if is either a water vapor\n"
442  "species, or some other species that uses *abs_h2o*, that is, for which\n"
443  "the absorption coefficient depends directly on water vapor.\n"
444  "\n"
445  "See user guide and online documentation of *abs_pts* and *abs_lookupCalc*\n"
446  "for more details and usage examples.\n"
447  ),
448  GROUP( "ArrayOfArrayOfSpeciesTag" )));
449 
450  wsv_data.push_back
451  (WsvRecord
452  ( NAME( "abs_nls_pert" ),
454  (
455  "Fractional perturbations for the nonlinear species in the absorption\n"
456  "lookup table.\n"
457  "\n"
458  "This is a vector of fractional perturbations that should contain 1\n"
459  "(the unperturbed reference profile). A value of 0 may lead to error\n"
460  "messages from some absorption routines, so a possible content for this\n"
461  "variable is: [1e-24, 1, 2].\n"
462  "(This is similar to *abs_t_pert*, but multiplicative, not additive.)\n"
463  ),
464  GROUP( "Vector" )));
465 
466  wsv_data.push_back
467  (WsvRecord
468  ( NAME( "abs_nls_interp_order" ),
470  (
471  "The interpolation order to use when interpolating absorption between\n"
472  "the H2O values given by *abs_nls_pert*. This is used by methods\n"
473  "extracting absorption coefficients from the lookup table, and by\n"
474  "methods setting up parameters for lookup table generation. Has a\n"
475  "default value, which is set in general.arts.\n"
476  "\n"
477  "Note that the number of points used in the interpolation scheme is\n"
478  "interpolation order + 1 (e.g., two for first order interpolation).\n"
479  ),
480  GROUP( "Index" )));
481 
482  wsv_data.push_back
483  (WsvRecord
484  ( NAME( "abs_p_interp_order" ),
486  (
487  "The interpolation order to use when interpolating absorption\n"
488  "between pressure levels. This is used by methods extracting\n"
489  "absorption coefficients from the lookup table, and by methods\n"
490  "setting up parameters for lookup table generation. Has a\n"
491  "default value, which is set in general.arts.\n"
492  "\n"
493  "Note that the number of points used in the interpolation scheme is\n"
494  "interpolation order + 1 (e.g., two for first order interpolation).\n"
495  ),
496  GROUP( "Index" )));
497 
498  wsv_data.push_back
499  (WsvRecord
500  ( NAME( "abs_t_pert" ),
502  (
503  "Temperature perturbations for the absorption lookup table.\n"
504  "\n"
505  "This is a vector containing temperature perturbations (in Kelvin) that\n"
506  "should be added to the reference temperature profile. (Similar to\n"
507  "*abs_nls_pert*, but additive, not multiplicative.) Should normally\n"
508  "contain 0, to include the reference profile itself. Example content:\n"
509  "[-5, 0, 5].\n"
510  ),
511  GROUP( "Vector" )));
512 
513  wsv_data.push_back
514  (WsvRecord
515  ( NAME( "abs_t_interp_order" ),
517  (
518  "The interpolation order to use when interpolating absorption between\n"
519  "the temperature values given by *abs_t_pert*. This is used by methods\n"
520  "extracting absorption coefficients from the lookup table, and by\n"
521  "methods setting up parameters for lookup table generation. Has a\n"
522  "default value, which is set in general.arts.\n"
523  "\n"
524  "Note that the number of points used in the interpolation scheme is\n"
525  "interpolation order + 1 (e.g., two for first order interpolation).\n"
526  ),
527  GROUP( "Index" )));
528 
529  wsv_data.push_back
530  (WsvRecord
531  ( NAME( "abs_lookup_is_adapted" ),
533  (
534  "Flag to indicate whether *abs_lookupAdapt* has already been\n"
535  "called.\n"
536  "\n"
537  "Values: 0=false, 1=true.\n"
538  ),
539  GROUP( "Index" )));
540 
541  wsv_data.push_back
542  (WsvRecord
543  ( NAME( "abs_p" ),
545  (
546  "List of pressures to be used for the calculation of absorption\n"
547  "coefficients. \n"
548  "\n"
549  "This can be copied from the global *p_grid*, but could also be\n"
550  "different. \n"
551  "\n"
552  "Any absorption method should check that the length of this vector\n"
553  "is the same as that of *abs_t*\n"
554  "\n"
555  "Dimension: [number of pressures]\n"
556  "\n"
557  "Unit: Pa\n"
558  ),
559  GROUP( "Vector" )));
560 
561  wsv_data.push_back
562  (WsvRecord
563  ( NAME( "abs_species" ),
565  (
566  "Tag groups for scalar gas absorption.\n"
567  "\n"
568  "This is an array of arrays of SpeciesTag tag definitions. It defines the\n"
569  "available tag groups for the calculation of scalar gas absorption\n"
570  "coefficients. See online documentation of method *abs_speciesSet* for\n"
571  "more detailed information how tag groups work and some examples.\n"
572  ),
573  GROUP( "ArrayOfArrayOfSpeciesTag" )));
574 
575  wsv_data.push_back
576  (WsvRecord
577  ( NAME( "abs_species_active" ),
579  (
580  "Indices of active absorption species.\n"
581  "\n"
582  "This variable selects, which absorption species are active in\n"
583  "*abs_xsec_agenda*.\n"
584  "\n"
585  "Dimension: A vector with one element for every active species, at max\n"
586  " same number of elements as abs_species.\n"
587  ),
588  GROUP( "ArrayOfIndex" )));
589 
590  wsv_data.push_back
591  (WsvRecord
592  ( NAME( "abs_t" ),
594  (
595  "List of temperatures to be used for the calculation of absorption\n"
596  "coefficients.\n"
597  "\n"
598  "In contrast to the global *t_field*, this is just a vector. Any\n"
599  "absorption method should check that the length of this vector is the\n"
600  "same as that of *abs_p*\n"
601  "\n"
602  "Dimension: [number of pressures]\n"
603  "\n"
604  "Unit: K\n"
605  ),
606  GROUP( "Vector" )));
607 
608  wsv_data.push_back
609  (WsvRecord
610  ( NAME( "abs_vec" ),
612  (
613  "Total absorption vector.\n"
614  "\n"
615  "This variable contains the absorption coefficient vector which \n"
616  "is used in the RTE calculation. It is \n"
617  "the physical absorption which includes particle absorption \n"
618  "for all chosen particle types as well as gaseous absorption for\n"
619  "all chosen gaseous species.\n"
620  "The vector is calculated by the agenda *opt_prop_part_agenda* \n"
621  "The dimensision of the variable adapts to *stokes_dim*.\n"
622  "\n"
623  "See further the ARTS user guide (AUG). Use the index to find where\n"
624  "this variable is discussed. The variable is listed as a subentry to\n"
625  "\"workspace variables\".\n"
626  "\n"
627  "Usage: Output of the agenda *opt_prop_part_agenda* \n"
628  "\n"
629  "Unit: [Hz, m^2]\n"
630  "\n"
631  "Dimensions: [f_grid, stokes_dim]\n"
632  ),
633  GROUP( "Matrix" )));
634 
635  wsv_data.push_back
636  (WsvRecord
637  ( NAME( "abs_vec_spt"),
639  (
640  "Absorption vector for a single particle type.\n"
641  "\n"
642  "This variable contains the elements of absorption vector of a \n"
643  "single particle, given It is calculated in the agenda \n"
644  "*spt_calc_agenda*.\n"
645  "\n"
646  "ARTS user guide (AUG) gives the formulas used for computing all \n"
647  "the elements of absorption vector.\n"
648  "\n"
649  "Usage: Input and Output of the method abs_vec_sptCalc\n"
650  "\n"
651  "Unit: m^2\n"
652  "\n"
653  "Dimensions: [N_particletypes,stokes_dim]\n"
654  ),
655  GROUP( "Matrix" ) ));
656 
657  wsv_data.push_back
658  (WsvRecord
659  (NAME( "abs_vmrs" ),
661  (
662  "The VMRs (unit: absolute number) on the abs_p grid.\n"
663  "Dimensions: [tag_groups.nelem(), abs_p.nelem()]\n"
664  ),
665  GROUP( "Matrix" )));
666 
667  wsv_data.push_back
668  (WsvRecord
669  ( NAME( "abs_xsec_agenda" ),
671  (
672  "See agendas.cc.\n"
673  ),
674  GROUP( "Agenda" )));
675 
676  wsv_data.push_back
677  (WsvRecord
678  ( NAME( "abs_xsec_agenda_checked" ),
680  (
681  "OK-flag for *abs_xsec_agenda*.\n"
682  "\n"
683  "Set by *abs_xsec_agenda_checkedCalc*.\n"
684  ),
685  GROUP( "Index" )));
686 
687  wsv_data.push_back
688  (WsvRecord
689  ( NAME( "abs_xsec_per_species" ),
691  (
692  "Absorption cross sections for the attenuation.\n"
693  "\n"
694  "This variable contains absorption cross section xsec individually for\n"
695  "each tag group. The Array contains one matrix for each tag group, the\n"
696  "matrix format is the same as that of abs_coef.\n"
697  "\n"
698  "Dimensions: [abs_species](f_grid, abs_p)\n"
699  "\n"
700  "Unit: m^2 (alpha = xsec * n * VMR),\n"
701  " where n is total density.\n"
702  ),
703  GROUP( "ArrayOfMatrix" )));
704 
705  wsv_data.push_back
706  (WsvRecord
707  ( NAME( "antenna_dim" ),
709  (
710  "The dimensionality of the antenna pattern (1-2).\n"
711  "\n"
712  "A dimensionality of 1 means that only the respons variation in the\n"
713  "zenith direction is considered. The provided respons shall then be the\n"
714  "integrated in the azimuth direction. For 2D, the respons of the\n"
715  "antenna has both a zenith and azimuth variation.\n"
716  "\n"
717  "Usage: Set by the user.\n"
718  "\n"
719  "Unit: Integer value [1-2].\n"
720  ),
721  GROUP( "Index" )));
722 
723  wsv_data.push_back
724  (WsvRecord
725  ( NAME( "antenna_los" ),
727  (
728  "The relative line-of-sight of each antenna pattern.\n"
729  "\n"
730  "This variable describes the line-of-sight of the individual antennae\n"
731  "relative to *sensor_los*. If only one antenna is present the matrix\n"
732  "should contain a row of zero(s). The number of columns corresponds to\n"
733  "the *antenna_dim*, with the first column containing zenith angles\n"
734  "and the second azimuth angles. If each measurement block corresponds\n"
735  "to a single antenna pattern, the normal choice is to set the angle(s)\n"
736  "of this variable to zero.\n"
737  "\n"
738  "See further the ARTS user guide (AUG). Use the index to find where\n"
739  "this variable is discussed. The variable is listed as a subentry to\n"
740  "\"workspace variables\".\n"
741  "\n"
742  "Usage: Set by the user.\n"
743  "\n"
744  "Unit: [ degrees, degrees ]\n"
745  "\n"
746  "Size: [ number of antennae, 1 or 2 ]\n"
747  ),
748  GROUP( "Matrix" )));
749 
750  wsv_data.push_back
751  (WsvRecord
752  ( NAME( "antenna_response" ),
754  (
755  "The antenna pattern/response.\n"
756  "\n"
757  "This WSV describes the antenna response as a function of polarisation\n"
758  "(pol), frequencue (f), zenith angle (za) and azimuth angle (aa).\n"
759  "\n"
760  "Polarisation dimension: If this dimension has size 1, the data are\n"
761  "applied for all polarisations of concern. The data are otherwise used\n"
762  "in sequential order. This signifies that, in general, the first\n"
763  "polarisation \"layer\" corresponds to the first stokes dimension\n"
764  "etc. An exception is if a polarisation rotation has been applied. In\n"
765  "any case, it is up to the user to ensure that polarisations are\n"
766  "consistently defined.\n"
767  "\n"
768  "Frequency dimension: If this dimension has size 1, the data are\n"
769  "applied for all frequencies of concern. The given frequency must be\n"
770  "inside the frequency range of concern. A linear interpolation is\n"
771  "otherwise applied.\n"
772  "\n"
773  "Zenith angle dimension: This dimension must always have a size >= 2\n"
774  "The response outside covered grid range is treated as zero. If\n"
775  "*antenna_dim* equals 1, the data should correspond to the response\n"
776  "integrated in the azimuthal direction.\n"
777  "\n"
778  "Azimuth angle dimension: If *antenna_dim* equals 1, this dimension\n"
779  "must have size 1. A size >= 2 is otherwise required. The response\n"
780  "outside covered grid range is treated as zero.\n"
781  "\n"
782  "Usage: Set by the user.\n"
783  "\n"
784  "Dimensions: \n"
785  " GriddedField4:\n"
786  " ArrayOfString field_names[N_pol]\n"
787  " Vector f_grid[N_f]\n"
788  " Vector za_grid[N_za]\n"
789  " Vector aa_grid[N_aa]\n"
790  " Tensor4 data[N_pol][N_f][N_za][N_aa]\n"
791  ),
792  GROUP( "GriddedField4" )));
793 
794  wsv_data.push_back
795  (WsvRecord
796  ( NAME( "atmosphere_dim" ),
798  (
799  "The atmospheric dimensionality (1-3).\n"
800  "\n"
801  "This variable defines the complexity of the atmospheric structure.\n"
802  "The dimensionality is given by an integer between 1 and 3, where 1\n"
803  "means 1D etc. This is the master variable for the atmospheric\n"
804  "dimensionality, variables which size changes with the dimensionality\n"
805  "are checked to match this variable. \n"
806  "\n"
807  "Methods adapt automatically to this variable. That is, it should\n"
808  "not be needed to change any methods if the dimensionality is\n"
809  "changed. However, not all methods are working for higher dimensions.\n"
810  "\n"
811  "Usage: Set by the user.\n"
812  "\n"
813  "Unit: Integer value.\n"
814  ),
815  GROUP( "Index" )));
816 
817  wsv_data.push_back
818  (WsvRecord
819  ( NAME( "atmfields_checked" ),
821  (
822  "OK-flag for atmospheric grids and (physical) fields.\n"
823  "\n"
824  "The variable flags that clear-sky part of the atmosphere is\n"
825  "defined in formally correct way. Example on problems captured\n"
826  "include that the size of an atmospheric fields does not match the\n"
827  "length of the atmospheric grids, and physically incorrect data such\n"
828  "as negative temperatures.\n"
829  "\n"
830  "Note that *z_field* is not covered by this variable, it is instead\n"
831  "treated to be part of the geometrical considerations where the ok-flag\n"
832  "is denoted as *atmgeom_checked*. The cloudbox is covered by\n"
833  "*cloudbox_checked*.\n"
834  "\n"
835  "Shall be set by *atmfields_checkedCalc*. See that WSMs for treated\n"
836  "WSVs. Only the value 1 is taken as OK.\n"
837  ),
838  GROUP( "Index" )));
839 
840  wsv_data.push_back
841  (WsvRecord
842  ( NAME( "atmgeom_checked" ),
844  (
845  "OK-flag for the geometry of the model atmosphere.\n"
846  "\n"
847  "The variable flags that reference ellipsoid, the surface and *z_field*\n"
848  "contain formally correct values. Includes for example, that *z_field*\n"
849  "holds strictly increasing values at each geographical position.\n"
850  "\n"
851  "See also *atmfields_checked*.\n"
852  "\n"
853  "Shall be set by *atmgeom_checkedCalc*. Only the value 1 is taken\n"
854  "as OK.\n"
855  ),
856  GROUP( "Index" )));
857 
858  wsv_data.push_back
859  (WsvRecord
860  ( NAME( "atm_fields_compact" ),
862  (
863  "A compact combination of all atmospheric fields for a clear-sky\n"
864  "calculation on a common set of grids.\n"
865  "\n"
866  "This concerns temperature, altitude, and gas VMRs.\n"
867  "\n"
868  "The data are stored in a *GriddedField4*.\n"
869  "\n"
870  "The order of the fields must be:\n"
871  "T[K] z[m] VMR_1[1] ... VMR_n[1]\n"
872  "(the field names for the gases do not have to start with VMR_)\n"
873  "\n"
874  "Usage: Used inside batch calculations, to hold successive atmospheric\n"
875  " states from an *ArrayOfGriddedField4*.\n"
876  "\n"
877  "Possible future extensions: Add a similar variable\n"
878  "particle_fields_compact for hydrometeors?\n"
879  "\n"
880  "Dimensions: \n"
881  " GriddedField4:\n"
882  " ArrayOfString field_names[N_fields]\n"
883  " Vector p_grid[N_p]\n"
884  " Vector lat_grid[N_lat]\n"
885  " Vector lon_grid[N_lon]\n"
886  " Tensor4 data[N_fields][N_p][N_lat][N_lon]\n"
887  ),
888  GROUP( "GriddedField4" )));
889 
890  wsv_data.push_back
891  (WsvRecord
892  ( NAME( "atm_fields_compact_all" ),
894  (
895  "A compact combination of all atmospheric fields for a clear-sky\n"
896  "and cloud particle scattering calculation on a common set of grids.\n"
897  "\n"
898  "This concerns temperature, altitude, scattering particles and gas VMRs.\n"
899  "\n"
900  "The data are stored in a *GriddedField4*.\n"
901  "\n"
902  "The order of the fields must be:\n"
903  "T[K] z[m] LWC[kg/m3] IWC[kg/m3] Rain[kg/m2/s] Snow[kg/m2/s] VMR_1[1] ... VMR_n[1]\n"
904  "(the field names for the gases do not have to start with VMR_)\n"
905  "\n"
906  "Usage: Used inside batch calculations, to hold successive atmospheric\n"
907  " states from an *ArrayOfGriddedField4*.\n"
908  "\n"
909  "Dimensions: \n"
910  " GriddedField4:\n"
911  " ArrayOfString field_names[N_fields]\n"
912  " Vector p_grid[N_p]\n"
913  " Vector lat_grid[N_lat]\n"
914  " Vector lon_grid[N_lon]\n"
915  " Tensor4 data[N_fields][N_p][N_lat][N_lon]\n"
916  ),
917  GROUP( "GriddedField4" )));
918 
919  wsv_data.push_back
920  (WsvRecord
921  ( NAME( "backend_channel_response" ),
923  (
924  "The response of each backend channel.\n"
925  "\n"
926  "The response is given as an *ArrayOfGriddedField1*. The grid consists of\n"
927  "relative frequencies. These relative frequencies are added to \n"
928  "*f_backend* to obtain the absolute frequency for each response value.\n"
929  "The actual data are the response at each frequency grid point.\n"
930  "\n"
931  "There are here two options. If the array has length 1, the same\n"
932  "response is applied for all channels. Accordingly, this assumes that\n"
933  "all channels have the same response function. The second option is to\n"
934  "specify the response for each channel seperately. This signifies that\n"
935  "the *backend_channel_response* array has either 1 or n elements, where\n"
936  "n is the length of *f_backend*\n"
937  "\n"
938  "Usage: Set by the user.\n"
939  "\n"
940  "Size: Array[N_ch]\n"
941  " GriddedField1 \n "
942  " [N_f] \n"
943  " [N_f] \n"
944  ),
945  GROUP( "ArrayOfGriddedField1" )));
946 
947  wsv_data.push_back
948  (WsvRecord
949  ( NAME( "backend_channel_response_multi" ),
951  (
952  "As *backend_channel_response* but describes an instrument with\n"
953  "muliple mixer/receiver chains.\n"
954  "\n"
955  "See *f_backend_multi* for when to use this variable and size\n"
956  "constraints.\n"
957  "\n"
958  "Usage: Set by the user.\n "
959  ),
960  GROUP( "ArrayOfArrayOfGriddedField1" )));
961 
962  wsv_data.push_back
963  (WsvRecord
964  ( NAME( "batch_atm_fields_compact" ),
966  (
967  "An array of compact atmospheric states.\n"
968  "\n"
969  "This is used to hold a set of *atm_fields_compact* for batch\n"
970  "calculations. \n"
971  ),
972  GROUP( "ArrayOfGriddedField4" )));
973 
974  wsv_data.push_back
975  (WsvRecord
976  ( NAME( "batch_atm_fields_compact_all" ),
978  (
979  "An array of compact atmospheric states, including scattering particles.\n"
980  "\n"
981  "This is used to hold a set of *atm_fields_compact_all* for batch\n"
982  "calculations. \n"
983  ),
984  GROUP( "ArrayOfGriddedField4" )));
985 
986  wsv_data.push_back
987  (WsvRecord
988  ( NAME( "batch_cloudbox_limits" ),
990  (
991  "An array of *cloudbox_limits*.\n"
992  "\n"
993  "This is used to hold a set of *cloudbox_limits* for batch\n"
994  "calculations. \n"
995  ),
996  GROUP( "ArrayOfArrayOfIndex" )));
997 
998  wsv_data.push_back
999  (WsvRecord
1000  ( NAME( "batch_pnd_fields" ),
1001  DESCRIPTION
1002  (
1003  "An array of compact pnd states.\n"
1004  "\n"
1005  "This is used to hold a set of 1D *pnd_field* for batch\n"
1006  "calculations. \n"
1007  ),
1008  GROUP( "ArrayOfTensor4" )));
1009 
1010  wsv_data.push_back
1011  (WsvRecord
1012  ( NAME( "blackbody_radiation" ),
1013  DESCRIPTION
1014  (
1015  "The blackbody radiation for a given temperature.\n"
1016  "\n"
1017  "This variable can be seen as the source term for thermal emission.\n"
1018  "Normally, this variable should match the Planck function. The version\n"
1019  "of the Planck function taking frequency as input is considered as\n"
1020  "default for ARTS. The unit for radiance is then W / [m2 Hz sr].\n"
1021  "For frequencies where the Rayleigh-Jeans approximation is valid\n"
1022  "(but not recommended) option is to set this variable to be equal\n"
1023  "to the physical temperature, resulting in K as unit.\n"
1024  "\n"
1025  "Inside some methods, such as DOIT, the calculation of this source\n"
1026  "term can be hard-coded.\n"
1027  "\n"
1028  "Usage: Set by *blackbody_radiation_agenda*.\n"
1029  "\n"
1030  "Unit: See above.\n"
1031  "\n"
1032  "Dimensions: [ f_grid ]\n"
1033  ),
1034  GROUP( "Vector" )));
1035 
1036  wsv_data.push_back
1037  (WsvRecord
1038  ( NAME( "blackbody_radiation_agenda" ),
1039  DESCRIPTION
1040  (
1041  "See agendas.cc.\n"
1042  ),
1043  GROUP( "Agenda" )));
1044 
1045  wsv_data.push_back
1046  (WsvRecord
1047  ( NAME( "cloudbox_checked" ),
1048  DESCRIPTION
1049  (
1050  "OK-flag for variables associated with the cloudbox.\n"
1051  "\n"
1052  "This variable flags that cloudbox variables are defined in a formally\n"
1053  "and practically correct way. For example, that there is sufficient\n"
1054  "space between the cloudbox and edges of the model atmosphere (for\n"
1055  "2D and 3D). Pure clear-sky variables are covered by *basics_checked*.\n"
1056  "\n"
1057  "Relevant checks are performed by *cloudbox_checkedCalc. Only the\n"
1058  "value 1 is taken as OK.\n"
1059  ),
1060  GROUP( "Index" )));
1061 
1062  wsv_data.push_back
1063  (WsvRecord
1064  ( NAME( "cloudbox_limits" ),
1065  DESCRIPTION
1066  (
1067  "The limits of the cloud box.\n"
1068  "\n"
1069  "This variable defines the extension of the cloud box. The cloud box \n"
1070  "is defined to be rectangular in the used coordinate system, with \n"
1071  "limits exactly at points of the involved grids. This means, for \n"
1072  "example, that the vertical limits of the cloud box are two pressure \n"
1073  "levels. For 2D, the angular extension of the cloud box is between \n"
1074  "two points of the latitude grid, and likewise for 3D but then also \n"
1075  "with a longitude extension between two grid points. The latitude and\n"
1076  "longitude limits for the cloud box cannot be placed at the end \n"
1077  "points of the corresponding grid as it must be possible to calculate\n"
1078  "the incoming intensity field.\n"
1079  "\n"
1080  "The variable *cloudbox_limits* is an array of index value with\n"
1081  "length twice *atmosphere_dim*. For each dimension there is a lower \n"
1082  "limit and an upper limit. The order of the dimensions is as usual \n"
1083  "pressure, latitude and longitude. The upper limit index must be \n"
1084  "greater then the lower limit index. For example, \n"
1085  "*cloudbox_limits* = [0 5 4 11 4 11] means that cloud box extends\n"
1086  "between pressure levels 0 and 5, and latitude and longitude points 4\n"
1087  "and 11.\n"
1088  "\n"
1089  "If *cloudbox_on* = 0, the content of this variable is neglected, but\n"
1090  "it must be initiated to some dummy values.\n"
1091  "\n"
1092  "See further the ARTS user guide (AUG). Use the index to find where\n"
1093  "this variable is discussed. The variable is listed as a subentry to\n"
1094  "\"workspace variables\".\n"
1095  "\n"
1096  "Usage: Set by the user, either directly or using a method\n"
1097  " checking the extension of scattering particles.\n"
1098  "\n"
1099  "Unit: Index values.\n"
1100  "\n"
1101  "Size: [ 2 * atmosphere_dim ]\n"
1102  ),
1103  GROUP( "ArrayOfIndex" )));
1104 
1105  wsv_data.push_back
1106  (WsvRecord
1107  ( NAME( "cloudbox_on" ),
1108  DESCRIPTION
1109  (
1110  "Flag to activate the cloud box.\n"
1111  "\n"
1112  "Scattering calculations are confined to a part of the atmosphere\n"
1113  "denoted as the cloud box. The extension of the cloud box is given by\n"
1114  "*cloudbox_limits*. This variable tells methods if a cloud box is\n"
1115  "activated or not. \n"
1116  "\n"
1117  "See further the ARTS user guide (AUG). Use the index to find where\n"
1118  "this variable is discussed. The variable is listed as a subentry to\n"
1119  "\"workspace variables\".\n"
1120  "\n"
1121  "Usage: Set by the user.\n"
1122  "\n"
1123  "Unit: Boolean.\n"
1124  ),
1125  GROUP( "Index" )));
1126 
1127  wsv_data.push_back
1128  (WsvRecord
1129  ( NAME( "complex_refr_index"),
1130  DESCRIPTION
1131  (
1132  "Complex refractive index (n) data.\n"
1133  "\n"
1134  "The variable works as a lookup-table of complex refractive index.\n"
1135  "The matter type (water, ice ...) is unspecified, it is up to the\n"
1136  "user to fill the variable with data for the expected matter.\n"
1137  "This variable type can be used to describe n of both the surface and\n"
1138  "atmospheric particles. For the surface, a dedicated variable exists:\n"
1139  "*surface_complex_refr_index*.\n"
1140  "\n"
1141  "The column dimension has always size 2, where the first and second\n"
1142  "column holds the real and imaginary part of n, respectively. The row\n"
1143  "dimension matches temperature, and the page dimension is frequency.\n"
1144  "Both the temperature and frequency dimensions grids are allowed to\n"
1145  "have length 1, which is interpreted as n being constant in that\n"
1146  "dimension.\n"
1147  "\n"
1148  "When mapping these data to the required frequencies and temperatures\n"
1149  "a bi-linear interpolation is applied.\n"
1150  "\n"
1151  "Unit: -\n"
1152  "\n"
1153  "Dimensions: \n"
1154  " Vector f_grid[N_f]\n"
1155  " Vector T_grid[N_T]\n"
1156  " ArrayOfString Complex[2]\n"
1157  " Tensor3 data[N_f][N_T][2]\n"
1158  ),
1159  GROUP( "GriddedField3" ) ));
1160 
1161  wsv_data.push_back
1162  (WsvRecord
1163  ( NAME( "diy_dx" ),
1164  DESCRIPTION
1165  (
1166  "Derivative of *iy* with respect to retrieval quantities.\n"
1167  "\n"
1168  "The variable gives the derivative if *iy* with respect to some\n"
1169  "variables (but not all jacobian variables). Handled are only variables\n"
1170  "affecting monochromatic pencil beam radiances where an (semi-)\n"
1171  "analytical expression can be applied (and that this calculation way\n"
1172  "has been selected when the jacobian has been set-up).\n"
1173  "\n"
1174  "Usage: Output of *iy_main_agenda*.\n"
1175  "\n"
1176  "Dimensions: \n"
1177  " [n_quantities][ n_retrieval_points, f_grid, stokes_dim ]\n"
1178  ),
1179  GROUP( "ArrayOfTensor3" )));
1180 
1181  wsv_data.push_back
1182  (WsvRecord
1183  ( NAME( "doit_conv_flag" ),
1184  DESCRIPTION
1185  (
1186  "Flag for the convergence test.\n"
1187  "\n"
1188  "This variable is initialized with 0 inside the method \n"
1189  "*doit_i_fieldIterate*.\n"
1190  "If after an iteration the convergence test is fulfilled, 1 is \n"
1191  "assigned which means that the iteration is completed. \n"
1192  "\n"
1193  "Usage: Method output. \n"
1194  ),
1195  GROUP( "Index" )));
1196 
1197  wsv_data.push_back
1198  (WsvRecord
1199  ( NAME( "doit_conv_test_agenda" ),
1200  DESCRIPTION
1201  (
1202  "See agendas.cc.\n"
1203  ),
1204  GROUP( "Agenda" )));
1205 
1206  wsv_data.push_back
1207  (WsvRecord
1208  ( NAME( "doit_i_field" ),
1209  DESCRIPTION
1210  (
1211  "Radiation field.\n"
1212  "\n"
1213  "This variable is used to store the monochromatic radiation field \n"
1214  "inside the cloudbox which is found by an iterative solution (DOIT).\n"
1215  "Refer to AUG for further information.\n"
1216  "\n"
1217  "Usage: Method output. \n"
1218  "\n"
1219  "Unit: W / (m^2 Hz sr) for each Stokes component.\n"
1220  "\n"
1221  "Size: [(cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
1222  " (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
1223  " (cloudbox_limits[5] - cloudbox_limits[4]) +1, \n"
1224  " N_za, N_aa, N_i ]\n"
1225  "\n"
1226  "Note: For 1D, the size of the azimuth angle dimension (N_aa) is always 1.\n"
1227  ),
1228  GROUP( "Tensor6" )));
1229 
1230  wsv_data.push_back
1231  (WsvRecord
1232  ( NAME( "doit_i_field2" ),
1233  DESCRIPTION
1234  (
1235  "Radiation field.\n"
1236  "\n"
1237  "This variable is used to store the monochromatic radiation field \n"
1238  "inside the cloudbox which is found by an iterative solution (DOIT).\n"
1239  "Refer to AUG for further information.\n"
1240  "\n"
1241  "Usage: Method output. \n"
1242  "\n"
1243  "Unit: W / (m^2 Hz sr) for each Stokes component.\n"
1244  "\n"
1245  "Size: [(cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
1246  " (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
1247  " (cloudbox_limits[5] - cloudbox_limits[4]) +1, \n"
1248  " N_za, N_aa, N_i ]\n"
1249  ),
1250  GROUP( "Tensor7" )));
1251 
1252  wsv_data.push_back
1253  (WsvRecord
1254  ( NAME( "doit_i_field1D_spectrum" ),
1255  DESCRIPTION
1256  (
1257  "Radiation field for the whole frequency spectrum. \n"
1258  "\n"
1259  "This variable holds the radiation field. In contrast to \n"
1260  "*doit_i_field* this variable has an additional freqeuncy \n"
1261  "dimension. This variable is only used for 1D DOIT \n"
1262  "calculations.\n"
1263  "\n"
1264  "Usage: Output of *DoitCloudboxFieldPut*\n"
1265  "\n"
1266  "Unit: W / (m^2 Hz sr)\n"
1267  "\n"
1268  "Size: [N_f \n"
1269  " (cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
1270  " N_za, N_aa, N_i ]\n"
1271  ),
1272  GROUP( "Tensor4" )));
1273 
1274  wsv_data.push_back
1275  (WsvRecord
1276  ( NAME( "doit_i_field_old" ),
1277  DESCRIPTION
1278  (
1279  "Intensity field inside the cloudbox.\n"
1280  "\n"
1281  "This variable is used to store the intensity field inside the\n"
1282  "cloudbox while performing the iteration. One has to store the\n"
1283  "intensity field of the previous iteration to be able to do the \n"
1284  "convergence test after each iteration.\n"
1285  "Refer to AUG for more information.\n"
1286  "\n"
1287  "Usage: Method output. \n"
1288  "\n"
1289  "Unit: W / (m^2 Hz sr) for each Stokes component.\n"
1290  "\n"
1291  "Size: [(cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
1292  " (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
1293  " (cloudbox_limits[5] - cloudbox_limits[4]) +1, \n"
1294  " N_za, N_aa, N_i ]\n"
1295  ),
1296  GROUP( "Tensor6" )));
1297 
1298  wsv_data.push_back
1299  (WsvRecord
1300  ( NAME( "doit_is_initialized" ),
1301  DESCRIPTION
1302  (
1303  "Flag to determine if *DoitInit* was called.\n"
1304  "\n"
1305  "This flag is checked by *ScatteringDoit* to make sure that\n"
1306  "*DoitInit* was called before.\n"
1307  ),
1308  GROUP( "Index" )));
1309 
1310  wsv_data.push_back
1311  (WsvRecord
1312  ( NAME( "doit_iteration_counter" ),
1313  DESCRIPTION
1314  (
1315  "Counter for number of iterations.\n"
1316  "\n"
1317  "This variable holds the number of iterations \n"
1318  "while solving the VRTE using the DOIT method. \n"
1319  ),
1320  GROUP( "Index" )));
1321 
1322  wsv_data.push_back
1323  (WsvRecord
1324  ( NAME( "doit_mono_agenda" ),
1325  DESCRIPTION
1326  (
1327  "See agendas.cc.\n"
1328  ),
1329  GROUP( "Agenda" )));
1330 
1331  wsv_data.push_back
1332  (WsvRecord
1333  ( NAME( "doit_rte_agenda" ),
1334  DESCRIPTION
1335  (
1336  "See agendas.cc.\n"
1337  ),
1338  GROUP( "Agenda" )));
1339 
1340  wsv_data.push_back
1341  (WsvRecord
1342  ( NAME( "doit_scat_field_agenda" ),
1343  DESCRIPTION
1344  (
1345  "See agendas.cc.\n"
1346  ),
1347  GROUP( "Agenda" )));
1348 
1349  wsv_data.push_back
1350  (WsvRecord
1351  ( NAME( "doit_scat_field" ),
1352  DESCRIPTION
1353  (
1354  "Scattered field inside the cloudbox.\n"
1355  "\n"
1356  "This variable holds the value of the scattering integral for all\n"
1357  "points inside the cloudbox. For more information refer to AUG.\n"
1358  "\n"
1359  "Usage: Input to *doit_i_fieldUpdate...*. \n"
1360  "\n"
1361  "Unit: W / (m^2 Hz sr) for each Stokes component.\n"
1362  "\n"
1363  "Size: [(cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
1364  " (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
1365  " (cloudbox_limits[5] - cloudbox_limits[4]) +1, \n"
1366  " N_za, N_aa, N_i ]\n"
1367  ),
1368  GROUP( "Tensor6" )));
1369 
1370  wsv_data.push_back
1371  (WsvRecord
1372  ( NAME( "doit_za_grid_opt" ),
1373  DESCRIPTION
1374  (
1375  "Optimized zenith angle grid.\n"
1376  "\n"
1377  "Output of the method *doit_za_grid_optCalc*.\n"
1378  "\n"
1379  "Usage: Output of *doit_za_grid_optCalc* \n"
1380  "\n"
1381  "Unit: degrees \n"
1382  ),
1383  GROUP( "Vector" )));
1384 
1385  wsv_data.push_back
1386  (WsvRecord
1387  ( NAME( "doit_za_grid_size" ),
1388  DESCRIPTION
1389  (
1390  "Number of equidistant grid points of the zenith angle grid, \n"
1391  "defined from 0 to 180 deg, for the scattering integral calculation. \n"
1392  "\n"
1393  "Usage: Output of *DoitAngularGridsSet*.\n"
1394  ),
1395  GROUP( "Index" )));
1396 
1397  wsv_data.push_back
1398  (WsvRecord
1399  ( NAME( "doit_za_interp" ),
1400  DESCRIPTION
1401  (
1402  "Flag for interplation method in zenith angle dimension.\n"
1403  "\n"
1404  "0 - linear interpolation \n"
1405  "1 - cubic interpolation \n"
1406  "\n"
1407  "Usage: Set by user in *doit_za_interpSet*. \n"
1408  ),
1409  GROUP( "Index" )));
1410 
1411  wsv_data.push_back
1412  (WsvRecord
1413  ( NAME( "ext_mat" ),
1414  DESCRIPTION
1415  (
1416  "Total extinction matrix.\n"
1417  "\n"
1418  "This variable contains the extinction coefficient matrix which\n"
1419  "is used in the RT calculation in the cloudbox . It is the physical\n"
1420  "extinction matrix which includes particles extinction for all chosen\n"
1421  "particle types and gaseous extinction for all chosen gaseous species.\n"
1422  "\n"
1423  "See further the ARTS user guide (AUG). Use the index to find where\n"
1424  "this variable is discussed. The variable is listed as a subentry to\n"
1425  "\"workspace variables\".\n"
1426  "\n"
1427  "Usage: Output of the agendas *opt_prop_gas_agenda* \n"
1428  " and *opt_prop_part_agenda* \n"
1429  "\n"
1430  "Unit: [Hz, m^2, m^2] "
1431  "\n"
1432  "Dimensions: [f_grid, stokes_dim, stokes_dim]\n"
1433  ),
1434  GROUP( "Tensor3" )));
1435 
1436  wsv_data.push_back
1437  (WsvRecord
1438  ( NAME( "ext_mat_spt" ),
1439  DESCRIPTION
1440  (
1441  "Extinction matrix for a single particle type.\n"
1442  "\n"
1443  "This variable contains the elements for extinction matrix of a \n"
1444  "single particle for a given propagation direction. It is calculated\n"
1445  "input as well as the output of the agenda *spt_calc_agenda*. \n"
1446  "\n"
1447  "Usage: Output of *spt_calc_agenda* \n"
1448  "\n"
1449  "Unit: m^2 \n"
1450  "\n"
1451  "Dimensions: [N_particletypes, stokes_dim, stokes_dim]\n"
1452  ),
1453  GROUP( "Tensor3" )));
1454 
1455  wsv_data.push_back
1456  (WsvRecord
1457  ( NAME( "file_index" ),
1458  DESCRIPTION
1459  (
1460  "Index number for files.\n"
1461  "\n"
1462  "See *WriteXMLIndexed* for further information.\n"
1463  "\n"
1464  "Usage: Input to *WriteXMLIndexed* and *ReadXMLIndexed*. \n"
1465  ),
1466  GROUP( "Index" )));
1467 
1468  wsv_data.push_back
1469  (WsvRecord
1470  ( NAME( "forloop_agenda" ),
1471  DESCRIPTION
1472  (
1473  "See agendas.cc.\n"
1474  ),
1475  GROUP( "Agenda" )));
1476 
1477  wsv_data.push_back
1478  (WsvRecord
1479  ( NAME( "forloop_index" ),
1480  DESCRIPTION
1481  (
1482  "The index for for-loops.\n"
1483  "\n"
1484  "This is the index that is used by method *ForLoop* to loop over\n"
1485  "*forloop_agenda*. \n"
1486  ),
1487  GROUP( "Index" )));
1488 
1489  wsv_data.push_back
1490  (WsvRecord
1491  ( NAME( "fos_iyin_za_angles" ),
1492  DESCRIPTION
1493  (
1494  "So far just testing of FOS ..."
1495  ),
1496  GROUP( "Vector" )));
1497 
1498  wsv_data.push_back
1499  (WsvRecord
1500  ( NAME( "fos_scatint_angles" ),
1501  DESCRIPTION
1502  (
1503  "So far just testing of FOS ..."
1504  ),
1505  GROUP( "Matrix" )));
1506 
1507  wsv_data.push_back
1508  (WsvRecord
1509  ( NAME( "f_backend" ),
1510  DESCRIPTION
1511  (
1512  "The frequency position of each backend (spectrometer) channel.\n"
1513  "\n"
1514  "Usage: Set by the user.\n "
1515  "\n"
1516  "Unit: Hz\n"
1517  ),
1518  GROUP( "Vector" )));
1519 
1520  wsv_data.push_back
1521  (WsvRecord
1522  ( NAME( "f_backend_multi" ),
1523  DESCRIPTION
1524  (
1525  "As *f_backend* but describes an instrument with muliple\n"
1526  "mixer/receiver chains.\n"
1527  "\n"
1528  "This variable is needed when e.g. the receiver has several mixers\n"
1529  "or the the receiver measures several polarisation and the channels\n"
1530  "differ in position or response function. \n"
1531  "\n"
1532  "The array has one element for each \"receiver chain\". The array\n"
1533  "length must match *backend_channel_response_multi*, and possibly\n"
1534  "also *lo_multi*.\n"
1535  "\n"
1536  "Usage: Set by the user.\n "
1537  "\n"
1538  "Unit: Hz\n"
1539  ),
1540  GROUP( "ArrayOfVector" )));
1541 
1542  wsv_data.push_back
1543  (WsvRecord
1544  ( NAME( "f_grid" ),
1545  DESCRIPTION
1546  (
1547  "The frequency grid for monochromatic pencil beam calculations.\n"
1548  "\n"
1549  "Usage: Set by the user.\n "
1550  "\n"
1551  "Unit: Hz\n"
1552  ),
1553  GROUP( "Vector" )));
1554 
1555  wsv_data.push_back
1556  (WsvRecord
1557  (NAME( "f_index" ),
1558  DESCRIPTION
1559  (
1560  "Frequency index. \n"
1561  "\n"
1562  "Not all methods handle all monochromatic frequencies (of *f_grid*) in\n"
1563  "parellel and this variable is used for communication between methods,\n"
1564  "holding the index of the frequency treated presently.\n"
1565  "\n"
1566  "In some contexts, a negative f_index means all frequencies.\n"
1567  "\n"
1568  "Usage: Method output.\n"
1569  ),
1570  GROUP( "Index" )));
1571 
1572  wsv_data.push_back
1573  (WsvRecord
1574  (NAME( "g0" ),
1575  DESCRIPTION
1576  (
1577  "Gravity at zero altitude.\n"
1578  "\n"
1579  "This variable is \"little g\" at the reference ellipsiod. That is,\n"
1580  "for Earth this is a value around 9.81 m/s2\n"
1581  ),
1582  GROUP( "Numeric" )));
1583 
1584  wsv_data.push_back
1585  (WsvRecord
1586  ( NAME( "g0_agenda" ),
1587  DESCRIPTION
1588  (
1589  "See agendas.cc.\n"
1590  ),
1591  GROUP( "Agenda" )));
1592 
1593  wsv_data.push_back
1594  (WsvRecord
1595  ( NAME( "isotopologue_quantum" ),
1596  DESCRIPTION
1597  (
1598  "Quantum physical values for the Zeeman effect to work not easily available in other databases.\n"
1599  "\n"
1600  "Example:\n"
1601  "This variable should contain total spin [denoted S, with units in angular momentum]\n"
1602  "and the molecular Landé g-factor [denoted g_s, with, to the author, unknown units].\n"
1603  "\n"
1604  "The variable can, e.g., be loaded from a file formated as '@ isotopologue g_s S'\n"
1605  ),
1606  GROUP( "SpeciesAuxData" )));
1607 
1608  wsv_data.push_back
1609  (WsvRecord
1610  ( NAME( "isotopologue_ratios" ),
1611  DESCRIPTION
1612  (
1613  "Isotopologue ratios. This variable can be set to default values by\n"
1614  "calling *isotopologue_ratiosInitFromBuiltin*\n"
1615  ),
1616  GROUP( "SpeciesAuxData" )));
1617 
1618  wsv_data.push_back
1619  (WsvRecord
1620  ( NAME( "iy" ),
1621  DESCRIPTION
1622  (
1623  "Monochromatic pencil beam radiance spectrum.\n"
1624  "\n"
1625  "This variable holds a single spectrum, with values corresponding\n"
1626  "to infinite frequency and spatial resolution (compare to *y*).\n"
1627  "\n"
1628  "The variable is used to represent spectra at all positions of the\n"
1629  "propagation path and can e.g. temporarily hold radiation entering\n"
1630  "the atmpophere from space. The unit depends on if emission is \n"
1631  "considered or not (no conversion to e.g. brightness temperature shall\n"
1632  "be applied).\n"
1633  "\n"
1634  "Usage: Used by radiative transfer methods.\n"
1635  "\n"
1636  "Unit: W / (m^2 Hz sr) or transmission.\n"
1637  "\n"
1638  "Dimensions: [ f_grid, stokes_dim ]\n"
1639  ),
1640  GROUP( "Matrix" )));
1641 
1642  wsv_data.push_back
1643  (WsvRecord
1644  ( NAME( "iyb" ),
1645  DESCRIPTION
1646  (
1647  "Monochromatic pencil beam data for one measurement block.\n"
1648  "\n"
1649  "The data for all *iy* of a measurement block appended to a vector,\n"
1650  "following the sorting order used for *y*.\n"
1651  "\n"
1652  "Usage: Used internally.\n"
1653  "\n"
1654  "Unit: W / (m^2 Hz sr) or transmission.\n"
1655  "\n"
1656  "Dimensions: [ naa*nza*nf*stokes_dim ] where naa is length of\n"
1657  " mblock_aa_grid, za length of mblock_za_grid and nf is\n"
1658  " length of f_grid.\n"
1659  ),
1660  GROUP( "Vector" )));
1661 
1662  wsv_data.push_back
1663  (WsvRecord
1664  ( NAME( "iy_agenda_call1" ),
1665  DESCRIPTION
1666  (
1667  "Flag to handle recursive calls of *iy_main_agenda*\n"
1668  "\n"
1669  "The agenda *iy_main_agenda* can be used recursively and this flag\n"
1670  "is used to tell the methods inside the agenda which is the primary\n"
1671  " call. This is handled automatically for methods using\n"
1672  "*iy_main_agenda*, such as *yCalc*, but the user must set this\n"
1673  "variable to 1 if the agenda is called directly inside the control\n"
1674  "file (which should be a rare case).\n"
1675  ),
1676  GROUP( "Index" )));
1677 
1678  wsv_data.push_back
1679  (WsvRecord
1680  ( NAME( "iy_aux" ),
1681  DESCRIPTION
1682  (
1683  "Data auxiliary to *iy*.\n"
1684  "\n"
1685  "Different data beside the direct result of the radiative transfer\n"
1686  "calculations (*iy*)can be obtained by this variable. These auxilary\n"
1687  "data are selected by *iy_aux_vars*.\n"
1688  "\n"
1689  "The size of the data is made as compact as possible (in contrast to\n"
1690  "*y_aux*). For example, the frequency and Stokes dimensions are set to\n"
1691  "1 when along-the-path temperature is stored. Further, for overall\n"
1692  "radiative transfer character, such as total ransmission, the last\n"
1693  "dimension is set to have size 1.\n"
1694  "\n"
1695  "See also *iy_aux_vars*.\n"
1696  "\n"
1697  "Usage: Provided by some radiative transfer methods.\n"
1698  "\n"
1699  "Dimensions: [quantity][ 1 or f_grid, 1 or stokes_dim, 1 or stokes_dim,\n"
1700  " 1 or propgation path point ]\n"
1701  ),
1702  GROUP( "ArrayOfTensor4" )));
1703 
1704  wsv_data.push_back
1705  (WsvRecord
1706  ( NAME( "iy_aux_vars" ),
1707  DESCRIPTION
1708  (
1709  "Selection of quantities for *iy_aux* and when applicable also *y_aux*.\n"
1710  "\n"
1711  "Each element of this string array determines the quantity for the\n"
1712  "corresponding element in *iy_aux* and *y_aux* (ie. the quantities\n"
1713  "are stored in the order given in *iy_aux_vars*).\n"
1714  "\n"
1715  "The possible choices vary between the methods. See the WSM you select\n"
1716  "for *iy_main_agenda* for the complete set of choices. However,\n"
1717  "if the calculations are done through *yCalc*, you can not select\n"
1718  "along-the-path variables (but e.g. \"Transmission, total\" is a\n"
1719  "valid option).\n"
1720  ),
1721  GROUP( "ArrayOfString" )));
1722 
1723  wsv_data.push_back
1724  (WsvRecord
1725  ( NAME( "iy_cloudbox_agenda" ),
1726  DESCRIPTION
1727  (
1728  "See agendas.cc.\n"
1729  ),
1730  GROUP( "Agenda" )));
1731 
1732  wsv_data.push_back
1733  (WsvRecord
1734  ( NAME( "iy_main_agenda" ),
1735  DESCRIPTION
1736  (
1737  "See agendas.cc.\n"
1738  ),
1739  GROUP( "Agenda" )));
1740 
1741  wsv_data.push_back
1742  (WsvRecord
1743  ( NAME( "iy_space_agenda" ),
1744  DESCRIPTION
1745  (
1746  "See agendas.cc.\n"
1747  ),
1748  GROUP( "Agenda" )));
1749 
1750  wsv_data.push_back
1751  (WsvRecord
1752  ( NAME( "iy_sub_agenda" ),
1753  DESCRIPTION
1754  (
1755  "See agendas.cc.\n"
1756  ),
1757  GROUP( "Agenda" )));
1758 
1759  wsv_data.push_back
1760  (WsvRecord
1761  ( NAME( "iy_surface_agenda" ),
1762  DESCRIPTION
1763  (
1764  "See agendas.cc.\n"
1765  ),
1766  GROUP( "Agenda" )));
1767 
1768  wsv_data.push_back
1769  (WsvRecord
1770  ( NAME( "iy_transmission" ),
1771  DESCRIPTION
1772  (
1773  "Transmission to be included in *iy*.\n"
1774  "\n"
1775  "The calculation of *iy* can be performed over several propation path\n"
1776  "branches, and there can be recursive calls of *iy_main_agenda*.\n"
1777  "This variable gives the transmission from the end point of the present\n"
1778  "branch and the sensor for such recursive cases.\n"
1779  "\n"
1780  "This variable is used purely internally. The exact usage can vary\n"
1781  "between different RT integration schemes.\n"
1782  "\n"
1783  "Usage: Internally inside iy_main_agenda.\n"
1784  "\n"
1785  "Unit: 1\n"
1786  "\n"
1787  "Dimensions: [ f_grid, stokes_dim, stokes_dim ]\n"
1788  ),
1789  GROUP( "Tensor3" )));
1790 
1791  wsv_data.push_back
1792  (WsvRecord
1793  ( NAME( "iy_transmitter_agenda" ),
1794  DESCRIPTION
1795  (
1796  "See agendas.cc.\n"
1797  ),
1798  GROUP( "Agenda" )));
1799 
1800  wsv_data.push_back
1801  (WsvRecord
1802  ( NAME( "iy_unit" ),
1803  DESCRIPTION
1804  (
1805  "Selection of output unit for some radiative transfer methods.\n"
1806  "\n"
1807  "This variable allows that the unit of the output radiance/intensity\n"
1808  "is changed. The possible choices differ between the radiative\n"
1809  "methods, including not considering the variable at all.\n"
1810  "Accordingly, for details see the radiative method you have selected.\n"
1811  ),
1812  GROUP( "String" )));
1813 
1814  wsv_data.push_back
1815  (WsvRecord
1816  ( NAME( "jacobian" ),
1817  DESCRIPTION
1818  (
1819  "The Jacobian matrix.\n"
1820  "\n"
1821  "The matrix holding the Jacobians of the retrieval quantities. Each\n"
1822  "quantity, and its subdivision into atmospheric grids, are stored as\n"
1823  "columns in the matrix. The matrix has to be initialised before the\n"
1824  "quantities can be defined. Initialisation WSM is *jacobianInit*.\n"
1825  "Retrieval quantities are then added with *jacobianAdd...* methods.\n"
1826  "See the online help. Pure numerical calculation is described by\n"
1827  "*jacobian_calc_agenda* and are performed by *jacobianCalc*.\n"
1828  "\n"
1829  "Units: See the different retrieval quantities.\n"
1830  "\n"
1831  "Dimension: [ y, number of retrieval quantities and grids ]\n"
1832  ),
1833  GROUP( "Matrix" )));
1834 
1835  wsv_data.push_back
1836  (WsvRecord
1837  ( NAME( "jacobian_agenda" ),
1838  DESCRIPTION
1839  (
1840  "See agendas.cc.\n"
1841  ),
1842  GROUP( "Agenda" )));
1843 
1844  wsv_data.push_back
1845  (WsvRecord
1846  ( NAME( "jacobian_do" ),
1847  DESCRIPTION
1848  (
1849  "Flag to activate jacobian calculations.\n"
1850  "\n"
1851  "If this variable is set to 0, no jacobian calculations will be\n"
1852  "even if such calculations have been set-up (through the jacobianAddXxx\n"
1853  "methods).\n"
1854  ),
1855  GROUP( "Index" )));
1856 
1857  wsv_data.push_back
1858  (WsvRecord
1859  ( NAME( "jacobian_indices" ),
1860  DESCRIPTION
1861  (
1862  "First and last column index in *jacobian* for each retrieval quantity."
1863  "\n"
1864  "This variable tells which part of *jacobian* that corresponds to \n"
1865  "each jacobian quantity.\n"
1866  "\n"
1867  "Usage: Set by *jacobianClose*.\n"
1868  ),
1869  GROUP( "ArrayOfArrayOfIndex" )));
1870 
1871  wsv_data.push_back
1872  (WsvRecord
1873  ( NAME( "jacobian_quantities" ),
1874  DESCRIPTION
1875  (
1876  "The retrieval quantities in the Jacobian matrix.\n"
1877  "\n"
1878  "An array of retrieval quantities for which the jacobians are\n"
1879  "calculated.\n"
1880  "\n"
1881  "Usage: Quantities are added by the jacobianAdd WSMs.\n"
1882  ),
1883  GROUP( "ArrayOfRetrievalQuantity" )));
1884 
1885  wsv_data.push_back
1886  (WsvRecord
1887  ( NAME( "lambertian_nza" ),
1888  DESCRIPTION
1889  (
1890  "Number of zenith angles considered in Lambertian surface scattering.\n"
1891  "\n"
1892  "For Lambertian surface scattering, the down-welling radiation field\n"
1893  "is estimated by making calculations for *lambertian_nza* directions.\n"
1894  "For details see WSM *surfaceLambertianSimple*.\n"
1895  "\n"
1896  "Usage: Set by the user.\n"
1897  ),
1898  GROUP( "Index" )));
1899 
1900  wsv_data.push_back
1901  (WsvRecord
1902  ( NAME( "lat" ),
1903  DESCRIPTION
1904  (
1905  "A latitude.\n"
1906  "\n"
1907  "Unit: degrees\n"
1908  ),
1909  GROUP( "Numeric" )));
1910 
1911  wsv_data.push_back
1912  (WsvRecord
1913  ( NAME( "lat_grid" ),
1914  DESCRIPTION
1915  (
1916  "The latitude grid.\n"
1917  "\n"
1918  "The latitudes for which the atmospheric fields are defined. The\n"
1919  "atmosphere is undefined outside the range covered by the grid.\n"
1920  "The grid must be sorted in increasing order, with no repetitions.\n"
1921  "\n"
1922  "Geocentric latitudes are used.\n"
1923  "\n"
1924  "For 1D calculations this vector shall be set to be empty.\n"
1925  "\n"
1926  "For 2D cases the latitudes shall be interpreted as the angular\n"
1927  "distance inside the orbit plane from the equator (values\n"
1928  "outside +-90 deg are allowed).\n"
1929  "\n"
1930  "For 3D, the valid latitude range is [-90,90].\n"
1931  "\n"
1932  "See further the ARTS user guide (AUG). Use the index to find where\n"
1933  "this variable is discussed. The variable is listed as a subentry to\n"
1934  "\"workspace variables\".\n"
1935  "\n"
1936  "Usage: Set by the user.\n"
1937  "\n"
1938  "Unit: degrees\n"
1939  ),
1940  GROUP( "Vector" )));
1941 
1942  wsv_data.push_back
1943  (WsvRecord
1944  ( NAME( "lat_true" ),
1945  DESCRIPTION
1946  (
1947  "Latitudinal geolocation for 1D and 2D data.\n"
1948  "\n"
1949  "The variables *lat_grid* and *lon_grid* contain true positions only\n"
1950  "for 3D. For 1D and 2D, the geographical position is given by\n"
1951  "*lat_true* and *lon_true*. Can be left empty when not used.\n"
1952  "Otherwise:\n"
1953  "\n"
1954  " 1D: *lat_true* shall have length 1\n"
1955  "\n"
1956  " 2D: Both *lat_true* and *lon_true* shall have a length matching\n"
1957  " *lat_grid*. That is, *lat_true* and *lon_true* shall not be\n"
1958  " seen as grids, they are vectors giving the actual lat or lon\n"
1959  " for each point corresponding to *lat_grid*.\n"
1960  "\n"
1961  "Usage: Set by the user.\n"
1962  "\n"
1963  "Unit: degrees\n"
1964  ),
1965  GROUP( "Vector" )));
1966 
1967  wsv_data.push_back
1968  (WsvRecord
1969  ( NAME( "line_mixing_data" ),
1970  DESCRIPTION
1971  (
1972  "Line mixing data.\n"
1973  "Dimensions: First dimension has same size as *abs_species*.\n"
1974  " Second dimension corresponds to entries of line mixing data.\n"
1975  " The LineMixingRecords contain the species index,\n"
1976  " the isotopologue index, the QuantumNumberRecord and the line mixing data.\n"
1977  ),
1978  GROUP( "ArrayOfArrayOfLineMixingRecord" )));
1979 
1980  wsv_data.push_back
1981  (WsvRecord
1982  ( NAME( "line_mixing_data_lut" ),
1983  DESCRIPTION
1984  (
1985  "Lookup table to match the LineRecords in abs_lines_per_species to entries\n"
1986  "in the line mixing data stored in *line_mixing_data*.\n"
1987  "The Index points to the matching entry in *line_mixing_data* or\n"
1988  "-1 if there is no line mixing data available for this line.\n"
1989  "\n"
1990  "Dimensions: First dimension has same size as *abs_species*.\n"
1991  " Second dimension is zero for line mixing species without line mixing data.\n"
1992  " and the same size as *abs_lines_per_species* for line mixing species.\n"
1993  ),
1994  GROUP( "ArrayOfArrayOfIndex" )));
1995 
1996  wsv_data.push_back
1997  (WsvRecord
1998  ( NAME( "lo" ),
1999  DESCRIPTION
2000  (
2001  "The local oscillator frequency.\n"
2002  "\n"
2003  "A local oscillator frequency is used in a heterodyne system when\n"
2004  "the mixer folds the spectra from from radio frequencies (RF) to\n"
2005  "intermediate frequencies (IF).\n"
2006  "\n"
2007  "Unit: Hz\n"
2008  "\n"
2009  "Usage: Set by the user.\n"
2010  ),
2011  GROUP( "Numeric" )));
2012 
2013  wsv_data.push_back
2014  (WsvRecord
2015  ( NAME( "lo_multi" ),
2016  DESCRIPTION
2017  (
2018  "Local oscillator frequencies.\n"
2019  "\n"
2020  "As *lo* but describes an instrument with multiple mixers. A vector\n"
2021  "element for each LO. The size of this variable and\n"
2022  "*sideband_response_multi* shall match, and probably also\n"
2023  "*sideband_mode_multi*.\n"
2024  "\n"
2025  "Unit: Hz\n"
2026  "\n"
2027  "Usage: Set by the user.\n"
2028  ),
2029  GROUP( "Vector" )));
2030 
2031  wsv_data.push_back
2032  (WsvRecord
2033  ( NAME( "lon" ),
2034  DESCRIPTION
2035  (
2036  "A longitude.\n"
2037  "\n"
2038  "Unit: degrees\n"
2039  ),
2040  GROUP( "Numeric" )));
2041 
2042  wsv_data.push_back
2043  (WsvRecord
2044  ( NAME( "lon_grid" ),
2045  DESCRIPTION
2046  (
2047  "The longitude grid.\n"
2048  "\n"
2049  "The longitudes for which the atmospheric fields are defined. The\n"
2050  "atmosphere is undefined outside the range covered by the grid.\n"
2051  "The grid must be sorted in increasing order, with no repetitions.\n"
2052  "\n"
2053  "For 1D and 2D, this WSV shall be set to be empty.\n"
2054  "\n"
2055  "Allowed values for longitudes is the range [-360,360]. The difference\n"
2056  "between last and first value can not exceed 360 degrees. A difference\n"
2057  "of exactly 360 deg. means that the complete globe is covered and no\n"
2058  "propagation paths will reach a longitude edge.\n"
2059  "\n"
2060  "See further the ARTS user guide (AUG). Use the index to find where\n"
2061  "this variable is discussed. The variable is listed as a subentry to\n"
2062  "\"workspace variables\".\n"
2063  "\n"
2064  "Usage: Set by the user.\n"
2065  "\n"
2066  "Unit: degrees\n"
2067  ),
2068  GROUP( "Vector" )));
2069 
2070  wsv_data.push_back
2071  (WsvRecord
2072  ( NAME( "lon_true" ),
2073  DESCRIPTION
2074  (
2075  "Longitudinal geolocation for 1D and 2D data.\n"
2076  "\n"
2077  "The variables *lat_grid* and *lon_grid* contain true positions only\n"
2078  "for 3D. For 1D and 2D, the geographical position is given by\n"
2079  "*lat_true* and *lon_true*. Can be left empty when not used.\n"
2080  "Otherwise:\n"
2081  "\n"
2082  " 1D: *lon_true* shall have length 1\n"
2083  "\n"
2084  " 2D: Both *lat_true* and *lon_true* shall have a length matching\n"
2085  " *lat_grid*. That is, *lat_true* and *lon_true* shall not be\n"
2086  " seen as grids, they are vectors giving the actual lat or lon\n"
2087  " for each point corresponding to *lat_grid*.\n"
2088  "\n"
2089  "Usage: Set by the user.\n"
2090  "\n"
2091  "Unit: degrees\n"
2092  ),
2093  GROUP( "Vector" )));
2094 
2095  wsv_data.push_back
2096  (WsvRecord
2097  ( NAME( "mag_u_field" ),
2098  DESCRIPTION
2099  (
2100  "Zonal component of the magnetic field.\n"
2101  "\n"
2102  "The East-West magnetic field component. Positive values, when\n"
2103  "pointing eastward.\n"
2104  "\n"
2105  "Can be set to be empty, which is interpreted as zero field strength\n"
2106  "everywhere.\n"
2107  "\n"
2108  "Unit: T\n"
2109  "\n"
2110  "Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
2111  ),
2112  GROUP( "Tensor3" )));
2113 
2114  wsv_data.push_back
2115  (WsvRecord
2116  ( NAME( "mag_v_field" ),
2117  DESCRIPTION
2118  (
2119  "Meridional component of the magnetic field.\n"
2120  "\n"
2121  "The North-South magnetic field component. Positive values, when\n"
2122  "pointing northward.\n"
2123  "\n"
2124  "Can be set to be empty, which is interpreted as zero field strength\n"
2125  "everywhere.\n"
2126  "\n"
2127  "Unit: T\n"
2128  "\n"
2129  "Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
2130  ),
2131  GROUP( "Tensor3" )));
2132 
2133  wsv_data.push_back
2134  (WsvRecord
2135  ( NAME( "mag_w_field" ),
2136  DESCRIPTION
2137  (
2138  "Vertical component of the magnetic field.\n"
2139  "\n"
2140  "Positive values, when pointing upward.\n"
2141  "\n"
2142  "Can be set to be empty, which is interpreted as zero field strength\n"
2143  "everywhere.\n"
2144  "\n"
2145  "Unit: T\n"
2146  "\n"
2147  "Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
2148  ),
2149  GROUP( "Tensor3" )));
2150 
2151  wsv_data.push_back
2152  (WsvRecord
2153  ( NAME( "main_agenda" ),
2154  DESCRIPTION
2155  (
2156  "See agendas.cc.\n"
2157  ),
2158  GROUP( "Agenda" )));
2159 
2160  wsv_data.push_back
2161  (WsvRecord
2162  (NAME( "massdensity_field" ),
2163  DESCRIPTION
2164  (
2165  "The field of atmospheric scattering particle types in unit of massdensity\n"
2166  "(like IWC/LWC/Rain/Aerosol etc.).\n"
2167  "\n"
2168  "If *massdensity_field* is obtained from Chevallier91L data, the scat. particles are\n"
2169  "hydrometeors of type: CLW[kg/m^3] CIW[kg/m^3] Rain[kg/(m2*s)] Snow[kg/(m2*s)]\n"
2170  "\n"
2171  "NOTE: naming discussion: *massdensity_field* should be renamed in the future\n"
2172  "to a more general term (not limited to massdensities).\n"
2173  "\n"
2174  "Possible future extension: In the future a *massdensity_field_raw* might be needed,\n"
2175  "which contains the not-interpolated mass concentrations of scattering particles.\n"
2176  "This is not needed in the moment, since *massdensity_field* is only used with \n"
2177  "batch profile data (where all atmospheric variables are on the same grid).\n"
2178  "\n"
2179  "Usage:\tmassdensity data is used to calculate pnd_fields\n"
2180  "\n"
2181  "Unit:\tdepending on what is read, usually [kg/m3]\n"
2182  "\n"
2183  "Dimension:\t[ type, p_grid, lat_grid, lon_grid ]\n"
2184 
2185  ),
2186  GROUP( "Tensor4" )));
2187 
2188  wsv_data.push_back
2189  (WsvRecord
2190  ( NAME( "mblock_aa_grid" ),
2191  DESCRIPTION
2192  (
2193  "The azimuthal angle grid for each measurement block.\n"
2194  "\n"
2195  "This variable should normally contain the azimuth grid of the\n"
2196  "antenna pattern. The grid is given as an angular off-set with\n"
2197  "respect to the angles in *sensor_los*.\n"
2198  "\n"
2199  "See further the ARTS user guide (AUG). Use the index to find where\n"
2200  "this variable is discussed. The variable is listed as a subentry to\n"
2201  "\"workspace variables\".\n"
2202  "\n"
2203  "Usage: Set by the user.\n"
2204  "\n"
2205  "Unit: degrees\n"
2206  ),
2207  GROUP( "Vector" )));
2208 
2209  wsv_data.push_back
2210  (WsvRecord
2211  (NAME( "mblock_index" ),
2212  DESCRIPTION
2213  (
2214  "Measurement block index. \n"
2215  "\n"
2216  "Used to tell agendas the index of present measurement block.\n"
2217  "\n"
2218  "Usage: Used internally.\n"
2219  ),
2220  GROUP( "Index" )));
2221 
2222  wsv_data.push_back
2223  (WsvRecord
2224  ( NAME( "mblock_za_grid" ),
2225  DESCRIPTION
2226  (
2227  "The zenith angle grid for each measurement block.\n"
2228  "\n"
2229  "This variable should normally contain the zenith grid of the\n"
2230  "antenna pattern. The grid is given as an angular off-set with\n"
2231  "respect to the angles in *sensor_los*.\n"
2232  "\n"
2233  "See further the ARTS user guide (AUG). Use the index to find where\n"
2234  "this variable is discussed. The variable is listed as a subentry to\n"
2235  "\"workspace variables\".\n"
2236  "\n"
2237  "Usage: Set by the user.\n"
2238  "\n"
2239  "Unit: degrees\n"
2240  ),
2241  GROUP( "Vector" )));
2242 
2243  wsv_data.push_back
2244  (WsvRecord
2245  ( NAME( "mc_antenna" ),
2246  DESCRIPTION
2247  (
2248  "Antenna pattern description for dedicated MC calculaions.\n"
2249  "\n"
2250  "Usage: Input to MCGeneral. Set by *mc_antennaSetGaussian* and similar\n"
2251  " methods.\n"
2252  ),
2253  GROUP( "MCAntenna" )));
2254 
2255  wsv_data.push_back
2256  (WsvRecord
2257  ( NAME( "mc_cloud_opt_path" ),
2258  DESCRIPTION
2259  (
2260  "The cloud optical path integrated over the field of view.\n"
2261  "\n"
2262  "Usage: Output from mc_IWP_cloud_opt_pathCalc \n"
2263  ),
2264  GROUP( "Numeric" )));
2265 
2266  wsv_data.push_back
2267  (WsvRecord
2268  ( NAME( "mc_cloud_opt_path_error" ),
2269  DESCRIPTION
2270  (
2271  "Standad error in the cloud optical path integrated over the field\n"
2272  "of view.\n"
2273  "\n"
2274  "Usage: Output from mc_IWP_cloud_opt_pathCalc \n"
2275  ),
2276  GROUP( "Numeric" )));
2277 
2278  wsv_data.push_back
2279  (WsvRecord
2280  ( NAME( "mc_error" ),
2281  DESCRIPTION
2282  (
2283  "Error in simulated *y* when using a Monte Carlo approach.\n"
2284  "\n"
2285  "Usage: Output from Monte Carlo functions. \n"
2286  "\n"
2287  "Units: Depends on *iy_unit*.\n"
2288  "\n"
2289  "Size: [ stokes_dim ]\n"
2290  ),
2291  GROUP( "Vector" )));
2292 
2293  wsv_data.push_back
2294  (WsvRecord
2295  ( NAME( "mc_iteration_count" ),
2296  DESCRIPTION
2297  (
2298  "Counts the number of iterations (or photons) used in the MC\n "
2299  "scattering algorithm.\n"
2300  "\n"
2301  "Usage: Set by MCGeneral and other MC methods.\n"
2302  ),
2303  GROUP( "Index" )));
2304 
2305  wsv_data.push_back
2306  (WsvRecord
2307  ( NAME( "mc_IWP" ),
2308  DESCRIPTION
2309  (
2310  "The ice water path integrated over the field of view\n"
2311  "\n"
2312  "Usage: Output from mc_IWP_cloud_opt_pathCalc \n"
2313  ),
2314  GROUP( "Numeric" )));
2315 
2316  wsv_data.push_back
2317  (WsvRecord
2318  ( NAME( "mc_IWP_error" ),
2319  DESCRIPTION
2320  (
2321  "The standard error of ice water path integrated over the field of view\n"
2322  "\n"
2323  "Usage: Output from mc_IWP_cloud_opt_pathCalc \n"
2324  ),
2325  GROUP( "Numeric" )));
2326 
2327  wsv_data.push_back
2328  (WsvRecord
2329  ( NAME( "mc_points" ),
2330  DESCRIPTION
2331  (
2332  "Counts the number of MC endpoints in each grid cell.\n"
2333  "\n"
2334  "Usage: Set by MCGeneral and other MC methods.\n"
2335  ),
2336  GROUP( "Tensor3" )));
2337 
2338  wsv_data.push_back
2339  (WsvRecord
2340  ( NAME( "mc_seed" ),
2341  DESCRIPTION
2342  (
2343  "The integer seed for the random number generator used by\n"
2344  "Monte Carlo methods.\n"
2345  "\n"
2346  "Usage: Set by MCSetSeed.\n"
2347  ),
2348  GROUP( "Index" )));
2349 
2350  wsv_data.push_back
2351  (WsvRecord
2352  ( NAME( "mc_std_err" ),
2353  DESCRIPTION
2354  (
2355  "Target precision (1 std. dev.) for Monte Carlo calculations.\n"
2356  "\n"
2357  "Usage: Set by the user.\n"
2358  ),
2359  GROUP( "Numeric" )));
2360 
2361  wsv_data.push_back
2362  (WsvRecord
2363  ( NAME( "mc_min_iter" ),
2364  DESCRIPTION
2365  (
2366  "The minimum number of iterations allowed for Monte Carlo\n"
2367  "calculations.\n"
2368  "\n"
2369  "Usage: Set by the user.\n"
2370  ),
2371  GROUP( "Index" )));
2372 
2373  wsv_data.push_back
2374  (WsvRecord
2375  ( NAME( "mc_max_time" ),
2376  DESCRIPTION
2377  (
2378  "The maximum time allowed for Monte Carlo calculations.\n"
2379  "\n"
2380  "Usage: Set by the user.\n"
2381  "\n"
2382  "Unit: s\n"
2383  ),
2384  GROUP( "Index" )));
2385 
2386  wsv_data.push_back
2387  (WsvRecord
2388  ( NAME( "mc_max_iter" ),
2389  DESCRIPTION
2390  (
2391  "The maximum number of iterations allowed for Monte Carlo\n"
2392  "calculations.\n"
2393  "\n"
2394  "Usage: Set by the user.\n"
2395  ),
2396  GROUP( "Index" )));
2397 
2398  wsv_data.push_back
2399  (WsvRecord
2400  ( NAME( "met_amsu_data" ),
2401  DESCRIPTION
2402  (
2403  "The AMSU data set.\n"
2404  "\n"
2405  "This is intended as input for the method ybatchMetProfiles. It holds the\n"
2406  "latitude, longitude, satellite zenith angle and amsu-b corrected and \n"
2407  "uncorrected brightness temperatures. It also has information about \n"
2408  "the particular pixel corresponds to a land or sea point. This will be \n"
2409  "read in the method ybatchMetProfiles and the profiles corresponding to \n"
2410  "each latitude and longitude will be read in.\n"
2411  "\n"
2412  "See documentation of WSM *ybatchMetProfiles* for more information.\n"
2413  ),
2414  GROUP( "Matrix" )));
2415 
2416  wsv_data.push_back
2417  (WsvRecord
2418  ( NAME( "met_profile_calc_agenda" ),
2419  DESCRIPTION
2420  (
2421  "See agendas.cc.\n"
2422  ),
2423  GROUP( "Agenda" )));
2424 
2425  wsv_data.push_back
2426  (WsvRecord
2427  ( NAME( "nelem" ),
2428  DESCRIPTION
2429  (
2430  "Number of elements of a Vector or Array.\n"
2431  ),
2432  GROUP( "Index" )));
2433 
2434  wsv_data.push_back
2435  (WsvRecord
2436  ( NAME( "ncols" ),
2437  DESCRIPTION
2438  (
2439  "Number of columns (elements in lowest dimension) of a Matrix or Tensor.\n"
2440  ),
2441  GROUP( "Index" )));
2442 
2443  wsv_data.push_back
2444  (WsvRecord
2445  ( NAME( "nrows" ),
2446  DESCRIPTION
2447  (
2448  "Number of rows (elements in 2nd lowest dimension) of a Matrix or Tensor.\n"
2449  ),
2450  GROUP( "Index" )));
2451 
2452  wsv_data.push_back
2453  (WsvRecord
2454  ( NAME( "npages" ),
2455  DESCRIPTION
2456  (
2457  "Number of elements in 3rd lowest dimension of a Tensor.\n"
2458  ),
2459  GROUP( "Index" )));
2460 
2461  wsv_data.push_back
2462  (WsvRecord
2463  ( NAME( "nbooks" ),
2464  DESCRIPTION
2465  (
2466  "Number of elements in 4th lowest dimension of a Tensor.\n"
2467  ),
2468  GROUP( "Index" )));
2469 
2470  wsv_data.push_back
2471  (WsvRecord
2472  ( NAME( "nshelves" ),
2473  DESCRIPTION
2474  (
2475  "Number of elements in 5th lowest dimension of a Tensor.\n"
2476  ),
2477  GROUP( "Index" )));
2478 
2479  wsv_data.push_back
2480  (WsvRecord
2481  ( NAME( "nvitrines" ),
2482  DESCRIPTION
2483  (
2484  "Number of elements in 6th lowest dimension of a Tensor.\n"
2485  ),
2486  GROUP( "Index" )));
2487 
2488  wsv_data.push_back
2489  (WsvRecord
2490  ( NAME( "nlibraries" ),
2491  DESCRIPTION
2492  (
2493  "Number of elements in 7th lowest dimension of a Tensor.\n"
2494  ),
2495  GROUP( "Index" )));
2496 
2497  wsv_data.push_back
2498  (WsvRecord
2499  (NAME( "molarmass_dry_air" ),
2500  DESCRIPTION
2501  (
2502  "The average molar mass of dry air.\n"
2503  "\n"
2504  "This could also be referred to as the average molecular weight for\n"
2505  "dry air. The definition of \"dry air\" can differ between planets and\n"
2506  "methods using the WSV. For Earth, this should be a value around\n"
2507  "28.97.\n"
2508  ),
2509  GROUP( "Numeric" )));
2510 
2511  wsv_data.push_back
2512  (WsvRecord
2513  ( NAME( "opt_prop_part_agenda" ),
2514  DESCRIPTION
2515  (
2516  "See agendas.cc.\n"
2517  ),
2518  GROUP( "Agenda" )));
2519 
2520  wsv_data.push_back
2521  (WsvRecord
2522  (NAME( "output_file_format" ),
2523  DESCRIPTION
2524  (
2525  "Output file format. \n"
2526  "\n"
2527  "This variable sets the format for output files. It could be set to\n"
2528  "\"ascii\" for plain xml files, \"zascii\" for zipped xml files, or\n"
2529  "\"binary\".\n"
2530  "\n"
2531  "To change the value of this variable use the workspace methods\n"
2532  "*output_file_formatSetAscii*, *output_file_formatSetZippedAscii*, and\n"
2533  "*output_file_formatSetBinary*\n"
2534  ),
2535  GROUP( "String" )));
2536 
2537  wsv_data.push_back
2538  (WsvRecord
2539  (NAME( "particle_masses" ),
2540  DESCRIPTION
2541  (
2542  "The mass of individual particles (or bulks).\n"
2543  "\n"
2544  "Each row corresponds to a particle type (i.e. an element in\n"
2545  "*scat_data_array*). The user is free to define different mass\n"
2546  "categories and assign a mass for each category. Each column\n"
2547  "of *particle_masses* corresponds to such a mass category. A\n"
2548  "particle can have a non-zero mass for more than one category.\n"
2549  "\n"
2550  "For example, if you work with clouds, your mass categories could\n"
2551  "be ice and liquid, corresponding to IWC and LWC, respectively.\n"
2552  "The mass of particles inside the melting layer, having a mixed\n"
2553  "phase, could be divided between the two columns of the matrix.\n"
2554  "\n"
2555  "Shall either be empty, or have a row size consistent with the\n"
2556  "scattering variables (*scat_data_array*, *pnd_field*).\n"
2557  "\n"
2558  "Usage: Set by the user.\n"
2559  "\n"
2560  "Unit: kg\n"
2561  "\n"
2562  "Dimensions: [ particle type, mass category ]\n"
2563  ),
2564  GROUP( "Matrix" )));
2565 
2566  wsv_data.push_back
2567  (WsvRecord
2568  ( NAME( "part_species" ),
2569  DESCRIPTION
2570  (
2571  "Array of Strings defining (scattering) particles to consider and their\n"
2572  "connection to particle fields.\n"
2573  "\n"
2574  "Each String contains the information for particles to be connected to\n"
2575  "one specific particle field (e.g., a hydrometeor density profile). It\n"
2576  "has to have the following structure with elements separated by dashes:\n"
2577  "\n"
2578  "- particle field name [*String*]\n"
2579  "\t the name of the particle bulk field (mass content, precip rate, or\n"
2580  "\t similar) to act on. Free form, but needs to match (name, order)\n"
2581  "\t *atm_fields_compact* field names.\n"
2582  "- particle size distribution [*String*]:\n"
2583  "\t the size distribution function/parameterisation to apply. For currently\n"
2584  "\t possible PSDs see *pnd_fieldSetup*.\n"
2585  "- particle type [*String*]:\n"
2586  "\t the type (material/phase) of the individual particles to select from\n"
2587  "\t *scat_data_array* (Ice, Water, or similar). Free form, but will select\n"
2588  "\t particles with matching *scat_meta*.type.\n"
2589  "- sizemin and sizemax [*Numeric*]:\n"
2590  "\t the minimum and maximum size (volume equivalent sphere radius in um) of\n"
2591  "\t the individual particles to consider. Minimum and maximum size may be\n"
2592  "\t omitted (meaning full size range will be selected), the symbol '*' can\n"
2593  "\t be used as a wildcard (selecting all particles at the respective size\n"
2594  "\t end)."
2595  "\n"
2596  "Example: [''IWC-MH97-Ice-2-1000'', ''LWC-HM98_STCO-Water-0.1-10'', ...]\n"
2597  ),
2598  GROUP( "ArrayOfString" )));
2599 
2600  wsv_data.push_back
2601  (WsvRecord
2602  ( NAME( "pha_mat" ),
2603  DESCRIPTION
2604  (
2605  "Ensemble averaged phase matrix.\n"
2606  "\n"
2607  "This workspace variable represents the actual physical phase\n"
2608  "matrix (averaged over all particle types) for given propagation\n"
2609  "directions. It is calculated in the method *pha_matCalc*\n"
2610  "\n"
2611  "ARTS user guide (AUG) gives the formula used for computing this\n"
2612  "variable. Use the index to find where this variable is discussed.\n"
2613  "The variable is listed as a subentry to \"workspace variables\".\n"
2614  "\n"
2615  "Usage: Output of the method *pha_matCalc*\n"
2616  "\n"
2617  "Unit: m^2\n"
2618  "\n"
2619  "Dimensions: [ scat_za_grid, scat_aa_grid, stokes_dim, stokes_dim ]\n"
2620  ),
2621  GROUP( "Tensor4" )));
2622 
2623  wsv_data.push_back
2624  (WsvRecord
2625  ( NAME( "pha_mat_spt" ),
2626  DESCRIPTION
2627  (
2628  "Phase matrix for a single particle type.\n"
2629  "\n"
2630  "This variable contains the elements of phase matrix for a single \n"
2631  "particle for given propagation direction. \n"
2632  "It is the calculated in the agenda *pha_mat_spt_agenda*. \n"
2633  "The elements of the phase matrix are calculated from \n"
2634  "the single scattering data. "
2635  "ARTS user guide (AUG) gives the formulas used for computing all \n"
2636  "elements of the phase matrix for a given particle type.\n"
2637 // Commented out by Gerrit 2011-04-12, this is incorrect and I cannot
2638 // correct it.
2639 //
2640 // "\n"
2641 // "Usage: Input and Output of the method pha_mat_sptCalc\n"
2642  "\n"
2643  "Unit: m^2\n"
2644  "\n"
2645  "Dimensions: [N_particletypes, *scat_za_grid*, *scat_aa_grid*, *stokes_dim*, *stokes_dim*]\n"
2646  ),
2647  GROUP( "Tensor5" )));
2648 
2649  wsv_data.push_back
2650  (WsvRecord
2651  ( NAME( "pha_mat_spt_agenda" ),
2652  DESCRIPTION
2653  (
2654  "See agendas.cc.\n"
2655  ),
2656  GROUP( "Agenda" )));
2657 
2658  wsv_data.push_back
2659  (WsvRecord
2660  ( NAME( "pha_mat_sptDOITOpt" ),
2661  DESCRIPTION
2662  (
2663  "Interpolated phase matrix.\n"
2664  "\n"
2665  "This variable contains the data of the phase matrix in the \n"
2666  "scattering frame interpolated on the actual frequency (the variable\n"
2667  "is used inside *doit_mono_agenda*) and also interpolated on all \n"
2668  "possible scattering angles following from all combinations of \n"
2669  "*scat_za_grid* and *scat_aa_grid*. \n"
2670  "\n"
2671  "Usage: Input of the method *pha_mat_sptFromDataDOITOpt*\n"
2672  "\n"
2673  "Unit: m^2\n"
2674  "\n"
2675  "Dimensions: \n"
2676  "[particle types]\n"
2677  "[T, scat_za_grid,scat_aa_grid, scat_za_grid, scat_aa_grid,\n"
2678  "stokes_dim, stokes_dim]\n"
2679  ),
2680  GROUP( "ArrayOfTensor7" )));
2681 
2682  wsv_data.push_back
2683  (WsvRecord
2684  ( NAME( "planet_rotation_period" ),
2685  DESCRIPTION
2686  (
2687  "The sidereal rotation period of the planet.\n"
2688  "\n"
2689  "This is time that it takes for the planet to complete one revolution\n"
2690  "around its axis of rotation relative to the stars. For Earth, this\n"
2691  "is a value roughly 4 min less than 24 h.\n"
2692  "\n"
2693  "A negative value signifies a retrograde rotation, i.e. opposite to\n"
2694  "the rotation of Earth.\n"
2695  "Unit: s\n"
2696  ),
2697  GROUP( "Numeric" )));
2698 
2699  wsv_data.push_back
2700  (WsvRecord
2701  ( NAME( "pnd_field" ),
2702  DESCRIPTION
2703  (
2704  "Particle number density field.\n"
2705  "\n"
2706  "This variable corresponds to the particle number density fields\n"
2707  "for all particle types being read in the WSMs *ParticleTypeAdd*\n"
2708  "or *ParticleTypeAddAll* and interpolated to the calculation grids\n"
2709  "*p_grid*, *lat_grid*, and *lon_grid* inside the cloudbox.\n"
2710  "Note: To ensure no particles existing outside the cloudbox,\n"
2711  "*pnd_field* is required to be 0 at its outer limits (corresponding\n"
2712  "to the cloudbox limits).\n"
2713  "\n"
2714  "An alternative method to create *pnd_field* is *pnd_fieldSetup*.\n"
2715  "\n"
2716  "Usage: Calculated internally.\n"
2717  "\n"
2718  "Unit: m^-3\n"
2719  "\n"
2720  "Size: [N_particletypes, \n"
2721  " (cloudbox_limits[1] - cloudbox_limits[0]) +1, \n"
2722  " (cloudbox_limits[3] - cloudbox_limits[2]) +1, \n"
2723  " (cloudbox_limits[5] - cloudbox_limits[4]) +1 ] \n"
2724  ),
2725  GROUP( "Tensor4" )));
2726 
2727  wsv_data.push_back
2728  (WsvRecord
2729  ( NAME( "pnd_field_raw" ),
2730  DESCRIPTION
2731  (
2732  "The particle number density field data.\n"
2733  "\n"
2734  "This variable contains the particle number density data for all \n"
2735  "chosen particle types. It includes the grids corresponding to the \n"
2736  "grids in the database. \n"
2737  "*pnd_field_raw* is an Array of GriddedField3. It includes a\n"
2738  "GriddedField3 for each particle type which contains the data and \n"
2739  "also the grids.\n"
2740  "\n"
2741  "Usage: Used in the methods *ParticleTypeAdd* and \n"
2742  " *ParticleTypeAddAll*\n"
2743  "\n"
2744  "Unit: m^-3\n"
2745  "\n"
2746  "Size: Array[N_pt]\n"
2747  " GriddedField3 \n "
2748  " [N_p] \n"
2749  " [N_lat] \n"
2750  " [N_lon] \n"
2751  " [N_p, N_lat, N_lon] \n"
2752  ),
2753  GROUP( "ArrayOfGriddedField3" )));
2754 
2755  wsv_data.push_back
2756  (WsvRecord
2757  ( NAME( "ppath" ),
2758  DESCRIPTION
2759  (
2760  "The propagation path for one line-of-sight.\n"
2761  "\n"
2762  "This variable describes the total (pencil beam) propagation path for\n"
2763  "a given combination of starting point and line-of-sight. The path is\n"
2764  "described by a data structure of type Ppath. This structure contains\n"
2765  "also additional fields to faciliate the calculation of spectra and\n"
2766  "interpolation of the atmospheric fields.\n"
2767  "\n"
2768  "The data struture is too extensive to be described here, but it is\n"
2769  "described carefully in the ARTS user guide (AUG). Use the index to\n"
2770  "find where the data structure, Ppath, for propagation paths is \n"
2771  "discussed. It is listed as a subentry to \"data structures\".\n"
2772  "\n"
2773  "Usage: Output from *ppath_agenda*.\n"
2774  ),
2775  GROUP( "Ppath" )));
2776 
2777  wsv_data.push_back
2778  (WsvRecord
2779  ( NAME( "ppath_agenda" ),
2780  DESCRIPTION
2781  (
2782  "See agendas.cc.\n"
2783  ),
2784  GROUP( "Agenda" )));
2785 
2786  wsv_data.push_back
2787  (WsvRecord
2788  ( NAME( "ppath_inside_cloudbox_do" ),
2789  DESCRIPTION
2790  (
2791  "Flag to perform ray tracing inside the cloudbox.\n"
2792  "\n"
2793  "Standard propagation path calculations stop at the boundary of the\n"
2794  "cloudbox, or stop directly if started inside the cloudbox. This WSV\n"
2795  "allows scattering methods to obtain propagation paths inside the\n"
2796  "cloudbox. Hence, this variable is for internal usage primarily.\n"
2797  "\n"
2798  "Usage: For communication between modules of arts.\n"
2799  ),
2800  GROUP( "Index" )));
2801 
2802  wsv_data.push_back
2803  (WsvRecord
2804  ( NAME( "ppath_lmax" ),
2805  DESCRIPTION
2806  (
2807  "Maximum length between points describing propagation paths.\n"
2808  "\n"
2809  "See *ppath_stepGeometric* for a description of this variable.\n"
2810  "\n"
2811  "Usage: Ppath methods such as *ppath_stepGeometric*.\n"
2812  ),
2813  GROUP( "Numeric" )));
2814 
2815  wsv_data.push_back
2816  (WsvRecord
2817  ( NAME( "ppath_lraytrace" ),
2818  DESCRIPTION
2819  (
2820  "Maximum length of ray tracing steps when determining propagation\n"
2821  "paths.\n"
2822  "\n"
2823  "See *ppath_stepRefractionEuler* for a description of this variable.\n"
2824  "\n"
2825  "Usage: Refraction ppath methods such as *ppath_stepRefractionEuler*.\n"
2826  ),
2827  GROUP( "Numeric" )));
2828 
2829  wsv_data.push_back
2830  (WsvRecord
2831  ( NAME( "ppath_step" ),
2832  DESCRIPTION
2833  (
2834  "A propagation path step.\n"
2835  "\n"
2836  "The main intention of this variable is communication with the agenda\n"
2837  "*ppath_step_agenda*.\n"
2838  "\n"
2839  "See *ppath_step_agenda* for more information on this variable and\n"
2840  "the calculation of propagation paths. Or read the chapter on\n"
2841  "propagation paths in the ARTS user guide.\n"
2842  "\n"
2843  "Usage: In/output to/from *ppath_step_agenda*.\n"
2844  "\n"
2845  "Members: See AUG.\n"
2846  ),
2847  GROUP( "Ppath" )));
2848 
2849  wsv_data.push_back
2850  (WsvRecord
2851  ( NAME( "ppath_step_agenda" ),
2852  DESCRIPTION
2853  (
2854  "See agendas.cc.\n"
2855  ),
2856  GROUP( "Agenda" )));
2857 
2858  wsv_data.push_back
2859  (WsvRecord
2860  ( NAME( "propmat_clearsky" ),
2861  DESCRIPTION
2862  (
2863  "This contains the absorption coefficients for one point in the\n"
2864  "atmosphere (one set of pressure, temperature, magnetic field, and\n"
2865  "VMR values). There are two distinct cases:\n"
2866  "\n"
2867  "Case a: For all frequencies and all species:\n"
2868  "Dimension: [ abs_species, f_grid, stokes_dim, stokes_dim ]\n"
2869  "\n"
2870  "Case b: For a single frequency for all species:\n"
2871  "Dimension: [ abs_species, 1, stokes_dim, stokes_dim]\n"
2872  "\n"
2873  "Unit: 1/m\n"
2874  ),
2875  GROUP( "Tensor4" )));
2876 
2877  wsv_data.push_back
2878  (WsvRecord
2879  ( NAME( "propmat_clearsky_agenda" ),
2880  DESCRIPTION
2881  (
2882  "See agendas.cc.\n"
2883  ),
2884  GROUP( "Agenda" )));
2885 
2886  wsv_data.push_back
2887  (WsvRecord
2888  ( NAME( "propmat_clearsky_agenda_checked" ),
2889  DESCRIPTION
2890  (
2891  "OK-flag for *propmat_clearsky_agenda*.\n"
2892  "\n"
2893  "Set by *propmat_clearsky_agenda_checkedCalc*.\n"
2894  ),
2895  GROUP( "Index" )));
2896 
2897  wsv_data.push_back
2898  (WsvRecord
2899  ( NAME( "propmat_clearsky_field" ),
2900  DESCRIPTION
2901  (
2902  "Gas absorption field.\n"
2903  "\n"
2904  "Contains the (polarized) gas absorption coefficients for all species\n"
2905  "as a function of *f_grid*, *p_grid*, *lat_grid*, and *lon_grid*. \n"
2906  "\n"
2907  "This is mainly for testing and plotting gas absorption. For RT\n"
2908  "calculations, gas absorption is calculated or extracted locally,\n"
2909  "therefore there is no need to store a global field. But this variable\n"
2910  "is handy for easy plotting of absorption vs. pressure, for example.\n"
2911  "\n"
2912  "Unit: 1/m\n"
2913  "\n"
2914  "Dimensions: [species, f_grid, *stokes_dim*, stokes_dim, p_grid, lat_grid, lon_grid]\n"
2915  ),
2916  GROUP( "Tensor7" )));
2917 
2918  wsv_data.push_back
2919  (WsvRecord
2920  ( NAME( "p_grid" ),
2921  DESCRIPTION
2922  (
2923  "The pressure grid.\n"
2924  "\n"
2925  "The pressure levels on which the atmospheric fields are defined.\n"
2926  "This variable must always be defined. The grid must be sorted in\n"
2927  "decreasing order, with no repetitions.\n"
2928  "\n"
2929  "No gap between the lowermost pressure level and the surface is \n"
2930  "allowed. The uppermost pressure level defines the practical upper\n"
2931  "limit of the atmosphere as vacuum is assumed above.\n"
2932  "\n"
2933  "See further the ARTS user guide (AUG). Use the index to find where\n"
2934  "this variable is discussed. The variable is listed as a subentry to\n"
2935  "\"workspace variables\".\n"
2936  "\n"
2937  "Usage: Set by the user.\n"
2938  "\n"
2939  "Unit: Pa\n"
2940  ),
2941  GROUP( "Vector" )));
2942 
2943  wsv_data.push_back
2944  (WsvRecord
2945  ( NAME( "p_hse" ),
2946  DESCRIPTION
2947  (
2948  "Reference pressure calculation of hydrostatic equilibrium.\n"
2949  "\n"
2950  "The altitude specified by this pressure is used as the reference\n"
2951  "when calculating hydrostatic equilibrium. That is, the geometrical\n"
2952  "altitude at this pressure is not changed.\n"
2953  "\n"
2954  "Usage: Set by the user.\n"
2955  "\n"
2956  "Unit: Pa\n"
2957  ),
2958  GROUP( "Numeric" )));
2959 
2960  wsv_data.push_back
2961  (WsvRecord
2962  ( NAME( "range_bins" ),
2963  DESCRIPTION
2964  (
2965  "The range bins of an active instrument.\n"
2966  "\n"
2967  "The bins are assumed to cover a range without gaps, and the bins are\n"
2968  "defined by their edges. That is, the length of this vector is the\n"
2969  "number of bins + 1.\n"
2970  "\n"
2971  "The bins can potentially be defined in two ways, by altitude or time.\n"
2972  "See the method you are using, if this variable shall hold time or\n"
2973  "altitude (or maybe both options are treated).\n"
2974  "\n"
2975  "Unit: m or s\n"
2976  ),
2977  GROUP( "Vector" )));
2978 
2979  wsv_data.push_back
2980  (WsvRecord
2981  ( NAME( "refr_index_air" ),
2982  DESCRIPTION
2983  (
2984  "Real part of the refractive index of air.\n"
2985  "\n"
2986  "The variable contains the refractive index summed over all relevant\n"
2987  "constituents, at one position in the atmosphere. This refractive\n"
2988  "is related to the phase velocity. See also *refr_index_air_group*.\n"
2989  "\n"
2990  "Unit: 1\n"
2991  ),
2992  GROUP( "Numeric" )));
2993 
2994  wsv_data.push_back
2995  (WsvRecord
2996  ( NAME( "refr_index_air_agenda" ),
2997  DESCRIPTION
2998  (
2999  "See agendas.cc.\n"
3000  ),
3001  GROUP( "Agenda" )));
3002 
3003  wsv_data.push_back
3004  (WsvRecord
3005  ( NAME( "refr_index_air_group" ),
3006  DESCRIPTION
3007  (
3008  "Group index of refractivity.\n"
3009  "\n"
3010  "This variable is defined as the ratio between group velocity and the\n"
3011  "speed of ligh in vacuum. That is, it is defined as the \"standard\"\n"
3012  "refractive index, but refers to the group velocity instead of the\n"
3013  "phase velocity. See also *refr_index_air*.\n"
3014  "\n"
3015  "Unit: 1\n"
3016  ),
3017  GROUP( "Numeric" )));
3018 
3019  wsv_data.push_back
3020  (WsvRecord
3021  ( NAME( "refellipsoid" ),
3022  DESCRIPTION
3023  (
3024  "Reference ellipsoid.\n"
3025  "\n"
3026  "This vector specifies the shape of the reference ellipsoid. The\n"
3027  "vector must have length 2, where the two elements are:\n"
3028  " 1: Equatorial radius.\n"
3029  " 2: The eccentricity.\n"
3030  "The eccentricity is sqrt(1-b*b/a*a) where a and b are equatorial and\n"
3031  "polar radius, respectively. If the eccentricity is set to 0, an\n"
3032  "average radius should be used instead of the equatorial one.\n"
3033  "\n"
3034  "The eccentricity must be 0 for 1D calculations, as a spherical Earth\n"
3035  "is implied by setting *atmosphere_dim* to 1. For 2D, the selected\n"
3036  "ellipsoid parameters should be selected according to cross-section\n"
3037  "between the real ellipsoid and the 2D plane considered. That is\n"
3038  "the applied ellipsoid shall have een converted to match the internal\n"
3039  "treatment of 2D cases. For 3D, models can be used, such as WGS84.\n"
3040  "\n"
3041  "Usage: Set by the user.\n"
3042  "\n"
3043  "Size: [ 2 ]\n"
3044  ),
3045  GROUP( "Vector" )));
3046 
3047  wsv_data.push_back
3048  (WsvRecord
3049  ( NAME( "rte_alonglos_v" ),
3050  DESCRIPTION
3051  (
3052  "Velocity along the line-of-sight to consider for a RT calculation.\n"
3053  "\n"
3054  "This variable gives the velocity of the imaginary detector in\n"
3055  "monochromatic pencil beam calculations. The relevant velocity is\n"
3056  "the projection along the line-of-sight (ie. total velocity shall not\n"
3057  "be given). A positive value means a movement of the detector in the\n"
3058  "same direction as the line-of-sight.\n"
3059  "\n"
3060  "This variable is required to include Doppler effects due to\n"
3061  "velocities of the observer, relative the centre of the coordinate\n"
3062  "system used that is fixed to the planets centre point.\n"
3063  "\n"
3064  "Unit: [ m/s ]\n"
3065  ),
3066  GROUP( "Numeric" )));
3067 
3068  wsv_data.push_back
3069  (WsvRecord
3070  ( NAME( "rte_los" ),
3071  DESCRIPTION
3072  (
3073  "A line-of-sight for (complete) radiative transfer calculations.\n"
3074  "\n"
3075  "This variable gives the observation direction for monochromatic\n"
3076  "pencil beam calculations. Hence, it is the line-of-sight at the end\n"
3077  "point of the propagation path.\n"
3078  "\n"
3079  "For 1D and 2D cases, *rte_los* is a vector of length 1 holding the \n"
3080  "zenith angle. For 3D, the length of the vector is 2, where the\n"
3081  "additional element is the azimuthal angle. These angles are defined\n"
3082  "in the ARTS user guide (AUG). Look in the index for \"zenith angle\"\n"
3083  "and \"azimuthal angle\".\n"
3084  "\n"
3085  "Usage: See above.\n"
3086  "\n"
3087  "Units: [ degree, degree ]\n"
3088  "\n"
3089  "Size: [ 1 or 2 ]\n"
3090  ),
3091  GROUP( "Vector" )));
3092 
3093  wsv_data.push_back
3094  (WsvRecord
3095  ( NAME( "rte_pos" ),
3096  DESCRIPTION
3097  (
3098  "A geographical position for starting radiative transfer calculations.\n"
3099  "\n"
3100  "This variable gives the observation position for monochromatic\n"
3101  "pencil beam calculations. Hence, it is the end point of the\n"
3102  "propagation path.\n"
3103  "\n"
3104  "This variable is a vector with a length equalling the atmospheric\n"
3105  "dimensionality. The first element is the geometrical altitude.\n"
3106  "Element 2 is the latitude and element 3 is the longitude.\n"
3107  "\n"
3108  "Usage: See above. \n"
3109  "\n"
3110  "Units: [ m, degree, degree ]\n"
3111  "\n"
3112  "Size: [ atmosphere_dim ]\n"
3113  ),
3114  GROUP( "Vector" )));
3115 
3116  wsv_data.push_back
3117  (WsvRecord
3118  ( NAME( "rte_pos2" ),
3119  DESCRIPTION
3120  (
3121  "A second geographical position to define the geometry for\n"
3122  "radiative transfer calculations.\n"
3123  "\n"
3124  "This variable is used when the propagation path is defined by two\n"
3125  "positions, instead of a position (*rte_pos*) and a line-of-sight\n"
3126  "(*rte_los*). That is, this variable basically replaces *rte_los*\n"
3127  "for the cases of consideration. In practice, *rte_los* is determined\n"
3128  "by finding the propagation path between *rte_pos* and *rte_pos2*.\n"
3129  "\n"
3130  "As *rte_pos* with the exception that a \"latitude\" must also be\n"
3131  "specified for 1D. This is the angular distance to *rte_pos*, where\n"
3132  "this distance is defined as the 2D-\"latitude\".\n"
3133  "\n"
3134  "Usage: See above. \n"
3135  "\n"
3136  "Units: [ m, degree, degree ]\n"
3137  "\n"
3138  "Size: [ atmosphere_dim ]\n"
3139  ),
3140  GROUP( "Vector" )));
3141 
3142  wsv_data.push_back
3143  (WsvRecord
3144  ( NAME( "rtp_mag" ),
3145  DESCRIPTION
3146  (
3147  "Magnetic field at a radiative transfer point.\n"
3148  "\n"
3149  "See *mag_u_field* etc. for a definition of the different components.\n"
3150  "For this variable the components are put together and thus defines\n"
3151  "magnetic field vector. Hence, this is a vector of length three, even\n"
3152  "if any of the input fields is set to be empty.\n"
3153  "\n"
3154  "The WSV is used as input to methods and agendas calculating radiative\n"
3155  "properties for a given conditions.\n"
3156  "\n"
3157  "Usage: Communication variable.\n"
3158  "\n"
3159  "Units: T\n"
3160  "\n"
3161  "Size: [ u-component, v-component, w-component ]\n"
3162  ),
3163  GROUP( "Vector" )));
3164 
3165  wsv_data.push_back
3166  (WsvRecord
3167  ( NAME( "rtp_los" ),
3168  DESCRIPTION
3169  (
3170  "Line-of-sight at a radiative transfer point.\n"
3171  "\n"
3172  "This variable holds the local line-of-sight. The angles of this\n"
3173  "vector are defined as for *rte_los*.\n"
3174  "\n"
3175  "The WSV is used as input to methods and agendas calculating radiative\n"
3176  "properties for a given conditions.\n"
3177  "\n"
3178  "Usage: Communication variable.\n"
3179  "\n"
3180  "Units: [ degree, degree ]\n"
3181  "\n"
3182  "Size: [ 1 or 2 ]\n"
3183  ),
3184  GROUP( "Vector" )));
3185 
3186  wsv_data.push_back
3187  (WsvRecord
3188  ( NAME( "rtp_pos" ),
3189  DESCRIPTION
3190  (
3191  "Position of a radiative transfer point.\n"
3192  "\n"
3193  "This angles vector is defined as *rte_pos*, but holds position along\n"
3194  "the propgation path, or the start point for new paths, in contrast\n"
3195  "to *rte_pos* that is position of the (imaginary) detector.\n"
3196  "\n"
3197  "The WSV is used as input to methods and agendas calculating radiative\n"
3198  "properties for a given conditions.\n"
3199  "\n"
3200  "Usage: Communication variable.\n"
3201  "\n"
3202  "Units: [ m, degree, degree ]\n"
3203  "\n"
3204  "Size: [ atmosphere_dim ]\n"
3205  ),
3206  GROUP( "Vector" )));
3207 
3208  wsv_data.push_back
3209  (WsvRecord
3210  ( NAME( "rtp_pressure" ),
3211  DESCRIPTION
3212  (
3213  "Pressure at a radiative transfer point.\n"
3214  "\n"
3215  "This scalar variable holds the local pressure.\n"
3216  "\n"
3217  "The WSV is used as input to methods and agendas calculating radiative\n"
3218  "properties for a given conditions.\n"
3219  "\n"
3220  "Usage: Communication variable.\n"
3221  "\n"
3222  "Units: [ Pa ]\n"
3223  ),
3224  GROUP( "Numeric" )));
3225 
3226  wsv_data.push_back
3227  (WsvRecord
3228  ( NAME( "rtp_temperature" ),
3229  DESCRIPTION
3230  (
3231  "Temperature at a radiative transfer point.\n"
3232  "\n"
3233  "This scalar variable can hold the local temperature. It is intended\n"
3234  "mainly for communication with various methods and agendas, such as\n"
3235  "methods and agendas calculating absorption coefficients.\n"
3236  "The WSV is used as input to methods and agendas calculating radiative\n"
3237  "properties for a given conditions.\n"
3238  "\n"
3239  "Usage: Communication variable.\n"
3240  "\n"
3241  "Units: [ K ]\n"
3242  ),
3243  GROUP( "Numeric" )));
3244 
3245  wsv_data.push_back
3246  (WsvRecord
3247  ( NAME( "rtp_vmr" ),
3248  DESCRIPTION
3249  (
3250  "Absorption species abundances for radiative transfer calculations.\n"
3251  "\n"
3252  "This vector variable holds the local abundance of the constituents\n"
3253  "included in *abs_species*.\n"
3254  "\n"
3255  "The WSV is used as input to methods and agendas calculating radiative\n"
3256  "properties for a given conditions.\n"
3257  "\n"
3258  "Usage: Communication variable.\n"
3259  "\n"
3260  "Units: [ Differ between the elements, can be VMR, kg/m3 or #/m3. ]\n"
3261  "\n"
3262  "Size: Should match abs_species.nelem()\n"
3263  ),
3264  GROUP( "Vector" )));
3265 
3266  wsv_data.push_back
3267  (WsvRecord
3268  ( NAME( "scat_aa_grid" ),
3269  DESCRIPTION
3270  (
3271  "Azimuthal angle grid.\n"
3272  "\n"
3273  "The azimutal angle grid, on which the intensity field is stored. \n"
3274  "This grid is used for RT calculations inside the cloudbox, \n"
3275  "therefore one has to define it if the cloudbox is activated by \n"
3276  "the flag *cloudbox_on*.\n"
3277  "The grid must be sorted in increasing order, with no repetitions.\n"
3278  "\n"
3279  "Usage: Set by the user.\n"
3280  "\n"
3281  "Unit: degrees \n"
3282  ),
3283  GROUP( "Vector" )));
3284 
3285  wsv_data.push_back
3286  (WsvRecord
3287  ( NAME( "scat_aa_index" ),
3288  DESCRIPTION
3289  (
3290  "Azimuth angle index for scattering calculations.\n"
3291  "\n"
3292  "This variable is used in methods used for computing scattering\n"
3293  "properties. \n"
3294  "It holds the information about the azimuth angles for which the \n"
3295  "scattering calculations are done. The angles used for computing \n"
3296  "scattering properties of particles can be different from that used \n"
3297  "for radiative transfer calculation. \n"
3298  "\n"
3299  "Usage: Method output.\n"
3300  ),
3301  GROUP( "Index" )));
3302 
3303  wsv_data.push_back
3304  (WsvRecord
3305  ( NAME( "scat_meta" ),
3306  DESCRIPTION
3307  (
3308  "Structure for the scattering meta data.\n"
3309  "\n"
3310  "This variable holds the scattering meta data for a single particle.\n"
3311  "This data is needed for particle size distribution calculations.\n"
3312  "\n"
3313  "Currently \"area_projected\" is not used by ARTS, but was included for \n"
3314  "future extensions of pnd calculations in ARTS.\n"
3315  "\n"
3316  "Usage: Set by the user.\n"
3317  "\n"
3318  "Dimensions/Units: Array[particle types]\n"
3319  "\tString[description]\t\t[particle description]\n"
3320  "\tString[material]\t\t[''Ice'', ''Water''...]\n"
3321  "\tString[shape]\t\t\t[''spheroidal'', ''cylindrical'']\n"
3322  "\tNumeric[density]\t\t[kg/m3]\n"
3323  "\tNumeric[diameter_max]\t\t[m]\n"
3324  "\tNumeric[volume]\t\t\t[m3]\n"
3325  "\tNumeric[area_projected]\t\t[m2]\n"
3326  "\tNumeric[aspect_ratio]\t\t[]\n"
3327  "\tVector[scat_f_grid]\t\t[Hz]\n"
3328  "\tVector[scat_T_grid]\t\t[K]\n"
3329  "\tString[particle_type]\t[]\n"
3330  "\tGriddedField3[complex_refr_index]\t[]\n"
3331  ),
3332  GROUP( "ScatteringMetaData" )));
3333 
3334  wsv_data.push_back
3335  (WsvRecord
3336  ( NAME( "scat_meta_array" ),
3337  DESCRIPTION
3338  (
3339  "An Array of scattering meta data (*scat_meta*).\n"
3340  "\n"
3341  "The elements of the array hold the meta data for single particles used\n"
3342  "both for PSD and scattering properties calculations with *pnd_fieldSetup*,\n"
3343  "*particle_massesFromMetaDataAndPart_species* and *scat_data_arrayFromMeta*.\n"
3344  "\n"
3345  "Note: This array must contain as many elements as *scat_data_array*\n"
3346  "\n"
3347  "Usage: Set by the user.\n"
3348  "\n"
3349  "For more details of its content; see also *scat_meta*."
3350  ),
3351  GROUP( "ArrayOfScatteringMetaData" )));
3352 
3353  wsv_data.push_back
3354  (WsvRecord
3355  ( NAME( "scat_data_array_mono" ),
3356  DESCRIPTION
3357  (
3358  "Monochromatic single scattering data.\n"
3359  "\n"
3360  "This variable holds the single scattering properties for all \n"
3361  "hydrometeor species. It is calculated from *scat_data_array* by \n"
3362  "*scat_data_array_monoCalc*, which interpolates *scat_data_array* for the \n"
3363  "required frequency.\n"
3364  ),
3365  GROUP( "ArrayOfSingleScatteringData" )));
3366 
3367  wsv_data.push_back
3368  (WsvRecord
3369  ( NAME( "scat_data_per_part_species" ),
3370  DESCRIPTION
3371  (
3372  "Auxiliary array holding the number of *scat_data_array* particle\n"
3373  "entries associated with each entry in *part_species*. \n"
3374  "\n"
3375  "Size of *scat_data_per_part_species* has to be equal the size of *part_species*.\n"
3376  "\n"
3377  "Usage: WSM *ScatteringParticlesSelect* creates *scat_data_per_part_species*.\n"
3378  ),
3379  GROUP( "ArrayOfIndex" )));
3380 
3381  wsv_data.push_back
3382  (WsvRecord
3383  ( NAME( "scat_data_array" ),
3384  DESCRIPTION
3385  (
3386  "Raw data of single scattering data.\n"
3387  "\n"
3388  "This variable holds the single scattering properties for all \n"
3389  "hydrometeor species included in a calculation by using the \n"
3390  "methods *ParticleTypeAdd* or *ParticleTypeAddAll*. \n"
3391  "For more information refer to ArtsWiki.\n"
3392  "\n"
3393  "Option: See also *ScatteringParticleTypeAndMetaRead* for reading \n"
3394  "*SingleScatteringData* and *ScatteringMetaData*.\n"
3395  "\n"
3396  "The unit of the single scattering properties is m^2.\n"
3397  "\n"
3398  "This may be used in combination with *scat_meta_array*\n"
3399  "\n"
3400  "Usage: Method ouput.\n"
3401  "\n"
3402  "Dimensions: Array[particle types] \n"
3403  " SingleScatteringData \n"
3404  " Enum[particle type attribute]\n"
3405  " String[description] \n"
3406  " Vector[f_grid]\n"
3407  " Vector[T_grid]\n"
3408  " Vector[za_grid]\n"
3409  " Vector[aa_grid]\n"
3410  " Tensor7[pha_mat_data]\n"
3411  " [f_grid, T_grid, za_grid, aa_grid, za_grid, aa_grid, matrix_element]\n"
3412  " ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^\n"
3413  " scattered incoming\n"
3414  " Tensor5[ext_mat_data]\n"
3415  " [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
3416  " Tensor5[abs_vec_data]\n"
3417  " [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
3418  ),
3419  GROUP( "ArrayOfSingleScatteringData" )));
3420 
3421  wsv_data.push_back
3422  (WsvRecord
3423  ( NAME( "scat_i_lat" ),
3424  DESCRIPTION
3425  (
3426  "Intensity field on cloudbox boundary (constant latitude slice).\n"
3427  "\n"
3428  "This variable gives the intensity field from all directions defined \n"
3429  "in *scat_aa_grid* and *scat_za_grid* on each grid point on the two \n"
3430  "equal \n"
3431  "latitude levels of the cloudbox boundary. It contains all four \n"
3432  "components of the Stokes vector.\n"
3433  "\n"
3434  "This variable is used as interface between the clear sky and the \n"
3435  "scattering calculations. \n"
3436  "\n"
3437  "See further the ARTS user guide (AUG). Use the index to find where\n"
3438  "this variable is discussed. The variable is listed as a subentry to\n"
3439  "\"workspace variables\".\n"
3440  "\n"
3441  "Usage: In/Output from/to *ScatteringDoit* and *ScatteringDisort*\n"
3442  "\n"
3443  "Unit: W / (m^2 Hz sr) \n"
3444  "\n"
3445  "Dimensions: [ f_grid, p_grid, 2, lon_grid, \n"
3446  " scat_za_grid \n scat_aa_grid, stokes_dim ]\n"
3447  ),
3448  GROUP( "Tensor7" )));
3449 
3450  wsv_data.push_back
3451  (WsvRecord
3452  ( NAME( "scat_i_lon" ),
3453  DESCRIPTION
3454  (
3455  "Intensity field on cloudbox boundary (equal longitude slice).\n"
3456  "\n"
3457  "This variable gives the intensity field from all directions defined \n"
3458  "in *scat_aa_grid* and *scat_za_grid* on each grid point on the equal\n"
3459  "longitude level of the boundary of the cloudbox, which is defined \n"
3460  "by the workspace variable *cloudbox_limits*. It contains all four \n"
3461  "components of the Stokes vector.\n"
3462  "\n"
3463  "This variable is used as interface between the clear sky and the \n"
3464  "scattering calculations. \n"
3465  "\n"
3466  "See further the ARTS user guide (AUG). Use the index to find where\n"
3467  "this variable is discussed. The variable is listed as a subentry to\n"
3468  "\"workspace variables\".\n"
3469  "\n"
3470  "Usage: Output from *ScatteringDoit* and *ScatteringDisort* \n"
3471  "\n"
3472  "Unit: W / (m^2 Hz sr) \n"
3473  "\n"
3474  "Dimensions: [ f_grid, p_grid, lat_grid, 2, \n"
3475  " scat_za_grid, scat_aa_grid, stokes_dim]\n"
3476  ),
3477  GROUP( "Tensor7" )));
3478 
3479  wsv_data.push_back
3480  (WsvRecord
3481  ( NAME( "scat_i_p" ),
3482  DESCRIPTION
3483  (
3484  "Intensity field on cloudbox boundary (equal pressure slice).\n"
3485  "\n"
3486  "This variable gives the intensity field from all directions defined \n"
3487  "in *scat_aa_grid* and *scat_za_grid* on each grid point on the equal\n"
3488  "pressure levels of the cloudbox boundary. It contains all four \n"
3489  "components of the Stokes vector.\n"
3490  "\n"
3491  "This variable is used as interface between the clear sky and the \n"
3492  "scattering calculations. \n"
3493  "\n"
3494  "See further the ARTS user guide (AUG). Use the index to find where\n"
3495  "this variable is discussed. The variable is listed as a subentry to\n"
3496  "\"workspace variables\".\n"
3497  "\n"
3498  "Usage: In/Output from *ScatteringDoit* and *ScatteringDisort* \n"
3499  "\n"
3500  "Unit: W / (m^2 Hz sr) \n"
3501  "\n"
3502  "Dimensions: [ f_grid, 2, lat_grid, lon_grid, \n"
3503  " scat_za_grid, scat_aa_grid, stokes_dim]\n"
3504  ),
3505  GROUP( "Tensor7" )));
3506 
3507  wsv_data.push_back
3508  (WsvRecord
3509  ( NAME( "scat_lat_index" ),
3510  DESCRIPTION
3511  (
3512  "Latitude index for scattering calculations.\n"
3513  "\n"
3514  "This variable is used in methods used for computing scattering\n"
3515  "properties of particles like *opt_prop_sptFromData* and *pha_matCalc*.\n"
3516  "It holds the information about the position for which the \n"
3517  "scattering calculations are done. \n"
3518  "\n"
3519  "Usage: Input to the methods *spt_calc_agenda*,\n"
3520  " *pha_mat_spt_agenda*\n"
3521  ),
3522  GROUP( "Index" )));
3523 
3524  wsv_data.push_back
3525  (WsvRecord
3526  ( NAME( "scat_lon_index" ),
3527  DESCRIPTION
3528  (
3529  "Longitude index for scattering calculations.\n"
3530  "\n"
3531  "This variable is used in methods used for computing scattering\n"
3532  "properties of particles like *opt_prop_sptFromData* and *pha_matCalc*.\n"
3533  "It holds the information about the position for which the \n"
3534  "scattering calculations are done. \n"
3535  "\n"
3536  "Usage: Input to the methods *spt_calc_agenda*,\n"
3537  " *pha_mat_spt_agenda*\n"
3538  ),
3539  GROUP( "Index" )));
3540 
3541  wsv_data.push_back
3542  (WsvRecord
3543  ( NAME( "scat_p_index" ),
3544  DESCRIPTION
3545  (
3546  "Pressure index for scattering calculations.\n"
3547  "\n"
3548  "This variable is used in methods used for computing scattering\n"
3549  "properties of particles like *opt_prop_sptFromData* and *pha_matCalc*.\n"
3550  "It holds the information about the location for which the \n"
3551  "scattering calculations are done.\n"
3552  "\n"
3553  "Usage: Input to the methods *spt_calc_agenda*,\n"
3554  " *pha_mat_spt_agenda*\n"
3555  ),
3556  GROUP( "Index" )));
3557 
3558  wsv_data.push_back
3559  (WsvRecord
3560  ( NAME( "scat_za_grid" ),
3561  DESCRIPTION
3562  (
3563  "Zenith angle grid.\n"
3564  "\n"
3565  "The zenith angle grid, on which the intensity field is stored. \n"
3566  "This grid is used for RT calculations inside the cloudbox, therefore\n"
3567  "the grid has to be defined\n"
3568  "if the cloudbox is activated by the flag *cloudbox_on*.\n"
3569  "The grid must be sorted in increasing order, with no repetitions.\n"
3570  "\n"
3571  "Usage: Set by the user.\n"
3572  "\n"
3573  "Unit: degrees \n"
3574  ),
3575  GROUP( "Vector" )));
3576 
3577  wsv_data.push_back
3578  (WsvRecord
3579  ( NAME( "scat_za_index" ),
3580  DESCRIPTION
3581  (
3582  "Zenith angle index for scattering calculations.\n"
3583  " \n"
3584  "This variable is used internally in WSMs for computing scattering \n"
3585  "properties. \n"
3586  "\n"
3587  "Usage: Input to the agendas *spt_calc_agenda*, \n "
3588  " *pha_mat_spt_agenda*.\n"
3589  ),
3590  GROUP( "Index" )));
3591 
3592  wsv_data.push_back
3593  (WsvRecord
3594  ( NAME( "sensor_checked" ),
3595  DESCRIPTION
3596  (
3597  "OK-flag for sensor related variables.\n"
3598  "\n"
3599  "This variable flags that sensor variables are defined in a formally\n"
3600  "and practically correct way. For example, it checks for correct\n"
3601  "dimensions of *sensor_pos* and *sensor_los*.\n"
3602  "\n"
3603  "Shall be set by *sensor_checkedCalc*. See that WSM for treated WSVs.\n"
3604  "Only the value 1 is taken as OK.\n"
3605  ),
3606  GROUP( "Index" )));
3607 
3608  wsv_data.push_back
3609  (WsvRecord
3610  ( NAME( "sensor_description_amsu" ),
3611  DESCRIPTION
3612  (
3613  "Sensor description for simple AMSU setup.\n"
3614  "\n"
3615  "This is a compact description of an AMSU-type sensor. The matrix\n"
3616  "contains one row for each instrument channel. Each row contains three\n"
3617  "elements: LO position [Hz], offset of the channel center from the LO\n"
3618  "[Hz], and channel width [Hz].\n"
3619  "\n"
3620  "Usage: Set by the user.\n"
3621  "\n"
3622  "Unit: All entries in Hz.\n"
3623  "\n"
3624  "Size: [number of channels, 3]\n"
3625  ),
3626  GROUP( "Matrix" )));
3627 
3628  wsv_data.push_back
3629  (WsvRecord
3630  ( NAME( "sensor_los" ),
3631  DESCRIPTION
3632  (
3633  "The sensor line-of-sight (LOS) for each measurement block.\n"
3634  "\n"
3635  "Line-of-sights are specified by giving the zenith and azimuth angles.\n"
3636  "Column 1 holds the zenith angle. This angle is simply the angle \n"
3637  "between the zenith and LOS directions. For 1D and 3D the valid\n"
3638  "range is [0 180], while for 2D angles down to -180 degrees are\n"
3639  "allowed. Negative angles signifies for 2D observations towards\n"
3640  "lower latitudes, while positive angles means observations towards\n"
3641  "higher latitudes. Nadir corresponds throughout to 180 degrees.\n"
3642  "\n"
3643  "The azimuth angle is given with respect to the meridian plane. That\n"
3644  "is, the plane going through the north and south poles. The valid \n"
3645  "range is [-180,180] where angles are counted clockwise; 0 means\n"
3646  "that the viewing or propagation direction is north-wise and +90 means\n"
3647  "that the direction of concern goes eastward.\n"
3648  "\n"
3649  "See further the ARTS user guide (AUG). Use the index to find where\n"
3650  "this variable is discussed. The variable is listed as a subentry to\n"
3651  "\"workspace variables\".\n"
3652  "\n"
3653  "Usage: Set by the user.\n"
3654  "\n"
3655  "Unit: [ degrees, degrees ]\n"
3656  "\n"
3657  "Size: [ number of measurement blocks, 1 or 2 ]\n"
3658  ),
3659  GROUP( "Matrix" )));
3660 
3661  wsv_data.push_back
3662  (WsvRecord
3663  ( NAME( "sensor_norm" ),
3664  DESCRIPTION
3665  (
3666  "Flag if sensor response should be normalised or not (0 or 1).\n"
3667  "\n"
3668  "If the flag is set to 1 each sensor response is normalised (where\n"
3669  "applicable). If set to 0 the sensor responses are left as provided.\n"
3670  "\n"
3671  "See further the ARTS user guide (AUG). Use the index to find where\n"
3672  "this variable is discussed. The variable is listed as a sub-entry to\n"
3673  "\"workspace variables\".\n"
3674  "\n"
3675  "Usage: Set by the user.\n"
3676  ),
3677  GROUP( "Index" )));
3678 
3679  wsv_data.push_back
3680  (WsvRecord
3681  ( NAME( "sensor_pol" ),
3682  DESCRIPTION
3683  (
3684  "Sensor polarisations.\n"
3685  "\n"
3686  "The default for output is to give data for the selected Stokes\n"
3687  "elements (1:stokes_dim). This variable defines the polarisations\n"
3688  "that are actually measured (= or just what shall be outputted).\n"
3689  "This variable is used as input for WSM that handles the extraction\n"
3690  "of polarisation components. This in contrast to *sensor_response_pol*\n"
3691  "and that are used for internal bookkeeping\n"
3692  "\n"
3693  "The polarisation states/components are coded as\n"
3694  " 0 = Undefined.\n"
3695  " 1 = I, total intensity.\n"
3696  " 2 = Q, second Stokes component, Iv - Ih.\n"
3697  " 3 = U, third Stokes component, I+45 - I-45.\n"
3698  " 4 = V, forth Stokes component, Irc - Ilc\n"
3699  " 5 = Iv, intensity of vertically polarised component.\n"
3700  " 6 = Ih, intensity of horizontally polarised component.\n"
3701  " 7 = I+45, intensity of +45 deg linearly polarised component.\n"
3702  " 8 = I-45, intensity of -45 deg linearly polarised component.\n"
3703  " 9 = Irhc, intensity of right-hand circularly polarised component.\n"
3704  " 10 = Ilhc, intensity of left-hand circularly polarised component.\n"
3705  "\n"
3706  "See the documentation for definition of the Stokes vector and the\n"
3707  "different components.\n"
3708  "\n"
3709  "If the sensor measures the vertical and horisontal componenets, this\n"
3710  "variable shall accordingly be set to [5,6].\n"
3711  "\n"
3712  "The conversion to Planck-BT of components 2-4 requires that component\n"
3713  "1 is kept, and is then included as first element.\n"
3714  "\n"
3715  "The shift from the Stokes vector can be made at any stage when of the\n"
3716  "sensor response set-up. The responses used must of course be adopted\n"
3717  "correspondingly. Or reversed, if the antenna response is defined for\n"
3718  "Iv and Ih it could be useful to shift polarisation as first sensor\n"
3719  "operation.\n"
3720  "\n"
3721  "Usage: Set by the user.\n"
3722  ),
3723  GROUP( "ArrayOfIndex" )));
3724 
3725  wsv_data.push_back
3726  (WsvRecord
3727  ( NAME( "sensor_pol_array" ),
3728  DESCRIPTION
3729  (
3730  "Multiple definition of sensor polarisation.\n"
3731  "\n"
3732  "Defined as *sensor_pol* but used when multiple reciever polarisation\n"
3733  "are possible/required.\n"
3734  "\n"
3735  "Usage: Set by the user.\n"
3736  ),
3737  GROUP( "ArrayOfArrayOfIndex" )));
3738 
3739  wsv_data.push_back
3740  (WsvRecord
3741  ( NAME( "sensor_pos" ),
3742  DESCRIPTION
3743  (
3744  "The sensor position for each measurement block.\n"
3745  "\n"
3746  "The sensor positions are specified as a matrix, where the number of\n"
3747  "columns shall be equal to *atmosphere_dim*. Column 1 shall contain\n"
3748  "the altitude of the sensor platform, column 2 the latitude and the \n"
3749  "last column the longitude. The number of rows corresponds to the\n"
3750  "number of measurement blocks.\n"
3751  "\n"
3752  "Valid range for latitudes in 3D is [-90,90], while for 2D any value\n"
3753  "is accepted. Accepted range for longitudes are [-360,360].\n"
3754  "\n"
3755  "See further the ARTS user guide (AUG). Use the index to find where\n"
3756  "this variable is discussed. The variable is listed as a subentry to\n"
3757  "\"workspace variables\".\n"
3758  "\n"
3759  "Usage: Set by the user.\n"
3760  "\n"
3761  "Unit: [ m, degrees, degrees ]\n"
3762  "\n"
3763  "Size: [ number of measurement blocks, atmosphere_dim ]\n"
3764  ),
3765  GROUP( "Matrix" )));
3766 
3767  wsv_data.push_back
3768  (WsvRecord
3769  ( NAME( "sensor_response" ),
3770  DESCRIPTION
3771  (
3772  "The matrix modelling the total sensor response.\n"
3773  "\n"
3774  "This matrix describes the sensor respons for one measurement block\n"
3775  "The response is assumed to be identical for each such block.\n"
3776  "\n"
3777  "The matrix is the product of all the individual sensor response\n"
3778  "matrices. Therefore its dimensions are depending on the total sensor\n"
3779  "configuration. The *sensor_response* has to initialised by the \n"
3780  "*sensor_responseInit* method.\n"
3781  "\n"
3782  "Usage: Output/input to the *sensor_response...* methods.\n"
3783  "\n"
3784  "Units: -\n"
3785  "\n"
3786  "Dimension: See the individual *sensor_response...* method. \n"
3787  ),
3788  GROUP( "Sparse" )));
3789 
3790  wsv_data.push_back
3791  (WsvRecord
3792  ( NAME( "sensor_response_aa" ),
3793  DESCRIPTION
3794  (
3795  "The relative azimuth angles associated with the output of\n"
3796  "*sensor_response*.\n"
3797  "\n"
3798  "Definition of angle matches *mblock_aa_grid*. Works otherwise as\n"
3799  "*sensor_response_f*.\n"
3800  "\n"
3801  "The variable shall not be set manually, it will be set together with\n"
3802  "*sensor_response* by sensor response WSMs.\n"
3803  "\n"
3804  "Usage: Set by sensor response methods.\n"
3805  "\n"
3806  "Unit: [ degrees ]\n"
3807  ),
3808  GROUP( "Vector" )));
3809 
3810  wsv_data.push_back
3811  (WsvRecord
3812  ( NAME( "sensor_response_aa_grid" ),
3813  DESCRIPTION
3814  (
3815  "The azimuth angle grid associated with *sensor_response*.\n"
3816  "\n"
3817  "A variable for communication between sensor response WSMs. Matches\n"
3818  "initially *mblock_aa_grid*, but is later adjusted according to the\n"
3819  "sensor specifications. Only defined when a common grid exists. Values\n"
3820  "are here not repeated as in *sensor_response_aa*\n"
3821  "\n"
3822  "The zenith and azimuth dimensions are joined into a single dimension\n"
3823  "after the antenna. The variables *sensor_response_za_grid* and \n"
3824  "*sensor_response_aa_grid* have then the same length after the antenna\n"
3825  "(if antenna_dim = 2), holding data taken from the columns of \n"
3826  "*antenna_los*.\n"
3827  "\n"
3828  "Usage: Set by sensor response methods.\n"
3829  "\n"
3830  "Unit: [ degrees ]\n"
3831  ),
3832  GROUP( "Vector" )));
3833 
3834  wsv_data.push_back
3835  (WsvRecord
3836  ( NAME( "sensor_response_agenda" ),
3837  DESCRIPTION
3838  (
3839  "See agendas.cc.\n"
3840  ),
3841  GROUP( "Agenda" )));
3842 
3843  wsv_data.push_back
3844  (WsvRecord
3845  ( NAME( "sensor_response_f" ),
3846  DESCRIPTION
3847  (
3848  "The frequencies associated with the output of *sensor_response*.\n"
3849  "\n"
3850  "This vector gives the frequency for each element of the measurement\n"
3851  "vector produced inside one measurement block. The frequencies of\n"
3852  "the total measurement vector, *y*, are obtained by repeating these\n"
3853  "frequencies n times, where n is the number of measurement blocks\n"
3854  "(e.g. the number of rows in *sensor_pos*).\n"
3855  "\n"
3856  "The variable shall not be set manually, it will be set together with\n"
3857  "*sensor_response* by sensor response WSMs.\n"
3858  "\n"
3859  "Usage: Set by sensor response methods.\n"
3860  "\n"
3861  "Unit: [ Hz ]\n"
3862  ),
3863  GROUP( "Vector" )));
3864 
3865  wsv_data.push_back
3866  (WsvRecord
3867  ( NAME( "sensor_response_f_grid" ),
3868  DESCRIPTION
3869  (
3870  "The frequency grid associated with *sensor_response*.\n"
3871  "\n"
3872  "A variable for communication between sensor response WSMs. Matches\n"
3873  "initially *f_grid*, but is later adjusted according to the sensor\n"
3874  "specifications. Only defined when a common grid exists. Values are\n"
3875  "here not repeated as in *sensor_response_f*\n"
3876  "\n"
3877  "Usage: Set by sensor response methods.\n"
3878  "\n"
3879  "Unit: [ Hz ]\n"
3880  ),
3881  GROUP( "Vector" )));
3882 
3883  wsv_data.push_back
3884  (WsvRecord
3885  ( NAME( "sensor_response_pol" ),
3886  DESCRIPTION
3887  (
3888  "The polarisation states associated with the output of\n"
3889  "*sensor_response*.\n"
3890  "\n"
3891  "Works basically as *sensor_response_f*.\n"
3892  "\n"
3893  "See *sensor_pol* for coding of polarisation states.\n"
3894  "\n"
3895  "The variable shall not be set manually, it will be set together with\n"
3896  "*sensor_response* by sensor response WSMs.\n"
3897  "\n"
3898  "Usage: Set by sensor response methods.\n"
3899  "\n"
3900  "Unit: [ - ]\n"
3901  ),
3902  GROUP( "ArrayOfIndex" )));
3903 
3904  wsv_data.push_back
3905  (WsvRecord
3906  ( NAME( "sensor_response_pol_grid" ),
3907  DESCRIPTION
3908  (
3909  "The \"polarisation grid\" associated with *sensor_response*.\n"
3910  "\n"
3911  "A variable for communication between sensor response WSMs. It is\n"
3912  "initially 1:stokes_dim, but can later adjusted according to the \n"
3913  "sensor specifications. Only defined when a common grid exists. \n"
3914  "\n"
3915  "See *sensor_pol* for coding of polarisation states.\n"
3916  "\n"
3917  "Usage: Set by sensor response methods.\n"
3918  "\n"
3919  "Unit: [ - ]\n"
3920  ),
3921  GROUP( "ArrayOfIndex" )));
3922 
3923  wsv_data.push_back
3924  (WsvRecord
3925  ( NAME( "sensor_response_za" ),
3926  DESCRIPTION
3927  (
3928  "The relative zenith angles associated with the output of\n"
3929  "*sensor_response*.\n"
3930  "\n"
3931  "Definition of angle matches *mblock_za_grid*. Works otherwise as\n"
3932  "*sensor_response_f*.\n"
3933  "\n"
3934  "The variable shall not be set manually, it will be set together with\n"
3935  "*sensor_response* by sensor response WSMs.\n"
3936  "\n"
3937  "Usage: Set by sensor response methods.\n"
3938  "\n"
3939  "Unit: [ degrees ]\n"
3940  ),
3941  GROUP( "Vector" )));
3942 
3943  wsv_data.push_back
3944  (WsvRecord
3945  ( NAME( "sensor_response_za_grid" ),
3946  DESCRIPTION
3947  (
3948  "The zenith angle grid associated with *sensor_response*.\n"
3949  "\n"
3950  "A variable for communication between sensor response WSMs. Matches\n"
3951  "initially *mblock_za_grid*, but is later adjusted according to the\n"
3952  "sensor specifications. Only defined when a common grid exists. Values\n"
3953  "are here not repeated as in *sensor_response_za*\n"
3954  "\n"
3955  "The zenith and azimuth dimensions are joined into a single dimension\n"
3956  "after the antenna. The variables *sensor_response_za_grid* and \n"
3957  "*sensor_response_aa_grid* have then the same length after the antenna\n"
3958  "(if antenna_dim = 2), holding data taken from the columns of \n"
3959  "*antenna_los*.\n"
3960  "\n"
3961  "Usage: Set by sensor response methods.\n"
3962  "\n"
3963  "Unit: [ degrees ]\n"
3964  ),
3965  GROUP( "Vector" )));
3966 
3967  wsv_data.push_back
3968  (WsvRecord
3969  ( NAME( "sensor_time" ),
3970  DESCRIPTION
3971  (
3972  "The time for each measurement block.\n"
3973  "\n"
3974  "This WSV is used when a time must be assigned to the measurements.\n"
3975  "No specific time format has (yet) been specified.\n"
3976  "\n"
3977  "Usage: Set by the user.\n"
3978  "\n"
3979  "Unit: [ arbitrary ]\n"
3980  "\n"
3981  "Size: [ number of measurement blocks ]\n"
3982  ),
3983  GROUP( "Vector" )));
3984 
3985  wsv_data.push_back
3986  (WsvRecord
3987  ( NAME( "sideband_mode" ),
3988  DESCRIPTION
3989  (
3990  "Description of target sideband.\n"
3991  "\n"
3992  "A text string describing which of the two sidebands (of a heterodyne\n"
3993  "instrument) that can be seen as \"main\" band. Possible choices are:\n"
3994  " \"lower\" : Low frequency sideband shall be considered as target.\n"
3995  " \"upper\" : High frequency sideband shall be considered as target.\n"
3996  "\n"
3997  "Usage: Set by the user.\n"
3998  ),
3999  GROUP( "String" )));
4000 
4001  wsv_data.push_back
4002  (WsvRecord
4003  ( NAME( "sideband_mode_multi" ),
4004  DESCRIPTION
4005  (
4006  "Description of target sideband for a multiple LO receiver.\n"
4007  "\n"
4008  "As *sideband_mode* but handles an instrument with several LO chains.\n"
4009  "See further *lo_multi* and *sideband_response_multi*. This length of\n"
4010  "this array must match the size of those WSVs.\n"
4011  "\n"
4012  "Usage: Set by the user.\n"
4013  ),
4014  GROUP( "ArrayOfString" )));
4015 
4016 
4017  wsv_data.push_back
4018  (WsvRecord
4019  ( NAME( "sideband_response" ),
4020  DESCRIPTION
4021  (
4022  "Description of (mixer) sideband response.\n"
4023  "\n"
4024  "This variable describes the response of each sideband of a heterodyne\n"
4025  "receiver. The response is given as a GriddedField1, with frequency as the\n"
4026  "grid. The actual data describe the sideband filter function at each\n"
4027  "frequency grid point. An interpolation is applied to obtain the\n"
4028  "response for other frequencies.\n"
4029  "\n"
4030  "The frequency grid should be given in terms of IF, with end points\n"
4031  "symmetrically placed around zero. That is, the grid must contain\n"
4032  "both negative and positive values. The sideband response (after \n"
4033  "summation with *lo*) is not allowed to extend outside the range\n"
4034  "for which spectral data exist (normally determined by *f_grid*).\n"
4035  "\n"
4036  "Usage: Set by the user.\n"
4037  "\n"
4038  "Dimensions: \n"
4039  " GriddedField1:\n"
4040  " Vector f_grid[N_f]\n"
4041  " Vector data[N_f]\n"
4042  ),
4043  GROUP( "GriddedField1" )));
4044 
4045  wsv_data.push_back
4046  (WsvRecord
4047  ( NAME( "sideband_response_multi" ),
4048  DESCRIPTION
4049  (
4050  "Description of multiple (mixer) sideband responses.\n"
4051  "\n"
4052  "As *sideband_response* but describes an instrument with multiple\n"
4053  "mixers. An array element for each LO. The size of this variable and\n"
4054  "*lo_multi* shall match.\n"
4055  "\n"
4056  "Unit: Hz\n"
4057  "\n"
4058  "Usage: Set by the user.\n"
4059  ),
4060  GROUP( "ArrayOfGriddedField1" )));
4061 
4062  wsv_data.push_back
4063  (WsvRecord
4064  ( NAME( "scat_data" ),
4065  DESCRIPTION
4066  (
4067  "Structure for the single scattering data.\n"
4068  "\n"
4069  "See futher the ArtsWiki documentation were the SingleScatteringData\n"
4070  "structure is disussed.\n"
4071  "\n"
4072  "Usage: Set by the user.\n"
4073  "\n"
4074  "Dimensions: SingleScatteringData \n"
4075  " Enum[particle type attribute]\n"
4076  " String[description] \n"
4077  " Vector[f_grid]\n"
4078  " Vector[T_grid]\n"
4079  " Vector[za_grid]\n"
4080  " Vector[aa_grid]\n"
4081  " Tensor7[pha_mat_data]\n"
4082  " [f_grid, T_grid, za_grid, aa_grid, za_grid, aa_grid, matrix_element]\n"
4083  " ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^\n"
4084  " scattered incoming\n"
4085  " Tensor5[ext_mat_data]\n"
4086  " [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
4087  " Tensor5[abs_vec_data]\n"
4088  " [f_grid, T_grid, za_grid, aa_grid, matrix_element]\n"
4089  ),
4090  GROUP( "SingleScatteringData" )));
4091 
4092  wsv_data.push_back
4093  (WsvRecord
4094  ( NAME( "specular_los" ),
4095  DESCRIPTION
4096  (
4097  "The specular direction (for reflection by a flat surface).\n"
4098  "\n"
4099  "The specualr dirtection as a standard line-of-sight vector.\n"
4100  "\n"
4101  "Units: degrees\n"
4102  "\n"
4103  "Size: [ 1 or 2 ]\n"
4104  ),
4105  GROUP( "Vector" )));
4106 
4107  wsv_data.push_back
4108  (WsvRecord
4109  ( NAME( "spt_calc_agenda" ),
4110  DESCRIPTION
4111  (
4112  "See agendas.cc.\n"
4113  ),
4114  GROUP( "Agenda" )));
4115 
4116  wsv_data.push_back
4117  (WsvRecord
4118  ( NAME( "stokes_dim" ),
4119  DESCRIPTION
4120  (
4121  "The dimensionality of the Stokes vector (1-4).\n"
4122  "\n"
4123  "Usage: Set by the user.\n"
4124  ),
4125  GROUP( "Index" )));
4126 
4127  wsv_data.push_back
4128  (WsvRecord
4129  ( NAME( "stokes_rotation" ),
4130  DESCRIPTION
4131  (
4132  "Rotation of the Stokes H and V directions.\n"
4133  "\n"
4134  "This variable allows to introduce a rotation of the Stokes coordinate\n"
4135  "system. Such a rotation could be needed to handle the scanning\n"
4136  "procedure of some instruments, such as AMSU-A. The variable is\n"
4137  "applied by the *sensor_responseStokesRotation* WSM.\n"
4138  "\n"
4139  "The rotation is given as an angle for each direction. In general, the\n"
4140  "number of rotations to be specified follows *sensor_response_za_grid*\n"
4141  "and *sensor_response_aa_grid*. For example, if no antenna is included\n"
4142  "or a 1D antenna is used, and the rotation is applied before the\n"
4143  "antenna is included in *sensor_response*, there should be one angle\n"
4144  "for each element of *mblock_za_grid*. After inclusion of an antenna\n"
4145  "response, the relevant number of angles is determined by\n"
4146  "*antenna_los*.\n"
4147  "\n"
4148  "It is assumed that the rotation is common for all frequency elements.\n"
4149  "\n"
4150  "Units: degrees\n"
4151  "\n"
4152  "Size: [ number of zenith angles, number of azimuth angles ]\n"
4153  "\n"
4154  "Usage: Set by the user.\n"
4155  ),
4156  GROUP( "Matrix" )));
4157 
4158  wsv_data.push_back
4159  (WsvRecord
4160  ( NAME( "surface_complex_refr_index"),
4161  DESCRIPTION
4162  (
4163  "Complex refractive index of the surface, at a single point.\n"
4164  "\n"
4165  "See *complex_refr_index* for the expected format and how the data\n"
4166  "are treated.\n"
4167  ),
4168  GROUP( "GriddedField3" ) ));
4169 
4170  wsv_data.push_back
4171  (WsvRecord
4172  ( NAME( "surface_emission" ),
4173  DESCRIPTION
4174  ( "The emission from the surface.\n"
4175  "\n"
4176  "See specific methods generating *surface_emission* and the user\n"
4177  "guide for more information.\n"
4178  "\n"
4179  "Dimensions: [ f_grid, stokes_dim ]\n"
4180  ),
4181  GROUP( "Matrix" )));
4182 
4183  wsv_data.push_back
4184  (WsvRecord
4185  ( NAME( "surface_emissivity_DISORT" ),
4186  DESCRIPTION
4187  ( "The surface emissivity specified on lat_grid and lon_grid.\n"
4188  "\n"
4189  "Remnant from a first solution for surface emissivity fields.\n"
4190  "Should be replaced with more flexible solution allowing emissivity\n"
4191  "to vary with incidence angle.\n"
4192  "\n"
4193  "Dimensions: [ lat_grid, lon_grid ]\n"
4194  ),
4195  GROUP( "Matrix" )));
4196 
4197  wsv_data.push_back
4198  (WsvRecord
4199  ( NAME( "surface_los" ),
4200  DESCRIPTION
4201  (
4202  "Directions for which to calculate downwelling radiation when\n"
4203  "considering a surface reflection.\n"
4204  "\n"
4205  "See further the user guide.\n"
4206  "\n"
4207  "Units: degrees\n"
4208  "\n"
4209  "Size: [ any number, 1 or 2 ]\n"
4210  ),
4211  GROUP( "Matrix" )));
4212 
4213  wsv_data.push_back
4214  (WsvRecord
4215  ( NAME( "surface_normal" ),
4216  DESCRIPTION
4217  (
4218  "The normal vector for a point at the surface.\n"
4219  "\n"
4220  "The vector is given as a zenith and azimuth (the later only for 3D)\n"
4221  "angle, following the definition of line-of-sights. For example,\n"
4222  "this vector is always [0] for 1D, as there is no surface topography\n"
4223  "for this atmospheric dimensionality.\n"
4224  "\n"
4225  "Units: degrees\n"
4226  "\n"
4227  "Size: [ 1 or 2 ]\n"
4228  ),
4229  GROUP( "Vector" )));
4230 
4231  wsv_data.push_back
4232  (WsvRecord
4233  ( NAME( "surface_rmatrix" ),
4234  DESCRIPTION
4235  (
4236  "The reflection coefficients for the directions given by\n"
4237  "*surface_los* to the direction of interest.\n"
4238  "\n"
4239  "The rows and columns of this tensor holds the reflection\n"
4240  "coefficient matrix for one frequency and one LOS. The reflection\n"
4241  "coefficients shall take into accound the angular weighting if the\n"
4242  "downwelling radiation.\n"
4243  "\n"
4244  "See specific methods generating *surface_rmatrix* and the user guide\n"
4245  "for more information.\n"
4246  "\n"
4247  "Usage: Input to methods for *surface_rtprop_agenda*."
4248  "\n"
4249  "Units: -\n"
4250  "\n"
4251  "Dimensions: [ surface_los, f_grid, stokes_dim, stokes_dim ]\n"
4252  ),
4253  GROUP( "Tensor4" )));
4254 
4255  wsv_data.push_back
4256  (WsvRecord
4257  ( NAME( "surface_rtprop_agenda" ),
4258  DESCRIPTION
4259  (
4260  "See agendas.cc.\n"
4261  ),
4262  GROUP( "Agenda" )));
4263 
4264  wsv_data.push_back
4265  (WsvRecord
4266  ( NAME( "surface_skin_t" ),
4267  DESCRIPTION
4268  (
4269  "Surface skin temperature.\n"
4270  "\n"
4271  "This temperature shall be selected considering the radiative\n"
4272  "properties of the surface, and can differ from the \"bulk\"\n"
4273  "temperature.\n"
4274  "\n"
4275  "Usage: Input to methods for *surface_rtprop_agenda*.\n"
4276  ),
4277  GROUP( "Numeric" )));
4278 
4279  wsv_data.push_back
4280  (WsvRecord
4281  ( NAME( "surface_reflectivity" ),
4282  DESCRIPTION
4283  (
4284  "Surface reflectivity, for a given position and angle.\n"
4285  "\n"
4286  "This variable describes the surface reflectivity at one position\n"
4287  "and one incidence angle. It works as *surface_scalar_reflectivity*\n"
4288  "but is also defined for vector radiative transfer.\n"
4289  "\n"
4290  "The first dimension of the variable shall either match *f_grid* or\n"
4291  "be 1. The later case is interpreted as the reflectivity is the same\n"
4292  "for all frequencies.\n"
4293  "\n"
4294  "Usage: Input to some surface properties methods.\n"
4295  "\n"
4296  "Dimensions: [ f_grid or 1, stokes_dim, stokes_dim]\n"
4297  ),
4298  GROUP( "Tensor3" )));
4299 
4300  wsv_data.push_back
4301  (WsvRecord
4302  ( NAME( "surface_scalar_reflectivity" ),
4303  DESCRIPTION
4304  (
4305  "Surface reflectivity, assuming it can be described as a scalar value.\n"
4306  "\n"
4307  "This variable describes the surface reflectivity at one position\n"
4308  "and one incidence angle.\n"
4309  "\n"
4310  "The variable can only be used for scalar radiative transfer, that\n"
4311  "is, *stokes_dim* equals 1. Use *surface_reflectivity* for vector\n"
4312  "radiative transfer.\n"
4313  "\n"
4314  "The length of the vector shall either match *f_grid* or be 1. The \n"
4315  "later case is interpreted as the reflectivity is the same for all\n"
4316  "frequencies (ie. matches a constant vector).\n"
4317  "\n"
4318  "Usage: Input to some surface properties methods.\n"
4319  "\n"
4320  "Dimensions: [ f_grid or 1]\n"
4321  ),
4322  GROUP( "Vector" )));
4323 
4324  wsv_data.push_back
4325  (WsvRecord
4326  ( NAME( "test_agenda" ),
4327  DESCRIPTION
4328  (
4329  "See agendas.cc.\n"
4330  ),
4331  GROUP( "Agenda" )));
4332 
4333  wsv_data.push_back
4334  (WsvRecord
4335  ( NAME( "timer" ),
4336  DESCRIPTION
4337  (
4338  "Stores the starting time for time measurements.\n"
4339  ),
4340  GROUP( "Timer" )));
4341 
4342  wsv_data.push_back
4343  (WsvRecord
4344  ( NAME( "transmitter_pos" ),
4345  DESCRIPTION
4346  (
4347  "Transmitter positions.\n"
4348  "\n"
4349  "Used for radio link calculations and gives then the position of the\n"
4350  "transmitting device. The corresponding positions of the receiver are\n"
4351  "given by *sensor_pos*. The number of rows in *transmitter_pos* and\n"
4352  "*sensor_pos* must be equal.\n"
4353  "\n"
4354  "This WSV is also defined as *sensor_pos* regarding the content of the\n"
4355  "columns, accepted range for latitudes etc. With one exception, this\n"
4356  "WSV is demanded to have two columns also for 1D. The additional\n"
4357  "second value is the angular distance between the transmitter and the\n"
4358  "reciver. This angle is defined as \"latitude\" for 2D, with the\n"
4359  "sensor fixed at the angle of 0 degree.\n"
4360  "\n"
4361  "Each row this matrix defines *rte_pos2* for the measurement block,\n"
4362  "exactly as *sensor_pos* is translated to *rte_pos*.\n"
4363  "\n"
4364  "If no transmitter is involved in the calculations, the variable can\n"
4365  "be set to be empty.\n"
4366  "\n"
4367  "Usage: Set by the user.\n"
4368  "\n"
4369  "Unit: [ m, degrees, degrees ]\n"
4370  ),
4371  GROUP( "Matrix" )));
4372 
4373  wsv_data.push_back
4374  (WsvRecord
4375  ( NAME( "t_field" ),
4376  DESCRIPTION
4377  (
4378  "The field of atmospheric temperatures.\n"
4379  "\n"
4380  "This variable gives the atmospheric temperature at each crossing of\n"
4381  "the pressure, latitude and longitude grids.\n"
4382  "\n"
4383  "The temperature for a point between the grid crossings is obtained \n"
4384  "by (multi-)linear interpolation of the *t_field*.\n"
4385  "\n"
4386  "See further the ARTS user guide (AUG). Use the index to find where\n"
4387  "this variable is discussed. The variable is listed as a subentry to\n"
4388  "\"workspace variables\".\n"
4389  "\n"
4390  "Usage: Output of *AtmFieldsCalc*.\n"
4391  "\n"
4392  "Unit: K\n"
4393  "\n"
4394  "Dimensions: [ p_grid, lat_grid, lon_grid ]\n"
4395  ),
4396  GROUP( "Tensor3" )));
4397 
4398  wsv_data.push_back
4399  (WsvRecord
4400  ( NAME( "t_field_raw" ),
4401  DESCRIPTION
4402  (
4403  "Raw data for atmospheric temperatures.\n"
4404  "\n"
4405  "This variable gives the atmospheric temperature as stored in the \n"
4406  "database for the atmospheric scenarios.\n"
4407  "\n"
4408  "See further the ARTS user guide (AUG). Use the index to find where\n"
4409  "this variable is discussed. The variable is listed as a subentry to\n"
4410  "\"workspace variables\".\n"
4411  "\n"
4412  "Usage: Set by the user by choosing a climatology.\n"
4413  "\n"
4414  "Unit: K\n"
4415  "\n"
4416  "Size GriddedField3 \n "
4417  " [N_p] \n"
4418  " [N_lat] \n"
4419  " [N_lon] \n"
4420  " [N_p, N_lat, N_lon] \n"
4421  ),
4422  GROUP( "GriddedField3" )));
4423 
4424  wsv_data.push_back
4425  (WsvRecord
4426  ( NAME( "t_surface" ),
4427  DESCRIPTION
4428  (
4429  "The surface temperature.\n"
4430  "\n"
4431  "This variable holds the temperature of the surface at each latitude\n"
4432  "and longitude grid crossing. The normal case should be that this \n"
4433  "temperature field is interpolated to obtain *surface_skin_t*.\n"
4434  "Accordingly, for 1D cases it could be a better idea to specify\n"
4435  "*surface_skin_t* directly.\n"
4436  "\n"
4437  "These temperature shall be selected considering the radiative\n"
4438  "properties of the surface, and can differ from the \"bulk\"\n"
4439  "temperatures.\n"
4440  "\n"
4441  "Usage: Set by user.\n"
4442  "\n"
4443  "Unit: K\n"
4444  "\n"
4445  "Dimensions: [ lat_grid, lon_grid ]\n"
4446  ),
4447  GROUP( "Matrix" )));
4448 
4449  wsv_data.push_back
4450  (WsvRecord
4451  ( NAME( "use_mean_scat_data" ),
4452  DESCRIPTION
4453  (
4454  "Flag to use same scattering properties for all frequencies.\n"
4455  "\n"
4456  "This flag is not considered y all scattering methods, but (at least)\n"
4457  "by *iyFOS* and *iyBeerLambertStandardCloudbox*.\n"
4458  "\n"
4459  "If set to 1, the scattering properties are extracted for a single\n"
4460  "frequency, and these properties are applied for all frequncies when\n"
4461  "performing the actual radiative transfer calculations. This can save\n"
4462  "considerable time. The option can be when the width of the band is\n"
4463  "small comapred to the mean frequency. The properties are extracted\n"
4464  "for the mean of min and max of *f_grid*.\n"
4465  "\n"
4466  "If set to 0, standard calculations are made (scattering properties\n"
4467  "extracted for each frequency).\n"
4468  "\n"
4469  "Usage: Set by user.\n"
4470  ),
4471  GROUP( "Index" )));
4472 
4473  wsv_data.push_back
4474  (WsvRecord
4475  ( NAME( "verbosity" ),
4476  DESCRIPTION
4477  (
4478  "ARTS verbosity.\n"
4479  "\n"
4480  "The verbosity variable is implicitly passed to all workspace methods.\n"
4481  "It can be used to dynamically control the reporting level during\n"
4482  "runtime.\n"
4483  "\n"
4484  "Usage: Set by user.\n"
4485  "\n"
4486  "See also: *verbosityInit*\n"
4487  " *verbositySet*\n"
4488  " *verbositySetAgenda*\n"
4489  " *verbositySetScreen*\n"
4490  " *verbositySetFile*\n"
4491  ),
4492  GROUP( "Verbosity" )));
4493 
4494  wsv_data.push_back
4495  (WsvRecord
4496  ( NAME( "vmr_field" ),
4497  DESCRIPTION
4498  (
4499  "VMR field.\n"
4500  "\n"
4501  "This variable gives the volume mixing ratio of the chosen gaseous \n"
4502  "species as a function of p_grid, lat_grid, lon_grid. \n"
4503  "\n"
4504  "See further the ARTS user guide (AUG). Use the index to find where\n"
4505  "this variable is discussed. The variable is listed as a subentry to\n"
4506  "\"workspace variables\".\n"
4507  "\n"
4508  "Units: [ Differ between the elements, can be VMR, kg/m3 or #/m3. ]\n"
4509  "\n"
4510  "Dimensions: [species, p_grid, lat_grid, lon_grid]\n"
4511  ),
4512  GROUP( "Tensor4" )));
4513 
4514  wsv_data.push_back
4515  (WsvRecord
4516  ( NAME( "vmr_field_raw" ),
4517  DESCRIPTION
4518  (
4519  "VMR data for the chosen gaseous species.\n"
4520  "\n"
4521  "This variable contains the volume mixing ratios (VMR) for all \n"
4522  "chosen gaseous species. It includes the grids corresponding to the \n"
4523  "grids in the database. \n"
4524  "*vmr_field_raw* is an Array of Array of Tensor3. It contains one \n"
4525  "gridded field for each species which contains the data and \n"
4526  "also the grids.\n"
4527  "For the calculation the data is \n"
4528  "interpolated on *p_grid*, *lat_grid* and *lon_grid*\n"
4529  "\n"
4530  "Usage: Output of *AtmRawRead*\n"
4531  " Input to *AtmFieldsCalc*.\n"
4532  "\n"
4533  "Unit: absolute number\n"
4534  "\n"
4535  "Size: Array[N_pt]\n"
4536  " GriddedField3 \n "
4537  " [N_p] \n"
4538  " [N_lat] \n"
4539  " [N_lon] \n"
4540  " [N_p, N_lat, N_lon] \n"
4541  ),
4542  GROUP( "ArrayOfGriddedField3" )));
4543 
4544  wsv_data.push_back
4545  (WsvRecord
4546  ( NAME( "wind_u_field" ),
4547  DESCRIPTION
4548  (
4549  "Zonal component of the wind field.\n"
4550  "\n"
4551  "The East-West wind component. Air moving towards higher\n"
4552  "longitudes is a positive wind. This wind causes no Doppler shift\n"
4553  "for 1D and 2D simulations.\n"
4554  "\n"
4555  "Can be set to be empty, which is interpreted as zero wind speed\n"
4556  "everywhere.\n"
4557  "\n"
4558  "Unit: m/s\n"
4559  "\n"
4560  "Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ].\n"
4561  ),
4562  GROUP( "Tensor3" )));
4563 
4564  wsv_data.push_back
4565  (WsvRecord
4566  ( NAME( "wind_v_field" ),
4567  DESCRIPTION
4568  (
4569  "Meridional component of the magnetic field.\n"
4570  "\n"
4571  "The North-South wind component. Air moving towards higher\n"
4572  "latitudes is a positive wind.\n"
4573  "\n"
4574  "Can be set to be empty, which is interpreted as zero wind speed\n"
4575  "everywhere.\n"
4576  "\n"
4577  "Unit: m/s\n"
4578  "\n"
4579  "Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ]\n"
4580  ),
4581  GROUP( "Tensor3" )));
4582 
4583  wsv_data.push_back
4584  (WsvRecord
4585  ( NAME( "wind_w_field" ),
4586  DESCRIPTION
4587  (
4588  "Vertical wind component field.\n"
4589  "\n"
4590  "Upward moving air corresponds to a positive wind speed.\n"
4591  "\n"
4592  "Can be set to be empty, which is interpreted as zero wind speed\n"
4593  "everywhere.\n"
4594  "\n"
4595  "Unit: m/s\n"
4596  "\n"
4597  "Dimensions: [ p_grid, lat_grid, lon_grid ] or [ 0 0 0 ]\n"
4598  ),
4599  GROUP( "Tensor3" )));
4600 
4601  wsv_data.push_back
4602  (WsvRecord
4603  ( NAME( "wmrf_channels" ),
4604  DESCRIPTION
4605  (
4606  "Channel selection for WMRF fast calculation.\n"
4607  "\n"
4608  "This variable can be used to select one or several instrument channels\n"
4609  "from the list of all possible channels. Zero-based indexing is used, so\n"
4610  "Channel 0 is the first instrument channel!\n"
4611  ),
4612  GROUP( "ArrayOfIndex" )));
4613 
4614  wsv_data.push_back
4615  (WsvRecord
4616  ( NAME( "wmrf_weights" ),
4617  DESCRIPTION
4618  (
4619  "The weights for a WMRF fast calculation.\n"
4620  "\n"
4621  "Weights are stored in a sparse matrix. This can be used as a\n"
4622  "sensor_response matrix.\n"
4623  "\n"
4624  "The dimension of the matrix is (nchan, nfreq), where nchan\n"
4625  "is the number of instrument channels and nfreq is the number\n"
4626  "of monochromatic frequencies.\n"
4627  ),
4628  GROUP( "Sparse" )));
4629 
4630  wsv_data.push_back
4631  (WsvRecord
4632  ( NAME( "xml_output_type" ),
4633  DESCRIPTION
4634  (
4635  "Flag to determine whether XML output shall be binary or ascii.\n"
4636  "\n"
4637  "This flag has to be set using the workspace method\n"
4638  "*output_file_formatSetAscii* or *output_file_formatSetBinary*.\n"
4639  "One of these methods MUST be called before writing the first\n"
4640  "output file.\n"
4641  "\n"
4642  "Usage: Set by user.\n"
4643  ),
4644  GROUP( "Index" )));
4645 
4646  wsv_data.push_back
4647  (WsvRecord
4648  ( NAME( "y" ),
4649  DESCRIPTION
4650  (
4651  "The measurement vector.\n"
4652  "\n"
4653  "This vector holds radiances averaged in frequency and spatially,\n"
4654  "and can contain many spectra appended. \n"
4655  "\n"
4656  "Usage: Output from radiative transfer calculations considering\n"
4657  " sensor response.\n"
4658  "\n"
4659  "Unit: Undefined. Possibilities include: K, W/(m^2 Hz sr) and\n "
4660  " optical thickness.\n"
4661  ),
4662  GROUP( "Vector" )));
4663 
4664  wsv_data.push_back
4665  (WsvRecord
4666  ( NAME( "y_aux" ),
4667  DESCRIPTION
4668  (
4669  "Data auxilary to *y*.\n"
4670  "\n"
4671  "Different data beside the direct result of the radiative transfer\n"
4672  "calculations can be obtained by this variable. These auxilary data\n"
4673  "are selected by *iy_aux_vars*.\n"
4674  "\n"
4675  "In contrast to *iy_aux*, this variable can only hold quantities such\n"
4676  "as total transmission, and other quantites that could be the result\n"
4677  "of a complete radiative transfer calculation. The data are weighted\n"
4678  "with sensor properties in the same way as for *y*.\n"
4679  "\n"
4680  "See also *iy_aux_vars*.\n"
4681  "\n"
4682  "Usage: Output of *yCalc*.\n"
4683  "\n"
4684  "Dimensions: [quantity][ element of y ]\n"
4685  ),
4686  GROUP( "ArrayOfVector" )));
4687 
4688  wsv_data.push_back
4689  (WsvRecord
4690  ( NAME( "y_f" ),
4691  DESCRIPTION
4692  (
4693  "The frequencies associated with *y*.\n"
4694  "\n"
4695  "A value is returned for each element of *y*. Depending on the sensor\n"
4696  "set-up and number of measurement blocks, this can be a copy of\n"
4697  "*sensor_response_f*, sveral copies of this vector appended, or some\n"
4698  "other frequenices.\n"
4699  "\n"
4700  "Usage: Output from radiative transfer calculations considering\n"
4701  " sensor response.\n"
4702  "\n"
4703  "Unit: [ Hz ]\n"
4704  ),
4705  GROUP( "Vector" )));
4706 
4707  wsv_data.push_back
4708  (WsvRecord
4709  ( NAME( "y_los" ),
4710  DESCRIPTION
4711  (
4712  "The line-of-sights associated with *y*.\n"
4713  "\n"
4714  "Definition of angles matches *sensor_los* (such as first column holds\n"
4715  "zenith angles), but gives actual observed LOS. That is, the values of\n"
4716  "both *sensor_los* and *antenna_los* are considered. Data are provided\n"
4717  "for each element of *y*, following y_f, and the number of rows equals\n"
4718  "the length of *y*.\n"
4719  "\n"
4720  "Usage: Output from radiative transfer calculations considering\n"
4721  " sensor response.\n"
4722  "\n"
4723  "Unit: [ degrees, degrees ]\n"
4724  ),
4725  GROUP( "Matrix" )));
4726 
4727  wsv_data.push_back
4728  (WsvRecord
4729  ( NAME( "y_pol" ),
4730  DESCRIPTION
4731  (
4732  "The polarisation states associated with *y*.\n"
4733  "\n"
4734  "Data are provided for each element of *y*, following y_f, and the\n"
4735  "length of this variable and *y* is equal.\n"
4736  "\n"
4737  "See *sensor_pol* for coding of polarisation components.\n"
4738  "\n"
4739  "Usage: Output from radiative transfer calculations considering\n"
4740  " sensor response.\n"
4741  "\n"
4742  "Unit: [ - ]\n"
4743  ),
4744  GROUP( "ArrayOfIndex" )));
4745 
4746  wsv_data.push_back
4747  (WsvRecord
4748  ( NAME( "y_pos" ),
4749  DESCRIPTION
4750  (
4751  "The sensor positions associated with *y*.\n"
4752  "\n"
4753  "Definition of positions matches *sensor_pos* (such as first column\n"
4754  "holds the altitude). Data are provided for each element of *y*,\n"
4755  "following y_f, and the number of rows equals the length of *y*.\n"
4756  "\n"
4757  "Usage: Output from radiative transfer calculations considering\n"
4758  " sensor response.\n"
4759  "\n"
4760  "Unit: [ degrees, degrees ]\n"
4761  ),
4762  GROUP( "Matrix" )));
4763 
4764  wsv_data.push_back
4765  (WsvRecord
4766  ( NAME( "yb" ),
4767  DESCRIPTION
4768  (
4769  "The measurement vector for a single measurement block.\n"
4770  "\n"
4771  "Exactly as *y*, but holds data only for a single measurement block.\n"
4772  "\n"
4773  "Usage: Used internally.\n"
4774  ),
4775  GROUP( "Vector" )));
4776 
4777  wsv_data.push_back
4778  (WsvRecord
4779  ( NAME( "ybatch" ),
4780  DESCRIPTION
4781  (
4782  "Batch of spectra.\n"
4783  "\n"
4784  "Each element of *ybatch* corresponds to a spectrum vector *y*. \n"
4785  "See further *ybatchCalc*.\n"
4786  "\n"
4787  "Usage: Most commonly produced by *ybatchCalc*.\n"
4788  "\n"
4789  "Unit: Undefined. Possibilities include: K, W/(m^2 Hz sr) and\n "
4790  " optical thickness.\n"
4791  "\n"
4792  "Dimensions: Number of array elements equals number of batch cases,\n"
4793  " Vectors have length(y)\n"
4794  ),
4795  GROUP( "ArrayOfVector" )));
4796 
4797  wsv_data.push_back
4798  (WsvRecord
4799  ( NAME( "ybatch_aux" ),
4800  DESCRIPTION
4801  (
4802  "Data auxilary to *ybatch*.\n"
4803  "\n"
4804  "Each element of *ybatch_aux* corresponds to a auxiliary data *y_aux*. \n"
4805  "See further *y_aux* and *ybatchCalc*.\n"
4806  "\n"
4807  "Usage: Most commonly produced by *ybatchCalc*.\n"
4808  "\n"
4809  "Dimensions: Number of array elements equals number of batch cases,\n"
4810  ),
4811  GROUP( "ArrayOfArrayOfVector" )));
4812 
4813  wsv_data.push_back
4814  (WsvRecord
4815  ( NAME( "ybatch_calc_agenda" ),
4816  DESCRIPTION
4817  (
4818  "See agendas.cc.\n"
4819  ),
4820  GROUP( "Agenda" )));
4821 
4822  wsv_data.push_back
4823  (WsvRecord
4824  ( NAME( "ybatch_index" ),
4825  DESCRIPTION
4826  (
4827  "Index of batch case.\n"
4828  "\n"
4829  "See further *ybatchCalc*.\n"
4830  "\n"
4831  "Usage: Set by *ybatchCalc*, for communication with\n"
4832  " *ybatch_calc_agenda*.\n"
4833  ),
4834  GROUP( "Index" )));
4835 
4836  wsv_data.push_back
4837  (WsvRecord
4838  ( NAME( "ybatch_jacobians" ),
4839  DESCRIPTION
4840  (
4841  "All the Jacobians associated with ybatch.\n"
4842  "\n"
4843  "The batch index here is the array dimension.\n"
4844  "\n"
4845  "Usage: Most commonly produced by *ybatch*.\n"
4846  "\n"
4847  "Unit: Depends on unit of y and on Jacobian type.\n"
4848  "\n"
4849  "Dimensions: [number of batch cases] \n"
4850  " (length(y), \n"
4851  " number of retrieval quantities and grids)\n"
4852  ),
4853  GROUP( "ArrayOfMatrix" )));
4854 
4855  wsv_data.push_back
4856  (WsvRecord
4857  ( NAME( "ybatch_n" ),
4858  DESCRIPTION
4859  (
4860  "Number of batch cases for *ybatchCalc*.\n"
4861  "\n"
4862  "See further *ybatchCalc*.\n"
4863  "\n"
4864  "Usage: Input to *ybatchCalc*.\n"
4865  ),
4866  GROUP( "Index" )));
4867 
4868  wsv_data.push_back
4869  (WsvRecord
4870  ( NAME( "ybatch_start" ),
4871  DESCRIPTION
4872  (
4873  "Start index for *ybatchCalc*.\n"
4874  "\n"
4875  "This is set to a default of zero in *general.arts*.\n"
4876  "\n"
4877  "See further *ybatchCalc*.\n"
4878  "\n"
4879  "Usage: Input to *ybatchCalc*.\n"
4880  ),
4881  GROUP( "Index" )));
4882 
4883  wsv_data.push_back
4884  (WsvRecord
4885  ( NAME( "z_field" ),
4886  DESCRIPTION
4887  (
4888  "The field of geometrical altitudes.\n"
4889  "\n"
4890  "This variable gives the geometrical altitude, above the ellipsoid, of\n"
4891  "each crossing of the pressure, latitude and longitude grids. For 1D\n"
4892  "cases the altitudes give the geometrical position of the pressure\n"
4893  "levels.\n"
4894  "\n"
4895  "For each geographical position (lat,lon), the values must be sorted\n"
4896  "in increasing order, with no repetitions. Otherwise the altitudes\n"
4897  "can be set to arbitrary values. Hydrostatic equilibrium is not\n"
4898  "applied automatically. If hydrostatic equilibrium applies, *z_field*\n"
4899  "must be set by a method ensuring that this criterium is fulfilled.\n"
4900  "\n"
4901  "The radius (from the coordinate centre) for a point between the grid\n"
4902  "crossings is obtained by a (multi-)linear interpolation of the sum\n"
4903  "of the ellipsoid radius and *z_field*.\n"
4904  "\n"
4905  "See further the ARTS user guide (AUG). Use the index to find where\n"
4906  "this variable is discussed. The variable is listed as a subentry to\n"
4907  "\"workspace variables\".\n"
4908  "\n"
4909  "Usage: Output of *AtmFieldsCalc*\n"
4910  "\n"
4911  "Unit: m\n"
4912  "\n"
4913  "Dimensions: [ p_grid, lat_grid, lon_grid ]\n"
4914  ),
4915  GROUP( "Tensor3" )));
4916 
4917  wsv_data.push_back
4918  (WsvRecord
4919  ( NAME( "z_field_raw" ),
4920  DESCRIPTION
4921  (
4922  "Raw data for geometrical altitudes.\n"
4923  "\n"
4924  "This variable gives the geometrical altitudes as stored in the \n"
4925  "database for atmospheric scenarios.\n"
4926  "\n"
4927  "See further the ARTS user guide (AUG). Use the index to find where\n"
4928  "this variable is discussed. The variable is listed as a subentry to\n"
4929  "\"workspace variables\".\n"
4930  "\n"
4931  "Usage: Set by the user by choosing a climatology.\n"
4932  "\n"
4933  "Unit: K\n"
4934  "\n"
4935  "Size GriddedField3 \n "
4936  " [N_p] \n"
4937  " [N_lat] \n"
4938  " [N_lon] \n"
4939  " [N_p, N_lat, N_lon] \n"
4940  ),
4941  GROUP( "GriddedField3" )));
4942 
4943  wsv_data.push_back
4944  (WsvRecord
4945  ( NAME( "z_hse_accuracy" ),
4946  DESCRIPTION
4947  (
4948  "Minimum accuracy for calculation of hydrostatic equilibrium.\n"
4949  "\n"
4950  "Usage: Set by the user.\n"
4951  "\n"
4952  "Unit: m\n"
4953  ),
4954  GROUP( "Numeric" )));
4955 
4956  wsv_data.push_back
4957  (WsvRecord
4958  ( NAME( "z_surface" ),
4959  DESCRIPTION
4960  (
4961  "The surface altitude.\n"
4962  "\n"
4963  "This variable defines the shape of the surface, by giving the\n"
4964  "geometrical altitude above the geiod for each crossing of the \n"
4965  "latitude and longitude grids. Any shape of the surface is accepted.\n"
4966  "No gap between the surface and the lowermost pressure level is \n"
4967  "allowed.\n"
4968  "\n"
4969  "The radius (from the coordinate centre) for a point between the grid\n"
4970  "crossings is obtained by a linear (1D) or bi-linear (2D) \n"
4971  "interpolation of the sum of the ellipsoid radius and *z_surface*.\n"
4972  "That is, the radius for the surface is assumed to vary linear along \n"
4973  "the latitudes and longitudes in *lat_grid* and *lon_grid*.\n"
4974  "\n"
4975  "See further the ARTS user guide (AUG). Use the index to find where\n"
4976  "this variable is discussed. The variable is listed as a subentry to\n"
4977  "\"workspace variables\".\n"
4978  "\n"
4979  "Usage: Set by user.\n"
4980  "\n"
4981  "Unit: m\n"
4982  "\n"
4983  "Dimensions: [ lat_grid, lon_grid ]\n"
4984  ),
4985  GROUP( "Matrix" )));
4986 }
4987 
4988 
4990 
4999 {
5000  map<String, Index>::const_iterator it = Workspace::WsvMap.find (name);
5001  if (it == Workspace::WsvMap.end())
5002  return -1;
5003  else
5004  return it->second;
5005 }
5006 
5007 
5009 
5020 Index get_wsv_id(const char *name)
5021 {
5022  return get_wsv_id(String(name));
5023 }
Workspace::wsv_data
static Array< WsvRecord > wsv_data
Definition: workspace_ng.h:64
array.h
This file contains the definition of Array.
matpackI.h
my_basic_string
The implementation for String, the ARTS string class.
Definition: mystring.h:64
Workspace::define_wsv_data
static void define_wsv_data()
Definition: workspace.cc:50
matpackIII.h
ppath.h
Propagation path structure and functions.
WsvRecord
This class contains all static information for one workspace variable.
Definition: wsv_aux.h:54
NAME
#define NAME(x)
Definition: workspace.cc:45
workspace_ng.h
This file contains the declaration and partly the implementation of the workspace class.
String
my_basic_string< char > String
The String type for ARTS.
Definition: mystring.h:318
Workspace::WsvMap
static map< String, Index > WsvMap
Definition: workspace_ng.h:67
matpackII.h
Header file for sparse matrices.
get_wsv_id
Index get_wsv_id(const String &name)
Get index of WSV.
Definition: workspace.cc:4998
Index
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:35
GROUP
#define GROUP(x)
Definition: workspace.cc:47
wsv_aux.h
Auxiliary header stuff related to workspace variable groups.
matpackVI.h
DESCRIPTION
#define DESCRIPTION(x)
Definition: workspace.cc:46
arts.h
The global header file for ARTS.