Ignore:
Timestamp:
13/01/05 16:03:52 (15 years ago)
Author:
selatham
Message:

bug fixes, write classes and other new classes as required.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • nappy/trunk/naFile2110.py

    r349 r361  
    2626        """ 
    2727        Reads FFI-specifc header section. 
    28         """      
     28        """ 
    2929        self._readCommonHeader() 
    3030        self.DX=readItemsFromLine(self.file.readline(), self.NIV, float) 
    31         self.DX.reverse()  # Reverse because C-type array is least-changing first         
     31        self.DX.reverse()  # Reverse because C-type array is least-changing first 
    3232        self.XNAME=readItemsFromLines(self._readLines(self.NIV), self.NIV, str) 
    33         self.XNAME.reverse()  # Reverse because C-type array is least-changing first         
     33        self.XNAME.reverse()  # Reverse because C-type array is least-changing first 
    3434        self._readVariablesHeaderSection() 
    3535        self._readAuxVariablesHeaderSection() 
    3636        self._readComments() 
     37 
     38    def writeHeader(self): 
     39        """ 
     40        Writes FFI-specifc header section. 
     41        """ 
     42        self._writeCommonHeader() 
     43        self.DX.reverse() 
     44        self.file.write(("%s "*self.NIV+"\n") % tuple(self.DX)) 
     45        self.XNAME.reverse() 
     46        self.file.write("%s\n"*self.NIV % tuple(self.XNAME)) 
     47        self._writeVariablesHeaderSection() 
     48        self._writeAuxVariablesHeaderSection() 
     49        self._writeComments() 
    3750 
    3851    def _setupArrays(self): 
     
    4457        self.X=[]  # Needs to be a list of sublists each containing [x0n, [x1n, x1n+1, x1n+2....]] 
    4558        self.NX=[] 
    46   
     59 
    4760        for n in range(self.NV): 
    4861            self.V.append([]) 
    4962        for i in range(self.NAUXV): 
    50             self.A.append([]) 
     63           self.A.append([]) 
    5164 
    5265    def _readData1(self, datalines, ivar_count):  
     
    5770        (x_and_a, rtlines)=readItemsFromUnknownLines(datalines, self.NAUXV+1, float) 
    5871        (x, aux)=(x_and_a[0], x_and_a[1:]) 
     72        count=0 
    5973        for a in range(self.NAUXV): 
    60             self.A.append(aux[a]) 
     74            self.A[a].append(aux[count]) 
     75            count=count+1 
     76        #for a in range(self.NAUXV): 
     77            #self.A.append(aux[a]) 
    6178        self.X.append([]) 
    6279        self.X[ivar_count].append(x) 
     
    6582        self.NX.append(int(aux[0])) 
    6683        return rtlines 
    67     
     84 
    6885    def _readData2(self, datalines, ivar_count): 
    6986        """ 
    7087        Reads second line/section (if used) of current block of data. 
    71         """         
     88        """ 
    7289        # Now get the dependent variables 
    7390        for n in range(self.NV): 
     
    83100        rtlines=datalines 
    84101        return rtlines 
     102 
     103    def writeData(self): 
     104        """ 
     105        Writes the data section of the file. 
     106        This method can be called directly by the user. 
     107        """ 
     108        # Set up unbounded IV loop 
     109       # self.NX.reverse() 
     110        for m in range(len(self.X)): 
     111             # Write Independent variable mark and auxiliary variables 
     112             var_string="%s    " % self.X[m][0] 
     113             for a in range(self.NAUXV): 
     114                 var_string=var_string+("%s    " % self.A[a][m]) 
     115             self.file.write("%s\n" % var_string.rstrip()) 
     116             # Write second independant variable and dependant variables 
     117             for p in range(self.NX[m]): 
     118                var_string="%s    " % self.X[m][1][p] 
     119                for n in range(self.NV): 
     120                        var_string=var_string+("%s    " %self.V[n][m][p]) 
     121                self.file.write("%s    \n" %var_string) 
Note: See TracChangeset for help on using the changeset viewer.