Skip to content
Snippets Groups Projects
Commit d6f9348a authored by Peters, Wouter's avatar Peters, Wouter
Browse files

added diagnostic output from optimizer

parent d45303d6
Branches
No related tags found
No related merge requests found
......@@ -85,8 +85,8 @@ class Optimizer(object):
members = StateVector.EnsembleMembers[n]
self.x[n*self.nparams:(n+1)*self.nparams] = members[0].ParameterValues[n]
self.X_prime[n*self.nparams:(n+1)*self.nparams,:] = np.transpose(np.array([m.ParameterValues for m in members]))
allobs.append( StateVector.EnsembleMembers[n][0].ModelSample.Data.getvalues('obs') )
allsamples.append( StateVector.EnsembleMembers[n][0].ModelSample.Data.getvalues('simulated') )
allobs.extend( StateVector.EnsembleMembers[n][0].ModelSample.Data.getvalues('obs') )
allsamples.extend( StateVector.EnsembleMembers[n][0].ModelSample.Data.getvalues('simulated') )
self.X_prime = self.X_prime - self.x[:,np.newaxis] # make into a deviation matrix
self.obs[:] = np.array(allobs)
......
......@@ -94,6 +94,7 @@ class StateVector(object):
self.nlag = dims[0]
self.nmembers = dims[1]
self.nparams = dims[2]
self.nobs = 0
self.isOptimized = False
# These list objects hold the data for each time step of lag in the system. Note that the ensembles for each time step consist
......
......@@ -30,6 +30,9 @@ class CtObservations(Observation):
def getversion(self):
return version
def getlength(self):
return len(self.Data)
def Initialize(self,DaCycle):
self.startdate = DaCycle['time.sample.start']
......
......@@ -224,8 +224,10 @@ def SampleOneCycle(DaCycle,Samples,StateVector, ObservationOperator,lag):
filename = os.path.join(DaCycle['dir.output'],'samples.%03d.nc'%Member.membernumber)
dummy = Samples.AddSimulations(filename,silent)
Member.ModelSample = Samples
StateVector.nobs += Samples.getlength()
silent=True
msg = "Added samples from the observation operator to each member of the StateVector" ; logging.debug(msg)
# Advance the sample time
......@@ -241,7 +243,7 @@ def Invert(DaCycle, StateVector, Optimizer ):
dims = ( int(DaCycle['time.nlag']),
int(DaCycle['forecast.nmembers']),
int(DaCycle.DaSystem['nparameters']),
nobs, )
StateVector.nobs, )
dummy = Optimizer.Initialize(dims)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment