Changeset 15596


Ignore:
Timestamp:
07/24/13 16:04:47 (12 years ago)
Author:
seroussi
Message:

CHG: now rely on icelevelset in mask

Location:
issm/trunk-jpl/src/m/classes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/mask.m

    r15595 r15596  
    6161                        WriteData(fid,'object',obj,'fieldname','vertexongroundedice','format','DoubleMat','mattype',1);
    6262                        WriteData(fid,'object',obj,'fieldname','vertexonwater','format','DoubleMat','mattype',1);
    63                         icelevelset=ones(md.mesh.numberofvertices,1);
    64                         pos=md.diagnostic.icefront(:,1:end-2);
    65                         icelevelset(pos(:))=0;
    6663                        WriteData(fid,'object',obj,'fieldname','icelevelset','format','DoubleMat','mattype',1);
    6764                end % }}}
  • issm/trunk-jpl/src/m/classes/mask.py

    r15595 r15596  
    4949                md = checkfield(md,'mask.vertexonwater'       ,'size',[md.mesh.numberofvertices],'values',[0,1])
    5050                md = checkfield(md,'mask.icelevelset'         ,'size',[md.mesh.numberofvertices])
     51                        isice=numpy.zeros_like(md.mesh.numberofvertices,int)
     52                        pos=npy.nonzero(md.mask.icelevelset>0)
     53                        isice[pos]=1
     54                        totalyicefree=(numpy.sum(isice[md.mesh.elements-1],axis=1)==0).astype(int)
     55                        if any(totalyicefree)
     56                                raise TypeError("elements with no ice not implemented yet, each element should have at least one vertex with md.mask.icelevelset > 0")
    5157
    5258                return md
     
    5965                WriteData(fid,'object',self,'fieldname','vertexongroundedice','format','DoubleMat','mattype',1)
    6066                WriteData(fid,'object',self,'fieldname','vertexonwater','format','DoubleMat','mattype',1)
    61                 icelevelset=numpy.ones(md.mesh.numberofvertices,float)
    62                 if numpy.any(numpy.logical_not(numpy.isnan(md.diagnostic.icefront))):
    63                         pos=md.diagnostic.icefront[:,:-2]
    64                         icelevelset[pos[:].astype(int)-1]=0;
    6567                WriteData(fid,'object',self,'fieldname','icelevelset','format','DoubleMat','mattype',1)
    6668        # }}}
Note: See TracChangeset for help on using the changeset viewer.