示例#1
0
    def dump_subset(self,filename,append=False,verbose=False):
        """
        dump a textual representation of the decoded
        data in the currently loaded subset to a file.

        If `append=True`, append to an existing file
        (otherwise over-write file).

        If `verbose=True`, more complete but harder to read info is written.

        `ncepbufr.open.load_subset` must be called before
        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
        """
        lunout = random.choice(_funits)
        if not append:
            iret = _bufrlib.fortran_open(filename,lunout,'formatted','rewind')
        else:
            iret = _bufrlib.fortran_open(filename,lunout,'formatted','append')
        if iret != 0:
            msg='error opening %s' % filename
        if not verbose:
            _bufrlib.ufdump(self.lunit,lunout)
        else:
            _bufrlib.ufbdmp(self.lunit,lunout)
        iret = _bufrlib.fortran_close(lunout)
        if iret == 0:
            bisect.insort_left(_funits,lunout)
        else:
            raise IOError('error closing %s' % filename)
示例#2
0
    def dump_subset(self, filename, append=False, verbose=False):
        """
        dump a textual representation of the decoded
        data in the currently loaded subset to a file.

        If `append=True`, append to an existing file
        (otherwise over-write file).

        If `verbose=True`, more complete but harder to read info is written.

        `ncepbufr.open.load_subset` must be called before
        trying to print the decoded subset using `ncepbufr.open.dump_subset`.
        """
        lunout = random.choice(_funits)
        if not append:
            iret = _bufrlib.fortran_open(filename, lunout, 'formatted',
                                         'rewind')
        else:
            iret = _bufrlib.fortran_open(filename, lunout, 'formatted',
                                         'append')
        if iret != 0:
            msg = 'error opening %s' % filename
        if not verbose:
            _bufrlib.ufdump(self.lunit, lunout)
        else:
            _bufrlib.ufbdmp(self.lunit, lunout)
        iret = _bufrlib.fortran_close(lunout)
        if iret == 0:
            bisect.insort_left(_funits, lunout)
        else:
            raise IOError('error closing %s' % filename)
示例#3
0
 def close(self):
     """
     close the bufr file
     """
     _bufrlib.closbf(self.lunit)
     # add fortran unit number back to pool
     bisect.insort_left(_funits,self.lunit)
     if self.lundx is not None:
         iret = _bufrlib.fortran_close(self.lundx)
         if iret == 0:
             bisect.insort_left(_funits,self.lundx)
         else:
             raise IOError('error closing %s' % self.table)
示例#4
0
 def close(self):
     """
     close the bufr file
     """
     _bufrlib.closbf(self.lunit)
     # add fortran unit number back to pool
     bisect.insort_left(_funits, self.lunit)
     if self.lundx is not None:
         iret = _bufrlib.fortran_close(self.lundx)
         if iret == 0:
             bisect.insort_left(_funits, self.lundx)
         else:
             raise IOError('error closing %s' % self.table)
示例#5
0
 def dump_table(self,filename):
     """
     dump embedded bufr table to a file
     """
     lundx = random.choice(_funits)
     iret = _bufrlib.fortran_open(filename,lundx,'formatted','rewind')
     if iret != 0:
         msg='error opening %s' % filename
     _bufrlib.dxdump(self.lunit,lundx)
     iret = _bufrlib.fortran_close(lundx)
     if iret == 0:
         bisect.insort_left(_funits,lundx)
     else:
         raise IOError('error closing %s' % filename)
示例#6
0
 def dump_table(self, filename):
     """
     dump embedded bufr table to a file
     """
     lundx = random.choice(_funits)
     iret = _bufrlib.fortran_open(filename, lundx, 'formatted', 'rewind')
     if iret != 0:
         msg = 'error opening %s' % filename
     _bufrlib.dxdump(self.lunit, lundx)
     iret = _bufrlib.fortran_close(lundx)
     if iret == 0:
         bisect.insort_left(_funits, lundx)
     else:
         raise IOError('error closing %s' % filename)