Newer
Older
for i in range(len(stds)):
# some small std are removed..
if stds[i]/means[i]>1e-8:
d1.append('%f(%f)' % (means[i],stds[i]))
else: #error is 0
d1.append(str(means[i]))
d1=[' '.join(d1)]
# create data:
data=h1+d1+h2+d2+d3
'''
Read partran1.out files..
'''
# python 3 forward compatibility:
from builtins import range
def __init__(self,filename):
self.filename=filename
self._readAsciiFile()
def _readAsciiFile(self):
import numpy
stream=open(self.filename,'r')
for i in range(10):
self.data=numpy.loadtxt(stream)
class field_map:
'''
Class to read in the field map structures
WARNING: Work in progress!!
'''
def __init__(self, filename):
self._filename=filename
self._load_data(filename)
def _load_data(self,filename):
import os,numpy
if not os.path.isfile(filename):
raise ValueError("Cannot find file {}".format(filename))
numindexes.append(int(l[0])+1)
if len(l)==2:
self.start.append(0.0)
self.end.append(float(l[1]))
else:
self.start.append(float(l[1]))
self.end.append(float(l[2]))
l=fin.readline().split()
self.z=numpy.arange(self.start[0],self.end[0],(self.end[0]-self.start[0])/numindexes[0])
if len(self.start)>1:
self.y=numpy.arange(self.start[1],self.end[1],(self.end[1]-self.start[1])/numindexes[1])
if len(self.start)>2:
self.x=numpy.arange(self.start[2],self.end[2],(self.end[2]-self.start[2])/(numindexes[2]))
self.norm=float(l[0])
self.map=numpy.loadtxt(fin).reshape(numindexes)
def savemap(self, filename):
for n,s in zip(self.map.shape,self.size):
fout.write('{} {}\n'.format(n-1,s))
fout.write('{}\n'.format(self.norm))
l=1
for i in self.map.shape:
l*=i
data=self.map.reshape(l)
for j in data:
fout.write('{}\n'.format(j))