source: issm/trunk-jpl/test/SandBox/val2002.m@ 25217

Last change on this file since 25217 was 25217, checked in by Eric.Larour, 5 years ago

CHG: dak/slr related tests.

File size: 2.9 KB
Line 
1%Test Name: EarthSlr
2
3%mesh earth:
4md=model;
5md.mesh=gmshplanet('radius',6.371012*10^3,'resolution',1000.); %500 km resolution mesh
6
7%parameterize slr solution:
8%slr loading: {{{
9md.solidearth.surfaceload.icethicknesschange=zeros(md.mesh.numberofelements,1);
10md.solidearth.surfaceload.waterheightchange=zeros(md.mesh.numberofelements,1);
11md.solidearth.sealevel=zeros(md.mesh.numberofvertices,1);
12md.dsl.global_average_thermosteric_sea_level_change=[0;0];
13md.dsl.sea_surface_height_change_above_geoid=zeros(md.mesh.numberofvertices+1,1);
14md.dsl.sea_water_pressure_change_at_sea_floor=zeros(md.mesh.numberofvertices+1,1);
15%US
16late=sum(md.mesh.lat(md.mesh.elements),2)/3;
17longe=sum(md.mesh.long(md.mesh.elements),2)/3;
18
19pos=find(late < (37+5) & late > (37-5) & longe>(-95-10) & longe<(-95+10));
20md.solidearth.surfaceload.waterheightchange(pos)=-100;
21
22%elastic loading from love numbers:
23md.solidearth.lovenumbers=lovenumbers('maxdeg',100);
24
25%}}}
26%mask: {{{
27mask=gmtmask(md.mesh.lat,md.mesh.long);
28icemask=ones(md.mesh.numberofvertices,1);
29pos=find(mask==0); icemask(pos)=-1;
30pos=find(sum(mask(md.mesh.elements),2)<3); icemask(md.mesh.elements(pos,:))=-1;
31md.mask.ice_levelset=icemask;
32md.mask.ocean_levelset=-icemask;
33
34%make sure that the elements that have loads are fully grounded:
35pos=find(md.solidearth.surfaceload.waterheightchange);
36md.mask.ocean_levelset(md.mesh.elements(pos,:))=1;
37md.mask.ice_levelset(md.mesh.elements(pos,:))=1;
38
39% }}}
40
41md.solidearth.settings.ocean_area_scaling=0;
42
43%Geometry for the bed, arbitrary:
44md.geometry.bed=-ones(md.mesh.numberofvertices,1);
45
46%Materials:
47md.materials=materials('hydro');
48
49%Hydro load:
50
51
52%Miscellaneous
53md.miscellaneous.name='test2002';
54
55%Solution parameters
56md.solidearth.settings.reltol=NaN;
57md.solidearth.settings.abstol=1e-3;
58md.solidearth.settings.computesealevelchange=1;
59
60% max number of iteration reverted back to 10 (i.e., the original default value)
61md.solidearth.settings.maxiter=10;
62
63%eustatic run:
64md.solidearth.settings.rigid=0; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0;
65md=solve(md,'Sealevelrise');
66Seustatic=md.results.SealevelriseSolution.Sealevel;
67
68%eustatic + rigid run:
69md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=0;md.solidearth.settings.rotation=0;
70md=solve(md,'Sealevelrise');
71Srigid=md.results.SealevelriseSolution.Sealevel;
72
73%eustatic + rigid + elastic run:
74md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1;md.solidearth.settings.rotation=0;
75md=solve(md,'Sealevelrise');
76Selastic=md.results.SealevelriseSolution.Sealevel;
77
78%eustatic + rigid + elastic + rotation run:
79md.solidearth.settings.rigid=1; md.solidearth.settings.elastic=1; md.solidearth.settings.rotation=1;
80md=solve(md,'Sealevelrise');
81Srotation=md.results.SealevelriseSolution.Sealevel;
82
83%Fields and tolerances to track changes
84field_names ={'Eustatic','Rigid','Elastic','Rotation'};
85field_tolerances={1e-13,1e-13,1e-13,1e-13};
86field_values={Seustatic,Srigid,Selastic,Srotation};
Note: See TracBrowser for help on using the repository browser.