00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00032 #if HAVE_CONFIG_H
00033 #include <config.h>
00034 #endif
00035
00036 #include "arts.h"
00037
00038 #include "auto_wsv.h"
00039 #include "methods.h"
00040 #include "auto_wsv_groups.h"
00041
00042 void define_md_data()
00043 {
00044
00045 extern Array<MdRecord> md_data;
00046
00047
00048 md_data.resize(0);
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126 md_data.push_back
00127 ( MdRecord
00128 ( NAME( "Echo" ),
00129 DESCRIPTION
00130 (
00131 "Outputs a string.\n"
00132 "\n"
00133 "Output the given message string, level follows the same convention as the -r\n"
00134 "command line flag of arts.\n"
00135 "\n"
00136 "Keywords:\n"
00137 " message : Message for output on screen.\n"
00138 " level : Output level for the message.\n"
00139 ),
00140 OUTPUT(),
00141 INPUT(),
00142 GOUTPUT(),
00143 GINPUT(),
00144 KEYWORDS( "message", "level" ),
00145 TYPES( String_t, Index_t )));
00146
00147
00148 md_data.push_back
00149 ( MdRecord
00150 ( NAME("Exit"),
00151 DESCRIPTION
00152 (
00153 "Stops the execution and exits ARTS.\n"
00154 "\n"
00155 "This method is handy if you want to debug one of your\n"
00156 "controlfiles. You can insert it anywhere in the controlfile. When\n"
00157 "it is reached, it will terminate the program."
00158 ),
00159 OUTPUT( ),
00160 INPUT( ),
00161 GOUTPUT( ),
00162 GINPUT( ),
00163 KEYWORDS( ),
00164 TYPES( )));
00165
00166 md_data.push_back
00167 ( MdRecord
00168 ( NAME("Test"),
00169 DESCRIPTION
00170 (
00171 "A dummy method that can be used for test purposes.\n"
00172 "\n"
00173 "This method can be used by ARTS developers to quickly test stuff.\n"
00174 "The implementation is in file m_io.cc. This just saves you the \n"
00175 "trouble of adding a dummy method everytime you want to try \n"
00176 "something out quickly."
00177 ),
00178 OUTPUT( ),
00179 INPUT( ),
00180 GOUTPUT( ),
00181 GINPUT( ),
00182 KEYWORDS( ),
00183 TYPES( )));
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194 md_data.push_back
00195 ( MdRecord
00196 ( NAME("IndexSet"),
00197 DESCRIPTION
00198 (
00199 "Sets an index workspace variable to the given value. \n"
00200 "\n"
00201 "Generic output: \n"
00202 " Index : The index variable to be set. \n"
00203 "\n"
00204 "Keywords:\n"
00205 " value : A positive integer."
00206 ),
00207 OUTPUT( ),
00208 INPUT( ),
00209 GOUTPUT( Index_ ),
00210 GINPUT( ),
00211 KEYWORDS( "value" ),
00212 TYPES( Index_t )));
00213
00214 md_data.push_back
00215 ( MdRecord
00216 ( NAME("IndexWriteAscii"),
00217 DESCRIPTION(
00218 "Writes an index value to an ASCII file.\n"
00219 "\n"
00220 "The index value of the given workspace variable\n"
00221 "is written to the file with the specified name.\n"
00222 "If the filename is omitted, the index is written\n"
00223 "to <basename>.<variable_name>.aa.\n"
00224 "\n"
00225 "See *ArrayOfMatrixWriteAscii* for file format.\n"
00226 "\n"
00227 "Generic input: \n"
00228 " Index : Name of the workspace variable to write.\n"
00229 "\n"
00230 "Keywords: \n"
00231 " filename : Name of the output file.\n"
00232 ),
00233 OUTPUT(),
00234 INPUT(),
00235 GOUTPUT(),
00236 GINPUT( Index_ ),
00237 KEYWORDS( "filename" ),
00238 TYPES( String_t )));
00239
00240 md_data.push_back
00241 ( MdRecord
00242 ( NAME("IndexReadAscii"),
00243 DESCRIPTION(
00244 "Reads a index value from an ASCII file.\n"
00245 "\n"
00246 "The index value is read from the file with the\n"
00247 "specified name and stored in the given workspace\n"
00248 "variable.\n"
00249 "If the filename is omitted, the index is read\n"
00250 "from <basename>.<variable_name>.aa.\n"
00251 "\n"
00252 "See *ArrayOfMatrixWriteAscii* for file format.\n"
00253 "\n"
00254 "Generic output: \n"
00255 " Index : Name of the workspace variable to read.\n"
00256 "\n"
00257 "Keywords: \n"
00258 " filename : Name of the input file.\n"
00259 ),
00260 OUTPUT(),
00261 INPUT(),
00262 GOUTPUT( Index_ ),
00263 GINPUT(),
00264 KEYWORDS( "filename" ),
00265 TYPES( String_t )));
00266
00267 md_data.push_back
00268 ( MdRecord
00269 ( NAME("IndexWriteBinary"),
00270 DESCRIPTION(
00271 "Writes an index to a binary file.\n"
00272 "\n"
00273 "The filename can be specified or an empty String.\n"
00274 "If empty, it is set to <basename>.<variable_name>.ab.\n"
00275 "File is in HDF4 format.\n"
00276 "\n"
00277 "Generic input: \n"
00278 " Index : Name of the workspace variable to write.\n"
00279 "\n"
00280 "Keywords:\n"
00281 " filename: Name of the output file.\n"
00282 ),
00283
00284 OUTPUT(),
00285 INPUT(),
00286 GOUTPUT(),
00287 GINPUT( Index_ ),
00288 KEYWORDS( "filename" ),
00289 TYPES( String_t )));
00290
00291 md_data.push_back
00292 ( MdRecord
00293 ( NAME("IndexReadBinary"),
00294 DESCRIPTION(
00295 "Reads an index from a binary file.\n"
00296 "\n"
00297 "The filename can be specified or an empty String.\n"
00298 "If empty, it is set to <basename>.<variable_name>.ab.\n"
00299 "File is in HDF4 format.\n"
00300 "\n"
00301 "Generic output: \n"
00302 " Index : Name of the workspace variable to read.\n"
00303 "\n"
00304 "Keywords:\n"
00305 " filename : Name of the input file.\n"
00306 ),
00307 OUTPUT(),
00308 INPUT(),
00309 GOUTPUT( Index_ ),
00310 GINPUT(),
00311 KEYWORDS( "filename" ),
00312 TYPES( String_t )));
00313
00314
00315
00316 md_data.push_back
00317 ( MdRecord
00318 ( NAME("NumericSet"),
00319 DESCRIPTION
00320 (
00321 "Sets a numeric workspace variable to the given value. \n"
00322 "\n"
00323 "Generic output: \n"
00324 " Numeric : The numeric variable to be set. \n"
00325 "\n"
00326 "Keywords:\n"
00327 " value : The value."
00328 ),
00329 OUTPUT(),
00330 INPUT(),
00331 GOUTPUT( Numeric_ ),
00332 GINPUT(),
00333 KEYWORDS( "value" ),
00334 TYPES( Numeric_t )));
00335
00336 md_data.push_back
00337 ( MdRecord
00338 ( NAME("NumericCopyFirstOfVector"),
00339 DESCRIPTION
00340 (
00341 "Sets a numeric workspace variable to the value of the first \n"
00342 "element of a vector. \n"
00343 "\n"
00344 "Generic output: \n"
00345 " Numeric : The numeric variable to be set. \n"
00346 "\n"
00347 "Generic input:\n"
00348 " Vector : The vector from which the value shall be obtained."
00349 ),
00350 OUTPUT(),
00351 INPUT(),
00352 GOUTPUT( Numeric_ ),
00353 GINPUT( Vector_ ),
00354 KEYWORDS(),
00355 TYPES()));
00356
00357 md_data.push_back
00358 ( MdRecord
00359 ( NAME("NumericCopyLastOfVector"),
00360 DESCRIPTION
00361 (
00362 "Sets a numeric workspace variable to the value of the last \n"
00363 "element of a vector. \n"
00364 "\n"
00365 "Generic output: \n"
00366 " Numeric : The numeric variable to be set. \n"
00367 "\n"
00368 "Generic input:\n"
00369 " Vector : The vector from which the value shall be obtained."
00370 ),
00371 OUTPUT(),
00372 INPUT(),
00373 GOUTPUT( Numeric_ ),
00374 GINPUT( Vector_ ),
00375 KEYWORDS(),
00376 TYPES()));
00377
00378 md_data.push_back
00379 ( MdRecord
00380 ( NAME("NumericWriteAscii"),
00381 DESCRIPTION(
00382 "Writes a numeric value to an ASCII file.\n"
00383 "\n"
00384 "The numeric value of the given workspace variable\n"
00385 "is written to the file with the specified name.\n"
00386 "If the filename is omitted, the numeric is written\n"
00387 "to <basename>.<variable_name>.aa.\n"
00388 "\n"
00389 "See *ArrayOfMatrixWriteAscii* for file format.\n"
00390 "\n"
00391 "Generic input: \n"
00392 " Numeric : Name of the workspace variable to write.\n"
00393 "\n"
00394 "Keywords: \n"
00395 " filename : Name of the output file.\n"
00396 ),
00397 OUTPUT(),
00398 INPUT(),
00399 GOUTPUT(),
00400 GINPUT( Numeric_ ),
00401 KEYWORDS( "filename" ),
00402 TYPES( String_t )));
00403
00404 md_data.push_back
00405 ( MdRecord
00406 ( NAME("NumericReadAscii"),
00407 DESCRIPTION(
00408 "Reads a numeric value from an ASCII file.\n"
00409 "\n"
00410 "The numeric value is read from the file with the\n"
00411 "specified name and stored in the given workspace\n"
00412 "variable.\n"
00413 "If the filename is omitted, the numeric is read\n"
00414 "from <basename>.<variable_name>.aa.\n"
00415 "\n"
00416 "See *ArrayOfMatrixWriteAscii* for file format.\n"
00417 "\n"
00418 "Generic output: \n"
00419 " Numeric : Name of the workspace variable to read.\n"
00420 "\n"
00421 "Keywords: \n"
00422 " filename : Name of the input file.\n"
00423 ),
00424 OUTPUT(),
00425 INPUT(),
00426 GOUTPUT( Numeric_ ),
00427 GINPUT(),
00428 KEYWORDS( "filename" ),
00429 TYPES( String_t )));
00430
00431 md_data.push_back
00432 ( MdRecord
00433 ( NAME("NumericWriteBinary"),
00434 DESCRIPTION(
00435 "Writes a numeric value to a binary file.\n"
00436 "\n"
00437 "The filename can be specified or an empty String.\n"
00438 "If empty, it is set to <basename>.<variable_name>.ab.\n"
00439 "File is in HDF4 format.\n"
00440 "\n"
00441 "Generic input: \n"
00442 " Numeric : Name of the workspace variable to write.\n"
00443 "\n"
00444 "Keywords:\n"
00445 " filename : Name of the output file.\n"
00446 ),
00447 OUTPUT(),
00448 INPUT(),
00449 GOUTPUT(),
00450 GINPUT( Numeric_ ),
00451 KEYWORDS( "filename" ),
00452 TYPES( String_t )));
00453
00454 md_data.push_back
00455 ( MdRecord
00456 ( NAME("NumericReadBinary"),
00457 DESCRIPTION(
00458 "Reads a numeric from a binary file.\n"
00459 "\n"
00460 "The filename can be specified or an empty String.\n"
00461 "If empty, it is set to <basename>.<variable_name>.ab.\n"
00462 "File is in HDF4 format.\n"
00463 "\n"
00464 "Generic output: \n"
00465 " Numeric : Name of the workspace variable to read.\n"
00466 "\n"
00467 "Keywords:\n"
00468 " filename : Name of the input file.\n"
00469 ),
00470 OUTPUT(),
00471 INPUT(),
00472 GOUTPUT( Numeric_ ),
00473 GINPUT(),
00474 KEYWORDS( "filename" ),
00475 TYPES( String_t )));
00476
00477
00478
00479
00480 md_data.push_back
00481 ( MdRecord
00482 ( NAME("VectorCopy"),
00483 DESCRIPTION
00484 (
00485 "Creates a copy of a vector. \n"
00486 "\n"
00487 "Generic output: \n"
00488 " Vector : The vector to be created. \n"
00489 "\n"
00490 "Generic input: \n"
00491 " Vector : The vector to be copied. "
00492 ),
00493 OUTPUT(),
00494 INPUT(),
00495 GOUTPUT( Vector_ ),
00496 GINPUT( Vector_ ),
00497 KEYWORDS(),
00498 TYPES()));
00499
00500
00501 md_data.push_back
00502 ( MdRecord
00503 ( NAME("VectorCopyFromMatrix"),
00504 DESCRIPTION
00505 (
00506 "Copies a row or a column from a matrix to a vector"
00507 "\n"
00508 "Generic output: \n"
00509 " Vector : The vector to be created. \n"
00510 "\n"
00511 "Generic input: \n"
00512 " Matrix : The source matrix. \n"
00513 "\n"
00514 "Keywords:\n"
00515 " orientation : Could be either \"col\" or \"row\". \n"
00516 " index : Row or column number to be copied. \n"
00517 ),
00518 OUTPUT(),
00519 INPUT(),
00520 GOUTPUT( Vector_ ),
00521 GINPUT( Matrix_ ),
00522 KEYWORDS( "orientation", "index" ),
00523 TYPES( String_t, Index_t )));
00524
00525
00526 md_data.push_back
00527 ( MdRecord
00528 ( NAME("VectorSet"),
00529 DESCRIPTION
00530 (
00531 "Creates a workspace vector with the specified length and sets \n"
00532 "all values of the vector to the specified value. \n"
00533 "\n"
00534 "Generic output: \n"
00535 " Vector : The vector to be created. \n"
00536 "\n"
00537 "Keywords:\n"
00538 " length : The length of the new vector. \n"
00539 " value : The value of the vector elements. "
00540 ),
00541 OUTPUT(),
00542 INPUT(),
00543 GOUTPUT( Vector_ ),
00544 GINPUT(),
00545 KEYWORDS( "length", "value" ),
00546 TYPES( Index_t, Numeric_t )));
00547
00548 md_data.push_back
00549 ( MdRecord
00550 ( NAME("VectorSetLengthFromVector"),
00551 DESCRIPTION
00552 (
00553 "Creates a workspace vector with the same length as another vector,\n"
00554 "and sets all values of the new vector to the specified value. \n"
00555 "\n"
00556 "A common usage of the function should be: \n"
00557 " VectorSetLengthFromVector(e_ground,f_mono){value=0.75} \n"
00558 "\n"
00559 "Generic output: \n"
00560 " Vector : The vector to be created. \n"
00561 "\n"
00562 "Generic input: \n"
00563 " Vector : The vector specifying the length.. \n"
00564 "\n"
00565 "Keywords:\n"
00566 " value : The value of the vector elements. "
00567 ),
00568 OUTPUT(),
00569 INPUT(),
00570 GOUTPUT( Vector_ ),
00571 GINPUT( Vector_ ),
00572 KEYWORDS( "value" ),
00573 TYPES( Numeric_t )));
00574
00575 md_data.push_back
00576 ( MdRecord
00577 ( NAME("VectorLinSpace"),
00578 DESCRIPTION
00579 (
00580 "Creates a vector with linear spacing.\n"
00581 "\n"
00582 "The first element equals always the start value, and the spacing\n"
00583 "equlas always the step value, but note that the last value can \n"
00584 "deviate from the stop value. The keyword step can be both positive\n"
00585 "and negative. \n"
00586 " The vector is [start, start+step, start+2*step, ...]\n "
00587 "\n"
00588 "Generic output: \n"
00589 " Vector : The vector to be created. \n"
00590 "\n"
00591 "Keywords:\n"
00592 " start : The start value. \n"
00593 " stop : The maximum value of the end value. \n"
00594 " step : The spacing of the vector. "
00595 ),
00596 OUTPUT(),
00597 INPUT(),
00598 GOUTPUT( Vector_ ),
00599 GINPUT(),
00600 KEYWORDS( "start", "stop", "step" ),
00601 TYPES( Numeric_t, Numeric_t, Numeric_t )));
00602
00603 md_data.push_back
00604 ( MdRecord
00605 ( NAME("VectorNLinSpace"),
00606 DESCRIPTION
00607 (
00608 "Creates a vector with defined length, equally spaced between the \n"
00609 "given end values. \n"
00610 "\n"
00611 "The length must be larger than 1. \n"
00612 "\n"
00613 "Generic output: \n"
00614 " Vector : The vector to be created. \n"
00615 "\n"
00616 "Keywords:\n"
00617 " start : The start value. \n"
00618 " stop : The end value. \n"
00619 " n : Number of elements of the vector. "
00620 ),
00621 OUTPUT(),
00622 INPUT(),
00623 GOUTPUT(Vector_),
00624 GINPUT(),
00625 KEYWORDS( "start", "stop", "n" ),
00626 TYPES( Numeric_t, Numeric_t, Index_t )));
00627
00628 md_data.push_back
00629 ( MdRecord
00630 ( NAME("VectorNLogSpace"),
00631 DESCRIPTION
00632 (
00633 "Creates a vector with defined length, equally logarithmically \n"
00634 "spaced between the given end values. \n"
00635 "\n"
00636 "The length must be larger than 1. \n"
00637 "\n"
00638 "Generic output: \n"
00639 " Vector : The vector to be created. \n"
00640 "\n"
00641 "Keywords:\n"
00642 " start : The start value. \n"
00643 " stop : The end value. \n"
00644 " n : Number of elements of the vector. "
00645 ),
00646 OUTPUT(),
00647 INPUT(),
00648 GOUTPUT(Vector_),
00649 GINPUT(),
00650 KEYWORDS( "start", "stop", "n" ),
00651 TYPES( Numeric_t, Numeric_t, Index_t )));
00652
00653 md_data.push_back
00654 ( MdRecord
00655 ( NAME("VectorPressuresForLinAltitudes"),
00656 DESCRIPTION
00657 (
00658 "Calculates a set of pressures corresponding to a set of\n"
00659 "linearly spaced altitudes. \n"
00660 "\n"
00661 "The linear set of altitudes is defined by an altitude step and \n"
00662 "a start and stop pressure. \n"
00663 " The conversions between pressures and altitudes are based on\n"
00664 "*p_abs* and *z_abs*. \n"
00665 "\n"
00666 "Generic output: \n"
00667 " Vector : Return vector for the pressure grid created. \n"
00668 "\n"
00669 "Keywords:\n"
00670 " delta_z : Altitude step.\n"
00671 " p_start : Start pressure.\n"
00672 " p_stop : Stop pressure."
00673 ),
00674 OUTPUT(),
00675 INPUT( p_abs_, z_abs_ ),
00676 GOUTPUT( Vector_ ),
00677 GINPUT(),
00678 KEYWORDS( "delta_z", "p_start", "p_stop" ),
00679 TYPES( Numeric_t, Numeric_t, Numeric_t )));
00680
00681 md_data.push_back
00682 ( MdRecord
00683 ( NAME("VectorFlip"),
00684 DESCRIPTION
00685 (
00686 "Creates a copy of a vector in reversed order. \n"
00687 "\n"
00688 "Generic output: \n"
00689 " Vector : The vector to be created. \n"
00690 "\n"
00691 "Generic input: \n"
00692 " Vector : The vector to be copied. "
00693 ),
00694 OUTPUT(),
00695 INPUT(),
00696 GOUTPUT( Vector_ ),
00697 GINPUT( Vector_ ),
00698 KEYWORDS(),
00699 TYPES()));
00700
00701 md_data.push_back
00702 ( MdRecord
00703 ( NAME("VectorMatrixMultiply"),
00704 DESCRIPTION
00705 (
00706 "Multiply a Vector with a Matrix and store the result in another\n"
00707 "Vector.\n"
00708 "\n"
00709 "This just computes the normal Matrix-Vector product, y=M*x. It is ok\n"
00710 "if input and output Vector are the same. This function is handy for\n"
00711 "multiplying the H Matrix to spectra.\n"
00712 "\n"
00713 "Generic output:\n"
00714 " Vector : The result of the multiplication (dimension m).\n"
00715 "\n"
00716 "Generic input:\n"
00717 " Matrix : The Matrix to multiply (dimension mxn).\n"
00718 " Vector : The original Vector (dimension n).\n"
00719 ),
00720 OUTPUT(),
00721 INPUT(),
00722 GOUTPUT( Vector_ ),
00723 GINPUT( Matrix_, Vector_ ),
00724 KEYWORDS(),
00725 TYPES()));
00726
00727 md_data.push_back
00728 ( MdRecord
00729 ( NAME("VectorWriteAscii"),
00730 DESCRIPTION(
00731 "Writes a vector to an ASCII file.\n"
00732 "\n"
00733 "The vector of the given workspace variable\n"
00734 "is written to the file with the specified name.\n"
00735 "If the filename is omitted, the vector is written\n"
00736 "to <basename>.<variable_name>.aa.\n"
00737 "\n"
00738 "See *ArrayOfMatrixWriteAscii* for file format.\n"
00739 "\n"
00740 "Generic input: \n"
00741 " Vector : Name of the workspace variable to write.\n"
00742 "\n"
00743 "Keywords: \n"
00744 " filename : Name of the output file.\n"
00745 ),
00746 OUTPUT(),
00747 INPUT(),
00748 GOUTPUT(),
00749 GINPUT( Vector_ ),
00750 KEYWORDS( "filename" ),
00751 TYPES( String_t )));
00752
00753 md_data.push_back
00754 ( MdRecord
00755 ( NAME("VectorReadAscii"),
00756 DESCRIPTION(
00757 "Reads a vector from an ASCII file.\n"
00758 "\n"
00759 "The vector is read from the file with the\n"
00760 "specified name and stored in the given workspace\n"
00761 "variable.\n"
00762 "If the filename is omitted, the vector is read\n"
00763 "from <basename>.<variable_name>.aa.\n"
00764 "\n"
00765 "See *ArrayOfMatrixWriteAscii* for file format.\n"
00766 "\n"
00767 "Generic output: \n"
00768 " Vector : Name of the workspace variable to read.\n"
00769 "\n"
00770 "Keywords: \n"
00771 " filename : Name of the input file.\n"
00772 ),
00773 OUTPUT(),
00774 INPUT(),
00775 GOUTPUT( Vector_ ),
00776 GINPUT(),
00777 KEYWORDS( "filename" ),
00778 TYPES( String_t )));
00779
00780 md_data.push_back
00781 ( MdRecord
00782 ( NAME("VectorWriteBinary"),
00783 DESCRIPTION(
00784 "Writes a vector to a binary file.\n"
00785 "\n"
00786 "The filename can be specified or an empty String.\n"
00787 "If empty, it is set to <basename>.<variable_name>.ab.\n"
00788 "File is in HDF4 format.\n"
00789 "\n"
00790 "Generic input: \n"
00791 " Vector : Name of the workspace variable to write.\n"
00792 "\n"
00793 "Keywords:\n"
00794 " filename : Name of the output file.\n"
00795 ),
00796 OUTPUT(),
00797 INPUT(),
00798 GOUTPUT(),
00799 GINPUT( Vector_ ),
00800 KEYWORDS( "filename" ),
00801 TYPES( String_t )));
00802
00803 md_data.push_back
00804 ( MdRecord
00805 ( NAME("VectorReadBinary"),
00806 DESCRIPTION(
00807 "Reads a vector from a binary file.\n"
00808 "\n"
00809 "The filename can be specified or an empty String.\n"
00810 "If empty, it is set to <basename>.<variable_name>.ab.\n"
00811 "File is in HDF4 format.\n"
00812 "\n"
00813 "Generic output: \n"
00814 " Vector : Name of the workspace variable to read.\n"
00815 "\n"
00816 "Keywords:\n"
00817 " filename : Name of the input file.\n"
00818 ),
00819 OUTPUT(),
00820 INPUT(),
00821 GOUTPUT( Vector_ ),
00822 GINPUT(),
00823 KEYWORDS( "filename" ),
00824 TYPES( String_t )));
00825
00826
00827 md_data.push_back
00828 ( MdRecord
00829 ( NAME("VectorPlanck"),
00830 DESCRIPTION
00831 (
00832 "Sets a vector to the Planck function for the given frequencies\n"
00833 "and temperature. \n"
00834 "\n"
00835 "An example:\n"
00836 " VectorPlanck(y_space,f_mono){temp=2.7} \n"
00837 "\n"
00838 "Generic output: \n"
00839 " Vector : The vector to be created. \n"
00840 "\n"
00841 "Generic input: \n"
00842 " Vector : Input frequencies. \n"
00843 "\n"
00844 "Keywords:\n"
00845 " temp : The blackbody temperature."
00846 ),
00847 OUTPUT( ),
00848 INPUT( ),
00849 GOUTPUT( Vector_ ),
00850 GINPUT( Vector_ ),
00851 KEYWORDS( "temp" ),
00852 TYPES( Numeric_t )));
00853
00854 md_data.push_back
00855 ( MdRecord
00856 ( NAME("VectorCalcLog10"),
00857 DESCRIPTION
00858 (
00859 "Calculates the base 10 logarithm of a vector. \n"
00860 "\n"
00861 "The result can either be stored in the same or another vector. \n"
00862 "\n"
00863 "Generic output: \n"
00864 " Vector : Return vector. \n"
00865 "\n"
00866 "Generic input: \n"
00867 " Vector : Input vector. "
00868 ),
00869 OUTPUT( ),
00870 INPUT( ),
00871 GOUTPUT( Vector_ ),
00872 GINPUT( Vector_ ),
00873 KEYWORDS(),
00874 TYPES()));
00875
00876 md_data.push_back
00877 ( MdRecord
00878 ( NAME("VectorAdd"),
00879 DESCRIPTION
00880 (
00881 "Adds a scalar to all elements of a vector. \n"
00882 "\n"
00883 "The result can either be stored in the same or another vector. \n"
00884 "\n"
00885 "Generic output: \n"
00886 " Vector : Return vector. \n"
00887 "\n"
00888 "Generic input: \n"
00889 " Vector : Original vector. \n"
00890 "\n"
00891 "Keywords:\n"
00892 " value : The value to be added to the vector."
00893 ),
00894 OUTPUT( ),
00895 INPUT( ),
00896 GOUTPUT( Vector_ ),
00897 GINPUT( Vector_ ),
00898 KEYWORDS( "value" ),
00899 TYPES( Numeric_t )));
00900
00901 md_data.push_back
00902 ( MdRecord
00903 ( NAME("VectorScale"),
00904 DESCRIPTION
00905 (
00906 "Scales all elements of a vector with the same value. \n"
00907 "\n"
00908 "The result can either be stored in the same or another vector. \n"
00909 "\n"
00910 "Generic output: \n"
00911 " Vector : Return vector. \n"
00912 "\n"
00913 "Generic input: \n"
00914 " Vector : Original vector. \n"
00915 "\n"
00916 "Keywords:\n"
00917 " value : The value to be multiplicated with the vector."
00918 ),
00919 OUTPUT( ),
00920 INPUT( ),
00921 GOUTPUT( Vector_ ),
00922 GINPUT( Vector_ ),
00923 KEYWORDS( "value" ),
00924 TYPES( Numeric_t )));
00925
00926
00927
00928
00929 md_data.push_back
00930 ( MdRecord
00931 ( NAME("MatrixSet"),
00932 DESCRIPTION
00933 (
00934 "Creates a workspace matrix with the specified size and sets \n"
00935 "all values of the matrix to the specified value. \n"
00936 "\n"
00937 "Generic output: \n"
00938 " Matrix : The matrix to be created. \n"
00939 "\n"
00940 "Keywords:\n"
00941 " nrows : The number of rows of the matrix to create. \n"
00942 " ncols : The number of columns of the matrix to create. \n"
00943 " value : The value of the matrix elements. "
00944 ),
00945 OUTPUT(),
00946 INPUT(),
00947 GOUTPUT( Matrix_ ),
00948 GINPUT(),
00949 KEYWORDS( "nrows", "ncols", "value" ),
00950 TYPES( Index_t, Index_t, Numeric_t )));
00951
00952 md_data.push_back
00953 ( MdRecord
00954 ( NAME("MatrixCopy"),
00955 DESCRIPTION
00956 (
00957 "Creates a copy of a matrix. \n"
00958 "\n"
00959 "Generic output: \n"
00960 " Matrix : The matrix to be created. \n"
00961 "\n"
00962 "Generic input: \n"
00963 " Matrix : The matrix to be copied. "
00964 ),
00965 OUTPUT(),
00966 INPUT(),
00967 GOUTPUT( Matrix_ ),
00968 GINPUT( Matrix_ ),
00969 KEYWORDS(),
00970 TYPES()));
00971
00972 md_data.push_back
00973 ( MdRecord
00974 ( NAME("MatrixFillWithVector"),
00975 DESCRIPTION
00976 (
00977 "Forms a matrix with n columns, and put the given vector in \n"
00978 "each column. \n"
00979 "\n"
00980 "Generic output: \n"
00981 " Matrix : The matrix to be created. \n"
00982 "\n"
00983 "Generic input: \n"
00984 " Vector : The vector to be copied. \n"
00985 "Keyword: \n"
00986 " n : Number of columns in the matrix. "
00987 ),
00988 OUTPUT(),
00989 INPUT(),
00990 GOUTPUT( Matrix_ ),
00991 GINPUT( Vector_ ),
00992 KEYWORDS( "n" ),
00993 TYPES( Index_t )));
00994
00995 md_data.push_back
00996 ( MdRecord
00997 ( NAME("MatrixMatrixMultiply"),
00998 DESCRIPTION
00999 (
01000 "Multiply a Matrix with another Matrix and store the result in the result\n"
01001 "Matrix.\n"
01002 "\n"
01003 "This just computes the normal Matrix-Matrix product, Y=M*X. It is ok\n"
01004 "if Y and X are the same Matrix. This function is handy for\n"
01005 "multiplying the H Matrix to weighting functions.\n"
01006 "\n"
01007 "Generic output:\n"
01008 " Matrix : The result of the multiplication (dimension mxc).\n"
01009 "\n"
01010 "Generic input:\n"
01011 " Matrix : The Matrix to multiply (dimension mxn).\n"
01012 " Matrix : The original Matrix (dimension nxc).\n"
01013 ),
01014 OUTPUT(),
01015 INPUT(),
01016 GOUTPUT( Matrix_ ),
01017 GINPUT( Matrix_, Matrix_ ),
01018 KEYWORDS(),
01019 TYPES()));
01020
01021 md_data.push_back
01022 ( MdRecord
01023 ( NAME("ArrayOfMatrixMatrixMultiply"),
01024 DESCRIPTION
01025 (
01026 "Multiply an array of Matrix with a Matrix and store the result in the result\n"
01027 "ArrayOfMatrix.\n"
01028 "\n"
01029 "This just computes the normal Matrix-Matrix product, Y[i]=M*X[i]. It is ok\n"
01030 "if Y and X are the same Array of Matrix. This function is handy for\n"
01031 "multiplying the H Matrix to weighting functions.\n"
01032 "\n"
01033 "Generic output:\n"
01034 " ArrayOfMatrix : The result of the multiplication (dimension mxc).\n"
01035 "\n"
01036 "Generic input:\n"
01037 " Matrix : The Matrix to multiply (dimension mxn).\n"
01038 " ArrayOfMatrix : The original Matrix (dimension nxc).\n"
01039 ),
01040 OUTPUT(),
01041 INPUT(),
01042 GOUTPUT( ArrayOfMatrix_ ),
01043 GINPUT( Matrix_, ArrayOfMatrix_ ),
01044 KEYWORDS(),
01045 TYPES()));
01046
01047 md_data.push_back
01048 ( MdRecord
01049 ( NAME("MatrixMatrixAdd"),
01050 DESCRIPTION
01051 (
01052 "Adds two matrices. \n"
01053 "\n"
01054 "The function makes an element-wise addition. The size of the two \n"
01055 "matrices to add must have the same size. \n"
01056 "\n"
01057 "Generic output:\n"
01058 " Matrix : The result of the addition (dimension m x n).\n"
01059 "\n"
01060 "Generic input:\n"
01061 " Matrix : A matrix (dimension m x n).\n"
01062 " Matrix : A matrix (dimension m x n)."
01063 ),
01064 OUTPUT(),
01065 INPUT(),
01066 GOUTPUT( Matrix_ ),
01067 GINPUT( Matrix_, Matrix_ ),
01068 KEYWORDS(),
01069 TYPES()));
01070
01071 md_data.push_back
01072 ( MdRecord
01073 ( NAME("MatrixWriteAscii"),
01074 DESCRIPTION(
01075 "Writes a matrix to an ASCII file.\n"
01076 "\n"
01077 "The matrix of the given workspace variable\n"
01078 "is written to the file with the specified name.\n"
01079 "If the filename is omitted, the matrix is written\n"
01080 "to <basename>.<variable_name>.aa.\n"
01081 "\n"
01082 "See *ArrayOfMatrixWriteAscii* for file format.\n"
01083 "\n"
01084 "Generic input: \n"
01085 " Matrix : Name of the workspace variable to write.\n"
01086 "\n"
01087 "Keywords: \n"
01088 " filename : Name of the output file.\n"
01089 ),
01090 OUTPUT(),
01091 INPUT(),
01092 GOUTPUT(),
01093 GINPUT( Matrix_ ),
01094 KEYWORDS( "filename" ),
01095 TYPES( String_t )));
01096
01097 md_data.push_back
01098 ( MdRecord
01099 ( NAME("MatrixReadAscii"),
01100 DESCRIPTION(
01101 "Reads a matrix from an ASCII file.\n"
01102 "\n"
01103 "The matrix is read from the file with the\n"
01104 "specified name and stored in the given workspace\n"
01105 "variable.\n"
01106 "If the filename is omitted, the matrix is read\n"
01107 "from <basename>.<variable_name>.aa.\n"
01108 "\n"
01109 "See *ArrayOfMatrixWriteAscii* for file format.\n"
01110 "\n"
01111 "Generic output: \n"
01112 " Matrix : Name of the workspace variable to read.\n"
01113 "\n"
01114 "Keywords: \n"
01115 " filename : Name of the input file.\n"
01116 ),
01117 OUTPUT(),
01118 INPUT(),
01119 GOUTPUT( Matrix_ ),
01120 GINPUT(),
01121 KEYWORDS( "filename" ),
01122 TYPES( String_t )));
01123
01124 md_data.push_back
01125 ( MdRecord
01126 ( NAME("MatrixWriteBinary"),
01127 DESCRIPTION(
01128 "Writes a matrix to a binary file.\n"
01129 "\n"
01130 "The filename can be specified or an empty String.\n"
01131 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01132 "File is in HDF4 format.\n"
01133 "\n"
01134 "Generic input: \n"
01135 " Matrix : Name of the workspace variable to write.\n"
01136 "\n"
01137 "Keywords:\n"
01138 " filename : Name of the output file.\n"
01139 ),
01140 OUTPUT(),
01141 INPUT(),
01142 GOUTPUT(),
01143 GINPUT( Matrix_ ),
01144 KEYWORDS( "filename" ),
01145 TYPES( String_t )));
01146
01147 md_data.push_back
01148 ( MdRecord
01149 ( NAME("MatrixReadBinary"),
01150 DESCRIPTION(
01151 "Reads a matrix from a binary file.\n"
01152 "\n"
01153 "The filename can be specified or an empty String.\n"
01154 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01155 "File is in HDF4 format.\n"
01156 "\n"
01157 "Generic output: \n"
01158 " Matrix : Name of the workspace variable to read.\n"
01159 "\n"
01160 "Keywords:\n"
01161 " filename : Name of the input file.\n"
01162 ),
01163 OUTPUT(),
01164 INPUT(),
01165 GOUTPUT( Matrix_ ),
01166 GINPUT(),
01167 KEYWORDS( "filename" ),
01168 TYPES( String_t )));
01169
01170 md_data.push_back
01171 ( MdRecord
01172 ( NAME("MatrixScale"),
01173 DESCRIPTION
01174 (
01175 "Scales all elements of a matrix with the same value. \n"
01176 "\n"
01177 "The result can either be stored in the same or another matrix. \n"
01178 "\n"
01179 "Generic output: \n"
01180 " Matrix : Return matrix. \n"
01181 "\n"
01182 "Generic input: \n"
01183 " Matrix : Original matrix. \n"
01184 "\n"
01185 "Keywords: \n"
01186 " value : The value to be multiplicated with the matrix."
01187 ),
01188 OUTPUT(),
01189 INPUT(),
01190 GOUTPUT( Matrix_ ),
01191 GINPUT( Matrix_ ),
01192 KEYWORDS( "value" ),
01193 TYPES( Numeric_t )));
01194
01195 md_data.push_back
01196 ( MdRecord
01197 ( NAME("MatrixDiagonal"),
01198 DESCRIPTION
01199 (
01200 "Creates a diagonal matrix. \n"
01201 "\n"
01202 "All diagonal elements are set to the same value.\n"
01203 "\n"
01204 "Generic output: \n"
01205 " Matrix : The matrix to be created. \n"
01206 "\n"
01207 "Keywords: \n"
01208 " nrows : The number of rows (and columns) of the matrix to \n"
01209 " create. \n"
01210 " value : The value of the diagonal matrix elements. "
01211 ),
01212 OUTPUT(),
01213 INPUT(),
01214 GOUTPUT( Matrix_ ),
01215 GINPUT(),
01216 KEYWORDS( "nrows", "value" ),
01217 TYPES( Index_t, Numeric_t )));
01218
01219
01220
01221
01222
01223 md_data.push_back
01224 ( MdRecord
01225 ( NAME("ArrayOfIndexWriteAscii"),
01226 DESCRIPTION(
01227 "Writes a index array to an ASCII file.\n"
01228 "\n"
01229 "The index array of the given workspace variable\n"
01230 "is written to the file with the specified name.\n"
01231 "If the filename is omitted, the index array is written\n"
01232 "to <basename>.<variable_name>.aa.\n"
01233 "\n"
01234 "See *ArrayOfMatrixWriteAscii* for file format.\n"
01235 "\n"
01236 "Generic input: \n"
01237 " ArrayOfIndex : Name of the workspace variable to write.\n"
01238 "\n"
01239 "Keywords: \n"
01240 " filename : Name of the output file.\n"
01241 ),
01242 OUTPUT(),
01243 INPUT(),
01244 GOUTPUT(),
01245 GINPUT( ArrayOfIndex_ ),
01246 KEYWORDS( "filename" ),
01247 TYPES( String_t )));
01248
01249 md_data.push_back
01250 ( MdRecord
01251 ( NAME("ArrayOfIndexReadAscii"),
01252 DESCRIPTION(
01253 "Reads a index array from an ASCII file.\n"
01254 "\n"
01255 "The index array is read from the file with the\n"
01256 "specified name and stored in the given workspace\n"
01257 "variable.\n"
01258 "If the filename is omitted, the index array is read\n"
01259 "from <basename>.<variable_name>.aa.\n"
01260 "\n"
01261 "See *ArrayOfMatrixWriteAscii* for file format.\n"
01262 "\n"
01263 "Generic output: \n"
01264 " ArrayOfIndex : Name of the workspace variable to read.\n"
01265 "\n"
01266 "Keywords: \n"
01267 " filename : Name of the input file.\n"
01268 ),
01269 OUTPUT(),
01270 INPUT(),
01271 GOUTPUT( ArrayOfIndex_ ),
01272 GINPUT(),
01273 KEYWORDS( "filename" ),
01274 TYPES( String_t )));
01275
01276 md_data.push_back
01277 ( MdRecord
01278 ( NAME("ArrayOfIndexWriteBinary"),
01279 DESCRIPTION(
01280 "Writes an index array to a binary file.\n"
01281 "\n"
01282 "The filename can be specified or an empty String.\n"
01283 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01284 "File is in HDF4 format.\n"
01285 "\n"
01286 "Generic input: \n"
01287 " ArrayOfIndex : Name of the workspace variable to write.\n"
01288 "\n"
01289 "Keywords:\n"
01290 " filename : Name of the output file.\n"
01291 ),
01292 OUTPUT(),
01293 INPUT(),
01294 GOUTPUT(),
01295 GINPUT( ArrayOfIndex_ ),
01296 KEYWORDS( "filename" ),
01297 TYPES( String_t )));
01298
01299 md_data.push_back
01300 ( MdRecord
01301 ( NAME("ArrayOfIndexReadBinary"),
01302 DESCRIPTION(
01303 "Reads an index array from a binary file.\n"
01304 "\n"
01305 "The filename can be specified or an empty String.\n"
01306 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01307 "File is in HDF4 format.\n"
01308 "\n"
01309 "Generic output: \n"
01310 " ArrayOfIndex : Name of the workspace variable to read.\n"
01311 "\n"
01312 "Keywords:\n"
01313 " filename : Name of the input file.\n"
01314 ),
01315 OUTPUT(),
01316 INPUT(),
01317 GOUTPUT( ArrayOfIndex_ ),
01318 GINPUT(),
01319 KEYWORDS( "filename" ),
01320 TYPES( String_t )));
01321
01322
01323
01324
01325 md_data.push_back
01326 ( MdRecord
01327 ( NAME("ArrayOfVectorWriteAscii"),
01328 DESCRIPTION(
01329 "Writes an array of vectors to an ASCII file.\n"
01330 "\n"
01331 "The array of vectors of the given workspace variable\n"
01332 "is written to the file with the specified name.\n"
01333 "If the filename is omitted, the array of vectors is written\n"
01334 "to <basename>.<variable_name>.aa.\n"
01335 "\n"
01336 "See *ArrayOfMatrixWriteAscii* for file format.\n"
01337 "\n"
01338 "Generic input: \n"
01339 " ArrayOfVector : Name of the workspace variable to write.\n"
01340 "\n"
01341 "Keywords: \n"
01342 " filename : Name of the output file.\n"
01343 ),
01344 OUTPUT(),
01345 INPUT(),
01346 GOUTPUT(),
01347 GINPUT( ArrayOfVector_ ),
01348 KEYWORDS( "filename" ),
01349 TYPES( String_t )));
01350
01351 md_data.push_back
01352 ( MdRecord
01353 ( NAME("ArrayOfVectorReadAscii"),
01354 DESCRIPTION(
01355 "Reads an array of vectors from an ASCII file.\n"
01356 "\n"
01357 "The array of vectors is read from the file with the\n"
01358 "specified name and stored in the given workspace\n"
01359 "variable.\n"
01360 "If the filename is omitted, the array of vectors is read\n"
01361 "from <basename>.<variable_name>.aa.\n"
01362 "\n"
01363 "See *ArrayOfMatrixWriteAscii* for file format.\n"
01364 "\n"
01365 "Generic output: \n"
01366 " ArrayOfVector : Name of the workspace variable to read.\n"
01367 "\n"
01368 "Keywords: \n"
01369 " filename : Name of the input file.\n"
01370 ),
01371 OUTPUT(),
01372 INPUT(),
01373 GOUTPUT( ArrayOfVector_ ),
01374 GINPUT(),
01375 KEYWORDS( "filename" ),
01376 TYPES( String_t )));
01377
01378 md_data.push_back
01379 ( MdRecord
01380 ( NAME("ArrayOfVectorWriteBinary"),
01381 DESCRIPTION(
01382 "Writes a vector array to a binary file.\n"
01383 "\n"
01384 "The filename can be specified or an empty String.\n"
01385 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01386 "File is in HDF4 format.\n"
01387 "\n"
01388 "Generic input: \n"
01389 " ArrayOfVector : Name of the workspace variable to write.\n"
01390 "\n"
01391 "Keywords:\n"
01392 " filename : Name of the output file.\n"
01393 ),
01394 OUTPUT(),
01395 INPUT(),
01396 GOUTPUT(),
01397 GINPUT( ArrayOfVector_ ),
01398 KEYWORDS( "filename" ),
01399 TYPES( String_t )));
01400
01401 md_data.push_back
01402 ( MdRecord
01403 ( NAME("ArrayOfVectorReadBinary"),
01404 DESCRIPTION(
01405 "Reads a vector array from a binary file.\n"
01406 "\n"
01407 "The filename can be specified or an empty String.\n"
01408 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01409 "File is in HDF4 format.\n"
01410 "\n"
01411 "Generic output: \n"
01412 " ArrayOfVector : Name of the workspace variable to read.\n"
01413 "\n"
01414 "Keywords:\n"
01415 " filename : Name of the input file.\n"
01416 ),
01417 OUTPUT(),
01418 INPUT(),
01419 GOUTPUT( ArrayOfVector_ ),
01420 GINPUT(),
01421 KEYWORDS( "filename" ),
01422 TYPES( String_t )));
01423
01424
01425
01426
01427
01428 md_data.push_back
01429 ( MdRecord
01430 ( NAME("ArrayOfMatrixWriteAscii"),
01431 DESCRIPTION(
01432 "Writes an array of matrices to an ASCII file.\n"
01433 "\n"
01434 "The array of matrices of the given workspace variable\n"
01435 "is written to the file with the specified name.\n"
01436 "If the filename is omitted, the array of matrices is written\n"
01437 "to <basename>.<variable_name>.aa.\n"
01438 "\n"
01439 "The format is as follows:\n"
01440 "\n"
01441 "# <comments>\n"
01442 "<n_array_elements>\n"
01443 "<n_rows> <n_columns>\n"
01444 "<elements>\n"
01445 "<n_rows> <n_columns>\n"
01446 "<elements>\n"
01447 "...\n"
01448 "\n"
01449 "Example:\n"
01450 "# Generated by arts-0.0.16, Apr 29 2000, 17:38:44\n"
01451 "2\n"
01452 "3 4\n"
01453 "xx xx xx xx\n"
01454 "xx xx xx xx\n"
01455 "xx xx xx xx\n"
01456 "2 2\n"
01457 "yy yy\n"
01458 "yy yy"
01459 "\n"
01460 "Generic input: \n"
01461 " ArrayOfMatrix : Name of the workspace variable to write.\n"
01462 "\n"
01463 "Keywords: \n"
01464 " filename : Name of the output file.\n"
01465 ),
01466 OUTPUT(),
01467 INPUT(),
01468 GOUTPUT(),
01469 GINPUT( ArrayOfMatrix_ ),
01470 KEYWORDS( "filename" ),
01471 TYPES( String_t )));
01472
01473 md_data.push_back
01474 ( MdRecord
01475 ( NAME("ArrayOfMatrixReadAscii"),
01476 DESCRIPTION(
01477 "Reads an array of matrices from an ASCII file.\n"
01478 "\n"
01479 "The array of matrices is read from the file with the\n"
01480 "specified name and stored in the given workspace\n"
01481 "variable.\n"
01482 "If the filename is omitted, the array of matrices is read\n"
01483 "from <basename>.<variable_name>.aa.\n"
01484 "\n"
01485 "See *ArrayOfMatrixWriteAscii* for file format.\n"
01486 "\n"
01487 "Generic output: \n"
01488 " ArrayOfMatrix : Name of the workspace variable to read.\n"
01489 "\n"
01490 "Keywords: \n"
01491 " filename : Name of the input file.\n"
01492 ),
01493 OUTPUT(),
01494 INPUT(),
01495 GOUTPUT( ArrayOfMatrix_ ),
01496 GINPUT(),
01497 KEYWORDS( "filename" ),
01498 TYPES( String_t )));
01499
01500 md_data.push_back
01501 ( MdRecord
01502 ( NAME("ArrayOfMatrixWriteBinary"),
01503 DESCRIPTION(
01504 "Writes a matrix array to a binary file.\n"
01505 "\n"
01506 "The filename can be specified or an empty String.\n"
01507 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01508 "File is in HDF4 format.\n"
01509 "\n"
01510 "Generic input: \n"
01511 " ArrayOfMatrix : Name of the workspace variable to write.\n"
01512 "\n"
01513 "Keywords:\n"
01514 " filename : Name of the output file.\n"
01515 ),
01516 OUTPUT(),
01517 INPUT(),
01518 GOUTPUT(),
01519 GINPUT( ArrayOfMatrix_ ),
01520 KEYWORDS( "filename" ),
01521 TYPES( String_t )));
01522
01523 md_data.push_back
01524 ( MdRecord
01525 ( NAME("ArrayOfMatrixReadBinary"),
01526 DESCRIPTION(
01527 "Reads a matrix array from a binary file.\n"
01528 "\n"
01529 "The filename can be specified or an empty String.\n"
01530 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01531 "File is in HDF4 format.\n"
01532 "\n"
01533 "Generic output: \n"
01534 " ArrayOfMatrix : Name of the workspace variable to read.\n"
01535 "\n"
01536 "Keywords:\n"
01537 " filename : Name of the input file.\n"
01538 ),
01539 OUTPUT(),
01540 INPUT(),
01541 GOUTPUT( ArrayOfMatrix_ ),
01542 GINPUT(),
01543 KEYWORDS( "filename" ),
01544 TYPES( String_t )));
01545
01546
01547
01548 md_data.push_back
01549 ( MdRecord
01550 ( NAME("StringSet"),
01551 DESCRIPTION("Sets a String to the given text String."),
01552 OUTPUT(),
01553 INPUT(),
01554 GOUTPUT( String_ ),
01555 GINPUT(),
01556 KEYWORDS( "text" ),
01557 TYPES( String_t )));
01558
01559 md_data.push_back
01560 ( MdRecord
01561 ( NAME("StringWriteAscii"),
01562 DESCRIPTION(
01563 "Writes a string to an ASCII file.\n"
01564 "\n"
01565 "The string of the given workspace variable\n"
01566 "is written to the file with the specified name.\n"
01567 "If the filename is omitted, the string is written\n"
01568 "to <basename>.<variable_name>.aa.\n"
01569 "\n"
01570 "See *ArrayOfStringWriteAscii* for file format.\n"
01571 "\n"
01572 "Generic input: \n"
01573 " String : Name of the workspace variable to write.\n"
01574 "\n"
01575 "Keywords: \n"
01576 " filename : Name of the output file.\n"
01577 ),
01578 OUTPUT(),
01579 INPUT(),
01580 GOUTPUT(),
01581 GINPUT( String_ ),
01582 KEYWORDS( "filename" ),
01583 TYPES( String_t )));
01584
01585 md_data.push_back
01586 ( MdRecord
01587 ( NAME("StringReadAscii"),
01588 DESCRIPTION(
01589 "Reads a string from an ASCII file.\n"
01590 "\n"
01591 "The string is read from the file with the\n"
01592 "specified name and stored in the given workspace\n"
01593 "variable.\n"
01594 "If the filename is omitted, the string is read\n"
01595 "from <basename>.<variable_name>.aa.\n"
01596 "\n"
01597 "See *ArrayOfStringWriteAscii* for file format.\n"
01598 "\n"
01599 "Generic output: \n"
01600 " String : Name of the workspace variable to read.\n"
01601 "\n"
01602 "Keywords: \n"
01603 " filename : Name of the input file.\n"
01604 ),
01605 OUTPUT(),
01606 INPUT(),
01607 GOUTPUT( String_ ),
01608 GINPUT(),
01609 KEYWORDS( "filename" ),
01610 TYPES( String_t )));
01611
01612 md_data.push_back
01613 ( MdRecord
01614 ( NAME("StringWriteBinary"),
01615 DESCRIPTION(
01616 "Writes a String to a binary file.\n"
01617 "\n"
01618 "The filename can be specified or an empty String.\n"
01619 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01620 "File is in HDF4 format.\n"
01621 "\n"
01622 "Generic input: \n"
01623 " String : Name of the workspace variable to write.\n"
01624 "\n"
01625 "Keywords:\n"
01626 " filename : Name of the output file.\n"
01627 ),
01628 OUTPUT(),
01629 INPUT(),
01630 GOUTPUT(),
01631 GINPUT( String_ ),
01632 KEYWORDS( "filename" ),
01633 TYPES( String_t )));
01634
01635 md_data.push_back
01636 ( MdRecord
01637 ( NAME("StringReadBinary"),
01638 DESCRIPTION(
01639 "Reads a String from a binary file.\n"
01640 "\n"
01641 "The filename can be specified or an empty String.\n"
01642 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01643 "File is in HDF4 format.\n"
01644 "\n"
01645 "Generic output: \n"
01646 " String : Name of the workspace variable to read.\n"
01647 "\n"
01648 "Keywords:\n"
01649 " filename : Name of the input file.\n"
01650 ),
01651 OUTPUT(),
01652 INPUT(),
01653 GOUTPUT( String_ ),
01654 GINPUT(),
01655 KEYWORDS( "filename" ),
01656 TYPES( String_t )));
01657
01658
01659
01660
01661 md_data.push_back
01662 ( MdRecord
01663 ( NAME("ArrayOfStringSet"),
01664 DESCRIPTION("Sets a String array according the given text.\n"
01665 "The format is text = [\"String1\",\"String2\",...]"),
01666 OUTPUT(),
01667 INPUT(),
01668 GOUTPUT( ArrayOfString_ ),
01669 GINPUT(),
01670 KEYWORDS( "text" ),
01671 TYPES( Array_String_t )));
01672
01673 md_data.push_back
01674 ( MdRecord
01675 ( NAME("ArrayOfStringWriteAscii"),
01676 DESCRIPTION(
01677 "Writes an array of strings to an ASCII file.\n"
01678 "\n"
01679 "The array of strings of the given workspace variable\n"
01680 "is written to the file with the specified name.\n"
01681 "If the filename is omitted, the string is written\n"
01682 "to <basename>.<variable_name>.aa.\n"
01683 "\n"
01684 "The format is as follows:\n"
01685 "\n"
01686 "# <comments>\n"
01687 "<n_Strings>\n"
01688 "<String 1>\n"
01689 "<String 2>\n"
01690 "...\n"
01691 "\n"
01692 "Example:\n"
01693 "# Generated by arts-0.0.16, Apr 29 2000, 17:38:44\n"
01694 "2\n"
01695 "A String\n"
01696 "Another String\n"
01697 "\n"
01698 "Generic input: \n"
01699 " ArrayOfString : Name of the workspace variable to write.\n"
01700 "\n"
01701 "Keywords: \n"
01702 " filename : Name of the output file.\n"
01703 ),
01704 OUTPUT(),
01705 INPUT(),
01706 GOUTPUT(),
01707 GINPUT( ArrayOfString_ ),
01708 KEYWORDS( "filename" ),
01709 TYPES( String_t )));
01710
01711 md_data.push_back
01712 ( MdRecord
01713 ( NAME("ArrayOfStringReadAscii"),
01714 DESCRIPTION(
01715 "Reads an array of strings from an ASCII file.\n"
01716 "\n"
01717 "The array of strings is read from the file with the\n"
01718 "specified name and stored in the given workspace\n"
01719 "variable.\n"
01720 "If the filename is omitted, the string is read\n"
01721 "from <basename>.<variable_name>.aa.\n"
01722 "\n"
01723 "See *ArrayOfStringWriteAscii* for file format.\n"
01724 "\n"
01725 "Generic output: \n"
01726 " ArrayOfString : Name of the workspace variable to read.\n"
01727 "\n"
01728 "Keywords: \n"
01729 " filename : Name of the input file.\n"
01730 ),
01731 OUTPUT(),
01732 INPUT(),
01733 GOUTPUT( ArrayOfString_ ),
01734 GINPUT(),
01735 KEYWORDS( "filename" ),
01736 TYPES( String_t )));
01737
01738 md_data.push_back
01739 ( MdRecord
01740 ( NAME("ArrayOfStringWriteBinary"),
01741 DESCRIPTION(
01742 "Writes a String array to a binary file.\n"
01743 "\n"
01744 "The filename can be specified or an empty String.\n"
01745 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01746 "File is in HDF4 format.\n"
01747 "\n"
01748 "Generic input: \n"
01749 " ArrayOfString : Name of the workspace variable to write.\n"
01750 "\n"
01751 "Keywords:\n"
01752 " filename : Name of the output file.\n"
01753 ),
01754 OUTPUT(),
01755 INPUT(),
01756 GOUTPUT(),
01757 GINPUT( ArrayOfString_ ),
01758 KEYWORDS( "filename" ),
01759 TYPES( String_t )));
01760
01761 md_data.push_back
01762 ( MdRecord
01763 ( NAME("ArrayOfStringReadBinary"),
01764 DESCRIPTION(
01765 "Reads a String array from a binary file.\n"
01766 "\n"
01767 "The filename can be specified or an empty String.\n"
01768 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01769 "File is in HDF4 format.\n"
01770 "\n"
01771 "Generic output: \n"
01772 " ArrayOfString : Name of the workspace variable to read.\n"
01773 "\n"
01774 "Keywords:\n"
01775 " filename : Name of the input file.\n"
01776 ),
01777 OUTPUT(),
01778 INPUT(),
01779 GOUTPUT( ArrayOfString_ ),
01780 GINPUT(),
01781 KEYWORDS( "filename" ),
01782 TYPES( String_t )));
01783
01784
01785
01786 md_data.push_back
01787 ( MdRecord
01788 ( NAME("TagGroupsSpeciesWriteAscii"),
01789 DESCRIPTION(
01790 "Writes TagGroup Species to an ASCII file.\n"
01791 "\n"
01792 "The tags which are defined by *tgsDefine*\n"
01793 "is written to the file with the specified name.\n"
01794 "If the filename is omitted, the string is written\n"
01795 "to <basename>.<variable_name>.aa.\n"
01796 "\n"
01797 "Generic input: \n"
01798 " tgs : The tags which are defined.\n"
01799 "\n"
01800 "Keywords: \n"
01801 " filename : Name of the output file.\n"
01802 ),
01803 OUTPUT(),
01804 INPUT(),
01805 GOUTPUT(),
01806 GINPUT( TagGroups_ ),
01807 KEYWORDS( "filename" ),
01808 TYPES( String_t )));
01809
01810
01811
01812
01813 md_data.push_back
01814 ( MdRecord
01815 ( NAME("LosWriteBinary"),
01816 DESCRIPTION(
01817 "Writes a LOS structure to a binary file.\n"
01818 "\n"
01819 "The filename can be specified or an empty String.\n"
01820 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01821 "File is in HDF4 format.\n"
01822 "\n"
01823 "Generic input: \n"
01824 " LOS : Name of the workspace variable to write.\n"
01825 "\n"
01826 "Keywords:\n"
01827 " filename : Name of the output file.\n"
01828 ),
01829 OUTPUT(),
01830 INPUT(),
01831 GOUTPUT(),
01832 GINPUT( Los_ ),
01833 KEYWORDS( "filename" ),
01834 TYPES( String_t )));
01835
01836 md_data.push_back
01837 ( MdRecord
01838 ( NAME("LosReadBinary"),
01839 DESCRIPTION(
01840 "Reads a LOS structure from a binary file.\n"
01841 "\n"
01842 "The filename can be specified or an empty String.\n"
01843 "If empty, it is set to <basename>.<variable_name>.ab.\n"
01844 "File is in HDF4 format.\n"
01845 "\n"
01846 "Generic output: \n"
01847 " LOS : Name of the workspace variable to read.\n"
01848 "\n"
01849 "Keywords:\n"
01850 " filename : Name of the input file.\n"
01851 ),
01852 OUTPUT(),
01853 INPUT(),
01854 GOUTPUT( Los_ ),
01855 GINPUT(),
01856 KEYWORDS( "filename" ),
01857 TYPES( String_t )));
01858
01859
01860
01861
01862
01863
01864
01865
01866
01867 md_data.push_back
01868 ( MdRecord
01869 ( NAME("lines_per_tgSetEmpty"),
01870 DESCRIPTION
01871 (
01872 "Sets lines_per_tg to empty line lists.\n"
01873 "\n"
01874 "You can use this method to set lines per tag if you do not reall want\n"
01875 "to compute line spectra. Formally, absCalc will still require\n"
01876 "lines_per_tg to be set.\n"
01877 ),
01878 OUTPUT( lines_per_tg_ ),
01879 INPUT( tgs_ ),
01880 GOUTPUT(),
01881 GINPUT(),
01882 KEYWORDS( ),
01883 TYPES( )));
01884
01885 md_data.push_back
01886 ( MdRecord
01887 ( NAME("lines_per_tgReadFromCatalogues"),
01888 DESCRIPTION(
01889 "This method can read lines from different line \n"
01890 "catalogues.\n"
01891 "\n"
01892 "For each tag group, you can specify which catalogue\n"
01893 "to use. Because the method creates lines_per_tg directly,\n"
01894 "it replaces for example thefollowing two method calls:\n"
01895 " - linesReadFromHitran\n"
01896 " - lines_per_tgCreateFromLines\n"
01897 " This method needs as input WSVs the list of tag \n"
01898 "groups. Keyword parameters must specify the names of\n"
01899 "the catalogue files to use and the matching formats.\n"
01900 "Names can be anything, formats can currently be \n"
01901 "HITRAN96 (for HITRAN 1986-2001 databases), HITRAN04 \n"
01902 "(for HITRAN 2004 database), MYTRAN2, JPL, or ARTS. \n"
01903 "Furthermore, keyword parameters have to specify minimum \n"
01904 "and maximum frequency for each tag group. To safe typing, \n"
01905 "if there are less elements in the keyword parameters than \n"
01906 "there are tag groups, the last parameters are applied to \n"
01907 "all following tag groups.\n"
01908 "\n"
01909 "Example usage:\n"
01910 "\n"
01911 "lines_per_tgReadFromCatalogues{\n"
01912 " filenames = [ \"../data/cat1.dat\", \"../data/cat2.dat\" ]\n"
01913 " formats = [ \"MYTRAN2\", \"HITRAN96\" ]\n"
01914 " fmin = [ 0, 0 ]\n"
01915 " fmax = [ 2000e9, 100e9 ]\n"
01916 "}\n"
01917 " In this example, lines for the first tag group will\n"
01918 "be taken from cat1, lines for all other tag groups \n"
01919 "will be taken from cat2.\n"
01920 " This methods allows you for example to use a \n"
01921 "special line file just for water vapor lines. This\n"
01922 "could be the improved water vapor line file \n"
01923 "generated by Thomas Kuhn.\n"
01924 " Catalogues are only read once, even if several tag\n"
01925 "groups have the same catalogue. However, in that case\n"
01926 "the frequency ranges MUST be the same. (If you want \n"
01927 "to do fine-tuning of the frequency ranges, you can do \n"
01928 "this inside the tag definitions, e.g., \"H2O-*-0-2000e9\".)\n"
01929 " This function uses the various reading routines\n"
01930 "(linesReadFromHitran, etc.), as well as\n"
01931 "lines_per_tgCreateFromLines.\n"
01932 "\n"
01933 "Keywords: \n"
01934 " filenames = Name (and path) of the catalogue files.\n"
01935 " formats = allowed formats are HITRAN96,MYTRAN2,JPL,ARTS \n"
01936 " fmin = Minimum frequency for lines to read in Hz.\n"
01937 " fmax = Maximum frequency for lines to read in Hz.\n"),
01938 OUTPUT( lines_per_tg_ ),
01939 INPUT( tgs_ ),
01940 GOUTPUT(),
01941 GINPUT(),
01942 KEYWORDS( "filenames", "formats", "fmin", "fmax" ),
01943 TYPES( Array_String_t, Array_String_t, Vector_t, Vector_t)));
01944
01945 md_data.push_back
01946 ( MdRecord
01947 ( NAME("linesReadFromHitran"),
01948 DESCRIPTION(
01949 "Read all the lines from a HITRAN 1986-2001 catalogue file in\n"
01950 "the given frequency range. Otherwise a runtime error will be\n"
01951 "thrown. For HITRAN 2004 line data use the workspace method \n"
01952 "linesReadFromHitran. \n"
01953 "\n"
01954 "Please note that all lines must correspond to the legal\n"
01955 "species / isotope combinations and that the line data \n"
01956 "file must be sorted by increasing frequency\n"
01957 "\n"
01958 "Keywords: \n"
01959 " filename = Name (and path) of the catalogue file.\n"
01960 " fmin = Minimum frequency for lines to read in Hz.\n"
01961 " fmax = Maximum frequency for lines to read in Hz."),
01962 OUTPUT( lines_ ),
01963 INPUT(),
01964 GOUTPUT(),
01965 GINPUT(),
01966 KEYWORDS( "filename", "fmin", "fmax"),
01967 TYPES( String_t, Numeric_t, Numeric_t)));
01968
01969 md_data.push_back
01970 ( MdRecord
01971 ( NAME("linesReadFromHitran2004"),
01972 DESCRIPTION(
01973 "Read all the lines from a HITRAN 2004 catalogue file in the \n"
01974 "given frequency range. Otherwise a runtime error is thrown. \n"
01975 "\n"
01976 "Records of molecules unknown to ARTS are ignored but a \n"
01977 "warning is issued. In particular this happens to CH3OH \n"
01978 "(HITRAN molecule number 39) because there is no total internal \n"
01979 "partition sum available. \n"
01980 "\n"
01981 "The database must be sorted by increasing frequency!\n"
01982 "\n"
01983 "For data in the Hitran 1986-2001 format use the workspace \n"
01984 "method: linesReadFromHitran\n"
01985 "\n"
01986 "Keywords: \n"
01987 " filename = Name (and path) of the catalogue file.\n"
01988 " fmin = Minimum frequency for lines to read in Hz.\n"
01989 " fmax = Maximum frequency for lines to read in Hz."),
01990 OUTPUT( lines_ ),
01991 INPUT(),
01992 GOUTPUT(),
01993 GINPUT(),
01994 KEYWORDS( "filename", "fmin", "fmax"),
01995 TYPES( String_t, Numeric_t, Numeric_t)));
01996
01997 md_data.push_back
01998 ( MdRecord
01999 ( NAME("linesReadFromMytran2"),
02000 DESCRIPTION(
02001 "Read all the lines from a MYTRAN2 catalogue file in the \n"
02002 "given frequency range. Otherwise a runtime error will be\n"
02003 "thrown\n"
02004 "\n"
02005 "Please note that all lines must correspond\n"
02006 "to the legal species / isotope combinations\n"
02007 "\n"
02008 "Keywords: \n"
02009 " filename = Name (and path) of the catalogue file.\n"
02010 " fmin = Minimum frequency for lines to read in Hz.\n"
02011 " fmax = Maximum frequency for lines to read in Hz."),
02012 OUTPUT( lines_ ),
02013 INPUT(),
02014 GOUTPUT(),
02015 GINPUT(),
02016 KEYWORDS( "filename", "fmin", "fmax"),
02017 TYPES( String_t, Numeric_t, Numeric_t)));
02018
02019 md_data.push_back
02020 ( MdRecord
02021 ( NAME("linesReadFromJpl"),
02022 DESCRIPTION(
02023 "Read all the lines from a JPL catalogue file in the \n"
02024 "given frequency range. Otherwise a runtime error will be\n"
02025 "thrown\n"
02026 "\n"
02027 "Please note that all lines must correspond\n"
02028 "to the legal species / isotope combinations.\n"
02029 "\n"
02030 "Keywords: \n"
02031 " filename = Name (and path) of the catalogue file.\n"
02032 " fmin = Minimum frequency for lines to read in Hz.\n"
02033 " fmax = Maximum frequency for lines to read in Hz."),
02034 OUTPUT( lines_ ),
02035 INPUT(),
02036 GOUTPUT(),
02037 GINPUT(),
02038 KEYWORDS( "filename", "fmin", "fmax"),
02039 TYPES( String_t, Numeric_t, Numeric_t)));
02040
02041 md_data.push_back
02042 ( MdRecord
02043 ( NAME("linesReadFromArts"),
02044 DESCRIPTION(
02045 "Read all the lines from an Arts catalogue file in the \n"
02046 "given frequency range. Otherwise a runtime error will be\n"
02047 "thrown \n"
02048 "\n"
02049 "Please note that all lines must correspond\n"
02050 "to the legal species / isotope combinations\n"
02051 "\n"
02052 "Keywords: \n"
02053 " filename = Name (and path) of the catalogue file.\n"
02054 " fmin = Minimum frequency for lines to read in Hz.\n"
02055 " fmax = Maximum frequency for lines to read in Hz."),
02056 OUTPUT( lines_ ),
02057 INPUT(),
02058 GOUTPUT(),
02059 GINPUT(),
02060 KEYWORDS( "filename", "fmin", "fmax"),
02061 TYPES( String_t, Numeric_t, Numeric_t)));
02062
02063
02064 md_data.push_back
02065 ( MdRecord
02066 ( NAME("linesElowToJoule"),
02067 DESCRIPTION(
02068 "Just a little helper to convert the lower state energy from cm^-1\n"
02069 "(ARTSCAT-2) to Joule (ARTSCAT-3). This should be removed soon\n"),
02070 OUTPUT( lines_ ),
02071 INPUT(),
02072 GOUTPUT(),
02073 GINPUT(),
02074 KEYWORDS( ),
02075 TYPES( )));
02076
02077 md_data.push_back
02078 ( MdRecord
02079 ( NAME("lines_per_tgCreateFromLines"),
02080 DESCRIPTION(
02081 "Split lines up into the different tag groups.\n"
02082 "\n"
02083 "The tag groups are tested in the order in which they are\n"
02084 "specified in the controlfile. The lines are assigned to \n"
02085 "the tag groups in the order as the groups are specified.\n"
02086 "That means if you do [\"O3-666\",\"O3\"],the last group O3 \n"
02087 "gets assigned all the O3 lines that do not fit in the first group."),
02088 OUTPUT( lines_per_tg_ ),
02089 INPUT( lines_, tgs_ ),
02090 GOUTPUT(),
02091 GINPUT(),
02092 KEYWORDS(),
02093 TYPES()));
02094
02095 md_data.push_back
02096 ( MdRecord
02097 ( NAME("lines_per_tgAddMirrorLines"),
02098 DESCRIPTION(
02099 "Adds mirror lines at negative frequencies to the *lines_per_tg*.\n"
02100 "\n"
02101 "For each line at frequency +f in *lines_per_tg* a corresponding\n"
02102 "entry at frequency -f is added to *lines_per_tg*.The mirror \n"
02103 "lines are appended to the line lists after the original lines."),
02104 OUTPUT( lines_per_tg_ ),
02105 INPUT( lines_per_tg_ ),
02106 GOUTPUT(),
02107 GINPUT(),
02108 KEYWORDS(),
02109 TYPES()));
02110
02111 md_data.push_back
02112 ( MdRecord
02113 ( NAME("lines_per_tgCompact"),
02114 DESCRIPTION(
02115 "Removes all lines outside the defined lineshape cutoff frequency\n"
02116 "from the *lines_per_tg*. This can save computation time.\n"
02117 "It should be particularly useful to call this method after\n"
02118 "*lines_per_tgAddMirrorLines*."),
02119 OUTPUT( lines_per_tg_ ),
02120 INPUT( lines_per_tg_, lineshape_, f_mono_ ),
02121 GOUTPUT(),
02122 GINPUT(),
02123 KEYWORDS(),
02124 TYPES()));
02125
02126 md_data.push_back
02127 ( MdRecord
02128 ( NAME("linesWriteAscii"),
02129 DESCRIPTION(
02130 "Writes the workspace variable *lines* to an ASCII file.\n"
02131 "\n"
02132 "The content of the workspace variable 'lines`\n"
02133 "The content of the workspace variable *lines*\n"
02134 "is written in ARTS line format to the file with\n"
02135 "the specified name. If the filename is omitted, the\n"
02136 "lines are written to <basename>.lines.aa.\n"
02137 "\n"
02138 "Keywords: \n"
02139 " filename : Name of the output file.\n"
02140 ),
02141 OUTPUT(),
02142 INPUT( lines_ ),
02143 GOUTPUT(),
02144 GINPUT(),
02145 KEYWORDS( "filename" ),
02146 TYPES( String_t )));
02147
02148 md_data.push_back
02149 ( MdRecord
02150 ( NAME("lines_per_tgWriteAscii"),
02151 DESCRIPTION(
02152 "Writes the workspace variable *lines_per_tg* to an ASCII file.\n"
02153 "\n"
02154 "The content of the workspace variable *lines_per_tg*\n"
02155 "is written in ARTS line format to the file with\n"
02156 "the specified name. If the filename is omitted, the\n"
02157 "lines are written to <basename>.lines_per_tg.aa.\n"
02158 "\n"
02159 "The array dimension is handled in a similar way as by the\n"
02160 "array of vector and matrix output functions:\n"
02161 "First an integer stating the number of tag groups.\n"
02162 "Then an integer specifying the number of lines for the\n"
02163 "first group. Then the other groups in similar fashion."
02164 "\n"
02165 "Keywords: \n"
02166 " filename : Name of the output file.\n"
02167 ),
02168 OUTPUT(),
02169 INPUT( lines_per_tg_ ),
02170 GOUTPUT(),
02171 GINPUT(),
02172 KEYWORDS( "filename" ),
02173 TYPES( String_t )));
02174
02175 md_data.push_back
02176 ( MdRecord
02177 ( NAME("tgsDefine"),
02178 DESCRIPTION(
02179 "Set up the list of tag groups.\n"
02180 "\n"
02181 "The workspace variable *tgs* contains several tag groups. Each \n"
02182 "tag group contain one or more tags. This method converts \n"
02183 "description of tag groups given in the keyword to the internal \n"
02184 "representation *tgs*. A tag group selects spectral features which \n"
02185 "belong to the same species. \n"
02186 " A tag group can contain a mixture of general and special \n"
02187 "tags. All the continuum tags belong to the special tags and \n"
02188 "the rest come under the general tags.\n"
02189 " A general tag is defined in terms of the name of the species,\n"
02190 "isotope and a range of frequencies. Species are named after the \n"
02191 "standard chemical names,e.g., \"O3\". Isotopes are given by the \n"
02192 "last digit of the atomic weight, i.e., \"O3-668\" for the \n"
02193 "asymmetric ozone molecule including an oxygen 18 atom. Groups\n"
02194 "of transitions are specified by giving a lower and upper limit \n"
02195 "of a frequency range,\"O3-666-500e9-501e9\".Moreover the symbol\n"
02196 "'*' acts as a wild card. Furthermore, frequency range or frequency\n"
02197 "range and isotope may be omitted.\n"
02198 "Example for some tag groups containing only general tags:\n"
02199 "tags = [\"O3-666-500e9-501e9, O3-686\",\"O3\"]\n"
02200 "The first tag group consist of all O3-666 lines between 500 and\n"
02201 "501 GHz plus all O3-686 lines. The second tag group will contain\n"
02202 "all remaining O3 transitions.\n"
02203 "\n"
02204 "Keywords:\n"
02205 " tags : Specify one String for each tag group that you want to create.\n"
02206 " Inside the String, separate the tags by comma (plus optional blanks).\n"
02207 " Example:\n"
02208 " tag = [\"O3-686\",\"H2O\"]"),
02209 OUTPUT( tgs_ ),
02210 INPUT(),
02211 GOUTPUT(),
02212 GINPUT(),
02213 KEYWORDS( "tags" ),
02214 TYPES( Array_String_t )));
02215
02216 md_data.push_back
02217 ( MdRecord
02218 ( NAME("tgsDefineAllInScenario"),
02219 DESCRIPTION
02220 (
02221 "Define one tag group for each species known to ARTS and included in an\n"
02222 "atmospheric scenario.\n"
02223 "\n"
02224 "You can use this as an alternative to tgsDefine if you want to make an\n"
02225 "absorption calculation that is as complete as possible. The method\n"
02226 "goes through all defined species and tries to open the VMR file. If\n"
02227 "this works the tag is included, otherwise it is skipped.\n"
02228 "\n"
02229 "Keywords:\n"
02230 " basename : The name and path of a particular atmospheric scenario.\n"
02231 " For example: /pool/lookup2/arts-data/atmosphere/fascod/tropical"
02232 ),
02233 OUTPUT( tgs_ ),
02234 INPUT(),
02235 GOUTPUT(),
02236 GINPUT(),
02237 KEYWORDS( "basename" ),
02238 TYPES( String_t )));
02239
02240 md_data.push_back
02241 ( MdRecord
02242 ( NAME("lineshapeDefine"),
02243 DESCRIPTION(
02244 "Sets the lineshape for all calculated lines.\n"
02245 "\n"
02246 " A general lineshape profile is specified, according to a given \n"
02247 "approximation. Alongside a normalization factor is to be set - a \n"
02248 "multiplicative forefactor through which the profile can be \n"
02249 "modified. This factor is just the 0th or 1st, or 2nd power of the\n"
02250 "ratio between the frequency of calculation f and the center frequency\n"
02251 "for a specific line f0. A cutoff frequency must also be specified in\n"
02252 "order to restrict the calculation within a desired frequency region or\n"
02253 "not, when there's no such region.\n"
02254 " The general lineshape profile is given by the keyword shape,\n"
02255 "while the normalization factor and the cutoff frequency by\n"
02256 "normalizationfactor and cutoff respectively.\n"
02257 "\n"
02258 " The available values for these keywords are given below.\n"
02259 "shape - \"no_shape\" : no specified shape\n"
02260 " \"Doppler\" : Doppler lineshape\n"
02261 " \"Lorentz\" : Lorentz lineshape\n"
02262 " \"Voigt_Kuntz3\" : Kuntz approximation to the Voigt profile,\n"
02263 " accuracy > 2x10^(-3)\n"
02264 " \"Voigt_Kuntz4\" : Kuntz approximation to the Voigt profile,\n"
02265 " accuracy > 2x10^(-4)\n"
02266 " \"Voigt_Kuntz6\" : Kuntz approximation to the Voigt profile,\n"
02267 " accuracy > 2x10^(-6)\n"
02268 " \"Voigt_Drayson\" : Drayson approximation to the Voigt profile \n"
02269 " \"Rosenkranz_Voigt_Drayson\" : Rosenkrantz oxygen absortion with overlap correction\n"
02270 " on the basis of Drayson routine\n"
02271 " \"Rosenkranz_Voigt_Kuntz6\" : Rosenkrantz oxygen absortion with overlap correction\n"
02272 " on the basis of Kuntz routine, accuracy > 2x10^(-6)\n"
02273 " \"CO2_Lorentz\" : Lorentz multiplicated with Cousin's chi factors\n"
02274 " \"CO2_Drayson\" : Drayson multiplicated with Cousin's chi factors\n"
02275 "\n"
02276 "normalizationfactor - \"no_norm\": 1\n"
02277 " \"linear\": f/f0\n"
02278 " \"quadratic\": (f/f0)^2.\n"
02279 " \"VVH\": (f*tanh(h*f/(2*k*T))) / (f0*tanh(h*f0/(2*k*T))).\n"
02280 "\n"
02281 "cutoff - \" -1\" : no cutoff\n"
02282 " \"Number\": positive cutoff frequency in Hz.\n"
02283 "\n"
02284 "Example usage:\n"
02285 "shape=[\"Lorentz\"]\n"
02286 "normalizationfactor=[\"linear\"]\n"
02287 "cutoff= [650e9]"
02288 "\n"
02289 "Keywords:\n"
02290 " shape : The general profile according to an approximation.\n"
02291 " normalizationfactor : The multiplicative forefactor for the general profile.\n"
02292 " cutoff : The frequency at which a cutoff can be made.\n"),
02293 OUTPUT( lineshape_ ),
02294 INPUT( tgs_ ),
02295 GOUTPUT(),
02296 GINPUT(),
02297 KEYWORDS( "shape", "normalizationfactor", "cutoff" ),
02298 TYPES( String_t, String_t, Numeric_t )));
02299
02300 md_data.push_back
02301 ( MdRecord
02302 ( NAME("lineshape_per_tgDefine"),
02303 DESCRIPTION(
02304 "Sets the lineshape per tag group for all calculated lines.\n\n"
02305 "\n"
02306 " A general lineshape profile is specified, according to a given \n"
02307 "approximation for each tag group. Alongside a normalization factor\n"
02308 "is to be set also for each tag group - a multiplicative forefactor through\n"
02309 "which the profile can be modified. This factor is just the 0th or 1st,\n"
02310 "or 2nd power of the ratio between the frequency of calculation f and\n"
02311 "the center frequency for a specific line f0. A cutoff frequency must also be\n"
02312 "specified for each of the tags in order to restrict the calculation within\n"
02313 "a desired region or not, when there's no such region.\n"
02314 " The general lineshape profile is given by the keyword shape,\n"
02315 "while the normalization factor and the cutoff frequency by\n"
02316 "normalizationfactor and cutoff respectively.\n"
02317 "\n"
02318 " The available values for these keywords are given below.\n"
02319 "shape - \"no_shape\" : no specified shape\n"
02320 " \"Doppler\" : Doppler lineshape\n"
02321 " \"Lorentz\" : Lorentz lineshape\n"
02322 " \"Voigt_Kuntz3\" : Kuntz approximation to the Voigt profile,\n"
02323 " accuracy > 2x10^(-3)\n"
02324 " \"Voigt_Kuntz4\" : Kuntz approximation to the Voigt profile,\n"
02325 " accuracy > 2x10^(-4)\n"
02326 " \"Voigt_Kuntz6\" : Kuntz approximation to the Voigt profile,\n"
02327 " accuracy > 2x10^(-6)\n"
02328 " \"Voigt_Drayson\" : Drayson approximation to the Voigt profile \n"
02329 " \"Rosenkranz_Voigt_Drayson\" : Rosenkrantz oxygen absortion with overlap correction\n"
02330 " on the basis of Drayson routine\n"
02331 " \"Rosenkranz_Voigt_Kuntz6\" : Rosenkrantz oxygen absortion with overlap correction\n"
02332 " on the basis of Kuntz routine, accuracy > 2x10^(-6)\n"
02333 "normalizationfactor - \"no_norm\": 1\n"
02334 " \"linear\": f/f0\n"
02335 " \"quadratic\": (f/f0)^2.\n"
02336 "cutoff - \" -1\" : no cutoff\n"
02337 " \"Number\": positive cutoff frequency in Hz.\n"
02338 "\n"
02339 "Example usage:\n"
02340 "shape = [\"Lorentz\",\"Voigt_Kuntz6\"] \n"
02341 "normalizationfactor= [\"linear\", \"quadratic\"] \n"
02342 "cutoff = [ 650e9, -1 ]"
02343 "\n"
02344 "Keywords:\n"
02345 " shape : The general profile according to an approximation.\n"
02346 " normalizationfactor : The multiplicative forefactor for the general profile.\n"
02347 " cutoff : The frequency at which a cutoff can be made.\n"),
02348 OUTPUT( lineshape_ ),
02349 INPUT( tgs_ ),
02350 GOUTPUT(),
02351 GINPUT(),
02352 KEYWORDS( "shape", "normalizationfactor", "cutoff" ),
02353 TYPES( Array_String_t, Array_String_t, Vector_t )));
02354
02355
02356
02357
02358 md_data.push_back
02359 ( MdRecord
02360 ( NAME("cont_descriptionInit"),
02361 DESCRIPTION
02362 (
02363 "Initializes the two workspace variables for the continuum description,\n"
02364 "*cont_description_names* and *cont_description_parameters*.\n"
02365 " \n"
02366 "This method does not really do anything, except setting the two\n"
02367 "variables to empty Arrays. It is just necessary because the method\n"
02368 "*cont_descriptionAppend* wants to append to the variables.\n"
02369 " Formally, the continuum description workspace variables are required\n"
02370 "by the absorption calculation methods (e.g., *absCalc*). Therefore you\n"
02371 "always have to call at least *cont_descriptionInit*, even if you do\n"
02372 "not want to use any continua."
02373 ),
02374 OUTPUT( cont_description_names_,
02375 cont_description_models_,
02376 cont_description_parameters_ ),
02377 INPUT(),
02378 GOUTPUT(),
02379 GINPUT(),
02380 KEYWORDS(),
02381 TYPES()));
02382
02383 md_data.push_back
02384 ( MdRecord
02385 ( NAME("cont_descriptionAppend"),
02386 DESCRIPTION
02387 (
02388 "Appends the description of a continuum model or a complete absorption\n"
02389 "model to *cont_description_names* and *cont_description_parameters*.\n"
02390 "\n"
02391 "See online documentation for *cont_description_names* for a list of\n"
02392 "allowed models and for information what parameters they require. See\n"
02393 "file cont.arts in the doc/examples directory for usage examples and\n"
02394 "default parameters for the various models. \n"
02395 "\n"
02396 "Keywords:\n"
02397 " name : The name of a continuum model. Must match one of the models\n"
02398 " implemented in ARTS. \n"
02399 " option : give here the option of this continuum/full model.\n"
02400 " parameters : A Vector containing the required number of parameters\n"
02401 " for the model given. The meaning of the parameters and\n"
02402 " how many parameters are required depends on the model.\n"
02403 ),
02404 OUTPUT( cont_description_names_,
02405 cont_description_models_,
02406 cont_description_parameters_ ),
02407 INPUT( cont_description_names_,
02408 cont_description_models_,
02409 cont_description_parameters_),
02410 GOUTPUT(),
02411 GINPUT(),
02412 KEYWORDS( "tagname", "model", "userparameters" ),
02413 TYPES( String_t, String_t, Vector_t )));
02414
02415
02416
02417
02418 md_data.push_back
02419 ( MdRecord
02420 ( NAME("raw_vmrsReadFromFiles"),
02421 DESCRIPTION(
02422 "Reads the individual VMR profile for each TAGS from file.\n"
02423 "\n"
02424 "Using this function one can read VMRs of specific TAGS from\n"
02425 "explicitly specified files and the remaing from a scenario.\n"
02426 "The filenames and the base name of atmospheric scenario\n"
02427 "should be specified as keywords. One file name must\n"
02428 "be specified for each tag group(each element of *tgs*).\n"
02429 "The name may include a path.\n"
02430 "\n"
02431 "Keywords:\n"
02432 " seltags : Must be a sub group of tags which should be read from files.\n"
02433 " filenames : Names of the files containing VMR profiles of seltags.\n"
02434 " basename : The name of a particular atmospheric scenario.\n"
02435 " See *raw_vmrsReadFromScenario* for details. Remaining\n"
02436 " VMRs will be read from the scenario.\n"
02437 "\n"
02438 ),
02439 OUTPUT( raw_vmrs_ ),
02440 INPUT( tgs_ ),
02441 GOUTPUT( ),
02442 GINPUT( ),
02443 KEYWORDS( "seltags", "filenames", "basename"),
02444 TYPES( Array_String_t, Array_String_t, String_t)));
02445
02446 md_data.push_back
02447 ( MdRecord
02448 ( NAME("raw_vmrsReadFromScenario"),
02449 DESCRIPTION(
02450 "Reads the individual VMR profile for each tag group from a standard\n"
02451 "atmospheric scenario.\n"
02452 "\n"
02453 "Five different atmospheric scenarios are available in arts data:\n"
02454 "tropical, midlatitude-summer, midlatitude-winter, subartic-summer\n"
02455 "and subartic-winter.\n"
02456 "\n"
02457 " Files in the scenarios look like this: tropical.H2O.aa\n"
02458 "\n"
02459 " The basename must include the path, i.e., the files can be anywhere,\n"
02460 "but they must be all in the same directory.\n"
02461 " The profile is chosen by the species name. If you have more than one\n"
02462 "tag group for the same species, the same profile will be used.\n"
02463 "\n"
02464 "Keywords:\n"
02465 " basename :The name and path of a particular atmospheric scenario.\n"
02466 " For example:\n"
02467 " /pool/lookup2/arts-data/atmosphere/fascod/tropical\n"
02468 "\n"
02469 ),
02470 OUTPUT( raw_vmrs_ ),
02471 INPUT( tgs_ ),
02472 GOUTPUT( ),
02473 GINPUT( ),
02474 KEYWORDS( "basename" ),
02475 TYPES( String_t )));
02476
02477 md_data.push_back
02478 ( MdRecord
02479 ( NAME("AtmFromRaw"),
02480 DESCRIPTION(
02481 "Interpolates temperature, altitude, and VMRs to the pressure grid\n"
02482 "given by p_abs.\n"
02483 "\n"
02484 "The altitude is not used by the absorption routines,\n"
02485 "but later on by the RT routines.\n"
02486 "\n"
02487 "Interpolations used: \n"
02488 "\n"
02489 "Temperature : Linear interpolation in ln(p)\n"
02490 "Altitude : Linear interpolation in ln(p)\n"
02491 "VMRs : Linear interpolation in ln(p)\n"
02492 "Cloud Parameters : Linear interpolation in ln(p)\n"
02493 "\n"
02494 ),
02495 OUTPUT( t_abs_ , z_abs_ , vmrs_ ),
02496 INPUT( tgs_, p_abs_ , raw_ptz_ , raw_vmrs_ ),
02497 GOUTPUT( ),
02498 GINPUT( ),
02499 KEYWORDS( ),
02500 TYPES( )));
02501
02502 md_data.push_back
02503 ( MdRecord
02504 ( NAME("WaterVaporSaturationInClouds"),
02505 DESCRIPTION(
02506 "Calculates the water vapor saturation volume mixing ratio (VMR) in the\n"
02507 "vertical range where liquid or ice clouds are in the atmosphere.\n"
02508 "At the pressure/altitude grid points where the liquid water content (LWC)\n"
02509 "or ice water content (IWC) of the clouds (tags 'liquidcloud' and 'icecloud')\n"
02510 "is larger than zero the H2O-VMR is set to liquid water/ice saturation VMR.\n"
02511 "The saturation pressure is calculated according to Goff-Gratch equations.\n"
02512 ),
02513 OUTPUT( vmrs_ , p_abs_ ),
02514 INPUT( vmrs_ , p_abs_ , t_abs_ , tgs_ ),
02515 GOUTPUT( ),
02516 GINPUT( ),
02517 KEYWORDS( ),
02518 TYPES( )));
02519
02520 md_data.push_back
02521 ( MdRecord
02522 ( NAME("vmrsScale"),
02523 DESCRIPTION(
02524 "Scales the vmr input of the tgs given in scaltgs by the\n"
02525 "factors given in scalfac.\n"
02526 "\n"
02527 "Keywords:\n"
02528 " scaltgs : subgroup of tags which has to be scaled.\n"
02529 " scalfac : the factor with which vmr to be scaled.\n"
02530 "\n"
02531 ),
02532 OUTPUT( vmrs_ ),
02533 INPUT( tgs_, vmrs_ ),
02534 GOUTPUT(),
02535 GINPUT(),
02536 KEYWORDS( "scaltgs", "scalfac"),
02537 TYPES( Array_String_t, Vector_t)));
02538
02539 md_data.push_back
02540 ( MdRecord
02541 ( NAME("h2o_absSet"),
02542 DESCRIPTION(
02543 "Sets h2o_abs to the profile of the first tag group containing\n"
02544 "water.\n"
02545 "\n"
02546 "This is necessary, because for example *absCalc* requires h2o_abs\n"
02547 "to contain the water vapour profile(the reason for this is the\n"
02548 "calculation of oxygen line brodening requires water vapour profile).\n"
02549 "Then this function can be used to copy the profile of the first tag\n"
02550 "group of water.\n"
02551 "\n"
02552 ),
02553 OUTPUT( h2o_abs_ ),
02554 INPUT( tgs_, vmrs_ ),
02555 GOUTPUT(),
02556 GINPUT(),
02557 KEYWORDS(),
02558 TYPES()));
02559
02560 md_data.push_back
02561 ( MdRecord
02562 ( NAME("n2_absSet"),
02563 DESCRIPTION(
02564 "Sets n2_abs to the profile of the first tag group containing\n"
02565 "molecular nitrogen. See *h2o_absSet* for more details.\n"
02566 "\n"
02567 ),
02568 OUTPUT( n2_abs_ ),
02569 INPUT( tgs_, vmrs_ ),
02570 GOUTPUT(),
02571 GINPUT(),
02572 KEYWORDS(),
02573 TYPES()));
02574
02575 md_data.push_back
02576 ( MdRecord
02577 ( NAME("hseSet"),
02578 DESCRIPTION(
02579 "Sets the vector of parameters for calculation of hydrostatic \n"
02580 "equilibrium (*hse*). The on/off flag is set to 1. \n"
02581 "\n"
02582 "Type \"arts -d hse\" for more information. \n"
02583 "\n"
02584 "Keywords \n"
02585 " pref : Pressure of the reference point. \n"
02586 " zref : The geometrical altitude at pref. \n"
02587 " g0 : Gravitational acceleration at the geoid surface.\n"
02588 " niter : Number of iterations (1-2 should suffice normally)."),
02589 OUTPUT( hse_ ),
02590 INPUT(),
02591 GOUTPUT(),
02592 GINPUT(),
02593 KEYWORDS( "pref", "zref", "g0", "niter" ),
02594 TYPES( Numeric_t, Numeric_t, Numeric_t, Index_t )));
02595
02596 md_data.push_back
02597 ( MdRecord
02598 ( NAME("hseSetFromLatitude"),
02599 DESCRIPTION(
02600 "Sets the vector of parameters for calculation of hydrostatic \n"
02601 "equilibrium (*hse*). The on/off flag is set to 1. The gravitational\n"
02602 "acceleration is calculated following the international gravity formula.\n"
02603 "\n"
02604 "Type \"arts -d hse\" for more information. \n"
02605 "\n"
02606 "Keywords \n"
02607 " pref : Pressure of the reference point. \n"
02608 " zref : The geometrical altitude at pref. \n"
02609 " latitude : Geocentric latitude of observation point (-90 to 90 Degree).\n"
02610 " niter : Number of iterations (1-2 should suffice normally)."),
02611 OUTPUT( hse_ ),
02612 INPUT(),
02613 GOUTPUT(),
02614 GINPUT(),
02615 KEYWORDS( "pref", "zref", "latitude", "niter" ),
02616 TYPES( Numeric_t, Numeric_t, Numeric_t, Index_t )));
02617
02618 md_data.push_back
02619 ( MdRecord
02620 ( NAME("hseSetFromLatitudeIndex"),
02621 DESCRIPTION(
02622 "As hseSetFromLatitude, but sets pref, zref to the values given by index \n"
02623 "from vectors p_abs, z_abs (e.g. 0 = ground).\n"
02624 "\n"
02625 "Type \"arts -d hse\" for more information. \n"
02626 "\n"
02627 "Keywords \n"
02628 " latitude : Geocentric latitude of observation point (-90 to 90 Degree).\n"
02629 " index : Reference index within p_abs, z_abs for setting pref, zref.\n"
02630 " niter : Number of iterations (1-2 should suffice normally)."),
02631 OUTPUT( hse_ ),
02632 INPUT(p_abs_, z_abs_ ),
02633 GOUTPUT(),
02634 GINPUT(),
02635 KEYWORDS( "latitude", "index", "niter" ),
02636 TYPES( Numeric_t, Index_t, Index_t )));
02637
02638 md_data.push_back
02639 ( MdRecord
02640 ( NAME("hseFromBottom"),
02641 DESCRIPTION(
02642 "As hseSet but uses the first values of p_abs and z_abs for pref\n"
02643 "and zref, respectively.\n"
02644 "\n"
02645 "Keywords \n"
02646 " g0 : Gravitational acceleration at the geoid surface.\n"
02647 " niter : Number of iterations (1-2 should suffice normally)."),
02648 OUTPUT( hse_ ),
02649 INPUT( p_abs_, z_abs_ ),
02650 GOUTPUT(),
02651 GINPUT(),
02652 KEYWORDS( "g0", "niter" ),
02653 TYPES( Numeric_t, Index_t )));
02654
02655 md_data.push_back
02656 ( MdRecord
02657 ( NAME("hseOff"),
02658 DESCRIPTION(
02659 "Turns off hydrostatic equilibrium. \n"
02660 "\n"
02661 "The on/off flag off *hse* is set to 0 and *hse* is set to be a \n"
02662 "vector of length 1."),
02663 OUTPUT( hse_ ),
02664 INPUT(),
02665 GOUTPUT(),
02666 GINPUT(),
02667 KEYWORDS(),
02668 TYPES()));
02669
02670 md_data.push_back
02671 ( MdRecord
02672 ( NAME("hseCalc"),
02673 DESCRIPTION(
02674 "Ensures that 'z_abs' fulfills hydrostatic equilibrium. \n"
02675 "\n"
02676 "Nothing is done if the on/off flag of *hse* is set to 0. The \n"
02677 "reference point, g at the ground and number of iterations \n"
02678 "are taken from *hse*. \n"
02679 " The given altitudes (*z_abs*) are used as a first guess when \n"
02680 "starting the calculations (to estimate g etc.). The altitude \n"
02681 "variation of the gravitational acceleration is considered. The \n"
02682 "average molecular weight is assumed to be 28.96 at all altitudes.\n"
02683 "The amount of water vapour is taken into account. \n"
02684 " The calculations are repeated according to the number of \n"
02685 "iterations specified. A higher number of iterations \n"
02686 "improves the accuracy, but one iteration should be normally \n"
02687 "enough if *z_abs* already has reasonable values. Two iterations \n"
02688 "should suffice for basically all applications."),
02689 OUTPUT( z_abs_ ),
02690 INPUT( z_abs_, p_abs_, t_abs_, h2o_abs_, r_geoid_, hse_ ),
02691 GOUTPUT(),
02692 GINPUT(),
02693 KEYWORDS(),
02694 TYPES()));
02695
02696
02697
02698
02699
02700 md_data.push_back
02701 ( MdRecord
02702 ( NAME( "absCalc" ),
02703 DESCRIPTION(
02704 "Calculate absorption coefficients. \n"
02705 "\n"
02706 "This function calculates both, the total absorption (*abs*)\n"
02707 "and the absorption per tag group (*abs_per_tg*).\n"
02708 ) ,
02709 OUTPUT(abs_ , abs_per_tg_ ),
02710 INPUT(tgs_, f_mono_, p_abs_, t_abs_, n2_abs_, h2o_abs_, vmrs_,
02711 lines_per_tg_, lineshape_,
02712 cont_description_names_, cont_description_models_,
02713 cont_description_parameters_ ),
02714 GOUTPUT(),
02715 GINPUT(),
02716 KEYWORDS(),
02717 TYPES()));
02718
02719 md_data.push_back
02720 ( MdRecord
02721 ( NAME( "absCalcSaveMemory" ),
02722 DESCRIPTION(
02723 "Calculate absorption coefficients, trying to conserve memory. \n"
02724 "\n"
02725 "This function calculates only the total absorption (*abs*),\n"
02726 "NOT the absorption per tag group (*abs_per_tg*).\n"
02727 "\n"
02728 "This means you cannot use it if you want to calculate Jacobians\n"
02729 "later.\n"
02730 "\n"
02731 "The implementation follows absCalc."
02732 ) ,
02733 OUTPUT(abs_ ),
02734 INPUT(tgs_, f_mono_, p_abs_, t_abs_, n2_abs_, h2o_abs_, vmrs_,
02735 lines_per_tg_, lineshape_,
02736 cont_description_names_, cont_description_models_,
02737 cont_description_parameters_ ),
02738 GOUTPUT(),
02739 GINPUT(),
02740 KEYWORDS(),
02741 TYPES()));
02742
02743 md_data.push_back
02744 ( MdRecord
02745 ( NAME("absCalcFromXsec"),
02746 DESCRIPTION(
02747 "Calculate absorption coefficients from cross sections.\n"
02748 "\n"
02749 "This calculates both the total absorption and the\n"
02750 "absorption per tag group. \n"
02751 "This method calls three other methods:\n"
02752 "1. *xsec_per_tgInit* - initialize *xsec_per_tg* \n"
02753 "2. *xsec_per_tgAddLine* - calculate cross sections per \n"
02754 " tag group for line spectra.\n"
02755 "3. *xsec_per_tgAddConts* - calculate cross sections per \n"
02756 " tag group for continua.\n"
02757 "Then it calculates the absorption coefficient by multiplying\n"
02758 "the cross section by VMR.\n"
02759 "This is done once for each tag group (output: *abs_per_tg*)\n"
02760 "and for the sum of all tag group to get the total absorption\n"
02761 "coefficient (output: *abs*)\n"
02762 ),
02763 OUTPUT( abs_ , abs_per_tg_ ),
02764 INPUT( xsec_per_tg_, vmrs_ ),
02765 GOUTPUT(),
02766 GINPUT(),
02767 KEYWORDS(),
02768 TYPES()));
02769
02770 md_data.push_back
02771 ( MdRecord
02772 ( NAME( "xsec_per_tgInit" ),
02773 DESCRIPTION(
02774 "Initialize *xsec_per_tg*.\n"
02775 "\n"
02776 "The initialization is\n"
02777 "necessary, because methods *xsec_per_tgAddLines*\n"
02778 "and *xsec_per_tgAddConts* just add to *xsec_per_tg*.\n"
02779 "The size is determined from *tgs*.\n"
02780 ),
02781 OUTPUT( xsec_per_tg_ ),
02782 INPUT(tgs_, f_mono_, p_abs_),
02783 GOUTPUT(),
02784 GINPUT(),
02785 KEYWORDS(),
02786 TYPES()));
02787
02788 md_data.push_back
02789 ( MdRecord
02790 ( NAME("xsec_per_tgAddLines"),
02791 DESCRIPTION(
02792 "Calculate cross sections per tag group for line spectra.\n"
02793 ),
02794 OUTPUT( xsec_per_tg_ ),
02795 INPUT( tgs_, f_mono_, p_abs_, t_abs_, h2o_abs_, vmrs_,
02796 lines_per_tg_, lineshape_ ),
02797 GOUTPUT(),
02798 GINPUT(),
02799 KEYWORDS(),
02800 TYPES()));
02801
02802 md_data.push_back
02803 ( MdRecord
02804 ( NAME("xsec_per_tgAddConts"),
02805 DESCRIPTION(
02806 "Calculate cross sections per tag group for continua.\n"
02807 ),
02808 OUTPUT( xsec_per_tg_ ),
02809 INPUT( tgs_, f_mono_, p_abs_, t_abs_, n2_abs_, h2o_abs_, vmrs_,
02810 cont_description_names_, cont_description_parameters_,
02811 cont_description_models_),
02812 GOUTPUT(),
02813 GINPUT(),
02814 KEYWORDS(),
02815 TYPES()));
02816
02817
02818
02819
02820 md_data.push_back
02821 ( MdRecord
02822 ( NAME("abs_per_tgReduce"),
02823 DESCRIPTION(
02824 "Reduces absorption coefficients. Only absorption\n"
02825 "coefficients for which weighting functions are\n"
02826 "calculated are kept in memory.\n"
02827 ),
02828 OUTPUT( abs_per_tg_ ),
02829 INPUT( abs_per_tg_, tgs_, wfs_tgs_ ),
02830 GOUTPUT(),
02831 GINPUT(),
02832 KEYWORDS(),
02833 TYPES()));
02834
02835
02836
02837
02838 md_data.push_back
02839 ( MdRecord
02840 ( NAME("refrSet"),
02841 DESCRIPTION(
02842 "Sets the refraction input arguments (refr, refr_model and \n"
02843 "refr_lfac) to the specified values. \n"
02844 "\n"
02845 "Type \"arts -d refr\" etc. for more information on the input \n"
02846 "arguments. See *refrCalc* for avaliable refraction models.\n"
02847 "\n"
02848 "Keywords:\n"
02849 " on : On/off boolean.\n"
02850 " model : Name on parametization for the refractive index.\n"
02851 " lfac : Length factor for ray tracing." ),
02852 OUTPUT( refr_, refr_lfac_, refr_model_ ),
02853 INPUT(),
02854 GOUTPUT(),
02855 GINPUT(),
02856 KEYWORDS( "on", "model", "lfac" ),
02857 TYPES( Index_t, String_t, Index_t )));
02858
02859 md_data.push_back
02860 ( MdRecord
02861 ( NAME("refrOff"),
02862 DESCRIPTION(
02863 "Sets the refraction boolean (*refr*) to zero and gives the other \n"
02864 "refraction input arguments (*refr_lfac* and *refr_model*) dummy \n"
02865 "values (that will give error messages if used)."),
02866 OUTPUT( refr_, refr_lfac_, refr_model_ ),
02867 INPUT(),
02868 GOUTPUT(),
02869 GINPUT(),
02870 KEYWORDS(),
02871 TYPES()));
02872
02873 md_data.push_back
02874 ( MdRecord
02875 ( NAME("refrCalc"),
02876 DESCRIPTION(
02877 "Calculates the refractive index using the parameterization\n"
02878 "specified by *refr_model*. \n"
02879 "\n"
02880 "If *refr* is set to zero, the refractive index is set to be an \n"
02881 "empty vector. \n"
02882 "\n"
02883 "Existing parameterizations are: \n"
02884 "\n"
02885 " 'Unity': \n"
02886 " Sets the refractive index to 1 at all altitudes. \n"
02887 "\n"
02888 " 'Boudouris': \n"
02889 " Refractive index at microwave frequencies following \n"
02890 " Boudouris 1963. The k-parameter values were taken from \n"
02891 " Section 5.1.1 of the Janssen book. The Z parameters are \n"
02892 " set to 1. \n"
02893 "\n"
02894 " 'BoudourisDryAir': \n"
02895 " As Boudouris but setting the water content to zero. "),
02896 OUTPUT( refr_index_ ),
02897 INPUT( p_abs_, t_abs_, h2o_abs_, refr_, refr_model_ ),
02898 GOUTPUT(),
02899 GINPUT(),
02900 KEYWORDS(),
02901 TYPES()));
02902
02903
02904
02905
02906
02907
02908
02909 md_data.push_back
02910 ( MdRecord
02911 ( NAME("zaFromZtan"),
02912 DESCRIPTION(
02913 "Calculates the zenith angles corresponding to a set of tangent\n"
02914 "altitudes.\n"
02915 "\n"
02916 "Refraction is considered if it is turned on (refr=1)."),
02917 OUTPUT(),
02918 INPUT( z_tan_, z_plat_ , p_abs_, z_abs_, refr_, refr_index_, r_geoid_,
02919 z_ground_ ),
02920 GOUTPUT( Vector_ ),
02921 GINPUT(),
02922 KEYWORDS(),
02923 TYPES()));
02924
02925 md_data.push_back
02926 ( MdRecord
02927 ( NAME( "zaFromDeltat" ),
02928 DESCRIPTION(
02929 "Calculates the zenith angles for a LEO-LEO cross-link.\n"
02930 "\n"
02931 "The function calculates the zenith angles corresponding to a \n"
02932 "LEO-LEO cross-link for an occultation between two altitudes and \n"
02933 "the given time increment. The LEOs are supposed to be moving \n"
02934 "in opposite directions in identical orbits (but not colliding!).\n"
02935 " The time window where the LEOs are interacting is defined by \n"
02936 "a start and stop tangent altitudes.\n"
02937 " The function uses REFR to determine if refraction shall be \n"
02938 "considered or not. \n"
02939 "\n"
02940 "Generic output: \n"
02941 " Vector : Return vector for the zenith angles. The normal \n"
02942 " options are ZA_PENCIL and ZA_SENSOR. \n"
02943 "\n"
02944 "Keywords:\n"
02945 " delta_t : Time increment between observations.\n"
02946 " z_tan_lim : Vector with start and stop tangent altitudes." ),
02947 OUTPUT(),
02948 INPUT( z_plat_ , p_abs_, z_abs_, l_step_, refr_, refr_lfac_,
02949 refr_index_, r_geoid_, z_ground_ ),
02950 GOUTPUT( Vector_ ),
02951 GINPUT(),
02952 KEYWORDS( "delta_t", "z_tan_lim" ),
02953 TYPES( Numeric_t, Vector_t )));
02954
02955 md_data.push_back
02956 ( MdRecord
02957 ( NAME("r_geoidStd"),
02958 DESCRIPTION(
02959 "Sets the geoid radius to the standard Earth radius defined in \n"
02960 "constants.cc."),
02961 OUTPUT( r_geoid_ ),
02962 INPUT(),
02963 GOUTPUT(),
02964 GINPUT(),
02965 KEYWORDS(),
02966 TYPES()));
02967
02968 md_data.push_back
02969 ( MdRecord
02970 ( NAME("r_geoidWGS84"),
02971 DESCRIPTION(
02972 "Sets the geoid radius according to WGS-84. \n"
02973 "\n"
02974 "The function is based on Section 9.4.1 in the Rodgers book. \n"
02975 "The observation direction is given as the angle to the meridian \n" "plane (that is, S=N=0, W=E=90).\n"
02976 "\n"
02977 "Keywords \n"
02978 " latitude : Latitude at the measurement.\n"
02979 " obsdirection : Observation direction (see above)."),
02980 OUTPUT( r_geoid_ ),
02981 INPUT(),
02982 GOUTPUT(),
02983 GINPUT(),
02984 KEYWORDS( "latitude", "obsdirection" ),
02985 TYPES( Numeric_t, Numeric_t )));
02986
02987 md_data.push_back
02988 ( MdRecord
02989 ( NAME("groundOff"),
02990 DESCRIPTION(
02991 "Sets dummy values to the ground variables. \n"
02992 "\n"
02993 "The ground altitude is set to the first element of 'z_abs'.\n"
02994 "The ground temperature (t_ground) is set to 0. \n"
02995 "The ground emission vector (e_ground) is set to be empty.\n"
02996 " If there is a ground intersection and only this function is\n"
02997 "used to set the ground variables, there will be error messages."),
02998 OUTPUT( z_ground_, t_ground_, e_ground_ ),
02999 INPUT( z_abs_ ),
03000 GOUTPUT(),
03001 GINPUT(),
03002 KEYWORDS(),
03003 TYPES()));
03004
03005 md_data.push_back
03006 ( MdRecord
03007 ( NAME("groundSet"),
03008 DESCRIPTION(
03009 "Sets the ground altitude and emission to the specified values,\n"
03010 "and selects a ground temperature.\n"
03011 "\n"
03012 "The emission is set to be identical for all frequencies. \n"
03013 "The ground temperature is obtained by interpolating *t_abs*.\n"
03014 "\n"
03015 "Keywords \n"
03016 " z : Altitude above the geoid of the ground.\n"
03017 " e : Ground emission factor."),
03018 OUTPUT( z_ground_, t_ground_, e_ground_ ),
03019 INPUT( p_abs_, t_abs_, z_abs_, f_mono_ ),
03020 GOUTPUT(),
03021 GINPUT(),
03022 KEYWORDS( "z", "e" ),
03023 TYPES( Numeric_t, Numeric_t )));
03024
03025 md_data.push_back
03026 ( MdRecord
03027 ( NAME("groundAtBottom"),
03028 DESCRIPTION(
03029 "Sets the ground emission to the specified value, and sets ground \n"
03030 "altitude and temperature to the first values of z_abs and t_abs.\n"
03031 "\n"
03032 "The emission is set to be identical for all frequencies. \n"
03033 "\n"
03034 "Keywords \n"
03035 " e : Ground emission factor."),
03036 OUTPUT( z_ground_, t_ground_, e_ground_ ),
03037 INPUT( t_abs_, z_abs_, f_mono_ ),
03038 GOUTPUT(),
03039 GINPUT(),
03040 KEYWORDS( "e" ),
03041 TYPES( Numeric_t )));
03042
03043 md_data.push_back
03044 ( MdRecord
03045 ( NAME("groundFlatSea"),
03046 DESCRIPTION(
03047 "Models the emission from a flat sea. \n"
03048 "\n"
03049 "The method sets the ground variables to match the properties of \n"
03050 "the sea, without wind effects. The emissivity is calculated from\n"
03051 "the dielectric constant by the Fresnel equations.\n"
03052 "\n"
03053 "The altitude is set to 0 m. The skin temperature is set by the\n"
03054 "keyword argument *t_skin*. If this argument is set to be <= 0,\n"
03055 "the temperature is obtained by interpolating *t_abs*. \n"
03056 "\n"
03057 "The incident angle (of reflection) is calculated for max of \n"
03058 "*za_pencil*. Refraction is considered or not, depending on value \n"
03059 "of *refr*. This means that *refrCalc* must be called before this \n"
03060 "method if refraction is considered. The emissivity depends on the\n"
03061 "selected polarisation. The refractive index of air is set to 1.\n"
03062 "\n"
03063 "The relative dielectric constant is calculated following\n"
03064 "Liebe et al. 1991 Int. J. IR+mm Waves 12(12), 659-675. \n"
03065 "The method does not consider salinity and is restricted to the\n"
03066 "range 5 - 1000 GHz (below 5 GHz salinity must be considered).\n"
03067 "\n"
03068 "Keywords \n"
03069 " pol : Polarisation. Calid options are \"v\" or \"h\".\n"
03070 " t_skin : Skin temperature. "),
03071 OUTPUT( z_ground_, t_ground_, e_ground_ ),
03072 INPUT( p_abs_, t_abs_, z_abs_, f_mono_, za_pencil_, z_plat_, r_geoid_,
03073 refr_, refr_index_ ),
03074 GOUTPUT(),
03075 GINPUT(),
03076 KEYWORDS( "pol", "t_skin" ),
03077 TYPES( String_t, Numeric_t )));
03078
03079 md_data.push_back
03080 ( MdRecord
03081 ( NAME("emissionOn"),
03082 DESCRIPTION(
03083 "Turns on emission by setting the emission flag to 1. \n"),
03084 OUTPUT( emission_ ),
03085 INPUT(),
03086 GOUTPUT(),
03087 GINPUT(),
03088 KEYWORDS(),
03089 TYPES()));
03090
03091 md_data.push_back
03092 ( MdRecord
03093 ( NAME("emissionOff"),
03094 DESCRIPTION(
03095 "Turns off emission by setting the emission flag to 0."),
03096 OUTPUT( emission_ ),
03097 INPUT(),
03098 GOUTPUT(),
03099 GINPUT(),
03100 KEYWORDS(),
03101 TYPES()));
03102
03103 md_data.push_back
03104 ( MdRecord
03105 ( NAME("losCalc"),
03106 DESCRIPTION(
03107 "Calculates the line-of-sight (LOS).\n"
03108 "\n"
03109 "See AUG for details about the calculations."),
03110 OUTPUT( los_, z_tan_ ),
03111 INPUT( z_plat_ ,za_pencil_, l_step_, p_abs_, z_abs_,
03112 refr_, refr_lfac_, refr_index_, z_ground_, r_geoid_ ),
03113 GOUTPUT(),
03114 GINPUT(),
03115 KEYWORDS(),
03116 TYPES()));
03117
03118 md_data.push_back
03119 ( MdRecord
03120 ( NAME("sourceCalc"),
03121 DESCRIPTION(
03122 "Calculates source function values valid between the points "
03123 "of the LOS.\n"
03124 "\n"
03125 "No scattering and local thermodynamic equilibrium are assumed,\n"
03126 "that is, the source function equals the Planck function.\n"
03127 "The source function is set to the mean of the Planck function at\n"
03128 "the two LOS points limiting the steps. The temperature at the LOS\n"
03129 "points is obtained by linear interpolation.\n"
03130 " If emission is neglected (emission=0), the WSV source is set \n"
03131 "to be empty."),
03132 OUTPUT( source_ ),
03133 INPUT( emission_, los_, p_abs_, t_abs_, f_mono_ ),
03134 GOUTPUT(),
03135 GINPUT(),
03136 KEYWORDS(),
03137 TYPES()));
03138
03139 md_data.push_back
03140 ( MdRecord
03141 ( NAME("transCalc"),
03142 DESCRIPTION(
03143 "Calculates the transmission between the points of the LOS.\n"
03144 "\n"
03145 "The absorption is assumed to vary linear between the LOS points."
03146 "The absorption at the LOS points is obtained by linear\n"
03147 "interpolation of *abs*."),
03148 OUTPUT( trans_ ),
03149 INPUT( los_, p_abs_, abs_ ),
03150 GOUTPUT(),
03151 GINPUT(),
03152 KEYWORDS(),
03153 TYPES()));
03154
03155 md_data.push_back
03156 ( MdRecord
03157 ( NAME("y_spaceStd"),
03158 DESCRIPTION(
03159 "Standard choices for the radiation entering the atmosphere at\n"
03160 "the top of the atmosphere. \n"
03161 "\n"
03162 "The selections are:\n"
03163 " zero : no radiation\n"
03164 " cbgr : cosmic background radiation (planck for COSMIC_BG_TEMP)\n"
03165 " sun : solar radiation (planck for SUN_TEMP)\n"
03166 "\n"
03167 "COSMIC_BG_TEMP and SUN_TEMP are global variables, defined in\n"
03168 "constants.cc.\n"
03169 "\n"
03170 "Keywords \n"
03171 " choice : Selection String (see above)."),
03172 OUTPUT( y_space_ ),
03173 INPUT( f_mono_ ),
03174 GOUTPUT(),
03175 GINPUT(),
03176 KEYWORDS( "nr" ),
03177 TYPES( String_t )));
03178
03179 md_data.push_back
03180 ( MdRecord
03181 ( NAME("yCalc"),
03182 DESCRIPTION(
03183 "Performs the integration of the radiative transfer equation\n"
03184 "along the LOS, with or without emission.\n"
03185 "\n"
03186 "If emission is considered (emission=1) the outout unit is \n"
03187 "intensity, while without emission (emission=0) optical \n"
03188 "thicknesses are returned. "),
03189 OUTPUT( y_ ),
03190 INPUT( emission_, los_, f_mono_, y_space_, source_, trans_,
03191 e_ground_, t_ground_ ),
03192 GOUTPUT(),
03193 GINPUT(),
03194 KEYWORDS(),
03195 TYPES()));
03196
03197 md_data.push_back
03198 ( MdRecord
03199 ( NAME("sourcetransyCalcSaveMemory"),
03200 DESCRIPTION(
03201 "Combines:\nsourceCalc\ntransCalc\nyCalc\n\n"
03202 "Calculation is performed in frequency chunks thus allowing\n"
03203 "larger jobs to run. This means you cannot use it if you want \n"
03204 "to calculate Jacobians later on. "),
03205 OUTPUT( y_ ),
03206 INPUT( emission_, los_, p_abs_, t_abs_, f_mono_, abs_, y_space_,
03207 e_ground_, t_ground_ ),
03208 GOUTPUT(),
03209 GINPUT(),
03210 KEYWORDS("f_chunksize"),
03211 TYPES(Index_t)));
03212
03213 md_data.push_back
03214 ( MdRecord
03215 ( NAME("CoolingRates"),
03216 DESCRIPTION(
03217 "Calculates cooling rates due to exchange of longwave radiation.\n"
03218 "\n"
03219 "This function applies a straightforward algorith to obtain cooling \n"
03220 "rates. The algorithm is described in AUG. The basic idea is to \n"
03221 "calculate incoming radiation from all directions (by using yCalc), \n"
03222 "instead of follow the vertical flux through the atmosphere as usually \n"
03223 "done. No assumptions on a flat Earth is made.\n"
03224 "\n"
03225 "The atmosphere is described in usual way and absorption shall be pre- \n"
03226 "calculated. Emission is always activated (of course) and *y_space* is \n"
03227 "set to cosmic background radiation by calling *y_spaceStd*. Refraction\n"
03228 "follows corresponding WSV. \n"
03229 "\n"
03230 "The zenith angle grid is set by *Za_pencil*, where the vector must \n"
03231 "start with 0 and end with 180. \n"
03232 "\n"
03233 "The WSV *l_step* is here treated to give the radiative step length for\n"
03234 "the zenith and nadir directions. The step length is scaled by \n"
03235 "abs( 1/cos(za) ), where za is the zenith angle, for other directions. \n"
03236 "The keyword argument *lstep_limit* sets an upper limit for *l_step*. \n"
03237 "For example, for za=90, the expression above gives infinity for \n"
03238 "*l_step*.\n"
03239 "\n"
03240 "The function returns the spectral cooling rate (by *coolrate*).\n"
03241 "\n"
03242 "Keywords \n"
03243 " lstep_limit : Upper limit on l_step for off-zenith/nadir angles."),
03244 OUTPUT( coolrate_ ),
03245 INPUT( l_step_, p_abs_, z_abs_, t_abs_, f_mono_, abs_, za_pencil_,
03246 refr_, refr_lfac_, refr_index_,
03247 r_geoid_, z_ground_, e_ground_, t_ground_, p_coolrate_ ),
03248 GOUTPUT(),
03249 GINPUT(),
03250 KEYWORDS( "lstep_limit" ),
03251 TYPES( Numeric_t)));
03252
03253 md_data.push_back
03254 ( MdRecord
03255 ( NAME("yTB"),
03256 DESCRIPTION(
03257 "Converts a radiance spectrum to Planck brightness temperatures.\n"
03258 "\n"
03259 "The conversion is done by the Planck expression.\n"
03260 " The frequency of each value of *y* is determined by *f_mono* \n"
03261 "and za_pencil."),
03262 OUTPUT( y_ ),
03263 INPUT( y_, f_mono_, za_pencil_ ),
03264 GOUTPUT(),
03265 GINPUT(),
03266 KEYWORDS(),
03267 TYPES()));
03268
03269 md_data.push_back
03270 ( MdRecord
03271 ( NAME("MatrixTB"),
03272 DESCRIPTION(
03273 "Converts a radiance matrix to Planck brightness temperatures.\n"
03274 "\n"
03275 "Applies the function yTB on each column of the matrix. \n"
03276 "\n"
03277 "Generic input: \n"
03278 " Matrix : Any matrix, but typically *ybatch* or a WF matrix.\n"
03279 "\n"
03280 "Generic output: \n"
03281 " Matrix : Any matrix, but typically the same as the input \n"
03282 " matrix."),
03283 OUTPUT(),
03284 INPUT( f_mono_, za_pencil_ ),
03285 GOUTPUT( Matrix_ ),
03286 GINPUT( Matrix_ ),
03287 KEYWORDS(),
03288 TYPES()));
03289
03290 md_data.push_back
03291 ( MdRecord
03292 ( NAME("yTRJ"),
03293 DESCRIPTION(
03294 "Converts a radiance spectrum to Rayleigh-Jean temperatures.\n"
03295 "\n"
03296 "The conversion is done by the Rayleigh-Jean approximation of the\n"
03297 "Planck expression.\n"
03298 " The frequency of each value of *y* is determined by *f_mono* \n"
03299 "and za_pencil."),
03300 OUTPUT( y_ ),
03301 INPUT( y_, f_mono_, za_pencil_ ),
03302 GOUTPUT(),
03303 GINPUT(),
03304 KEYWORDS(),
03305 TYPES()));
03306
03307 md_data.push_back
03308 ( MdRecord
03309 ( NAME("MatrixTRJ"),
03310 DESCRIPTION(
03311 "Converts a radiance matrix to Rayleigh-Jean temperatures.\n"
03312 "\n"
03313 "Applies the function yTRJ on each column of the matrix. \n"
03314 "\n"
03315 "Generic input: \n"
03316 " Matrix : Any matrix, but typically *ybatch* or a WF matrix.\n"
03317 "\n"
03318 "Generic output: \n"
03319 " Matrix : Any matrix, but typically the same as the input \n"
03320 " matrix."),
03321 OUTPUT(),
03322 INPUT( f_mono_, za_pencil_ ),
03323 GOUTPUT( Matrix_ ),
03324 GINPUT( Matrix_ ),
03325 KEYWORDS(),
03326 TYPES()));
03327
03328
03329
03330
03331
03332
03333
03334 md_data.push_back
03335 ( MdRecord
03336 ( NAME("wfs_tgsDefine"),
03337 DESCRIPTION(
03338 "Set up the list of tag groups for which weighting functions will \n"
03339 "be calculated. \n"
03340 "\n"
03341 "The *wfs_tgs* are specified exactly as *tgs* (see tgsDefine). \n"
03342 "The selected tag groups must be a subgroup of the absorption \n"
03343 "tags (*tgs*). \n"
03344 " See the functions abs_per_tgReduce and kSpecies for some more \n"
03345 "information around *wfs_tgs*. \n"
03346 "\n"
03347 "Keywords \n"
03348 " wfs_tgs : String with tag groups."),
03349 OUTPUT( wfs_tgs_ ),
03350 INPUT(),
03351 GOUTPUT(),
03352 GINPUT(),
03353 KEYWORDS( "wfs_tgs" ),
03354 TYPES( Array_String_t )));
03355
03356 md_data.push_back
03357 ( MdRecord
03358 ( NAME("wfss_tgsDefine"),
03359 DESCRIPTION(
03360 "Set up the list of tag groups for which weighting functions will \n"
03361 "be calculated. \n"
03362 "\n"
03363 "The *wfs_tgs* are specified exactly as *tgs* (see tgsDefine). \n"
03364 "The selected tag groups must be a subgroup of the absorption \n"
03365 "tags (*tgs*). \n"
03366 " See the functions abs_per_tgReduce and kSpecies for some more \n"
03367 "information around *wfs_tgs*. \n"
03368 "\n"
03369 "Keywords \n"
03370 " wfss_tgs : String with tag groups."),
03371 OUTPUT( wfss_tgs_ ),
03372 INPUT(),
03373 GOUTPUT(),
03374 GINPUT(),
03375 KEYWORDS( "wfss_tgs" ),
03376 TYPES( Array_String_t )));
03377
03378 md_data.push_back
03379 ( MdRecord
03380 ( NAME("absloswfsCalc"),
03381 DESCRIPTION(
03382 "Calculates absorption line of sight weighting functions (LOS WFs)\n"
03383 "\n"
03384 "These WFs are the derivative of the spectra with respect to the \n"
03385 "absorption at the LOS points. See AUG for more detailed \n"
03386 "definition and details about the calculations."),
03387 OUTPUT( absloswfs_ ),
03388 INPUT( emission_, los_, source_, trans_, y_, y_space_, f_mono_,
03389 e_ground_, t_ground_ ),
03390 GOUTPUT(),
03391 GINPUT(),
03392 KEYWORDS(),
03393 TYPES()));
03394
03395 md_data.push_back
03396 ( MdRecord
03397 ( NAME("kSpecies"),
03398 DESCRIPTION(
03399 "Calculates species weighting functions (WFs) for all *wfs_tgs*.\n"
03400 "\n"
03401 "This function is the simplest option if a single retrieval grid \n"
03402 "and a single retrieval unit are used for all species. If this is \n"
03403 "not the case, the function kSpeciesSingle must be used.\n"
03404 " The WFs are calculated by (semi-)analytical expressions, where\n"
03405 "it is assumed that there is a linear relationship between the \n"
03406 "amount of the species and the absorption, and that the LOS is not\n"
03407 "affected by changes of the species. These assumtions should be\n"
03408 "valid generally for observations above the tropopause (as long \n"
03409 "LTE applies), but is not true for tropospheric water vapor. \n"
03410 "See AUG for details about the calculations. \n"
03411 " The WFs for the different tag groups in *wfs_tgs* are appended\n"
03412 "to form a single matrix. The absorption array (*abs_per_tg*) must\n"
03413 "have been reduced to match *wfs_tags* (by using the function \n"
03414 "abs_per_tgReduce). The unit of the returned WFs are described \n"
03415 "below.\n"
03416 "\n"
03417 "The avaliable units are\n"
03418 " frac : fractions of linearisation profile \n"
03419 " vmr : volume mixing ratio \n"
03420 " nd : number density\n"
03421 "\n"
03422 "Keywords \n"
03423 " unit : Retrieval unit string (see above)."),
03424 OUTPUT( k_, k_names_, k_aux_ ),
03425 INPUT( los_, absloswfs_, p_abs_, t_abs_, wfs_tgs_, abs_per_tg_,
03426 vmrs_, k_grid_ ),
03427 GOUTPUT(),
03428 GINPUT(),
03429 KEYWORDS( "unit" ),
03430 TYPES( String_t )));
03431
03432 md_data.push_back
03433 ( MdRecord
03434 ( NAME("kSpeciesSingle"),
03435 DESCRIPTION(
03436 "Calculates species weighting functions (WFs) for a single tag \n"
03437 "group.\n"
03438 "\n"
03439 "The tag group is selected by the giving the full name. This \n"
03440 "string must match exactly the string in *wfs_tgs* (and then the \n"
03441 "string in *tgs*). Otherwise as the function kSpecies (this \n"
03442 "including units). \n"
03443 "\n"
03444 "Keywords \n"
03445 " tg : Tag group string.\n"
03446 " unit : Retrieval unit string (see kSpecies)."),
03447 OUTPUT( k_, k_names_, k_aux_ ),
03448 INPUT( los_, absloswfs_, p_abs_, t_abs_, wfs_tgs_, abs_per_tg_,
03449 vmrs_, k_grid_ ),
03450 GOUTPUT(),
03451 GINPUT(),
03452 KEYWORDS( "tg", "unit" ),
03453 TYPES( String_t, String_t )));
03454
03455 md_data.push_back
03456 ( MdRecord
03457 ( NAME("kContAbs"),
03458 DESCRIPTION(
03459 "Calculates weighting functions (WFs) for polynomial fit of \n"
03460 "continuum absorption. \n"
03461 "\n"
03462 "The continuum is fitted by determining an off-set at a number of \n"
03463 "points (order+1) that are evenly spread between the lowest and \n"
03464 "upper frequency limit. See AUG for more details.\n"
03465 " If the limits are set to be negative, *f_low* is set to the \n"
03466 "first value of *f_mono*, and *f_high* to the last value of \n"
03467 "*f_mono*. The frequency limits cannot be outside the range of \n"
03468 "*f_mono*. \n"
03469 " The WFs can be calculated for different length units, selected\n"
03470 "by the keyword *l_unit*. For example, if *l_unit* is set to \n"
03471 "\"km\", the WFs corresponds to an absorpion with unit [1/km]. \n"
03472 " The WFs for each frequency point are kept together, and the \n"
03473 "WF matrix for the different frequency points are appended. \n"
03474 "\n"
03475 "Keywords \n"
03476 " order : Polynomial order (>=0). \n"
03477 " f_low : Frequency of first fit point. \n"
03478 " f_high : Frequency of last fit point. \n"
03479 " l_unit : Length unit. Avaliable units are \"m\" and \"km\"." ),
03480 OUTPUT( k_, k_names_, k_aux_ ),
03481 INPUT( los_, absloswfs_, f_mono_, k_grid_ ),
03482 GOUTPUT(),
03483 GINPUT(),
03484 KEYWORDS( "order", "f_low", "f_high", "l_unit" ),
03485 TYPES( Index_t, Numeric_t, Numeric_t, String_t )));
03486
03487 md_data.push_back
03488 ( MdRecord
03489 ( NAME("kTemp"),
03490 DESCRIPTION(
03491 "Calculates temperature weighting functions (WFs).\n"
03492 "\n"
03493 "The calculations can be performed both with and without \n"
03494 "hydrostatic equilibrium (HSE). \n"
03495 " If HSE is not considered (hse=0), the WFs are obtained by \n"
03496 "semi-analytical expressions and the calculations are relatively \n"
03497 "fast. See AUG for details. \n"
03498 " If HSE is considered (hse=1), perturbation calculations are \n"
03499 "done. If the keyword *fast* is set to 0, the absorption is re-\n"
03500 "calculated for each temperature disturbance and the calculations\n"
03501 "are slow. With fast=1, it is assumed that the absorption is \n"
03502 "linear with temparature between the present state and 1K higher \n"
03503 "temperature, and the new absorption is calculated once, that \n"
03504 "decreases the total calculation time considerbly. The accuracy of\n"
03505 "the latter option should suffice normally. \n"
03506 " Note that the keyword *hse* here is not the workspace variable\n"
03507 "*hse*. If the keyword *hse* is set to 1, a constraint is that \n"
03508 "HSE is considered generally, that is, that the do-field of the \n"
03509 "variable 'hse* is turned on. The data to calculate assure HSE is\n"
03510 "of course taken from the workspace variable *hse*. \n"
03511 " The fast keyword has no importance if the keyword hse is set \n"
03512 "to 0. \n"
03513 "\n"
03514 "Keywords \n"
03515 " hse : Flag for hydrostatic eq. 0=no HSE, 1=HSE. \n"
03516 " fast : Flag to perform fast calculations with hse=1. " ),
03517 OUTPUT( k_, k_names_, k_aux_ ),
03518 INPUT( tgs_, f_mono_, p_abs_, t_abs_, n2_abs_, h2o_abs_, vmrs_, abs_,
03519 lines_per_tg_, lineshape_, e_ground_, emission_, k_grid_,
03520 cont_description_names_, cont_description_parameters_,
03521 cont_description_models_, los_, absloswfs_, trans_,
03522 z_plat_ ,za_pencil_, l_step_, z_abs_, refr_, refr_lfac_, refr_index_,
03523 refr_model_, z_ground_, t_ground_, y_space_, r_geoid_, hse_ ),
03524 GOUTPUT(),
03525 GINPUT(),
03526 KEYWORDS( "hse", "fast" ),
03527 TYPES( Index_t, Index_t )));
03528
03529 md_data.push_back
03530 ( MdRecord
03531 ( NAME("kSpectro"),
03532 DESCRIPTION(
03533 "Calculates the spectroscopic parameters weighting functions (WFs).\n"
03534 "\n"
03535 "The calculation can be performed for the intensity, line position, pressure \n"
03536 "broadening parameters and pressure shift.\n"
03537 "For each parameter a do flag has to be specified.\n"
03538 "\n"
03539 "Keywords \n"
03540 "do_intens: Flag for calculating the weighting function for"
03541 "the intensity do_intens=1. \n"
03542 "do_position: flag for line possition. \n"
03543 "do_agam: flag for agam. \n"
03544 "do_sgam: flag for sgam. \n"
03545 "do_nair: flag for temperature dependence of agam. \n"
03546 "do_nself: flag for temperature dependence of sgam. \n"
03547 "do_pSift: flag for pressure shift .\n" ),
03548
03549 OUTPUT(k_, k_names_, k_aux_ , S_S_),
03550 INPUT( wfss_tgs_, tgs_, f_mono_, p_abs_, t_abs_, z_abs_, h2o_abs_, vmrs_,
03551 lines_per_tg_, lineshape_, los_, absloswfs_),
03552 GOUTPUT(),
03553 GINPUT(),
03554 KEYWORDS("do_intens", "do_position", "do_agam",
03555 "do_sgam", "do_nair", "do_nself", "do_pSift"),
03556 TYPES( Index_t, Index_t, Index_t, Index_t, Index_t, Index_t, Index_t)));
03557
03558 md_data.push_back
03559 ( MdRecord
03560 ( NAME("kFrequencyOffSet"),
03561 DESCRIPTION(
03562 "Calculates the weighting function (WF) for a frequency off-set.\n"
03563 "\n"
03564 "The Wf is simply the difference between *y* and the spectrum \n"
03565 "obtained when adding *delta* to *f_mono*, diveded by *delta*.\n"
03566 "That is, a pure perturbation calculation is performed. \n"
03567 "\n"
03568 " The WF can be calculated for different frequency units,\n"
03569 "selected by the keyword *f_unit*.\n"
03570 "\n"
03571 "Keywords \n"
03572 " delta : Size of frequency perturbation (in units of *l_unit*).\n"
03573 " l_unit : Frequency unit. Avaliable units are \"Hz\", \"kHz\"\n"
03574 " \"MHz\"." ),
03575 OUTPUT( k_, k_names_, k_aux_ ),
03576 INPUT( tgs_, f_mono_, p_abs_, t_abs_, n2_abs_, h2o_abs_, vmrs_,
03577 lines_per_tg_, lineshape_, e_ground_, emission_,
03578 cont_description_names_, cont_description_parameters_,
03579 cont_description_models_, los_, t_ground_, y_space_, y_ ),
03580 GOUTPUT(),
03581 GINPUT(),
03582 KEYWORDS( "delta", "f_unit" ),
03583 TYPES( Numeric_t, String_t )));
03584
03585 md_data.push_back
03586 ( MdRecord
03587 ( NAME("kPointingOffSet"),
03588 DESCRIPTION(
03589 "Calculates the WF for a pointing off-set.\n"
03590 "\n"
03591 "The Wf is simply the difference between *y* and the spectrum \n"
03592 "obtained when adding *delta* to *za_pencil*, diveded by *delta*.\n"
03593 "That is, a pure perturbation calculation is performed. \n"
03594 "\n"
03595 "Keywords \n"
03596 " delta : Size of zenith angle perturbation."),
03597 OUTPUT( k_, k_names_, k_aux_ ),
03598 INPUT( z_plat_, za_pencil_, l_step_, p_abs_, z_abs_, t_abs_, f_mono_,
03599 refr_, refr_lfac_, refr_index_, z_ground_, r_geoid_,
03600 abs_, emission_, y_space_, e_ground_, t_ground_, y_ ),
03601 GOUTPUT(),
03602 GINPUT(),
03603 KEYWORDS( "delta" ),
03604 TYPES( Numeric_t )));
03605
03606 md_data.push_back
03607 ( MdRecord
03608 ( NAME( "kEground" ),
03609 DESCRIPTION(
03610 "Calculates the WF(s) for ground emission coefficent(s).\n"
03611 "\n"
03612 "The ground emission WF(s) are calculated by semi-analytical\n"
03613 "expressions (see AUG). With single_e=0, a WF is returned for \n"
03614 "the emission coefficient of each monochromatic frequency. \n"
03615 "On the other hand, when single_e=1, the ground emission is \n"
03616 "treated as a single varaible (that is, no frequency dependency) \n"
03617 "and there is only a single WF to be calculated. The latter \n"
03618 "option requieres that all elements of E_GROUND are set to the \n"
03619 "same value. \n"
03620 "\n"
03621 "Keywords:\n"
03622 " single_e : Boolean to treat the ground emission as a single\n"
03623 " variable. See further above." ),
03624 OUTPUT( k_, k_names_, k_aux_ ),
03625 INPUT( za_pencil_, f_mono_, emission_, y_space_, e_ground_, t_ground_,
03626 los_, source_, trans_ ),
03627 GOUTPUT(),
03628 GINPUT(),
03629 KEYWORDS( "single_e" ),
03630 TYPES( Index_t )));
03631
03632 md_data.push_back
03633 ( MdRecord
03634 ( NAME("kCalibration"),
03635 DESCRIPTION(
03636 "Calculates the WF for a proportional calibration error. \n"
03637 "\n"
03638 "The WF is simply : k = y - y0 where y0 is the specified \n"
03639 "vector. The y0-vector shhould typically be the radiance (or TB) \n"
03640 "of the load used for load switching. For example: \n"
03641 " VectorPlanck(y0,f_mono){temp=2.7} \n"
03642 " kCalibration(y0){} \n"
03643 "\n"
03644 "Generic input: \n"
03645 " Vector : A vector with spectrum for calibration reference \n"
03646 " point. This vector should typically be *y0*. "),
03647 OUTPUT( k_, k_names_, k_aux_ ),
03648 INPUT( y_, f_mono_ ),
03649 GOUTPUT(),
03650 GINPUT( Vector_ ),
03651 KEYWORDS(),
03652 TYPES()));
03653
03654 md_data.push_back
03655 ( MdRecord
03656 ( NAME("kManual"),
03657 DESCRIPTION(
03658 "Calculates a weighting function using y and y0.\n"
03659 "\n"
03660 "The weighting function is calculated as: k = (y-y0)/delta\n"
03661 "That is, delta is the magnitude of the perturbation done.\n"
03662 "\n"
03663 "Keywords \n"
03664 " name : Name on retrieval/error identity.\n"
03665 " delta : Magnitude of perturbation.\n"
03666 " grid : Grid point value.\n"
03667 " apriori : A priori value."),
03668 OUTPUT( k_, k_names_, k_aux_ ),
03669 INPUT( y0_, y_ ),
03670 GOUTPUT(),
03671 GINPUT(),
03672 KEYWORDS( "name", "delta", "grid", "apriori" ),
03673 TYPES( String_t, Numeric_t, Numeric_t, Numeric_t )));
03674
03675 md_data.push_back
03676 ( MdRecord
03677 ( NAME("kxInit"),
03678 DESCRIPTION(
03679 "Initializes Kx weighting function matrix and help variables\n"
03680 "(kx_names, kx_lengths and kx_aux).\n"
03681 "\n"
03682 "Use this function before the WF calculations are started and\n"
03683 "together with kxAppend."),
03684 OUTPUT( kx_, kx_names_, kx_lengths_, kx_aux_ ),
03685 INPUT(),
03686 GOUTPUT(),
03687 GINPUT(),
03688 KEYWORDS(),
03689 TYPES()));
03690
03691 md_data.push_back
03692 ( MdRecord
03693 ( NAME("kbInit"),
03694 DESCRIPTION(
03695 "Initializes Kb weighting function matrix and help variables\n"
03696 "(kb_names, kb_lengths and kb_aux).\n"
03697 "\n"
03698 "Use this function before the WF calculations are started and\n"
03699 "together with kbAppend."),
03700 OUTPUT( kb_, kb_names_, kb_lengths_, kb_aux_ ),
03701 INPUT(),
03702 GOUTPUT(),
03703 GINPUT(),
03704 KEYWORDS(),
03705 TYPES()));
03706
03707 md_data.push_back
03708 ( MdRecord
03709 ( NAME("kxAppend"),
03710 DESCRIPTION(
03711 "Appends the K matrix to Kx and handles additional data\n"
03712 "correspondingly. \n"
03713 "\n"
03714 "All the data are reallocated to make space for the new data.\n"
03715 "This function is accordingly slow for large data sizes,\n"
03716 "and it can be better to use kxAllocate and kxPutInK."),
03717 OUTPUT( kx_, kx_names_, kx_lengths_, kx_aux_ ),
03718 INPUT( kx_, kx_names_, kx_lengths_, kx_aux_, k_, k_names_, k_aux_ ),
03719 GOUTPUT(),
03720 GINPUT(),
03721 KEYWORDS(),
03722 TYPES()));
03723
03724 md_data.push_back
03725 ( MdRecord
03726 ( NAME("kbAppend"),
03727 DESCRIPTION(
03728 "Appends the K matrix to Kb and handles additional data\n"
03729 "correspondingly. \n"
03730 "\n"
03731 "All the data are reallocated to make space for the new data.\n"
03732 "This function is accordingly slow for large data sizes,\n"
03733 "and it can be better to use kbAllocate and kbPutInK."),
03734 OUTPUT( kb_, kb_names_, kb_lengths_, kb_aux_ ),
03735 INPUT( kb_, kb_names_, kb_lengths_, kb_aux_, k_, k_names_, k_aux_ ),
03736 GOUTPUT(),
03737 GINPUT(),
03738 KEYWORDS(),
03739 TYPES()));
03740
03741 md_data.push_back
03742 ( MdRecord
03743 ( NAME("kxAllocate"),
03744 DESCRIPTION(
03745 "Allocates memory for kx and help variables (kx_names, kx_lengths \n"
03746 "and kx_aux).\n"
03747 "\n"
03748 "The total number of frequencies is taken from the length \n"
03749 "of the given vector (typically y).\n"
03750 " Use this function before the WF calculations are started and\n"
03751 "together with kxPutInK.\n"
03752 "\n"
03753 "Generic input: \n"
03754 " Vector : A vector with same length as the appended spectra.\n"
03755 " The typical choice is *y*.\n"
03756 "\n"
03757 "Keywords \n"
03758 " ni : Number of retrieval identities (species profiles,\n"
03759 " pointing off-set etc.).\n"
03760 " nx : Final length of x."),
03761 OUTPUT( kx_, kx_names_, kx_lengths_, kx_aux_ ),
03762 INPUT(),
03763 GOUTPUT(),
03764 GINPUT( Vector_ ),
03765 KEYWORDS( "ni", "nx" ),
03766 TYPES( Index_t, Index_t )));
03767
03768 md_data.push_back
03769 ( MdRecord
03770 ( NAME("kbAllocate"),
03771 DESCRIPTION(
03772 "Allocates memory for kx and help variables (kb_names, kb_lengths \n"
03773 "and kb_aux). \n"
03774 "\n"
03775 "The total number of frequencies is taken from the length \n"
03776 "of the given vector (typically y).\n"
03777 " Use this function before the WF calculations are started and\n"
03778 "together with kbPutInK.\n"
03779 "\n"
03780 "Generic input: \n"
03781 " Vector : A vector with same length as the appended spectra.\n"
03782 " The typical choice is *y*.\n"
03783 "\n"
03784 "Keywords \n"
03785 " ni : Number of retrieval identities (species profiles,\n"
03786 " pointing off-set etc.).\n"
03787 " nb : Final length of b."),
03788 OUTPUT( kb_, kb_names_, kb_lengths_, kb_aux_ ),
03789 INPUT(),
03790 GOUTPUT(),
03791 GINPUT( Vector_ ),
03792 KEYWORDS( "ni", "nb" ),
03793 TYPES( Index_t, Index_t )));
03794
03795 md_data.push_back
03796 ( MdRecord
03797 ( NAME("kxPutInK"),
03798 DESCRIPTION(
03799 "Puts K in Kx and handles additional data correspondingly.\n"
03800 "\n"
03801 "K is placed in the first free columns of Kx.\n"
03802 " No reallocation is performed (in contrast to kxAppend) and an\n"
03803 "error message is given if k does not fit into kx. The kx-data are\n"
03804 "allocated by the function kxAllocate."),
03805 OUTPUT( kx_, kx_names_, kx_lengths_, kx_aux_ ),
03806 INPUT( kx_, kx_names_, kx_lengths_, kx_aux_, k_, k_names_, k_aux_ ),
03807 GOUTPUT(),
03808 GINPUT(),
03809 KEYWORDS(),
03810 TYPES()));
03811
03812 md_data.push_back
03813 ( MdRecord
03814 ( NAME("kbPutInK"),
03815 DESCRIPTION(
03816 "Puts K in Kb and handles additional data correspondingly.\n"
03817 "\n"
03818 "K is placed in the first free columns of Kb.\n"
03819 " No reallocation is performed (in contrast to kbAppend) and an\n"
03820 "error message is given if k does not fit into kb. The kb-data are\n"
03821 "allocated by the function kbAllocate."),
03822 OUTPUT( kb_, kb_names_, kb_lengths_, kb_aux_ ),
03823 INPUT( kb_, kb_names_, kb_lengths_, kb_aux_, k_, k_names_, k_aux_ ),
03824 GOUTPUT(),
03825 GINPUT(),
03826 KEYWORDS(),
03827 TYPES()));
03828
03829
03830
03831
03832
03833
03834
03835 md_data.push_back
03836 ( MdRecord
03837 ( NAME("ybatchCalc"),
03838 DESCRIPTION(
03839 "Calculates a batch of spectra from a set of profiles and\n"
03840 "frequency and viewing angle grids.\n"
03841 "The following workspace methods are used:\n"
03842 " absCalc \n"
03843 " losCalc \n"
03844 " sourceCalc \n"
03845 " transCalc \n"
03846 " yCalc \n"
03847 "and all the workspace variables needed by these functions must be\n"
03848 "set before starting this method.\n"
03849 "The refractive index is kept constant for all spectra.\n"
03850 "The values of the workspace variables are used as defaults when\n"
03851 "appropiate. For example, if temperature profiles are not read\n"
03852 "from a file (do_t=0), then the values of t_abs are used for all\n"
03853 "spectra.\n"
03854 "All input files shall be readable by MatrixReadBinary.\n"
03855 "The profiles and grids are stored as columns in the file matrix.\n"
03856 "When a filename is empty (""), filenames are created as:\n"
03857 " batchname.XXX.ab \n"
03858 "where XXX is\n"
03859 " t_abs : For temperature profiles.\n"
03860 " z_abs : For vertical altitude grids.\n"
03861 " f_mono : For frequency grids.\n"
03862 " za_pencil : For zenith angle grids.\n"
03863 "For species XXX is the molecule name, e.g. H2O and O3.\n"
03864 "If a filename is given, batchname is ignored.\n"
03865 "When a flag is 0, the corresponding filename is of no importance.\n"
03866 "The length of profiles (t, z and species) must match p_abs (no\n"
03867 "interpolation is performed).\n"
03868 "\n"
03869 "Keywords \n"
03870 " ncalc : The number of spectra to calculate. The files can\n"
03871 " contain data for more spectra (but not less).\n"
03872 " do_t : Temperature flag (0/1).\n"
03873 " t_file : Filename for temperature data.\n"
03874 " do_z : Vertical altitude flag (0/1).\n"
03875 " z_file : Filename for vertical grid data.\n"
03876 " do_f : Frequency flag (0/1).\n"
03877 " f_file : Filename for frequency data.\n"
03878 " do_za : Zenith angle flag (0/1).\n"
03879 " za_file : Filename for zenith angle data.\n"
03880 " do_tags : This String array gives the tags for which profiles\n"
03881 " shall be read from a file, e.g. [\"H2O\",\"O3\"].\n"
03882 " These tags must match some tag in tags.\n"
03883 " tag_files : Filenames for species data."),
03884 OUTPUT( ybatch_ ),
03885 INPUT(
03886 f_mono_, p_abs_, t_abs_, n2_abs_, h2o_abs_, vmrs_,
03887 lines_per_tg_, lineshape_,
03888
03889 z_abs_, z_plat_ ,za_pencil_, l_step_, refr_,
03890 refr_lfac_, refr_index_, z_ground_, r_geoid_,
03891
03892 emission_, y_space_, e_ground_, t_ground_,
03893
03894 batchname_, tgs_, cont_description_names_, cont_description_parameters_,
03895 cont_description_models_),
03896 GOUTPUT(),
03897 GINPUT(),
03898 KEYWORDS("ncalc", "do_t", "t_file", "do_z", "z_file",
03899 "do_tags", "tag_files",
03900 "do_f", "f_file", "do_za", "za_file"),
03901 TYPES( Index_t, Index_t, String_t, Index_t, String_t,
03902 Array_String_t, Array_String_t,
03903 Index_t, String_t, Index_t, String_t )));
03904
03905
03906 md_data.push_back
03907 ( MdRecord
03908 ( NAME("ybatchFromRadiosonde"),
03909 DESCRIPTION
03910 ("Calculate spectra for a batch of radiosonde data."
03911 "\n"
03912 " We set the oxygen and nitrogen VMR to constant values of 0.209 and\n"
03913 "0.782, respectively. Some other methods are called implicitly by this\n"
03914 "method. Specifically:\n"
03915 "- absCalc\n"
03916 "- refrCalc\n"
03917 "- losCalc\n"
03918 "- sourceCalc\n"
03919 "- transCalc\n"
03920 "- yCalc\n"
03921 "\n"
03922 "Keywords: \n"
03923 "\n"
03924 " finegrid : Flag for a fine *p_abs* grid, 0 = Radiosonde levels, 1 = finer grid. \n"
03925 "\n"
03926 "If the keyword finegrid is set to 0 (finegrid = 0),\n"
03927 "absorption coeff. are calculated on the same grid as in the radiosonde launch.\n"
03928 "It does not check whether the launch has reached up to a certain height. \n"
03929 "\n"
03930 "If finegrid = 1, the absorption is calculated on a very fine grid (about 15 m)\n"
03931 "which is finer than the high resolution radiosonde levels (about 60 m). In this\n"
03932 "case *p_abs* grid is only up to 100 hPa so that we assume there is no atmosphere\n"
03933 "above this pressure level. The RT calculation is not done for any profile which\n"
03934 "do not fly up to 100 hPa. In this case we put -1 as the Tbs for all the frequencies.\n"
03935 "Planck brightness temperature is calculated for all the launches those reach 100 hPa.\n"
03936 "Note that *l_step* which is given by the user in the control file should be less than\n"
03937 "15 m, may be 5 m.\n"
03938 "\n"
03939 " interp_rh : Flag for interpolation of H2O profile in RH\n"
03940 " 0 = Normal ARTS interpolation in VMRs\n"
03941 " 1 = Interpolation in RH.\n"
03942 "\n"
03943 " za_per_profile : Flag for giving separate za_pencils for each profile\n"
03944 "\n"
03945 " 0 = As before, za_pencil(s) will be same for all profiles\n"
03946 " 1 = separate za_pencil for each profile\n"
03947 "If this keyword is set to 1, please make sure that the number of elements\n"
03948 "in the za_pencil and the number of radiosonde profiles are the same. The\n"
03949 "function now assumes that first element of the za_pencil is for the first\n"
03950 "radiosonde profile and the second element of the za_pencil is for the second\n"
03951 "radiosonde profile and so on.\n"
03952 "\n"
03953 " e_ground_per_profile : Flag for giving separate e_ground for each profile\n"
03954 "\n"
03955 "This assumes that same emissivity is used for all the given frequencies.\n"
03956 "\n"
03957 "calc_abs: Flag for storing the absorption coefficients.\n"
03958 "\n"
03959 "calc_abs: Flag for calculating Jacobian(only for H2O).\n"),
03960 OUTPUT( ybatch_, absbatch_, jacbatch_ ),
03961 INPUT(
03962 radiosonde_data_, f_mono_, lines_per_tg_, lineshape_,
03963
03964 z_plat_ ,za_pencil_, l_step_, refr_, refr_model_,
03965 refr_lfac_, r_geoid_,
03966
03967 emission_, y_space_, e_ground_,
03968
03969 tgs_,
03970 cont_description_names_,
03971 cont_description_models_,
03972 cont_description_parameters_ ),
03973 GOUTPUT(),
03974 GINPUT(),
03975 KEYWORDS("finegrid", "interp_rh", "za_per_profile", "e_ground_per_profile", "calc_abs", "calc_jac"),
03976 TYPES( Index_t, Index_t, Index_t, Index_t, Index_t, Index_t )));
03977
03978 md_data.push_back
03979 ( MdRecord
03980 ( NAME("ybatchFromRadiosondeGlobal"),
03981 DESCRIPTION
03982 ("Calculate spectra for a batch of Global radiosonde data."
03983 "\n"
03984 "This method is almost similar to #ybatchFromRadiosonde#. Since the pressure \n"
03985 "grid in the global radiosonde data is coarse it is to be interpolated in a \n"
03986 "fine grid.\n"
03987 "\n"
03988 " We set the oxygen and nitrogen VMR to constant values of 0.209 and\n"
03989 "0.782, respectively. Some other methods are called implicitly by this\n"
03990 "method. Specifically:\n"
03991 "- absCalc\n"
03992 "- refrCalc\n"
03993 "- losCalc\n"
03994 "- sourceCalc\n"
03995 "- transCalc\n"
03996 "- yCalc"),
03997 OUTPUT( ybatch_ ),
03998 INPUT(
03999 radiosonde_data_, f_mono_, lines_per_tg_, lineshape_,
04000
04001 z_plat_ ,za_pencil_, l_step_, refr_, refr_model_,
04002 refr_lfac_, r_geoid_,
04003
04004 emission_, y_space_, e_ground_,
04005
04006 tgs_,
04007 cont_description_names_,
04008 cont_description_models_,
04009 cont_description_parameters_ ),
04010 GOUTPUT(),
04011 GINPUT(),
04012 KEYWORDS(),
04013 TYPES( )));
04014
04015
04016
04017
04018
04019 md_data.push_back
04020 ( MdRecord
04021 ( NAME("MethodListDefine"),
04022 DESCRIPTION
04023 ( "Set up a method list.\n"
04024 "\n"
04025 "A method list just contains indices (in md_data) of methods\n"
04026 "intended for sequential execution. Only methods without keyword\n"
04027 "arguments are allowed. It is the task of this method to\n"
04028 "set this up. For example, it must be checked, whether the given\n"
04029 "names really correspond to methods.\n"
04030 "\n"
04031 "Generic Output:\n"
04032 " ArrayOfIndex : The newly generated method list.\n"
04033 "\n"
04034 "Keywords:\n"
04035 " methods : An array of names of methods." ),
04036 OUTPUT( ),
04037 INPUT( ),
04038 GOUTPUT( ArrayOfIndex_ ),
04039 GINPUT(),
04040 KEYWORDS( "methods" ),
04041 TYPES( Array_String_t )));
04042
04043 }
04044