ARTS 2.5.11 (git: 725533f0)
|
Workspace methods for Agenda. More...
#include "agenda_class.h"
#include "agenda_record.h"
#include "debug.h"
#include "global_data.h"
#include "messages.h"
#include "workspace_ng.h"
#include "wsv_aux.h"
#include <algorithm>
#include <map>
Go to the source code of this file.
Functions | |
void | AgendaExecute (Workspace &ws, const Agenda &this_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: AgendaExecute. | |
void | ArrayOfAgendaExecute (Workspace &ws, const Index &agenda_array_index, const ArrayOfAgenda &agenda_array, const Verbosity &verbosity) |
WORKSPACE METHOD: ArrayOfAgendaExecute. | |
void | AgendaExecuteExclusive (Workspace &ws, const Agenda &this_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: AgendaExecuteExclusive. | |
void | AgendaSet (Workspace &ws, Agenda &output_agenda, const String &agenda_name, const Agenda &input_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: AgendaSet. | |
void | ArrayOfAgendaAppend (Workspace &ws, ArrayOfAgenda &out, const String &agenda_name, const Agenda &input_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: ArrayOfAgendaAppend. | |
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. | |
void | Arts (Workspace &, const Agenda &, const Verbosity &verbosity) |
WORKSPACE METHOD: Arts. | |
void | Arts2 (Workspace &ws, const Agenda &input_agenda, const Verbosity &verbosity) |
WORKSPACE METHOD: Arts2. | |
void AgendaAppend | ( | Workspace & | ws, |
Agenda & | output, | ||
const String & | output_wsvname, | ||
const Agenda & | input, | ||
const String & | input_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] | output | Generic output |
[in] | output_wsvname | Generic Output Name |
[in] | input | Generic Input |
[in] | input_wsvname | Generic Input Name |
[in] | input_agenda | Agenda from controlfile |
Definition at line 153 of file m_agenda.cc.
References Agenda::check(), Agenda::Methods(), and Agenda::set_methods().
Referenced by AgendaAppend_g().
WORKSPACE METHOD: AgendaExecute.
Execute an agenda.
[in,out] | ws | Workspace |
[in] | a | Generic Input |
Definition at line 21 of file m_agenda.cc.
References ARTS_USER_ERROR_IF, Agenda::checked(), CREATE_OUT3, Agenda::execute(), Agenda::get_global_inout(), Agenda::get_output2dup(), Agenda::get_output2push(), Agenda::name(), and my_basic_string< charT >::nelem().
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 108 of file m_agenda.cc.
References AgendaExecute(), and CREATE_OUT3.
Referenced by AgendaExecuteExclusive_g().
void AgendaSet | ( | Workspace & | ws, |
Agenda & | output, | ||
const String & | output_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] | output | Generic output |
[in] | output_wsvname | Generic Output Name |
[in] | input_agenda | Agenda from controlfile |
Definition at line 120 of file m_agenda.cc.
References Agenda::check(), and Agenda::set_name().
Referenced by AgendaSet_g().
void ArrayOfAgendaAppend | ( | Workspace & | ws, |
ArrayOfAgenda & | output, | ||
const String & | output_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] | output | Generic output |
[in] | output_wsvname | Generic Output Name |
[in] | input_agenda | Agenda from controlfile |
Definition at line 136 of file m_agenda.cc.
References Agenda::check(), Array< base >::nelem(), and Agenda::set_name().
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 93 of file m_agenda.cc.
References AgendaExecute(), and Array< base >::nelem().
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 182 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 193 of file m_agenda.cc.
References arts_exit_with_error_message(), CREATE_OUT0, Agenda::execute(), Workspace::get(), v, and Workspace::WsvMap_ptr.