From d11a427511e244c59d3076758e8093dbd0813d9d Mon Sep 17 00:00:00 2001 From: Wouter Peters <wouter.peters@wur.nl> Date: Sun, 13 Nov 2011 10:30:55 +0000 Subject: [PATCH] changes to catch booleans, and an error in reshaping the statevector --- da/baseclasses/statevector.py | 7 ++++--- da/tools/initexit.py | 6 ++++-- da/tools/pipeline.py | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/da/baseclasses/statevector.py b/da/baseclasses/statevector.py index f8aa0bab..4eeb8273 100755 --- a/da/baseclasses/statevector.py +++ b/da/baseclasses/statevector.py @@ -258,7 +258,7 @@ class StateVector(object): # Create the first ensemble member with a deviation of 0.0 and add to list NewMember = self.GetNewMember(0) - NewMember.ParameterValues = np.zeros((self.nparams),float) + NewMean + NewMember.ParameterValues = NewMean.flatten() # no deviations dummy = self.EnsembleMembers[lag-1].append(NewMember) # Create members 1:nmembers and add to EnsembleMembers list @@ -351,7 +351,8 @@ class StateVector(object): dummy = f.AddData(savedict) members = self.EnsembleMembers[n] - data = np.asarray([m.ParameterValues for m in members])- np.asarray(MeanState) + devs = np.asarray([m.ParameterValues.flatten() for m in members]) + data = devs- np.asarray(MeanState) savedict = f.StandardVar(varname='ensemblestate') savedict['dims'] = dimlag+dimmembers+dimparams @@ -391,7 +392,7 @@ class StateVector(object): for n in range(self.nlag): for m in range(self.nmembers): NewMember = self.GetNewMember(m) - NewMember.ParameterValues = EnsembleMembers[n,m,:] + MeanState[n] # add the mean to the deviations to hold the full parameter values + NewMember.ParameterValues = EnsembleMembers[n,m,:].flatten() + MeanState[n] # add the mean to the deviations to hold the full parameter values dummy = self.EnsembleMembers[n].append(NewMember) msg = 'Successfully read the State Vector from file (%s) ' % (filename,) ; logging.info(msg) diff --git a/da/tools/initexit.py b/da/tools/initexit.py index cbcf9494..a4bdea6e 100755 --- a/da/tools/initexit.py +++ b/da/tools/initexit.py @@ -146,8 +146,10 @@ class CycleControl(dict): from da.tools.general import ToDatetime for k,v in self.iteritems(): - if v == 'True' : self[k] = True - if v == 'False': self[k] = False + if v in ['True','true', '1', 't','T', 'y', 'yes']: + self[k] = True + if v in ['False','false', '0', 'f','F', 'n', 'no']: + self[k] = False if 'date' in k : self[k] = ToDatetime(v) if 'time.start' in k : self[k] = ToDatetime(v) diff --git a/da/tools/pipeline.py b/da/tools/pipeline.py index 7354dd83..f7167313 100755 --- a/da/tools/pipeline.py +++ b/da/tools/pipeline.py @@ -330,7 +330,7 @@ def RunForecastModel(DaCycle,ObsOperator): status = ObsOperator.ValidateInput() - status = ObsOperator.Run() + #status = ObsOperator.Run() dummy = ObsOperator.SaveData() -- GitLab