Index: ../trunk-jpl/src/m/geometry/VolumeAboveFloatation.m =================================================================== --- ../trunk-jpl/src/m/geometry/VolumeAboveFloatation.m (revision 24860) +++ ../trunk-jpl/src/m/geometry/VolumeAboveFloatation.m (revision 24861) @@ -32,7 +32,7 @@ V = areas.*(surface-base+min(rho_water/rho_ice*bathymetry,0.)); %5. take out the ones that are outside of levelset or floating -pos = find(min(md.mask.ice_levelset(index),[],2)>0 | min(md.mask.groundedice_levelset(index),[],2)<0); +pos = find(min(md.mask.ice_levelset(index),[],2)>0 | min(md.mask.ocean_levelset(index),[],2)<0); V(pos) = 0; %sum individual contributions Index: ../trunk-jpl/src/m/classes/groundingline.py =================================================================== --- ../trunk-jpl/src/m/classes/groundingline.py (revision 24860) +++ ../trunk-jpl/src/m/classes/groundingline.py (revision 24861) @@ -51,7 +51,7 @@ if(not m.strcmp(self.migration, 'None') and md.transient.isgroundingline and solution == 'TransientSolution'): if np.any(np.isnan(md.geometry.bed)): md.checkmessage("requesting grounding line migration, but bathymetry is absent!") - pos = np.nonzero(md.mask.groundedice_levelset > 0.)[0] + pos = np.nonzero(md.mask.ocean_levelset > 0.)[0] if any(np.abs(md.geometry.base[pos] - md.geometry.bed[pos]) > 10**-10): md.checkmessage("base not equal to bed on grounded ice!") if any(md.geometry.bed - md.geometry.base > 10**-9): Index: ../trunk-jpl/src/m/classes/groundingline.m =================================================================== --- ../trunk-jpl/src/m/classes/groundingline.m (revision 24860) +++ ../trunk-jpl/src/m/classes/groundingline.m (revision 24861) @@ -36,11 +36,11 @@ if isnan(md.geometry.bed), md = checkmessage(md,['requesting grounding line migration, but bathymetry is absent!']); end - pos=find(md.mask.groundedice_levelset>0. & md.mask.ice_levelset<=0); + pos=find(md.mask.ocean_levelset>0. & md.mask.ice_levelset<=0); if any(abs(md.geometry.base(pos)-md.geometry.bed(pos))>10^-10), md = checkmessage(md,['base not equal to bed on grounded ice!']); end - pos=find(md.mask.groundedice_levelset<=0. & md.mask.ice_levelset<=0); + pos=find(md.mask.ocean_levelset<=0. & md.mask.ice_levelset<=0); if any(md.geometry.bed(pos) - md.geometry.base(pos) > 10^-9), md = checkmessage(md,['bed superior to base on floating ice!']); end Index: ../trunk-jpl/src/m/classes/maskpsl.m =================================================================== --- ../trunk-jpl/src/m/classes/maskpsl.m (revision 24860) +++ ../trunk-jpl/src/m/classes/maskpsl.m (revision 24861) @@ -5,7 +5,7 @@ classdef maskpsl properties (SetAccess=public) - groundedice_levelset = NaN; + ocean_levelset = NaN; ice_levelset = NaN; ocean_levelset = NaN; land_levelset = NaN; @@ -19,7 +19,7 @@ end methods function self = extrude(self,md) % {{{ - self.groundedice_levelset=project3d(md,'vector',self.groundedice_levelset,'type','node'); + self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node'); self.ice_levelset=project3d(md,'vector',self.ice_levelset,'type','node'); self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node'); self.land_levelset=project3d(md,'vector',self.land_levelset,'type','node'); @@ -39,7 +39,7 @@ if strcmpi(solution,'LoveSolution'), return; end; - md = checkfield(md,'fieldname','mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]); + md = checkfield(md,'fieldname','mask.ocean_levelset','size',[md.mesh.numberofvertices 1]); md = checkfield(md,'fieldname','mask.ice_levelset' ,'size',[md.mesh.numberofvertices 1]); md = checkfield(md,'fieldname','mask.ocean_levelset','size',[md.mesh.numberofvertices 1]); md = checkfield(md,'fieldname','mask.land_levelset','size',[md.mesh.numberofvertices 1]); @@ -46,7 +46,7 @@ end % }}} function disp(self) % {{{ disp(sprintf(' masks:')); - fielddisplay(self,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0'); + fielddisplay(self,'ocean_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0'); fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0'); fielddisplay(self,'ocean_levelset','is the vertex on the ocean ? yes if = 1, no if = 0'); fielddisplay(self,'land_levelset','is the vertex on the land ? yes if = 1, no if = 0'); @@ -54,7 +54,7 @@ end % }}} function marshall(self,prefix,md,fid) % {{{ WriteData(fid,prefix,'name','md.mask.type','data',class(md.mask),'format','String'); - WriteData(fid,prefix,'object',self,'class','mask','fieldname','groundedice_levelset','format','DoubleMat','mattype',1); + WriteData(fid,prefix,'object',self,'class','mask','fieldname','ocean_levelset','format','DoubleMat','mattype',1); WriteData(fid,prefix,'object',self,'class','mask','fieldname','ice_levelset','format','DoubleMat','mattype',1); WriteData(fid,prefix,'object',self,'class','mask','fieldname','ocean_levelset','format','DoubleMat','mattype',1); WriteData(fid,prefix,'object',self,'class','mask','fieldname','land_levelset','format','DoubleMat','mattype',1); @@ -61,7 +61,7 @@ end % }}} function savemodeljs(self,fid,modelname) % {{{ fprintf(fid,'%s.mask=new maskpsl();\n',modelname); - writejs1Darray(fid,[modelname '.mask.groundedice_levelset'],self.groundedice_levelset); + writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset); writejs1Darray(fid,[modelname '.mask.ice_levelset'],self.ice_levelset); writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset); writejs1Darray(fid,[modelname '.mask.land_levelset'],self.land_levelset); Index: ../trunk-jpl/src/m/classes/geometry.m =================================================================== --- ../trunk-jpl/src/m/classes/geometry.m (revision 24860) +++ ../trunk-jpl/src/m/classes/geometry.m (revision 24861) @@ -71,7 +71,7 @@ if any(self.bed-self.base>10^-12), md = checkmessage(md,['base0); + pos = find(md.mask.ocean_levelset>0); if any(abs(self.bed(pos)-self.base(pos))>10^-9), md = checkmessage(md,['equality base=bed on grounded ice violated']); end Index: ../trunk-jpl/src/m/classes/stressbalance.m =================================================================== --- ../trunk-jpl/src/m/classes/stressbalance.m (revision 24860) +++ ../trunk-jpl/src/m/classes/stressbalance.m (revision 24861) @@ -100,7 +100,7 @@ md = checkfield(md,'fieldname','stressbalance.vertex_pairing','>',0); end %singular solution - if ((~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy)))) & ~any(md.mask.groundedice_levelset>0)), + if ((~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy)))) & ~any(md.mask.ocean_levelset>0)), disp(sprintf('\n !!! Warning: no spc applied, model might not be well posed if no basal friction is applied, check for solution crash\n')); end %CHECK THAT EACH LINES CONTAINS ONLY NAN VALUES OR NO NAN VALUES @@ -116,7 +116,7 @@ end %CHECK THAT NO rotation specified for FS Grounded ice at base if strcmp(domaintype(md.mesh),'3D') & md.flowequation.isFS, - pos=find(md.mask.groundedice_levelset>0. & md.mesh.vertexonbase); + pos=find(md.mask.ocean_levelset>0. & md.mesh.vertexonbase); if any(~isnan(md.stressbalance.referential(pos,:))), md = checkmessage(md,['no referential should be specified for basal vertices of grounded ice']); end Index: ../trunk-jpl/src/m/classes/mask.m =================================================================== --- ../trunk-jpl/src/m/classes/mask.m (revision 24860) +++ ../trunk-jpl/src/m/classes/mask.m (revision 24861) @@ -5,7 +5,7 @@ classdef mask properties (SetAccess=public) - groundedice_levelset = NaN; + ocean_levelset = NaN; ice_levelset = NaN; end methods (Static) @@ -22,7 +22,7 @@ end methods function self = extrude(self,md) % {{{ - self.groundedice_levelset=project3d(md,'vector',self.groundedice_levelset,'type','node'); + self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node'); self.ice_levelset=project3d(md,'vector',self.ice_levelset,'type','node'); end % }}} function self = mask(varargin) % {{{ @@ -39,7 +39,7 @@ function md = checkconsistency(self,md,solution,analyses) % {{{ if strcmpi(solution,'LoveSolution'), return; end; - md = checkfield(md,'fieldname','mask.groundedice_levelset','timeseries',1,'NaN',1); + md = checkfield(md,'fieldname','mask.ocean_levelset','timeseries',1,'NaN',1); md = checkfield(md,'fieldname','mask.ice_levelset','NaN',1,'size',[md.mesh.numberofvertices 1]); isice=(md.mask.ice_levelset<=0); if sum(isice)==0, @@ -49,16 +49,16 @@ function disp(self) % {{{ disp(sprintf(' masks:')); - fielddisplay(self,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0'); + fielddisplay(self,'ocean_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0'); fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0'); end % }}} function marshall(self,prefix,md,fid) % {{{ - WriteData(fid,prefix,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); + WriteData(fid,prefix,'object',self,'fieldname','ocean_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); WriteData(fid,prefix,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1); end % }}} function savemodeljs(self,fid,modelname) % {{{ - writejs1Darray(fid,[modelname '.mask.groundedice_levelset'],self.groundedice_levelset); + writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset); writejs1Darray(fid,[modelname '.mask.ice_levelset'],self.ice_levelset); end % }}} Index: ../trunk-jpl/src/m/classes/maskpsl.py =================================================================== --- ../trunk-jpl/src/m/classes/maskpsl.py (revision 24860) +++ ../trunk-jpl/src/m/classes/maskpsl.py (revision 24861) @@ -13,7 +13,7 @@ # maskpsl = maskpsl() def __init__(self, *args): # {{{ - self.groundedice_levelset = float('NaN') + self.ocean_levelset = float('NaN') self.ice_levelset = float('NaN') self.ocean_levelset = float('NaN') self.land_levelset = float('NaN') @@ -26,7 +26,7 @@ def __repr__(self): # {{{ string = ' masks:' - 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')) + string = "%s\n%s" % (string, fielddisplay(self, 'ocean_levelset', 'is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0')) string = "%s\n%s" % (string, fielddisplay(self, 'ice_levelset', 'presence of ice if < 0, icefront position if = 0, no ice if > 0')) string = "%s\n%s" % (string, fielddisplay(self, 'ocean_levelset', 'is the vertex on the ocean ? yes if = 1, no if = 0')) string = "%s\n%s" % (string, fielddisplay(self, 'land_levelset', 'is the vertex on the land ? yes if = 1, no if = 0')) @@ -49,7 +49,7 @@ # }}} def checkconsistency(self, md, solution, analyses): # {{{ - md = checkfield(md, 'fieldname', 'mask.groundedice_levelset', 'size', [md.mesh.numberofvertices]) + md = checkfield(md, 'fieldname', 'mask.ocean_levelset', 'size', [md.mesh.numberofvertices]) md = checkfield(md, 'fieldname', 'mask.ice_levelset', 'size', [md.mesh.numberofvertices]) md = checkfield(md, 'fieldname', 'mask.ocean_levelset', 'size', [md.mesh.numberofvertices]) md = checkfield(md, 'fieldname', 'mask.land_levelset', 'size', [md.mesh.numberofvertices]) @@ -71,7 +71,7 @@ # }}} def extrude(self, md): # {{{ - self.groundedice_levelset = project3d(md, 'vector', self.groundedice_levelset, 'type', 'node') + self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node') self.ice_levelset = project3d(md, 'vector', self.ice_levelset, 'type', 'node') self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node') self.land_levelset = project3d(md, 'vector', self.land_levelset, 'type', 'node') @@ -89,7 +89,7 @@ def marshall(self, prefix, md, fid): # {{{ WriteData(fid, prefix, 'name', 'md.mask.type', 'data', type(md.mask).__name__, 'format', 'String') - WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'groundedice_levelset', 'format', 'DoubleMat', 'mattype', 1) + WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1) WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ice_levelset', 'format', 'DoubleMat', 'mattype', 1) WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1) WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'land_levelset', 'format', 'DoubleMat', 'mattype', 1) @@ -96,7 +96,7 @@ # }}} def savemodeljs(self, fid, modelname): # {{{ - writejs1Darray(fid, [modelname, '.mask.groundedice_levelset'], self.groundedice_levelset) + writejs1Darray(fid, [modelname, '.mask.ocean_levelset'], self.ocean_levelset) writejs1Darray(fid, [modelname, '.mask.ice_levelset'], self.ice_levelset) writejs1Darray(fid, [modelname, '.mask.ocean_levelset'], self.ocean_levelset) writejs1Darray(fid, [modelname, '.mask.land_levelset'], self.land_levelset) Index: ../trunk-jpl/src/m/classes/flowequation.py =================================================================== --- ../trunk-jpl/src/m/classes/flowequation.py (revision 24860) +++ ../trunk-jpl/src/m/classes/flowequation.py (revision 24861) @@ -119,7 +119,7 @@ if 'StressbalanceSIAAnalysis' in analyses: if any(self.element_equation == 1): - if np.any(np.logical_and(self.vertex_equation, md.mask.groundedice_levelset)): + if np.any(np.logical_and(self.vertex_equation, md.mask.ocean_levelset)): print("\n !!! Warning: SIA's model is not consistent on ice shelves !!!\n") return md Index: ../trunk-jpl/src/m/classes/geometry.py =================================================================== --- ../trunk-jpl/src/m/classes/geometry.py (revision 24860) +++ ../trunk-jpl/src/m/classes/geometry.py (revision 24861) @@ -63,7 +63,7 @@ md = checkfield(md, 'fieldname', 'geometry.bed', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices]) if np.any(self.bed - self.base > 10**-12): md.checkmessage('base < bed on one or more vertex') - pos = np.where(md.mask.groundedice_levelset > 0) + pos = np.where(md.mask.ocean_levelset > 0) if np.any(np.abs(self.bed[pos] - self.base[pos]) > 10**-9): md.checkmessage('equality base = bed on grounded ice violated') md = checkfield(md, 'fieldname', 'geometry.bed', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices]) Index: ../trunk-jpl/src/m/classes/model.py =================================================================== --- ../trunk-jpl/src/m/classes/model.py (revision 24860) +++ ../trunk-jpl/src/m/classes/model.py (revision 24861) @@ -840,7 +840,7 @@ md.geometry.base = project2d(md, md.geometry.base, 1) if isinstance(md.geometry.bed, np.ndarray): md.geometry.bed = project2d(md, md.geometry.bed, 1) - md.mask.groundedice_levelset = project2d(md, md.mask.groundedice_levelset, 1) + md.mask.ocean_levelset = project2d(md, md.mask.ocean_levelset, 1) md.mask.ice_levelset = project2d(md, md.mask.ice_levelset, 1) #OutputDefinitions Index: ../trunk-jpl/src/m/classes/stressbalance.py =================================================================== --- ../trunk-jpl/src/m/classes/stressbalance.py (revision 24860) +++ ../trunk-jpl/src/m/classes/stressbalance.py (revision 24861) @@ -155,7 +155,7 @@ md.checkmessage("Vectors in stressbalance.referential (columns 1 to 3 and 4 to 6) must be orthogonal") #CHECK THAT NO rotation specified for FS Grounded ice at base if m.strcmp(md.mesh.domaintype(), '3D') and md.flowequation.isFS: - pos = np.nonzero(np.logical_and(md.mask.groundedice_levelset, md.mesh.vertexonbase)) + pos = np.nonzero(np.logical_and(md.mask.ocean_levelset, md.mesh.vertexonbase)) if np.any(np.logical_not(np.isnan(md.stressbalance.referential[pos, :]))): md.checkmessage("no referential should be specified for basal vertices of grounded ice") Index: ../trunk-jpl/src/m/classes/mask.py =================================================================== --- ../trunk-jpl/src/m/classes/mask.py (revision 24860) +++ ../trunk-jpl/src/m/classes/mask.py (revision 24861) @@ -15,7 +15,7 @@ def __init__(self): # {{{ self.ice_levelset = float('NaN') - self.groundedice_levelset = float('NaN') + self.ocean_levelset = float('NaN') #set defaults self.setdefaultparameters() @@ -25,7 +25,7 @@ def __repr__(self): # {{{ string = " masks:" - 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")) + string = "%s\n%s" % (string, fielddisplay(self, "ocean_levelset", "is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0")) string = "%s\n%s" % (string, fielddisplay(self, "ice_levelset", "presence of ice if < 0, icefront position if = 0, no ice if > 0")) return string #}}} @@ -32,7 +32,7 @@ def extrude(self, md): # {{{ self.ice_levelset = project3d(md, 'vector', self.ice_levelset, 'type', 'node') - self.groundedice_levelset = project3d(md, 'vector', self.groundedice_levelset, 'type', 'node') + self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node') return self #}}} @@ -53,6 +53,6 @@ # }}} def marshall(self, prefix, md, fid): # {{{ - WriteData(fid, prefix, 'object', self, 'fieldname', 'groundedice_levelset', 'format', 'DoubleMat', 'mattype', 1) + WriteData(fid, prefix, 'object', self, 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1) WriteData(fid, prefix, 'object', self, 'fieldname', 'ice_levelset', 'format', 'DoubleMat', 'mattype', 1) # }}} Index: ../trunk-jpl/src/m/classes/flowequation.m =================================================================== --- ../trunk-jpl/src/m/classes/flowequation.m (revision 24860) +++ ../trunk-jpl/src/m/classes/flowequation.m (revision 24861) @@ -128,7 +128,7 @@ end if ismember('StressbalanceSIAAnalysis',analyses), if any(self.element_equation==1), - if(self.vertex_equation & md.mask.groundedice_levelset<0.), + if(self.vertex_equation & md.mask.ocean_levelset<0.), disp(sprintf('\n !!! Warning: SIA''s model is not consistent on ice shelves !!!\n')); end end Index: ../trunk-jpl/src/m/classes/model.m =================================================================== --- ../trunk-jpl/src/m/classes/model.m (revision 24860) +++ ../trunk-jpl/src/m/classes/model.m (revision 24861) @@ -362,8 +362,8 @@ md.geometry.bed=project2d(md,md.geometry.bed,1); end - if ~isnan(md.mask.groundedice_levelset), - md.mask.groundedice_levelset=project2d(md,md.mask.groundedice_levelset,1); + if ~isnan(md.mask.ocean_levelset), + md.mask.ocean_levelset=project2d(md,md.mask.ocean_levelset,1); end if ~isnan(md.mask.ice_levelset), md.mask.ice_levelset=project2d(md,md.mask.ice_levelset,1); Index: ../trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m =================================================================== --- ../trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m (revision 24860) +++ ../trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m (revision 24861) @@ -1,13 +1,13 @@ -function exportgmsh(mesh,groundedice_levelset,filename), +function exportgmsh(mesh,ocean_levelset,filename), %EXPORTGMSH - export mesh to gmsh format % % http://www.geuz.org/gmsh/doc/texinfo/#MSH-ASCII-file-format % % Usage: -% exportgmsh(mesh,groundedice_levelset,filename) +% exportgmsh(mesh,ocean_levelset,filename) % % Example: -% exportgmsh(md.mesh,md.mask.groundedice_levelset,'temp.msh') +% exportgmsh(md.mesh,md.mask.ocean_levelset,'temp.msh') fid=fopen(filename,'w'); @@ -30,7 +30,7 @@ tria = 2; %Create flags -grounded = sum(groundedice_levelset(mesh.segments(:,1:2))>0,2); +grounded = sum(ocean_levelset(mesh.segments(:,1:2))>0,2); A = zeros(nbs,2); pos = find(mesh.segmentmarkers==4); A(pos,:)=repmat([1,4],[numel(pos) 1]); Index: ../trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m =================================================================== --- ../trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m (revision 24860) +++ ../trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m (revision 24861) @@ -6,7 +6,7 @@ % %get nodes on ice sheet and on ice shelf -pos_shelf=find(md.mask.groundedice_levelset<0.); +pos_shelf=find(md.mask.ocean_levelset<0.); pos_GL=intersect(unique(md.mesh.elements(find(md.mask.elementongroundedice),:)),unique(md.mesh.elements(find(md.mask.elementonfloatingice),:))); for i=1:length(pos_shelf) Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m =================================================================== --- ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m (revision 24860) +++ ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m (revision 24861) @@ -2,7 +2,7 @@ %initialization of some variables if isfield(md.results,'TransientSolution') - data = md.results.TransientSolution(step).MaskGroundediceLevelset; + data = md.results.TransientSolution(step).MaskOceanLevelset; if isfield(md.results.TransientSolution,'MeshElements') index = md.results.TransientSolution(step).MeshElements; x = md.results.TransientSolution(step).MeshX; @@ -13,7 +13,7 @@ y = md.mesh.y; end else - data = md.mask.groundedice_levelset; + data = md.mask.ocean_levelset; index = md.mesh.elements; x = md.mesh.x; y = md.mesh.y; Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m =================================================================== --- ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m (revision 24860) +++ ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m (revision 24861) @@ -2,7 +2,7 @@ %initialization of some variables if isfield(md.results,'TransientSolution') & false - data = md.results.TransientSolution(step).MaskGroundediceLevelset; + data = md.results.TransientSolution(step).MaskOceanLevelset; if isfield(md.results.TransientSolution,'MeshElements') index = md.results.TransientSolution(step).MeshElements; x = md.results.TransientSolution(step).MeshX; @@ -13,7 +13,7 @@ y = md.mesh.y; end else - data = md.mask.groundedice_levelset; + data = md.mask.ocean_levelset; index = md.mesh.elements; x = md.mesh.x; y = md.mesh.y; Index: ../trunk-jpl/src/m/contrib/tsantos/remesh.m =================================================================== --- ../trunk-jpl/src/m/contrib/tsantos/remesh.m (revision 24860) +++ ../trunk-jpl/src/m/contrib/tsantos/remesh.m (revision 24861) @@ -62,7 +62,7 @@ NewModel.geometry.base = md.results.TransientSolution(time_step).Base; NewModel.geometry.bed = md.results.TransientSolution(time_step).Bed;%md.geometry.bed; %use from parameterize NewModel.geometry.thickness = md.results.TransientSolution(time_step).Thickness; -NewModel.mask.groundedice_levelset = md.results.TransientSolution(time_step).MaskGroundediceLevelset; +NewModel.mask.ocean_levelset = md.results.TransientSolution(time_step).MaskOceanLevelset; %copy other data NewModel.miscellaneous = md.miscellaneous; Index: ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py =================================================================== --- ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py (revision 24860) +++ ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py (revision 24861) @@ -31,7 +31,7 @@ else: #Guess where the ice front is vertexonfloatingice = np.zeros((md.mesh.numberofvertices)) - pos = np.nonzero(np.sum(md.mask.groundedice_levelset[md.mesh.elements - 1] < 0., axis=1) > 0.)[0] + pos = np.nonzero(np.sum(md.mask.ocean_levelset[md.mesh.elements - 1] < 0., axis=1) > 0.)[0] vertexonfloatingice[md.mesh.elements[pos].astype(int) - 1] = 1. vertexonicefront = np.logical_and(np.reshape(md.mesh.vertexonboundary, (-1, )), vertexonfloatingice > 0.) @@ -102,7 +102,7 @@ md.thermal.spctemperature[pos] = md.initialization.temperature[pos] #impose observed temperature on surface if not isinstance(md.basalforcings.geothermalflux, np.ndarray) or not np.size(md.basalforcings.geothermalflux, axis=0) == md.mesh.numberofvertices: md.basalforcings.geothermalflux = np.zeros((md.mesh.numberofvertices)) - md.basalforcings.geothermalflux[np.nonzero(md.mask.groundedice_levelset > 0.)] = 50. * 10.**- 3 #50mW / m2 + md.basalforcings.geothermalflux[np.nonzero(md.mask.ocean_levelset > 0.)] = 50. * 10.**- 3 #50mW / m2 else: print(" no thermal boundary conditions created: no observed temperature found") Index: ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m =================================================================== --- ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m (revision 24860) +++ ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m (revision 24861) @@ -32,7 +32,7 @@ vertexonicefront=double(md.mesh.vertexonboundary & incontour); else %Guess where the ice front is - pos=find(sum(md.mask.groundedice_levelset(md.mesh.elements)<0.,2) >0.); + pos=find(sum(md.mask.ocean_levelset(md.mesh.elements)<0.,2) >0.); vertexonfloatingice=zeros(md.mesh.numberofvertices,1); vertexonfloatingice(md.mesh.elements(pos,:))=1.; vertexonicefront=double(md.mesh.vertexonboundary & vertexonfloatingice); @@ -101,7 +101,7 @@ end if (length(md.basalforcings.geothermalflux)~=md.mesh.numberofvertices), md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1); - md.basalforcings.geothermalflux(find(md.mask.groundedice_levelset>0.))=50.*10.^-3; %50mW/m2 + md.basalforcings.geothermalflux(find(md.mask.ocean_levelset>0.))=50.*10.^-3; %50mW/m2 end else disp(' no thermal boundary conditions created: no observed temperature found'); Index: ../trunk-jpl/src/m/mesh/modelmerge2d.m =================================================================== --- ../trunk-jpl/src/m/mesh/modelmerge2d.m (revision 24860) +++ ../trunk-jpl/src/m/mesh/modelmerge2d.m (revision 24861) @@ -94,7 +94,7 @@ %now we can go through classes and transfer. md=transfer_fields(md,md1,md2,'geometry',{'thickness','surface','bed','base'}); - md=transfer_fields(md,md1,md2,'mask',{'groundedice_levelset','ice_levelset','ocean_levelset','land_levelset','glacier_levelset'}); + md=transfer_fields(md,md1,md2,'mask',{'ocean_levelset','ice_levelset','ocean_levelset','land_levelset','glacier_levelset'}); md=transfer_fields(md,md1,md2,'smb',{'mass_balance'}); if strcmpi(class(md1.basalforcings),'linearbasalforcings'), md=transfer_fields(md,md1,md2,'basalforcings',{'groundedice_melting_rate','geothermalflux'}); Index: ../trunk-jpl/src/m/mesh/TwoDToThreeD.m =================================================================== --- ../trunk-jpl/src/m/mesh/TwoDToThreeD.m (revision 24860) +++ ../trunk-jpl/src/m/mesh/TwoDToThreeD.m (revision 24861) @@ -37,5 +37,5 @@ md.mask=mask; else md.mask.ice_levelset=mask.ice_levelset; - md.mask.groundedice_levelset=mask.groundedice_levelset; + md.mask.ocean_levelset=mask.ocean_levelset; end Index: ../trunk-jpl/src/m/regional/BasinConstrainShelf.m =================================================================== --- ../trunk-jpl/src/m/regional/BasinConstrainShelf.m (revision 24860) +++ ../trunk-jpl/src/m/regional/BasinConstrainShelf.m (revision 24861) @@ -65,7 +65,7 @@ md.stressbalance.spcvy(pos)=md.inversion.vy_obs(pos); %iceshelves: any vertex on floating ice is spc'd -pos=find(md.mask.groundedice_levelset<0.); +pos=find(md.mask.ocean_levelset<0.); md.stressbalance.spcvx(pos)=md.inversion.vx_obs(pos); md.stressbalance.spcvy(pos)=md.inversion.vy_obs(pos); Index: ../trunk-jpl/src/m/miscellaneous/diagnostics.m =================================================================== --- ../trunk-jpl/src/m/miscellaneous/diagnostics.m (revision 24860) +++ ../trunk-jpl/src/m/miscellaneous/diagnostics.m (revision 24861) @@ -34,7 +34,7 @@ %grounding line : if getfieldvalue(options,'gl',0), - contours=contourlevelzero(md,md.mask.groundedice_levelset,0); + contours=contourlevelzero(md,md.mask.ocean_levelset,0); expwrite(contours,[path '/groundingline.exp']); exp2shp([path '/groundingline.shp'],[path '/groundingline.exp']); end Index: ../trunk-jpl/src/m/miscellaneous/transientrestart.m =================================================================== --- ../trunk-jpl/src/m/miscellaneous/transientrestart.m (revision 24860) +++ ../trunk-jpl/src/m/miscellaneous/transientrestart.m (revision 24861) @@ -54,8 +54,8 @@ end %Update mask -if isfield(results,'MaskGroundediceLevelset'), - md.mask.groundedice_levelset = results.MaskGroundediceLevelset; +if isfield(results,'MaskOceanLevelset'), + md.mask.ocean_levelset = results.MaskOceanLevelset; end if isfield(results,'MaskIceLevelset'), md.mask.ice_levelset = results.MaskIceLevelset; Index: ../trunk-jpl/src/m/parameterization/sethydrostaticmask.py =================================================================== --- ../trunk-jpl/src/m/parameterization/sethydrostaticmask.py (revision 24860) +++ ../trunk-jpl/src/m/parameterization/sethydrostaticmask.py (revision 24861) @@ -3,7 +3,7 @@ def setmask(md): """ - SETHYDROSTATICMASK - establish groundedice_levelset field + SETHYDROSTATICMASK - establish ocean_levelset field Determines grounded and floating ice position based on md.geometry.bed and md.geometry.thickness @@ -19,13 +19,13 @@ raise IOError("hydrostaticmask error message: fields in md.geometry do not have the right size.") # grounded ice level set - md.mask.groundedice_levelset = md.geometry.thickness + md.geometry.bed * md.materials.rho_water / md.materials.rho_ice + md.mask.ocean_levelset = md.geometry.thickness + md.geometry.bed * md.materials.rho_water / md.materials.rho_ice #Check consistency of geometry - if any(md.geometry.base[np.nonzero(md.mask.groundedice_levelset > 0.)] != md.geometry.bed[np.nonzero(md.mask.groundedice_levelset > 0.)]): + if any(md.geometry.base[np.nonzero(md.mask.ocean_levelset > 0.)] != md.geometry.bed[np.nonzero(md.mask.ocean_levelset > 0.)]): print("WARNING: md.geometry.bed and md.geometry.base not equal on grounded ice") - if any(md.geometry.base[np.nonzero(md.mask.groundedice_levelset <= 0.)] < md.geometry.bed[np.nonzero(md.mask.groundedice_levelset <= 0.)]): + if any(md.geometry.base[np.nonzero(md.mask.ocean_levelset <= 0.)] < md.geometry.bed[np.nonzero(md.mask.ocean_levelset <= 0.)]): print("WARNING: md.geometry.base < md.geometry.bed on floating ice") return md Index: ../trunk-jpl/src/m/parameterization/setmask.py =================================================================== --- ../trunk-jpl/src/m/parameterization/setmask.py (revision 24860) +++ ../trunk-jpl/src/m/parameterization/setmask.py (revision 24861) @@ -55,8 +55,8 @@ #}}} #level sets - md.mask.groundedice_levelset = -1. * np.ones(md.mesh.numberofvertices) - md.mask.groundedice_levelset[md.mesh.elements[np.nonzero(elementongroundedice), :] - 1] = 1. + md.mask.ocean_levelset = -1. * np.ones(md.mesh.numberofvertices) + md.mask.ocean_levelset[md.mesh.elements[np.nonzero(elementongroundedice), :] - 1] = 1. if(len(args)): md.mask.ice_levelset = 1. * np.ones(md.mesh.numberofvertices) Index: ../trunk-jpl/src/m/parameterization/sethydrostaticmask.m =================================================================== --- ../trunk-jpl/src/m/parameterization/sethydrostaticmask.m (revision 24860) +++ ../trunk-jpl/src/m/parameterization/sethydrostaticmask.m (revision 24861) @@ -1,5 +1,5 @@ function md=sethydrostaticmask(md) -%SETHYDROSTATICMASK - establish groundedice_levelset field +%SETHYDROSTATICMASK - establish ocean_levelset field % % Determines grounded and floating ice position based on % md.geometry.bed and md.geometry.thickness @@ -15,15 +15,15 @@ end %grounded ice level set -md.mask.groundedice_levelset=md.geometry.thickness+md.geometry.bed*md.materials.rho_water/md.materials.rho_ice; +md.mask.ocean_levelset=md.geometry.thickness+md.geometry.bed*md.materials.rho_water/md.materials.rho_ice; %Check consistency of geometry -pos=find(md.mask.groundedice_levelset>0); +pos=find(md.mask.ocean_levelset>0); if(any(md.geometry.base(pos)~=md.geometry.bed(pos))), disp('WARNING: md.geometry.bed and md.geometry.base not equal on grounded ice'); end -pos=find(md.mask.groundedice_levelset<=0); +pos=find(md.mask.ocean_levelset<=0); if(any(md.geometry.base(pos)3) if(varargin(1)=='icedomain') Index: ../trunk-jpl/src/m/parameterization/killberg.m =================================================================== --- ../trunk-jpl/src/m/parameterization/killberg.m (revision 24860) +++ ../trunk-jpl/src/m/parameterization/killberg.m (revision 24861) @@ -2,7 +2,7 @@ function ice_levelset = killberg(md) %KILLBERG - kill ice berg % -% check md.mask.ice_levelset and md.mask.groundedice_levelset and +% check md.mask.ice_levelset and md.mask.ocean_levelset and % remove icebergs from md.mask.ice_levelset. This function is adapted % from src/c/modules/KillIcebergsx/KillIcebergsx.cpp % @@ -24,7 +24,7 @@ %do not go through elements that are grounded, mark flag as 1 (done) %and initialize mask as 1 for all vertices of these elements -isgrounded = max(md.mask.groundedice_levelset(md.mesh.elements),[],2)>0; +isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0; pos = find(isgrounded); element_flag(pos) = 1; mask(md.mesh.elements(pos,:)) = 1; Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 24860) +++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 24861) @@ -626,10 +626,9 @@ case LoadingforceXEnum : return "LoadingforceX"; case LoadingforceYEnum : return "LoadingforceY"; case LoadingforceZEnum : return "LoadingforceZ"; - case MaskGroundediceLevelsetEnum : return "MaskGroundediceLevelset"; + case MaskOceanLevelsetEnum : return "MaskOceanLevelset"; case MaskIceLevelsetEnum : return "MaskIceLevelset"; case MaskLandLevelsetEnum : return "MaskLandLevelset"; - case MaskOceanLevelsetEnum : return "MaskOceanLevelset"; case MasstransportSpcthicknessEnum : return "MasstransportSpcthickness"; case MaterialsRheologyBEnum : return "MaterialsRheologyB"; case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar"; Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 24860) +++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 24861) @@ -641,10 +641,9 @@ else if (strcmp(name,"LoadingforceX")==0) return LoadingforceXEnum; else if (strcmp(name,"LoadingforceY")==0) return LoadingforceYEnum; else if (strcmp(name,"LoadingforceZ")==0) return LoadingforceZEnum; - else if (strcmp(name,"MaskGroundediceLevelset")==0) return MaskGroundediceLevelsetEnum; + else if (strcmp(name,"MaskOceanLevelset")==0) return MaskOceanLevelsetEnum; else if (strcmp(name,"MaskIceLevelset")==0) return MaskIceLevelsetEnum; else if (strcmp(name,"MaskLandLevelset")==0) return MaskLandLevelsetEnum; - else if (strcmp(name,"MaskOceanLevelset")==0) return MaskOceanLevelsetEnum; else if (strcmp(name,"MasstransportSpcthickness")==0) return MasstransportSpcthicknessEnum; else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum; else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum; @@ -751,11 +750,11 @@ else if (strcmp(name,"SmbMAdd")==0) return SmbMAddEnum; else if (strcmp(name,"SmbMassBalanceClimate")==0) return SmbMassBalanceClimateEnum; else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum; + else if (strcmp(name,"SmbMassBalanceSubstep")==0) return SmbMassBalanceSubstepEnum; else stage=7; } if(stage==7){ - if (strcmp(name,"SmbMassBalanceSubstep")==0) return SmbMassBalanceSubstepEnum; - else if (strcmp(name,"SmbMassBalanceTransient")==0) return SmbMassBalanceTransientEnum; + if (strcmp(name,"SmbMassBalanceTransient")==0) return SmbMassBalanceTransientEnum; else if (strcmp(name,"SmbMeanLHF")==0) return SmbMeanLHFEnum; else if (strcmp(name,"SmbMeanSHF")==0) return SmbMeanSHFEnum; else if (strcmp(name,"SmbMeanULW")==0) return SmbMeanULWEnum; @@ -874,11 +873,11 @@ else if (strcmp(name,"Outputdefinition12")==0) return Outputdefinition12Enum; else if (strcmp(name,"Outputdefinition13")==0) return Outputdefinition13Enum; else if (strcmp(name,"Outputdefinition14")==0) return Outputdefinition14Enum; + else if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum; else stage=8; } if(stage==8){ - if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum; - else if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum; + if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum; else if (strcmp(name,"Outputdefinition17")==0) return Outputdefinition17Enum; else if (strcmp(name,"Outputdefinition18")==0) return Outputdefinition18Enum; else if (strcmp(name,"Outputdefinition19")==0) return Outputdefinition19Enum; @@ -997,11 +996,11 @@ else if (strcmp(name,"BasalforcingsPico")==0) return BasalforcingsPicoEnum; else if (strcmp(name,"BeckmannGoosseFloatingMeltRate")==0) return BeckmannGoosseFloatingMeltRateEnum; else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum; + else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum; else stage=9; } if(stage==9){ - if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum; - else if (strcmp(name,"BoolInput")==0) return BoolInputEnum; + if (strcmp(name,"BoolInput")==0) return BoolInputEnum; else if (strcmp(name,"BoolInput2")==0) return BoolInput2Enum; else if (strcmp(name,"IntInput2")==0) return IntInput2Enum; else if (strcmp(name,"BoolParam")==0) return BoolParamEnum; @@ -1120,11 +1119,11 @@ else if (strcmp(name,"IceMassScaled")==0) return IceMassScaledEnum; else if (strcmp(name,"IceVolumeAboveFloatation")==0) return IceVolumeAboveFloatationEnum; else if (strcmp(name,"IceVolumeAboveFloatationScaled")==0) return IceVolumeAboveFloatationScaledEnum; + else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum; else stage=10; } if(stage==10){ - if (strcmp(name,"IceVolume")==0) return IceVolumeEnum; - else if (strcmp(name,"IceVolumeScaled")==0) return IceVolumeScaledEnum; + if (strcmp(name,"IceVolumeScaled")==0) return IceVolumeScaledEnum; else if (strcmp(name,"IcefrontMassFlux")==0) return IcefrontMassFluxEnum; else if (strcmp(name,"IcefrontMassFluxLevelset")==0) return IcefrontMassFluxLevelsetEnum; else if (strcmp(name,"Incremental")==0) return IncrementalEnum; @@ -1243,11 +1242,11 @@ else if (strcmp(name,"Penta")==0) return PentaEnum; else if (strcmp(name,"PentaInput")==0) return PentaInputEnum; else if (strcmp(name,"Profiler")==0) return ProfilerEnum; + else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum; else stage=11; } if(stage==11){ - if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum; - else if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum; + if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum; else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum; else if (strcmp(name,"Regionaloutput")==0) return RegionaloutputEnum; else if (strcmp(name,"Regular")==0) return RegularEnum; Index: ../trunk-jpl/src/c/shared/Enum/Enum.vim =================================================================== --- ../trunk-jpl/src/c/shared/Enum/Enum.vim (revision 24860) +++ ../trunk-jpl/src/c/shared/Enum/Enum.vim (revision 24861) @@ -624,10 +624,9 @@ syn keyword cConstant LoadingforceXEnum syn keyword cConstant LoadingforceYEnum syn keyword cConstant LoadingforceZEnum -syn keyword cConstant MaskGroundediceLevelsetEnum +syn keyword cConstant MaskOceanLevelsetEnum syn keyword cConstant MaskIceLevelsetEnum syn keyword cConstant MaskLandLevelsetEnum -syn keyword cConstant MaskOceanLevelsetEnum syn keyword cConstant MasstransportSpcthicknessEnum syn keyword cConstant MaterialsRheologyBEnum syn keyword cConstant MaterialsRheologyBbarEnum Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h =================================================================== --- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 24860) +++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 24861) @@ -621,10 +621,9 @@ LoadingforceXEnum, LoadingforceYEnum, LoadingforceZEnum, - MaskGroundediceLevelsetEnum, + MaskOceanLevelsetEnum, MaskIceLevelsetEnum, MaskLandLevelsetEnum, - MaskOceanLevelsetEnum, MasstransportSpcthicknessEnum, MaterialsRheologyBEnum, MaterialsRheologyBbarEnum, Index: ../trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp =================================================================== --- ../trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp (revision 24860) +++ ../trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp (revision 24861) @@ -45,8 +45,8 @@ femmodel->parameters->FindParam(&maxbox,BasalforcingsPicoMaxboxcountEnum); IssmDouble* dmax_basin_cpu=xNew(num_basins); - InputDuplicatex(femmodel,MaskGroundediceLevelsetEnum,DistanceToGroundinglineEnum); - femmodel->DistanceToFieldValue(MaskGroundediceLevelsetEnum,0.,DistanceToGroundinglineEnum); + InputDuplicatex(femmodel,MaskOceanLevelsetEnum,DistanceToGroundinglineEnum); + femmodel->DistanceToFieldValue(MaskOceanLevelsetEnum,0.,DistanceToGroundinglineEnum); InputDuplicatex(femmodel,MaskIceLevelsetEnum,DistanceToCalvingfrontEnum); femmodel->DistanceToFieldValue(MaskIceLevelsetEnum,0.,DistanceToCalvingfrontEnum); Index: ../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp (revision 24860) +++ ../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp (revision 24861) @@ -136,7 +136,7 @@ vec_phi=new Vector(vertices->NumberOfVertices()); for(i=0;iSize();i++){ Element* element=xDynamicCast(elements->GetObjectByOffset(i)); - element->GetVectorFromInputs(vec_phi,MaskGroundediceLevelsetEnum,VertexPIdEnum); + element->GetVectorFromInputs(vec_phi,MaskOceanLevelsetEnum,VertexPIdEnum); } vec_phi->Assemble(); phi=vec_phi->ToMPISerial(); Index: ../trunk-jpl/src/c/cores/transient_core.cpp =================================================================== --- ../trunk-jpl/src/c/cores/transient_core.cpp (revision 24860) +++ ../trunk-jpl/src/c/cores/transient_core.cpp (revision 24861) @@ -196,7 +196,7 @@ if(VerboseSolution()) _printf0_(" computing new grounding line position\n"); GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); - femmodel->parameters->SetParam(MaskGroundediceLevelsetEnum,InputToExtrudeEnum); + femmodel->parameters->SetParam(MaskOceanLevelsetEnum,InputToExtrudeEnum); extrudefrombase_core(femmodel); femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum); extrudefrombase_core(femmodel); @@ -207,7 +207,7 @@ femmodel->profiler->Stop(GROUNDINGLINECORE); if(save_results){ - int outputs[3] = {SurfaceEnum,BaseEnum,MaskGroundediceLevelsetEnum}; + int outputs[3] = {SurfaceEnum,BaseEnum,MaskOceanLevelsetEnum}; femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],3); } } @@ -231,7 +231,7 @@ if(VerboseSolution()) _printf0_(" computing requested outputs\n"); femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs,save_results); if(isgroundingline && (groundingline_migration==AggressiveMigrationEnum || groundingline_migration==ContactEnum)){ - int outputs[1] = {MaskGroundediceLevelsetEnum}; + int outputs[1] = {MaskOceanLevelsetEnum}; femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],1,save_results); } Index: ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 24860) +++ ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 24861) @@ -85,7 +85,7 @@ this->fill = IoRiftfillToEnum(reCast(*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+7))); this->friction=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+8); this->fractionincrement=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+10); - this->shelf=reCast(iomodel->Data("md.mask.groundedice_levelset")[node1-1]<0.); + this->shelf=reCast(iomodel->Data("md.mask.ocean_levelset")[node1-1]<0.); //parameters and hooked fields: we still can't point to them, they may not even exist. Configure will handle this. this->parameters=NULL; Index: ../trunk-jpl/src/c/classes/FemModel.h =================================================================== --- ../trunk-jpl/src/c/classes/FemModel.h (revision 24860) +++ ../trunk-jpl/src/c/classes/FemModel.h (revision 24861) @@ -194,7 +194,6 @@ void GetMesh(int** elementslist, IssmDouble** x, IssmDouble** y, int* numberofvertices, int* numberofelements); void SetMesh(int** elementslist, IssmDouble** x, IssmDouble** y, int* numberofvertices, int* numberofelements); void GetMeshOnPartition(Vertices* femmodel_vertices,Elements* femmodel_elements,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist,int** psidtoindex); - void GetGroundediceLevelSet(IssmDouble** pmasklevelset); void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements); void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials); void CreateConstraints(Vertices* newfemmodel_vertices,int analysis_enum,Constraints* newfemmodel_constraints); Index: ../trunk-jpl/src/c/classes/FemModel.cpp =================================================================== --- ../trunk-jpl/src/c/classes/FemModel.cpp (revision 24860) +++ ../trunk-jpl/src/c/classes/FemModel.cpp (revision 24861) @@ -3349,7 +3349,7 @@ } /*Update inputs*/ - element->AddInput2(MaskGroundediceLevelsetEnum,&phi[0],P1Enum); + element->AddInput2(MaskOceanLevelsetEnum,&phi[0],P1Enum); element->AddInput2(ThicknessEnum,&h[0],P1Enum); element->AddInput2(BaseEnum,&b[0],P1Enum); } @@ -3670,37 +3670,6 @@ return; } /*}}}*/ -void FemModel::GetGroundediceLevelSet(IssmDouble **pmasklevelset){/*{{{*/ - - int elementswidth = this->GetElementsWidth();//just 2D mesh, tria elements - int numberofvertices = this->vertices->NumberOfVertices(); - - IssmDouble* elementlevelset=xNew(elementswidth); - int* elem_vertices=xNew(elementswidth); - Vector* vmasklevelset=new Vector(numberofvertices); - - for(int i=0;ielements->Size();i++){ - Element* element=xDynamicCast(this->elements->GetObjectByOffset(i)); - element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum); - element->GetVerticesSidList(elem_vertices); - vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL); - vmasklevelset->SetValue(elem_vertices[1],elementlevelset[1],INS_VAL); - vmasklevelset->SetValue(elem_vertices[2],elementlevelset[2],INS_VAL); - } - - /*Assemble*/ - vmasklevelset->Assemble(); - - /*Serialize and set output*/ - (*pmasklevelset)=vmasklevelset->ToMPISerial(); - - /*Cleanup*/ - xDelete(elementlevelset); - xDelete(elem_vertices); - delete vmasklevelset; - -} -/*}}}*/ void FemModel::CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements){/*{{{*/ /*newlementslist is in Matlab indexing*/ @@ -4365,7 +4334,7 @@ for(int i=0;ielements->Size();i++){ Element* element=xDynamicCast(this->elements->GetObjectByOffset(i)); - element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum); + element->GetInputListOnVertices(elementlevelset,MaskOceanLevelsetEnum); int sid = element->Sid(); vmasklevelset->SetValue(sid,(elementlevelset[0]+elementlevelset[1]+elementlevelset[2])/3.,INS_VAL); } @@ -4430,7 +4399,7 @@ /*Here, "zero level set" means grounding line or ice front, depending on the level set type*/ /*pzerolevelset_points are the element center points with zero level set. X and Y coords*/ - if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){ + if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){ _error_("level set type not implemented yet!"); } @@ -5417,7 +5386,7 @@ /*Fill hmaxvertices*/ if(this->amrbamg->thicknesserror_threshold>0) this->GethmaxVerticesFromEstimators(hmaxvertices_serial,ThicknessErrorEstimatorEnum); if(this->amrbamg->deviatoricerror_threshold>0) this->GethmaxVerticesFromEstimators(hmaxvertices_serial,DeviatoricStressErrorEstimatorEnum); - if(this->amrbamg->groundingline_distance>0) this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskGroundediceLevelsetEnum); + if(this->amrbamg->groundingline_distance>0) this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskOceanLevelsetEnum); if(this->amrbamg->icefront_distance>0) this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskIceLevelsetEnum); } @@ -5529,7 +5498,7 @@ int sid,numberofpoints; switch(levelset_type){ - case MaskGroundediceLevelsetEnum: + case MaskOceanLevelsetEnum: threshold = this->amrbamg->groundingline_distance; resolution = this->amrbamg->groundingline_resolution; break; @@ -5691,7 +5660,7 @@ /*Here, "zero level set" means grounding line or ice front, depending on the level set type*/ /*pverticedistance is the minimal vertice distance to the grounding line or ice front*/ - if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){ + if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){ _error_("level set type not implemented yet!"); } @@ -5753,7 +5722,7 @@ int newnumberofelements = -1; /*Get fields, if requested*/ - if(this->amr->groundingline_distance>0) this->GetElementDistanceToZeroLevelSet(&gl_distance,MaskGroundediceLevelsetEnum); + if(this->amr->groundingline_distance>0) this->GetElementDistanceToZeroLevelSet(&gl_distance,MaskOceanLevelsetEnum); if(this->amr->icefront_distance>0) this->GetElementDistanceToZeroLevelSet(&if_distance,MaskIceLevelsetEnum); if(this->amr->thicknesserror_threshold>0) this->ThicknessZZErrorEstimator(&thicknesserror); if(this->amr->deviatoricerror_threshold>0) this->ZZErrorEstimator(&deviatoricerror); @@ -5855,7 +5824,7 @@ /*Here, "zero level set" means grounding line or ice front, depending on the level set type*/ /*pverticedistance is the minimal vertice distance to the grounding line or ice front*/ - if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){ + if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){ _error_("level set type not implemented yet!"); } Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 24860) +++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 24861) @@ -286,7 +286,7 @@ /*Retrieve all inputs and parameters we will need*/ Input2* vx_input = this->GetInput2(VxAverageEnum); _assert_(vx_input); Input2* vy_input = this->GetInput2(VyAverageEnum); _assert_(vy_input); - Input2* gr_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input); + Input2* gr_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input); Input2* bs_input = this->GetInput2(BaseEnum); _assert_(bs_input); Input2* B_input = this->GetInput2(MaterialsRheologyBbarEnum); _assert_(B_input); Input2* n_input = this->GetInput2(MaterialsRheologyNEnum); _assert_(n_input); @@ -1246,7 +1246,7 @@ Element::GetInputListOnVertices(&bed[0],BedEnum); Element::GetInputListOnVertices(&surface[0],SurfaceEnum); Element::GetInputListOnVertices(&pressure[0],PressureEnum); - Element::GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum); IssmDouble rho_ice = FindParam(MaterialsRhoIceEnum); IssmDouble rho_water = FindParam(MaterialsRhoSeawaterEnum); IssmDouble gravity = FindParam(ConstantsGEnum); @@ -1385,7 +1385,7 @@ IssmDouble f1,f2; /*Recover parameters and values*/ - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*Be sure that values are not zero*/ if(gl[0]==0.) gl[0]=gl[0]+epsilon; @@ -1439,7 +1439,7 @@ IssmDouble xyz_bis[NUMVERTICES2D][3]; /*Recover parameters and values*/ - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*Be sure that values are not zero*/ if(gl[0]==0.) gl[0]=gl[0]+epsilon; @@ -2068,7 +2068,7 @@ /*Make sure there is a grounding line here*/ if(!IsOnBase()) return 0; if(!IsIceInElement()) return 0; - if(!IsZeroLevelset(MaskGroundediceLevelsetEnum)) return 0; + if(!IsZeroLevelset(MaskOceanLevelsetEnum)) return 0; /*Scaled not implemented yet...*/ _assert_(!scaled); @@ -2083,7 +2083,7 @@ this->GetVerticesCoordinates(&xyz_list); /*Recover parameters and values*/ - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*Be sure that values are not zero*/ if(gl[0]==0.) gl[0]=gl[0]+epsilon; @@ -3187,7 +3187,7 @@ density=rho_ice/rho_water; Element::GetInputListOnVertices(&h[0],ThicknessEnum); Element::GetInputListOnVertices(&r[0],BedEnum); - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*go through vertices, and figure out which ones are on the ice sheet, and want to unground: */ for(int i=0;iGetInput2(BedSlopeXEnum); _assert_(slopex_input); Input2* slopey_input=this->GetInput2(BedSlopeYEnum); _assert_(slopey_input); - Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input); + Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input); /*Loop over basal nodes and update their CS*/ GaussPenta* gauss = new GaussPenta(); @@ -4173,7 +4173,7 @@ /*Get material parameters :*/ rho_ice=FindParam(MaterialsRhoIceEnum); Input2* floatingmelt_input = this->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingmelt_input); - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); Input2* scalefactor_input = NULL; if(scaled==true){ scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input); @@ -4218,7 +4218,7 @@ /*Get material parameters :*/ rho_ice=FindParam(MaterialsRhoIceEnum); Input2* groundedmelt_input = this->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedmelt_input); - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); Input2* scalefactor_input = NULL; if(scaled==true){ scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input); Index: ../trunk-jpl/src/c/classes/Elements/Seg.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 24860) +++ ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 24861) @@ -263,7 +263,7 @@ IssmDouble gl[NUMVERTICES]; /*Recover parameters and values*/ - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*Be sure that values are not zero*/ if(gl[0]==0.) gl[0]=gl[0]+epsilon; Index: ../trunk-jpl/src/c/classes/Elements/Tetra.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 24860) +++ ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 24861) @@ -696,7 +696,7 @@ /*Get inputs*/ Input2* slopex_input=this->GetInput2(BedSlopeXEnum); _assert_(slopex_input); Input2* slopey_input=this->GetInput2(BedSlopeYEnum); _assert_(slopey_input); - Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input); + Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input); vertexonbase = xNew(numnodes); this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum); Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 24860) +++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 24861) @@ -1985,7 +1985,7 @@ int migration_style; parameters->FindParam(&migration_style,GroundinglineMigrationEnum); - Input2* input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(input); + Input2* input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(input); if(migration_style==SubelementMigrationEnum){ //Floating if all nodes are floating if(input->GetInputMax() <= 0.) shelf=true; @@ -2005,7 +2005,7 @@ }/*}}}*/ bool Element::IsGrounded(){/*{{{*/ - Input2* input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(input); + Input2* input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(input); if(input->GetInputMax() > 0.){ return true; } @@ -2257,7 +2257,7 @@ GetInputListOnVertices(&b[0],BaseEnum); GetInputListOnVertices(&r[0],BedEnum); GetInputListOnVertices(&sl[0],SealevelEnum); - GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum); + GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum); rho_water = FindParam(MaterialsRhoSeawaterEnum); rho_ice = FindParam(MaterialsRhoIceEnum); density = rho_ice/rho_water; @@ -2311,7 +2311,7 @@ /*do nothing*/ } } - this->AddInput2(MaskGroundediceLevelsetEnum,&phi[0],P1Enum); + this->AddInput2(MaskOceanLevelsetEnum,&phi[0],P1Enum); /*Update inputs*/ this->AddInput2(SurfaceEnum,&s[0],P1Enum); Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 24860) +++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 24861) @@ -313,7 +313,7 @@ Input2* vx_input = this->GetInput2(VxEnum); _assert_(vx_input); Input2* vy_input = this->GetInput2(VyEnum); _assert_(vy_input); Input2* B_input = this->GetInput2(MaterialsRheologyBbarEnum); _assert_(B_input); - Input2* gr_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input); + Input2* gr_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input); Input2* bs_input = this->GetInput2(BaseEnum); _assert_(bs_input); Input2* smax_fl_input = this->GetInput2(CalvingStressThresholdFloatingiceEnum); _assert_(smax_fl_input); Input2* smax_gr_input = this->GetInput2(CalvingStressThresholdGroundediceEnum); _assert_(smax_gr_input); @@ -1365,7 +1365,7 @@ Element::GetInputListOnVertices(&bed[0],BedEnum); Element::GetInputListOnVertices(&surface[0],SurfaceEnum); Element::GetInputListOnVertices(&pressure[0],PressureEnum); - Element::GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum); IssmDouble rho_ice = FindParam(MaterialsRhoIceEnum); IssmDouble rho_water = FindParam(MaterialsRhoSeawaterEnum); IssmDouble gravity = FindParam(ConstantsGEnum); @@ -1571,7 +1571,7 @@ IssmDouble f1,f2; /*Recover parameters and values*/ - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*Be sure that values are not zero*/ if(gl[0]==0.) gl[0]=gl[0]+epsilon; @@ -1627,7 +1627,7 @@ /*Recover parameters and values*/ parameters->FindParam(&domaintype,DomainTypeEnum); - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*Be sure that values are not zero*/ if(gl[0]==0.) gl[0]=gl[0]+epsilon; @@ -2877,7 +2877,7 @@ /*Make sure there is a grounding line here*/ if(!IsIceInElement()) return 0; - if(!IsZeroLevelset(MaskGroundediceLevelsetEnum)) return 0; + if(!IsZeroLevelset(MaskOceanLevelsetEnum)) return 0; /*Scaled not implemented yet...*/ _assert_(!scaled); @@ -2893,7 +2893,7 @@ /*Recover parameters and values*/ parameters->FindParam(&domaintype,DomainTypeEnum); - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*Be sure that values are not zero*/ if(gl[0]==0.) gl[0]=gl[0]+epsilon; @@ -3825,7 +3825,7 @@ density=rho_ice/rho_water; Element::GetInputListOnVertices(&h[0],ThicknessEnum); Element::GetInputListOnVertices(&r[0],BedEnum); - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum); + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum); /*go through vertices, and figure out which ones are grounded and want to unground: */ for(int i=0;iGetInput2(BedSlopeXEnum); _assert_(slope_input); - Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input); + Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input); vertexonbase = xNew(numnodes); this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum); @@ -4642,7 +4642,7 @@ /*Get material parameters :*/ rho_ice=FindParam(MaterialsRhoIceEnum); Input2* floatingmelt_input = this->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingmelt_input); - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); Input2* scalefactor_input = NULL; if(scaled==true){ scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input); @@ -4687,7 +4687,7 @@ /*Get material parameters :*/ rho_ice=FindParam(MaterialsRhoIceEnum); Input2* groundedmelt_input = this->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedmelt_input); - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); Input2* scalefactor_input = NULL; if(scaled==true){ scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input); @@ -5622,7 +5622,7 @@ } /*early return if we are fully floating:*/ - Input2* gr_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input); + Input2* gr_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input); if (gr_input->GetInputMax()<=0){ constant=0; this->AddInput2(SealevelEustaticMaskEnum,&constant,P0Enum); *peustatic=0; //do not forget to assign this pointer, otherwise, global eustatic will be garbage! @@ -6128,7 +6128,7 @@ if(!IsIceOnlyInElement() && !IsWaterInElement()) return; /*early return if we are fully floating: */ - Input2* gr_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input); + Input2* gr_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input); if(gr_input->GetInputMax()<=0)return; /*recover computational flags: */ Index: ../trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp (revision 24861) @@ -135,7 +135,7 @@ iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum); } iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.bump_height",HydrologyBumpHeightEnum); iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.sheet_conductivity",HydrologySheetConductivityEnum); iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.neumannflux",HydrologyNeumannfluxEnum); Index: ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 24861) @@ -353,7 +353,7 @@ element->GetVerticesCoordinatesBase(&xyz_list_base); element->GetInputValue(&approximation,ApproximationEnum); Input2* base_input=element->GetInput2(BaseEnum); _assert_(base_input); - Input2* groundedice_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedice_input); + Input2* groundedice_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedice_input); Input2* groundedice_melting_input=element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedice_melting_input); Input2* floatingice_melting_input=element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingice_melting_input); Input2* vx_input=element->GetInput2(VxEnum); _assert_(vx_input); Index: ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp (revision 24861) @@ -243,12 +243,12 @@ case Domain2DhorizontalEnum: vx_input=basalelement->GetInput2(VxEnum); _assert_(vx_input); vy_input=basalelement->GetInput2(VyEnum); _assert_(vy_input); - gr_input=basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input); + gr_input=basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input); break; case Domain3DEnum: vx_input=basalelement->GetInput2(VxAverageEnum); _assert_(vx_input); vy_input=basalelement->GetInput2(VyAverageEnum); _assert_(vy_input); - gr_input=basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input); + gr_input=basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input); break; default: _error_("mesh "<FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum); } iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.geothermalflux",BasalforcingsGeothermalfluxEnum); iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.head",HydrologyHeadEnum); Index: ../trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp (revision 24861) @@ -32,7 +32,7 @@ /*Add input to elements*/ iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.drainage_rate",HydrologyDrainageRateEnum); iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.watercolumn_max",HydrologyWatercolumnMaxEnum); Index: ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 24861) @@ -149,7 +149,7 @@ iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum); iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0); iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vx",VxEnum); iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vy",VyEnum); @@ -621,7 +621,7 @@ element->FindParam(&stabilization,MasstransportStabilizationEnum); Input2* gmb_input = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input); Input2* fmb_input = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input); - Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); Input2* ms_input = element->GetInput2(SmbMassBalanceEnum); _assert_(ms_input); Input2* thickness_input = element->GetInput2(ThicknessEnum); _assert_(thickness_input); Input2* vxaverage_input = element->GetInput2(VxAverageEnum); _assert_(vxaverage_input); @@ -736,7 +736,7 @@ Input2* gmb_input = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input); Input2* fmb_input = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input); Input2* ms_input = element->GetInput2(SmbMassBalanceEnum); _assert_(ms_input); - Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); Input2* thickness_input = element->GetInput2(ThicknessEnum); _assert_(thickness_input); /*Recover portion of element that is grounded*/ @@ -857,7 +857,7 @@ basalelement->GetInputListOnVertices(&oldthickness[0],ThicknessOldEnum); basalelement->GetInputListOnVertices(&oldbase[0],BaseOldEnum); basalelement->GetInputListOnVertices(&oldsurface[0],SurfaceOldEnum); - basalelement->GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum); + basalelement->GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum); basalelement->GetInputListOnVertices(&sealevel[0],SealevelEnum); basalelement->GetInputListOnVertices(&cumdeltathickness[0],SealevelriseCumDeltathicknessOldEnum); @@ -1069,7 +1069,7 @@ element->FindParam(&stabilization,MasstransportStabilizationEnum); Input2* gmb_input = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input); Input2* fmb_input = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input); - Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); Input2* ms_input = element->GetInput2(SmbMassBalanceEnum); _assert_(ms_input); Input2* vxaverage_input = element->GetInput2(VxAverageEnum); _assert_(vxaverage_input); Input2* vyaverage_input = element->GetInput2(VyAverageEnum); _assert_(vyaverage_input); Index: ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp (revision 24861) @@ -34,7 +34,7 @@ } /*Create inputs: */ - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); //those only if we have requested geodetic computations: iomodel->FetchData(&geodetic,"md.slr.geodetic"); Index: ../trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp (revision 24861) @@ -222,7 +222,7 @@ IssmDouble *bed = xNew(numnodes); IssmDouble *ls_active = xNew(numnodes); - element->GetInputListOnNodes(&mask[0],MaskGroundediceLevelsetEnum); + element->GetInputListOnNodes(&mask[0],MaskOceanLevelsetEnum); element->GetInputListOnNodes(&bed[0],BaseEnum); element->GetInputListOnNodes(&ls_active[0],IceMaskNodeActivationEnum); Index: ../trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp (revision 24861) @@ -63,7 +63,7 @@ iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum); } iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); iomodel->FetchDataToInput(inputs2,elements,"md.initialization.watercolumn",WatercolumnEnum); Index: ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 24861) @@ -160,7 +160,7 @@ } iomodel->FetchDataToInput(inputs2,elements,"md.geometry.thickness",ThicknessEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); if(ismovingfront){ if(iomodel->domaintype!=Domain2DhorizontalEnum) iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum); // required for updating active nodes Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 24861) @@ -102,7 +102,7 @@ iomodel->FetchData(&vertices_type,NULL,NULL,"md.flowequation.vertex_equation"); iomodel->FetchData(&nodeonFS,NULL,NULL,"md.flowequation.borderFS"); iomodel->FetchData(&nodeonbase,NULL,NULL,"md.mesh.vertexonbase"); - iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.groundedice_levelset"); + iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.ocean_levelset"); if(iomodel->domaintype==Domain3DEnum){ iomodel->FetchData(&spcvz,&Mz,&Nz,"md.stressbalance.spcvz"); } @@ -129,7 +129,7 @@ iomodel->DeleteData(vertices_type,"md.flowequation.vertex_equation"); iomodel->DeleteData(nodeonFS,"md.flowequation.borderFS"); iomodel->DeleteData(nodeonbase,"md.mesh.vertexonbase"); - iomodel->DeleteData(groundedice_ls,"md.mask.groundedice_levelset"); + iomodel->DeleteData(groundedice_ls,"md.mask.ocean_levelset"); /*Pressure spc*/ int count = constraints->Size(); @@ -201,7 +201,7 @@ if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonHO,NULL,NULL,"md.flowequation.borderHO"); if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonFS,NULL,NULL,"md.flowequation.borderFS"); if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonbase,NULL,NULL,"md.mesh.vertexonbase"); - if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.groundedice_levelset"); + if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.ocean_levelset"); iomodel->FetchData(&vertices_type,NULL,NULL,"md.flowequation.vertex_equation"); iomodel->FetchData(&surface,NULL,NULL,"md.geometry.surface"); iomodel->FetchData(&z,NULL,NULL,"md.mesh.z"); @@ -431,7 +431,7 @@ if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonHO,"md.flowequation.borderHO"); if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonFS,"md.flowequation.borderFS"); if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonbase,"md.mesh.vertexonbase"); - if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(groundedice_ls,"md.mask.groundedice_levelset"); + if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(groundedice_ls,"md.mask.ocean_levelset"); iomodel->DeleteData(vertices_type,"md.flowequation.vertex_equation"); iomodel->DeleteData(surface,"md.geometry.surface"); iomodel->DeleteData(z,"md.mesh.z"); @@ -495,7 +495,7 @@ /*Create Riffront loads for rifts: */ if(numrifts){ iomodel->FetchData(&riftinfo,&numriftsegments,NULL,"md.rifts.riftstruct"); - iomodel->FetchData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.groundedice_levelset"); + iomodel->FetchData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.ocean_levelset"); for(i=0;imy_elements[reCast(*(riftinfo+RIFTINFOSIZE*i+2))-1]){ loads->AddObject(new Riftfront(count+1,i,iomodel)); @@ -502,7 +502,7 @@ count++; } } - iomodel->DeleteData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.groundedice_levelset"); + iomodel->DeleteData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.ocean_levelset"); xDelete(riftinfo); } }/*}}}*/ @@ -757,7 +757,7 @@ iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum); iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0); iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vx",VxEnum,0.); iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vy",VyEnum,0.); iomodel->FetchDataToInput(inputs2,elements,"md.stressbalance.loadingforcex",LoadingforceXEnum); @@ -1441,7 +1441,7 @@ /*Recover portion of element that is grounded*/ if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list); if(friction_style==SubelementFriction2Enum){ - gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating); gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2); } @@ -2479,7 +2479,7 @@ /*Recover portion of element that is grounded*/ if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list_base); if(friction_style==SubelementFriction2Enum){ - gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating); gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2); } @@ -3962,7 +3962,7 @@ if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list_base); if(friction_style==SubelementFriction2Enum){ if(domaintype==Domain2DverticalEnum) _error_("Subelement Friction 2 not implemented yet for Flowline"); - gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input); + gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input); element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating); //gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2); gauss=element->NewGaussBase(3); Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp (revision 24861) @@ -792,7 +792,7 @@ IssmDouble* groundedice = xNew(numnodes); basalelement->GetInputListOnVertices(&meltingrate[0],BasalforcingsGroundediceMeltingRateEnum); - basalelement->GetInputListOnVertices(&groundedice[0],MaskGroundediceLevelsetEnum); + basalelement->GetInputListOnVertices(&groundedice[0],MaskOceanLevelsetEnum); /*if melting rate is not positive and node is not floating, deactivate*/ for(int i=0;iFetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum); iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0); iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); if(iomodel->domaintype!=Domain2DhorizontalEnum){ iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum); iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum); Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 24861) @@ -138,7 +138,7 @@ iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0); iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum); iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum); + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum); if(iomodel->domaintype!=Domain2DhorizontalEnum){ iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum); iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum); Index: ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp (revision 24860) +++ ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp (revision 24861) @@ -295,7 +295,7 @@ /*Retrieve all inputs and parameters*/ basalelement->GetVerticesCoordinates(&xyz_list); basalelement->FindParam(&dt,TimesteppingTimeStepEnum); - Input2* groundedice_input = basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedice_input); + Input2* groundedice_input = basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedice_input); Input2* gmb_input = basalelement->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input); Input2* fmb_input = basalelement->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input); Input2* base_input = basalelement->GetInput2(BaseEnum); _assert_(base_input); @@ -410,7 +410,7 @@ if(!element->IsOnBase()) continue; int numnodes = element->GetNumberOfNodes(); - Input2* groundedice_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedice_input); + Input2* groundedice_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedice_input); Input2* onbase_input = element->GetInput2(MeshVertexonbaseEnum); _assert_(onbase_input); Input2* base_input = element->GetInput2(BaseEnum); _assert_(base_input);