source: issm/trunk-jpl/src/m/classes/mask.py@ 17214

Last change on this file since 17214 was 17214, checked in by cborstad, 11 years ago

BUG: description of ice_levelset was backwards for ice versus no ice areas

File size: 1.5 KB
Line 
1from fielddisplay import fielddisplay
2from EnumDefinitions import *
3from checkfield import *
4from WriteData import *
5
6class mask(object):
7 """
8 MASK class definition
9
10 Usage:
11 mask=mask();
12 """
13
14 def __init__(self): # {{{
15 self.ice_levelset = float('NaN')
16 self.groundedice_levelset = float('NaN')
17
18 #set defaults
19 self.setdefaultparameters()
20
21 #}}}
22 def __repr__(self): # {{{
23 string=" masks:"
24
25 string="%s\n%s"%(string,fielddisplay(self,"groundedice_levelset","is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0"))
26 string="%s\n%s"%(string,fielddisplay(self,"ice_levelset","presence of ice if < 0, icefront position if = 0, no ice if > 0"))
27 return string
28 #}}}
29 def setdefaultparameters(self): # {{{
30 return self
31 #}}}
32 def checkconsistency(self,md,solution,analyses): # {{{
33
34 md = checkfield(md,'fieldname','mask.ice_levelset' ,'size',[md.mesh.numberofvertices])
35 #isice=numpy.array(md.mask.ice_levelset<0,int)
36 #totallyicefree=(numpy.sum(isice[md.mesh.elements-1],axis=1)==0).astype(int)
37 #if any(totallyicefree):
38 # raise TypeError("elements with no ice not implemented yet, each element should have at least one vertex with md.mask.ice_levelset > 0")
39
40 return md
41 # }}}
42 def marshall(self,md,fid): # {{{
43 WriteData(fid,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1)
44 WriteData(fid,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1)
45 # }}}
Note: See TracBrowser for help on using the repository browser.