#include "arts.h"
#include "token.h"
#include "array.h"
#include "file.h"
#include "auto_wsv.h"
#include "methods.h"
#include "wsv_aux.h"
Go to the source code of this file.
Functions | |
void | align (ofstream &ofs, bool &is_first_parameter, const String &indent) |
int | main () |
The file auto_md.h declares the enum type MdHandle that is used to access the method data, so it has to be made sure that the two are allways consistent.
A second file is produced: auto_md.cc. This contains the `get-away' functions that provided the interface between the engine and the workspace methods. The get-functions all have the same arguments:
Their names all have the extension _g
Pointers to the get-away functions are stored in the array `getaway'.
Each get-away function simply contains a function call to the matching workspace method. The parameters are arranged similar to the follwing example:
void SomeMethod(owsv1,iwsv1,iwsv2,iwsv3,c1,c2,c3,...)
First come the output workspace variables, then the input workspace variables, and then the control parameters. There can be an arbitrary number of parameters of each type, but the most usual case is to have only one output workspace variable.
The same variable may be both in the list of input and in the list of output workspace variables. This case makes good sense, actually, if you think for example of a method that adds an offset to the absorption coefficients. IN THAT CASE THE VARIABLE IS ADDED TO THE LIST ONLY ONCE, namely among the OUTPUT variables.
For generic methods the names of the actual workspace variables are also passed on to the method function.
Definition in file make_auto_md_h.cc.
void align | ( | ofstream & | ofs, | |
bool & | is_first_parameter, | |||
const String & | indent | |||
) |
Definition at line 77 of file make_auto_md_h.cc.
int main | ( | ) |
Definition at line 90 of file make_auto_md_h.cc.