def _export_roff_discrete(self, pfile, name, append=False, last=True, binary=True): carray = _gridprop_lowlevel.update_carray(self, undef=-999) ptr_idum = _cxtgeo.new_intpointer() ptr_ddum = _cxtgeo.new_doublepointer() # codes: ptr_codes = _cxtgeo.new_intarray(256) ncodes = self.ncodes codenames = "" logger.info("Keys: %s", self.codes.keys()) for inum, ckey in enumerate(sorted(self.codes.keys())): if ckey is not None: codenames += str(self.codes[ckey]) codenames += "|" _cxtgeo.intarray_setitem(ptr_codes, inum, int(ckey)) else: logger.warning("For some odd reason, None is a key. Check!") mode = 0 if not binary: mode = 1 if not append: _cxtgeo.grd3d_export_roff_pstart(mode, self._ncol, self._nrow, self._nlay, pfile, XTGDEBUG) nsub = 0 isub_to_export = 0 _cxtgeo.grd3d_export_roff_prop( mode, self._ncol, self._nrow, self._nlay, nsub, isub_to_export, ptr_idum, name, "int", carray, ptr_ddum, ncodes, codenames, ptr_codes, pfile, XTGDEBUG, ) if last: _cxtgeo.grd3d_export_roff_end(mode, pfile, XTGDEBUG) _gridprop_lowlevel.delete_carray(self, carray)
def _export_roff_continuous(self, pfile, name, append=False, last=True, binary=True): carray = _gridprop_lowlevel.update_carray(self, undef=-999.0) ptr_idum = _cxtgeo.new_intpointer() mode = 0 if not binary: mode = 1 if not append: _cxtgeo.grd3d_export_roff_pstart(mode, self._ncol, self._nrow, self._nlay, pfile, XTGDEBUG) # now the actual data nsub = 0 isub_to_export = 0 _cxtgeo.grd3d_export_roff_prop( mode, self._ncol, self._nrow, self._nlay, nsub, isub_to_export, ptr_idum, name, "double", ptr_idum, carray, 0, "", ptr_idum, pfile, XTGDEBUG, ) if last: _cxtgeo.grd3d_export_roff_end(mode, pfile, XTGDEBUG) _gridprop_lowlevel.delete_carray(self, carray)
def _export_roff_v1(self, gfile, option): """Export grid to ROFF format (binary)""" self._xtgformat1() gfile = xtgeo._XTGeoFile(gfile, mode="wb") gfile.check_folder(raiseerror=OSError) logger.debug("Export to ROFF...") nsubs = 0 if self.subgrids is None: logger.debug("Create a pointer for subgrd_v ...") subgrd_v = _cxtgeo.new_intpointer() else: nsubs = len(self.subgrids) subgrd_v = _cxtgeo.new_intarray(nsubs) for inum, (sname, sarray) in enumerate(self.subgrids.items()): logger.info("INUM SUBGRID: %s %s", inum, sname) _cxtgeo.intarray_setitem(subgrd_v, inum, len(sarray)) # get the geometrics list to find the xshift, etc gx = self.get_geometrics() _cxtgeo.grd3d_export_roff_grid( option, self._ncol, self._nrow, self._nlay, nsubs, 0, gx[3], gx[5], gx[7], self._coordsv, self._zcornsv, self._actnumsv, subgrd_v, gfile.name, ) # end tag _cxtgeo.grd3d_export_roff_end(option, gfile.name)
def export_roff(self, gfile, option): """Export grid to ROFF format (binary)""" logger.debug("Export to ROFF...") nsubs = 0 if self.subgrids is None: logger.debug("Create a pointer for subgrd_v ...") subgrd_v = _cxtgeo.new_intpointer() else: nsubs = len(self.subgrids) subgrd_v = _cxtgeo.new_intarray(nsubs) for inum, (sname, sarray) in enumerate(self.subgrids.items()): logger.info("INUM SUBGRID: %s %s", inum, sname) _cxtgeo.intarray_setitem(subgrd_v, inum, len(sarray)) # get the geometrics list to find the xshift, etc gx = self.get_geometrics() _cxtgeo.grd3d_export_roff_grid( option, self._ncol, self._nrow, self._nlay, nsubs, 0, gx[3], gx[5], gx[7], self._p_coord_v, self._p_zcorn_v, self._p_actnum_v, subgrd_v, gfile, XTGDEBUG, ) # skip parameters for now (cf Perl code) # end tag _cxtgeo.grd3d_export_roff_end(option, gfile, XTGDEBUG)