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
RevLine 
[16134]1Index: ../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
15Index: ../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 # }}}
Note: See TracBrowser for help on using the repository browser.