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: pywps.app.WPSRequest, update_status: weaver.typedefs.UpdateStatusPartialFunction)[source]

Common interface for WpsProcess to be used in CWL jobs.

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.