Salome HOME
Final cleanup
[tools/medcoupling.git] / src / MEDLoader / Swig / MEDLoaderTest1.py
index 712ed34ca886c3031833f68663a58ce5dbb18874..6bb2790738e18cdfadc53470b0ca1c44982b49e4 100644 (file)
@@ -1,5 +1,5 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2015  CEA/DEN, EDF R&D
+# Copyright (C) 2007-2016  CEA/DEN, EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -27,55 +27,55 @@ from MEDLoaderDataForTest import MEDLoaderDataForTest
 class MEDLoaderTest1(unittest.TestCase):
     def testMesh1DRW(self):
         mesh=MEDLoaderDataForTest.build1DMesh_1();
-        mesh.checkCoherency();
-        MEDLoader.MEDLoader.WriteUMesh("Pyfile1.med",mesh,True);
-        mesh_rw=MEDLoader.MEDLoader.ReadUMeshFromFile("Pyfile1.med",mesh.getName(),0);
+        mesh.checkConsistencyLight();
+        MEDLoader.WriteUMesh("Pyfile1.med",mesh,True);
+        mesh_rw=MEDLoader.ReadUMeshFromFile("Pyfile1.med",mesh.getName(),0);
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
     def testMesh2DCurveRW(self):
         mesh=MEDLoaderDataForTest.build2DCurveMesh_1();
-        mesh.checkCoherency();
-        MEDLoader.MEDLoader.WriteUMesh("Pyfile2.med",mesh,True);
-        mesh_rw=MEDLoader.MEDLoader.ReadUMeshFromFile("Pyfile2.med",mesh.getName(),0);
+        mesh.checkConsistencyLight();
+        MEDLoader.WriteUMesh("Pyfile2.med",mesh,True);
+        mesh_rw=MEDLoader.ReadUMeshFromFile("Pyfile2.med",mesh.getName(),0);
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
     def testMesh2DRW(self):
         mesh=MEDLoaderDataForTest.build2DMesh_1();
-        mesh.checkCoherency();
-        MEDLoader.MEDLoader.WriteUMesh("Pyfile3.med",mesh,True);
-        mesh_rw=MEDLoader.MEDLoader.ReadUMeshFromFile("Pyfile3.med",mesh.getName(),0);
+        mesh.checkConsistencyLight();
+        MEDLoader.WriteUMesh("Pyfile3.med",mesh,True);
+        mesh_rw=MEDLoader.ReadUMeshFromFile("Pyfile3.med",mesh.getName(),0);
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
     def testMesh3DSurfRW(self):
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
-        mesh.checkCoherency();
-        MEDLoader.MEDLoader.WriteUMesh("Pyfile4.med",mesh,True);
-        mesh_rw=MEDLoader.MEDLoader.ReadUMeshFromFile("Pyfile4.med",mesh.getName(),0);
+        mesh.checkConsistencyLight();
+        MEDLoader.WriteUMesh("Pyfile4.med",mesh,True);
+        mesh_rw=MEDLoader.ReadUMeshFromFile("Pyfile4.med",mesh.getName(),0);
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
     def testMesh3DRW(self):
         mesh=MEDLoaderDataForTest.build3DMesh_1();
-        mesh.checkCoherency();
-        MEDLoader.MEDLoader.WriteUMesh("Pyfile5.med",mesh,True);
-        mesh_rw=MEDLoader.MEDLoader.ReadUMeshFromFile("Pyfile5.med",mesh.getName(),0);
+        mesh.checkConsistencyLight();
+        MEDLoader.WriteUMesh("Pyfile5.med",mesh,True);
+        mesh_rw=MEDLoader.ReadUMeshFromFile("Pyfile5.med",mesh.getName(),0);
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
     def testFieldRW1(self):
         f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
-        MEDLoader.MEDLoader.WriteField("Pyfile6.med",f1,True);
-        f2=MEDLoader.MEDLoader.ReadFieldCell("Pyfile6.med",f1.getMesh().getName(),0,f1.getName(),0,1);
+        MEDLoader.WriteField("Pyfile6.med",f1,True);
+        f2=MEDLoader.ReadFieldCell("Pyfile6.med",f1.getMesh().getName(),0,f1.getName(),0,1);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
         #
         f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
-        MEDLoader.MEDLoader.WriteField("Pyfile7.med",f1,True);
-        f2=MEDLoader.MEDLoader.ReadFieldNode("Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
+        MEDLoader.WriteField("Pyfile7.med",f1,True);
+        f2=MEDLoader.ReadFieldNode("Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
-        self.assertRaises(Exception,MEDLoader.MEDLoader.ReadFieldCell,"Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
+        self.assertRaises(Exception,MEDLoader.ReadFieldCell,"Pyfile7.med",f1.getMesh().getName(),0,f1.getName(),2,3);
         pass
 
     def testFieldRW2(self):
@@ -83,46 +83,46 @@ class MEDLoaderTest1(unittest.TestCase):
         VAL1=12345.67890314;
         VAL2=-1111111111111.;
         f1=MEDLoaderDataForTest.buildVecFieldOnCells_1();
-        MEDLoader.MEDLoader.WriteField(fileName,f1,True);
+        MEDLoader.WriteField(fileName,f1,True);
         f1.setTime(10.,8,9);
         f1.getArray().setIJ(0,0,VAL1);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.setTime(10.14,18,19);
         f1.getArray().setIJ(0,0,VAL2);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         #retrieving time steps...
-        f2=MEDLoader.MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),8,9);
+        f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),8,9);
         f1.setTime(10.,8,9);
         f1.getArray().setIJ(0,0,VAL1);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
-        f2=MEDLoader.MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),0,1);
+        f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),0,1);
         f3=MEDLoaderDataForTest.buildVecFieldOnCells_1();
         self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
-        f2=MEDLoader.MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),18,19);
+        f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),18,19);
         f1.setTime(10.14,18,19);
         f1.getArray().setIJ(0,0,VAL2);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
         #test of throw on invalid (dt,it)
-        self.assertRaises(Exception,MEDLoader.MEDLoader.ReadFieldCell,fileName,f1.getMesh().getName(),0,f1.getName(),28,19);
+        self.assertRaises(Exception,MEDLoader.ReadFieldCell,fileName,f1.getMesh().getName(),0,f1.getName(),28,19);
         #ON NODES
         f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
         fileName2="Pyfile9.med";
-        MEDLoader.MEDLoader.WriteField(fileName2,f1,True);
+        MEDLoader.WriteField(fileName2,f1,True);
         f1.setTime(110.,108,109);
         tmp=f1.getArray().getPointer();
         f1.getArray().setIJ(0,3,VAL1);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2,f1);
         f1.setTime(210.,208,209);
         f1.getArray().setIJ(0,3,VAL2);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2,f1);
-        f2=MEDLoader.MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),108,109);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName2,f1);
+        f2=MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),108,109);
         f1.setTime(110.,108,109);
         f1.getArray().setIJ(0,3,VAL1);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
-        f2=MEDLoader.MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),2,3);
+        f2=MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),2,3);
         f3=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
         self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
-        f2=MEDLoader.MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),208,209);
+        f2=MEDLoader.ReadFieldNode(fileName2,f1.getMesh().getName(),0,f1.getName(),208,209);
         f1.setTime(210.,208,209);
         f1.getArray().setIJ(0,3,VAL2);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
@@ -143,65 +143,65 @@ class MEDLoaderTest1(unittest.TestCase):
         f1.setTime(10.,8,9);
         tmp=f1.getArray().getPointer();
         f1.getArray().setIJ(0,0,VAL1);
-        MEDLoader.MEDLoader.WriteField(fileName,f1,True);
+        MEDLoader.WriteField(fileName,f1,True);
         f1.setTime(10.14,18,19);
         f1.getArray().setIJ(0,0,VAL2);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.getMesh().setName(name3);
         f1.setTime(10.55,28,29);
         f1.getArray().setIJ(0,0,3*VAL1);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
-        vec=MEDLoader.MEDLoader.GetMeshNamesOnField(fileName,name1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        vec=MEDLoader.GetMeshNamesOnField(fileName,name1);
         f1.setTime(10.66,38,39);
         f1.getArray().setIJ(0,0,3*VAL2);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.setTime(10.77,48,49);
         f1.getArray().setIJ(0,0,4*VAL2);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         #ON NODES
         f1=MEDLoaderDataForTest.buildVecFieldOnNodes_1();
         f1.setName(name1);
         f1.getMesh().setName(name3);
         f1.setTime(110.,8,9);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.setTime(110.,108,109);
         tmp=f1.getArray().getPointer();
         f1.getArray().setIJ(0,3,VAL1);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.setTime(210.,208,209);
         f1.getArray().setIJ(0,3,VAL2);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         #
-        it1=MEDLoader.MEDLoader.GetCellFieldIterations(fileName,name3,name1);
+        it1=MEDLoader.GetCellFieldIterations(fileName,name3,name1);
         self.assertEqual(5,len(it1));
         self.assertEqual(8,it1[0][0]); self.assertEqual(9,it1[0][1]);
         self.assertEqual(18,it1[1][0]); self.assertEqual(19,it1[1][1]);
         self.assertEqual(28,it1[2][0]); self.assertEqual(29,it1[2][1]);
         self.assertEqual(38,it1[3][0]); self.assertEqual(39,it1[3][1]);
         self.assertEqual(48,it1[4][0]); self.assertEqual(49,it1[4][1]);
-        it3=MEDLoader.MEDLoader.GetNodeFieldIterations(fileName,name3,name1);
+        it3=MEDLoader.GetNodeFieldIterations(fileName,name3,name1);
         self.assertEqual(3,len(it3));
         self.assertEqual(8,it3[0][0]); self.assertEqual(9,it3[0][1]);
         self.assertEqual(108,it3[1][0]); self.assertEqual(109,it3[1][1]);
         self.assertEqual(208,it3[2][0]); self.assertEqual(209,it3[2][1]);
         #
         #
-        f1=MEDLoader.MEDLoader.ReadFieldCell(fileName,name3,0,name1,8,9);
+        f1=MEDLoader.ReadFieldCell(fileName,name3,0,name1,8,9);
         self.assertAlmostEqual(VAL1,f1.getArray().getIJ(0,0),13);
-        f1=MEDLoader.MEDLoader.ReadFieldCell(fileName,name3,0,name1,18,19);
+        f1=MEDLoader.ReadFieldCell(fileName,name3,0,name1,18,19);
         self.assertAlmostEqual(VAL2,f1.getArray().getIJ(0,0),13);
-        f1=MEDLoader.MEDLoader.ReadFieldCell(fileName,name3,0,name1,28,29);
+        f1=MEDLoader.ReadFieldCell(fileName,name3,0,name1,28,29);
         self.assertAlmostEqual(3*VAL1,f1.getArray().getIJ(0,0),13);
-        f1=MEDLoader.MEDLoader.ReadFieldCell(fileName,name3,0,name1,38,39);
+        f1=MEDLoader.ReadFieldCell(fileName,name3,0,name1,38,39);
         self.assertAlmostEqual(3*VAL2,f1.getArray().getIJ(0,0),13);
-        f1=MEDLoader.MEDLoader.ReadFieldCell(fileName,name3,0,name1,48,49);
+        f1=MEDLoader.ReadFieldCell(fileName,name3,0,name1,48,49);
         self.assertAlmostEqual(4*VAL2,f1.getArray().getIJ(0,0),13);
         #
-        f1=MEDLoader.MEDLoader.ReadFieldNode(fileName,name3,0,name1,8,9);
+        f1=MEDLoader.ReadFieldNode(fileName,name3,0,name1,8,9);
         self.assertAlmostEqual(71.,f1.getArray().getIJ(0,3),13);
-        f1=MEDLoader.MEDLoader.ReadFieldNode(fileName,name3,0,name1,108,109);
+        f1=MEDLoader.ReadFieldNode(fileName,name3,0,name1,108,109);
         self.assertAlmostEqual(VAL1,f1.getArray().getIJ(0,3),13);
-        f1=MEDLoader.MEDLoader.ReadFieldNode(fileName,name3,0,name1,208,209);
+        f1=MEDLoader.ReadFieldNode(fileName,name3,0,name1,208,209);
         self.assertAlmostEqual(VAL2,f1.getArray().getIJ(0,3),13);
         pass
 
@@ -224,15 +224,15 @@ class MEDLoaderTest1(unittest.TestCase):
         mesh4.setCoords(mesh1.getCoords());
         meshes=[mesh1,mesh2,mesh3,mesh4]
         mnane="3DToto";
-        MEDLoader.MEDLoader.WriteUMeshesPartition(fileName,mnane,meshes,True);
+        MEDLoader.WriteUMeshesPartition(fileName,mnane,meshes,True);
         #
-        mesh5=MEDLoader.MEDLoader.ReadUMeshFromFile(fileName,mnane);
+        mesh5=MEDLoader.ReadUMeshFromFile(fileName,mnane);
         mesh1.setName(mnane);
         part3=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
         mesh6=mesh5.buildPartOfMySelf(part3,True);
         mesh6.setName(mnane);
         self.assertTrue(mesh6.isEqual(mesh1,1e-12));
-        grps=MEDLoader.MEDLoader.GetMeshGroupsNames(fileName,mnane);
+        grps=MEDLoader.GetMeshGroupsNames(fileName,mnane);
         self.assertEqual(4,len(grps));
         grps.index("mesh2");
         grps.index("mesh3");
@@ -240,25 +240,25 @@ class MEDLoaderTest1(unittest.TestCase):
         grps.index("3DMesh_1");
         #
         vec=("mesh2",);
-        mesh2_2=MEDLoader.MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
+        mesh2_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
         self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
         vec=["mesh3"];
-        mesh3_2=MEDLoader.MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
+        mesh3_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
         self.assertTrue(mesh3_2.isEqual(mesh3,1e-12));
         vec=["mesh4"];
-        mesh4_2=MEDLoader.MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
+        mesh4_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
         self.assertTrue(mesh4_2.isEqual(mesh4,1e-12));
         vec="3DMesh_1";
-        mesh1_2=MEDLoader.MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
+        mesh1_2=MEDLoader.ReadUMeshFromGroups(fileName,mnane,0,vec);
         mesh1.setName("3DMesh_1");
         self.assertTrue(mesh1_2.isEqual(mesh1,1e-12));
         #
         vec=["Family_-3","Family_-5"];
-        mesh2_2=MEDLoader.MEDLoader.ReadUMeshFromFamilies(fileName,mnane,0,vec);
+        mesh2_2=MEDLoader.ReadUMeshFromFamilies(fileName,mnane,0,vec);
         mesh2_2.setName("mesh2");
         self.assertTrue(mesh2_2.isEqual(mesh2,1e-12));
         #
-        ret=MEDLoader.MEDLoader.GetMeshFamiliesNamesOnGroup(fileName,"3DToto","3DMesh_1");
+        ret=MEDLoader.GetMeshFamiliesNamesOnGroup(fileName,"3DToto","3DMesh_1");
         self.assertEqual(4,len(ret));
         ref=['Family_-3','Family_-4','Family_-2','Family_-5']
         self.assertIn(ref[0],ret);
@@ -266,7 +266,7 @@ class MEDLoaderTest1(unittest.TestCase):
         self.assertIn(ref[2],ret);
         self.assertIn(ref[3],ret);
         #
-        ret1=MEDLoader.MEDLoader.GetMeshGroupsNamesOnFamily(fileName,"3DToto","Family_-3");
+        ret1=MEDLoader.GetMeshGroupsNamesOnFamily(fileName,"3DToto","Family_-3");
         self.assertEqual(2,len(ret1));
         self.assertEqual(ret1[0],"3DMesh_1");
         self.assertEqual(ret1[1],"mesh2");
@@ -276,7 +276,7 @@ class MEDLoaderTest1(unittest.TestCase):
         fileName="Pyfile12.med";
         mesh1=MEDLoaderDataForTest.build3DMesh_1();
         da,b,newNbOfNodes=mesh1.mergeNodes(1e-12);
-        MEDLoader.MEDLoader.WriteUMesh(fileName,mesh1,True);
+        MEDLoader.WriteUMesh(fileName,mesh1,True);
         part1=[1,2,4,13,15]
         mesh2=mesh1.buildPartOfMySelf(part1,True);
         mesh2.setName(mesh1.getName());#<- important for the test
@@ -292,14 +292,14 @@ class MEDLoaderTest1(unittest.TestCase):
         arr1=[71.,171.,10.,110.,20.,120.,30.,130.,40.,140.]
         array.setValues(arr1,nbOfCells,2);
         f1.setTime(3.14,2,7);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
-        MEDLoader.MEDLoader.WriteField(fileName,f1,False);#<- False important for the test
+        MEDLoader.WriteField(fileName,f1,False);#<- False important for the test
         #
-        f2=MEDLoader.MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
-        tt=MEDLoader.MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
+        f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
+        tt=MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
         self.assertEqual(tt,[MEDLoader.ON_CELLS]);
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
         #
         pass
@@ -307,17 +307,17 @@ class MEDLoaderTest1(unittest.TestCase):
     def testFieldGaussRW1(self):
         fileName="Pyfile13.med";
         f1=MEDLoaderDataForTest.buildVecFieldOnGauss_1();
-        MEDLoader.MEDLoader.WriteField(fileName,f1,True);
-        f2=MEDLoader.MEDLoader.ReadField(MEDLoader.ON_GAUSS_PT,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
+        MEDLoader.WriteField(fileName,f1,True);
+        f2=MEDLoader.ReadField(MEDLoader.ON_GAUSS_PT,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
         pass
 
     def testFieldGaussNERW1(self):
         fileName="Pyfile14.med";
         f1=MEDLoaderDataForTest.buildVecFieldOnGaussNE_1();
-        MEDLoader.MEDLoader.WriteField(fileName,f1,True);
-        self.assertEqual([MEDLoader.ON_GAUSS_NE],MEDLoader.MEDLoader.GetTypesOfField(fileName,'2DMesh_2','MyFieldOnGaussNE')) #Bug 22/5/2014
-        f2=MEDLoader.MEDLoader.ReadField(MEDLoader.ON_GAUSS_NE,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
+        MEDLoader.WriteField(fileName,f1,True);
+        self.assertEqual([MEDLoader.ON_GAUSS_NE],MEDLoader.GetTypesOfField(fileName,'2DMesh_2','MyFieldOnGaussNE')) #Bug 22/5/2014
+        f2=MEDLoader.ReadField(MEDLoader.ON_GAUSS_NE,fileName,f1.getMesh().getName(),0,f1.getName(),1,5);
         self.assertTrue(f1.isEqual(f2,1e-12,1e-12));
         pass
 
@@ -326,9 +326,9 @@ class MEDLoaderTest1(unittest.TestCase):
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
         renumber1=[2,5,1,0,3,4]
         mesh.renumberCells(renumber1,False);
-        mesh.checkCoherency();
-        MEDLoader.MEDLoader.WriteUMesh(fileName,mesh,True);
-        mesh_rw=MEDLoader.MEDLoader.ReadUMeshFromFile(fileName,mesh.getName(),0);
+        mesh.checkConsistencyLight();
+        MEDLoader.WriteUMesh(fileName,mesh,True);
+        mesh_rw=MEDLoader.ReadUMeshFromFile(fileName,mesh.getName(),0);
         self.assertTrue(mesh.isEqual(mesh_rw,1e-12));
         pass
 
@@ -343,23 +343,23 @@ class MEDLoaderTest1(unittest.TestCase):
         m.renumberCells(renum,False);
         m.orientCorrectlyPolyhedrons();
         # Writing
-        MEDLoader.MEDLoader.WriteUMesh(fileName,m,True);
+        MEDLoader.WriteUMesh(fileName,m,True);
         f1Tmp=m.getMeasureField(False);
         f1=f1Tmp.buildNewTimeReprFromThis(MEDLoader.ONE_TIME,False);
         f1.setTime(0.,1,2);
         f_1=f1.cloneWithMesh(True);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.applyFunc("2*x");
         f1.setTime(0.01,3,4);
         f_2=f1.cloneWithMesh(True);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.applyFunc("2*x/3");
         f1.setTime(0.02,5,6);
         f_3=f1.cloneWithMesh(True);
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         # Reading
         its=[(1,2),(3,4),(5,6)];
-        fs=MEDLoader.MEDLoader.ReadFieldsOnSameMesh(MEDLoader.ON_CELLS,fileName,f_1.getMesh().getName(),0,f_1.getName(),its);
+        fs=MEDLoader.ReadFieldsOnSameMesh(MEDLoader.ON_CELLS,fileName,f_1.getMesh().getName(),0,f_1.getName(),its);
         self.assertEqual(3,len(fs));
         self.assertTrue(fs[0].isEqual(f_1,1e-12,1e-12));
         self.assertTrue(fs[1].isEqual(f_2,1e-12,1e-12));
@@ -377,12 +377,12 @@ class MEDLoaderTest1(unittest.TestCase):
         m2d.renumberCells(renumber,False);
         m2d.setName("ExampleOfMultiDimW");
         meshes=[m2d,m3d]
-        MEDLoader.MEDLoader.WriteUMeshes(fileName,meshes,True);
-        m3d_bis=MEDLoader.MEDLoader.ReadUMeshFromFile(fileName,m2d.getName(),0);
+        MEDLoader.WriteUMeshes(fileName,meshes,True);
+        m3d_bis=MEDLoader.ReadUMeshFromFile(fileName,m2d.getName(),0);
         self.assertTrue(not m3d_bis.isEqual(m3d,1e-12));
         m3d_bis.setName(m3d.getName());
         self.assertTrue(m3d_bis.isEqual(m3d,1e-12));
-        m2d_bis=MEDLoader.MEDLoader.ReadUMeshFromFile(fileName,m2d.getName(),-1);#-1 for faces
+        m2d_bis=MEDLoader.ReadUMeshFromFile(fileName,m2d.getName(),-1);#-1 for faces
         self.assertTrue(m2d_bis.isEqual(m2d,1e-12));
         # Creation of a field on faces.
         f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,MEDLoader.ONE_TIME);
@@ -396,9 +396,9 @@ class MEDLoaderTest1(unittest.TestCase):
         f1.setArray(array);
         tmp=array.setValues(arr1,m2d.getNumberOfCells(),2);
         f1.setTime(3.14,2,7);
-        f1.checkCoherency();
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
-        f2=MEDLoader.MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),-1,f1.getName(),2,7);
+        f1.checkConsistencyLight();
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        f2=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),-1,f1.getName(),2,7);
         self.assertTrue(f2.isEqual(f1,1e-12,1e-12));
         pass
 
@@ -407,7 +407,7 @@ class MEDLoaderTest1(unittest.TestCase):
         fileName2="Pyfile20.med";
         m=MEDLoaderDataForTest.build2DMesh_1();
         nbOfNodes=m.getNumberOfNodes();
-        MEDLoader.MEDLoader.WriteUMesh(fileName,m,True);
+        MEDLoader.WriteUMesh(fileName,m,True);
         f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
         f1.setName("VFieldOnNodes");
         f1.setMesh(m);
@@ -418,22 +418,22 @@ class MEDLoaderTest1(unittest.TestCase):
         array.setInfoOnComponent(0,"tyty [mm]");
         array.setInfoOnComponent(1,"uiop [MW]");
         f1.setTime(3.14,2,7);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         arr2=[1,4]
         f2=f1.buildSubPart(arr2);
         f2.getMesh().setName(f1.getMesh().getName());
-        MEDLoader.MEDLoader.WriteField(fileName,f2,False);#<- False important for the test
+        MEDLoader.WriteField(fileName,f2,False);#<- False important for the test
         #
-        f3=MEDLoader.MEDLoader.ReadFieldNode(fileName,f2.getMesh().getName(),0,f2.getName(),2,7);
-        f3.checkCoherency();
+        f3=MEDLoader.ReadFieldNode(fileName,f2.getMesh().getName(),0,f2.getName(),2,7);
+        f3.checkConsistencyLight();
         self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
         #
         arr3=[1,3,0,5,2,4]
         f2.renumberNodes(arr3);
-        MEDLoader.MEDLoader.WriteUMesh(fileName2,m,True);
-        MEDLoader.MEDLoader.WriteField(fileName2,f2,False);#<- False important for the test
-        f3=MEDLoader.MEDLoader.ReadFieldNode(fileName2,f2.getMesh().getName(),0,f2.getName(),2,7);
-        f3.checkCoherency();
+        MEDLoader.WriteUMesh(fileName2,m,True);
+        MEDLoader.WriteField(fileName2,f2,False);#<- False important for the test
+        f3=MEDLoader.ReadFieldNode(fileName2,f2.getMesh().getName(),0,f2.getName(),2,7);
+        f3.checkConsistencyLight();
         self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
         #
         pass
@@ -441,7 +441,7 @@ class MEDLoaderTest1(unittest.TestCase):
     def testFieldNodeProfilRW2(self):
         fileName="Pyfile23.med";
         mesh=MEDLoaderDataForTest.build3DSurfMesh_1();
-        MEDLoader.MEDLoader.WriteUMesh(fileName,mesh,True);
+        MEDLoader.WriteUMesh(fileName,mesh,True);
         #
         f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
         f1.setName("FieldMix");
@@ -458,9 +458,9 @@ class MEDLoaderTest1(unittest.TestCase):
         #
         renumArr=[3,7,2,1,5,11,10,0,9,6,8,4]
         f1.renumberNodes(renumArr);
-        f1.checkCoherency();
-        MEDLoader.MEDLoader.WriteField(fileName,f1,False);#<- False important for the test
-        f2=MEDLoader.MEDLoader.ReadFieldNode(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
+        f1.checkConsistencyLight();
+        MEDLoader.WriteField(fileName,f1,False);#<- False important for the test
+        f2=MEDLoader.ReadFieldNode(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
         self.assertTrue(f2.isEqual(f1,1e-12,1e-12));
         #
         pass
@@ -478,7 +478,7 @@ class MEDLoaderTest1(unittest.TestCase):
         array.setInfoOnComponent(0,"plkj [mm]");
         array.setInfoOnComponent(1,"pqqqss [mm]");
         f1.setTime(3.14,2,7);
-        f1.checkCoherency();
+        f1.checkConsistencyLight();
         #
         f2=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_NODES,MEDLoader.ONE_TIME);
         f2.setName("FieldMix");
@@ -491,28 +491,28 @@ class MEDLoaderTest1(unittest.TestCase):
         array.setInfoOnComponent(0,"plkj [mm]");
         array.setInfoOnComponent(1,"pqqqss [mm]");
         f2.setTime(3.14,2,7);
-        f2.checkCoherency();
+        f2.checkConsistencyLight();
         #
-        MEDLoader.MEDLoader.WriteField(fileName,f1,True);
-        ts=MEDLoader.MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
+        MEDLoader.WriteField(fileName,f1,True);
+        ts=MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
         self.assertEqual(1,len(ts));
         self.assertEqual(MEDLoader.ON_CELLS,ts[0]);
-        fs=MEDLoader.MEDLoader.GetAllFieldNamesOnMesh(fileName,f1.getMesh().getName());
+        fs=MEDLoader.GetAllFieldNamesOnMesh(fileName,f1.getMesh().getName());
         self.assertEqual(1,len(fs));
         self.assertTrue(fs[0]=="FieldMix");
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f2);
-        fs=MEDLoader.MEDLoader.GetAllFieldNamesOnMesh(fileName,f1.getMesh().getName());
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f2);
+        fs=MEDLoader.GetAllFieldNamesOnMesh(fileName,f1.getMesh().getName());
         self.assertEqual(1,len(fs));
         self.assertTrue(fs[0]=="FieldMix");
         #
-        ts=MEDLoader.MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
+        ts=MEDLoader.GetTypesOfField(fileName,f1.getMesh().getName(),f1.getName());
         self.assertEqual(2,len(ts));
         self.assertEqual(MEDLoader.ON_NODES,ts[0]);
         self.assertEqual(MEDLoader.ON_CELLS,ts[1]);
         #
-        f3=MEDLoader.MEDLoader.ReadFieldNode(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
+        f3=MEDLoader.ReadFieldNode(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
         self.assertTrue(f3.isEqual(f2,1e-12,1e-12));
-        f3=MEDLoader.MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
+        f3=MEDLoader.ReadFieldCell(fileName,f1.getMesh().getName(),0,f1.getName(),2,7);
         self.assertTrue(f3.isEqual(f1,1e-12,1e-12));
         #
         pass
@@ -525,22 +525,22 @@ class MEDLoaderTest1(unittest.TestCase):
         f1.setTime(3.44,5,6);
         f1.setMesh(mesh);
         f1.fillFromAnalytic(2,"x+y");
-        MEDLoader.MEDLoader.WriteField(fileName,f1,True);
+        MEDLoader.WriteField(fileName,f1,True);
         f1.setTime(1002.3,7,8);
         f1.fillFromAnalytic(2,"x+77.*y");
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fileName,f1);
         f1.setName("Field2");
-        MEDLoader.MEDLoader.WriteField(fileName,f1,False);
+        MEDLoader.WriteField(fileName,f1,False);
         f1.setName("Field3");
         mesh.setName("2DMesh_2Bis");
-        MEDLoader.MEDLoader.WriteField(fileName,f1,False);
+        MEDLoader.WriteField(fileName,f1,False);
         f1=MEDLoader.MEDCouplingFieldDouble.New(MEDLoader.ON_CELLS,MEDLoader.ONE_TIME);
         f1.setName("Field8");
         f1.setTime(8.99,7,9);
         f1.setMesh(mesh);
         f1.fillFromAnalytic(3,"3*x+y");
-        MEDLoader.MEDLoader.WriteField(fileName,f1,False);
-        fs=MEDLoader.MEDLoader.GetAllFieldNames(fileName);
+        MEDLoader.WriteField(fileName,f1,False);
+        fs=MEDLoader.GetAllFieldNames(fileName);
         self.assertEqual(4,len(fs));
         self.assertTrue(fs[0]=="Field1");
         self.assertTrue(fs[1]=="Field2");
@@ -556,11 +556,11 @@ class MEDLoaderTest1(unittest.TestCase):
         nbOfCompo=4100
         arr=MEDLoader.DataArrayDouble(nbOfCompo*3) ; arr.iota()
         arr.rearrange(nbOfCompo)
-        arr.setInfoOnComponents(["c%i"%(i) for i in xrange(nbOfCompo)])
+        arr.setInfoOnComponents(["c%i" % (i) for i in range(nbOfCompo)])
         f.setArray(arr)
         f.setName("FieldBigCompo")
-        MEDLoader.MEDLoader.WriteField(fileName,f,True)
-        f2=MEDLoader.MEDLoader.ReadFieldCell(fileName,m.getName(),0,f.getName(),-1,-1)
+        MEDLoader.WriteField(fileName,f,True)
+        f2=MEDLoader.ReadFieldCell(fileName,m.getName(),0,f.getName(),-1,-1)
         self.assertTrue(f.isEqual(f2,1e-12,1e-12))
         pass
 
@@ -570,25 +570,25 @@ class MEDLoaderTest1(unittest.TestCase):
         m.insertNextCell([0,2,1,3])
         m.setCoords(MEDLoader.DataArrayDouble([0.,0.,1.,1.,1.,0.,0.,1.],4,2))
         #
-        ms=[m.deepCpy() for i in xrange(4)]
+        ms = [m.deepCopy() for i in range(4)]
         for i,elt in enumerate(ms):
             elt.translate([float(i)*1.5,0.])
             pass
         #
         m0=MEDLoader.MEDCoupling1SGTUMesh.Merge1SGTUMeshes(ms)
         f=m0.getMeasureField(False) ; f.getArray().setInfoOnComponents(["ABC [defg]"])
-        MEDLoader.MEDLoader.WriteField(fname,f,True)
+        MEDLoader.WriteField(fname,f,True)
         #
-        fRead=MEDLoader.MEDLoader.ReadFieldCell(fname,"merge",0,f.getName(),-1,-1)
+        fRead=MEDLoader.ReadFieldCell(fname,"merge",0,f.getName(),-1,-1)
         fRead.setMesh(MEDLoader.MEDCoupling1SGTUMesh(fRead.getMesh()))
         self.assertTrue(f.isEqual(fRead,1e-12,1e-12))
         #
         m0=m0.buildUnstructured() ; m0.convertAllToPoly()
         m0=MEDLoader.MEDCoupling1DGTUMesh(m0)
         f=m0.getMeasureField(False) ; f.getArray().setInfoOnComponents(["ABC [defg]"])
-        MEDLoader.MEDLoader.WriteField(fname,f,True)
+        MEDLoader.WriteField(fname,f,True)
         #
-        fRead=MEDLoader.MEDLoader.ReadFieldCell(fname,"merge",0,f.getName(),-1,-1)
+        fRead=MEDLoader.ReadFieldCell(fname,"merge",0,f.getName(),-1,-1)
         fRead.setMesh(MEDLoader.MEDCoupling1DGTUMesh(fRead.getMesh()))
         self.assertTrue(f.isEqual(fRead,1e-12,1e-12))
         #
@@ -597,9 +597,9 @@ class MEDLoaderTest1(unittest.TestCase):
         m0.setCoords(arr,arr)
         m0.setName("mesh")
         f=m0.getMeasureField(False) ; f.getArray().setInfoOnComponents(["ABC [defg]"])
-        MEDLoader.MEDLoader.WriteField(fname,f,True)
+        MEDLoader.WriteField(fname,f,True)
         #
-        fRead=MEDLoader.MEDLoader.ReadFieldCell(fname,"mesh",0,f.getName(),-1,-1)
+        fRead=MEDLoader.ReadFieldCell(fname,"mesh",0,f.getName(),-1,-1)
         self.assertTrue(f.isEqual(fRead,1e-12,1e-12))
         #
         c=m0.buildUnstructured().getCoords()
@@ -607,9 +607,9 @@ class MEDLoaderTest1(unittest.TestCase):
         m0.setNodeGridStructure([4,4])
         m0.setCoords(c)
         f=m0.getMeasureField(False) ; f.getArray().setInfoOnComponents(["ABC [defg]"])
-        MEDLoader.MEDLoader.WriteField(fname,f,True)
+        MEDLoader.WriteField(fname,f,True)
         #
-        fRead=MEDLoader.MEDLoader.ReadFieldCell(fname,"mesh",0,f.getName(),-1,-1)
+        fRead=MEDLoader.ReadFieldCell(fname,"mesh",0,f.getName(),-1,-1)
         self.assertTrue(f.isEqual(fRead,1e-12,1e-12))
         pass
     
@@ -619,23 +619,23 @@ class MEDLoaderTest1(unittest.TestCase):
         m.insertNextCell([0,2,1,3])
         m.setCoords(MEDLoader.DataArrayDouble([0.,0.,1.,1.,1.,0.,0.,1.],4,2))
         #
-        ms=[m.deepCpy() for i in xrange(4)]
+        ms = [m.deepCopy() for i in range(4)]
         for i,elt in enumerate(ms):
             elt.translate([float(i)*1.5,0.])
             pass
         m0=MEDLoader.MEDCoupling1SGTUMesh.Merge1SGTUMeshes(ms)
-        MEDLoader.MEDLoader.WriteMesh(fname,m0,True)
+        MEDLoader.WriteMesh(fname,m0,True)
         #
-        mRead=MEDLoader.MEDLoader.ReadMeshFromFile(fname,"merge",0)
+        mRead=MEDLoader.ReadMeshFromFile(fname,"merge",0)
         self.assertTrue(isinstance(mRead,MEDLoader.MEDCouplingUMesh))
         mRead=MEDLoader.MEDCoupling1SGTUMesh(mRead)
         self.assertTrue(m0.isEqual(mRead,1e-12))
         #
         m0=m0.buildUnstructured() ; m0.convertAllToPoly()
         m0=MEDLoader.MEDCoupling1DGTUMesh(m0)
-        MEDLoader.MEDLoader.WriteMesh(fname,m0,True)
+        MEDLoader.WriteMesh(fname,m0,True)
         #
-        mRead=MEDLoader.MEDLoader.ReadMeshFromFile(fname,"merge",0)
+        mRead=MEDLoader.ReadMeshFromFile(fname,"merge",0)
         mRead=MEDLoader.MEDCoupling1DGTUMesh(mRead)
         self.assertTrue(m0.isEqual(mRead,1e-12))
         #
@@ -643,9 +643,9 @@ class MEDLoaderTest1(unittest.TestCase):
         arr=MEDLoader.DataArrayDouble(4) ; arr.iota()
         m0.setCoords(arr,arr)
         m0.setName("mesh")
-        MEDLoader.MEDLoader.WriteMesh(fname,m0,True)
+        MEDLoader.WriteMesh(fname,m0,True)
         #
-        mRead=MEDLoader.MEDLoader.ReadMeshFromFile(fname,0)
+        mRead=MEDLoader.ReadMeshFromFile(fname,0)
         self.assertTrue(isinstance(mRead,MEDLoader.MEDCouplingCMesh))
         self.assertTrue(m0.isEqual(mRead,1e-12))
         #
@@ -653,9 +653,9 @@ class MEDLoaderTest1(unittest.TestCase):
         m0=MEDLoader.MEDCouplingCurveLinearMesh("mesh")
         m0.setNodeGridStructure([4,4])
         m0.setCoords(c)
-        MEDLoader.MEDLoader.WriteMesh(fname,m0,True)
+        MEDLoader.WriteMesh(fname,m0,True)
         #
-        mRead=MEDLoader.MEDLoader.ReadMeshFromFile(fname,0)
+        mRead=MEDLoader.ReadMeshFromFile(fname,0)
         self.assertTrue(isinstance(mRead,MEDLoader.MEDCouplingCurveLinearMesh))
         self.assertTrue(m0.isEqual(mRead,1e-12))
         pass
@@ -698,18 +698,18 @@ class MEDLoaderTest1(unittest.TestCase):
         f.setName("field")
         #
         mm=MEDLoader.MEDFileUMesh()
-        MEDLoader.MEDLoader.SetTooLongStrPolicy(2)
-        MEDLoader.MEDLoader.AssignStaticWritePropertiesTo(mm)
+        MEDLoader.SetTooLongStrPolicy(2)
+        MEDLoader.AssignStaticWritePropertiesTo(mm)
         self.assertEqual(2,mm.getTooLongStrPolicy())
-        MEDLoader.MEDLoader.SetTooLongStrPolicy(0)
-        MEDLoader.MEDLoader.AssignStaticWritePropertiesTo(mm)
+        MEDLoader.SetTooLongStrPolicy(0)
+        MEDLoader.AssignStaticWritePropertiesTo(mm)
         self.assertEqual(0,mm.getTooLongStrPolicy())
         del mm
         #
-        MEDLoader.MEDLoader.SetTooLongStrPolicy(2)
-        self.assertRaises(MEDLoader.InterpKernelException,MEDLoader.MEDLoader.WriteField,fname,f,True)# the component name is too long + policy 2 -> throw
+        MEDLoader.SetTooLongStrPolicy(2)
+        self.assertRaises(MEDLoader.InterpKernelException,MEDLoader.WriteField,fname,f,True)# the component name is too long + policy 2 -> throw
         f.getArray().setInfoOnComponent(0,'I129')
-        MEDLoader.MEDLoader.WriteField(fname,f,True)
+        MEDLoader.WriteField(fname,f,True)
         pass
 
     def testUsingAlreadyWrittenMesh2(self):
@@ -726,31 +726,152 @@ class MEDLoaderTest1(unittest.TestCase):
         f1.setMesh(mesh)
         arr=MEDLoader.DataArrayDouble(20) ; arr.iota()
         f1.setArray(arr)
-        f1.checkCoherency()
+        f1.checkConsistencyLight()
         #
         f2=MEDLoader.MEDCouplingFieldDouble(MEDLoader.ON_NODES) ; f2.setName("f2")
         f2.setMesh(mesh)
         arr=MEDLoader.DataArrayDouble(20) ; arr.iota() ; arr*=3
         f2.setArray(arr)
-        f2.checkCoherency()
+        f2.checkConsistencyLight()
         #
-        f11=f1.deepCpy() ; (f11.getArray())[:]*=4 ; f11.setTime(1.1,5,6)
+        f11=f1.deepCopy() ; (f11.getArray())[:]*=4 ; f11.setTime(1.1,5,6)
         #
-        MEDLoader.MEDLoader.WriteMesh(fname,f1.getMesh(),True)
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f1)
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f2)
-        MEDLoader.MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f11)
+        MEDLoader.WriteMesh(fname,f1.getMesh(),True)
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f1)
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f2)
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f11)
         ##
-        f1r=MEDLoader.MEDLoader.ReadFieldNode(fname,"mesh",0,"f1",-1,-1);
+        f1r=MEDLoader.ReadFieldNode(fname,"mesh",0,"f1",-1,-1);
         self.assertTrue(f1.isEqual(f1r,1e-12,1e-12))
         self.assertTrue(f1r.getArray().isEqual(MEDLoader.DataArrayDouble([0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11.,12.,13.,14.,15.,16.,17.,18.,19.]),1e-12))
-        f2r=MEDLoader.MEDLoader.ReadFieldNode(fname,"mesh",0,"f2",-1,-1);
+        f2r=MEDLoader.ReadFieldNode(fname,"mesh",0,"f2",-1,-1);
         self.assertTrue(f2.isEqual(f2r,1e-12,1e-12))
         self.assertTrue(f2r.getArray().isEqual(MEDLoader.DataArrayDouble([0.,3.,6.,9.,12.,15.,18.,21.,24.,27.,30.,33.,36.,39.,42.,45.,48.,51.,54.,57.]),1e-12))
-        f3r=MEDLoader.MEDLoader.ReadFieldNode(fname,"mesh",0,"f1",5,6);
+        f3r=MEDLoader.ReadFieldNode(fname,"mesh",0,"f1",5,6);
         self.assertTrue(f11.isEqual(f3r,1e-12,1e-12))
         self.assertTrue(f3r.getArray().isEqual(MEDLoader.DataArrayDouble([0.,4.,8.,12.,16.,20.,24.,28.,32.,36.,40.,44.,48.,52.,56.,60.,64.,68.,72.,76.]),1e-12))
         pass
+
+    def testEasyFieldRead1(self):
+        fname="Pyfile111.med"
+        arr=MEDLoader.DataArrayDouble(4) ; arr.iota()
+        m=MEDLoader.MEDCouplingCMesh() ; m.setCoords(arr,arr)
+        m=m.buildUnstructured()
+        m.setName("mesh")
+        f=MEDLoader.MEDCouplingFieldDouble(MEDLoader.ON_CELLS)
+        f.setName("field")
+        f.setTime(3.,1,2)
+        da=MEDLoader.DataArrayDouble([2,3,4,5,6,7,8,9,10])
+        f.setArray(da) ; f.setMesh(m)
+        MEDLoader.WriteField(fname,f,True)
+        #
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field"),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        #
+        f3=f.deepCopy()
+        f3.setArray(f.getArray()+30)
+        f3.setName("field2")
+        f3.setTime(5.,4,5)
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f3)
+        #
+        self.assertRaises(Exception,MEDLoader.ReadField,fname) # because several fields in fname now
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field"),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2"),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2",4,5),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field2",4,5),1e-12,1e-12))
+        #
+        f2=f.deepCopy()
+        f2.setTime(4.,3,4)
+        f2.setArray(f2.getArray()+10)
+        MEDLoader.WriteFieldUsingAlreadyWrittenMesh(fname,f2)
+        #
+        self.assertRaises(Exception,MEDLoader.ReadField,fname) # because unique field "field" has more than one time step
+        self.assertRaises(Exception,MEDLoader.ReadField,fname,"field") # because unique field "field" has more than one time step
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(fname,"field",3,4),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",3,4),1e-12,1e-12))
+        #
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(fname,"field",3,4),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",3,4),1e-12,1e-12))
+        #
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2"),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2",4,5),1e-12,1e-12))
+        self.assertRaises(Exception,MEDLoader.ReadField,fname,"field2",5,5) # invalid time step
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field2",4,5),1e-12,1e-12))
+        self.assertRaises(Exception,MEDLoader.ReadField,MEDLoader.ON_CELLS,fname,"mesh",0,"field2",5,5) # invalid time step
+        # Test on profile - restart from scratch
+        mm=MEDLoader.MEDFileUMesh()
+        mm[0]=m
+        mm.write(fname,2)
+        #
+        pfl = MEDLoader.DataArrayInt(list(range(8)))
+        pfl.setName("PFL")
+        #
+        f=MEDLoader.MEDCouplingFieldDouble(MEDLoader.ON_CELLS)
+        f.setName("field")
+        f.setTime(3.,1,2)
+        da=MEDLoader.DataArrayDouble([2,3,4,5,6,7,8,9])
+        f.setArray(da) ; f.setMesh(m[pfl])
+        f.checkConsistencyLight()
+        #
+        f1ts=MEDLoader.MEDFileField1TS()
+        f1ts.setFieldProfile(f,mm,0,pfl)
+        f1ts.write(fname,0)
+        #
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field"),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        #
+        f3=f.deepCopy()
+        f3.setArray(f.getArray()+30)
+        f3.setName("field2")
+        f3.setTime(5.,4,5)
+        f1ts=MEDLoader.MEDFileField1TS()
+        f1ts.setFieldProfile(f3,mm,0,pfl)
+        f1ts.write(fname,0)
+        #
+        self.assertRaises(Exception,MEDLoader.ReadField,fname) # because several fields in fname now
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field"),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2"),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2",4,5),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field2",4,5),1e-12,1e-12))
+        #
+        f2=f.deepCopy()
+        f2.setTime(4.,3,4)
+        f2.setArray(f2.getArray()+10)
+        f1ts=MEDLoader.MEDFileField1TS()
+        f1ts.setFieldProfile(f2,mm,0,pfl)
+        f1ts.write(fname,0)
+        #
+        self.assertRaises(Exception,MEDLoader.ReadField,fname) # because unique field "field" has more than one time step
+        self.assertRaises(Exception,MEDLoader.ReadField,fname,"field") # because unique field "field" has more than one time step
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(fname,"field",3,4),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",3,4),1e-12,1e-12))
+        #
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(fname,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",1,2),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(fname,"field",3,4),1e-12,1e-12))
+        self.assertTrue(f2.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field",3,4),1e-12,1e-12))
+        #
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2"),1e-12,1e-12))
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(fname,"field2",4,5),1e-12,1e-12))
+        self.assertRaises(Exception,MEDLoader.ReadField,fname,"field2",5,5) # invalid time step
+        self.assertTrue(f3.isEqual(MEDLoader.ReadField(MEDLoader.ON_CELLS,fname,"mesh",0,"field2",4,5),1e-12,1e-12))
+        self.assertRaises(Exception,MEDLoader.ReadField,MEDLoader.ON_CELLS,fname,"mesh",0,"field2",5,5) # invalid time step
+        pass
+    
     pass
 
 if __name__ == "__main__":