diff --git a/datahandling/serial_datahandling.py b/datahandling/serial_datahandling.py index 11cf5c311d5012fa170c19a919f2bef20d3fd75a..9752acce3f8a9bc8075aac17f5b73606a5baab18 100644 --- a/datahandling/serial_datahandling.py +++ b/datahandling/serial_datahandling.py @@ -373,8 +373,7 @@ class SerialDataHandling(DataHandling): ghost_layers = actual_ghost_layers gl_to_remove = actual_ghost_layers - ghost_layers - assert len(self._field_information[name]['values_per_cell']) == 1 - ind_dims = 1 if self._field_information[name]['values_per_cell'][0] > 1 else 0 + ind_dims = len(self._field_information[name]['values_per_cell']) return remove_ghost_layers(self.cpu_arrays[name], ind_dims, gl_to_remove) def log(self, *args, level='INFO'): diff --git a/kernelcreation.py b/kernelcreation.py index fa5677681bb55475dab72b035a81eb9ecca2b376..0cb2c5eb3aa64c26d958c9cd5cd2a86dde5872b9 100644 --- a/kernelcreation.py +++ b/kernelcreation.py @@ -158,6 +158,7 @@ def create_indexed_kernel(assignments, index_fields, target='cpu', data_type="do else: raise ValueError("Unknown target %s. Has to be either 'cpu' or 'gpu'" % (target,)) + def create_staggered_kernel_from_assignments(assignments, **kwargs): assert 'iteration_slice' not in kwargs and 'ghost_layers' not in kwargs lhs_fields = {a.lhs.atoms(Field.Access) for a in assignments} diff --git a/slicing.py b/slicing.py index b925ac1d2a6ad9e27a2db3ae6ff3a539d00dc721..0fab3678c7fbc6de5a61da2f47d07f46fb8e857a 100644 --- a/slicing.py +++ b/slicing.py @@ -17,6 +17,7 @@ class SlicedGetter(object): def __getitem__(self, item): return self._functionReturningArray(item) + class SlicedGetterDataHandling: def __init__(self, data_handling, name): self.dh = data_handling