ARTS  2.2.66
m_agenda.cc File Reference

Workspace methods for Agenda. More...

#include <map>
#include "agenda_class.h"
#include "messages.h"
#include "wsv_aux.h"
#include "agenda_record.h"
#include "workspace_ng.h"
Include dependency graph for m_agenda.cc:

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 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 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 77 of file m_agenda.cc.

References Agenda::check(), Agenda::Methods(), Array< base >::nelem(), and Agenda::set_methods().

Referenced by AgendaAppend_g().

◆ AgendaExecute()

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

WORKSPACE METHOD: AgendaExecute.

Execute an agenda.

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

Definition at line 35 of file m_agenda.cc.

References CREATE_OUT3, and Agenda::execute().

Referenced by AgendaExecute_g().

◆ 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 46 of file m_agenda.cc.

References CREATE_OUT3, and Agenda::execute().

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 60 of file m_agenda.cc.

References Agenda::check(), and Agenda::set_name().

Referenced by AgendaSet_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 109 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 121 of file m_agenda.cc.

References arts_exit_with_error_message(), CREATE_OUT0, Agenda::execute(), and get_wsv_id().

Referenced by Arts2_g(), and main().