################### Begin Class ObservationOperator ###################
classObservationOperator(object):
"""
Testing
=======
This is a class that defines an ObervationOperator. This object is used to control the sampling of
a statevector in the ensemble Kalman filter framework. The methods of this class specify which (external) code
is called to perform the sampling, and which files should be read for input and are written for output.
The baseclasses consist mainly of empty methods that require an application specific application. The baseclass will take observed values, and perturb them with a random number chosen from the model-data mismatch distribution. This means no real operator will be at work, but random normally distributed residuals will come out of y-H(x) and thus the inverse model can proceed. This is mainly for testing the code...
"""
def__init__(self,dacycle=None):
""" The instance of an ObservationOperator is application dependent """
self.ID=identifier
self.version=version
self.restart_filelist=[]
...
...
@@ -50,8 +47,6 @@ class ObservationOperator(object):
defprepare_run(self):
""" Prepare the running of the actual forecast model, for example compile code """
importos
# Define the name of the file that will contain the modeled output of each observation