Example #1
0
    def big2littleARE(self, fileName, foleName):

        # ~~ Openning files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        fle = open(fileName, "rb")
        fole = open(foleName, "wb")
        print "           +> writing the areas-file: ", foleName

        # ~~ Read/Write dimensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        NSEG2 = (3 * self.geo.NELEM3 + self.conlim.NPTFR) / 2
        MBND2 = np.count_nonzero(self.conlim.BOR["lih"] != 2)
        n3 = NSEG2 + MBND2
        # n4 = 2*( self.geo.NPLAN-1 )*self.geo.NPOIN3

        # ~~ Read volumes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        pbar = ProgressBar(maxval=self.HYDROIT).start()
        for i in range(self.HYDROIT):
            l, it = unpack(">ii", fle.read(4 + 4))
            AREAS = np.asarray(unpack(">" + str(n3) + "f", fle.read(4 * n3)))
            fle.seek(4, 1)
            if it >= self.tfrom and it <= self.tstop:
                pbar.write("            ~> read iteration: " + str(it), i)
                fole.write(pack("<ii", 4 * n3, it - self.HYDRO00))
                fole.write(pack("<" + str(n3) + "f", *(AREAS)))
                fole.write(pack("<i", 4 * n3))
            else:
                pbar.write("            ~> ignore iteration: " + str(it), i)
            pbar.update(i)
        pbar.finish()

        fle.close()
        fole.close()
Example #2
0
    def big2littlePTS(self, fileName, foleName):

        # ~~ Openning files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        fle = open(fileName, "rb")
        fole = open(foleName, "wb")
        print "           +> writing the volumes-file: ", foleName

        # ~~ Read/Write dimensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        n1 = self.NPOIN3 + 1
        minvol = self.minvol * np.ones(self.NPOIN3, dtype=np.float32)

        # ~~ Read volumes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        pbar = ProgressBar(maxval=self.HYDROIT).start()
        for i in range(self.HYDROIT):
            l, it = unpack(">ii", fle.read(4 + 4))
            VOLUME = np.asarray(
                unpack(">" + str(self.NPOIN3) + "f",
                       fle.read(4 * self.NPOIN3)))
            VOLUME = np.maximum(VOLUME, minvol)
            fle.seek(4, 1)
            if it >= self.tfrom and it <= self.tstop:
                pbar.write("            ~> read iteration: " + str(it), i)
                fole.write(pack("<ii", 4 * n1, it - self.HYDRO00))
                fole.write(pack("<" + str(self.NPOIN3) + "f", *(VOLUME)))
                fole.write(pack("<i", 4 * n1))
            else:
                pbar.write("            ~> ignore iteration: " + str(it), i)
            pbar.update(i)
        pbar.finish()

        fle.close()
        fole.close()
   def big2littleARE(self,fileName,foleName):

      # ~~ Openning files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      fle = open(fileName,'rb')
      fole = open(foleName,'wb')
      print '           +> writing the areas-file: ',foleName

      # ~~ Read/Write dimensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      NSEG2 = ( 3*self.geo.NELEM3 + self.conlim.NPTFR )/2
      MBND2 = np.count_nonzero(self.conlim.BOR['lih'] != 2)
      n3 = ( NSEG2 + MBND2 )
      #n4 = 2*( self.geo.NPLAN-1 )*self.geo.NPOIN3

      # ~~ Read volumes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      pbar = ProgressBar(maxval=self.HYDROIT).start()
      for i in range(self.HYDROIT):
         l,it = unpack('>ii',fle.read(4+4))
         AREAS = np.asarray( unpack('>'+str(n3)+'f',fle.read(4*n3)) )
         fle.seek(4,1)
         if it >= self.tfrom and it <= self.tstop:
            pbar.write('            ~> read iteration: '+str(it),i)
            fole.write(pack('<ii',4*n3,it-self.HYDRO00))
            fole.write(pack('<'+str(n3)+'f',*(AREAS)))
            fole.write(pack('<i',4*n3))
         else:
            pbar.write('            ~> ignore iteration: '+str(it),i)
         pbar.update(i)
      pbar.finish()

      fle.close()
      fole.close()
Example #4
0
    def big2littleVFX(self, fileName, foleName):

        # ~~ Openning files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        fle = open(fileName, 'rb')
        fole = open(foleName, 'wb')
        print '           +> writing the flows-file: ', foleName

        # ~~ Read/Write dimensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        NSEG2 = (3 * self.geo.NELEM3 + self.conlim.NPTFR) / 2
        MBND2 = np.count_nonzero(self.conlim.BOR['lih'] != 2)
        n3 = (NSEG2 + MBND2)
        #n4 = 2*( self.geo.NPLAN-1 )*self.geo.NPOIN3

        # ~~ Read volumes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        pbar = ProgressBar(maxval=self.HYDROIT).start()
        for i in range(self.HYDROIT):
            l, it = unpack('>ii', fle.read(4 + 4))
            VFLUXES = np.asarray(unpack('>' + str(n3) + 'f', fle.read(4 * n3)))
            fle.seek(4, 1)
            if it >= self.tfrom and it <= self.tstop:
                pbar.write('            ~> read iteration: ' + str(it), i)
                fole.write(pack('<ii', 4 * n3, it - self.HYDRO00))
                fole.write(pack('<' + str(n3) + 'f', *(VFLUXES)))
                fole.write(pack('<i', 4 * n3))
            else:
                pbar.write('            ~> ignore iteration: ' + str(it), i)
            pbar.update(i)
        pbar.finish()

        fle.close()
        fole.close()
   def big2littlePTS(self,fileName,foleName):

      # ~~ Openning files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      fle = open(fileName,'rb')
      fole = open(foleName,'wb')
      print '           +> writing the volumes-file: ',foleName

      # ~~ Read/Write dimensions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      n1 = self.NPOIN3+1
      minvol = self.minvol * np.ones(self.NPOIN3,dtype=np.float32)

      # ~~ Read volumes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      pbar = ProgressBar(maxval=self.HYDROIT).start()
      for i in range(self.HYDROIT):
         l,it = unpack('>ii',fle.read(4+4))
         VOLUME = np.asarray( unpack('>'+str(self.NPOIN3)+'f',fle.read(4*self.NPOIN3)) )
         VOLUME = np.maximum(VOLUME,minvol)
         fle.seek(4,1)
         if it >= self.tfrom and it <= self.tstop:
            pbar.write('            ~> read iteration: '+str(it),i)
            fole.write(pack('<ii',4*n1,it-self.HYDRO00))
            fole.write(pack('<'+str(self.NPOIN3)+'f',*(VOLUME)))
            fole.write(pack('<i',4*n1))
         else:
            pbar.write('            ~> ignore iteration: '+str(it),i)
         pbar.update(i)
      pbar.finish()

      fle.close()
      fole.close()