def read_quantities(self, group, quantities='all'):
        '''
        Read in physical quantities from an AMR grid

        Parameters
        ----------
        group : h5py.Group
            The HDF5 group to read the grid quantities from
        quantities : 'all' or list
            Which physical quantities to read in. Use 'all' to read in all
            quantities or a list of strings to read only specific quantities.
        '''

        # Loop over levels
        for ilevel, level in enumerate(self.levels):

            # Read in level
            level_path = 'level_%05i' % (ilevel + 1)

            # Loop over grids
            for igrid, grid in enumerate(level.grids):

                # Read in grid
                grid_path = (igrid + 1) % 'grid_%05i'

                # Read in desired quantities
                g_grid_quantities = group[level_path][grid_path]
                for quantity in g_grid_quantities:
                    if quantities == 'all' or quantity in quantities:
                        array = np.array(g_grid_quantities[quantity])
                        if array.ndim == 4:  # if array is 4D, it is a list of 3D arrays
                            grid.quantities[quantity] = [array[i] for i in range(array.shape[0])]
                        else:
                            grid.quantities[quantity] = array

        # Self-consistently check geometry and physical quantities
        self._check_array_dimensions()
dataset/ETHPy150Open hyperion-rt/hyperion/hyperion/grid/amr_grid.py/AMRGrid.read_quantities/swapped operands of `%`