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