weaver.processes.esgf_process

Module Contents

weaver.processes.esgf_process.LAST_PERCENT_REGEX[source]
class weaver.processes.esgf_process.Percent[source]
PREPARING = 2[source]
SENDING = 3[source]
COMPUTE_DONE = 98[source]
FINISHED = 100[source]
class weaver.processes.esgf_process.InputNames[source]
FILES = files[source]
VARIABLE = variable[source]
API_KEY = api_key[source]
TIME = time[source]
LAT = lat[source]
LON = lon[source]
class weaver.processes.esgf_process.InputArguments[source]
START = start[source]
END = end[source]
CRS = crs[source]
class weaver.processes.esgf_process.ESGFProcess(provider: str, process: str, request: weaver.wps.service.WorkerRequest, update_status: weaver.typedefs.UpdateStatusPartialFunction)[source]

Common interface for WPS Process to be used for dispatching CWL jobs.

Multiple convenience methods are provide. Processes inheriting from this base should provide abstract method implementation as needed or required.

Note

For expected operations details and their execution order, please refer to Workflow Step Operations.

See also

execute() for complete details of the operations and ordering.

required_inputs[source]
execute(self: weaver.typedefs.JSON, workflow_inputs: str, out_dir: Dict[str, str], expected_outputs)None[source]

Execute an ESGF process from cwl inputs.

_prepare_inputs(self: weaver.typedefs.JSON, workflow_inputs)List[cwt.Variable][source]

Convert inputs from cwl inputs to ESGF format.

static _get_domain(workflow_inputs: weaver.typedefs.JSON)Optional[cwt.Domain][source]
_check_required_inputs(self, workflow_inputs)[source]
static _get_files_urls(workflow_inputs: weaver.typedefs.JSON)List[Tuple[str, str]][source]

Get all netcdf files from the cwl inputs.

static _get_variable(workflow_inputs: weaver.typedefs.JSON)str[source]

Get all netcdf files from the cwl inputs.

_run_process(self: str, api_key: List[cwt.Variable], inputs: Optional[cwt.Domain], domain=None)cwt.Process[source]

Run an ESGF process.

_wait(self: cwt.Process, esgf_process: float, sleep_time=2)bool[source]

Wait for an ESGF process to finish, while reporting its status.

_process_results(self: cwt.Process, esgf_process: str, output_dir: Dict[str, str], expected_outputs)None[source]

Process the result of the execution.

_write_outputs(self, url, output_dir, expected_outputs)[source]

Write the output netcdf url to a local drive.