import numpy as np
import glob
#HOW_TO_USE: set the filename, the max of stress, the averaging, and the number of eqdist. values

#**********set theese parameters:**********
#for g in range(1,21):
    
fname = 'param.txt' #the name of the file
    #******************************************

rawparam = np.loadtxt(fname) #rawdata is the strain vs. stress values 
n = rawparam.size/7
    #print n

    #param = np.zeros((n,8))
    
        
for g in range(0,n):
    z=rawparam[g,0]
    y=rawparam[g,1]
    a=rawparam[g,2]
    b=rawparam[g,3]
    c=rawparam[g,4]
    d=rawparam[g,5]
    e=rawparam[g,6]
    #print a
    filename=str(int(z))+'_'+str(int(y))+'.dat'
    rawdata = np.loadtxt(filename)
    print filename
    #print rawdata[0,0]
    length = rawdata.size/5
    #print length
    data = np.zeros((length,5))
    for h in range(0,length):
        x=rawdata[h,0]
        data[h,1] = rawdata[h,1]-(a+b*x+c*x*x+d*x*x*x+e*x*x*x*x)
        data[h,0] = rawdata[h,0]
        data[h,2] = rawdata[h,2]
        data[h,3] = rawdata[h,3]
        data[h,4] = rawdata[h,4]
    #print data[0,1]
    
    resfname = "f_"+filename
    res = open(resfname, "w")
    for h in range (0,length):
        dataline = str(data[h,0])+" "+str(data[h,1])+" "+str(data[h,2])+" "+str(data[h,3])+" "+str(data[h,4])
        #print dataline
        res.write(dataline + '\n')
    print resfname
    res.close()
    
        
"""#    print data[k,1]
    
    for k in range(1,pn):
        j = 0
        sindex = 0
        while data[k,avg] > rawdata[j,avg]:
            j+=1
            sindex = j
        part = (data[k,avg]-rawdata[sindex-1,avg])/(rawdata[sindex,avg]-rawdata[sindex-1,avg])
        data[k,navg] = part*(rawdata[sindex,navg]-rawdata[sindex-1,navg]) + rawdata[sindex-1,navg]
        #print rawdata[sindex-1,navg], data[k,navg], rawdata[sindex,navg], part, "sss", rawdata[sindex-1,avg], data[k,avg], rawdata[sindex,avg] 
    
        
    resfname = "s"+fname
    res = open(resfname, "w")
    for h in range (0,pn):
        dataline = str(data[h,0])+" "+str(data[h,1])
        #print dataline
        res.write(dataline + '\n')
    res.close()
"""
