def __init__(self, model, shape, dtype, value, name,
                 fmtin=None, cnstnt=1.0, iprn=-1, locat=None,
                 ext_unit_dict=None):
        if isinstance(value, Util3d):
            for attr in value.__dict__.items():
                setattr(self, attr[0], attr[1])
            self.model = model
            for i, u2d in enumerate(self.util_2ds):
                self.util_2ds[i] = Util2d(model, u2d.shape, u2d.dtype,
                                           u2d._array, name=u2d.name,
                                           fmtin=u2d.format.fortran, locat=locat,
                                           cnstnt=u2d.cnstnt)

            return
        assert len(shape) == 3, 'Util3d:shape attribute must be length 3'
        self.model = model
        self.shape = shape
        self.dtype = dtype
        self.__value = value
        if isinstance(name, list):
            self.name = name
        else:
            t = []
            for k in range(shape[0]):
                t.append(name)
            self.name = t
        self.name_base = []
        for k in range(shape[0]):
            if 'Layer' not in self.name[k]:
                self.name_base.append(self.name[k] + ' Layer ')
            else:
                self.name_base.append(self.name[k])
        self.fmtin = fmtin
        self.cnstnt = cnstnt
        self.iprn = iprn
        self.locat = locat
        self.ext_filename_base = []
        if model.external_path is not None:
            for k in range(shape[0]):
                self.ext_filename_base.\
                    append(os.path.join(model.external_path,
                                        self.name_base[k].replace(' ','_')))
        else:
            for k in range(shape[0]):
                self.ext_filename_base.\
                    append(self.name_base[k].replace(' ','_'))

        self.util_2ds = self.build_2d_instances()
Creates a binding between a queue and exchange. Exchange-to-exchange
dataset/ETHPy150Open modflowpy/flopy/flopy/utils/util_array.py/Util3d.__init__--crossover with--dataset/ETHPy150Open bkjones/bunnyq/bunnyq.py/Bunny.do_create_binding