def __init__(self, model, mnwmax=0, ipakcb=0, mnwprnt=0, aux=None,
                 wellid=None, nnodes=None, losstype=None, pumploc=0, qlimit=0,
                 ppflag=0, pumpcap=0,
                 lay_row_col=None, ztop_zbotm_row_col=None, rw=0, rskin=0,
                 kskin=0, b=0, c=0, p=0, cwc=0, pp=1,
                 itmp=0, wellid_qdes=None,
                 extension='mnw2', unitnumber=34):
        """
        Package constructor
        """
        Package.__init__(self, model, extension, 'MNW2',
                         unitnumber)  # Call ancestor's init to set self.parent, extension, name, and unit number

        self.url = 'mnw2.htm'
        self.nper = self.parent.nrow_ncol_nlay_nper[-1]
        self.heading = '# Multi-node well 2 (MNW2) file for MODFLOW, generated by Flopy'
        self.mnwmax = int(
            mnwmax)  # -maximum number of multi-node wells to be simulated
        if ipakcb != 0:
            if 0 < ipakcb:
                self.ipakcb = -53
            else:
                self.ipakcb = 53
        else:
            self.ipakcb = 0  # 0: no cell by cell terms are written
        self.mnwprnt = int(mnwprnt)  # -verbosity flag
        self.aux = aux  # -list of optional auxilary parameters
        self.wellid = wellid  # -array containing well id's (shape = (MNWMAX))

        self.lay_row_col = lay_row_col  # -list of arrays containing lay, row, and col for all well nodes [NNODES > 0](shape = (NNODES,3), length = MNWMAX)
        self.ztop_zbotm_row_col = ztop_zbotm_row_col  # -list of arrays containing top and botm elevation of all open intervals [NNODES < 0](shape = (abs(NNODES),2), length = MNWMAX)

        self.wellid_qdes = wellid_qdes  # -list of arrays containing desired Q for each well in each stress period (shape = (NPER,MNWMAX,2))

        # -create empty arrays of the correct size
        '''
        NOTE: some arrays are not pre-formatted here as their shapes vary from well to well and from period to period.
        '''
        self.wellid = np.empty((self.mnwmax), dtype='S25')
        self.nnodes = np.zeros((self.mnwmax), dtype=np.int32)
        self.losstype = np.empty((self.mnwmax), dtype='S25')
        self.pumploc = np.zeros((self.mnwmax), dtype='int32')
        self.qlimit = np.zeros((self.mnwmax), dtype='int32')
        self.ppflag = np.zeros((self.mnwmax), dtype='int32')
        self.pumpcap = np.zeros((self.mnwmax), dtype='int32')
        self.rw = np.zeros(self.mnwmax, dtype='float32')
        self.rskin = np.zeros(self.mnwmax, dtype='float32')
        self.kskin = np.zeros(self.mnwmax, dtype='float32')
        self.b = np.zeros(self.mnwmax, dtype='float32')
        self.c = np.zeros(self.mnwmax, dtype='float32')
        self.p = np.zeros(self.mnwmax, dtype='float32')
        self.cwc = np.zeros(self.mnwmax, dtype='float32')
        self.pp = np.zeros(self.mnwmax, dtype='float32')

        self.itmp = np.zeros(self.nper, dtype='int32')

        # -assign values to arrays
        self.wellid[:] = np.array(wellid, dtype='S25')
        self.nnodes[:] = np.array(nnodes, dtype=np.int)
        self.losstype[:] = np.array(losstype, dtype='S25')
        self.pumploc[:] = np.array(pumploc, dtype=np.int32)
        self.qlimit[:] = np.array(qlimit, dtype=np.int32)
        self.ppflag[:] = np.array(ppflag, dtype=np.int32)
        self.pumpcap[:] = np.array(pumpcap, dtype=np.int32)
        self.rw[:] = np.array(rw, dtype=np.float32)
        self.rskin[:] = np.array(rskin, dtype=np.float32)
        self.kskin[:] = np.array(kskin, dtype=np.float32)
        self.b[:] = np.array(b, dtype=np.float32)
        self.c[:] = np.array(c, dtype=np.float32)
        self.p[:] = np.array(p, dtype=np.float32)
        self.cwc[:] = np.array(cwc, dtype=np.float32)
        self.pp[:] = np.array(pp, dtype=np.float32)

        self.itmp[:] = np.array(itmp, dtype=np.int32)

        # -input format checks:
        lossTypes = ['NONE', 'THIEM', 'SKIN', 'GENERAL', 'SPECIFYcwc']
        for i in range(mnwmax):
            assert len(self.wellid[i].split(
                ' ')) == 1, 'WELLID (%s) must not contain spaces' % \
                            self.wellid[i]
            assert self.losstype[
                       i] in lossTypes, 'LOSSTYPE (%s) must be one of the following: NONE, THIEM, SKIN, GENERAL, or SPECIFYcwc' % \
                                        self.losstype[i]
        assert self.itmp[
                   0] >= 0, 'ITMP must be greater than or equal to zero for the first time step.'
        assert self.itmp.max() <= self.mnwmax, 'ITMP cannot exceed maximum number of wells to be simulated.'

        self.parent.add_package(self)
dataset/ETHPy150Open modflowpy/flopy/flopy/modflow/mfmnw2.py/ModflowMnw2.__init__/swapped operands of `<`