print nomreg
print "value: ", vals, " reference: ", valsref
raise ValueError("z interpolation error")
+
+from MEDLoader import MEDLoader, MEDCouplingFieldDouble, ON_NODES, DataArrayDouble, MEDFileMesh
+import os, time
+
+def controlTelemacResult(aMedFile, refs):
+ """
+ Check if the result med file exist and contains result fields
+ """
+ print aMedFile
+ for i in range(10):
+ time.sleep(3)
+ print 'waiting result...'
+ if os.path.exists(aMedFile):
+ break
+ time.sleep(3)
+ try:
+ MEDLoader.CheckFileForRead(aMedFile)
+ except:
+ raise ValueError("problem while reading Telemac result med file")
+ names = MEDLoader.GetMeshNames(aMedFile)
+ infos = MEDLoader.GetUMeshGlobalInfo(aMedFile, names[0])
+ stats = {}
+ stats['nbTriangles'] = infos[0][0][0][1]
+ stats['nbNodes'] = infos[3]
+ stats['fieldNames'] = MEDLoader.GetNodeFieldNamesOnMesh(aMedFile, names[0])
+ stats['iterations'] = MEDLoader.GetNodeFieldIterations(aMedFile, names[0], 'SURFACE LIBRE')
+ for nomreg, valsref in refs.iteritems():
+ vals = stats[nomreg]
+ if vals != valsref:
+ print nomreg
+ print "value: ", vals, " reference: ", valsref
+ raise ValueError("error in Telemac result")
+