From bf131089fa6ebc914e2feff7d1ee401a46c90d3f Mon Sep 17 00:00:00 2001 From: Yngve Inntjore Levinsen <Yngve.Levinsen@esss.se> Date: Fri, 17 Nov 2017 14:19:51 +0100 Subject: [PATCH] ess.TraceWin.density_file upgraded to API version 10 --- ess/TraceWin.py | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/ess/TraceWin.py b/ess/TraceWin.py index 6cafd9d..758d281 100644 --- a/ess/TraceWin.py +++ b/ess/TraceWin.py @@ -582,6 +582,9 @@ class density_file: self.Xouv=numpy.zeros(counter) self.Youv=numpy.zeros(counter) + if self.version>=9: + self.dXouv=numpy.zeros(counter) + self.dYouv=numpy.zeros(counter) self.moy=numpy.zeros((counter,7)) self.moy2=numpy.zeros((counter,7)) @@ -589,6 +592,10 @@ class density_file: self._max=numpy.zeros((counter,7)) self._min=numpy.zeros((counter,7)) + if self.version>=10: + self.maxR=numpy.zeros((counter,7)) + self.minR=numpy.zeros((counter,7)) + if self.version>=5: self.rms_size=numpy.zeros((counter,7)) self.rms_size2=numpy.zeros((counter,7)) @@ -633,7 +640,7 @@ class density_file: # in case we did not read all data, this will detect our mistake: shift=0 - while year!=2011 or version not in [8,9]: + while year!=2011 or version not in [8,9,10,11,12]: shift+=1 version=year year=numpy.fromfile(self.fin, dtype=numpy.int16, count=1)[0] @@ -655,13 +662,19 @@ class density_file: if self.envelope: if self.version==8: - numpy.fromfile(self.fin, dtype=numpy.int16, count=292/2) - if self.version==9: - numpy.fromfile(self.fin, dtype=numpy.int16, count=300/2) + numpy.fromfile(self.fin, dtype=numpy.int16, count=292//2) + elif self.version==9: + numpy.fromfile(self.fin, dtype=numpy.int16, count=300//2) + elif self.version==10: + numpy.fromfile(self.fin, dtype=numpy.int16, count=356//2) + else: + raise TypeError("It is not possible to read this format..") elif self.version==8: - numpy.fromfile(self.fin, dtype=numpy.int16, count=12344/2) + numpy.fromfile(self.fin, dtype=numpy.int16, count=12344//2) elif self.version==9: - numpy.fromfile(self.fin, dtype=numpy.int16, count=12352/2) + numpy.fromfile(self.fin, dtype=numpy.int16, count=12352//2) + elif self.version==10: + numpy.fromfile(self.fin, dtype=numpy.int16, count=12408//2) elif self.Nrun>1: #WARN not 100% sure if this is correct.. numpy.fromfile(self.fin, dtype=numpy.int16, count=((5588+self.Nrun*12)/2)) @@ -709,6 +722,10 @@ class density_file: self._max[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=n)[:] self._min[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=n)[:] + if self.version>=10: + self.maxR[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=n)[:] + self.minR[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=n)[:] + if self.version>=5: self.rms_size[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=n) self.rms_size2[self.i]=numpy.fromfile(self.fin, dtype=numpy.float32, count=n) -- GitLab