ARTS
2.4.0(git:4fb77825)
|
Workspace methods for Agenda. More...
#include <algorithm>
#include <map>
#include "agenda_class.h"
#include "agenda_record.h"
#include "global_data.h"
#include "messages.h"
#include "workspace_ng.h"
#include "wsv_aux.h"
Go to the source code of this file.
Functions | |
void | AgendaExecute (Workspace &ws, const Agenda &this_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: AgendaExecute. More... | |
void | ArrayOfAgendaExecute (Workspace &ws, const Index &agenda_array_index, const ArrayOfAgenda &agenda_array, const Verbosity &verbosity) |
WORKSPACE METHOD: ArrayOfAgendaExecute. More... | |
void | AgendaExecuteExclusive (Workspace &ws, const Agenda &this_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: AgendaExecuteExclusive. More... | |
void | AgendaSet (Workspace &ws, Agenda &output_agenda, const String &agenda_name, const Agenda &input_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: AgendaSet. More... | |
void | ArrayOfAgendaAppend (Workspace &ws, ArrayOfAgenda &out, const String &agenda_name, const Agenda &input_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: ArrayOfAgendaAppend. More... | |
void | AgendaAppend (Workspace &ws, Agenda &output_agenda, const String &output_agenda_name, const Agenda &in_agenda, const String &in_agenda_name, const Agenda &input_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: AgendaAppend. More... | |
void | Arts (Workspace &, const Agenda &, const Verbosity &verbosity) |
WORKSPACE METHOD: Arts. More... | |
void | Arts2 (Workspace &ws, const Agenda &input_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: Arts2. More... | |
void AgendaAppend | ( | Workspace & | ws, |
Agenda & | out, | ||
const String & | out_wsvname, | ||
const Agenda & | in, | ||
const String & | in_wsvname, | ||
const Agenda & | input_agenda, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: AgendaAppend.
Append methods to an agenda.
An agenda is used to store a list of methods that are meant to be executed sequentially.
This method takes the methods given in the body (in the curly braces) and appends them to the agenda given by the output argument (in the round braces).
It also uses the agenda lookup data (defined in file agendas.cc) to check, whether the given methods use the right input WSVs and produce the right output WSVs.
[in,out] | ws | Workspace |
[out] | out | Generic output |
[in] | out_wsvname | Generic Output Name |
[in] | in | Generic Input |
[in] | in_wsvname | Generic Input Name |
[in] | input_agenda | Agenda from controlfile |
Definition at line 191 of file m_agenda.cc.
References Agenda::check(), methods(), Agenda::Methods(), Absorption::nelem(), Agenda::set_methods(), and ARTS::Var::verbosity().
Referenced by AgendaAppend_g().
WORKSPACE METHOD: AgendaExecute.
Execute an agenda.
[in,out] | ws | Workspace |
[in] | a | Generic Input |
Definition at line 36 of file m_agenda.cc.
References global_data::agenda_data, global_data::AgendaMap, Agenda::checked(), CREATE_OUT3, Workspace::duplicate(), Agenda::execute(), Agenda::get_output2dup(), Agenda::get_output2push(), AgRecord::In(), Workspace::is_initialized(), Agenda::name(), my_basic_string< charT >::nelem(), AgRecord::Out(), and Workspace::push_uninitialized().
Referenced by AgendaExecute_g(), AgendaExecuteExclusive(), and ArrayOfAgendaExecute().
WORKSPACE METHOD: AgendaExecuteExclusive.
Execute an agenda exclusively.
Only one call to AgendaExecuteExclusive is executed at a time. Other calls to this function are blocked until the current one finishes. WARNING: Can cause deadlocks! Use with care.
[in,out] | ws | Workspace |
[in] | a | Generic Input |
Definition at line 147 of file m_agenda.cc.
References AgendaExecute(), CREATE_OUT3, and ARTS::Var::verbosity().
Referenced by AgendaExecuteExclusive_g().
void AgendaSet | ( | Workspace & | ws, |
Agenda & | out, | ||
const String & | out_wsvname, | ||
const Agenda & | input_agenda, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: AgendaSet.
Set up an agenda.
An agenda is used to store a list of methods that are meant to be executed sequentially.
This method takes the methods given in the body (in the curly braces) and puts them in the agenda given by the output argument (in the round braces).
It also uses the agenda lookup data (defined in file agendas.cc) to check, whether the given methods use the right input WSVs and produce the right output WSVs.
[in,out] | ws | Workspace |
[out] | out | Generic output |
[in] | out_wsvname | Generic Output Name |
[in] | input_agenda | Agenda from controlfile |
Definition at line 159 of file m_agenda.cc.
References Agenda::check(), Agenda::set_name(), and ARTS::Var::verbosity().
Referenced by AgendaSet_g().
void ArrayOfAgendaAppend | ( | Workspace & | ws, |
ArrayOfAgenda & | out, | ||
const String & | out_wsvname, | ||
const Agenda & | input_agenda, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ArrayOfAgendaAppend.
Set up an agenda and append it to the array of agendas.
See AgendaSet for details.
[in,out] | ws | Workspace |
[out] | out | Generic output |
[in] | out_wsvname | Generic Output Name |
[in] | input_agenda | Agenda from controlfile |
Definition at line 174 of file m_agenda.cc.
References Agenda::check(), Array< base >::nelem(), Agenda::set_name(), and ARTS::Var::verbosity().
Referenced by ArrayOfAgendaAppend_g().
void ArrayOfAgendaExecute | ( | Workspace & | ws, |
const Index & | agenda_array_index, | ||
const ArrayOfAgenda & | agendas, | ||
const Verbosity & | verbosity | ||
) |
WORKSPACE METHOD: ArrayOfAgendaExecute.
Execute an agenda from an ArrayOfAgenda.
[in,out] | ws | Workspace |
[in] | agenda_array_index | WS Input |
[in] | agendas | Generic Input |
Definition at line 132 of file m_agenda.cc.
References ARTS::Var::agenda_array_index(), AgendaExecute(), Array< base >::nelem(), and ARTS::Var::verbosity().
Referenced by ArrayOfAgendaExecute_g().
WORKSPACE METHOD: Arts.
Runs the agenda that is specified inside the curly braces. ARTS controlfiles must define this method. It is executed automatically when ARTS is run on the controlfile and cannot be called by the user. This methods was used for Arts 1 controlfiles and is now obsolete. See Arts2
Definition at line 220 of file m_agenda.cc.
References arts_exit_with_error_message(), and CREATE_OUT0.
Referenced by Arts_g().
WORKSPACE METHOD: Arts2.
Runs the agenda that is specified inside the curly braces. ARTS controlfiles must define this method. It is executed automatically when ARTS is run on the controlfile and cannot be called by the user.
Definition at line 231 of file m_agenda.cc.
References arts_exit_with_error_message(), CREATE_OUT0, Agenda::execute(), get_wsv_id(), and ARTS::Var::verbosity().