source: issm/oecreview/Archive/20545-21336/ISSM-21263-21264.diff@ 21337

Last change on this file since 21337 was 21337, checked in by Mathieu Morlighem, 8 years ago

CHG: added Archive/20545-21336

File size: 2.5 KB
RevLine 
[21337]1Index: ../trunk-jpl/test/NightlyRun/test2101.m
2===================================================================
3--- ../trunk-jpl/test/NightlyRun/test2101.m (revision 0)
4+++ ../trunk-jpl/test/NightlyRun/test2101.m (revision 21264)
5@@ -0,0 +1,65 @@
6+%Elastostatic adjustment for an elemental ice unloading
7+
8+%mesh earth:
9+md=model;
10+md.mesh=gmshplanet('radius',6.371012*10^3,'resolution',1000);
11+
12+% define load
13+md.esa.deltathickness=zeros(md.mesh.numberofelements,1);
14+pos=450; md.esa.deltathickness(pos)=-100; % this is the only "icy" element
15+
16+%love numbers:
17+nlov=101;
18+md.esa.love_h = love_numbers('h'); md.esa.love_h(nlov+1:end)=[];
19+md.esa.love_l = love_numbers('l'); md.esa.love_l(nlov+1:end)=[];
20+
21+%mask: {{{
22+ md.mask=maskpsl(); % use maskpsl class (instead of mask) to store the ocean function as a ocean_levelset
23+ md.mask.ocean_levelset=gmtmask(md.mesh.lat,md.mesh.long);
24+
25+ %make sure wherever there is an ice load, that the mask is set to ice:
26+ md.mask.ice_levelset=ones(md.mesh.numberofvertices,1);
27+ pos=find(md.esa.deltathickness); md.mask.ice_levelset(md.mesh.elements(pos,:))=-1;
28+
29+ %is ice grounded?
30+ md.mask.groundedice_levelset=-ones(md.mesh.numberofvertices,1);
31+ pos=find(md.mask.ice_levelset<=0); md.mask.groundedice_levelset(pos)=1;
32+
33+ %make sure ice domain is on the continent:
34+ %pos=find(md.mask.ice_levelset<=0); md.mask.ocean_levelset(pos)=0;
35+
36+ %land mask
37+ md.mask.land_levelset=1-md.mask.ocean_levelset;
38+
39+% }}}
40+%geometry: {{{
41+ di=md.materials.rho_ice/md.materials.rho_water;
42+ md.geometry.thickness=ones(md.mesh.numberofvertices,1);
43+ md.geometry.surface=(1-di)*zeros(md.mesh.numberofvertices,1);
44+ md.geometry.base=md.geometry.surface-md.geometry.thickness;
45+ md.geometry.bed=md.geometry.base;
46+% }}}
47+%materials: {{{
48+ md.initialization.temperature=273.25*ones(md.mesh.numberofvertices,1);
49+ md.materials.rheology_B=paterson(md.initialization.temperature);
50+ md.materials.rheology_n=3*ones(md.mesh.numberofelements,1);
51+% }}}
52+%Miscellaneous: {{{
53+ md.miscellaneous.name='test2101';
54+% }}}
55+
56+% solve esa
57+md.esa.requested_outputs = {'EsaUmotion','EsaNmotion','EsaEmotion'};
58+md.cluster=generic('name',oshostname(),'np',4);
59+md.verbose=verbose('111111111');
60+md=solve(md,'Esa');
61+
62+%Fields and tolerances to track changes
63+%field_names ={'EsaUmotion','EsaNmotion','EsaEmotion'};
64+field_tolerances={1e-13,1e-13,1e-13};
65+field_values={...
66+ (md.results.EsaSolution.EsaUmotion),...
67+ (md.results.EsaSolution.EsaNmotion),...
68+ (md.results.EsaSolution.EsaEmotion),...
69+ };
70+
Note: See TracBrowser for help on using the repository browser.