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: AnyStr, process: AnyStr, request: WPSRequest, update_status: UpdateStatusPartialFunction)[source]

Common interface for WpsProcess to be used is cwl jobs

Initialize self. See help(type(self)) for accurate signature.

required_inputs[source]
execute(self: JSON, workflow_inputs: AnyStr, out_dir: Dict[AnyStr, AnyStr], expected_outputs)[source]

Execute an ESGF process from cwl inputs

_prepare_inputs(self: JSON, workflow_inputs)[source]

Convert inputs from cwl inputs to ESGF format

static _get_domain(workflow_inputs: JSON)[source]
_check_required_inputs(self, workflow_inputs)[source]
static _get_files_urls(workflow_inputs: JSON)[source]

Get all netcdf files from the cwl inputs

static _get_variable(workflow_inputs: JSON)[source]

Get all netcdf files from the cwl inputs

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

Run an ESGF process

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

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

_process_results(self: cwt.Process, esgf_process: AnyStr, output_dir: Dict[AnyStr, AnyStr], expected_outputs)[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