Exemplo n.º 1
0
    def write_botm(self, fill_value=1e-6):
        self.data['botm'] = []
        for layer in range(self.model.nlay):
            botm = (
                self.model.parameters['bot'][layer].get_value()
                )

            # fill masked with fill value
            botm = botm.filled((2*layer + 1) * -fill_value)
            botmdatfile = self.datafolder / 'botm_l{layer:02d}.dat'.format(
                layer=layer*2 + 1,
                )
            save_float(botmdatfile, botm)
            self.data['botm'].append(self._get_file_ext(botmdatfile))
            if (layer + 1) < self.model.nlay:
                botm = (
                    self.model.parameters['top'][layer + 1].get_value()
                    )

                # fill masked with fill value
                botm = botm.filled((2*layer + 2) * -fill_value)

                botmdatfile = self.datafolder / 'botm_l{layer:02d}.dat'.format(
                    layer=layer*2 + 2,
                    )
                save_float(botmdatfile, botm)
                self.data['botm'].append(self._get_file_ext(botmdatfile))
Exemplo n.º 2
0
    def write_top(self, layer=0, fill_value=0.):
        # read from parameter
        top = self.model.parameters['top'][layer].get_value()

        # fill masked with fill value
        top = top.filled(fill_value)

        # write to data file
        topdatfile = self.datafolder / 'top.dat'
        save_float(topdatfile, top)

        # add file reference to self.data
        self.data['top'] = self._get_file_ext(topdatfile)
Exemplo n.º 3
0
    def write_recharge(self, fill_value=0.):
        # read from parameter
        recharge = self.model.parameters['recharge'].get_value()

        # fill masked with fill value
        recharge = recharge.filled(fill_value)

        # write to data file
        rechargedatfile = self.datafolder / 'recharge.dat'
        save_float(rechargedatfile, recharge)

        # add file reference to self.data
        self.data['recharge'] = self._get_file_ext(rechargedatfile)
Exemplo n.º 4
0
    def write_start(self, fill_value=0.):
        self.data['start'] = []
        for layer in range(self.model.nlay):
            start = self.model.parameters['start'][layer].get_value()

            # fill with fill_value
            start = start.filled(fill_value)

            startdatfile = self.datafolder / 'start_l{layer:02d}.dat'.format(
                layer=layer*2 + 1,
                )
            save_float(startdatfile, start)
            self.data['start'].append(self._get_file_ext(startdatfile))
            if (layer + 1) < self.model.nlay:
                self.data['start'].append(self._get_file_ext(startdatfile))
Exemplo n.º 5
0
    def write_kv(self, fill_value=1e6):
        self.data['kv'] = []
        for layer in range(self.model.nlay):
            # dummy values
            self.data['kv'].append(fill_value)

            if (layer + 1) < self.model.nlay:
                c = self.model.parameters['c'][layer].get_value()

                # convert to kv            
                bot = self.model.parameters['bot'][layer].get_value()
                top = self.model.parameters['top'][layer + 1].get_value()
                kv = (bot - top) / c

                # fill with high value
                kv = kv.filled(fill_value)

                kvdatfile = self.datafolder / 'kv_l{layer:02d}.dat'.format(
                    layer=layer*2 + 2,
                    )
                save_float(kvdatfile, kv)
                self.data['kv'].append(self._get_file_ext(kvdatfile))
Exemplo n.º 6
0
    def write_kh(self, fill_value=1e-6):
        self.data['kh'] = []
        for layer in range(self.model.nlay):
            kd = self.model.parameters['kd'][layer].get_value()

            # convert to kh
            top = self.model.parameters['top'][layer].get_value()
            bot = self.model.parameters['bot'][layer].get_value()
            kh = kd / (top - bot)

            # fill with low value
            kh = kh.filled(fill_value)

            khdatfile = self.datafolder / 'kh_l{layer:02d}.dat'.format(
                layer=layer*2 + 1,
                )
            save_float(khdatfile, kh)
            self.data['kh'].append(self._get_file_ext(khdatfile))

            if (layer + 1) < self.model.nlay:
                # dummy values
                self.data['kh'].append(fill_value)