#!/usr/bin/env python # coding: utf-8 # # Test: collected errors # # * Project: c3s-cmip6 # * Site: DKRZ # * From 2021-03-23 to 2021-03-25 # * rook v0.4.2, daops=0.5.0, clisops=0.6.2 # In[ ]: import os # os.environ['ROOK_URL'] = 'http://rook3.cloud.dkrz.de/wps' os.environ['ROOK_URL'] = 'http://rook.dkrz.de/wps' from rooki import operators as ops # ## Day 7: Mon 29.03 # # DKRZ: 15 requests, 0 failures # ## Day 6: Sun 28.03 # # DKRZ: 145 requests, 0 failures # ## Day 5: Sat 27.03 # # DKRZ: 100 requests, 5 failures # # # Duplicate errors: # * Process error: invalid day number provided in cftime.Datetime3 # 60Day 2100, 12, 31, 0, 0, 0, 0 # * Process error: The longitude of this dataset runs from 0.01 to 360.00, and rolling could not be completed successfully. Please re-run your request with longitudes between these bounds. # ## Day 4: Fri 26.03 # # DKRZ: 85 requests, 27 failures # # Duplicate errors: # * Process error: Cannot apply_along_axis when any iteration dimensions are 0 # * Process error: invalid day number provided in cftime.Datetime3 # 60Day 2300, 12, 31, 0, 0, 0, 0 # * Process error: float divmod # ### Error 4-1 # # Issue: https://github.com/roocs/daops/issues/63 # # Probably a temporary access failure. # # Process error: list index out of range # # ``` # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/daops/utils/consolidate.py", line 42, in consolidate # ds = open_xr_dataset(dset) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/roocs_utils/xarray_utils/xarray_utils.py", line 33, in open_xr_dataset # return xr.open_dataset(dset[0], use_cftime=True) # IndexError: list index out of range # ``` # In[ ]: wf = ops.Subset( ops.Input( 'tas', ['c3s-cmip6.ScenarioMIP.NIMS-KMA.KACE-1-0-G.ssp245.r1i1p1f1.Amon.tas.gr.v20191217'] ), time="2021-01-01/2100-12-30", area="-10,30,35,70" ) resp = wf.orchestrate() resp.status # ## Day 3: Thu 25.03 # # DKRZ: 53 requests, 9 failures # # Duplicate erros: # * invalid day number provided in cftime.Datetime360Day 2050, 12, 31, 0, 0, 0, 0 # * float divmod # ## Day 2: Wed 24.03 # # DKRZ: 218 requests, 8 failures, 1 rejected # ### Error 2-1 # # Issue: https://github.com/roocs/daops/issues/64 # # Process error: Cannot apply_along_axis when any iteration dime # nsions are 0 # ``` # Traceback (most recent call last): # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/rook/director/director.py", line 156, in process # file_uris = runner(self.inputs) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/rook/utils/subset_utils.py", line 5, in run_subset # result = subset(**args) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/daops/ops/subset.py", line 77, in subset # result_set = Subset(**locals()).calculate() # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/daops/ops/base.py", line 88, in calculate # process(self.get_operation_callable(), norm_collection, **self.params), # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/daops/processor.py", line 19, in process # result = operation(dset, **kwargs) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/clisops/ops/subset.py", line 165, in subset # return op.process() # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/clisops/ops/base_operation.py", line 89, in process # processed_ds = self._calculate() # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/clisops/ops/subset.py", line 63, in _calculate # result = subset_bbox(ds, **self.params) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/clisops/core/subset.py", line 251, in func_checker # return func(*args, **kwargs) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/clisops/core/subset.py", line 875, in subset_bbox # da[var] = da[var].where(lon_cond & lat_cond, drop=True) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/common.py", line 1273, in where # return ops.where_method(self, cond, other) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/ops.py", line 203, in where_method # keep_attrs=True, # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/computation.py", line 1134, in apply_ufunc # keep_attrs=keep_attrs, # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/computation.py", line 271, in apply_dataarray_vfunc # result_var = func(*data_vars) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/computation.py", line 632, in apply_variable_ufunc # for arg, core_dims in zip(args, signature.input_core_dims) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/computation.py", line 632, in # for arg, core_dims in zip(args, signature.input_core_dims) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/computation.py", line 542, in broadcast_compat_data # data = variable.data # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/variable.py", line 374, in data # return self.values # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/variable.py", line 554, in values # return _as_array_or_item(self._data) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/variable.py", line 287, in _as_array_or_item # data = np.asarray(data) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/numpy/core/_asarray.py", line 102, in asarray # return array(a, dtype, copy=False, order=order) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/indexing.py", line 693, in __array__ # self._ensure_cached() # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/indexing.py", line 690, in _ensure_cached # self.array = NumpyIndexingAdapter(np.asarray(self.array)) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/numpy/core/_asarray.py", line 102, in asarray # return array(a, dtype, copy=False, order=order) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/indexing.py", line 663, in __array__ # return np.asarray(self.array, dtype=dtype) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/numpy/core/_asarray.py", line 102, in asarray # return array(a, dtype, copy=False, order=order) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/indexing.py", line 568, in __array__ # return np.asarray(array[self.key], dtype=None) # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/backends/netCDF4_.py", line 86, in __getitem__ # key, self.shape, indexing.IndexingSupport.OUTER, self._getitem # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/xarray/core/indexing.py", line 853, in explicit_indexing_adapter # result = raw_indexing_method(raw_key.tuple) # # ``` # In[ ]: wf = ops.Subset( ops.Input( 'tos', ['c3s-cmip6.ScenarioMIP.CNRM-CERFACS.CNRM-CM6-1.ssp245.r1i1p1f2.Omon.tos.gn.v20190219'] ), # time="2021-01-01/2050-12-31", area="1,40,2,4" ) resp = wf.orchestrate() resp.status # ### Error 2-2 # # * Issue: https://github.com/roocs/daops/issues/61 # * PR: https://github.com/roocs/clisops/pull/152 # # Process error: float divmod # In[ ]: wf = ops.Subset( ops.Input( 'hur', ['c3s-cmip6.CMIP.BCC.BCC-ESM1.historical.r1i1p1f1.Amon.hur.gn.v20181217'] ), # time="2021-01-01/2050-12-31", area="0,0,0.01,0.01", level="85000/85000" ) resp = wf.orchestrate() resp.status # ### Error 2-3 # # Request rejected due to exception # # Probably this one: # https://github.com/roocs/rook/issues/161 # ## Day 1: Tue 23.03 # # DKRZ: 147 requests, 11 failures # ### Error 1-1 # # Issue: https://github.com/roocs/clisops/issues/151 # # ValueError: invalid day number provided in cftime.Datetime360Day(2050, 12, 31, 0, 0, 0, 0) # In[ ]: wf = ops.Subset( ops.Input( 'tas', ['c3s-cmip6.ScenarioMIP.NIMS-KMA.KACE-1-0-G.ssp585.r1i1p1f1.Amon.tas.gr.v20190920'] ), time="2021-01-01/2050-12-31", area="-10,30,35,70" ) resp = wf.orchestrate() resp.status # ### Error 1-2 # # ValueError: invalid day number provided in cftime.Datetime360Day(2050, 12, 31, 0, 0, 0, 0) # In[ ]: wf = ops.Subset( ops.Input( 'tas', ['c3s-cmip6.ScenarioMIP.MOHC.HadGEM3-GC31-MM.ssp585.r1i1p1f3.Amon.tas.gn.v20200515'] ), time="2021-01-01/2050-12-31", area="-10,30,35,70" ) resp = wf.orchestrate() resp.status # ### Error 1-3 # # PR: https://github.com/roocs/clisops/issues/151 # # ``` # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/clisops/core/subset.py", line 242, in func_checker # f"Input longitude bounds ({kwargs[lon]}) cross the 0 degree meridian but" # NotImplementedError: Input longitude bounds ([ 160. -100.]) cross the 0 degree meridian but dataset longitudes are all positive. # # # File "/usr/local/anaconda/envs/rook/lib/python3.7/site-packages/clisops/ops/subset.py", line 66, in _calculate # f"The input longitude bounds {self.params.get('lon_bnds')} are not within the longitude bounds " # Exception: The input longitude bounds (160.0, -100.0) are not within the longitude bounds of this dataset and rolling could not be completed successfully. Please re-run your request with longitudes within the bounds of the dataset. # # ``` # In[ ]: wf = ops.Subset( ops.Input( 'snd', ['c3s-cmip6.ScenarioMIP.NOAA-GFDL.GFDL-ESM4.ssp245.r1i1p1f1.LImon.snd.gr1.v20180701'] ), time="2080-01-01/2100-12-31", area="160,45,-100,90" ) resp = wf.orchestrate() resp.status # ### Error 1-4 # # Process error: The input longitude bounds 160.0, -100.0 are no # t within the longitude bounds of this dataset and rolling could not be completed successfully. Please re-run your request with longitudes within the bounds of the dataset. # ### Error 1-5 # # Process error: float divmod # ### Error 1-6 # # Process error: invalid day number provided in cftime.Datetime3 # 60Day 2100, 12, 31, 0, 0, 0, 0 # ### Error 1-7 # # Process error: Unable to parse the time values entered # ### Error 1-8 # # Process error: Start date 2020-02-01T12:00:00 is after end dat # e 2020-01-30T12:00:00