0001 function md=BuildAdaptedMesh
0002
0003
0004
0005
0006
0007 nsteps=1;
0008 resolution=50000;
0009 scaling=1.2;
0010 epsilon=.5;
0011
0012 velpath='/proj/ice/larour/Glaciology/Model_Data/RignotAntarcticaVel1km/RignotAntVel';
0013
0014
0015
0016 domainoutline='DomainOutline.exp';
0017 groundingline='GroundingLine.exp';
0018 icestreams='Icestream.exp';
0019 parameterfile='Basins.par';
0020
0021
0022 clear md
0023
0024
0025 md=model;
0026
0027
0028 md=mesh(md,domainoutline,resolution);
0029 disp(['First mesh, number of elements: ' num2str(md.numberofelements)]);
0030
0031
0032 eval(['load ' velpath]);
0033
0034
0035 for i=1:nsteps,
0036 disp(['Iteration #' num2str(i) '/' num2str(nsteps)]);
0037
0038
0039 disp(' interpolating velocities');
0040 md.vx_obs=DataInterp(x_m,y_m,vx*md.yts,md.x,md.y);
0041 md.vy_obs=DataInterp(x_m,y_m,vy*md.yts,md.x,md.y);
0042 md.vel_obs=sqrt(md.vx_obs.^2+md.vy_obs.^2);
0043
0044
0045 disp(' adapting');
0046 md=meshadaptation(md,md.vel_obs,scaling,epsilon);
0047 end
0048
0049 disp(['Final mesh, number of elements: ' num2str(md.numberofelements)]);
0050
0051 md.vx_obs=DataInterp(x_m,y_m,vx*md.yts,md.x,md.y);
0052 md.vy_obs=DataInterp(x_m,y_m,vy*md.yts,md.x,md.y);
0053 md.vel_obs=sqrt(md.vx_obs.^2+md.vy_obs.^2);
0054 return;
0055
0056
0057 disp('Parameterizing');
0058 md=geography(md,groundingline,icestreams);
0059 md=parameterize(md,parameterfile);
0060
0061
0062
0063
0064