Changeset 899
- Timestamp:
- 06/11/09 12:58:40 (16 years ago)
- Location:
- issm/trunk/test/Validation
- Files:
-
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/test/Validation/ControlMethods/runmeB.m
r410 r899 72 72 md.np=8; 73 73 %md.cluster='wilkes'; 74 %md=solve(md,' control','ice');75 md=solve(md,' control','cielo');76 %md=solve(md,' control','macayeal');74 %md=solve(md,'analysis_type','control','package','ice'); 75 md=solve(md,'analysis_type','control','package','cielo'); 76 %md=solve(md,'analysis_type','control','package','macayeal'); 77 77 end -
issm/trunk/test/Validation/ControlMethods/runmedrag.m
r410 r899 69 69 70 70 %md.cluster='wilkes'; 71 %md=solve(md,' control','ice');72 md=solve(md,' control','cielo');73 %md=solve(md,' control','macayeal');71 %md=solve(md,'analysis_type','control','package','ice'); 72 md=solve(md,'analysis_type','control','package','cielo'); 73 %md=solve(md,'analysis_type','control','package','macayeal'); 74 74 end -
issm/trunk/test/Validation/EISMINT/Diagnostic1/Square.par
r16 r899 85 85 disp(' boundary conditions for diagnostic model: '); 86 86 %Build gridonicefront, array of boundary grids belonging to the icefront: 87 gridinsideicefront= ArgusContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2);87 gridinsideicefront=ContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2); 88 88 gridonicefront=double(md.gridonboundary & gridinsideicefront); 89 89 -
issm/trunk/test/Validation/EISMINT/Diagnostic1/runme.m
r16 r899 10 10 11 11 %Compute solution for MacAyeal's model 12 md=solve(md,' diagnostic','ice');12 md=solve(md,'analysis_type','diagnostic','package','ice'); 13 13 14 14 %plot results -
issm/trunk/test/Validation/EISMINT/Diagnostic2/Square.par
r16 r899 85 85 disp(' boundary conditions for diagnostic model: '); 86 86 %Build gridonicefront, array of boundary grids belonging to the icefront: 87 gridinsideicefront= ArgusContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2);87 gridinsideicefront=ContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2); 88 88 gridonicefront=double(md.gridonboundary & gridinsideicefront); 89 89 … … 102 102 pos=find(md.y==max(md.y)); %grids on the upper boundary condition 103 103 md.dirichletvalues_diag(pos,2)=400*(((md.x(pos)-100000)/25000).^2-ones(size(pos,1),1)).*heaviside((1+eps)*ones(size(pos,1),1)-((md.x(pos)-100000)/25000).^2); 104 md.segmentonneumann_prog=md.segments(pos,:);105 md.neumannvalues_prog=zeros(size(md.segmentonneumann_prog,1),1);106 md.neumannvalues_prog(:)=NaN; %free radiation107 104 108 105 pos=find(gridonicefront(md.segments(:,1)) | gridonicefront(md.segments(:,2))); -
issm/trunk/test/Validation/EISMINT/Diagnostic2/runme.m
r16 r899 10 10 11 11 %Compute solution for MacAyeal's model 12 md=solve(md,' diagnostic','ice');12 md=solve(md,'analysis_type','diagnostic','package','ice'); 13 13 14 14 %plot results -
issm/trunk/test/Validation/EISMINT/MassConservation/Square.par
r16 r899 85 85 disp(' boundary conditions for diagnostic model: '); 86 86 %Build gridonicefront, array of boundary grids belonging to the icefront: 87 gridinsideicefront= ArgusContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2);87 gridinsideicefront=ContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2); 88 88 gridonicefront=double(md.gridonboundary & gridinsideicefront); 89 89 -
issm/trunk/test/Validation/EISMINT/MassConservation/runme.m
r16 r899 15 15 16 16 %launch transient solution 17 md=solve(md,' transient');17 md=solve(md,'analysis_type','transient','package','ice'); 18 18 19 19 %plot results 20 plotmodel(md,'data',md. transient_results(end).thickness,'sectionvalue','CrossLine.exp')20 plotmodel(md,'data',md.results.transient(end).thickness,'sectionvalue','CrossLine.exp') 21 21 22 22 %Don't forget to add these lines in icetransient2d.m, just before the computation of the thickness to change the thickness on the upper boundary condition -
issm/trunk/test/Validation/EISMINT/Transient/Square.par
r16 r899 85 85 disp(' boundary conditions for diagnostic model: '); 86 86 %Build gridonicefront, array of boundary grids belonging to the icefront: 87 gridinsideicefront= ArgusContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2);87 gridinsideicefront=ContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2); 88 88 gridonicefront=double(md.gridonboundary & gridinsideicefront); 89 89 … … 102 102 pos=find(md.y==max(md.y)); %grids on the upper boundary condition 103 103 md.dirichletvalues_diag(pos,2)=400*(((md.x(pos)-100000)/25000).^2-ones(size(pos,1),1)).*heaviside((1+eps)*ones(size(pos,1),1)-((md.x(pos)-100000)/25000).^2); 104 md.segmentonneumann_prog=md.segments(pos,:);105 104 md.neumannvalues_prog=zeros(size(md.segmentonneumann_prog,1),1); 106 105 md.neumannvalues_prog(:)=NaN; %free radiation -
issm/trunk/test/Validation/EISMINT/Transient/runme.m
r16 r899 9 9 10 10 %Compute solution for MacAyeal's model 11 md=solve(md,' diagnostic','ice');11 md=solve(md,'analysis_type','diagnostic','package','ice'); 12 12 13 13 %Launch transient solution 14 14 md.ndt=5000*md.yts; %time of evolution 15 15 md.dt=500*md.yts; %time vetween two iterations 16 md=solve(md,' transient');16 md=solve(md,'analysis_type','transient'); 17 17 18 18 %plot results 19 plotmodel(md,'data',md. transient_results(end).vx,'data',md.transient_results(end).vy,'data',md.transient_results(end).thickness)19 plotmodel(md,'data',md.results.transient(end).vx,'data',md.results.transient(end).vy,'data',md.results.transient(end).thickness) -
issm/trunk/test/Validation/ISMIP/TestA/Square.par
r16 r899 38 38 39 39 %control 40 md.control_type={'drag'}; %'drag', 'B'41 40 md.nsteps=5; 42 41 md.tolx=10^-4; … … 88 87 disp(' boundary conditions for diagnostic model: '); 89 88 %Build gridonicefront, array of boundary grids belonging to the icefront: 90 gridinsideicefront= ArgusContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2);89 gridinsideicefront=ContourToMesh(md.elements,md.x,md.y,expread('Front.exp',1),'node',2); 91 90 gridonicefront=double(md.gridonboundary & gridinsideicefront); 92 91 -
issm/trunk/test/Validation/ISMIP/TestA/runme.m
r16 r899 34 34 35 35 %Compute the diagnostic 36 md=solve(md,' diagnostic','ice');36 md=solve(md,'analysis_type','diagnostic','package','ice'); 37 37 38 plotmodel(md,'data', 'vx','data','vy','data','vz','layer#all',md.numlayers,'contourlevels',{9.2,18.4,27.6,46,73.6,82.8},'contourlevels',{0,-1.2,-0.9,-0.6,-0.3,1.2},'contourlevels',{-5.2,-3.9,-1.3,0,1.3,3.9,5.2})38 plotmodel(md,'data',md.results.diagnostic.vx,'data',md.results.diagnostic.vy,'data',md.results.diagnostic.vz,'layer#all',md.numlayers,'contourlevels',{9.2,18.4,27.6,46,73.6,82.8},'contourlevels',{0,-1.2,-0.9,-0.6,-0.3,1.2},'contourlevels',{-5.2,-3.9,-1.3,0,1.3,3.9,5.2}) -
issm/trunk/test/Validation/ISMIP/TestB/runme.m
r16 r899 34 34 35 35 %Compute the diagnostic 36 md=solve(md,' diagnostic','ice');36 md=solve(md,'analysis_type','diagnostic','package','ice'); 37 37 38 plotmodel(md,'data', 'vx','data','vy','data','vz','layer#all',md.numlayers)38 plotmodel(md,'data',md.results.diagnostic.vx,'data',md.results.diagnostic.vy,'data',md.results.diagnostic.vz,'layer#all',md.numlayers) -
issm/trunk/test/Validation/ISMIP/TestC/runme.m
r16 r899 31 31 32 32 %Compute the diagnostic 33 md=solve(md,' diagnostic','ice');33 md=solve(md,'analysis_type','diagnostic','package','ice'); 34 34 35 plotmodel(md,'data', 'vx','data','vy','data','vz','layer#all',md.numlayers,'contourlevels',{10.878,16.317,21.756,43.51,59.829},'contourlevels',{-2.421,-1.614,-0.807,3.228},'contourlevels',{-2.48,-1.86,0,0.62,1.24,1.86,2.48})35 plotmodel(md,'data',md.results.diagnostic.vx,'data',md.results.diagnostic.vy,'data',md.results.diagnostic.vz,'layer#all',md.numlayers,'contourlevels',{10.878,16.317,21.756,43.51,59.829},'contourlevels',{-2.421,-1.614,-0.807,3.228},'contourlevels',{-2.48,-1.86,0,0.62,1.24,1.86,2.48}) -
issm/trunk/test/Validation/ISMIP/TestD/runme.m
r16 r899 34 34 %md.penalties=[posx,posx2;posy,posy2]; 35 35 36 error37 36 %Compute the diagnostic 38 md=solve(md,' diagnostic','ice');37 md=solve(md,'analysis_type','diagnostic','package','ice'); 39 38 40 plotmodel(md,'data', 'vx','data','vy','data','vz','layer#all',md.numlayers)39 plotmodel(md,'data',md.results.diagnostic.vx,'data',md.results.diagnostic.vy,'data',md.results.diagnostic.vz,'layer#all',md.numlayers) -
issm/trunk/test/Validation/ISMIP/TestE/runme.m
r16 r899 27 27 28 28 %Compute the diagnostic 29 md=solve(md,' diagnostic','ice');29 md=solve(md,'analysis_type','diagnostic','package','ice'); 30 30 31 plotmodel(md,'data', 'vx','data','vy','data','vz','layer#all',md.numlayers)31 plotmodel(md,'data',md.results.diagnostic.vx,'data',md.results.diagnostic.vy,'data',md.results.diagnostic.vz,'layer#all',md.numlayers) -
issm/trunk/test/Validation/MacAyealVsPattyn/test1_iceshelf/runme.m
r16 r899 10 10 11 11 %Compute solution for a 2d model 12 md=solve(md,' diagnostic','ice');13 vel_2d=md. vel;12 md=solve(md,'analysis_type','diagnostic','package','ice'); 13 vel_2d=md.results.diagnostic.vel; 14 14 15 15 %Compute solution for a 3d model 16 16 md=extrude(md,5,3); 17 17 md=setelementstype(md,'Pattyn','Pattyn.exp','fill','Macayeal'); 18 md=solve(md,' diagnostic','ice');18 md=solve(md,'analysis_type','diagnostic','package','ice'); 19 19 20 20 %Calculate the average velocity on each grid … … 24 24 for i=1:md.numberofgrids2d 25 25 for j=1:(md.numlayers-1) 26 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md. vel(i+j*md.numberofgrids2d,1)+md.vel(i+(j-1)*md.numberofgrids2d,1));26 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md.results.diagnostic.veli+j*md.numberofgrids2d,1)+md.results.diagnostic.vel(i+(j-1)*md.numberofgrids2d,1)); 27 27 end 28 28 vel_3d(i,1)=grid_vel; -
issm/trunk/test/Validation/MacAyealVsPattyn/test2_icesheet/runme.m
r16 r899 10 10 %Compute solution for a 2d model 11 11 md=setelementstype(md,'Macayeal','all'); 12 md=solve(md,' diagnostic','ice');13 vel_2d=md. vel;12 md=solve(md,'analysis_type','diagnostic','package','ice'); 13 vel_2d=md.results.diagnostic.vel; 14 14 15 15 %Compute solution for a 3d model 16 16 md=extrude(md,5,3); 17 17 md=setelementstype(md,'Pattyn','all'); 18 md=solve(md,' diagnostic','ice');18 md=solve(md,'analysis_type','diagnostic','package','ice'); 19 19 20 20 %Calculate the average velocity on each grid … … 24 24 for i=1:md.numberofgrids2d 25 25 for j=1:(md.numlayers-1) 26 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md. vel(i+j*md.numberofgrids2d,1)+md.vel(i+(j-1)*md.numberofgrids2d,1));26 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md.results.diagnostic.vel(i+j*md.numberofgrids2d,1)+md.results.diagnostic.vel(i+(j-1)*md.numberofgrids2d,1)); 27 27 end 28 28 vel_3d(i,1)=grid_vel; -
issm/trunk/test/Validation/MacAyealVsPattyn/test3_icesheet_iceshelf/runme.m
r16 r899 10 10 %Compute solution for a 2d model 11 11 md=setelementstype(md,'Macayeal','all'); 12 md=solve(md,' diagnostic','ice');13 vel_2d=md. vel;12 md=solve(md,'analysis_type','diagnostic','package','ice'); 13 vel_2d=md.results.diagnostic.vel; 14 14 15 15 %Compute solution for a 3d model 16 16 md=extrude(md,5,3); 17 17 md=setelementstype(md,'Pattyn','all'); 18 md=solve(md,' diagnostic','ice');18 md=solve(md,'analysis_type','diagnostic','package','ice'); 19 19 20 20 %Calculate the average velocity on each grid … … 24 24 for i=1:md.numberofgrids2d 25 25 for j=1:(md.numlayers-1) 26 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md. vel(i+j*md.numberofgrids2d,1)+md.vel(i+(j-1)*md.numberofgrids2d,1));26 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md.results.diagnostic.vel(i+j*md.numberofgrids2d,1)+md.results.diagnostic.vel(i+(j-1)*md.numberofgrids2d,1)); 27 27 end 28 28 vel_3d(i,1)=grid_vel; -
issm/trunk/test/Validation/PattynStokes/test1_iceshelf/runme.m
r16 r899 11 11 md=setelementstype(md,'Pattyn','all'); 12 12 13 md=solve(md,' diagnostic','ice');14 vel_pattyn=md. vel;15 vx_pattyn=md. vx;16 vy_pattyn=md. vy;17 vz_pattyn=md. vz;18 pressure_pattyn=md. pressure;13 md=solve(md,'analysis_type','diagnostic','package','ice'); 14 vel_pattyn=md.results.diagnostic.vel; 15 vx_pattyn=md.results.diagnostic.vx; 16 vy_pattyn=md.results.diagnostic.vy; 17 vz_pattyn=md.results.diagnostic.vz; 18 pressure_pattyn=md.results.diagnostic.pressure; 19 19 20 20 mdpattyn=md; … … 29 29 md=setelementstype(md,'Stokes','all','Pattyn','all'); 30 30 31 md=solve(md,' diagnostic','ice');31 md=solve(md,'analysis_type','diagnostic','package','ice'); 32 32 vel_stokes=md.vel; 33 33 vx_stokes=md.vx; … … 38 38 mdstokes=md; 39 39 save modelstokes mdstokes; 40 41 error('debug')42 43 44 45 %Calculate the average velocity on each grid46 vel_3d=zeros(md.numberofgrids2d,1);47 grid_vel=0;48 49 for i=1:md.numberofgrids2d50 for j=1:(md.numlayers-1)51 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md.vel(i+j*md.numberofgrids2d,1)+md.vel(i+(j-1)*md.numberofgrids2d,1));52 end53 vel_3d(i,1)=grid_vel;54 grid_vel=0;55 end56 57 vel_diff=(vel_2d-vel_3d)./vel_2d;58 vel_diff(find(vel_2d==vel_3d))=0;59 60 %Plot of the velocity from the stokes and pattyn model61 figure(1)62 subplot(2,2,1)63 p1=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...64 vel_pattyn,'FaceColor','interp','EdgeColor','none');65 title('MacAyeal model [m/yr]','FontSize',14,'FontWeight','bold')66 colorbar;67 68 subplot(2,2,2)69 p2=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...70 vel_stokes,'FaceColor','interp','EdgeColor','none');71 title('Pattyn model [m/yr]','FontSize',14,'FontWeight','bold')72 colorbar;73 74 subplot(2,2,3)75 p3=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...76 (vel_pattyn-vel_stokes),'FaceColor','interp','EdgeColor','none');77 title('Relative misfit [%]','FontSize',14,'FontWeight','bold')78 colorbar;79 80 subplot(2,2,4)81 p3=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...82 (vel_pattyn-vel_stokes)*100,'FaceColor','interp','EdgeColor','none');83 title('Absolute misfit [m/yr]','FontSize',14,'FontWeight','bold')84 colorbar;85 -
issm/trunk/test/Validation/PattynStokes/test2_icesheet/runme.m
r16 r899 11 11 md=extrude(md,'Pattyn','all'); 12 12 13 md=solve(md,' diagnostic','ice');14 vel_pattyn=md. vel;15 vx_pattyn=md. vx;16 vy_pattyn=md. vy;17 vz_pattyn=md. vz;18 pressure_pattyn=md. pressure;13 md=solve(md,'analysis_type','diagnostic','package','ice'); 14 vel_pattyn=md.results.diagnostic.vel; 15 vx_pattyn=md.results.diagnostic.vx; 16 vy_pattyn=md.results.diagnostic.vy; 17 vz_pattyn=md.results.diagnostic.vz; 18 pressure_pattyn=md.results.diagnostic.pressure; 19 19 20 20 mdpattyn=md; … … 29 29 md=extrude(md,'Pattyn','all','Stokes','all'); 30 30 31 md=solve(md,' diagnostic','ice');32 vel_stokes=md. vel;33 vx_stokes=md. vx;34 vy_stokes=md. vy;35 vz_stokes=md. vz;36 pressure_stokes=md. pressure;31 md=solve(md,'analysis_type','diagnostic','package','ice'); 32 vel_stokes=md.results.diagnostic.vel; 33 vx_stokes=md.results.diagnostic.vx; 34 vy_stokes=md.results.diagnostic.vy; 35 vz_stokes=md.results.diagnostic.vz; 36 pressure_stokes=md.results.diagnostic.pressure; 37 37 38 38 mdstokes=md; 39 39 save modelstokes mdstokes; 40 40 41 error('debug')42 43 44 45 %Calculate the average velocity on each grid46 vel_3d=zeros(md.numberofgrids2d,1);47 grid_vel=0;48 49 for i=1:md.numberofgrids2d50 for j=1:(md.numlayers-1)51 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md.vel(i+j*md.numberofgrids2d,1)+md.vel(i+(j-1)*md.numberofgrids2d,1));52 end53 vel_3d(i,1)=grid_vel;54 grid_vel=0;55 end56 57 vel_diff=(vel_2d-vel_3d)./vel_2d;58 vel_diff(find(vel_2d==vel_3d))=0;59 60 %Plot of the velocity from the stokes and pattyn model61 figure(1)62 subplot(2,2,1)63 p1=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...64 vel_pattyn,'FaceColor','interp','EdgeColor','none');65 title('MacAyeal model [m/yr]','FontSize',14,'FontWeight','bold')66 colorbar;67 68 subplot(2,2,2)69 p2=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...70 vel_stokes,'FaceColor','interp','EdgeColor','none');71 title('Pattyn model [m/yr]','FontSize',14,'FontWeight','bold')72 colorbar;73 74 subplot(2,2,3)75 p3=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...76 (vel_pattyn-vel_stokes),'FaceColor','interp','EdgeColor','none');77 title('Relative misfit [%]','FontSize',14,'FontWeight','bold')78 colorbar;79 80 subplot(2,2,4)81 p3=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...82 (vel_pattyn-vel_stokes)*100,'FaceColor','interp','EdgeColor','none');83 title('Absolute misfit [m/yr]','FontSize',14,'FontWeight','bold')84 colorbar;85 -
issm/trunk/test/Validation/PattynStokes/test3_icesheet_iceshelf/runme.m
r16 r899 9 9 md=parameterize(md,'Square.par'); 10 10 md=extrude(md,5,3); 11 md= extrude(md,'Pattyn','all');11 md=setelementstype(md,'Pattyn','all'); 12 12 13 md=solve(md,' diagnostic','ice');14 vel_pattyn=md. vel;15 vx_pattyn=md. vx;16 vy_pattyn=md. vy;17 vz_pattyn=md. vz;18 pressure_pattyn=md. pressure;13 md=solve(md,'analysis_type','diagnostic','package','ice'); 14 vel_pattyn=md.results.diagnostic.vel; 15 vx_pattyn=md.results.diagnostic.vx; 16 vy_pattyn=md.results.diagnostic.vy; 17 vz_pattyn=md.results.diagnostic.vz; 18 pressure_pattyn=md.results.diagnostic.pressure; 19 19 20 20 mdpattyn=md; … … 27 27 md=parameterize(md,'Square.par'); 28 28 md=extrude(md,5,3); 29 md= extrude(md,'Pattyn','all','Stokes','all');29 md=setelementstype(md,'Pattyn','all','Stokes','all'); 30 30 31 md=solve(md,' diagnostic','ice');32 vel_stokes=md. vel;33 vx_stokes=md. vx;34 vy_stokes=md. vy;35 vz_stokes=md. vz;36 pressure_stokes=md. pressure;31 md=solve(md,'analysis_type','diagnostic','package','ice'); 32 vel_stokes=md.results.diagnostic.vel; 33 vx_stokes=md.results.diagnostic.vx; 34 vy_stokes=md.results.diagnostic.vy; 35 vz_stokes=md.results.diagnostic.vz; 36 pressure_stokes=md.results.diagnostic.pressure; 37 37 38 38 mdstokes=md; 39 39 save modelstokes mdstokes; 40 41 error('debug')42 43 44 45 %Calculate the average velocity on each grid46 vel_3d=zeros(md.numberofgrids2d,1);47 grid_vel=0;48 49 for i=1:md.numberofgrids2d50 for j=1:(md.numlayers-1)51 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(md.vel(i+j*md.numberofgrids2d,1)+md.vel(i+(j-1)*md.numberofgrids2d,1));52 end53 vel_3d(i,1)=grid_vel;54 grid_vel=0;55 end56 57 vel_diff=(vel_2d-vel_3d)./vel_2d;58 vel_diff(find(vel_2d==vel_3d))=0;59 60 %Plot of the velocity from the stokes and pattyn model61 figure(1)62 subplot(2,2,1)63 p1=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...64 vel_pattyn,'FaceColor','interp','EdgeColor','none');65 title('MacAyeal model [m/yr]','FontSize',14,'FontWeight','bold')66 colorbar;67 68 subplot(2,2,2)69 p2=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...70 vel_stokes,'FaceColor','interp','EdgeColor','none');71 title('Pattyn model [m/yr]','FontSize',14,'FontWeight','bold')72 colorbar;73 74 subplot(2,2,3)75 p3=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...76 (vel_pattyn-vel_stokes),'FaceColor','interp','EdgeColor','none');77 title('Relative misfit [%]','FontSize',14,'FontWeight','bold')78 colorbar;79 80 subplot(2,2,4)81 p3=patch('Faces',md.elements2d,'Vertices',[md.x2d md.y2d],'FaceVertexCData',...82 (vel_pattyn-vel_stokes)*100,'FaceColor','interp','EdgeColor','none');83 title('Absolute misfit [m/yr]','FontSize',14,'FontWeight','bold')84 colorbar;85 -
issm/trunk/test/Validation/RoundIceSheet/runme.m
r16 r899 48 48 49 49 %Now we can solve the problem 50 md=solve(md,' diagnostic','ice');50 md=solve(md,'analysis_type','diagnostic','package','ice'); 51 51 52 52 %Calculate the depth averaged velocity field (2d): … … 56 56 for i=1:md.numberofgrids2d 57 57 for j=1:(md.numlayers-1) 58 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(sqrt(md.vx(i+j*md.numberofgrids2d,1).^2+md.vy(i+j*md.numberofgrids2d,1).^2)+sqrt(md.vx(i+(j-1)*md.numberofgrids2d,1).^2+md.vy(i+(j-1)*md.numberofgrids2d,1).^2)); 58 grid_vel=grid_vel+1/(2*(md.numlayers-1))*(sqrt(md.results.diagnostic.vx(i+j*md.numberofgrids2d,1).^2+... 59 md.results.diagnostic.vy(i+j*md.numberofgrids2d,1).^2)+... 60 sqrt(md.results.diagnostic.vx(i+(j-1)*md.numberofgrids2d,1).^2+md.results.diagnostic.vy(i+(j-1)*md.numberofgrids2d,1).^2)); 59 61 end 60 62 vel(i,1)=grid_vel; … … 95 97 colorbar; 96 98 caxis([0 100]); 97 -
issm/trunk/test/Validation/ThermalTests/Melting/runme.m
r544 r899 26 26 27 27 %plot results 28 relative=abs((md. melting-melting)./melting)*100;29 relative(find(md. melting==melting))=0;30 plotmodel(md,'data','melting','title','modeled melting','data',melting,'title','analytical melting','data',md. melting-melting,'title','absolute error','data',relative,'title','relative error [%]','layer#all',1)28 relative=abs((md.results.thermal.melting-melting)./melting)*100; 29 relative(find(md.results.thermal.melting==melting))=0; 30 plotmodel(md,'data','melting','title','modeled melting','data',melting,'title','analytical melting','data',md.results.thermal.melting-melting,'title','absolute error','data',relative,'title','relative error [%]','layer#all',1) -
issm/trunk/test/Validation/ThermalTests/Simpleadvection/runme.m
r514 r899 26 26 27 27 %plot results 28 relative=abs((md. temperature-md.observed_temperature)./md.observed_temperature)*100;29 relative(find(md. temperature==md.observed_temperature))=0;30 plotmodel(md,'data', 'temperature','title','modeled temperature','data','observed_temperature','view',3,'title','analytical temperature','view',3,'data',md.temperature-md.observed_temperature,'title','absolute error','view',3,'data',relative,'title','relative error [%]','view',3)28 relative=abs((md.results.thermal.temperature-md.observed_temperature)./md.observed_temperature)*100; 29 relative(find(md.results.thermal.temperature==md.observed_temperature))=0; 30 plotmodel(md,'data',md.results.thermal.temperature,'title','modeled temperature','data','observed_temperature','view',3,'title','analytical temperature','view',3,'data',md.results.thermal.temperature-md.observed_temperature,'title','absolute error','view',3,'data',relative,'title','relative error [%]','view',3) -
issm/trunk/test/Validation/ThermalTests/Simpleconduction/runme.m
r513 r899 25 25 26 26 %plot results 27 relative=abs((md. temperature-md.observed_temperature)./md.observed_temperature)*100;28 relative(find(md. temperature==md.observed_temperature))=0;29 plotmodel(md,'data','temperature','title','modeled temperature','data','observed_temperature','view',3,'title','analytical temperature','view',3,'data',md. temperature-md.observed_temperature,'title','absolute error','view',3,'data',relative,'title','relative error [%]','view',3)27 relative=abs((md.results.thermal.temperature-md.observed_temperature)./md.observed_temperature)*100; 28 relative(find(md.results.thermal.temperature==md.observed_temperature))=0; 29 plotmodel(md,'data','temperature','title','modeled temperature','data','observed_temperature','view',3,'title','analytical temperature','view',3,'data',md.results.thermal.temperature-md.observed_temperature,'title','absolute error','view',3,'data',relative,'title','relative error [%]','view',3) -
issm/trunk/test/Validation/ThermalTests/Simplegeothermalflux/runme.m
r515 r899 25 25 26 26 %plot results 27 relative=abs((md. temperature-md.observed_temperature)./md.observed_temperature)*100;28 relative(find(md. temperature==md.observed_temperature))=0;29 plotmodel(md,'data','temperature','title','modeled temperature','data','observed_temperature','view',3,'title','analytical temperature','view',3,'data',md. temperature-md.observed_temperature,'title','absolute error','view',3,'data',relative,'title','relative error [%]','view',3)27 relative=abs((md.results.thermal.temperature-md.observed_temperature)./md.observed_temperature)*100; 28 relative(find(md.results.thermal.temperature==md.observed_temperature))=0; 29 plotmodel(md,'data','temperature','title','modeled temperature','data','observed_temperature','view',3,'title','analytical temperature','view',3,'data',md.results.thermal.temperature-md.observed_temperature,'title','absolute error','view',3,'data',relative,'title','relative error [%]','view',3)
Note:
See TracChangeset
for help on using the changeset viewer.