source: issm/oecreview/Archive/15392-16133/ISSM-15595-15596.diff@ 16134

Last change on this file since 16134 was 16134, checked in by Mathieu Morlighem, 12 years ago

Added Archive/15392-16133

File size: 2.2 KB
  • TabularUnified ../trunk-jpl/src/m/classes/mask.m

     
    6060                        WriteData(fid,'object',obj,'fieldname','vertexonfloatingice','format','DoubleMat','mattype',1);
    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 % }}}
    6865        end
  • TabularUnified ../trunk-jpl/src/m/classes/mask.py

     
    4848                md = checkfield(md,'mask.vertexongroundedice' ,'size',[md.mesh.numberofvertices],'values',[0,1])
    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
    5359        # }}}
     
    5864                WriteData(fid,'object',self,'fieldname','vertexonfloatingice','format','DoubleMat','mattype',1)
    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 TracBrowser for help on using the repository browser.