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()
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()
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()