else:
#print "ObservationOperator is", ObservationOperator
#print "ObservationOperatorType is", ObservationOperatorType
- assim_study.setObservationOperatorType(ObservationOperatorType)
- assim_study.setObservationOperator(ObservationOperator)
+ assim_study.setObservationOperatorType("Matrix", ObservationOperatorType)
+ assim_study.setObservationOperator("Matrix", ObservationOperator)
ObservationOperatorOk = 1
if ObservationOperatorOk == 0:
AlgoDataRequirements["3DVAR"] = ["Background", "BackgroundError",
"Observation", "ObservationOperator", "ObservationError"]
AlgoType = {}
-AlgoType["Blue"] = "Direct"
+#AlgoType["Blue"] = "Direct"
+AlgoType["Blue"] = "Optim"
AlgoType["3DVAR"] = "Optim"
proc.edAddDFLink(opt_script_node.getOutputPort("result"), optimizer_node.edGetPortForOutPool())
else:
- logging.fatal("Fake optim script node currently not implemented")
- sys.exit(1)
+ factory_opt_script_node = catalogAd._nodeMap["FakeOptimizerLoopNode"]
+ opt_script_node = factory_opt_script_node.cloneNode("FakeFunctionNode")
+
+ # Add it
+ computation_bloc = runtime.createBloc("computation_bloc")
+ optimizer_node.edSetNode(computation_bloc)
+ computation_bloc.edAddChild(opt_script_node)
+
+ # We connect Optimizer with the script
+ proc.edAddDFLink(optimizer_node.edGetSamplePort(), opt_script_node.getInputPort("computation"))
+ proc.edAddDFLink(opt_script_node.getOutputPort("result"), optimizer_node.edGetPortForOutPool())
# Step 4: create post-processing from user configuration
if "Analysis" in study_config.keys():