[25834] | 1 | Index: ../trunk-jpl/src/m/geometry/VolumeAboveFloatation.m
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/m/geometry/VolumeAboveFloatation.m (revision 24860)
|
---|
| 4 | +++ ../trunk-jpl/src/m/geometry/VolumeAboveFloatation.m (revision 24861)
|
---|
| 5 | @@ -32,7 +32,7 @@
|
---|
| 6 | V = areas.*(surface-base+min(rho_water/rho_ice*bathymetry,0.));
|
---|
| 7 |
|
---|
| 8 | %5. take out the ones that are outside of levelset or floating
|
---|
| 9 | -pos = find(min(md.mask.ice_levelset(index),[],2)>0 | min(md.mask.groundedice_levelset(index),[],2)<0);
|
---|
| 10 | +pos = find(min(md.mask.ice_levelset(index),[],2)>0 | min(md.mask.ocean_levelset(index),[],2)<0);
|
---|
| 11 | V(pos) = 0;
|
---|
| 12 |
|
---|
| 13 | %sum individual contributions
|
---|
| 14 | Index: ../trunk-jpl/src/m/classes/groundingline.py
|
---|
| 15 | ===================================================================
|
---|
| 16 | --- ../trunk-jpl/src/m/classes/groundingline.py (revision 24860)
|
---|
| 17 | +++ ../trunk-jpl/src/m/classes/groundingline.py (revision 24861)
|
---|
| 18 | @@ -51,7 +51,7 @@
|
---|
| 19 | if(not m.strcmp(self.migration, 'None') and md.transient.isgroundingline and solution == 'TransientSolution'):
|
---|
| 20 | if np.any(np.isnan(md.geometry.bed)):
|
---|
| 21 | md.checkmessage("requesting grounding line migration, but bathymetry is absent!")
|
---|
| 22 | - pos = np.nonzero(md.mask.groundedice_levelset > 0.)[0]
|
---|
| 23 | + pos = np.nonzero(md.mask.ocean_levelset > 0.)[0]
|
---|
| 24 | if any(np.abs(md.geometry.base[pos] - md.geometry.bed[pos]) > 10**-10):
|
---|
| 25 | md.checkmessage("base not equal to bed on grounded ice!")
|
---|
| 26 | if any(md.geometry.bed - md.geometry.base > 10**-9):
|
---|
| 27 | Index: ../trunk-jpl/src/m/classes/groundingline.m
|
---|
| 28 | ===================================================================
|
---|
| 29 | --- ../trunk-jpl/src/m/classes/groundingline.m (revision 24860)
|
---|
| 30 | +++ ../trunk-jpl/src/m/classes/groundingline.m (revision 24861)
|
---|
| 31 | @@ -36,11 +36,11 @@
|
---|
| 32 | if isnan(md.geometry.bed),
|
---|
| 33 | md = checkmessage(md,['requesting grounding line migration, but bathymetry is absent!']);
|
---|
| 34 | end
|
---|
| 35 | - pos=find(md.mask.groundedice_levelset>0. & md.mask.ice_levelset<=0);
|
---|
| 36 | + pos=find(md.mask.ocean_levelset>0. & md.mask.ice_levelset<=0);
|
---|
| 37 | if any(abs(md.geometry.base(pos)-md.geometry.bed(pos))>10^-10),
|
---|
| 38 | md = checkmessage(md,['base not equal to bed on grounded ice!']);
|
---|
| 39 | end
|
---|
| 40 | - pos=find(md.mask.groundedice_levelset<=0. & md.mask.ice_levelset<=0);
|
---|
| 41 | + pos=find(md.mask.ocean_levelset<=0. & md.mask.ice_levelset<=0);
|
---|
| 42 | if any(md.geometry.bed(pos) - md.geometry.base(pos) > 10^-9),
|
---|
| 43 | md = checkmessage(md,['bed superior to base on floating ice!']);
|
---|
| 44 | end
|
---|
| 45 | Index: ../trunk-jpl/src/m/classes/maskpsl.m
|
---|
| 46 | ===================================================================
|
---|
| 47 | --- ../trunk-jpl/src/m/classes/maskpsl.m (revision 24860)
|
---|
| 48 | +++ ../trunk-jpl/src/m/classes/maskpsl.m (revision 24861)
|
---|
| 49 | @@ -5,7 +5,7 @@
|
---|
| 50 |
|
---|
| 51 | classdef maskpsl
|
---|
| 52 | properties (SetAccess=public)
|
---|
| 53 | - groundedice_levelset = NaN;
|
---|
| 54 | + ocean_levelset = NaN;
|
---|
| 55 | ice_levelset = NaN;
|
---|
| 56 | ocean_levelset = NaN;
|
---|
| 57 | land_levelset = NaN;
|
---|
| 58 | @@ -19,7 +19,7 @@
|
---|
| 59 | end
|
---|
| 60 | methods
|
---|
| 61 | function self = extrude(self,md) % {{{
|
---|
| 62 | - self.groundedice_levelset=project3d(md,'vector',self.groundedice_levelset,'type','node');
|
---|
| 63 | + self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node');
|
---|
| 64 | self.ice_levelset=project3d(md,'vector',self.ice_levelset,'type','node');
|
---|
| 65 | self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node');
|
---|
| 66 | self.land_levelset=project3d(md,'vector',self.land_levelset,'type','node');
|
---|
| 67 | @@ -39,7 +39,7 @@
|
---|
| 68 |
|
---|
| 69 | if strcmpi(solution,'LoveSolution'), return; end;
|
---|
| 70 |
|
---|
| 71 | - md = checkfield(md,'fieldname','mask.groundedice_levelset','size',[md.mesh.numberofvertices 1]);
|
---|
| 72 | + md = checkfield(md,'fieldname','mask.ocean_levelset','size',[md.mesh.numberofvertices 1]);
|
---|
| 73 | md = checkfield(md,'fieldname','mask.ice_levelset' ,'size',[md.mesh.numberofvertices 1]);
|
---|
| 74 | md = checkfield(md,'fieldname','mask.ocean_levelset','size',[md.mesh.numberofvertices 1]);
|
---|
| 75 | md = checkfield(md,'fieldname','mask.land_levelset','size',[md.mesh.numberofvertices 1]);
|
---|
| 76 | @@ -46,7 +46,7 @@
|
---|
| 77 | end % }}}
|
---|
| 78 | function disp(self) % {{{
|
---|
| 79 | disp(sprintf(' masks:'));
|
---|
| 80 | - fielddisplay(self,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
|
---|
| 81 | + fielddisplay(self,'ocean_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
|
---|
| 82 | fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0');
|
---|
| 83 | fielddisplay(self,'ocean_levelset','is the vertex on the ocean ? yes if = 1, no if = 0');
|
---|
| 84 | fielddisplay(self,'land_levelset','is the vertex on the land ? yes if = 1, no if = 0');
|
---|
| 85 | @@ -54,7 +54,7 @@
|
---|
| 86 | end % }}}
|
---|
| 87 | function marshall(self,prefix,md,fid) % {{{
|
---|
| 88 | WriteData(fid,prefix,'name','md.mask.type','data',class(md.mask),'format','String');
|
---|
| 89 | - WriteData(fid,prefix,'object',self,'class','mask','fieldname','groundedice_levelset','format','DoubleMat','mattype',1);
|
---|
| 90 | + WriteData(fid,prefix,'object',self,'class','mask','fieldname','ocean_levelset','format','DoubleMat','mattype',1);
|
---|
| 91 | WriteData(fid,prefix,'object',self,'class','mask','fieldname','ice_levelset','format','DoubleMat','mattype',1);
|
---|
| 92 | WriteData(fid,prefix,'object',self,'class','mask','fieldname','ocean_levelset','format','DoubleMat','mattype',1);
|
---|
| 93 | WriteData(fid,prefix,'object',self,'class','mask','fieldname','land_levelset','format','DoubleMat','mattype',1);
|
---|
| 94 | @@ -61,7 +61,7 @@
|
---|
| 95 | end % }}}
|
---|
| 96 | function savemodeljs(self,fid,modelname) % {{{
|
---|
| 97 | fprintf(fid,'%s.mask=new maskpsl();\n',modelname);
|
---|
| 98 | - writejs1Darray(fid,[modelname '.mask.groundedice_levelset'],self.groundedice_levelset);
|
---|
| 99 | + writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset);
|
---|
| 100 | writejs1Darray(fid,[modelname '.mask.ice_levelset'],self.ice_levelset);
|
---|
| 101 | writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset);
|
---|
| 102 | writejs1Darray(fid,[modelname '.mask.land_levelset'],self.land_levelset);
|
---|
| 103 | Index: ../trunk-jpl/src/m/classes/geometry.m
|
---|
| 104 | ===================================================================
|
---|
| 105 | --- ../trunk-jpl/src/m/classes/geometry.m (revision 24860)
|
---|
| 106 | +++ ../trunk-jpl/src/m/classes/geometry.m (revision 24861)
|
---|
| 107 | @@ -71,7 +71,7 @@
|
---|
| 108 | if any(self.bed-self.base>10^-12),
|
---|
| 109 | md = checkmessage(md,['base<bed on one or more vertex']);
|
---|
| 110 | end
|
---|
| 111 | - pos = find(md.mask.groundedice_levelset>0);
|
---|
| 112 | + pos = find(md.mask.ocean_levelset>0);
|
---|
| 113 | if any(abs(self.bed(pos)-self.base(pos))>10^-9),
|
---|
| 114 | md = checkmessage(md,['equality base=bed on grounded ice violated']);
|
---|
| 115 | end
|
---|
| 116 | Index: ../trunk-jpl/src/m/classes/stressbalance.m
|
---|
| 117 | ===================================================================
|
---|
| 118 | --- ../trunk-jpl/src/m/classes/stressbalance.m (revision 24860)
|
---|
| 119 | +++ ../trunk-jpl/src/m/classes/stressbalance.m (revision 24861)
|
---|
| 120 | @@ -100,7 +100,7 @@
|
---|
| 121 | md = checkfield(md,'fieldname','stressbalance.vertex_pairing','>',0);
|
---|
| 122 | end
|
---|
| 123 | %singular solution
|
---|
| 124 | - if ((~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy)))) & ~any(md.mask.groundedice_levelset>0)),
|
---|
| 125 | + if ((~(any(~isnan(md.stressbalance.spcvx)) | any(~isnan(md.stressbalance.spcvy)))) & ~any(md.mask.ocean_levelset>0)),
|
---|
| 126 | disp(sprintf('\n !!! Warning: no spc applied, model might not be well posed if no basal friction is applied, check for solution crash\n'));
|
---|
| 127 | end
|
---|
| 128 | %CHECK THAT EACH LINES CONTAINS ONLY NAN VALUES OR NO NAN VALUES
|
---|
| 129 | @@ -116,7 +116,7 @@
|
---|
| 130 | end
|
---|
| 131 | %CHECK THAT NO rotation specified for FS Grounded ice at base
|
---|
| 132 | if strcmp(domaintype(md.mesh),'3D') & md.flowequation.isFS,
|
---|
| 133 | - pos=find(md.mask.groundedice_levelset>0. & md.mesh.vertexonbase);
|
---|
| 134 | + pos=find(md.mask.ocean_levelset>0. & md.mesh.vertexonbase);
|
---|
| 135 | if any(~isnan(md.stressbalance.referential(pos,:))),
|
---|
| 136 | md = checkmessage(md,['no referential should be specified for basal vertices of grounded ice']);
|
---|
| 137 | end
|
---|
| 138 | Index: ../trunk-jpl/src/m/classes/mask.m
|
---|
| 139 | ===================================================================
|
---|
| 140 | --- ../trunk-jpl/src/m/classes/mask.m (revision 24860)
|
---|
| 141 | +++ ../trunk-jpl/src/m/classes/mask.m (revision 24861)
|
---|
| 142 | @@ -5,7 +5,7 @@
|
---|
| 143 |
|
---|
| 144 | classdef mask
|
---|
| 145 | properties (SetAccess=public)
|
---|
| 146 | - groundedice_levelset = NaN;
|
---|
| 147 | + ocean_levelset = NaN;
|
---|
| 148 | ice_levelset = NaN;
|
---|
| 149 | end
|
---|
| 150 | methods (Static)
|
---|
| 151 | @@ -22,7 +22,7 @@
|
---|
| 152 | end
|
---|
| 153 | methods
|
---|
| 154 | function self = extrude(self,md) % {{{
|
---|
| 155 | - self.groundedice_levelset=project3d(md,'vector',self.groundedice_levelset,'type','node');
|
---|
| 156 | + self.ocean_levelset=project3d(md,'vector',self.ocean_levelset,'type','node');
|
---|
| 157 | self.ice_levelset=project3d(md,'vector',self.ice_levelset,'type','node');
|
---|
| 158 | end % }}}
|
---|
| 159 | function self = mask(varargin) % {{{
|
---|
| 160 | @@ -39,7 +39,7 @@
|
---|
| 161 | function md = checkconsistency(self,md,solution,analyses) % {{{
|
---|
| 162 | if strcmpi(solution,'LoveSolution'), return; end;
|
---|
| 163 |
|
---|
| 164 | - md = checkfield(md,'fieldname','mask.groundedice_levelset','timeseries',1,'NaN',1);
|
---|
| 165 | + md = checkfield(md,'fieldname','mask.ocean_levelset','timeseries',1,'NaN',1);
|
---|
| 166 | md = checkfield(md,'fieldname','mask.ice_levelset','NaN',1,'size',[md.mesh.numberofvertices 1]);
|
---|
| 167 | isice=(md.mask.ice_levelset<=0);
|
---|
| 168 | if sum(isice)==0,
|
---|
| 169 | @@ -49,16 +49,16 @@
|
---|
| 170 | function disp(self) % {{{
|
---|
| 171 | disp(sprintf(' masks:'));
|
---|
| 172 |
|
---|
| 173 | - fielddisplay(self,'groundedice_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
|
---|
| 174 | + fielddisplay(self,'ocean_levelset','is ice grounded ? grounded ice if > 0, grounding line position if = 0, floating ice if < 0');
|
---|
| 175 | fielddisplay(self,'ice_levelset','presence of ice if < 0, icefront position if = 0, no ice if > 0');
|
---|
| 176 | end % }}}
|
---|
| 177 | function marshall(self,prefix,md,fid) % {{{
|
---|
| 178 | - WriteData(fid,prefix,'object',self,'fieldname','groundedice_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
|
---|
| 179 | + WriteData(fid,prefix,'object',self,'fieldname','ocean_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
|
---|
| 180 | WriteData(fid,prefix,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
|
---|
| 181 | end % }}}
|
---|
| 182 | function savemodeljs(self,fid,modelname) % {{{
|
---|
| 183 |
|
---|
| 184 | - writejs1Darray(fid,[modelname '.mask.groundedice_levelset'],self.groundedice_levelset);
|
---|
| 185 | + writejs1Darray(fid,[modelname '.mask.ocean_levelset'],self.ocean_levelset);
|
---|
| 186 | writejs1Darray(fid,[modelname '.mask.ice_levelset'],self.ice_levelset);
|
---|
| 187 |
|
---|
| 188 | end % }}}
|
---|
| 189 | Index: ../trunk-jpl/src/m/classes/maskpsl.py
|
---|
| 190 | ===================================================================
|
---|
| 191 | --- ../trunk-jpl/src/m/classes/maskpsl.py (revision 24860)
|
---|
| 192 | +++ ../trunk-jpl/src/m/classes/maskpsl.py (revision 24861)
|
---|
| 193 | @@ -13,7 +13,7 @@
|
---|
| 194 | # maskpsl = maskpsl()
|
---|
| 195 |
|
---|
| 196 | def __init__(self, *args): # {{{
|
---|
| 197 | - self.groundedice_levelset = float('NaN')
|
---|
| 198 | + self.ocean_levelset = float('NaN')
|
---|
| 199 | self.ice_levelset = float('NaN')
|
---|
| 200 | self.ocean_levelset = float('NaN')
|
---|
| 201 | self.land_levelset = float('NaN')
|
---|
| 202 | @@ -26,7 +26,7 @@
|
---|
| 203 |
|
---|
| 204 | def __repr__(self): # {{{
|
---|
| 205 | string = ' masks:'
|
---|
| 206 | - 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'))
|
---|
| 207 | + 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'))
|
---|
| 208 | string = "%s\n%s" % (string, fielddisplay(self, 'ice_levelset', 'presence of ice if < 0, icefront position if = 0, no ice if > 0'))
|
---|
| 209 | string = "%s\n%s" % (string, fielddisplay(self, 'ocean_levelset', 'is the vertex on the ocean ? yes if = 1, no if = 0'))
|
---|
| 210 | string = "%s\n%s" % (string, fielddisplay(self, 'land_levelset', 'is the vertex on the land ? yes if = 1, no if = 0'))
|
---|
| 211 | @@ -49,7 +49,7 @@
|
---|
| 212 | # }}}
|
---|
| 213 |
|
---|
| 214 | def checkconsistency(self, md, solution, analyses): # {{{
|
---|
| 215 | - md = checkfield(md, 'fieldname', 'mask.groundedice_levelset', 'size', [md.mesh.numberofvertices])
|
---|
| 216 | + md = checkfield(md, 'fieldname', 'mask.ocean_levelset', 'size', [md.mesh.numberofvertices])
|
---|
| 217 | md = checkfield(md, 'fieldname', 'mask.ice_levelset', 'size', [md.mesh.numberofvertices])
|
---|
| 218 | md = checkfield(md, 'fieldname', 'mask.ocean_levelset', 'size', [md.mesh.numberofvertices])
|
---|
| 219 | md = checkfield(md, 'fieldname', 'mask.land_levelset', 'size', [md.mesh.numberofvertices])
|
---|
| 220 | @@ -71,7 +71,7 @@
|
---|
| 221 | # }}}
|
---|
| 222 |
|
---|
| 223 | def extrude(self, md): # {{{
|
---|
| 224 | - self.groundedice_levelset = project3d(md, 'vector', self.groundedice_levelset, 'type', 'node')
|
---|
| 225 | + self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node')
|
---|
| 226 | self.ice_levelset = project3d(md, 'vector', self.ice_levelset, 'type', 'node')
|
---|
| 227 | self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node')
|
---|
| 228 | self.land_levelset = project3d(md, 'vector', self.land_levelset, 'type', 'node')
|
---|
| 229 | @@ -89,7 +89,7 @@
|
---|
| 230 |
|
---|
| 231 | def marshall(self, prefix, md, fid): # {{{
|
---|
| 232 | WriteData(fid, prefix, 'name', 'md.mask.type', 'data', type(md.mask).__name__, 'format', 'String')
|
---|
| 233 | - WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'groundedice_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 234 | + WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 235 | WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ice_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 236 | WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 237 | WriteData(fid, prefix, 'object', self, 'class', 'mask', 'fieldname', 'land_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 238 | @@ -96,7 +96,7 @@
|
---|
| 239 | # }}}
|
---|
| 240 |
|
---|
| 241 | def savemodeljs(self, fid, modelname): # {{{
|
---|
| 242 | - writejs1Darray(fid, [modelname, '.mask.groundedice_levelset'], self.groundedice_levelset)
|
---|
| 243 | + writejs1Darray(fid, [modelname, '.mask.ocean_levelset'], self.ocean_levelset)
|
---|
| 244 | writejs1Darray(fid, [modelname, '.mask.ice_levelset'], self.ice_levelset)
|
---|
| 245 | writejs1Darray(fid, [modelname, '.mask.ocean_levelset'], self.ocean_levelset)
|
---|
| 246 | writejs1Darray(fid, [modelname, '.mask.land_levelset'], self.land_levelset)
|
---|
| 247 | Index: ../trunk-jpl/src/m/classes/flowequation.py
|
---|
| 248 | ===================================================================
|
---|
| 249 | --- ../trunk-jpl/src/m/classes/flowequation.py (revision 24860)
|
---|
| 250 | +++ ../trunk-jpl/src/m/classes/flowequation.py (revision 24861)
|
---|
| 251 | @@ -119,7 +119,7 @@
|
---|
| 252 |
|
---|
| 253 | if 'StressbalanceSIAAnalysis' in analyses:
|
---|
| 254 | if any(self.element_equation == 1):
|
---|
| 255 | - if np.any(np.logical_and(self.vertex_equation, md.mask.groundedice_levelset)):
|
---|
| 256 | + if np.any(np.logical_and(self.vertex_equation, md.mask.ocean_levelset)):
|
---|
| 257 | print("\n !!! Warning: SIA's model is not consistent on ice shelves !!!\n")
|
---|
| 258 |
|
---|
| 259 | return md
|
---|
| 260 | Index: ../trunk-jpl/src/m/classes/geometry.py
|
---|
| 261 | ===================================================================
|
---|
| 262 | --- ../trunk-jpl/src/m/classes/geometry.py (revision 24860)
|
---|
| 263 | +++ ../trunk-jpl/src/m/classes/geometry.py (revision 24861)
|
---|
| 264 | @@ -63,7 +63,7 @@
|
---|
| 265 | md = checkfield(md, 'fieldname', 'geometry.bed', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
|
---|
| 266 | if np.any(self.bed - self.base > 10**-12):
|
---|
| 267 | md.checkmessage('base < bed on one or more vertex')
|
---|
| 268 | - pos = np.where(md.mask.groundedice_levelset > 0)
|
---|
| 269 | + pos = np.where(md.mask.ocean_levelset > 0)
|
---|
| 270 | if np.any(np.abs(self.bed[pos] - self.base[pos]) > 10**-9):
|
---|
| 271 | md.checkmessage('equality base = bed on grounded ice violated')
|
---|
| 272 | md = checkfield(md, 'fieldname', 'geometry.bed', 'NaN', 1, 'Inf', 1, 'size', [md.mesh.numberofvertices])
|
---|
| 273 | Index: ../trunk-jpl/src/m/classes/model.py
|
---|
| 274 | ===================================================================
|
---|
| 275 | --- ../trunk-jpl/src/m/classes/model.py (revision 24860)
|
---|
| 276 | +++ ../trunk-jpl/src/m/classes/model.py (revision 24861)
|
---|
| 277 | @@ -840,7 +840,7 @@
|
---|
| 278 | md.geometry.base = project2d(md, md.geometry.base, 1)
|
---|
| 279 | if isinstance(md.geometry.bed, np.ndarray):
|
---|
| 280 | md.geometry.bed = project2d(md, md.geometry.bed, 1)
|
---|
| 281 | - md.mask.groundedice_levelset = project2d(md, md.mask.groundedice_levelset, 1)
|
---|
| 282 | + md.mask.ocean_levelset = project2d(md, md.mask.ocean_levelset, 1)
|
---|
| 283 | md.mask.ice_levelset = project2d(md, md.mask.ice_levelset, 1)
|
---|
| 284 |
|
---|
| 285 | #OutputDefinitions
|
---|
| 286 | Index: ../trunk-jpl/src/m/classes/stressbalance.py
|
---|
| 287 | ===================================================================
|
---|
| 288 | --- ../trunk-jpl/src/m/classes/stressbalance.py (revision 24860)
|
---|
| 289 | +++ ../trunk-jpl/src/m/classes/stressbalance.py (revision 24861)
|
---|
| 290 | @@ -155,7 +155,7 @@
|
---|
| 291 | md.checkmessage("Vectors in stressbalance.referential (columns 1 to 3 and 4 to 6) must be orthogonal")
|
---|
| 292 | #CHECK THAT NO rotation specified for FS Grounded ice at base
|
---|
| 293 | if m.strcmp(md.mesh.domaintype(), '3D') and md.flowequation.isFS:
|
---|
| 294 | - pos = np.nonzero(np.logical_and(md.mask.groundedice_levelset, md.mesh.vertexonbase))
|
---|
| 295 | + pos = np.nonzero(np.logical_and(md.mask.ocean_levelset, md.mesh.vertexonbase))
|
---|
| 296 | if np.any(np.logical_not(np.isnan(md.stressbalance.referential[pos, :]))):
|
---|
| 297 | md.checkmessage("no referential should be specified for basal vertices of grounded ice")
|
---|
| 298 |
|
---|
| 299 | Index: ../trunk-jpl/src/m/classes/mask.py
|
---|
| 300 | ===================================================================
|
---|
| 301 | --- ../trunk-jpl/src/m/classes/mask.py (revision 24860)
|
---|
| 302 | +++ ../trunk-jpl/src/m/classes/mask.py (revision 24861)
|
---|
| 303 | @@ -15,7 +15,7 @@
|
---|
| 304 |
|
---|
| 305 | def __init__(self): # {{{
|
---|
| 306 | self.ice_levelset = float('NaN')
|
---|
| 307 | - self.groundedice_levelset = float('NaN')
|
---|
| 308 | + self.ocean_levelset = float('NaN')
|
---|
| 309 |
|
---|
| 310 | #set defaults
|
---|
| 311 | self.setdefaultparameters()
|
---|
| 312 | @@ -25,7 +25,7 @@
|
---|
| 313 | def __repr__(self): # {{{
|
---|
| 314 | string = " masks:"
|
---|
| 315 |
|
---|
| 316 | - 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"))
|
---|
| 317 | + 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"))
|
---|
| 318 | string = "%s\n%s" % (string, fielddisplay(self, "ice_levelset", "presence of ice if < 0, icefront position if = 0, no ice if > 0"))
|
---|
| 319 | return string
|
---|
| 320 | #}}}
|
---|
| 321 | @@ -32,7 +32,7 @@
|
---|
| 322 |
|
---|
| 323 | def extrude(self, md): # {{{
|
---|
| 324 | self.ice_levelset = project3d(md, 'vector', self.ice_levelset, 'type', 'node')
|
---|
| 325 | - self.groundedice_levelset = project3d(md, 'vector', self.groundedice_levelset, 'type', 'node')
|
---|
| 326 | + self.ocean_levelset = project3d(md, 'vector', self.ocean_levelset, 'type', 'node')
|
---|
| 327 | return self
|
---|
| 328 | #}}}
|
---|
| 329 |
|
---|
| 330 | @@ -53,6 +53,6 @@
|
---|
| 331 | # }}}
|
---|
| 332 |
|
---|
| 333 | def marshall(self, prefix, md, fid): # {{{
|
---|
| 334 | - WriteData(fid, prefix, 'object', self, 'fieldname', 'groundedice_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 335 | + WriteData(fid, prefix, 'object', self, 'fieldname', 'ocean_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 336 | WriteData(fid, prefix, 'object', self, 'fieldname', 'ice_levelset', 'format', 'DoubleMat', 'mattype', 1)
|
---|
| 337 | # }}}
|
---|
| 338 | Index: ../trunk-jpl/src/m/classes/flowequation.m
|
---|
| 339 | ===================================================================
|
---|
| 340 | --- ../trunk-jpl/src/m/classes/flowequation.m (revision 24860)
|
---|
| 341 | +++ ../trunk-jpl/src/m/classes/flowequation.m (revision 24861)
|
---|
| 342 | @@ -128,7 +128,7 @@
|
---|
| 343 | end
|
---|
| 344 | if ismember('StressbalanceSIAAnalysis',analyses),
|
---|
| 345 | if any(self.element_equation==1),
|
---|
| 346 | - if(self.vertex_equation & md.mask.groundedice_levelset<0.),
|
---|
| 347 | + if(self.vertex_equation & md.mask.ocean_levelset<0.),
|
---|
| 348 | disp(sprintf('\n !!! Warning: SIA''s model is not consistent on ice shelves !!!\n'));
|
---|
| 349 | end
|
---|
| 350 | end
|
---|
| 351 | Index: ../trunk-jpl/src/m/classes/model.m
|
---|
| 352 | ===================================================================
|
---|
| 353 | --- ../trunk-jpl/src/m/classes/model.m (revision 24860)
|
---|
| 354 | +++ ../trunk-jpl/src/m/classes/model.m (revision 24861)
|
---|
| 355 | @@ -362,8 +362,8 @@
|
---|
| 356 | md.geometry.bed=project2d(md,md.geometry.bed,1);
|
---|
| 357 | end
|
---|
| 358 |
|
---|
| 359 | - if ~isnan(md.mask.groundedice_levelset),
|
---|
| 360 | - md.mask.groundedice_levelset=project2d(md,md.mask.groundedice_levelset,1);
|
---|
| 361 | + if ~isnan(md.mask.ocean_levelset),
|
---|
| 362 | + md.mask.ocean_levelset=project2d(md,md.mask.ocean_levelset,1);
|
---|
| 363 | end
|
---|
| 364 | if ~isnan(md.mask.ice_levelset),
|
---|
| 365 | md.mask.ice_levelset=project2d(md,md.mask.ice_levelset,1);
|
---|
| 366 | Index: ../trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m
|
---|
| 367 | ===================================================================
|
---|
| 368 | --- ../trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m (revision 24860)
|
---|
| 369 | +++ ../trunk-jpl/src/m/contrib/morlighem/dassflow/exportgmsh.m (revision 24861)
|
---|
| 370 | @@ -1,13 +1,13 @@
|
---|
| 371 | -function exportgmsh(mesh,groundedice_levelset,filename),
|
---|
| 372 | +function exportgmsh(mesh,ocean_levelset,filename),
|
---|
| 373 | %EXPORTGMSH - export mesh to gmsh format
|
---|
| 374 | %
|
---|
| 375 | % http://www.geuz.org/gmsh/doc/texinfo/#MSH-ASCII-file-format
|
---|
| 376 | %
|
---|
| 377 | % Usage:
|
---|
| 378 | -% exportgmsh(mesh,groundedice_levelset,filename)
|
---|
| 379 | +% exportgmsh(mesh,ocean_levelset,filename)
|
---|
| 380 | %
|
---|
| 381 | % Example:
|
---|
| 382 | -% exportgmsh(md.mesh,md.mask.groundedice_levelset,'temp.msh')
|
---|
| 383 | +% exportgmsh(md.mesh,md.mask.ocean_levelset,'temp.msh')
|
---|
| 384 |
|
---|
| 385 | fid=fopen(filename,'w');
|
---|
| 386 |
|
---|
| 387 | @@ -30,7 +30,7 @@
|
---|
| 388 | tria = 2;
|
---|
| 389 |
|
---|
| 390 | %Create flags
|
---|
| 391 | -grounded = sum(groundedice_levelset(mesh.segments(:,1:2))>0,2);
|
---|
| 392 | +grounded = sum(ocean_levelset(mesh.segments(:,1:2))>0,2);
|
---|
| 393 | A = zeros(nbs,2);
|
---|
| 394 | pos = find(mesh.segmentmarkers==4);
|
---|
| 395 | A(pos,:)=repmat([1,4],[numel(pos) 1]);
|
---|
| 396 | Index: ../trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m
|
---|
| 397 | ===================================================================
|
---|
| 398 | --- ../trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m (revision 24860)
|
---|
| 399 | +++ ../trunk-jpl/src/m/contrib/larour/ecco/MeltingGroundingLines.m (revision 24861)
|
---|
| 400 | @@ -6,7 +6,7 @@
|
---|
| 401 | %
|
---|
| 402 |
|
---|
| 403 | %get nodes on ice sheet and on ice shelf
|
---|
| 404 | -pos_shelf=find(md.mask.groundedice_levelset<0.);
|
---|
| 405 | +pos_shelf=find(md.mask.ocean_levelset<0.);
|
---|
| 406 | pos_GL=intersect(unique(md.mesh.elements(find(md.mask.elementongroundedice),:)),unique(md.mesh.elements(find(md.mask.elementonfloatingice),:)));
|
---|
| 407 |
|
---|
| 408 | for i=1:length(pos_shelf)
|
---|
| 409 | Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m
|
---|
| 410 | ===================================================================
|
---|
| 411 | --- ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m (revision 24860)
|
---|
| 412 | +++ ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position.m (revision 24861)
|
---|
| 413 | @@ -2,7 +2,7 @@
|
---|
| 414 |
|
---|
| 415 | %initialization of some variables
|
---|
| 416 | if isfield(md.results,'TransientSolution')
|
---|
| 417 | - data = md.results.TransientSolution(step).MaskGroundediceLevelset;
|
---|
| 418 | + data = md.results.TransientSolution(step).MaskOceanLevelset;
|
---|
| 419 | if isfield(md.results.TransientSolution,'MeshElements')
|
---|
| 420 | index = md.results.TransientSolution(step).MeshElements;
|
---|
| 421 | x = md.results.TransientSolution(step).MeshX;
|
---|
| 422 | @@ -13,7 +13,7 @@
|
---|
| 423 | y = md.mesh.y;
|
---|
| 424 | end
|
---|
| 425 | else
|
---|
| 426 | - data = md.mask.groundedice_levelset;
|
---|
| 427 | + data = md.mask.ocean_levelset;
|
---|
| 428 | index = md.mesh.elements;
|
---|
| 429 | x = md.mesh.x;
|
---|
| 430 | y = md.mesh.y;
|
---|
| 431 | Index: ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m
|
---|
| 432 | ===================================================================
|
---|
| 433 | --- ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m (revision 24860)
|
---|
| 434 | +++ ../trunk-jpl/src/m/contrib/tsantos/mismip/gl_position_static.m (revision 24861)
|
---|
| 435 | @@ -2,7 +2,7 @@
|
---|
| 436 |
|
---|
| 437 | %initialization of some variables
|
---|
| 438 | if isfield(md.results,'TransientSolution') & false
|
---|
| 439 | - data = md.results.TransientSolution(step).MaskGroundediceLevelset;
|
---|
| 440 | + data = md.results.TransientSolution(step).MaskOceanLevelset;
|
---|
| 441 | if isfield(md.results.TransientSolution,'MeshElements')
|
---|
| 442 | index = md.results.TransientSolution(step).MeshElements;
|
---|
| 443 | x = md.results.TransientSolution(step).MeshX;
|
---|
| 444 | @@ -13,7 +13,7 @@
|
---|
| 445 | y = md.mesh.y;
|
---|
| 446 | end
|
---|
| 447 | else
|
---|
| 448 | - data = md.mask.groundedice_levelset;
|
---|
| 449 | + data = md.mask.ocean_levelset;
|
---|
| 450 | index = md.mesh.elements;
|
---|
| 451 | x = md.mesh.x;
|
---|
| 452 | y = md.mesh.y;
|
---|
| 453 | Index: ../trunk-jpl/src/m/contrib/tsantos/remesh.m
|
---|
| 454 | ===================================================================
|
---|
| 455 | --- ../trunk-jpl/src/m/contrib/tsantos/remesh.m (revision 24860)
|
---|
| 456 | +++ ../trunk-jpl/src/m/contrib/tsantos/remesh.m (revision 24861)
|
---|
| 457 | @@ -62,7 +62,7 @@
|
---|
| 458 | NewModel.geometry.base = md.results.TransientSolution(time_step).Base;
|
---|
| 459 | NewModel.geometry.bed = md.results.TransientSolution(time_step).Bed;%md.geometry.bed; %use from parameterize
|
---|
| 460 | NewModel.geometry.thickness = md.results.TransientSolution(time_step).Thickness;
|
---|
| 461 | -NewModel.mask.groundedice_levelset = md.results.TransientSolution(time_step).MaskGroundediceLevelset;
|
---|
| 462 | +NewModel.mask.ocean_levelset = md.results.TransientSolution(time_step).MaskOceanLevelset;
|
---|
| 463 |
|
---|
| 464 | %copy other data
|
---|
| 465 | NewModel.miscellaneous = md.miscellaneous;
|
---|
| 466 | Index: ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py
|
---|
| 467 | ===================================================================
|
---|
| 468 | --- ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py (revision 24860)
|
---|
| 469 | +++ ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.py (revision 24861)
|
---|
| 470 | @@ -31,7 +31,7 @@
|
---|
| 471 | else:
|
---|
| 472 | #Guess where the ice front is
|
---|
| 473 | vertexonfloatingice = np.zeros((md.mesh.numberofvertices))
|
---|
| 474 | - pos = np.nonzero(np.sum(md.mask.groundedice_levelset[md.mesh.elements - 1] < 0., axis=1) > 0.)[0]
|
---|
| 475 | + pos = np.nonzero(np.sum(md.mask.ocean_levelset[md.mesh.elements - 1] < 0., axis=1) > 0.)[0]
|
---|
| 476 | vertexonfloatingice[md.mesh.elements[pos].astype(int) - 1] = 1.
|
---|
| 477 | vertexonicefront = np.logical_and(np.reshape(md.mesh.vertexonboundary, (-1, )), vertexonfloatingice > 0.)
|
---|
| 478 |
|
---|
| 479 | @@ -102,7 +102,7 @@
|
---|
| 480 | md.thermal.spctemperature[pos] = md.initialization.temperature[pos] #impose observed temperature on surface
|
---|
| 481 | if not isinstance(md.basalforcings.geothermalflux, np.ndarray) or not np.size(md.basalforcings.geothermalflux, axis=0) == md.mesh.numberofvertices:
|
---|
| 482 | md.basalforcings.geothermalflux = np.zeros((md.mesh.numberofvertices))
|
---|
| 483 | - md.basalforcings.geothermalflux[np.nonzero(md.mask.groundedice_levelset > 0.)] = 50. * 10.**- 3 #50mW / m2
|
---|
| 484 | + md.basalforcings.geothermalflux[np.nonzero(md.mask.ocean_levelset > 0.)] = 50. * 10.**- 3 #50mW / m2
|
---|
| 485 | else:
|
---|
| 486 | print(" no thermal boundary conditions created: no observed temperature found")
|
---|
| 487 |
|
---|
| 488 | Index: ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m
|
---|
| 489 | ===================================================================
|
---|
| 490 | --- ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m (revision 24860)
|
---|
| 491 | +++ ../trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m (revision 24861)
|
---|
| 492 | @@ -32,7 +32,7 @@
|
---|
| 493 | vertexonicefront=double(md.mesh.vertexonboundary & incontour);
|
---|
| 494 | else
|
---|
| 495 | %Guess where the ice front is
|
---|
| 496 | - pos=find(sum(md.mask.groundedice_levelset(md.mesh.elements)<0.,2) >0.);
|
---|
| 497 | + pos=find(sum(md.mask.ocean_levelset(md.mesh.elements)<0.,2) >0.);
|
---|
| 498 | vertexonfloatingice=zeros(md.mesh.numberofvertices,1);
|
---|
| 499 | vertexonfloatingice(md.mesh.elements(pos,:))=1.;
|
---|
| 500 | vertexonicefront=double(md.mesh.vertexonboundary & vertexonfloatingice);
|
---|
| 501 | @@ -101,7 +101,7 @@
|
---|
| 502 | end
|
---|
| 503 | if (length(md.basalforcings.geothermalflux)~=md.mesh.numberofvertices),
|
---|
| 504 | md.basalforcings.geothermalflux=zeros(md.mesh.numberofvertices,1);
|
---|
| 505 | - md.basalforcings.geothermalflux(find(md.mask.groundedice_levelset>0.))=50.*10.^-3; %50mW/m2
|
---|
| 506 | + md.basalforcings.geothermalflux(find(md.mask.ocean_levelset>0.))=50.*10.^-3; %50mW/m2
|
---|
| 507 | end
|
---|
| 508 | else
|
---|
| 509 | disp(' no thermal boundary conditions created: no observed temperature found');
|
---|
| 510 | Index: ../trunk-jpl/src/m/mesh/modelmerge2d.m
|
---|
| 511 | ===================================================================
|
---|
| 512 | --- ../trunk-jpl/src/m/mesh/modelmerge2d.m (revision 24860)
|
---|
| 513 | +++ ../trunk-jpl/src/m/mesh/modelmerge2d.m (revision 24861)
|
---|
| 514 | @@ -94,7 +94,7 @@
|
---|
| 515 |
|
---|
| 516 | %now we can go through classes and transfer.
|
---|
| 517 | md=transfer_fields(md,md1,md2,'geometry',{'thickness','surface','bed','base'});
|
---|
| 518 | - md=transfer_fields(md,md1,md2,'mask',{'groundedice_levelset','ice_levelset','ocean_levelset','land_levelset','glacier_levelset'});
|
---|
| 519 | + md=transfer_fields(md,md1,md2,'mask',{'ocean_levelset','ice_levelset','ocean_levelset','land_levelset','glacier_levelset'});
|
---|
| 520 | md=transfer_fields(md,md1,md2,'smb',{'mass_balance'});
|
---|
| 521 | if strcmpi(class(md1.basalforcings),'linearbasalforcings'),
|
---|
| 522 | md=transfer_fields(md,md1,md2,'basalforcings',{'groundedice_melting_rate','geothermalflux'});
|
---|
| 523 | Index: ../trunk-jpl/src/m/mesh/TwoDToThreeD.m
|
---|
| 524 | ===================================================================
|
---|
| 525 | --- ../trunk-jpl/src/m/mesh/TwoDToThreeD.m (revision 24860)
|
---|
| 526 | +++ ../trunk-jpl/src/m/mesh/TwoDToThreeD.m (revision 24861)
|
---|
| 527 | @@ -37,5 +37,5 @@
|
---|
| 528 | md.mask=mask;
|
---|
| 529 | else
|
---|
| 530 | md.mask.ice_levelset=mask.ice_levelset;
|
---|
| 531 | - md.mask.groundedice_levelset=mask.groundedice_levelset;
|
---|
| 532 | + md.mask.ocean_levelset=mask.ocean_levelset;
|
---|
| 533 | end
|
---|
| 534 | Index: ../trunk-jpl/src/m/regional/BasinConstrainShelf.m
|
---|
| 535 | ===================================================================
|
---|
| 536 | --- ../trunk-jpl/src/m/regional/BasinConstrainShelf.m (revision 24860)
|
---|
| 537 | +++ ../trunk-jpl/src/m/regional/BasinConstrainShelf.m (revision 24861)
|
---|
| 538 | @@ -65,7 +65,7 @@
|
---|
| 539 | md.stressbalance.spcvy(pos)=md.inversion.vy_obs(pos);
|
---|
| 540 |
|
---|
| 541 | %iceshelves: any vertex on floating ice is spc'd
|
---|
| 542 | -pos=find(md.mask.groundedice_levelset<0.);
|
---|
| 543 | +pos=find(md.mask.ocean_levelset<0.);
|
---|
| 544 | md.stressbalance.spcvx(pos)=md.inversion.vx_obs(pos);
|
---|
| 545 | md.stressbalance.spcvy(pos)=md.inversion.vy_obs(pos);
|
---|
| 546 |
|
---|
| 547 | Index: ../trunk-jpl/src/m/miscellaneous/diagnostics.m
|
---|
| 548 | ===================================================================
|
---|
| 549 | --- ../trunk-jpl/src/m/miscellaneous/diagnostics.m (revision 24860)
|
---|
| 550 | +++ ../trunk-jpl/src/m/miscellaneous/diagnostics.m (revision 24861)
|
---|
| 551 | @@ -34,7 +34,7 @@
|
---|
| 552 |
|
---|
| 553 | %grounding line :
|
---|
| 554 | if getfieldvalue(options,'gl',0),
|
---|
| 555 | - contours=contourlevelzero(md,md.mask.groundedice_levelset,0);
|
---|
| 556 | + contours=contourlevelzero(md,md.mask.ocean_levelset,0);
|
---|
| 557 | expwrite(contours,[path '/groundingline.exp']);
|
---|
| 558 | exp2shp([path '/groundingline.shp'],[path '/groundingline.exp']);
|
---|
| 559 | end
|
---|
| 560 | Index: ../trunk-jpl/src/m/miscellaneous/transientrestart.m
|
---|
| 561 | ===================================================================
|
---|
| 562 | --- ../trunk-jpl/src/m/miscellaneous/transientrestart.m (revision 24860)
|
---|
| 563 | +++ ../trunk-jpl/src/m/miscellaneous/transientrestart.m (revision 24861)
|
---|
| 564 | @@ -54,8 +54,8 @@
|
---|
| 565 | end
|
---|
| 566 |
|
---|
| 567 | %Update mask
|
---|
| 568 | -if isfield(results,'MaskGroundediceLevelset'),
|
---|
| 569 | - md.mask.groundedice_levelset = results.MaskGroundediceLevelset;
|
---|
| 570 | +if isfield(results,'MaskOceanLevelset'),
|
---|
| 571 | + md.mask.ocean_levelset = results.MaskOceanLevelset;
|
---|
| 572 | end
|
---|
| 573 | if isfield(results,'MaskIceLevelset'),
|
---|
| 574 | md.mask.ice_levelset = results.MaskIceLevelset;
|
---|
| 575 | Index: ../trunk-jpl/src/m/parameterization/sethydrostaticmask.py
|
---|
| 576 | ===================================================================
|
---|
| 577 | --- ../trunk-jpl/src/m/parameterization/sethydrostaticmask.py (revision 24860)
|
---|
| 578 | +++ ../trunk-jpl/src/m/parameterization/sethydrostaticmask.py (revision 24861)
|
---|
| 579 | @@ -3,7 +3,7 @@
|
---|
| 580 |
|
---|
| 581 | def setmask(md):
|
---|
| 582 | """
|
---|
| 583 | - SETHYDROSTATICMASK - establish groundedice_levelset field
|
---|
| 584 | + SETHYDROSTATICMASK - establish ocean_levelset field
|
---|
| 585 |
|
---|
| 586 | Determines grounded and floating ice position based on
|
---|
| 587 | md.geometry.bed and md.geometry.thickness
|
---|
| 588 | @@ -19,13 +19,13 @@
|
---|
| 589 | raise IOError("hydrostaticmask error message: fields in md.geometry do not have the right size.")
|
---|
| 590 |
|
---|
| 591 | # grounded ice level set
|
---|
| 592 | - md.mask.groundedice_levelset = md.geometry.thickness + md.geometry.bed * md.materials.rho_water / md.materials.rho_ice
|
---|
| 593 | + md.mask.ocean_levelset = md.geometry.thickness + md.geometry.bed * md.materials.rho_water / md.materials.rho_ice
|
---|
| 594 |
|
---|
| 595 | #Check consistency of geometry
|
---|
| 596 | - if any(md.geometry.base[np.nonzero(md.mask.groundedice_levelset > 0.)] != md.geometry.bed[np.nonzero(md.mask.groundedice_levelset > 0.)]):
|
---|
| 597 | + if any(md.geometry.base[np.nonzero(md.mask.ocean_levelset > 0.)] != md.geometry.bed[np.nonzero(md.mask.ocean_levelset > 0.)]):
|
---|
| 598 | print("WARNING: md.geometry.bed and md.geometry.base not equal on grounded ice")
|
---|
| 599 |
|
---|
| 600 | - if any(md.geometry.base[np.nonzero(md.mask.groundedice_levelset <= 0.)] < md.geometry.bed[np.nonzero(md.mask.groundedice_levelset <= 0.)]):
|
---|
| 601 | + if any(md.geometry.base[np.nonzero(md.mask.ocean_levelset <= 0.)] < md.geometry.bed[np.nonzero(md.mask.ocean_levelset <= 0.)]):
|
---|
| 602 | print("WARNING: md.geometry.base < md.geometry.bed on floating ice")
|
---|
| 603 |
|
---|
| 604 | return md
|
---|
| 605 | Index: ../trunk-jpl/src/m/parameterization/setmask.py
|
---|
| 606 | ===================================================================
|
---|
| 607 | --- ../trunk-jpl/src/m/parameterization/setmask.py (revision 24860)
|
---|
| 608 | +++ ../trunk-jpl/src/m/parameterization/setmask.py (revision 24861)
|
---|
| 609 | @@ -55,8 +55,8 @@
|
---|
| 610 | #}}}
|
---|
| 611 |
|
---|
| 612 | #level sets
|
---|
| 613 | - md.mask.groundedice_levelset = -1. * np.ones(md.mesh.numberofvertices)
|
---|
| 614 | - md.mask.groundedice_levelset[md.mesh.elements[np.nonzero(elementongroundedice), :] - 1] = 1.
|
---|
| 615 | + md.mask.ocean_levelset = -1. * np.ones(md.mesh.numberofvertices)
|
---|
| 616 | + md.mask.ocean_levelset[md.mesh.elements[np.nonzero(elementongroundedice), :] - 1] = 1.
|
---|
| 617 |
|
---|
| 618 | if(len(args)):
|
---|
| 619 | md.mask.ice_levelset = 1. * np.ones(md.mesh.numberofvertices)
|
---|
| 620 | Index: ../trunk-jpl/src/m/parameterization/sethydrostaticmask.m
|
---|
| 621 | ===================================================================
|
---|
| 622 | --- ../trunk-jpl/src/m/parameterization/sethydrostaticmask.m (revision 24860)
|
---|
| 623 | +++ ../trunk-jpl/src/m/parameterization/sethydrostaticmask.m (revision 24861)
|
---|
| 624 | @@ -1,5 +1,5 @@
|
---|
| 625 | function md=sethydrostaticmask(md)
|
---|
| 626 | -%SETHYDROSTATICMASK - establish groundedice_levelset field
|
---|
| 627 | +%SETHYDROSTATICMASK - establish ocean_levelset field
|
---|
| 628 | %
|
---|
| 629 | % Determines grounded and floating ice position based on
|
---|
| 630 | % md.geometry.bed and md.geometry.thickness
|
---|
| 631 | @@ -15,15 +15,15 @@
|
---|
| 632 | end
|
---|
| 633 |
|
---|
| 634 | %grounded ice level set
|
---|
| 635 | -md.mask.groundedice_levelset=md.geometry.thickness+md.geometry.bed*md.materials.rho_water/md.materials.rho_ice;
|
---|
| 636 | +md.mask.ocean_levelset=md.geometry.thickness+md.geometry.bed*md.materials.rho_water/md.materials.rho_ice;
|
---|
| 637 |
|
---|
| 638 | %Check consistency of geometry
|
---|
| 639 | -pos=find(md.mask.groundedice_levelset>0);
|
---|
| 640 | +pos=find(md.mask.ocean_levelset>0);
|
---|
| 641 | if(any(md.geometry.base(pos)~=md.geometry.bed(pos))),
|
---|
| 642 | disp('WARNING: md.geometry.bed and md.geometry.base not equal on grounded ice');
|
---|
| 643 | end
|
---|
| 644 |
|
---|
| 645 | -pos=find(md.mask.groundedice_levelset<=0);
|
---|
| 646 | +pos=find(md.mask.ocean_levelset<=0);
|
---|
| 647 | if(any(md.geometry.base(pos)<md.geometry.bed(pos))),
|
---|
| 648 | disp('WARNING: md.geometry.base < md.geometry.bed on floating ice');
|
---|
| 649 | end
|
---|
| 650 | Index: ../trunk-jpl/src/m/parameterization/setmask.m
|
---|
| 651 | ===================================================================
|
---|
| 652 | --- ../trunk-jpl/src/m/parameterization/setmask.m (revision 24860)
|
---|
| 653 | +++ ../trunk-jpl/src/m/parameterization/setmask.m (revision 24861)
|
---|
| 654 | @@ -52,8 +52,8 @@
|
---|
| 655 | %}}}
|
---|
| 656 |
|
---|
| 657 | %level sets
|
---|
| 658 | -md.mask.groundedice_levelset=vertexongroundedice;
|
---|
| 659 | -md.mask.groundedice_levelset(find(vertexongroundedice==0.))=-1.;
|
---|
| 660 | +md.mask.ocean_levelset=vertexongroundedice;
|
---|
| 661 | +md.mask.ocean_levelset(find(vertexongroundedice==0.))=-1.;
|
---|
| 662 |
|
---|
| 663 | if(nargin>3)
|
---|
| 664 | if(varargin(1)=='icedomain')
|
---|
| 665 | Index: ../trunk-jpl/src/m/parameterization/killberg.m
|
---|
| 666 | ===================================================================
|
---|
| 667 | --- ../trunk-jpl/src/m/parameterization/killberg.m (revision 24860)
|
---|
| 668 | +++ ../trunk-jpl/src/m/parameterization/killberg.m (revision 24861)
|
---|
| 669 | @@ -2,7 +2,7 @@
|
---|
| 670 | function ice_levelset = killberg(md)
|
---|
| 671 | %KILLBERG - kill ice berg
|
---|
| 672 | %
|
---|
| 673 | -% check md.mask.ice_levelset and md.mask.groundedice_levelset and
|
---|
| 674 | +% check md.mask.ice_levelset and md.mask.ocean_levelset and
|
---|
| 675 | % remove icebergs from md.mask.ice_levelset. This function is adapted
|
---|
| 676 | % from src/c/modules/KillIcebergsx/KillIcebergsx.cpp
|
---|
| 677 | %
|
---|
| 678 | @@ -24,7 +24,7 @@
|
---|
| 679 |
|
---|
| 680 | %do not go through elements that are grounded, mark flag as 1 (done)
|
---|
| 681 | %and initialize mask as 1 for all vertices of these elements
|
---|
| 682 | -isgrounded = max(md.mask.groundedice_levelset(md.mesh.elements),[],2)>0;
|
---|
| 683 | +isgrounded = max(md.mask.ocean_levelset(md.mesh.elements),[],2)>0;
|
---|
| 684 | pos = find(isgrounded);
|
---|
| 685 | element_flag(pos) = 1;
|
---|
| 686 | mask(md.mesh.elements(pos,:)) = 1;
|
---|
| 687 | Index: ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
|
---|
| 688 | ===================================================================
|
---|
| 689 | --- ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 24860)
|
---|
| 690 | +++ ../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp (revision 24861)
|
---|
| 691 | @@ -626,10 +626,9 @@
|
---|
| 692 | case LoadingforceXEnum : return "LoadingforceX";
|
---|
| 693 | case LoadingforceYEnum : return "LoadingforceY";
|
---|
| 694 | case LoadingforceZEnum : return "LoadingforceZ";
|
---|
| 695 | - case MaskGroundediceLevelsetEnum : return "MaskGroundediceLevelset";
|
---|
| 696 | + case MaskOceanLevelsetEnum : return "MaskOceanLevelset";
|
---|
| 697 | case MaskIceLevelsetEnum : return "MaskIceLevelset";
|
---|
| 698 | case MaskLandLevelsetEnum : return "MaskLandLevelset";
|
---|
| 699 | - case MaskOceanLevelsetEnum : return "MaskOceanLevelset";
|
---|
| 700 | case MasstransportSpcthicknessEnum : return "MasstransportSpcthickness";
|
---|
| 701 | case MaterialsRheologyBEnum : return "MaterialsRheologyB";
|
---|
| 702 | case MaterialsRheologyBbarEnum : return "MaterialsRheologyBbar";
|
---|
| 703 | Index: ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
|
---|
| 704 | ===================================================================
|
---|
| 705 | --- ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 24860)
|
---|
| 706 | +++ ../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp (revision 24861)
|
---|
| 707 | @@ -641,10 +641,9 @@
|
---|
| 708 | else if (strcmp(name,"LoadingforceX")==0) return LoadingforceXEnum;
|
---|
| 709 | else if (strcmp(name,"LoadingforceY")==0) return LoadingforceYEnum;
|
---|
| 710 | else if (strcmp(name,"LoadingforceZ")==0) return LoadingforceZEnum;
|
---|
| 711 | - else if (strcmp(name,"MaskGroundediceLevelset")==0) return MaskGroundediceLevelsetEnum;
|
---|
| 712 | + else if (strcmp(name,"MaskOceanLevelset")==0) return MaskOceanLevelsetEnum;
|
---|
| 713 | else if (strcmp(name,"MaskIceLevelset")==0) return MaskIceLevelsetEnum;
|
---|
| 714 | else if (strcmp(name,"MaskLandLevelset")==0) return MaskLandLevelsetEnum;
|
---|
| 715 | - else if (strcmp(name,"MaskOceanLevelset")==0) return MaskOceanLevelsetEnum;
|
---|
| 716 | else if (strcmp(name,"MasstransportSpcthickness")==0) return MasstransportSpcthicknessEnum;
|
---|
| 717 | else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum;
|
---|
| 718 | else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum;
|
---|
| 719 | @@ -751,11 +750,11 @@
|
---|
| 720 | else if (strcmp(name,"SmbMAdd")==0) return SmbMAddEnum;
|
---|
| 721 | else if (strcmp(name,"SmbMassBalanceClimate")==0) return SmbMassBalanceClimateEnum;
|
---|
| 722 | else if (strcmp(name,"SmbMassBalance")==0) return SmbMassBalanceEnum;
|
---|
| 723 | + else if (strcmp(name,"SmbMassBalanceSubstep")==0) return SmbMassBalanceSubstepEnum;
|
---|
| 724 | else stage=7;
|
---|
| 725 | }
|
---|
| 726 | if(stage==7){
|
---|
| 727 | - if (strcmp(name,"SmbMassBalanceSubstep")==0) return SmbMassBalanceSubstepEnum;
|
---|
| 728 | - else if (strcmp(name,"SmbMassBalanceTransient")==0) return SmbMassBalanceTransientEnum;
|
---|
| 729 | + if (strcmp(name,"SmbMassBalanceTransient")==0) return SmbMassBalanceTransientEnum;
|
---|
| 730 | else if (strcmp(name,"SmbMeanLHF")==0) return SmbMeanLHFEnum;
|
---|
| 731 | else if (strcmp(name,"SmbMeanSHF")==0) return SmbMeanSHFEnum;
|
---|
| 732 | else if (strcmp(name,"SmbMeanULW")==0) return SmbMeanULWEnum;
|
---|
| 733 | @@ -874,11 +873,11 @@
|
---|
| 734 | else if (strcmp(name,"Outputdefinition12")==0) return Outputdefinition12Enum;
|
---|
| 735 | else if (strcmp(name,"Outputdefinition13")==0) return Outputdefinition13Enum;
|
---|
| 736 | else if (strcmp(name,"Outputdefinition14")==0) return Outputdefinition14Enum;
|
---|
| 737 | + else if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum;
|
---|
| 738 | else stage=8;
|
---|
| 739 | }
|
---|
| 740 | if(stage==8){
|
---|
| 741 | - if (strcmp(name,"Outputdefinition15")==0) return Outputdefinition15Enum;
|
---|
| 742 | - else if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum;
|
---|
| 743 | + if (strcmp(name,"Outputdefinition16")==0) return Outputdefinition16Enum;
|
---|
| 744 | else if (strcmp(name,"Outputdefinition17")==0) return Outputdefinition17Enum;
|
---|
| 745 | else if (strcmp(name,"Outputdefinition18")==0) return Outputdefinition18Enum;
|
---|
| 746 | else if (strcmp(name,"Outputdefinition19")==0) return Outputdefinition19Enum;
|
---|
| 747 | @@ -997,11 +996,11 @@
|
---|
| 748 | else if (strcmp(name,"BasalforcingsPico")==0) return BasalforcingsPicoEnum;
|
---|
| 749 | else if (strcmp(name,"BeckmannGoosseFloatingMeltRate")==0) return BeckmannGoosseFloatingMeltRateEnum;
|
---|
| 750 | else if (strcmp(name,"BedSlopeSolution")==0) return BedSlopeSolutionEnum;
|
---|
| 751 | + else if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
|
---|
| 752 | else stage=9;
|
---|
| 753 | }
|
---|
| 754 | if(stage==9){
|
---|
| 755 | - if (strcmp(name,"BoolExternalResult")==0) return BoolExternalResultEnum;
|
---|
| 756 | - else if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
|
---|
| 757 | + if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
|
---|
| 758 | else if (strcmp(name,"BoolInput2")==0) return BoolInput2Enum;
|
---|
| 759 | else if (strcmp(name,"IntInput2")==0) return IntInput2Enum;
|
---|
| 760 | else if (strcmp(name,"BoolParam")==0) return BoolParamEnum;
|
---|
| 761 | @@ -1120,11 +1119,11 @@
|
---|
| 762 | else if (strcmp(name,"IceMassScaled")==0) return IceMassScaledEnum;
|
---|
| 763 | else if (strcmp(name,"IceVolumeAboveFloatation")==0) return IceVolumeAboveFloatationEnum;
|
---|
| 764 | else if (strcmp(name,"IceVolumeAboveFloatationScaled")==0) return IceVolumeAboveFloatationScaledEnum;
|
---|
| 765 | + else if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
|
---|
| 766 | else stage=10;
|
---|
| 767 | }
|
---|
| 768 | if(stage==10){
|
---|
| 769 | - if (strcmp(name,"IceVolume")==0) return IceVolumeEnum;
|
---|
| 770 | - else if (strcmp(name,"IceVolumeScaled")==0) return IceVolumeScaledEnum;
|
---|
| 771 | + if (strcmp(name,"IceVolumeScaled")==0) return IceVolumeScaledEnum;
|
---|
| 772 | else if (strcmp(name,"IcefrontMassFlux")==0) return IcefrontMassFluxEnum;
|
---|
| 773 | else if (strcmp(name,"IcefrontMassFluxLevelset")==0) return IcefrontMassFluxLevelsetEnum;
|
---|
| 774 | else if (strcmp(name,"Incremental")==0) return IncrementalEnum;
|
---|
| 775 | @@ -1243,11 +1242,11 @@
|
---|
| 776 | else if (strcmp(name,"Penta")==0) return PentaEnum;
|
---|
| 777 | else if (strcmp(name,"PentaInput")==0) return PentaInputEnum;
|
---|
| 778 | else if (strcmp(name,"Profiler")==0) return ProfilerEnum;
|
---|
| 779 | + else if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
|
---|
| 780 | else stage=11;
|
---|
| 781 | }
|
---|
| 782 | if(stage==11){
|
---|
| 783 | - if (strcmp(name,"ProfilingCurrentFlops")==0) return ProfilingCurrentFlopsEnum;
|
---|
| 784 | - else if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum;
|
---|
| 785 | + if (strcmp(name,"ProfilingCurrentMem")==0) return ProfilingCurrentMemEnum;
|
---|
| 786 | else if (strcmp(name,"ProfilingSolutionTime")==0) return ProfilingSolutionTimeEnum;
|
---|
| 787 | else if (strcmp(name,"Regionaloutput")==0) return RegionaloutputEnum;
|
---|
| 788 | else if (strcmp(name,"Regular")==0) return RegularEnum;
|
---|
| 789 | Index: ../trunk-jpl/src/c/shared/Enum/Enum.vim
|
---|
| 790 | ===================================================================
|
---|
| 791 | --- ../trunk-jpl/src/c/shared/Enum/Enum.vim (revision 24860)
|
---|
| 792 | +++ ../trunk-jpl/src/c/shared/Enum/Enum.vim (revision 24861)
|
---|
| 793 | @@ -624,10 +624,9 @@
|
---|
| 794 | syn keyword cConstant LoadingforceXEnum
|
---|
| 795 | syn keyword cConstant LoadingforceYEnum
|
---|
| 796 | syn keyword cConstant LoadingforceZEnum
|
---|
| 797 | -syn keyword cConstant MaskGroundediceLevelsetEnum
|
---|
| 798 | +syn keyword cConstant MaskOceanLevelsetEnum
|
---|
| 799 | syn keyword cConstant MaskIceLevelsetEnum
|
---|
| 800 | syn keyword cConstant MaskLandLevelsetEnum
|
---|
| 801 | -syn keyword cConstant MaskOceanLevelsetEnum
|
---|
| 802 | syn keyword cConstant MasstransportSpcthicknessEnum
|
---|
| 803 | syn keyword cConstant MaterialsRheologyBEnum
|
---|
| 804 | syn keyword cConstant MaterialsRheologyBbarEnum
|
---|
| 805 | Index: ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
|
---|
| 806 | ===================================================================
|
---|
| 807 | --- ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 24860)
|
---|
| 808 | +++ ../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h (revision 24861)
|
---|
| 809 | @@ -621,10 +621,9 @@
|
---|
| 810 | LoadingforceXEnum,
|
---|
| 811 | LoadingforceYEnum,
|
---|
| 812 | LoadingforceZEnum,
|
---|
| 813 | - MaskGroundediceLevelsetEnum,
|
---|
| 814 | + MaskOceanLevelsetEnum,
|
---|
| 815 | MaskIceLevelsetEnum,
|
---|
| 816 | MaskLandLevelsetEnum,
|
---|
| 817 | - MaskOceanLevelsetEnum,
|
---|
| 818 | MasstransportSpcthicknessEnum,
|
---|
| 819 | MaterialsRheologyBEnum,
|
---|
| 820 | MaterialsRheologyBbarEnum,
|
---|
| 821 | Index: ../trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp
|
---|
| 822 | ===================================================================
|
---|
| 823 | --- ../trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp (revision 24860)
|
---|
| 824 | +++ ../trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp (revision 24861)
|
---|
| 825 | @@ -45,8 +45,8 @@
|
---|
| 826 | femmodel->parameters->FindParam(&maxbox,BasalforcingsPicoMaxboxcountEnum);
|
---|
| 827 | IssmDouble* dmax_basin_cpu=xNew<IssmDouble>(num_basins);
|
---|
| 828 |
|
---|
| 829 | - InputDuplicatex(femmodel,MaskGroundediceLevelsetEnum,DistanceToGroundinglineEnum);
|
---|
| 830 | - femmodel->DistanceToFieldValue(MaskGroundediceLevelsetEnum,0.,DistanceToGroundinglineEnum);
|
---|
| 831 | + InputDuplicatex(femmodel,MaskOceanLevelsetEnum,DistanceToGroundinglineEnum);
|
---|
| 832 | + femmodel->DistanceToFieldValue(MaskOceanLevelsetEnum,0.,DistanceToGroundinglineEnum);
|
---|
| 833 |
|
---|
| 834 | InputDuplicatex(femmodel,MaskIceLevelsetEnum,DistanceToCalvingfrontEnum);
|
---|
| 835 | femmodel->DistanceToFieldValue(MaskIceLevelsetEnum,0.,DistanceToCalvingfrontEnum);
|
---|
| 836 | Index: ../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
|
---|
| 837 | ===================================================================
|
---|
| 838 | --- ../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp (revision 24860)
|
---|
| 839 | +++ ../trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp (revision 24861)
|
---|
| 840 | @@ -136,7 +136,7 @@
|
---|
| 841 | vec_phi=new Vector<IssmDouble>(vertices->NumberOfVertices());
|
---|
| 842 | for(i=0;i<elements->Size();i++){
|
---|
| 843 | Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
|
---|
| 844 | - element->GetVectorFromInputs(vec_phi,MaskGroundediceLevelsetEnum,VertexPIdEnum);
|
---|
| 845 | + element->GetVectorFromInputs(vec_phi,MaskOceanLevelsetEnum,VertexPIdEnum);
|
---|
| 846 | }
|
---|
| 847 | vec_phi->Assemble();
|
---|
| 848 | phi=vec_phi->ToMPISerial();
|
---|
| 849 | Index: ../trunk-jpl/src/c/cores/transient_core.cpp
|
---|
| 850 | ===================================================================
|
---|
| 851 | --- ../trunk-jpl/src/c/cores/transient_core.cpp (revision 24860)
|
---|
| 852 | +++ ../trunk-jpl/src/c/cores/transient_core.cpp (revision 24861)
|
---|
| 853 | @@ -196,7 +196,7 @@
|
---|
| 854 | if(VerboseSolution()) _printf0_(" computing new grounding line position\n");
|
---|
| 855 | GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
|
---|
| 856 |
|
---|
| 857 | - femmodel->parameters->SetParam(MaskGroundediceLevelsetEnum,InputToExtrudeEnum);
|
---|
| 858 | + femmodel->parameters->SetParam(MaskOceanLevelsetEnum,InputToExtrudeEnum);
|
---|
| 859 | extrudefrombase_core(femmodel);
|
---|
| 860 | femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum);
|
---|
| 861 | extrudefrombase_core(femmodel);
|
---|
| 862 | @@ -207,7 +207,7 @@
|
---|
| 863 | femmodel->profiler->Stop(GROUNDINGLINECORE);
|
---|
| 864 |
|
---|
| 865 | if(save_results){
|
---|
| 866 | - int outputs[3] = {SurfaceEnum,BaseEnum,MaskGroundediceLevelsetEnum};
|
---|
| 867 | + int outputs[3] = {SurfaceEnum,BaseEnum,MaskOceanLevelsetEnum};
|
---|
| 868 | femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],3);
|
---|
| 869 | }
|
---|
| 870 | }
|
---|
| 871 | @@ -231,7 +231,7 @@
|
---|
| 872 | if(VerboseSolution()) _printf0_(" computing requested outputs\n");
|
---|
| 873 | femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs,save_results);
|
---|
| 874 | if(isgroundingline && (groundingline_migration==AggressiveMigrationEnum || groundingline_migration==ContactEnum)){
|
---|
| 875 | - int outputs[1] = {MaskGroundediceLevelsetEnum};
|
---|
| 876 | + int outputs[1] = {MaskOceanLevelsetEnum};
|
---|
| 877 | femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],1,save_results);
|
---|
| 878 | }
|
---|
| 879 |
|
---|
| 880 | Index: ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp
|
---|
| 881 | ===================================================================
|
---|
| 882 | --- ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 24860)
|
---|
| 883 | +++ ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 24861)
|
---|
| 884 | @@ -85,7 +85,7 @@
|
---|
| 885 | this->fill = IoRiftfillToEnum(reCast<int,IssmDouble>(*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+7)));
|
---|
| 886 | this->friction=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+8);
|
---|
| 887 | this->fractionincrement=*(iomodel->Data("md.rifts.riftstruct")+RIFTINFOSIZE*i+10);
|
---|
| 888 | - this->shelf=reCast<bool,IssmDouble>(iomodel->Data("md.mask.groundedice_levelset")[node1-1]<0.);
|
---|
| 889 | + this->shelf=reCast<bool,IssmDouble>(iomodel->Data("md.mask.ocean_levelset")[node1-1]<0.);
|
---|
| 890 |
|
---|
| 891 | //parameters and hooked fields: we still can't point to them, they may not even exist. Configure will handle this.
|
---|
| 892 | this->parameters=NULL;
|
---|
| 893 | Index: ../trunk-jpl/src/c/classes/FemModel.h
|
---|
| 894 | ===================================================================
|
---|
| 895 | --- ../trunk-jpl/src/c/classes/FemModel.h (revision 24860)
|
---|
| 896 | +++ ../trunk-jpl/src/c/classes/FemModel.h (revision 24861)
|
---|
| 897 | @@ -194,7 +194,6 @@
|
---|
| 898 | void GetMesh(int** elementslist, IssmDouble** x, IssmDouble** y, int* numberofvertices, int* numberofelements);
|
---|
| 899 | void SetMesh(int** elementslist, IssmDouble** x, IssmDouble** y, int* numberofvertices, int* numberofelements);
|
---|
| 900 | void GetMeshOnPartition(Vertices* femmodel_vertices,Elements* femmodel_elements,IssmDouble** px, IssmDouble** py, IssmDouble** pz, int** pelementslist,int** psidtoindex);
|
---|
| 901 | - void GetGroundediceLevelSet(IssmDouble** pmasklevelset);
|
---|
| 902 | void CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements);
|
---|
| 903 | void CreateMaterials(int newnumberofelements,bool* my_elements,Materials* materials);
|
---|
| 904 | void CreateConstraints(Vertices* newfemmodel_vertices,int analysis_enum,Constraints* newfemmodel_constraints);
|
---|
| 905 | Index: ../trunk-jpl/src/c/classes/FemModel.cpp
|
---|
| 906 | ===================================================================
|
---|
| 907 | --- ../trunk-jpl/src/c/classes/FemModel.cpp (revision 24860)
|
---|
| 908 | +++ ../trunk-jpl/src/c/classes/FemModel.cpp (revision 24861)
|
---|
| 909 | @@ -3349,7 +3349,7 @@
|
---|
| 910 | }
|
---|
| 911 |
|
---|
| 912 | /*Update inputs*/
|
---|
| 913 | - element->AddInput2(MaskGroundediceLevelsetEnum,&phi[0],P1Enum);
|
---|
| 914 | + element->AddInput2(MaskOceanLevelsetEnum,&phi[0],P1Enum);
|
---|
| 915 | element->AddInput2(ThicknessEnum,&h[0],P1Enum);
|
---|
| 916 | element->AddInput2(BaseEnum,&b[0],P1Enum);
|
---|
| 917 | }
|
---|
| 918 | @@ -3670,37 +3670,6 @@
|
---|
| 919 | return;
|
---|
| 920 | }
|
---|
| 921 | /*}}}*/
|
---|
| 922 | -void FemModel::GetGroundediceLevelSet(IssmDouble **pmasklevelset){/*{{{*/
|
---|
| 923 | -
|
---|
| 924 | - int elementswidth = this->GetElementsWidth();//just 2D mesh, tria elements
|
---|
| 925 | - int numberofvertices = this->vertices->NumberOfVertices();
|
---|
| 926 | -
|
---|
| 927 | - IssmDouble* elementlevelset=xNew<IssmDouble>(elementswidth);
|
---|
| 928 | - int* elem_vertices=xNew<int>(elementswidth);
|
---|
| 929 | - Vector<IssmDouble>* vmasklevelset=new Vector<IssmDouble>(numberofvertices);
|
---|
| 930 | -
|
---|
| 931 | - for(int i=0;i<this->elements->Size();i++){
|
---|
| 932 | - Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
|
---|
| 933 | - element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum);
|
---|
| 934 | - element->GetVerticesSidList(elem_vertices);
|
---|
| 935 | - vmasklevelset->SetValue(elem_vertices[0],elementlevelset[0],INS_VAL);
|
---|
| 936 | - vmasklevelset->SetValue(elem_vertices[1],elementlevelset[1],INS_VAL);
|
---|
| 937 | - vmasklevelset->SetValue(elem_vertices[2],elementlevelset[2],INS_VAL);
|
---|
| 938 | - }
|
---|
| 939 | -
|
---|
| 940 | - /*Assemble*/
|
---|
| 941 | - vmasklevelset->Assemble();
|
---|
| 942 | -
|
---|
| 943 | - /*Serialize and set output*/
|
---|
| 944 | - (*pmasklevelset)=vmasklevelset->ToMPISerial();
|
---|
| 945 | -
|
---|
| 946 | - /*Cleanup*/
|
---|
| 947 | - xDelete<IssmDouble>(elementlevelset);
|
---|
| 948 | - xDelete<int>(elem_vertices);
|
---|
| 949 | - delete vmasklevelset;
|
---|
| 950 | -
|
---|
| 951 | -}
|
---|
| 952 | -/*}}}*/
|
---|
| 953 | void FemModel::CreateElements(int newnumberofelements,int elementswidth,int* newelementslist,bool* my_elements,Elements* elements){/*{{{*/
|
---|
| 954 |
|
---|
| 955 | /*newlementslist is in Matlab indexing*/
|
---|
| 956 | @@ -4365,7 +4334,7 @@
|
---|
| 957 |
|
---|
| 958 | for(int i=0;i<this->elements->Size();i++){
|
---|
| 959 | Element* element=xDynamicCast<Element*>(this->elements->GetObjectByOffset(i));
|
---|
| 960 | - element->GetInputListOnVertices(elementlevelset,MaskGroundediceLevelsetEnum);
|
---|
| 961 | + element->GetInputListOnVertices(elementlevelset,MaskOceanLevelsetEnum);
|
---|
| 962 | int sid = element->Sid();
|
---|
| 963 | vmasklevelset->SetValue(sid,(elementlevelset[0]+elementlevelset[1]+elementlevelset[2])/3.,INS_VAL);
|
---|
| 964 | }
|
---|
| 965 | @@ -4430,7 +4399,7 @@
|
---|
| 966 |
|
---|
| 967 | /*Here, "zero level set" means grounding line or ice front, depending on the level set type*/
|
---|
| 968 | /*pzerolevelset_points are the element center points with zero level set. X and Y coords*/
|
---|
| 969 | - if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
|
---|
| 970 | + if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
|
---|
| 971 | _error_("level set type not implemented yet!");
|
---|
| 972 | }
|
---|
| 973 |
|
---|
| 974 | @@ -5417,7 +5386,7 @@
|
---|
| 975 | /*Fill hmaxvertices*/
|
---|
| 976 | if(this->amrbamg->thicknesserror_threshold>0) this->GethmaxVerticesFromEstimators(hmaxvertices_serial,ThicknessErrorEstimatorEnum);
|
---|
| 977 | if(this->amrbamg->deviatoricerror_threshold>0) this->GethmaxVerticesFromEstimators(hmaxvertices_serial,DeviatoricStressErrorEstimatorEnum);
|
---|
| 978 | - if(this->amrbamg->groundingline_distance>0) this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskGroundediceLevelsetEnum);
|
---|
| 979 | + if(this->amrbamg->groundingline_distance>0) this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskOceanLevelsetEnum);
|
---|
| 980 | if(this->amrbamg->icefront_distance>0) this->GethmaxVerticesFromZeroLevelSetDistance(hmaxvertices_serial,MaskIceLevelsetEnum);
|
---|
| 981 | }
|
---|
| 982 |
|
---|
| 983 | @@ -5529,7 +5498,7 @@
|
---|
| 984 | int sid,numberofpoints;
|
---|
| 985 |
|
---|
| 986 | switch(levelset_type){
|
---|
| 987 | - case MaskGroundediceLevelsetEnum:
|
---|
| 988 | + case MaskOceanLevelsetEnum:
|
---|
| 989 | threshold = this->amrbamg->groundingline_distance;
|
---|
| 990 | resolution = this->amrbamg->groundingline_resolution;
|
---|
| 991 | break;
|
---|
| 992 | @@ -5691,7 +5660,7 @@
|
---|
| 993 |
|
---|
| 994 | /*Here, "zero level set" means grounding line or ice front, depending on the level set type*/
|
---|
| 995 | /*pverticedistance is the minimal vertice distance to the grounding line or ice front*/
|
---|
| 996 | - if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
|
---|
| 997 | + if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
|
---|
| 998 | _error_("level set type not implemented yet!");
|
---|
| 999 | }
|
---|
| 1000 |
|
---|
| 1001 | @@ -5753,7 +5722,7 @@
|
---|
| 1002 | int newnumberofelements = -1;
|
---|
| 1003 |
|
---|
| 1004 | /*Get fields, if requested*/
|
---|
| 1005 | - if(this->amr->groundingline_distance>0) this->GetElementDistanceToZeroLevelSet(&gl_distance,MaskGroundediceLevelsetEnum);
|
---|
| 1006 | + if(this->amr->groundingline_distance>0) this->GetElementDistanceToZeroLevelSet(&gl_distance,MaskOceanLevelsetEnum);
|
---|
| 1007 | if(this->amr->icefront_distance>0) this->GetElementDistanceToZeroLevelSet(&if_distance,MaskIceLevelsetEnum);
|
---|
| 1008 | if(this->amr->thicknesserror_threshold>0) this->ThicknessZZErrorEstimator(&thicknesserror);
|
---|
| 1009 | if(this->amr->deviatoricerror_threshold>0) this->ZZErrorEstimator(&deviatoricerror);
|
---|
| 1010 | @@ -5855,7 +5824,7 @@
|
---|
| 1011 |
|
---|
| 1012 | /*Here, "zero level set" means grounding line or ice front, depending on the level set type*/
|
---|
| 1013 | /*pverticedistance is the minimal vertice distance to the grounding line or ice front*/
|
---|
| 1014 | - if(levelset_type!=MaskGroundediceLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
|
---|
| 1015 | + if(levelset_type!=MaskOceanLevelsetEnum && levelset_type!=MaskIceLevelsetEnum){
|
---|
| 1016 | _error_("level set type not implemented yet!");
|
---|
| 1017 | }
|
---|
| 1018 |
|
---|
| 1019 | Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
|
---|
| 1020 | ===================================================================
|
---|
| 1021 | --- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 24860)
|
---|
| 1022 | +++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 24861)
|
---|
| 1023 | @@ -286,7 +286,7 @@
|
---|
| 1024 | /*Retrieve all inputs and parameters we will need*/
|
---|
| 1025 | Input2* vx_input = this->GetInput2(VxAverageEnum); _assert_(vx_input);
|
---|
| 1026 | Input2* vy_input = this->GetInput2(VyAverageEnum); _assert_(vy_input);
|
---|
| 1027 | - Input2* gr_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
|
---|
| 1028 | + Input2* gr_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
|
---|
| 1029 | Input2* bs_input = this->GetInput2(BaseEnum); _assert_(bs_input);
|
---|
| 1030 | Input2* B_input = this->GetInput2(MaterialsRheologyBbarEnum); _assert_(B_input);
|
---|
| 1031 | Input2* n_input = this->GetInput2(MaterialsRheologyNEnum); _assert_(n_input);
|
---|
| 1032 | @@ -1246,7 +1246,7 @@
|
---|
| 1033 | Element::GetInputListOnVertices(&bed[0],BedEnum);
|
---|
| 1034 | Element::GetInputListOnVertices(&surface[0],SurfaceEnum);
|
---|
| 1035 | Element::GetInputListOnVertices(&pressure[0],PressureEnum);
|
---|
| 1036 | - Element::GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
|
---|
| 1037 | + Element::GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
|
---|
| 1038 | IssmDouble rho_ice = FindParam(MaterialsRhoIceEnum);
|
---|
| 1039 | IssmDouble rho_water = FindParam(MaterialsRhoSeawaterEnum);
|
---|
| 1040 | IssmDouble gravity = FindParam(ConstantsGEnum);
|
---|
| 1041 | @@ -1385,7 +1385,7 @@
|
---|
| 1042 | IssmDouble f1,f2;
|
---|
| 1043 |
|
---|
| 1044 | /*Recover parameters and values*/
|
---|
| 1045 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1046 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1047 |
|
---|
| 1048 | /*Be sure that values are not zero*/
|
---|
| 1049 | if(gl[0]==0.) gl[0]=gl[0]+epsilon;
|
---|
| 1050 | @@ -1439,7 +1439,7 @@
|
---|
| 1051 | IssmDouble xyz_bis[NUMVERTICES2D][3];
|
---|
| 1052 |
|
---|
| 1053 | /*Recover parameters and values*/
|
---|
| 1054 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1055 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1056 |
|
---|
| 1057 | /*Be sure that values are not zero*/
|
---|
| 1058 | if(gl[0]==0.) gl[0]=gl[0]+epsilon;
|
---|
| 1059 | @@ -2068,7 +2068,7 @@
|
---|
| 1060 | /*Make sure there is a grounding line here*/
|
---|
| 1061 | if(!IsOnBase()) return 0;
|
---|
| 1062 | if(!IsIceInElement()) return 0;
|
---|
| 1063 | - if(!IsZeroLevelset(MaskGroundediceLevelsetEnum)) return 0;
|
---|
| 1064 | + if(!IsZeroLevelset(MaskOceanLevelsetEnum)) return 0;
|
---|
| 1065 |
|
---|
| 1066 | /*Scaled not implemented yet...*/
|
---|
| 1067 | _assert_(!scaled);
|
---|
| 1068 | @@ -2083,7 +2083,7 @@
|
---|
| 1069 | this->GetVerticesCoordinates(&xyz_list);
|
---|
| 1070 |
|
---|
| 1071 | /*Recover parameters and values*/
|
---|
| 1072 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1073 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1074 |
|
---|
| 1075 | /*Be sure that values are not zero*/
|
---|
| 1076 | if(gl[0]==0.) gl[0]=gl[0]+epsilon;
|
---|
| 1077 | @@ -3187,7 +3187,7 @@
|
---|
| 1078 | density=rho_ice/rho_water;
|
---|
| 1079 | Element::GetInputListOnVertices(&h[0],ThicknessEnum);
|
---|
| 1080 | Element::GetInputListOnVertices(&r[0],BedEnum);
|
---|
| 1081 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1082 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1083 |
|
---|
| 1084 | /*go through vertices, and figure out which ones are on the ice sheet, and want to unground: */
|
---|
| 1085 | for(int i=0;i<NUMVERTICES;i++){
|
---|
| 1086 | @@ -3281,7 +3281,7 @@
|
---|
| 1087 | /*Get inputs*/
|
---|
| 1088 | Input2* slopex_input=this->GetInput2(BedSlopeXEnum); _assert_(slopex_input);
|
---|
| 1089 | Input2* slopey_input=this->GetInput2(BedSlopeYEnum); _assert_(slopey_input);
|
---|
| 1090 | - Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input);
|
---|
| 1091 | + Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input);
|
---|
| 1092 |
|
---|
| 1093 | /*Loop over basal nodes and update their CS*/
|
---|
| 1094 | GaussPenta* gauss = new GaussPenta();
|
---|
| 1095 | @@ -4173,7 +4173,7 @@
|
---|
| 1096 | /*Get material parameters :*/
|
---|
| 1097 | rho_ice=FindParam(MaterialsRhoIceEnum);
|
---|
| 1098 | Input2* floatingmelt_input = this->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingmelt_input);
|
---|
| 1099 | - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1100 | + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1101 | Input2* scalefactor_input = NULL;
|
---|
| 1102 | if(scaled==true){
|
---|
| 1103 | scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input);
|
---|
| 1104 | @@ -4218,7 +4218,7 @@
|
---|
| 1105 | /*Get material parameters :*/
|
---|
| 1106 | rho_ice=FindParam(MaterialsRhoIceEnum);
|
---|
| 1107 | Input2* groundedmelt_input = this->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedmelt_input);
|
---|
| 1108 | - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1109 | + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1110 | Input2* scalefactor_input = NULL;
|
---|
| 1111 | if(scaled==true){
|
---|
| 1112 | scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input);
|
---|
| 1113 | Index: ../trunk-jpl/src/c/classes/Elements/Seg.cpp
|
---|
| 1114 | ===================================================================
|
---|
| 1115 | --- ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 24860)
|
---|
| 1116 | +++ ../trunk-jpl/src/c/classes/Elements/Seg.cpp (revision 24861)
|
---|
| 1117 | @@ -263,7 +263,7 @@
|
---|
| 1118 | IssmDouble gl[NUMVERTICES];
|
---|
| 1119 |
|
---|
| 1120 | /*Recover parameters and values*/
|
---|
| 1121 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1122 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1123 |
|
---|
| 1124 | /*Be sure that values are not zero*/
|
---|
| 1125 | if(gl[0]==0.) gl[0]=gl[0]+epsilon;
|
---|
| 1126 | Index: ../trunk-jpl/src/c/classes/Elements/Tetra.cpp
|
---|
| 1127 | ===================================================================
|
---|
| 1128 | --- ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 24860)
|
---|
| 1129 | +++ ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 24861)
|
---|
| 1130 | @@ -696,7 +696,7 @@
|
---|
| 1131 | /*Get inputs*/
|
---|
| 1132 | Input2* slopex_input=this->GetInput2(BedSlopeXEnum); _assert_(slopex_input);
|
---|
| 1133 | Input2* slopey_input=this->GetInput2(BedSlopeYEnum); _assert_(slopey_input);
|
---|
| 1134 | - Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input);
|
---|
| 1135 | + Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input);
|
---|
| 1136 | vertexonbase = xNew<IssmDouble>(numnodes);
|
---|
| 1137 | this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum);
|
---|
| 1138 |
|
---|
| 1139 | Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
|
---|
| 1140 | ===================================================================
|
---|
| 1141 | --- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 24860)
|
---|
| 1142 | +++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 24861)
|
---|
| 1143 | @@ -1985,7 +1985,7 @@
|
---|
| 1144 | int migration_style;
|
---|
| 1145 | parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
|
---|
| 1146 |
|
---|
| 1147 | - Input2* input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(input);
|
---|
| 1148 | + Input2* input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(input);
|
---|
| 1149 |
|
---|
| 1150 | if(migration_style==SubelementMigrationEnum){ //Floating if all nodes are floating
|
---|
| 1151 | if(input->GetInputMax() <= 0.) shelf=true;
|
---|
| 1152 | @@ -2005,7 +2005,7 @@
|
---|
| 1153 | }/*}}}*/
|
---|
| 1154 | bool Element::IsGrounded(){/*{{{*/
|
---|
| 1155 |
|
---|
| 1156 | - Input2* input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(input);
|
---|
| 1157 | + Input2* input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(input);
|
---|
| 1158 | if(input->GetInputMax() > 0.){
|
---|
| 1159 | return true;
|
---|
| 1160 | }
|
---|
| 1161 | @@ -2257,7 +2257,7 @@
|
---|
| 1162 | GetInputListOnVertices(&b[0],BaseEnum);
|
---|
| 1163 | GetInputListOnVertices(&r[0],BedEnum);
|
---|
| 1164 | GetInputListOnVertices(&sl[0],SealevelEnum);
|
---|
| 1165 | - GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
|
---|
| 1166 | + GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
|
---|
| 1167 | rho_water = FindParam(MaterialsRhoSeawaterEnum);
|
---|
| 1168 | rho_ice = FindParam(MaterialsRhoIceEnum);
|
---|
| 1169 | density = rho_ice/rho_water;
|
---|
| 1170 | @@ -2311,7 +2311,7 @@
|
---|
| 1171 | /*do nothing*/
|
---|
| 1172 | }
|
---|
| 1173 | }
|
---|
| 1174 | - this->AddInput2(MaskGroundediceLevelsetEnum,&phi[0],P1Enum);
|
---|
| 1175 | + this->AddInput2(MaskOceanLevelsetEnum,&phi[0],P1Enum);
|
---|
| 1176 |
|
---|
| 1177 | /*Update inputs*/
|
---|
| 1178 | this->AddInput2(SurfaceEnum,&s[0],P1Enum);
|
---|
| 1179 | Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
|
---|
| 1180 | ===================================================================
|
---|
| 1181 | --- ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 24860)
|
---|
| 1182 | +++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 24861)
|
---|
| 1183 | @@ -313,7 +313,7 @@
|
---|
| 1184 | Input2* vx_input = this->GetInput2(VxEnum); _assert_(vx_input);
|
---|
| 1185 | Input2* vy_input = this->GetInput2(VyEnum); _assert_(vy_input);
|
---|
| 1186 | Input2* B_input = this->GetInput2(MaterialsRheologyBbarEnum); _assert_(B_input);
|
---|
| 1187 | - Input2* gr_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
|
---|
| 1188 | + Input2* gr_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
|
---|
| 1189 | Input2* bs_input = this->GetInput2(BaseEnum); _assert_(bs_input);
|
---|
| 1190 | Input2* smax_fl_input = this->GetInput2(CalvingStressThresholdFloatingiceEnum); _assert_(smax_fl_input);
|
---|
| 1191 | Input2* smax_gr_input = this->GetInput2(CalvingStressThresholdGroundediceEnum); _assert_(smax_gr_input);
|
---|
| 1192 | @@ -1365,7 +1365,7 @@
|
---|
| 1193 | Element::GetInputListOnVertices(&bed[0],BedEnum);
|
---|
| 1194 | Element::GetInputListOnVertices(&surface[0],SurfaceEnum);
|
---|
| 1195 | Element::GetInputListOnVertices(&pressure[0],PressureEnum);
|
---|
| 1196 | - Element::GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
|
---|
| 1197 | + Element::GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
|
---|
| 1198 | IssmDouble rho_ice = FindParam(MaterialsRhoIceEnum);
|
---|
| 1199 | IssmDouble rho_water = FindParam(MaterialsRhoSeawaterEnum);
|
---|
| 1200 | IssmDouble gravity = FindParam(ConstantsGEnum);
|
---|
| 1201 | @@ -1571,7 +1571,7 @@
|
---|
| 1202 | IssmDouble f1,f2;
|
---|
| 1203 |
|
---|
| 1204 | /*Recover parameters and values*/
|
---|
| 1205 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1206 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1207 |
|
---|
| 1208 | /*Be sure that values are not zero*/
|
---|
| 1209 | if(gl[0]==0.) gl[0]=gl[0]+epsilon;
|
---|
| 1210 | @@ -1627,7 +1627,7 @@
|
---|
| 1211 |
|
---|
| 1212 | /*Recover parameters and values*/
|
---|
| 1213 | parameters->FindParam(&domaintype,DomainTypeEnum);
|
---|
| 1214 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1215 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1216 |
|
---|
| 1217 | /*Be sure that values are not zero*/
|
---|
| 1218 | if(gl[0]==0.) gl[0]=gl[0]+epsilon;
|
---|
| 1219 | @@ -2877,7 +2877,7 @@
|
---|
| 1220 |
|
---|
| 1221 | /*Make sure there is a grounding line here*/
|
---|
| 1222 | if(!IsIceInElement()) return 0;
|
---|
| 1223 | - if(!IsZeroLevelset(MaskGroundediceLevelsetEnum)) return 0;
|
---|
| 1224 | + if(!IsZeroLevelset(MaskOceanLevelsetEnum)) return 0;
|
---|
| 1225 |
|
---|
| 1226 | /*Scaled not implemented yet...*/
|
---|
| 1227 | _assert_(!scaled);
|
---|
| 1228 | @@ -2893,7 +2893,7 @@
|
---|
| 1229 |
|
---|
| 1230 | /*Recover parameters and values*/
|
---|
| 1231 | parameters->FindParam(&domaintype,DomainTypeEnum);
|
---|
| 1232 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1233 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1234 |
|
---|
| 1235 | /*Be sure that values are not zero*/
|
---|
| 1236 | if(gl[0]==0.) gl[0]=gl[0]+epsilon;
|
---|
| 1237 | @@ -3825,7 +3825,7 @@
|
---|
| 1238 | density=rho_ice/rho_water;
|
---|
| 1239 | Element::GetInputListOnVertices(&h[0],ThicknessEnum);
|
---|
| 1240 | Element::GetInputListOnVertices(&r[0],BedEnum);
|
---|
| 1241 | - Element::GetInputListOnVertices(&gl[0],MaskGroundediceLevelsetEnum);
|
---|
| 1242 | + Element::GetInputListOnVertices(&gl[0],MaskOceanLevelsetEnum);
|
---|
| 1243 |
|
---|
| 1244 | /*go through vertices, and figure out which ones are grounded and want to unground: */
|
---|
| 1245 | for(int i=0;i<NUMVERTICES;i++){
|
---|
| 1246 | @@ -3896,7 +3896,7 @@
|
---|
| 1247 |
|
---|
| 1248 | /*Get inputs*/
|
---|
| 1249 | Input2* slope_input=this->GetInput2(BedSlopeXEnum); _assert_(slope_input);
|
---|
| 1250 | - Input2* groundedicelevelset_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedicelevelset_input);
|
---|
| 1251 | + Input2* groundedicelevelset_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedicelevelset_input);
|
---|
| 1252 | vertexonbase = xNew<IssmDouble>(numnodes);
|
---|
| 1253 | this->GetInputListOnNodesVelocity(&vertexonbase[0],MeshVertexonbaseEnum);
|
---|
| 1254 |
|
---|
| 1255 | @@ -4642,7 +4642,7 @@
|
---|
| 1256 | /*Get material parameters :*/
|
---|
| 1257 | rho_ice=FindParam(MaterialsRhoIceEnum);
|
---|
| 1258 | Input2* floatingmelt_input = this->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingmelt_input);
|
---|
| 1259 | - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1260 | + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1261 | Input2* scalefactor_input = NULL;
|
---|
| 1262 | if(scaled==true){
|
---|
| 1263 | scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input);
|
---|
| 1264 | @@ -4687,7 +4687,7 @@
|
---|
| 1265 | /*Get material parameters :*/
|
---|
| 1266 | rho_ice=FindParam(MaterialsRhoIceEnum);
|
---|
| 1267 | Input2* groundedmelt_input = this->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedmelt_input);
|
---|
| 1268 | - Input2* gllevelset_input = this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1269 | + Input2* gllevelset_input = this->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1270 | Input2* scalefactor_input = NULL;
|
---|
| 1271 | if(scaled==true){
|
---|
| 1272 | scalefactor_input = this->GetInput2(MeshScaleFactorEnum); _assert_(scalefactor_input);
|
---|
| 1273 | @@ -5622,7 +5622,7 @@
|
---|
| 1274 | }
|
---|
| 1275 |
|
---|
| 1276 | /*early return if we are fully floating:*/
|
---|
| 1277 | - Input2* gr_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
|
---|
| 1278 | + Input2* gr_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
|
---|
| 1279 | if (gr_input->GetInputMax()<=0){
|
---|
| 1280 | constant=0; this->AddInput2(SealevelEustaticMaskEnum,&constant,P0Enum);
|
---|
| 1281 | *peustatic=0; //do not forget to assign this pointer, otherwise, global eustatic will be garbage!
|
---|
| 1282 | @@ -6128,7 +6128,7 @@
|
---|
| 1283 | if(!IsIceOnlyInElement() && !IsWaterInElement()) return;
|
---|
| 1284 |
|
---|
| 1285 | /*early return if we are fully floating: */
|
---|
| 1286 | - Input2* gr_input=this->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
|
---|
| 1287 | + Input2* gr_input=this->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
|
---|
| 1288 | if(gr_input->GetInputMax()<=0)return;
|
---|
| 1289 |
|
---|
| 1290 | /*recover computational flags: */
|
---|
| 1291 | Index: ../trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp
|
---|
| 1292 | ===================================================================
|
---|
| 1293 | --- ../trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp (revision 24860)
|
---|
| 1294 | +++ ../trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp (revision 24861)
|
---|
| 1295 | @@ -135,7 +135,7 @@
|
---|
| 1296 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
|
---|
| 1297 | }
|
---|
| 1298 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1299 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1300 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1301 | iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.bump_height",HydrologyBumpHeightEnum);
|
---|
| 1302 | iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.sheet_conductivity",HydrologySheetConductivityEnum);
|
---|
| 1303 | iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.neumannflux",HydrologyNeumannfluxEnum);
|
---|
| 1304 | Index: ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
|
---|
| 1305 | ===================================================================
|
---|
| 1306 | --- ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 24860)
|
---|
| 1307 | +++ ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 24861)
|
---|
| 1308 | @@ -353,7 +353,7 @@
|
---|
| 1309 | element->GetVerticesCoordinatesBase(&xyz_list_base);
|
---|
| 1310 | element->GetInputValue(&approximation,ApproximationEnum);
|
---|
| 1311 | Input2* base_input=element->GetInput2(BaseEnum); _assert_(base_input);
|
---|
| 1312 | - Input2* groundedice_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedice_input);
|
---|
| 1313 | + Input2* groundedice_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedice_input);
|
---|
| 1314 | Input2* groundedice_melting_input=element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(groundedice_melting_input);
|
---|
| 1315 | Input2* floatingice_melting_input=element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(floatingice_melting_input);
|
---|
| 1316 | Input2* vx_input=element->GetInput2(VxEnum); _assert_(vx_input);
|
---|
| 1317 | Index: ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
|
---|
| 1318 | ===================================================================
|
---|
| 1319 | --- ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp (revision 24860)
|
---|
| 1320 | +++ ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp (revision 24861)
|
---|
| 1321 | @@ -243,12 +243,12 @@
|
---|
| 1322 | case Domain2DhorizontalEnum:
|
---|
| 1323 | vx_input=basalelement->GetInput2(VxEnum); _assert_(vx_input);
|
---|
| 1324 | vy_input=basalelement->GetInput2(VyEnum); _assert_(vy_input);
|
---|
| 1325 | - gr_input=basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
|
---|
| 1326 | + gr_input=basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
|
---|
| 1327 | break;
|
---|
| 1328 | case Domain3DEnum:
|
---|
| 1329 | vx_input=basalelement->GetInput2(VxAverageEnum); _assert_(vx_input);
|
---|
| 1330 | vy_input=basalelement->GetInput2(VyAverageEnum); _assert_(vy_input);
|
---|
| 1331 | - gr_input=basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gr_input);
|
---|
| 1332 | + gr_input=basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(gr_input);
|
---|
| 1333 | break;
|
---|
| 1334 | default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet");
|
---|
| 1335 | }
|
---|
| 1336 | Index: ../trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp
|
---|
| 1337 | ===================================================================
|
---|
| 1338 | --- ../trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp (revision 24860)
|
---|
| 1339 | +++ ../trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp (revision 24861)
|
---|
| 1340 | @@ -105,7 +105,7 @@
|
---|
| 1341 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
|
---|
| 1342 | }
|
---|
| 1343 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1344 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1345 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1346 | iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
|
---|
| 1347 | iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.geothermalflux",BasalforcingsGeothermalfluxEnum);
|
---|
| 1348 | iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.head",HydrologyHeadEnum);
|
---|
| 1349 | Index: ../trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp
|
---|
| 1350 | ===================================================================
|
---|
| 1351 | --- ../trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp (revision 24860)
|
---|
| 1352 | +++ ../trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp (revision 24861)
|
---|
| 1353 | @@ -32,7 +32,7 @@
|
---|
| 1354 |
|
---|
| 1355 | /*Add input to elements*/
|
---|
| 1356 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1357 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1358 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1359 | iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
|
---|
| 1360 | iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.drainage_rate",HydrologyDrainageRateEnum);
|
---|
| 1361 | iomodel->FetchDataToInput(inputs2,elements,"md.hydrology.watercolumn_max",HydrologyWatercolumnMaxEnum);
|
---|
| 1362 | Index: ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
|
---|
| 1363 | ===================================================================
|
---|
| 1364 | --- ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 24860)
|
---|
| 1365 | +++ ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 24861)
|
---|
| 1366 | @@ -149,7 +149,7 @@
|
---|
| 1367 | iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum);
|
---|
| 1368 | iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0);
|
---|
| 1369 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1370 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1371 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1372 | iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
|
---|
| 1373 | iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vx",VxEnum);
|
---|
| 1374 | iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vy",VyEnum);
|
---|
| 1375 | @@ -621,7 +621,7 @@
|
---|
| 1376 | element->FindParam(&stabilization,MasstransportStabilizationEnum);
|
---|
| 1377 | Input2* gmb_input = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input);
|
---|
| 1378 | Input2* fmb_input = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
|
---|
| 1379 | - Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1380 | + Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1381 | Input2* ms_input = element->GetInput2(SmbMassBalanceEnum); _assert_(ms_input);
|
---|
| 1382 | Input2* thickness_input = element->GetInput2(ThicknessEnum); _assert_(thickness_input);
|
---|
| 1383 | Input2* vxaverage_input = element->GetInput2(VxAverageEnum); _assert_(vxaverage_input);
|
---|
| 1384 | @@ -736,7 +736,7 @@
|
---|
| 1385 | Input2* gmb_input = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input);
|
---|
| 1386 | Input2* fmb_input = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
|
---|
| 1387 | Input2* ms_input = element->GetInput2(SmbMassBalanceEnum); _assert_(ms_input);
|
---|
| 1388 | - Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1389 | + Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1390 | Input2* thickness_input = element->GetInput2(ThicknessEnum); _assert_(thickness_input);
|
---|
| 1391 |
|
---|
| 1392 | /*Recover portion of element that is grounded*/
|
---|
| 1393 | @@ -857,7 +857,7 @@
|
---|
| 1394 | basalelement->GetInputListOnVertices(&oldthickness[0],ThicknessOldEnum);
|
---|
| 1395 | basalelement->GetInputListOnVertices(&oldbase[0],BaseOldEnum);
|
---|
| 1396 | basalelement->GetInputListOnVertices(&oldsurface[0],SurfaceOldEnum);
|
---|
| 1397 | - basalelement->GetInputListOnVertices(&phi[0],MaskGroundediceLevelsetEnum);
|
---|
| 1398 | + basalelement->GetInputListOnVertices(&phi[0],MaskOceanLevelsetEnum);
|
---|
| 1399 | basalelement->GetInputListOnVertices(&sealevel[0],SealevelEnum);
|
---|
| 1400 | basalelement->GetInputListOnVertices(&cumdeltathickness[0],SealevelriseCumDeltathicknessOldEnum);
|
---|
| 1401 |
|
---|
| 1402 | @@ -1069,7 +1069,7 @@
|
---|
| 1403 | element->FindParam(&stabilization,MasstransportStabilizationEnum);
|
---|
| 1404 | Input2* gmb_input = element->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input);
|
---|
| 1405 | Input2* fmb_input = element->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
|
---|
| 1406 | - Input2* gllevelset_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1407 | + Input2* gllevelset_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1408 | Input2* ms_input = element->GetInput2(SmbMassBalanceEnum); _assert_(ms_input);
|
---|
| 1409 | Input2* vxaverage_input = element->GetInput2(VxAverageEnum); _assert_(vxaverage_input);
|
---|
| 1410 | Input2* vyaverage_input = element->GetInput2(VyAverageEnum); _assert_(vyaverage_input);
|
---|
| 1411 | Index: ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp
|
---|
| 1412 | ===================================================================
|
---|
| 1413 | --- ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp (revision 24860)
|
---|
| 1414 | +++ ../trunk-jpl/src/c/analyses/SealevelriseAnalysis.cpp (revision 24861)
|
---|
| 1415 | @@ -34,7 +34,7 @@
|
---|
| 1416 | }
|
---|
| 1417 |
|
---|
| 1418 | /*Create inputs: */
|
---|
| 1419 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1420 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1421 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1422 | //those only if we have requested geodetic computations:
|
---|
| 1423 | iomodel->FetchData(&geodetic,"md.slr.geodetic");
|
---|
| 1424 | Index: ../trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp
|
---|
| 1425 | ===================================================================
|
---|
| 1426 | --- ../trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp (revision 24860)
|
---|
| 1427 | +++ ../trunk-jpl/src/c/analyses/GLheightadvectionAnalysis.cpp (revision 24861)
|
---|
| 1428 | @@ -222,7 +222,7 @@
|
---|
| 1429 | IssmDouble *bed = xNew<IssmDouble>(numnodes);
|
---|
| 1430 | IssmDouble *ls_active = xNew<IssmDouble>(numnodes);
|
---|
| 1431 |
|
---|
| 1432 | - element->GetInputListOnNodes(&mask[0],MaskGroundediceLevelsetEnum);
|
---|
| 1433 | + element->GetInputListOnNodes(&mask[0],MaskOceanLevelsetEnum);
|
---|
| 1434 | element->GetInputListOnNodes(&bed[0],BaseEnum);
|
---|
| 1435 | element->GetInputListOnNodes(&ls_active[0],IceMaskNodeActivationEnum);
|
---|
| 1436 |
|
---|
| 1437 | Index: ../trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
|
---|
| 1438 | ===================================================================
|
---|
| 1439 | --- ../trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp (revision 24860)
|
---|
| 1440 | +++ ../trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp (revision 24861)
|
---|
| 1441 | @@ -63,7 +63,7 @@
|
---|
| 1442 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
|
---|
| 1443 | }
|
---|
| 1444 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1445 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1446 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1447 | iomodel->FetchDataToInput(inputs2,elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum);
|
---|
| 1448 | iomodel->FetchDataToInput(inputs2,elements,"md.initialization.watercolumn",WatercolumnEnum);
|
---|
| 1449 |
|
---|
| 1450 | Index: ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
|
---|
| 1451 | ===================================================================
|
---|
| 1452 | --- ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 24860)
|
---|
| 1453 | +++ ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 24861)
|
---|
| 1454 | @@ -160,7 +160,7 @@
|
---|
| 1455 | }
|
---|
| 1456 |
|
---|
| 1457 | iomodel->FetchDataToInput(inputs2,elements,"md.geometry.thickness",ThicknessEnum);
|
---|
| 1458 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1459 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1460 | if(ismovingfront){
|
---|
| 1461 | if(iomodel->domaintype!=Domain2DhorizontalEnum)
|
---|
| 1462 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum); // required for updating active nodes
|
---|
| 1463 | Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
|
---|
| 1464 | ===================================================================
|
---|
| 1465 | --- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 24860)
|
---|
| 1466 | +++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 24861)
|
---|
| 1467 | @@ -102,7 +102,7 @@
|
---|
| 1468 | iomodel->FetchData(&vertices_type,NULL,NULL,"md.flowequation.vertex_equation");
|
---|
| 1469 | iomodel->FetchData(&nodeonFS,NULL,NULL,"md.flowequation.borderFS");
|
---|
| 1470 | iomodel->FetchData(&nodeonbase,NULL,NULL,"md.mesh.vertexonbase");
|
---|
| 1471 | - iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.groundedice_levelset");
|
---|
| 1472 | + iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.ocean_levelset");
|
---|
| 1473 | if(iomodel->domaintype==Domain3DEnum){
|
---|
| 1474 | iomodel->FetchData(&spcvz,&Mz,&Nz,"md.stressbalance.spcvz");
|
---|
| 1475 | }
|
---|
| 1476 | @@ -129,7 +129,7 @@
|
---|
| 1477 | iomodel->DeleteData(vertices_type,"md.flowequation.vertex_equation");
|
---|
| 1478 | iomodel->DeleteData(nodeonFS,"md.flowequation.borderFS");
|
---|
| 1479 | iomodel->DeleteData(nodeonbase,"md.mesh.vertexonbase");
|
---|
| 1480 | - iomodel->DeleteData(groundedice_ls,"md.mask.groundedice_levelset");
|
---|
| 1481 | + iomodel->DeleteData(groundedice_ls,"md.mask.ocean_levelset");
|
---|
| 1482 |
|
---|
| 1483 | /*Pressure spc*/
|
---|
| 1484 | int count = constraints->Size();
|
---|
| 1485 | @@ -201,7 +201,7 @@
|
---|
| 1486 | if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonHO,NULL,NULL,"md.flowequation.borderHO");
|
---|
| 1487 | if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonFS,NULL,NULL,"md.flowequation.borderFS");
|
---|
| 1488 | if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&nodeonbase,NULL,NULL,"md.mesh.vertexonbase");
|
---|
| 1489 | - if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.groundedice_levelset");
|
---|
| 1490 | + if(iomodel->domaintype==Domain3DEnum)iomodel->FetchData(&groundedice_ls,NULL,NULL,"md.mask.ocean_levelset");
|
---|
| 1491 | iomodel->FetchData(&vertices_type,NULL,NULL,"md.flowequation.vertex_equation");
|
---|
| 1492 | iomodel->FetchData(&surface,NULL,NULL,"md.geometry.surface");
|
---|
| 1493 | iomodel->FetchData(&z,NULL,NULL,"md.mesh.z");
|
---|
| 1494 | @@ -431,7 +431,7 @@
|
---|
| 1495 | if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonHO,"md.flowequation.borderHO");
|
---|
| 1496 | if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonFS,"md.flowequation.borderFS");
|
---|
| 1497 | if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(nodeonbase,"md.mesh.vertexonbase");
|
---|
| 1498 | - if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(groundedice_ls,"md.mask.groundedice_levelset");
|
---|
| 1499 | + if(iomodel->domaintype==Domain3DEnum)iomodel->DeleteData(groundedice_ls,"md.mask.ocean_levelset");
|
---|
| 1500 | iomodel->DeleteData(vertices_type,"md.flowequation.vertex_equation");
|
---|
| 1501 | iomodel->DeleteData(surface,"md.geometry.surface");
|
---|
| 1502 | iomodel->DeleteData(z,"md.mesh.z");
|
---|
| 1503 | @@ -495,7 +495,7 @@
|
---|
| 1504 | /*Create Riffront loads for rifts: */
|
---|
| 1505 | if(numrifts){
|
---|
| 1506 | iomodel->FetchData(&riftinfo,&numriftsegments,NULL,"md.rifts.riftstruct");
|
---|
| 1507 | - iomodel->FetchData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.groundedice_levelset");
|
---|
| 1508 | + iomodel->FetchData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.ocean_levelset");
|
---|
| 1509 | for(i=0;i<numriftsegments;i++){
|
---|
| 1510 | if(iomodel->my_elements[reCast<int,IssmDouble>(*(riftinfo+RIFTINFOSIZE*i+2))-1]){
|
---|
| 1511 | loads->AddObject(new Riftfront(count+1,i,iomodel));
|
---|
| 1512 | @@ -502,7 +502,7 @@
|
---|
| 1513 | count++;
|
---|
| 1514 | }
|
---|
| 1515 | }
|
---|
| 1516 | - iomodel->DeleteData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.groundedice_levelset");
|
---|
| 1517 | + iomodel->DeleteData(5,"md.rifts.riftstruct","md.geometry.thickness","md.geometry.base","md.geometry.surface","md.mask.ocean_levelset");
|
---|
| 1518 | xDelete<IssmDouble>(riftinfo);
|
---|
| 1519 | }
|
---|
| 1520 | }/*}}}*/
|
---|
| 1521 | @@ -757,7 +757,7 @@
|
---|
| 1522 | iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum);
|
---|
| 1523 | iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0);
|
---|
| 1524 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1525 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1526 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1527 | iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vx",VxEnum,0.);
|
---|
| 1528 | iomodel->FetchDataToInput(inputs2,elements,"md.initialization.vy",VyEnum,0.);
|
---|
| 1529 | iomodel->FetchDataToInput(inputs2,elements,"md.stressbalance.loadingforcex",LoadingforceXEnum);
|
---|
| 1530 | @@ -1441,7 +1441,7 @@
|
---|
| 1531 | /*Recover portion of element that is grounded*/
|
---|
| 1532 | if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list);
|
---|
| 1533 | if(friction_style==SubelementFriction2Enum){
|
---|
| 1534 | - gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1535 | + gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1536 | element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating);
|
---|
| 1537 | gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2);
|
---|
| 1538 | }
|
---|
| 1539 | @@ -2479,7 +2479,7 @@
|
---|
| 1540 | /*Recover portion of element that is grounded*/
|
---|
| 1541 | if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list_base);
|
---|
| 1542 | if(friction_style==SubelementFriction2Enum){
|
---|
| 1543 | - gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1544 | + gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1545 | element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating);
|
---|
| 1546 | gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2);
|
---|
| 1547 | }
|
---|
| 1548 | @@ -3962,7 +3962,7 @@
|
---|
| 1549 | if(!(friction_style==SubelementFriction2Enum)) phi=element->GetGroundedPortion(xyz_list_base);
|
---|
| 1550 | if(friction_style==SubelementFriction2Enum){
|
---|
| 1551 | if(domaintype==Domain2DverticalEnum) _error_("Subelement Friction 2 not implemented yet for Flowline");
|
---|
| 1552 | - gllevelset_input=element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1553 | + gllevelset_input=element->GetInput2(MaskOceanLevelsetEnum); _assert_(gllevelset_input);
|
---|
| 1554 | element->GetGroundedPart(&point1,&fraction1,&fraction2,&mainlyfloating);
|
---|
| 1555 | //gauss = element->NewGauss(point1,fraction1,fraction2,mainlyfloating,2);
|
---|
| 1556 | gauss=element->NewGaussBase(3);
|
---|
| 1557 | Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
|
---|
| 1558 | ===================================================================
|
---|
| 1559 | --- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp (revision 24860)
|
---|
| 1560 | +++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp (revision 24861)
|
---|
| 1561 | @@ -792,7 +792,7 @@
|
---|
| 1562 | IssmDouble* groundedice = xNew<IssmDouble>(numnodes);
|
---|
| 1563 |
|
---|
| 1564 | basalelement->GetInputListOnVertices(&meltingrate[0],BasalforcingsGroundediceMeltingRateEnum);
|
---|
| 1565 | - basalelement->GetInputListOnVertices(&groundedice[0],MaskGroundediceLevelsetEnum);
|
---|
| 1566 | + basalelement->GetInputListOnVertices(&groundedice[0],MaskOceanLevelsetEnum);
|
---|
| 1567 |
|
---|
| 1568 | /*if melting rate is not positive and node is not floating, deactivate*/
|
---|
| 1569 | for(int i=0;i<numnodes;i++){
|
---|
| 1570 | Index: ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
|
---|
| 1571 | ===================================================================
|
---|
| 1572 | --- ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp (revision 24860)
|
---|
| 1573 | +++ ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp (revision 24861)
|
---|
| 1574 | @@ -134,7 +134,7 @@
|
---|
| 1575 | iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum);
|
---|
| 1576 | iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0);
|
---|
| 1577 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1578 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1579 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1580 | if(iomodel->domaintype!=Domain2DhorizontalEnum){
|
---|
| 1581 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
|
---|
| 1582 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
|
---|
| 1583 | Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
|
---|
| 1584 | ===================================================================
|
---|
| 1585 | --- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 24860)
|
---|
| 1586 | +++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 24861)
|
---|
| 1587 | @@ -138,7 +138,7 @@
|
---|
| 1588 | iomodel->FetchDataToInput(inputs2,elements,"md.slr.sealevel",SealevelEnum,0);
|
---|
| 1589 | iomodel->FetchDataToInput(inputs2,elements,"md.geometry.base",BaseEnum);
|
---|
| 1590 | iomodel->FetchDataToInput(inputs2,elements,"md.mask.ice_levelset",MaskIceLevelsetEnum);
|
---|
| 1591 | - iomodel->FetchDataToInput(inputs2,elements,"md.mask.groundedice_levelset",MaskGroundediceLevelsetEnum);
|
---|
| 1592 | + iomodel->FetchDataToInput(inputs2,elements,"md.mask.ocean_levelset",MaskOceanLevelsetEnum);
|
---|
| 1593 | if(iomodel->domaintype!=Domain2DhorizontalEnum){
|
---|
| 1594 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonbase",MeshVertexonbaseEnum);
|
---|
| 1595 | iomodel->FetchDataToInput(inputs2,elements,"md.mesh.vertexonsurface",MeshVertexonsurfaceEnum);
|
---|
| 1596 | Index: ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
|
---|
| 1597 | ===================================================================
|
---|
| 1598 | --- ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp (revision 24860)
|
---|
| 1599 | +++ ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp (revision 24861)
|
---|
| 1600 | @@ -295,7 +295,7 @@
|
---|
| 1601 | /*Retrieve all inputs and parameters*/
|
---|
| 1602 | basalelement->GetVerticesCoordinates(&xyz_list);
|
---|
| 1603 | basalelement->FindParam(&dt,TimesteppingTimeStepEnum);
|
---|
| 1604 | - Input2* groundedice_input = basalelement->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedice_input);
|
---|
| 1605 | + Input2* groundedice_input = basalelement->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedice_input);
|
---|
| 1606 | Input2* gmb_input = basalelement->GetInput2(BasalforcingsGroundediceMeltingRateEnum); _assert_(gmb_input);
|
---|
| 1607 | Input2* fmb_input = basalelement->GetInput2(BasalforcingsFloatingiceMeltingRateEnum); _assert_(fmb_input);
|
---|
| 1608 | Input2* base_input = basalelement->GetInput2(BaseEnum); _assert_(base_input);
|
---|
| 1609 | @@ -410,7 +410,7 @@
|
---|
| 1610 | if(!element->IsOnBase()) continue;
|
---|
| 1611 |
|
---|
| 1612 | int numnodes = element->GetNumberOfNodes();
|
---|
| 1613 | - Input2* groundedice_input = element->GetInput2(MaskGroundediceLevelsetEnum); _assert_(groundedice_input);
|
---|
| 1614 | + Input2* groundedice_input = element->GetInput2(MaskOceanLevelsetEnum); _assert_(groundedice_input);
|
---|
| 1615 | Input2* onbase_input = element->GetInput2(MeshVertexonbaseEnum); _assert_(onbase_input);
|
---|
| 1616 | Input2* base_input = element->GetInput2(BaseEnum); _assert_(base_input);
|
---|
| 1617 |
|
---|