Open JanStreffing opened 3 months ago
On branch: https://github.com/FESOM/fdiag/tree/feat/prep_for_2.6 in script https://github.com/FESOM/fdiag/blob/feat/prep_for_2.6/workflows/prep_fesom2.6/reference_vs_remove_PARMS.yml
hovm_difference: Eurasian basin: temp: levels: [-0.1, 0.1, 41] maxdepth: 1000
results in:
!!! Performing hovm_difference !!! Passed unknown parameter: workflow_name Passed unknown parameter: climatology_path Passed unknown parameter: climatology_year Passed unknown parameter: bbox Passed unknown parameter: res Passed unknown parameter: mapproj Passed unknown parameter: figsize_small Passed unknown parameter: start_year Passed unknown parameter: end_year Passed unknown parameter: start_year_short Passed unknown parameter: end_year_short Passed unknown parameter: years_short Passed unknown parameter: workflow_settings Passed unknown parameter: ofolder_notebooks Passed unknown parameter: ofolder_figures Executing: 35%|█████████████████████████████████████▊ | 6/17 [00:55<01:41, 9.19s/cell] Traceback (most recent call last): File "/work/ab0246/a270092/software/miniconda3/envs/fdiag/bin/fdiag", line 33, in <module> sys.exit(load_entry_point('fdiag', 'console_scripts', 'fdiag')()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/work/ab0246/a270092/software/fdiag/fdiag/fdiag.py", line 242, in fdiag webpage = analyses[analysis](settings, analysis) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/work/ab0246/a270092/software/fdiag/fdiag/drivers.py", line 234, in drive_hovm_difference pm.execute_notebook( File "/work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/papermill/execute.py", line 131, in execute_notebook raise_for_execution_errors(nb, output_path) File "/work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/papermill/execute.py", line 251, in raise_for_execution_errors raise error papermill.exceptions.PapermillExecutionError: --------------------------------------------------------------------------- Exception encountered at "In [6]": --------------------------------------------------------------------------- IndexError Traceback (most recent call last) Cell In[6], line 4 2 mask = pf.get_mask(mesh, region) 3 data_reference = pf.get_data(reference_path, variable, reference_years, mesh, how=None, silent=True, compute=False) ----> 4 hofm_reference = pf.hovm_data(data_reference, mesh, mask = mask) 5 for exp_path, exp_name in zip(input_paths, input_names): 6 data = pf.get_data(exp_path, variable, years, mesh, how=None, compute=False, silent=True) File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/pyfesom2/diagnostics.py:243, in hovm_data(data, mesh, meshdiag, runid, mask) 241 if mask is not None: 242 nod_area = nod_area[:, mask] --> 243 data = data[:, mask, :] 245 if isinstance(data, xr.DataArray): 246 nod_area = nod_area.where(nod_area != 0) File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/xarray/core/dataarray.py:876, in DataArray.__getitem__(self, key) 873 return self._getitem_coord(key) 874 else: 875 # xarray-style array indexing --> 876 return self.isel(indexers=self._item_key_to_dict(key)) File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/xarray/core/dataarray.py:1509, in DataArray.isel(self, indexers, drop, missing_dims, **indexers_kwargs) 1504 return self._from_temp_dataset(ds) 1506 # Much faster algorithm for when all indexers are ints, slices, one-dimensional 1507 # lists, or zero or one-dimensional np.ndarray's -> 1509 variable = self._variable.isel(indexers, missing_dims=missing_dims) 1510 indexes, index_variables = isel_indexes(self.xindexes, indexers) 1512 coords = {} File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/xarray/core/variable.py:1033, in Variable.isel(self, indexers, missing_dims, **indexers_kwargs) 1030 indexers = drop_dims_from_indexers(indexers, self.dims, missing_dims) 1032 key = tuple(indexers.get(dim, slice(None)) for dim in self.dims) -> 1033 return self[key] File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/xarray/core/variable.py:800, in Variable.__getitem__(self, key) 797 dims, indexer, new_order = self._broadcast_indexes(key) 798 indexable = as_indexable(self._data) --> 800 data = indexing.apply_indexer(indexable, indexer) 802 if new_order: 803 data = np.moveaxis(data, range(len(new_order)), new_order) File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/xarray/core/indexing.py:1027, in apply_indexer(indexable, indexer) 1025 return indexable.vindex[indexer] 1026 elif isinstance(indexer, OuterIndexer): -> 1027 return indexable.oindex[indexer] 1028 else: 1029 return indexable[indexer] File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/xarray/core/indexing.py:367, in IndexCallable.__getitem__(self, key) 366 def __getitem__(self, key: Any) -> Any: --> 367 return self.getter(key) File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/xarray/core/indexing.py:1620, in DaskIndexingAdapter._oindex_get(self, indexer) 1618 key = indexer.tuple 1619 try: -> 1620 return self.array[key] 1621 except NotImplementedError: 1622 # manual orthogonal indexing 1623 value = self.array File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/dask/array/core.py:1975, in Array.__getitem__(self, index) 1967 index = (index,) 1969 from dask.array.slicing import ( 1970 normalize_index, 1971 slice_with_bool_dask_array, 1972 slice_with_int_dask_array, 1973 ) -> 1975 index2 = normalize_index(index, self.shape) 1976 dependencies = {self.name} 1977 for i in index2: File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/dask/array/slicing.py:922, in normalize_index(idx, shape) 920 for axis, (i, d) in enumerate(zip(idx, none_shape)): 921 if d is not None: --> 922 check_index(axis, i, d) 923 idx = tuple(map(sanitize_index, idx)) 924 idx = tuple(map(normalize_slice, idx, none_shape)) File /work/ab0246/a270092/software/miniconda3/envs/fdiag/lib/python3.12/site-packages/dask/array/slicing.py:985, in check_index(axis, ind, dimension) 980 raise IndexError( 981 f"Boolean array with size {ind.size} is not long enough " 982 f"for axis {axis} with size {dimension}" 983 ) 984 elif (ind >= dimension).any() or (ind < -dimension).any(): --> 985 raise IndexError( 986 f"Index is out of bounds for axis {axis} with size {dimension}" 987 ) 988 elif isinstance(ind, slice): 989 return IndexError: Index is out of bounds for axis 1 with size 47
On branch: https://github.com/FESOM/fdiag/tree/feat/prep_for_2.6 in script https://github.com/FESOM/fdiag/blob/feat/prep_for_2.6/workflows/prep_fesom2.6/reference_vs_remove_PARMS.yml
results in: