diff --git a/HydroGrid.py b/HydroGrid.py
index 8a108c2e8617efeb19de14c344f849675382941d..68a2cea4e1c7aaf6ea92ef0ad493f53b83efee4d 100644
--- a/HydroGrid.py
+++ b/HydroGrid.py
@@ -38,13 +38,12 @@ def corners(lon, lat) :
     #
     for i in range(iim) :
         for j in range(jjm) :
-            
+            #
             allon=[lon[j,i]-hdlon, lon[j,i]+hdlon, lon[j,i]+hdlon, lon[j,i]-hdlon, lon[j,i]-hdlon]
             allat=[lat[j,i]+hdlat, lat[j,i]+hdlat, lat[j,i]-hdlat, lat[j,i]-hdlat, lat[j,i]+hdlat]
-            
-            polyxyz=RPP.lonlat2xyz(allon, allat)
-            centxyz=RPP.lonlat2xyz(lon[j,i], lat[j,i])
-            cornerspoly.append(polygon.SphericalPolygon(polyxyz,inside=centxyz))
+            #
+            cornerspoly.append(polygon.SphericalPolygon.from_lonlat(allon, allat, center=[lon[j,i], lat[j,i]]))
+            #
             index.append([j,i])
             cornersll.append([[tlon,tlat] for tlon,tlat in zip(allon, allat)])
       
diff --git a/ModelGrid.py b/ModelGrid.py
index e525ea6d527d5670a27dd5382c4025a267898278..5cc167fcf51bac58f9cbdf7d7f01e4f000cb4951 100644
--- a/ModelGrid.py
+++ b/ModelGrid.py
@@ -101,16 +101,13 @@ def corners(indF, proj, istart, jstart, lon, lat) :
                [istart+ij[0]-0.5*dlon,jstart+ij[1]-0.0*dlat],
                [istart+ij[0]-0.5*dlon,jstart+ij[1]+0.5*dlat]]
         polyll=proj.ijll(polyg)
-        polyxyz=RPP.lonlat2xyz([p[0] for p in polyll],[p[1] for p in polyll])
+        centll=proj.ijll([[istart+ij[0],jstart+ij[1]]])[0]
         #
         allon.append([p[0] for p in polyll])
         allat.append([p[1] for p in polyll])
         #
-        centll=[lon[ij[1]-1,ij[0]-1], lat[ij[1]-1,ij[0]-1]]
+        sphpoly=polygon.SphericalPolygon.from_lonlat([p[0] for p in polyll], [p[1] for p in polyll], center=centll)
         #
-        centxyz=RPP.lonlat2xyz(centll[0],centll[1])
-        sphpoly=polygon.SphericalPolygon(polyxyz,inside=centxyz)
-        
         areas.append((sphpoly.area())*EarthRadius**2)
         cornerspoly.append(sphpoly)
         cornersll.append(polyll)
@@ -274,8 +271,6 @@ class ModelGrid :
         #
         self.contfrac=self.landgather(self.land)
         #
-        self.coordxyz = RPP.lonlat2xyz([coo[0] for coo in self.coordll], [coo[1] for coo in self.coordll])
-        #
         for ip in self.neighbours[0][:] :
             if ip >= 0 :
                 DEBUG("Neighbour : "+str(ip)+" P index : "+str(self.indP[ip])+" F index : "+str(indF[ip][:]))