ARTS  2.4.0(git:4fb77825)
m_agenda.cc File Reference

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...
 

Detailed Description

Workspace methods for Agenda.

Author
Stefan Buehler sbueh.nosp@m.ler@.nosp@m.ltu.s.nosp@m.e
Date
Fri Mar 15 09:12:46 2002

Definition in file m_agenda.cc.

Function Documentation

◆ AgendaAppend()

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.

Author
Oliver Lemke
Parameters
[in,out]wsWorkspace
[out]outGeneric output
[in]out_wsvnameGeneric Output Name
[in]inGeneric Input
[in]in_wsvnameGeneric Input Name
[in]input_agendaAgenda 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().

◆ AgendaExecute()

void AgendaExecute ( Workspace ws,
const Agenda a,
const Verbosity verbosity 
)

◆ AgendaExecuteExclusive()

void AgendaExecuteExclusive ( Workspace ws,
const Agenda a,
const Verbosity verbosity 
)

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.

Author
Oliver Lemke
Parameters
[in,out]wsWorkspace
[in]aGeneric Input

Definition at line 147 of file m_agenda.cc.

References AgendaExecute(), CREATE_OUT3, and ARTS::Var::verbosity().

Referenced by AgendaExecuteExclusive_g().

◆ AgendaSet()

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.

Author
Oliver Lemke
Parameters
[in,out]wsWorkspace
[out]outGeneric output
[in]out_wsvnameGeneric Output Name
[in]input_agendaAgenda 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().

◆ ArrayOfAgendaAppend()

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.

Author
Oliver Lemke
Parameters
[in,out]wsWorkspace
[out]outGeneric output
[in]out_wsvnameGeneric Output Name
[in]input_agendaAgenda 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().

◆ ArrayOfAgendaExecute()

void ArrayOfAgendaExecute ( Workspace ws,
const Index agenda_array_index,
const ArrayOfAgenda agendas,
const Verbosity verbosity 
)

WORKSPACE METHOD: ArrayOfAgendaExecute.

Execute an agenda from an ArrayOfAgenda.

Author
Oliver Lemke
Parameters
[in,out]wsWorkspace
[in]agenda_array_indexWS Input
[in]agendasGeneric 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().

◆ Arts()

void Arts ( Workspace ws,
const Agenda input_agenda,
const Verbosity verbosity 
)

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

Author
Stefan Buehler
Parameters
[in,out]wsWorkspace
[in]input_agendaAgenda from controlfile

Definition at line 220 of file m_agenda.cc.

References arts_exit_with_error_message(), and CREATE_OUT0.

Referenced by Arts_g().

◆ Arts2()

void Arts2 ( Workspace ws,
const Agenda input_agenda,
const Verbosity verbosity 
)

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.

Author
Oliver Lemke
Parameters
[in,out]wsWorkspace
[in]input_agendaAgenda from controlfile

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().

Referenced by Arts2_g(), and main().