Go to the documentation of this file.
53 const char description[],
56 mdescription(description),
80 os <<
"Unknown output WSV " << output[j] <<
" in WSM " <<
mname;
81 throw runtime_error(os.str());
93 os <<
"Unknown input WSV " << input[j] <<
" in WSM " <<
mname;
94 throw runtime_error(os.str());
192 os <<
"\n*-------------------------------------------------------------------*\n"
193 <<
"Workspace variable = " << agr.
Name()
194 <<
"\n---------------------------------------------------------------------\n"
196 <<
"\n---------------------------------------------------------------------\n";
198 os <<
"Group = Agenda\n";
203 for (
Index i = 0; i < agr.
Out().nelem(); ++i)
205 if (first) first =
false;
215 for (
Index i = 0; i < agr.
In().nelem(); ++i)
217 if (first) first =
false;
223 os <<
"\n*-------------------------------------------------------------------*\n";
248 os <<
"\n*-------------------------------------------------------------------*\n"
249 <<
"Workspace variable = " << wr.
Name()
250 <<
"\n---------------------------------------------------------------------\n"
252 <<
"\n---------------------------------------------------------------------\n"
254 <<
"\n*-------------------------------------------------------------------*\n";
265 map<String, Index>::const_iterator j =
288 ofs <<
"void " << agr.
Name() <<
"Execute(\n";
291 ofs <<
" // Workspace\n";
292 ofs <<
" Workspace& ws,\n";
295 ofs <<
" // Output\n";
296 for (ArrayOfIndex::const_iterator j = ago.begin(); j != ago.end(); j++)
305 ofs <<
" // Input\n";
306 for (ArrayOfIndex::const_iterator j = agi.begin(); j != agi.end(); j++)
309 ArrayOfIndex::const_iterator it = ago.begin();
310 while (it != ago.end() && *it != *j)
321 if (group_name !=
"Index" && group_name !=
"Numeric")
330 ofs <<
" // Wrapper Input\n";
331 ofs <<
" const Agenda& input_agenda)";
Declarations for AgRecord, storing lookup information for one agenda.
static Array< WsvRecord > wsv_data
ArrayOfIndex minput
Workspace Input.
AgRecord()
Default constructor.
Index get_wsv_id(const String &name)
Get index of WSV.
map< String, Index > AgendaMap
The map associated with agenda_data.
This can be used to make arrays out of anything.
Index Group() const
The wsv group to which this variable belongs.
Declarations having to do with the four output streams.
void write_agenda_wrapper_header(ofstream &ofs, const AgRecord &agr)
Write a agenda wrapper header.
Lookup information for one agenda.
The implementation for String, the ARTS string class.
ArrayOfIndex moutput
Workspace Output.
const String & Name() const
Name of this workspace variable.
const String & Name() const
String mname
The name of this agenda.
bool check_agenda_data()
Check that agendas.cc and workspace.cc are consistent.
const ArrayOfIndex & In() const
This class contains all static information for one workspace variable.
This file contains the declaration and partly the implementation of the workspace class.
const String & Description() const
A text describing this workspace variable.
static map< String, Index > WsvMap
const Array< AgRecord > agenda_data
The lookup information for the agendas.
ostream & operator<<(ostream &os, const AgRecord &agr)
Output operator for AgRecord.
Explicit construction of Arrays.
INDEX Index
The type to use for all integer numbers and indices.
const String & Description() const
const ArrayOfString wsv_group_names
The names associated with Wsv groups as Strings.
Index get_wsv_group_id(const String &name)
Returns the id of the given group.
const ArrayOfIndex & Out() const
Index nelem() const
Number of elements.
Auxiliary header stuff related to workspace variable groups.