Go to the documentation of this file.
45 const char description[],
49 mdescription( description ),
73 os <<
"Unknown output WSV " << output[j] <<
" in WSM " <<
mname;
74 throw runtime_error( os.str() );
86 os <<
"Unknown input WSV " << input[j] <<
" in WSM " <<
mname;
87 throw runtime_error( os.str() );
187 os <<
"\n*-------------------------------------------------------------------*\n"
188 <<
"Workspace variable = " << agr.
Name()
189 <<
"\n---------------------------------------------------------------------\n"
191 <<
"\n---------------------------------------------------------------------\n";
196 os <<
"Group = Agenda\n";
201 for (
Index i=0; i<agr.
Out().nelem(); ++i )
203 if (first) first=
false;
213 for (
Index i=0; i<agr.
In().nelem(); ++i )
215 if (first) first=
false;
221 os <<
"\n*-------------------------------------------------------------------*\n";
246 os <<
"\n*-------------------------------------------------------------------*\n"
247 <<
"Workspace variable = " << wr.
Name()
248 <<
"\n---------------------------------------------------------------------\n"
250 <<
"\n---------------------------------------------------------------------\n"
252 <<
"\n*-------------------------------------------------------------------*\n";
262 map<String, Index>::const_iterator j =
285 ofs <<
"void " << agr.
Name () <<
"Execute(\n";
288 ofs <<
" // Workspace\n";
289 ofs <<
" Workspace& ws,\n";
292 ofs <<
" // Output\n";
293 for (ArrayOfIndex::const_iterator j = ago.begin (); j != ago.end (); j++)
302 ofs <<
" // Input\n";
303 for (ArrayOfIndex::const_iterator j = agi.begin (); j != agi.end (); j++)
306 ArrayOfIndex::const_iterator it = ago.begin ();
307 while (it != ago.end () && *it != *j) it++;
308 if (it == ago.end ())
316 if ( group_name !=
"Index" && group_name !=
"Numeric")
325 ofs <<
" // Wrapper Input\n";
326 ofs <<
" const Agenda& input_agenda)";
Declarations for AgRecord, storing lookup information for one agenda.
static Array< WsvRecord > wsv_data
ArrayOfIndex minput
Workspace Input.
map< String, Index > AgendaMap
The map assiciated with agenda_data.
AgRecord()
Default constructor.
Index get_wsv_id(const String &name)
Get index of WSV.
This can be used to make arrays out of anything.
Index Group() const
The wsv group to which this variable belongs.
Array< AgRecord > agenda_data
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
ArrayOfString wsv_group_names
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
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
Index get_wsv_group_id(const String &name)
const ArrayOfIndex & Out() const
Index nelem() const
Number of elements.
Auxiliary header stuff related to workspace variable groups.