atomica.scenarios.Scenario

class atomica.scenarios.Scenario(name, active=True, parsetname=None, progsetname=None)[source]

Bases: NamedItem

Base scenario class

All Scenario objects share this type. It is a NamedItem that also has an active property which represents whether the scenario should be run as part of project.Project.run_scenarios()

The optional variables parsetname and progsetname reference the name of parsets and progsets to use via Scenario.run(). These should match the names of objects in the project passed into Scenario.run(). However, Scenario.run() can also take in a parset and/or progset directly, allowing the scenario to be used with other parsets and progsets on the fly. If parsetname and progsetname are not set in the Scenario then they must be passed into Scenario.run().

Parameters:
  • name (str) – The name of the scenario - also sets the result name via Scenario.run()

  • parsetname (str) – If running via Project.run_scenarios this identifies which parset to use from the project

  • progsetname (str) – If running via Project.run_scenarios this identifies which progset to use. If set to None then programs will not be used

  • active (bool) – If running via Project.run_scenarios this flags whether to run the scenario

NamedItem constructor

A name must be a string

Parameters:

name (str)

Attributes

parsetname

Specify parset name when run via Project.run_scenarios

progsetname

Specify progset name when run via Project.run_scenarios

active

Flag whether the scenario should be run via Project.run_scenarios

Methods

copy

get_instructions

Get scenario instructions

get_parset

Get scenario parset

get_progset

Get scenario progset

run

Run scenario

active

Flag whether the scenario should be run via Project.run_scenarios

get_instructions(progset, project)[source]

Get scenario instructions

If the derived scenario class produces program instructions, return them here.

Parameters:

progset (ProgramSet) – Input ProgramSet

Return type:

ProgramInstructions

Returns:

ProgramInstructions instance, or None if no instructions (in which case, programs will not be used)

get_parset(parset, project)[source]

Get scenario parset

If the derived scenario class modifies the parset, return the modified version

Parameters:

parset – Input ParameterSet

Return type:

ParameterSet

Returns:

Modified parset for use in the simulation

get_progset(progset, project)[source]

Get scenario progset

If the derived scenario class modifies the progset, return the modified version

Parameters:

progset (ProgramSet) – Input ProgramSet

Return type:

ProgramSet

Returns:

Modified progset for use in the simulation

parsetname

Specify parset name when run via Project.run_scenarios

progsetname

Specify progset name when run via Project.run_scenarios

run(project, parset=None, progset=None, store_results=True)[source]

Run scenario

Parameters:
  • project – A Project instance

  • parset (ParameterSet) – Optionally a ParameterSet instance, otherwise will use self.parsetname

  • progset (ProgramSet) – Optionally a ProgramSet instance, otherwise will use self.progsetname

  • store_results (bool) – If True, the results will be copied into the project

Return type:

Result

Returns:

A Result object