Changeset 15995


Ignore:
Timestamp:
08/28/13 11:13:47 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: python equavalent of matlab

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py

    r15987 r15995  
    2727                if not os.path.exists(icefrontfile):
    2828                        raise IOError("SetMarineIceSheetBC error message: ice front file '%s' not found." % icefrontfile)
    29                 [nodeinsideicefront,dum]=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,icefrontfile,'node',2)
    30                 vertexonicefront=numpy.logical_and(md.mesh.vertexonboundary,nodeinsideicefront.reshape(-1))
     29                [incontour,dum]=ContourToMesh(md.mesh.elements,md.mesh.x,md.mesh.y,icefrontfile,'node',2)
     30                vertexonicefront=numpy.logical_and(md.mesh.vertexonboundary,incontour.reshape(-1))
    3131        else:
    3232                #Guess where the ice front is
    33                 vertexonfloatingice=numpy.logical(md.mask.groundedice_levelset<0.)
    34                 vertexonicefront=numpy.logical_and(md.mesh.vertexonboundary,vertexonfloatingice)
     33                vertexonfloatingice=numpy.zeros((md.mesh.numberofvertices,1))
     34                pos=numpy.nonzero(numpy.sum(md.mask.groundedice_levelset[md.mesh.elements-1]<0.,axis=1) >0.)[0]
     35                vertexonfloatingice[md.mesh.elements[pos].astype(int)-1]=1.
     36                vertexonicefront=numpy.logical_and(numpy.reshape(md.mesh.vertexonboundary,(-1,1)),vertexonfloatingice>0.)
    3537
    3638#       pos=find(md.mesh.vertexonboundary & ~vertexonicefront);
Note: See TracChangeset for help on using the changeset viewer.