Changeset 17590
- Timestamp:
- 03/28/14 09:15:19 (11 years ago)
- Location:
- issm/trunk-jpl
- Files:
-
- 81 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/geometry.m
r17555 r17590 8 8 surface = NaN; 9 9 thickness = NaN; 10 base = NaN; 10 11 bed = NaN; 11 bathymetry = NaN;12 12 hydrostatic_ratio = NaN; 13 end 14 methods (Static) 15 function obj = loadobj(obj) % {{{ 16 % This function is directly called by matlab when a model object is 17 % loaded. Update old properties here 18 19 %2014 March 26th 20 if isstruct(obj), 21 disp('WARNING: updating geometry'); 22 disp(' md.geometry.bed is now md.geometry.base'); 23 disp(' md.geometry.bathymetry is now md.geometry.bed'); 24 obj2=obj; 25 obj=geometry(); 26 obj.surface = obj2.surface; 27 obj.thickness = obj2.thickness; 28 obj.base = obj2.bed; 29 obj.bed = obj2.bathymetry; 30 end 31 32 end% }}} 13 33 end 14 34 methods … … 30 50 else 31 51 md = checkfield(md,'fieldname','geometry.surface' ,'NaN',1,'size',[md.mesh.numberofvertices 1]); 32 md = checkfield(md,'fieldname','geometry.b ed' ,'NaN',1,'size',[md.mesh.numberofvertices 1]);52 md = checkfield(md,'fieldname','geometry.base' ,'NaN',1,'size',[md.mesh.numberofvertices 1]); 33 53 md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices 1],'>',0); 34 if any((obj.thickness-obj.surface+obj.b ed)>10^-9),35 md = checkmessage(md,['equality thickness=surface-b edviolated']);54 if any((obj.thickness-obj.surface+obj.base)>10^-9), 55 md = checkmessage(md,['equality thickness=surface-base violated']); 36 56 end 37 57 if solution==TransientSolutionEnum() & md.transient.isgroundingline, 38 md = checkfield(md,'fieldname','geometry.b athymetry','NaN',1,'size',[md.mesh.numberofvertices 1]);58 md = checkfield(md,'fieldname','geometry.bed','NaN',1,'size',[md.mesh.numberofvertices 1]); 39 59 end 40 60 end … … 43 63 disp(sprintf(' geometry parameters:')); 44 64 45 fielddisplay(obj,'surface',' surface elevation [m]');65 fielddisplay(obj,'surface','ice upper surface elevation [m]'); 46 66 fielddisplay(obj,'thickness','ice thickness [m]'); 67 fielddisplay(obj,'base','ice base elevation [m]'); 47 68 fielddisplay(obj,'bed','bed elevation [m]'); 48 fielddisplay(obj,'bathymetry','bathymetry elevation [m]');49 fielddisplay(obj,'hydrostatic_ratio','coefficient for ice shelves'' thickness correction: hydrostatic_ratio H_obs+ (1-hydrostatic_ratio) H_hydro');50 69 51 70 end % }}} … … 53 72 WriteData(fid,'data',obj.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum()); 54 73 WriteData(fid,'data',obj.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+1); 55 WriteData(fid,'data',obj.b ed,'format','DoubleMat','mattype',1,'enum',BaseEnum());56 WriteData(fid,'data',obj.b athymetry,'format','DoubleMat','mattype',1,'enum',BedEnum());74 WriteData(fid,'data',obj.base,'format','DoubleMat','mattype',1,'enum',BaseEnum()); 75 WriteData(fid,'data',obj.bed,'format','DoubleMat','mattype',1,'enum',BedEnum()); 57 76 WriteData(fid,'object',obj,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1); 58 77 end % }}} -
issm/trunk-jpl/src/m/classes/geometry.py
r17555 r17590 15 15 self.surface = float('NaN') 16 16 self.thickness = float('NaN') 17 self.b ed= float('NaN')18 self.b athymetry= float('NaN')17 self.base = float('NaN') 18 self.bed = float('NaN') 19 19 self.hydrostatic_ratio = float('NaN') 20 20 … … 26 26 27 27 string=" geometry parameters:" 28 string="%s\n%s"%(string,fielddisplay(self,'surface',' surface elevation [m]'))28 string="%s\n%s"%(string,fielddisplay(self,'surface','ice upper surface elevation [m]')) 29 29 string="%s\n%s"%(string,fielddisplay(self,'thickness','ice thickness [m]')) 30 string="%s\n%s"%(string,fielddisplay(self,'base','ice base elevation [m]')) 30 31 string="%s\n%s"%(string,fielddisplay(self,'bed','bed elevation [m]')) 31 string="%s\n%s"%(string,fielddisplay(self,'bathymetry','bathymetry elevation [m]'))32 string="%s\n%s"%(string,fielddisplay(self,'hydrostatic_ratio','coefficient for ice shelves'' thickness correction: hydrostatic_ratio H_obs+ (1-hydrostatic_ratio) H_hydro'))33 32 return string 34 33 #}}} … … 39 38 40 39 md = checkfield(md,'fieldname','geometry.surface' ,'NaN',1,'size',[md.mesh.numberofvertices]) 41 md = checkfield(md,'fieldname','geometry.b ed' ,'NaN',1,'size',[md.mesh.numberofvertices])40 md = checkfield(md,'fieldname','geometry.base' ,'NaN',1,'size',[md.mesh.numberofvertices]) 42 41 md = checkfield(md,'fieldname','geometry.thickness','NaN',1,'size',[md.mesh.numberofvertices],'>',0,'forcing',1) 43 if any((self.thickness-self.surface+self.b ed)>10**-9):44 md.checkmessage("equality thickness=surface-b edviolated")42 if any((self.thickness-self.surface+self.base)>10**-9): 43 md.checkmessage("equality thickness=surface-base violated") 45 44 if solution==TransientSolutionEnum() and md.transient.isgroundingline: 46 md = checkfield(md,'fieldname','geometry.b athymetry','NaN',1,'size',[md.mesh.numberofvertices])45 md = checkfield(md,'fieldname','geometry.bed','NaN',1,'size',[md.mesh.numberofvertices]) 47 46 48 47 return md … … 51 50 WriteData(fid,'data',self.surface,'format','DoubleMat','mattype',1,'enum',SurfaceEnum()) 52 51 WriteData(fid,'data',self.thickness,'format','DoubleMat','mattype',1,'enum',ThicknessEnum(),'forcinglength',md.mesh.numberofvertices+1) 53 WriteData(fid,'data',self.b ed,'format','DoubleMat','mattype',1,'enum',BaseEnum())54 WriteData(fid,'data',self.b athymetry,'format','DoubleMat','mattype',1,'enum',BedEnum())52 WriteData(fid,'data',self.base,'format','DoubleMat','mattype',1,'enum',BaseEnum()) 53 WriteData(fid,'data',self.bed,'format','DoubleMat','mattype',1,'enum',BedEnum()) 55 54 WriteData(fid,'object',self,'fieldname','hydrostatic_ratio','format','DoubleMat','mattype',1) 56 55 # }}} -
issm/trunk-jpl/src/m/classes/groundingline.m
r17579 r17590 32 32 33 33 if ~strcmp(obj.migration,'None'), 34 if isnan(md.geometry.b athymetry),34 if isnan(md.geometry.bed), 35 35 md = checkmessage(md,['requesting grounding line migration, but bathymetry is absent!']); 36 36 end 37 37 pos=find(md.mask.groundedice_levelset>0.); 38 if any(abs(md.geometry.b ed(pos)-md.geometry.bathymetry(pos))>10^-10),38 if any(abs(md.geometry.base(pos)-md.geometry.bed(pos))>10^-10), 39 39 md = checkmessage(md,['bathymetry not equal to bed on grounded ice!']); 40 40 end 41 if any(md.geometry.b athymetry - md.geometry.bed> 10^-9),41 if any(md.geometry.bed - md.geometry.base > 10^-9), 42 42 md = checkmessage(md,['bathymetry superior to bed on floating ice!']); 43 43 end -
issm/trunk-jpl/src/m/classes/groundingline.py
r17579 r17590 45 45 46 46 if not m.strcmp(self.migration,'None'): 47 if numpy.any(numpy.isnan(md.geometry.b athymetry)):47 if numpy.any(numpy.isnan(md.geometry.bed)): 48 48 md.checkmessage("requesting grounding line migration, but bathymetry is absent!") 49 49 pos=numpy.nonzero(md.mask.groundedice_levelset>0.)[0] 50 if any(numpy.abs(md.geometry.b ed[pos]-md.geometry.bathymetry[pos])>10**-10):50 if any(numpy.abs(md.geometry.base[pos]-md.geometry.bed[pos])>10**-10): 51 51 md.checkmessage("bathymetry not equal to bed on grounded ice!") 52 if any(md.geometry.b athymetry - md.geometry.bed> 10**-9):52 if any(md.geometry.bed - md.geometry.base > 10**-9): 53 53 md.checkmessage("bathymetry superior to bed on floating ice!") 54 54 -
issm/trunk-jpl/src/m/classes/mesh3dprisms.m
r17589 r17590 87 87 md = checkfield(md,'fieldname','mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]); 88 88 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]); 89 md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.b ed-10^-10,'message','''mesh.z'' lower than bedrock');89 md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock'); 90 90 md = checkfield(md,'fieldname','mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation'); 91 91 md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d'); -
issm/trunk-jpl/src/m/classes/mesh3dtetras.m
r17562 r17590 83 83 md = checkfield(md,'fieldname','mesh.vertexonbed','size',[md.mesh.numberofvertices 1],'values',[0 1]); 84 84 md = checkfield(md,'fieldname','mesh.vertexonsurface','size',[md.mesh.numberofvertices 1],'values',[0 1]); 85 md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.b ed-10^-10,'message','''mesh.z'' lower than bedrock');85 md = checkfield(md,'fieldname','mesh.z','>=',md.geometry.base-10^-10,'message','''mesh.z'' lower than bedrock'); 86 86 md = checkfield(md,'fieldname','mesh.z','<=',md.geometry.surface+10^-10,'message','''mesh.z'' higher than surface elevation'); 87 87 md = checkfield(md,'fieldname','mesh.average_vertex_connectivity','>=',24,'message','''mesh.average_vertex_connectivity'' should be at least 24 in 3d'); -
issm/trunk-jpl/src/m/classes/model.m
r17566 r17590 232 232 md.geometry.surface=project2d(md,md.geometry.surface,1); 233 233 md.geometry.thickness=project2d(md,md.geometry.thickness,1); 234 md.geometry.base=project2d(md,md.geometry.base,1); 234 235 md.geometry.bed=project2d(md,md.geometry.bed,1); 235 md.geometry.bathymetry=project2d(md,md.geometry.bathymetry,1);236 236 md.mesh.vertexonboundary=project2d(md,md.mesh.vertexonboundary,1); 237 237 md.mesh.elementconnectivity=project2d(md,md.mesh.elementconnectivity,1); … … 637 637 z3d=[]; %the lower node is on the bed 638 638 thickness3d=md.geometry.thickness; %thickness and bed for these nodes 639 bed3d=md.geometry.b ed;639 bed3d=md.geometry.base; 640 640 641 641 %Create the new layers … … 656 656 657 657 %Keep a trace of lower and upper nodes 658 mesh.lowervertex=NaN*ones(number_nodes3d,1);659 mesh.uppervertex=NaN*ones(number_nodes3d,1);660 mesh.lowervertex(md.mesh.numberofvertices+1:end)=1:(numlayers-1)*md.mesh.numberofvertices;661 mesh.uppervertex(1:(numlayers-1)*md.mesh.numberofvertices)=md.mesh.numberofvertices+1:number_nodes3d;662 md.mesh.lowervertex= mesh.lowervertex;663 md.mesh.uppervertex= mesh.uppervertex;658 lowervertex=NaN*ones(number_nodes3d,1); 659 uppervertex=NaN*ones(number_nodes3d,1); 660 lowervertex(md.mesh.numberofvertices+1:end)=1:(numlayers-1)*md.mesh.numberofvertices; 661 uppervertex(1:(numlayers-1)*md.mesh.numberofvertices)=md.mesh.numberofvertices+1:number_nodes3d; 662 md.mesh.lowervertex=lowervertex; 663 md.mesh.uppervertex=uppervertex; 664 664 665 665 %same for lower and upper elements 666 mesh.lowerelements=NaN*ones(number_el3d,1);667 mesh.upperelements=NaN*ones(number_el3d,1);668 mesh.lowerelements(md.mesh.numberofelements+1:end)=1:(numlayers-2)*md.mesh.numberofelements;669 mesh.upperelements(1:(numlayers-2)*md.mesh.numberofelements)=md.mesh.numberofelements+1:(numlayers-1)*md.mesh.numberofelements;670 md.mesh.lowerelements= mesh.lowerelements;671 md.mesh.upperelements= mesh.upperelements;666 lowerelements=NaN*ones(number_el3d,1); 667 upperelements=NaN*ones(number_el3d,1); 668 lowerelements(md.mesh.numberofelements+1:end)=1:(numlayers-2)*md.mesh.numberofelements; 669 upperelements(1:(numlayers-2)*md.mesh.numberofelements)=md.mesh.numberofelements+1:(numlayers-1)*md.mesh.numberofelements; 670 md.mesh.lowerelements=lowerelements; 671 md.mesh.upperelements=upperelements; 672 672 673 673 %Save old mesh … … 793 793 md.gia.lithosphere_thickness=project3d(md,'vector',md.gia.lithosphere_thickness,'type','node'); 794 794 md.geometry.hydrostatic_ratio=project3d(md,'vector',md.geometry.hydrostatic_ratio,'type','node'); 795 md.geometry.base=project3d(md,'vector',md.geometry.base,'type','node'); 795 796 md.geometry.bed=project3d(md,'vector',md.geometry.bed,'type','node'); 796 md.geometry.bathymetry=project3d(md,'vector',md.geometry.bathymetry,'type','node');797 797 md.mesh.vertexonboundary=project3d(md,'vector',md.mesh.vertexonboundary,'type','node'); 798 798 md.mask.groundedice_levelset=project3d(md,'vector',md.mask.groundedice_levelset,'type','node'); … … 925 925 if isfield(structmd,'watercolumn'), md.initialization.watercolumn=structmd.watercolumn; end 926 926 if isfield(structmd,'surface'), md.geometry.surface=structmd.surface; end 927 if isfield(structmd,'bed'), md.geometry.b ed=structmd.bed; end927 if isfield(structmd,'bed'), md.geometry.base=structmd.bed; end 928 928 if isfield(structmd,'thickness'), md.geometry.thickness=structmd.thickness; end 929 if isfield(structmd,'bathymetry'), md.geometry.b athymetry=structmd.bathymetry; end929 if isfield(structmd,'bathymetry'), md.geometry.bed=structmd.bathymetry; end 930 930 if isfield(structmd,'thickness_coeff'), md.geometry.hydrostatic_ratio=structmd.thickness_coeff; end 931 931 if isfield(structmd,'connectivity'), md.mesh.average_vertex_connectivity=structmd.connectivity; end -
issm/trunk-jpl/src/m/classes/model.py
r17588 r17590 528 528 z3d=numpy.empty((0)) #the lower node is on the bed 529 529 thickness3d=md.geometry.thickness #thickness and bed for these nodes 530 bed3d=md.geometry.b ed530 bed3d=md.geometry.base 531 531 532 532 #Create the new layers … … 545 545 546 546 #Keep a trace of lower and upper nodes 547 mesh.lowervertex=-1*numpy.ones(number_nodes3d,int)548 mesh.uppervertex=-1*numpy.ones(number_nodes3d,int)549 mesh.lowervertex[md.mesh.numberofvertices:]=numpy.arange(1,(numlayers-1)*md.mesh.numberofvertices+1)550 mesh.uppervertex[:(numlayers-1)*md.mesh.numberofvertices]=numpy.arange(md.mesh.numberofvertices+1,number_nodes3d+1)551 md.mesh.lowervertex= mesh.lowervertex552 md.mesh.uppervertex= mesh.uppervertex547 lowervertex=-1*numpy.ones(number_nodes3d,int) 548 uppervertex=-1*numpy.ones(number_nodes3d,int) 549 lowervertex[md.mesh.numberofvertices:]=numpy.arange(1,(numlayers-1)*md.mesh.numberofvertices+1) 550 uppervertex[:(numlayers-1)*md.mesh.numberofvertices]=numpy.arange(md.mesh.numberofvertices+1,number_nodes3d+1) 551 md.mesh.lowervertex=lowervertex 552 md.mesh.uppervertex=uppervertex 553 553 554 554 #same for lower and upper elements 555 mesh.lowerelements=-1*numpy.ones(number_el3d,int)556 mesh.upperelements=-1*numpy.ones(number_el3d,int)557 mesh.lowerelements[md.mesh.numberofelements:]=numpy.arange(1,(numlayers-2)*md.mesh.numberofelements+1)558 mesh.upperelements[:(numlayers-2)*md.mesh.numberofelements]=numpy.arange(md.mesh.numberofelements+1,(numlayers-1)*md.mesh.numberofelements+1)559 md.mesh.lowerelements= mesh.lowerelements560 md.mesh.upperelements= mesh.upperelements555 lowerelements=-1*numpy.ones(number_el3d,int) 556 upperelements=-1*numpy.ones(number_el3d,int) 557 lowerelements[md.mesh.numberofelements:]=numpy.arange(1,(numlayers-2)*md.mesh.numberofelements+1) 558 upperelements[:(numlayers-2)*md.mesh.numberofelements]=numpy.arange(md.mesh.numberofelements+1,(numlayers-1)*md.mesh.numberofelements+1) 559 md.mesh.lowerelements=lowerelements 560 md.mesh.upperelements=upperelements 561 561 562 562 #Save old mesh … … 674 674 md.gia.lithosphere_thickness=project3d(md,'vector',md.gia.lithosphere_thickness,'type','node') 675 675 md.geometry.hydrostatic_ratio=project3d(md,'vector',md.geometry.hydrostatic_ratio,'type','node') 676 md.geometry.base=project3d(md,'vector',md.geometry.base,'type','node') 676 677 md.geometry.bed=project3d(md,'vector',md.geometry.bed,'type','node') 677 md.geometry.bathymetry=project3d(md,'vector',md.geometry.bathymetry,'type','node')678 678 md.mesh.vertexonboundary=project3d(md,'vector',md.mesh.vertexonboundary,'type','node') 679 679 md.mask.ice_levelset=project3d(md,'vector',md.mask.ice_levelset,'type','node') -
issm/trunk-jpl/src/m/contrib/hydrology/effectivepressure.m
r13007 r17590 8 8 % Neff=effectivepressure(md) 9 9 10 Neff=md.materials.rho_ice*md.constants.g*md.geometry.thickness+md.materials.rho_ice*md.constants.g*md.geometry.b ed;10 Neff=md.materials.rho_ice*md.constants.g*md.geometry.thickness+md.materials.rho_ice*md.constants.g*md.geometry.base; 11 11 pos=find(Neff<0); 12 12 Neff(pos)=0; -
issm/trunk-jpl/src/m/geometry/ThicknessCorrection.m
r15987 r17590 75 75 md.geometry.thickness=thickness; 76 76 md.geometry.hydrostatic_ratio=hydrostatic_ratio; 77 md.geometry.b ed=md.geometry.surface-md.geometry.thickness;77 md.geometry.base=md.geometry.surface-md.geometry.thickness; -
issm/trunk-jpl/src/m/interp/ProfileValues.m
r13008 r17590 11 11 %Get bed and surface for each 2d point, offset to make sure that it is inside the glacier system 12 12 offset=10^-3; 13 bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.b ed,1),xprof,yprof)+offset;13 bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.base,1),xprof,yprof)+offset; 14 14 surface=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.surface,1),xprof,yprof)-offset; 15 15 -
issm/trunk-jpl/src/m/interp/SectionValues.m
r17559 r17590 94 94 %Get bed and surface for each 2d point, offset to make sure that it is inside the glacier system 95 95 offset=10^-3; 96 bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.b ed,1),X,Y)+offset;96 bed=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.base,1),X,Y)+offset; 97 97 surface=InterpFromMeshToMesh2d(md.mesh.elements2d,md.mesh.x2d,md.mesh.y2d,project2d(md,md.geometry.surface,1),X,Y)-offset; 98 98 -
issm/trunk-jpl/src/m/mech/basalstress.m
r13646 r17590 17 17 18 18 %compute basal drag 19 bx=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.b ed)).^r.*(md.friction.coefficient).^2.*ubx.^s;20 by=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.b ed)).^r.*(md.friction.coefficient).^2.*uby.^s;21 b=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.b ed)).^r.*(md.friction.coefficient).^2.*ub.^s;19 bx=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)).^r.*(md.friction.coefficient).^2.*ubx.^s; 20 by=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)).^r.*(md.friction.coefficient).^2.*uby.^s; 21 b=(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base)).^r.*(md.friction.coefficient).^2.*ub.^s; -
issm/trunk-jpl/src/m/plot/plot_basaldrag.m
r17559 r17590 30 30 31 31 %compute basal drag 32 drag=(max(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.b ed),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000;32 drag=(max(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base),0)).^r.*(md.friction.coefficient).^2.*ub.^s/1000; 33 33 34 34 %Figure out if this is a Section plot -
issm/trunk-jpl/test/NightlyRun/test217.m
r17119 r17590 22 22 h=1000; 23 23 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 24 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;25 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;24 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 25 md.geometry.surface=md.geometry.base+md.geometry.thickness; 26 26 27 27 %Initial velocity and pressure -
issm/trunk-jpl/test/NightlyRun/test217.py
r17499 r17590 34 34 h=1000. 35 35 md.geometry.thickness=h*ones((md.mesh.numberofvertices,1)) 36 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness37 md.geometry.surface=md.geometry.b ed+md.geometry.thickness36 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 37 md.geometry.surface=md.geometry.base+md.geometry.thickness 38 38 39 39 # Initial velocity and pressure -
issm/trunk-jpl/test/NightlyRun/test218.m
r15771 r17590 19 19 h=1000; 20 20 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 21 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;22 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;21 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 22 md.geometry.surface=md.geometry.base+md.geometry.thickness; 23 23 24 24 %Initial velocity and pressure -
issm/trunk-jpl/test/NightlyRun/test223.m
r17555 r17590 3 3 md=parameterize(md,'../Par/SquareShelf.par'); 4 4 md=setflowequation(md,'SSA','all'); 5 md.geometry.b ed=md.geometry.bed+50.; md.geometry.surface=md.geometry.surface+50.;5 md.geometry.base=md.geometry.base+50.; md.geometry.surface=md.geometry.surface+50.; 6 6 md.cluster=generic('name',oshostname(),'np',1); 7 7 md.masstransport.hydrostatic_adjustment='Incremental'; -
issm/trunk-jpl/test/NightlyRun/test223.py
r17555 r17590 12 12 md=parameterize(md,'../Par/SquareShelf.py') 13 13 md=setflowequation(md,'SSA','all') 14 md.geometry.b ed=md.geometry.bed+50.14 md.geometry.base=md.geometry.base+50. 15 15 md.geometry.surface=md.geometry.surface+50. 16 16 md.cluster=generic('name',oshostname(),'np',1) -
issm/trunk-jpl/test/NightlyRun/test225.m
r17555 r17590 2 2 md=setmask(md,'all',''); 3 3 md=parameterize(md,'../Par/SquareShelf.par'); 4 md.geometry.b ed=md.geometry.bed+50.; md.geometry.surface=md.geometry.surface+50.;4 md.geometry.base=md.geometry.base+50.; md.geometry.surface=md.geometry.surface+50.; 5 5 md=extrude(md,3,1.); 6 6 md=setflowequation(md,'HO','all'); -
issm/trunk-jpl/test/NightlyRun/test225.py
r17555 r17590 11 11 md=setmask(md,'all','') 12 12 md=parameterize(md,'../Par/SquareShelf.py') 13 md.geometry.b ed=md.geometry.bed+50.13 md.geometry.base=md.geometry.base+50. 14 14 md.geometry.surface=md.geometry.surface+50. 15 15 md.extrude(3,1.) -
issm/trunk-jpl/test/NightlyRun/test3015.m
r16363 r17590 38 38 md.autodiff.isautodiff=false; 39 39 md.geometry.thickness(index)=h0; 40 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;41 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;40 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 41 md.geometry.surface=md.geometry.base+md.geometry.thickness; 42 42 md=SetIceShelfBC(md); 43 43 … … 49 49 md.autodiff.isautodiff=false; 50 50 md.geometry.thickness(index)=h2; 51 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;52 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;51 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 52 md.geometry.surface=md.geometry.base+md.geometry.thickness; 53 53 md=SetIceShelfBC(md); 54 54 … … 63 63 md.autodiff.isautodiff=true; 64 64 md.geometry.thickness(index)=h1; 65 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;66 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;65 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 66 md.geometry.surface=md.geometry.base+md.geometry.thickness; 67 67 md=SetIceShelfBC(md); 68 68 -
issm/trunk-jpl/test/NightlyRun/test3015.py
r16363 r17590 52 52 md.autodiff.isautodiff=False 53 53 md.geometry.thickness[index]=h0 54 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness55 md.geometry.surface=md.geometry.b ed+md.geometry.thickness54 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 55 md.geometry.surface=md.geometry.base+md.geometry.thickness 56 56 md=SetIceShelfBC(md) 57 57 … … 63 63 md.autodiff.isautodiff=False 64 64 md.geometry.thickness[index]=h2 65 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness66 md.geometry.surface=md.geometry.b ed+md.geometry.thickness65 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 66 md.geometry.surface=md.geometry.base+md.geometry.thickness 67 67 md=SetIceShelfBC(md) 68 68 … … 77 77 md.autodiff.isautodiff=True 78 78 md.geometry.thickness[index]=h1 79 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness80 md.geometry.surface=md.geometry.b ed+md.geometry.thickness79 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 80 md.geometry.surface=md.geometry.base+md.geometry.thickness 81 81 md=SetIceShelfBC(md) 82 82 -
issm/trunk-jpl/test/NightlyRun/test3020.m
r16363 r17590 40 40 md.autodiff.isautodiff=false; 41 41 md.geometry.thickness(index)=h0; 42 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;43 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;42 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 43 md.geometry.surface=md.geometry.base+md.geometry.thickness; 44 44 md=SetIceShelfBC(md); 45 45 … … 52 52 md.autodiff.isautodiff=false; 53 53 md.geometry.thickness(index)=h2; 54 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;55 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;54 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 55 md.geometry.surface=md.geometry.base+md.geometry.thickness; 56 56 md=SetIceShelfBC(md); 57 57 … … 68 68 md.autodiff.isautodiff=true; 69 69 md.geometry.thickness(index)=h1; 70 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;71 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;70 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 71 md.geometry.surface=md.geometry.base+md.geometry.thickness; 72 72 md=SetIceShelfBC(md); 73 73 -
issm/trunk-jpl/test/NightlyRun/test3020.py
r16363 r17590 54 54 md.autodiff.isautodiff=False 55 55 md.geometry.thickness[index]=h0 56 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness57 md.geometry.surface=md.geometry.b ed+md.geometry.thickness56 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 57 md.geometry.surface=md.geometry.base+md.geometry.thickness 58 58 md=SetIceShelfBC(md) 59 59 … … 66 66 md.autodiff.isautodiff=False 67 67 md.geometry.thickness[index]=h2 68 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness69 md.geometry.surface=md.geometry.b ed+md.geometry.thickness68 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 69 md.geometry.surface=md.geometry.base+md.geometry.thickness 70 70 md=SetIceShelfBC(md) 71 71 … … 82 82 md.autodiff.isautodiff=True 83 83 md.geometry.thickness[index]=h1 84 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness85 md.geometry.surface=md.geometry.b ed+md.geometry.thickness84 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 85 md.geometry.surface=md.geometry.base+md.geometry.thickness 86 86 md=SetIceShelfBC(md) 87 87 -
issm/trunk-jpl/test/NightlyRun/test423.m
r17060 r17590 34 34 vel_soft=(md.results.TransientSolution.Vel); 35 35 36 md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.ba thymetry;36 md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.base; 37 37 md.groundingline.migration='SubelementMigration'; 38 38 md=solve(md,TransientSolutionEnum()); -
issm/trunk-jpl/test/NightlyRun/test423.py
r16938 r17590 45 45 vel_soft=md.results.TransientSolution[0].Vel 46 46 47 md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.ba thymetry47 md.mask.groundedice_levelset=md.geometry.thickness + md.materials.rho_water/md.materials.rho_ice*md.geometry.base 48 48 md.groundingline.migration='SubelementMigration' 49 49 md=solve(md,TransientSolutionEnum()) -
issm/trunk-jpl/test/NightlyRun/test424.m
r17555 r17590 5 5 md.initialization.vx(:)=0.; 6 6 md.initialization.vy(:)=0.; 7 md.geometry.b ed=-700.-abs(md.mesh.y-500000.)/1000.;8 md.geometry.ba thymetry=-700.-abs(md.mesh.y-500000.)/1000.;7 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 8 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 9 9 md.geometry.thickness(:)=1000.; 10 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;10 md.geometry.surface=md.geometry.base+md.geometry.thickness; 11 11 md.surfaceforcings.mass_balance(:)=100.; 12 12 md.transient.isstressbalance=0; -
issm/trunk-jpl/test/NightlyRun/test424.py
r17555 r17590 15 15 md.initialization.vx[:]=0. 16 16 md.initialization.vy[:]=0. 17 md.geometry.b ed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.18 md.geometry.ba thymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.17 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 18 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 19 19 md.geometry.thickness[:]=1000. 20 md.geometry.surface=md.geometry.b ed+md.geometry.thickness20 md.geometry.surface=md.geometry.base+md.geometry.thickness 21 21 md.surfaceforcings.mass_balance[:]=100. 22 22 md.transient.isstressbalance=False -
issm/trunk-jpl/test/NightlyRun/test425.m
r17555 r17590 5 5 md.initialization.vx(:)=0.; 6 6 md.initialization.vy(:)=0.; 7 md.geometry.b ed=-700.-abs(md.mesh.y-500000.)/1000.;8 md.geometry.ba thymetry=-700.-abs(md.mesh.y-500000.)/1000.;7 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 8 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 9 9 md.geometry.thickness(:)=1300.; 10 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;10 md.geometry.surface=md.geometry.base+md.geometry.thickness; 11 11 md.surfaceforcings.mass_balance(:)=-150.; 12 12 md.transient.isstressbalance=0; -
issm/trunk-jpl/test/NightlyRun/test425.py
r17555 r17590 15 15 md.initialization.vx[:]=0. 16 16 md.initialization.vy[:]=0. 17 md.geometry.b ed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.18 md.geometry.ba thymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.17 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 18 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 19 19 md.geometry.thickness[:]=1300. 20 md.geometry.surface=md.geometry.b ed+md.geometry.thickness20 md.geometry.surface=md.geometry.base+md.geometry.thickness 21 21 md.surfaceforcings.mass_balance[:]=-150. 22 22 md.transient.isstressbalance=False -
issm/trunk-jpl/test/NightlyRun/test426.m
r17555 r17590 4 4 md.initialization.vx(:)=0.; 5 5 md.initialization.vy(:)=0.; 6 md.geometry.b ed=-700.-abs(md.mesh.y-500000.)/1000.;7 md.geometry.ba thymetry=-700.-abs(md.mesh.y-500000.)/1000.;6 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 7 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 8 8 md.geometry.thickness(:)=1000.; 9 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;9 md.geometry.surface=md.geometry.base+md.geometry.thickness; 10 10 md.surfaceforcings.mass_balance(:)=100.; 11 11 md=extrude(md,3,1.); -
issm/trunk-jpl/test/NightlyRun/test426.py
r17555 r17590 14 14 md.initialization.vx[:]=0. 15 15 md.initialization.vy[:]=0. 16 md.geometry.b ed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.17 md.geometry.ba thymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.16 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 17 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 18 18 md.geometry.thickness[:]=1000. 19 md.geometry.surface=md.geometry.b ed+md.geometry.thickness19 md.geometry.surface=md.geometry.base+md.geometry.thickness 20 20 md.surfaceforcings.mass_balance[:]=100. 21 21 md.extrude(3,1.); -
issm/trunk-jpl/test/NightlyRun/test427.m
r17555 r17590 4 4 md.initialization.vx(:)=0.; 5 5 md.initialization.vy(:)=0.; 6 md.geometry.b ed=-700.-abs(md.mesh.y-500000.)/1000.;7 md.geometry.ba thymetry=-700.-abs(md.mesh.y-500000.)/1000.;6 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 7 md.geometry.base=-700.-abs(md.mesh.y-500000.)/1000.; 8 8 md.geometry.thickness(:)=1300; 9 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;9 md.geometry.surface=md.geometry.base+md.geometry.thickness; 10 10 md=setflowequation(md,'SSA','all'); 11 11 md=extrude(md,3,1.); -
issm/trunk-jpl/test/NightlyRun/test427.py
r17555 r17590 14 14 md.initialization.vx[:]=0. 15 15 md.initialization.vy[:]=0. 16 md.geometry.b ed=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.17 md.geometry.ba thymetry=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000.16 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 17 md.geometry.base=-700.-abs(md.mesh.y.reshape(-1,1)-500000.)/1000. 18 18 md.geometry.thickness[:]=1300 19 md.geometry.surface=md.geometry.b ed+md.geometry.thickness19 md.geometry.surface=md.geometry.base+md.geometry.thickness 20 20 md=setflowequation(md,'SSA','all') 21 21 md.extrude(3,1.) -
issm/trunk-jpl/test/NightlyRun/test435.m
r17573 r17590 5 5 md.initialization.vy(:)=1.; 6 6 md.geometry.thickness(:)=500-md.mesh.x/10000; 7 md.geometry.ba thymetry=-100-md.mesh.x/1000;8 md.geometry.b ed=-md.geometry.thickness*md.materials.rho_ice/md.materials.rho_water;9 md.mask.groundedice_levelset=md.geometry.thickness+md.materials.rho_water/md.materials.rho_ice*md.geometry.ba thymetry;7 md.geometry.base=-100-md.mesh.x/1000; 8 md.geometry.base=-md.geometry.thickness*md.materials.rho_ice/md.materials.rho_water; 9 md.mask.groundedice_levelset=md.geometry.thickness+md.materials.rho_water/md.materials.rho_ice*md.geometry.base; 10 10 pos=find(md.mask.groundedice_levelset>=0); 11 md.geometry.b ed(pos)=md.geometry.bathymetry(pos);12 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;11 md.geometry.base(pos)=md.geometry.base(pos); 12 md.geometry.surface=md.geometry.base+md.geometry.thickness; 13 13 md=extrude(md,4,1.); 14 14 md=setflowequation(md,'HO','all'); -
issm/trunk-jpl/test/NightlyRun/test511.m
r17205 r17590 4 4 5 5 %impose hydrostatic equilibrium (required by Stokes) 6 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;7 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;6 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 7 md.geometry.surface=md.geometry.base+md.geometry.thickness; 8 8 md=extrude(md,3,1.); 9 9 md=setflowequation(md,'FS','all'); -
issm/trunk-jpl/test/NightlyRun/test511.py
r17205 r17590 14 14 15 15 #impose hydrostatic equilibrium (required by Stokes) 16 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness17 md.geometry.surface=md.geometry.b ed+md.geometry.thickness16 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 17 md.geometry.surface=md.geometry.base+md.geometry.thickness 18 18 md.extrude(3,1.) 19 19 md=setflowequation(md,'FS','all') -
issm/trunk-jpl/test/NightlyRun/test701.m
r17119 r17590 7 7 %Geometry 8 8 md.geometry.surface = interp1(x,b+h,md.mesh.x); 9 md.geometry.b ed= interp1(x,b,md.mesh.x);10 md.geometry.thickness = md.geometry.surface-md.geometry.b ed;9 md.geometry.base = interp1(x,b,md.mesh.x); 10 md.geometry.thickness = md.geometry.surface-md.geometry.base; 11 11 12 12 %mask -
issm/trunk-jpl/test/NightlyRun/test702.m
r17119 r17590 11 11 %parameterize 12 12 md.geometry.surface = interp1(x,b+h,md.mesh.x); 13 md.geometry.b ed= interp1(x,b,md.mesh.x);14 md.geometry.thickness = md.geometry.surface-md.geometry.b ed;13 md.geometry.base = interp1(x,b,md.mesh.x); 14 md.geometry.thickness = md.geometry.surface-md.geometry.base; 15 15 md.mask.ice_levelset = - ones(md.mesh.numberofvertices,1); 16 16 md.mask.ice_levelset(find(vertexflags(md.mesh,2))) = 0; -
issm/trunk-jpl/test/NightlyRun/test703.m
r17555 r17590 11 11 %parameterize 12 12 md.geometry.surface = interp1(x,b+h,md.mesh.x); 13 md.geometry.b ed= interp1(x,b,md.mesh.x);14 md.geometry.thickness = md.geometry.surface-md.geometry.b ed;13 md.geometry.base = interp1(x,b,md.mesh.x); 14 md.geometry.thickness = md.geometry.surface-md.geometry.base; 15 15 md.mask.ice_levelset = - ones(md.mesh.numberofvertices,1); 16 16 md.mask.ice_levelset(find(vertexflags(md.mesh,2))) = 0; -
issm/trunk-jpl/test/Par/79North.par
r16167 r17590 13 13 md.geometry.surface =InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y); 14 14 md.geometry.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y); 15 md.geometry.b ed=md.geometry.surface-md.geometry.thickness;15 md.geometry.base=md.geometry.surface-md.geometry.thickness; 16 16 clear surface thickness vx vy x y index; 17 17 -
issm/trunk-jpl/test/Par/79North.py
r16171 r17590 25 25 [md.geometry.surface] = InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y) 26 26 [md.geometry.thickness] = InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y) 27 md.geometry.b ed= md.geometry.surface-md.geometry.thickness27 md.geometry.base = md.geometry.surface-md.geometry.thickness 28 28 29 29 #Materials -
issm/trunk-jpl/test/Par/GiaBenchmarksAB.par
r16167 r17590 11 11 end 12 12 md.geometry.thickness=md.geometry.thickness'; 13 md.geometry.b ed=zeros(md.mesh.numberofvertices,1);14 md.geometry.surface=md.geometry.thickness+md.geometry.b ed;13 md.geometry.base=zeros(md.mesh.numberofvertices,1); 14 md.geometry.surface=md.geometry.thickness+md.geometry.base; 15 15 16 16 %Ice density used for benchmarking, not 917 kg/m^3 -
issm/trunk-jpl/test/Par/GiaBenchmarksCD.par
r16167 r17590 11 11 end 12 12 md.geometry.thickness=md.geometry.thickness'; 13 md.geometry.b ed=zeros(md.mesh.numberofvertices,1);14 md.geometry.surface=md.geometry.thickness+md.geometry.b ed;13 md.geometry.base=zeros(md.mesh.numberofvertices,1); 14 md.geometry.surface=md.geometry.thickness+md.geometry.base; 15 15 16 16 %Ice density used for benchmarking, not 917 kg/m^3 -
issm/trunk-jpl/test/Par/ISMIPA.par
r16167 r17590 3 3 disp(' creating thickness'); 4 4 md.geometry.surface=-md.mesh.x*tan(0.5*pi/180.); 5 md.geometry.b ed=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x)).*sin(md.mesh.y*2.*pi/max(md.mesh.x));6 md.geometry.thickness=md.geometry.surface-md.geometry.b ed;5 md.geometry.base=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x)).*sin(md.mesh.y*2.*pi/max(md.mesh.x)); 6 md.geometry.thickness=md.geometry.surface-md.geometry.base; 7 7 8 8 disp(' creating drag'); -
issm/trunk-jpl/test/Par/ISMIPA.py
r16170 r17590 6 6 print " creating thickness" 7 7 md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(0.5*numpy.pi/180.) 8 md.geometry.b ed=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))9 md.geometry.thickness=md.geometry.surface-md.geometry.b ed8 md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x)) 9 md.geometry.thickness=md.geometry.surface-md.geometry.base 10 10 11 11 print " creating drag" -
issm/trunk-jpl/test/Par/ISMIPB.par
r16167 r17590 3 3 disp(' creating thickness'); 4 4 md.geometry.surface=-md.mesh.x*tan(0.5*pi/180.); 5 md.geometry.b ed=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x));6 md.geometry.thickness=md.geometry.surface-md.geometry.b ed;5 md.geometry.base=md.geometry.surface-1000.+500.*sin(md.mesh.x*2.*pi/max(md.mesh.x)); 6 md.geometry.thickness=md.geometry.surface-md.geometry.base; 7 7 8 8 disp(' creating drag'); -
issm/trunk-jpl/test/Par/ISMIPB.py
r16170 r17590 6 6 print " creating thickness" 7 7 md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(0.5*numpy.pi/180.) 8 md.geometry.b ed=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))9 md.geometry.thickness=md.geometry.surface-md.geometry.b ed8 md.geometry.base=md.geometry.surface-1000.+500.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x)) 9 md.geometry.thickness=md.geometry.surface-md.geometry.base 10 10 11 11 print " creating drag" -
issm/trunk-jpl/test/Par/ISMIPC.par
r16167 r17590 3 3 disp(' creating thickness'); 4 4 md.geometry.surface=2000.-md.mesh.x*tan(0.1*pi/180.); %to have z>0 5 md.geometry.b ed=md.geometry.surface-1000.;6 md.geometry.thickness=md.geometry.surface-md.geometry.b ed;5 md.geometry.base=md.geometry.surface-1000.; 6 md.geometry.thickness=md.geometry.surface-md.geometry.base; 7 7 8 8 disp(' creating drag'); 9 %md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.b ed)));9 %md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base))); 10 10 md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x)).*sin(md.mesh.y*2.*pi/max(md.mesh.x)))); 11 11 md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.; -
issm/trunk-jpl/test/Par/ISMIPC.py
r16170 r17590 6 6 print " creating thickness" 7 7 md.geometry.surface=2000.-md.mesh.x.reshape(-1,1)*numpy.tan(0.1*numpy.pi/180.) #to have z>0 8 md.geometry.b ed=md.geometry.surface-1000.9 md.geometry.thickness=md.geometry.surface-md.geometry.b ed8 md.geometry.base=md.geometry.surface-1000. 9 md.geometry.thickness=md.geometry.surface-md.geometry.base 10 10 11 11 print " creating drag" 12 #md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.b ed)));12 #md.friction.coefficient=sqrt(md.constants.yts.*(1000.+1000.*sin(md.mesh.x*2.*pi/max(md.mesh.x/2.)).*sin(md.mesh.y*2.*pi/max(md.mesh.x/2.)))./(md.constants.g*(md.materials.rho_ice*md.geometry.thickness+md.materials.rho_water*md.geometry.base))); 13 13 md.friction.coefficient=numpy.sqrt(md.constants.yts*(1000.+1000.*numpy.sin(md.mesh.x.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x))*numpy.sin(md.mesh.y.reshape(-1,1)*2.*numpy.pi/numpy.max(md.mesh.x)))) 14 14 md.friction.coefficient[numpy.nonzero(md.mask.groundedice_levelset<0.)[0]]=0. -
issm/trunk-jpl/test/Par/ISMIPD.par
r16167 r17590 3 3 disp(' creating thickness'); 4 4 md.geometry.surface=2000.-md.mesh.x*tan(0.1*pi/180.); %to have z>0 5 md.geometry.b ed=md.geometry.surface-1000.;6 md.geometry.thickness=md.geometry.surface-md.geometry.b ed;5 md.geometry.base=md.geometry.surface-1000.; 6 md.geometry.thickness=md.geometry.surface-md.geometry.base; 7 7 8 8 disp(' creating drag'); -
issm/trunk-jpl/test/Par/ISMIPD.py
r16170 r17590 6 6 print " creating thickness" 7 7 md.geometry.surface=2000.-md.mesh.x.reshape(-1,1)*numpy.tan(0.1*numpy.pi/180.) #to have z>0 8 md.geometry.b ed=md.geometry.surface-1000.9 md.geometry.thickness=md.geometry.surface-md.geometry.b ed8 md.geometry.base=md.geometry.surface-1000. 9 md.geometry.thickness=md.geometry.surface-md.geometry.base 10 10 11 11 print " creating drag" -
issm/trunk-jpl/test/Par/ISMIPE.par
r16167 r17590 4 4 data=transpose(ncread('../Data/ISMIPE.nc','data')); 5 5 md.geometry.surface=zeros(md.mesh.numberofvertices,1); 6 md.geometry.b ed=zeros(md.mesh.numberofvertices,1);6 md.geometry.base=zeros(md.mesh.numberofvertices,1); 7 7 for i=1:md.mesh.numberofvertices 8 8 y=md.mesh.y(i); … … 10 10 point2=min(point1+1,51); 11 11 coeff=(y-(point1-1.)*100.)/100.; 12 md.geometry.b ed(i)=(1.-coeff)*data(point1,2)+coeff*data(point2,2);12 md.geometry.base(i)=(1.-coeff)*data(point1,2)+coeff*data(point2,2); 13 13 md.geometry.surface(i)=(1.-coeff)*data(point1,3)+coeff*data(point2,3); 14 14 end 15 md.geometry.thickness=md.geometry.surface-md.geometry.b ed;15 md.geometry.thickness=md.geometry.surface-md.geometry.base; 16 16 md.geometry.thickness(find(~md.geometry.thickness))=0.01; 17 md.geometry.b ed=md.geometry.surface-md.geometry.thickness;17 md.geometry.base=md.geometry.surface-md.geometry.thickness; 18 18 19 19 disp(' creating drag'); -
issm/trunk-jpl/test/Par/ISMIPE.py
r16170 r17590 10 10 f.close() 11 11 md.geometry.surface=numpy.zeros((md.mesh.numberofvertices,1)) 12 md.geometry.b ed=numpy.zeros((md.mesh.numberofvertices,1))12 md.geometry.base=numpy.zeros((md.mesh.numberofvertices,1)) 13 13 for i in xrange(0,md.mesh.numberofvertices): 14 14 y=md.mesh.y[i] … … 16 16 point2=numpy.minimum(point1+1,50) 17 17 coeff=(y-(point1-1.)*100.)/100. 18 md.geometry.b ed[i]=(1.-coeff)*data[point1,1]+coeff*data[point2,1]18 md.geometry.base[i]=(1.-coeff)*data[point1,1]+coeff*data[point2,1] 19 19 md.geometry.surface[i]=(1.-coeff)*data[point1,2]+coeff*data[point2,2] 20 md.geometry.thickness=md.geometry.surface-md.geometry.b ed20 md.geometry.thickness=md.geometry.surface-md.geometry.base 21 21 md.geometry.thickness[numpy.nonzero(numpy.logical_not(md.geometry.thickness))]=0.01 22 md.geometry.b ed=md.geometry.surface-md.geometry.thickness22 md.geometry.base=md.geometry.surface-md.geometry.thickness 23 23 24 24 print " creating drag" -
issm/trunk-jpl/test/Par/ISMIPF.par
r16167 r17590 4 4 disp(' creating thickness'); 5 5 md.geometry.surface=-md.mesh.x*tan(3.*pi/180.); 6 %md.geometry.b ed=md.geometry.surface-1000.;7 md.geometry.b ed=md.geometry.surface-1000.+100.*exp(-((md.mesh.x-max(md.mesh.x)/2.).^2+(md.mesh.y-max(md.mesh.y)/2.).^2)/(10000.^2));8 md.geometry.thickness=md.geometry.surface-md.geometry.b ed;6 %md.geometry.base=md.geometry.surface-1000.; 7 md.geometry.base=md.geometry.surface-1000.+100.*exp(-((md.mesh.x-max(md.mesh.x)/2.).^2+(md.mesh.y-max(md.mesh.y)/2.).^2)/(10000.^2)); 8 md.geometry.thickness=md.geometry.surface-md.geometry.base; 9 9 10 10 disp(' creating drag'); -
issm/trunk-jpl/test/Par/ISMIPF.py
r16170 r17590 7 7 print " creating thickness" 8 8 md.geometry.surface=-md.mesh.x.reshape(-1,1)*numpy.tan(3.*numpy.pi/180.) 9 #md.geometry.b ed=md.geometry.surface-1000.10 md.geometry.b ed=md.geometry.surface-1000.+100.*numpy.exp(-((md.mesh.x.reshape(-1,1)-numpy.max(md.mesh.x)/2.)**2+(md.mesh.y.reshape(-1,1)-numpy.max(md.mesh.y)/2.)**2)/(10000.**2))11 md.geometry.thickness=md.geometry.surface-md.geometry.b ed9 #md.geometry.base=md.geometry.surface-1000. 10 md.geometry.base=md.geometry.surface-1000.+100.*numpy.exp(-((md.mesh.x.reshape(-1,1)-numpy.max(md.mesh.x)/2.)**2+(md.mesh.y.reshape(-1,1)-numpy.max(md.mesh.y)/2.)**2)/(10000.**2)) 11 md.geometry.thickness=md.geometry.surface-md.geometry.base 12 12 13 13 print " creating drag" -
issm/trunk-jpl/test/Par/Pig.par
r16167 r17590 13 13 md.geometry.surface =InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y); 14 14 md.geometry.thickness=InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y); 15 md.geometry.b ed=md.geometry.surface-md.geometry.thickness;15 md.geometry.base=md.geometry.surface-md.geometry.thickness; 16 16 clear surface thickness vx_obs vy_obs x y index; 17 17 md.initialization.vx=md.inversion.vx_obs; -
issm/trunk-jpl/test/Par/Pig.py
r16171 r17590 25 25 [md.geometry.surface] =InterpFromMeshToMesh2d(index,x,y,surface,md.mesh.x,md.mesh.y) 26 26 [md.geometry.thickness]=InterpFromMeshToMesh2d(index,x,y,thickness,md.mesh.x,md.mesh.y) 27 md.geometry.b ed=md.geometry.surface-md.geometry.thickness27 md.geometry.base=md.geometry.surface-md.geometry.thickness 28 28 md.initialization.vx=md.inversion.vx_obs 29 29 md.initialization.vy=md.inversion.vy_obs -
issm/trunk-jpl/test/Par/RoundSheetEISMINT.par
r16167 r17590 2 2 disp(' creating thickness'); 3 3 md.geometry.thickness=10.*ones(md.mesh.numberofvertices,1); 4 md.geometry.b ed=zeros(md.mesh.numberofvertices,1);5 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;4 md.geometry.base=zeros(md.mesh.numberofvertices,1); 5 md.geometry.surface=md.geometry.base+md.geometry.thickness; 6 6 7 7 disp(' creating drag'); -
issm/trunk-jpl/test/Par/RoundSheetEISMINT.py
r16170 r17590 5 5 print " creating thickness" 6 6 md.geometry.thickness=10.*numpy.ones((md.mesh.numberofvertices,1)) 7 md.geometry.b ed=numpy.zeros((md.mesh.numberofvertices,1))8 md.geometry.surface=md.geometry.b ed+md.geometry.thickness7 md.geometry.base=numpy.zeros((md.mesh.numberofvertices,1)) 8 md.geometry.surface=md.geometry.base+md.geometry.thickness 9 9 10 10 print " creating drag" -
issm/trunk-jpl/test/Par/RoundSheetShelf.par
r16207 r17590 11 11 ymax=max(radius); 12 12 md.geometry.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin); 13 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;13 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 14 14 15 15 pos=find(md.mask.groundedice_levelset>0.); 16 md.geometry.b ed(pos)=md.geometry.bed(pos)-300.*(radius(pos)-(rad-shelfextent))/(rad-shelfextent);17 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;16 md.geometry.base(pos)=md.geometry.base(pos)-300.*(radius(pos)-(rad-shelfextent))/(rad-shelfextent); 17 md.geometry.surface=md.geometry.base+md.geometry.thickness; 18 18 19 19 pos=find(radius<200000); 20 20 md.geometry.thickness(pos)=100.; 21 md.geometry.b ed(pos)=-di*md.geometry.thickness(pos)-20.;22 md.geometry.surface(pos)=md.geometry.b ed(pos)+md.geometry.thickness(pos);21 md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.; 22 md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos); 23 23 24 24 pos=find(md.mesh.x<0.2*1.e6 & md.mesh.x>-0.2*1.e6 & md.mesh.y>0.); 25 25 md.geometry.thickness(pos)=100.; 26 md.geometry.b ed(pos)=-di*md.geometry.thickness(pos)-20.;27 md.geometry.surface(pos)=md.geometry.b ed(pos)+md.geometry.thickness(pos);26 md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.; 27 md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos); 28 28 29 29 pos=find(md.mesh.x<0.1*1.e6 & md.mesh.x>-0.1*1.e6 & md.mesh.y<-0.5*1.e6 & md.mesh.y>-0.6*1.e6); 30 30 md.geometry.thickness(pos)=100.; 31 md.geometry.b ed(pos)=-di*md.geometry.thickness(pos)-20.;32 md.geometry.surface(pos)=md.geometry.b ed(pos)+md.geometry.thickness(pos);31 md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.; 32 md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos); 33 33 34 34 %plug holes into the ice sheet, to test for grounding line migration. … … 37 37 pos=find(rad<200000.); 38 38 md.geometry.thickness(pos)=100.; 39 md.geometry.b ed(pos)=-di*md.geometry.thickness(pos)-20.;40 md.geometry.surface(pos)=md.geometry.b ed(pos)+md.geometry.thickness(pos);39 md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.; 40 md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos); 41 41 42 42 pos=find(md.mesh.x<0.2*1.e6 & md.mesh.x>-0.2*1.e6 & md.mesh.y>0.); 43 43 md.geometry.thickness(pos)=100.; 44 md.geometry.b ed(pos)=-di*md.geometry.thickness(pos)-20.;45 md.geometry.surface(pos)=md.geometry.b ed(pos)+md.geometry.thickness(pos);44 md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.; 45 md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos); 46 46 47 47 pos=find(md.mesh.x<0.1*1.e6 & md.mesh.x>-0.1*1.e6 & md.mesh.y<-0.5*1.e6 & md.mesh.y>-0.6*1.e6); 48 48 md.geometry.thickness(pos)=100.; 49 md.geometry.b ed(pos)=-di*md.geometry.thickness(pos)-20.;50 md.geometry.surface(pos)=md.geometry.b ed(pos)+md.geometry.thickness(pos);49 md.geometry.base(pos)=-di*md.geometry.thickness(pos)-20.; 50 md.geometry.surface(pos)=md.geometry.base(pos)+md.geometry.thickness(pos); 51 51 52 52 %Initial velocity … … 98 98 %bathymetry and grounding line migration: 99 99 md.groundingline.migration='AgressiveMigration'; 100 md.geometry.b athymetry=md.geometry.bed;101 pos=find(md.mask.groundedice_levelset<0.); md.geometry.b athymetry(pos)=md.geometry.bed(pos)-900.;100 md.geometry.bed=md.geometry.base; 101 pos=find(md.mask.groundedice_levelset<0.); md.geometry.bed(pos)=md.geometry.base(pos)-900.; 102 102 103 103 %Deal with boundary conditions: -
issm/trunk-jpl/test/Par/RoundSheetShelf.py
r16207 r17590 18 18 ymax=numpy.max(radius) 19 19 md.geometry.thickness=hmax+(hmin-hmax)*(radius-ymin)/(ymax-ymin) 20 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness20 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 21 21 22 22 pos=numpy.nonzero(md.mask.groundedice_levelset>0.)[0] 23 md.geometry.b ed[pos]=md.geometry.bed[pos]-300.*(radius[pos]-(rad-shelfextent))/(rad-shelfextent)24 md.geometry.surface=md.geometry.b ed+md.geometry.thickness23 md.geometry.base[pos]=md.geometry.base[pos]-300.*(radius[pos]-(rad-shelfextent))/(rad-shelfextent) 24 md.geometry.surface=md.geometry.base+md.geometry.thickness 25 25 26 26 pos=numpy.nonzero(radius<200000.) 27 27 md.geometry.thickness[pos]=100. 28 md.geometry.b ed[pos]=-di*md.geometry.thickness[pos]-20.29 md.geometry.surface[pos]=md.geometry.b ed[pos]+md.geometry.thickness[pos]28 md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20. 29 md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos] 30 30 31 31 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.2*1.e6,md.mesh.x>-0.2*1.e6),md.mesh.y>0.)) 32 32 md.geometry.thickness[pos]=100. 33 md.geometry.b ed[pos]=-di*md.geometry.thickness[pos]-20.34 md.geometry.surface[pos]=md.geometry.b ed[pos]+md.geometry.thickness[pos]33 md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20. 34 md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos] 35 35 36 36 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.1*1.e6,md.mesh.x>-0.1*1.e6),numpy.logical_and(md.mesh.y<-0.5*1.e6,md.mesh.y>-0.6*1.e6))) 37 37 md.geometry.thickness[pos]=100. 38 md.geometry.b ed[pos]=-di*md.geometry.thickness[pos]-20.39 md.geometry.surface[pos]=md.geometry.b ed[pos]+md.geometry.thickness[pos]38 md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20. 39 md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos] 40 40 41 41 #plug holes into the ice sheet, to test for grounding line migration. … … 44 44 pos=numpy.nonzero(rad<200000.) 45 45 md.geometry.thickness[pos]=100. 46 md.geometry.b ed[pos]=-di*md.geometry.thickness[pos]-20.47 md.geometry.surface[pos]=md.geometry.b ed[pos]+md.geometry.thickness[pos]46 md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20. 47 md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos] 48 48 49 49 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.2*1.e6,md.mesh.x>-0.2*1.e6),md.mesh.y>0.)) 50 50 md.geometry.thickness[pos]=100. 51 md.geometry.b ed[pos]=-di*md.geometry.thickness[pos]-20.52 md.geometry.surface[pos]=md.geometry.b ed[pos]+md.geometry.thickness[pos]51 md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20. 52 md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos] 53 53 54 54 pos=numpy.nonzero(numpy.logical_and(numpy.logical_and(md.mesh.x<0.1*1.e6,md.mesh.x>-0.1*1.e6),numpy.logical_and(md.mesh.y<-0.5*1.e6,md.mesh.y>-0.6*1.e6))) 55 55 md.geometry.thickness[pos]=100. 56 md.geometry.b ed[pos]=-di*md.geometry.thickness[pos]-20.57 md.geometry.surface[pos]=md.geometry.b ed[pos]+md.geometry.thickness[pos]56 md.geometry.base[pos]=-di*md.geometry.thickness[pos]-20. 57 md.geometry.surface[pos]=md.geometry.base[pos]+md.geometry.thickness[pos] 58 58 59 59 #Initial velocity … … 106 106 #bathymetry and grounding line migration: 107 107 md.groundingline.migration='AgressiveMigration' 108 md.geometry.ba thymetry=copy.deepcopy(md.geometry.bed)108 md.geometry.base=copy.deepcopy(md.geometry.base) 109 109 pos=numpy.nonzero(md.mask.groundedice_levelset<0.)[0] 110 md.geometry.ba thymetry[pos]=md.geometry.bed[pos]-900.110 md.geometry.base[pos]=md.geometry.base[pos]-900. 111 111 112 112 #Deal with boundary conditions: -
issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.par
r16167 r17590 6 6 radius(find(radius>(1.-10^-9)*radiusmax))=radiusmax; %eliminate roundoff issues in next statement 7 7 md.geometry.thickness=hmin*ones(size(md.mesh.x,1),1)+hmax*(4.*((1./2.)^(4./3.)*ones(size(md.mesh.x,1),1)-((radius)./(2.*radiusmax)).^(4./3.))).^(3./8.); 8 md.geometry.b ed=0.*md.geometry.thickness;9 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;8 md.geometry.base=0.*md.geometry.thickness; 9 md.geometry.surface=md.geometry.base+md.geometry.thickness; 10 10 11 11 disp(' creating drag'); -
issm/trunk-jpl/test/Par/RoundSheetStaticEISMINT.py
r16170 r17590 9 9 radius[numpy.nonzero(radius>(1.-10**-9)*radiusmax)]=radiusmax #eliminate roundoff issues in next statement 10 10 md.geometry.thickness=hmin*numpy.ones((numpy.size(md.mesh.x),1))+hmax*(4.*((1./2.)**(4./3.)*numpy.ones((numpy.size(md.mesh.x),1))-((radius)/(2.*radiusmax))**(4./3.)))**(3./8.) 11 md.geometry.b ed=0.*md.geometry.thickness12 md.geometry.surface=md.geometry.b ed+md.geometry.thickness11 md.geometry.base=0.*md.geometry.thickness 12 md.geometry.surface=md.geometry.base+md.geometry.thickness 13 13 14 14 print " creating drag" -
issm/trunk-jpl/test/Par/SquareEISMINT.par
r16404 r17590 5 5 ymax=max(md.mesh.y); 6 6 md.geometry.thickness=500.*ones(md.mesh.numberofvertices,1); 7 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;8 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;7 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 8 md.geometry.surface=md.geometry.base+md.geometry.thickness; 9 9 10 10 disp(' creating drag'); -
issm/trunk-jpl/test/Par/SquareEISMINT.py
r16404 r17590 8 8 ymax=numpy.max(md.mesh.y) 9 9 md.geometry.thickness=500.*numpy.ones((md.mesh.numberofvertices,1)) 10 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness11 md.geometry.surface=md.geometry.b ed+md.geometry.thickness10 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 11 md.geometry.surface=md.geometry.base+md.geometry.thickness 12 12 13 13 print " creating drag" -
issm/trunk-jpl/test/Par/SquareSheetConstrained.par
r17440 r17590 9 9 xmax=max(md.mesh.x); 10 10 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin); 11 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.;12 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;11 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.; 12 md.geometry.surface=md.geometry.base+md.geometry.thickness; 13 13 14 14 %Initial velocity -
issm/trunk-jpl/test/Par/SquareSheetConstrained.py
r17438 r17590 18 18 xmax=max(md.mesh.x) 19 19 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin) 20 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20.21 md.geometry.surface=md.geometry.b ed+md.geometry.thickness20 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness+20. 21 md.geometry.surface=md.geometry.base+md.geometry.thickness 22 22 23 23 #Initial velocity -
issm/trunk-jpl/test/Par/SquareSheetShelf.par
r16404 r17590 9 9 xmax=max(md.mesh.x); 10 10 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin); 11 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;11 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 12 12 bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin)); 13 13 pos=find(md.mesh.y<=ymax/2.); 14 md.geometry.b ed(pos)=bed_sheet;15 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;14 md.geometry.base(pos)=bed_sheet; 15 md.geometry.surface=md.geometry.base+md.geometry.thickness; 16 16 17 17 %Initial velocity -
issm/trunk-jpl/test/Par/SquareSheetShelf.py
r16404 r17590 18 18 xmax=max(md.mesh.x) 19 19 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin) 20 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness20 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 21 21 bed_sheet=-md.materials.rho_ice/md.materials.rho_water*(hmax+(hmin-hmax)*(ymax/2-ymin)/(ymax-ymin)) 22 22 pos=numpy.nonzero(md.mesh.y<=ymax/2.) 23 md.geometry.b ed[pos]=bed_sheet24 md.geometry.surface=md.geometry.b ed+md.geometry.thickness23 md.geometry.base[pos]=bed_sheet 24 md.geometry.surface=md.geometry.base+md.geometry.thickness 25 25 26 26 #Initial velocity -
issm/trunk-jpl/test/Par/SquareShelf.par
r16404 r17590 9 9 xmax=max(md.mesh.x); 10 10 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin); 11 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;12 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;11 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 12 md.geometry.surface=md.geometry.base+md.geometry.thickness; 13 13 14 14 %Initial velocity and pressure -
issm/trunk-jpl/test/Par/SquareShelf.py
r16404 r17590 17 17 xmax=max(md.mesh.x) 18 18 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin) 19 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness20 md.geometry.surface=md.geometry.b ed+md.geometry.thickness19 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 20 md.geometry.surface=md.geometry.base+md.geometry.thickness 21 21 22 22 #Initial velocity and pressure -
issm/trunk-jpl/test/Par/SquareShelf2.par
r16403 r17590 9 9 xmax=max(md.mesh.x); 10 10 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin); 11 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;12 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;11 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 12 md.geometry.surface=md.geometry.base+md.geometry.thickness; 13 13 14 14 %Initial velocity and pressure -
issm/trunk-jpl/test/Par/SquareShelf2.py
r16403 r17590 17 17 xmax=max(md.mesh.x) 18 18 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin) 19 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness20 md.geometry.surface=md.geometry.b ed+md.geometry.thickness19 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 20 md.geometry.surface=md.geometry.base+md.geometry.thickness 21 21 22 22 #Initial velocity and pressure -
issm/trunk-jpl/test/Par/SquareShelfConstrained.par
r16420 r17590 9 9 xmax=max(md.mesh.x); 10 10 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin); 11 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;12 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;11 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness; 12 md.geometry.surface=md.geometry.base+md.geometry.thickness; 13 13 14 14 %Initial velocity -
issm/trunk-jpl/test/Par/SquareShelfConstrained.py
r16404 r17590 17 17 xmax=max(md.mesh.x) 18 18 md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y.reshape(-1,1)-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x.reshape(-1,1)-xmin)/(xmax-xmin) 19 md.geometry.b ed=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness20 md.geometry.surface=md.geometry.b ed+md.geometry.thickness19 md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness 20 md.geometry.surface=md.geometry.base+md.geometry.thickness 21 21 22 22 #Initial velocity -
issm/trunk-jpl/test/Par/SquareThermal.par
r16404 r17590 6 6 h=1000.; 7 7 md.geometry.thickness=h*ones(md.mesh.numberofvertices,1); 8 md.geometry.b ed=-1000.*ones(md.mesh.numberofvertices,1);9 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;8 md.geometry.base=-1000.*ones(md.mesh.numberofvertices,1); 9 md.geometry.surface=md.geometry.base+md.geometry.thickness; 10 10 11 11 disp(' creating velocities'); -
issm/trunk-jpl/test/Par/SquareThermal.py
r16404 r17590 10 10 h=1000. 11 11 md.geometry.thickness=h*numpy.ones((md.mesh.numberofvertices,1)) 12 md.geometry.b ed=-1000.*numpy.ones((md.mesh.numberofvertices,1))13 md.geometry.surface=md.geometry.b ed+md.geometry.thickness;12 md.geometry.base=-1000.*numpy.ones((md.mesh.numberofvertices,1)) 13 md.geometry.surface=md.geometry.base+md.geometry.thickness; 14 14 15 15 print " creating velocities" -
issm/trunk-jpl/test/Par/ValleyGlacierShelf.par
r17470 r17590 20 20 slope = 0.9*(bmin-bmax)*(x-xmin)/(Lx*alpha) + 0.1*(bmin-bmax)*(y-ymin)/(Ly) + bmax; 21 21 md.geometry.surface = (thk_center+bmax) + slope ; 22 md.geometry.b ed= bmax + slope + 4./Ly^2*(thk_center-thk_margin)*(y-ym).^2;23 md.geometry.thickness = md.geometry.surface - md.geometry.b ed;24 md.geometry.b athymetry = md.geometry.bed;22 md.geometry.base = bmax + slope + 4./Ly^2*(thk_center-thk_margin)*(y-ym).^2; 23 md.geometry.thickness = md.geometry.surface - md.geometry.base; 24 md.geometry.bed = md.geometry.base; 25 25 26 26 %Mask -
issm/trunk-jpl/test/Par/ValleyGlacierShelf.py
r17462 r17590 27 27 slope = 0.9*(bmin-bmax)*(x-xmin)/(Lx*alpha) + 0.1*(bmin-bmax)*(y-ymin)/(Ly) + bmax 28 28 md.geometry.surface= (thk_center+bmax) + slope 29 md.geometry.b ed=bmax + slope + 4./Ly**2*(thk_center-thk_margin)*(numpy.power(y-ym,2))30 md.geometry.thickness=md.geometry.surface - md.geometry.b ed31 md.geometry.ba thymetry = md.geometry.bed29 md.geometry.base=bmax + slope + 4./Ly**2*(thk_center-thk_margin)*(numpy.power(y-ym,2)) 30 md.geometry.thickness=md.geometry.surface - md.geometry.base 31 md.geometry.base = md.geometry.base 32 32 33 33 #Mask
Note:
See TracChangeset
for help on using the changeset viewer.