mpas_analysis.shared.analysis_task.AnalysisTask

class mpas_analysis.shared.analysis_task.AnalysisTask(config, taskName, componentName, tags=[], subtaskName=None)[source]

The base class for analysis tasks.

Attributes
configMpasAnalysisConfigParser

Contains configuration options

taskNamestr

The name of the task, typically the same as the class name except starting with lowercase (e.g. ‘myTask’ for class ‘MyTask’)

componentName{‘ocean’, ‘seaIce’}

The name of the component (same as the folder where the task resides)

tagslist of str

Tags used to describe the task (e.g. ‘timeSeries’, ‘climatology’, horizontalMap’, ‘index’, ‘transect’). These are used to determine which tasks are generated (e.g. ‘all_transect’ or ‘no_climatology’ in the ‘generate’ flags)

runDirectorystr

The base input directory for namelists, streams files and restart files

historyDirectorystr

The base input directory for history files

plotsDirectorystr

The directory for writing plots (which is also created if it doesn’t exist)

namelistshared.io.NameList

the namelist reader

runStreamsshared.io.StreamsFile

the streams file reader for streams in the run directory (e.g. restart files)

historyStreamsshared.io.StreamsFile

the streams file reader for streams in the history directory (most streams other than restart files)

calendar{‘gregorian’, ‘gregoraian_noleap’}

The calendar used in the MPAS run

runAfterTaskslist of AnalysisTasks

tasks that must be complete before this task can run

subtasksOrderedDict of AnalysisTasks

Subtasks of this task, with subtask names as keys

xmlFileNameslist of strings

The XML file associated with each plot produced by this analysis, empty if no plots were produced

loggerlogging.Logger

A logger for output during the run phase of an analysis task

__init__(self, config, taskName, componentName, tags=[], subtaskName=None)[source]

Construct the analysis task.

Individual tasks (children classes of this base class) should first call this method to perform basic initialization, then, define the taskName, componentName and list of tags for the task.

Parameters
configinstance of MpasAnalysisConfigParser

Contains configuration options

taskNamestr

The name of the task, typically the same as the class name except starting with lowercase (e.g. ‘myTask’ for class ‘MyTask’)

componentName{‘ocean’, ‘seaIce’}

The name of the component (same as the folder where the task resides)

tagslist of str, optional

Tags used to describe the task (e.g. ‘timeSeries’, ‘climatology’, horizontalMap’, ‘index’, ‘transect’). These are used to determine which tasks are generated (e.g. ‘all_transect’ or ‘no_climatology’ in the ‘generate’ flags)

subtaskNamestr, optional

If this is a subtask of taskName, the name of the subtask

Methods

__init__(self, config, taskName, componentName)

Construct the analysis task.

add_subtask(self, subtask)

Add a subtask to this tasks.

check_analysis_enabled(self, analysisOptionName)

Check to make sure a given analysis is turned on, issuing a warning or raising an exception if not.

check_generate(self)

Determines if this analysis should be generated, based on the generate config option and taskName, componentName and tags.

close(self)

Close the Process object.

is_alive(self)

Return whether process is alive

join(self[, timeout])

Wait until child process terminates

kill(self)

Terminate process; sends SIGKILL signal or uses TerminateProcess()

run(self[, writeLogFile])

Sets up logging and then runs the analysis task.

run_after(self, task)

Only run this task after the given task has completed.

run_task(self)

Run the analysis.

set_start_end_date(self, section)

Set the start and end dates in the config correspond to the start and end years in a given category of analysis

setup_and_check(self)

Perform steps to set up the analysis (e.g.

start(self)

Start child process

terminate(self)

Terminate process; sends SIGTERM signal or uses TerminateProcess()

Attributes

BLOCKED

FAIL

READY

RUNNING

SUCCESS

UNSET

authkey

daemon

Return whether process is a daemon

exitcode

Return exit code of process or None if it has yet to stop

ident

Return identifier (PID) of process or None if it has yet to start

name

pid

Return identifier (PID) of process or None if it has yet to start

sentinel

Return a file descriptor (Unix) or handle (Windows) suitable for waiting for process termination.