In [1]:
from birdy import WPSClient
from birdy.exceptions import ProcessIsNotComplete, ProcessFailed, ProcessCanceled
from IPython.display import Image

cli = WPSClient('http://compute.mips.copernicus-climate.eu/wps')  # progress=True

In [2]:
result = cli.cordex_subsetter(year=2000, model='MOHC-HadRM3P', variable='tas', country='France')


---------------------------------------------------------------------------
ServiceException                          Traceback (most recent call last)
<ipython-input-2-3689d8b06e90> in <module>
----> 1 result = cli.cordex_subsetter(year=2000, model='MOHC-HadRM3P', variable='tas', country='France')

</home/david/src/birdy/birdy/client/base.py-1> in cordex_subsetter(self, country, model, experiment, variable, year)

~/src/birdy/birdy/client/base.py in _execute(self, pid, **kwargs)
    284         try:
    285             wps_response = self._wps.execute(
--> 286                 pid, inputs=wps_inputs, output=wps_outputs, mode=mode
    287             )
    288 

~/.conda/envs/birdy/lib/python3.7/site-packages/owslib/wps.py in execute(self, identifier, inputs, output, mode, lineage, request, response)
    345         # submit the request to the live server
    346         if response is None:
--> 347             response = execution.submitRequest(request)
    348         else:
    349             response = etree.fromstring(response)

~/.conda/envs/birdy/lib/python3.7/site-packages/owslib/wps.py in submitRequest(self, request)
    888         reader = WPSExecuteReader(verbose=self.verbose, timeout=self.timeout, auth=self.auth)
    889         response = reader.readFromUrl(
--> 890             self.url, request, method='Post', headers=self.headers)
    891         self.response = response
    892         return response

~/.conda/envs/birdy/lib/python3.7/site-packages/owslib/wps.py in readFromUrl(self, url, data, method, username, password, headers, verify, cert)
    579 
    580         return self._readFromUrl(url, data, self.timeout, method, username=username, password=password,
--> 581                                  headers=headers, verify=verify, cert=cert)
    582 
    583 

~/.conda/envs/birdy/lib/python3.7/site-packages/owslib/wps.py in _readFromUrl(self, url, data, timeout, method, username, password, headers, verify, cert)
    489             u = openURL(url, data, method='Post',
    490                         username=username, password=password,
--> 491                         headers=headers, verify=verify, cert=cert, timeout=timeout)
    492             return etree.fromstring(u.read())
    493 

~/.conda/envs/birdy/lib/python3.7/site-packages/owslib/util.py in openURL(url_base, data, method, cookies, username, password, timeout, headers, verify, cert, auth)
    199 
    200     if req.status_code in [400, 401]:
--> 201         raise ServiceException(req.text)
    202 
    203     if req.status_code in [404, 500, 502, 503, 504]:    # add more if needed

ServiceException: <?xml version="1.0" encoding="UTF-8"?>
<!-- PyWPS 4.0.0 -->
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd" version="1.0.0">
  <ows:Exception exceptionCode="ServerBusy" locator="" >
      <ows:ExceptionText>Maximum number of parallel running processes reached. Please try later.</ows:ExceptionText>
  </ows:Exception>
</ows:ExceptionReport>

In [5]:
try:
    output = result.get()
except ProcessIsNotComplete:
    print("Please wait ...")
except ProcessFailed:
    print("Sorry, somthing went somethrong ...")
except ProcessCanceled:
    # TODO: canceled exception is not raised yet
    print("Job was canceled.")
else:
    print(output)


cordex_subsetterResponse(
    output='http://cp4cds-cn1.dkrz.de:80/outputs/c4cds/08414acc-f5b3-11e9-ab6b-f2e4655a10b7/tas_EUR-44i_France_ECMWF-ERAINT_evaluation_r1i1p1_MOHC-HadRM3P_v1_mon_199101-200012.nc',
    ncdump='http://cp4cds-cn1.dkrz.de:80/outputs/c4cds/08414acc-f5b3-11e9-ab6b-f2e4655a10b7/nc_dump.txt',
    preview='http://cp4cds-cn1.dkrz.de:80/outputs/c4cds/08414acc-f5b3-11e9-ab6b-f2e4655a10b7/tas_EUR-44i_France_ECMWF-ERAINT_evaluation_r1i1p1_MOHC-HadRM3P_v1_mon_199101-200012.png'
)

In [6]:
Image(output.preview)


Out[6]: