[16134] | 1 | Index: ../trunk-jpl/src/m/classes/mask.m
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/m/classes/mask.m (revision 15595)
|
---|
| 4 | +++ ../trunk-jpl/src/m/classes/mask.m (revision 15596)
|
---|
| 5 | @@ -60,9 +60,6 @@
|
---|
| 6 | WriteData(fid,'object',obj,'fieldname','vertexonfloatingice','format','DoubleMat','mattype',1);
|
---|
| 7 | WriteData(fid,'object',obj,'fieldname','vertexongroundedice','format','DoubleMat','mattype',1);
|
---|
| 8 | WriteData(fid,'object',obj,'fieldname','vertexonwater','format','DoubleMat','mattype',1);
|
---|
| 9 | - icelevelset=ones(md.mesh.numberofvertices,1);
|
---|
| 10 | - pos=md.diagnostic.icefront(:,1:end-2);
|
---|
| 11 | - icelevelset(pos(:))=0;
|
---|
| 12 | WriteData(fid,'object',obj,'fieldname','icelevelset','format','DoubleMat','mattype',1);
|
---|
| 13 | end % }}}
|
---|
| 14 | end
|
---|
| 15 | Index: ../trunk-jpl/src/m/classes/mask.py
|
---|
| 16 | ===================================================================
|
---|
| 17 | --- ../trunk-jpl/src/m/classes/mask.py (revision 15595)
|
---|
| 18 | +++ ../trunk-jpl/src/m/classes/mask.py (revision 15596)
|
---|
| 19 | @@ -48,6 +48,12 @@
|
---|
| 20 | md = checkfield(md,'mask.vertexongroundedice' ,'size',[md.mesh.numberofvertices],'values',[0,1])
|
---|
| 21 | md = checkfield(md,'mask.vertexonwater' ,'size',[md.mesh.numberofvertices],'values',[0,1])
|
---|
| 22 | md = checkfield(md,'mask.icelevelset' ,'size',[md.mesh.numberofvertices])
|
---|
| 23 | + isice=numpy.zeros_like(md.mesh.numberofvertices,int)
|
---|
| 24 | + pos=npy.nonzero(md.mask.icelevelset>0)
|
---|
| 25 | + isice[pos]=1
|
---|
| 26 | + totalyicefree=(numpy.sum(isice[md.mesh.elements-1],axis=1)==0).astype(int)
|
---|
| 27 | + if any(totalyicefree)
|
---|
| 28 | + raise TypeError("elements with no ice not implemented yet, each element should have at least one vertex with md.mask.icelevelset > 0")
|
---|
| 29 |
|
---|
| 30 | return md
|
---|
| 31 | # }}}
|
---|
| 32 | @@ -58,9 +64,5 @@
|
---|
| 33 | WriteData(fid,'object',self,'fieldname','vertexonfloatingice','format','DoubleMat','mattype',1)
|
---|
| 34 | WriteData(fid,'object',self,'fieldname','vertexongroundedice','format','DoubleMat','mattype',1)
|
---|
| 35 | WriteData(fid,'object',self,'fieldname','vertexonwater','format','DoubleMat','mattype',1)
|
---|
| 36 | - icelevelset=numpy.ones(md.mesh.numberofvertices,float)
|
---|
| 37 | - if numpy.any(numpy.logical_not(numpy.isnan(md.diagnostic.icefront))):
|
---|
| 38 | - pos=md.diagnostic.icefront[:,:-2]
|
---|
| 39 | - icelevelset[pos[:].astype(int)-1]=0;
|
---|
| 40 | WriteData(fid,'object',self,'fieldname','icelevelset','format','DoubleMat','mattype',1)
|
---|
| 41 | # }}}
|
---|