def __init__(self, filepath, m_shape, m_dtype='float64', 
                 chunk_size=512*1024**2):
        """
        Use this for calculations on huge arrays that won't fit into memory.  
        
        It makes use of the numpy.memmap-class and does calculations 
        chunk-wise. "chunk_size" determines how much Bytes of the memmap-array 
        are hold in memory.
        """
        m_array = np.memmap(filepath, mode='w+', dtype=m_dtype, shape=m_shape)
        row_size = np.prod(m_array.shape[1:]) * m_array.dtype.itemsize
        step_length = \
            int(chunk_size / row_size) if chunk_size > row_size else 1
        attrs_from_locals(self)

        Use this for calculations on huge arrays that won't fit into memory.  
        
        It makes use of the numpy.memmap-class and does calculations 
        chunk-wise. "chunk_size" determines how much Bytes of the memmap-array 
        are hold in memory.
        
recipes/Python/576739_Calculations_huge/recipe-576739.py