source: issm/oecreview/Archive/20545-21336/ISSM-21033-21034.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: 10.2 KB
RevLine 
[21337]1Index: ../trunk-jpl/test/NightlyRun/test250.m
2===================================================================
3--- ../trunk-jpl/test/NightlyRun/test250.m (revision 0)
4+++ ../trunk-jpl/test/NightlyRun/test250.m (revision 21034)
5@@ -0,0 +1,89 @@
6+%Test Name: SquareShelfTranForceNeg2dDakotaSampLinearPart
7+md=triangle(model(),'../Exp/Square.exp',180000.);
8+md=setmask(md,'all','');
9+md=parameterize(md,'../Par/SquareShelf.par');
10+md=setflowequation(md,'SSA','all');
11+md.cluster=generic('name',oshostname(),'np',3);
12+
13+md.timestepping.time_step=1;
14+md.settings.output_frequency=1;
15+md.timestepping.final_time=4;
16+
17+smb = ones(md.mesh.numberofvertices,1)*3.6;
18+smb=[ smb smb*-1 ];
19+
20+md.smb.mass_balance= smb;
21+md.smb.mass_balance(end+1,:)=[1.5 3];
22+md.transient.isthermal=0;
23+%Dakota options
24+
25+%dakota version
26+version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
27+
28+%partitioning
29+md.qmu.numberofpartitions=md.mesh.numberofvertices;
30+md=partitioner(md,'package','linear');
31+md.qmu.partition=md.qmu.partition-1;
32+
33+%variables
34+md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_SmbMassBalance',1,0.1);
35+
36+%responses
37+md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
38+md.qmu.responses.IceVolume=response_function('IceVolume',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
39+md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
40+md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
41+md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
42+md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
43+md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
44+md.qmu.responses.massFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
45+
46+%mass flux profiles
47+md.qmu.mass_flux_profiles={'../Exp/MassFlux1.exp','../Exp/MassFlux2.exp','../Exp/MassFlux3.exp','../Exp/MassFlux4.exp','../Exp/MassFlux5.exp','../Exp/MassFlux6.exp'};
48+md.qmu.mass_flux_profile_directory=pwd;
49+
50+%% nond_sampling study
51+md.qmu.method=dakota_method('nond_samp');
52+md.qmu.method(end)=dmeth_params_set(md.qmu.method(end),'seed',1234,'samples',20,'sample_type','lhs');
53+dver=textscan(IssmConfig('_DAKOTA_VERSION_'),'%[0123456789].%[0123456789].%[0123456789]');
54+if ((str2num(dver{1}{1})==4 && str2num(dver{2}{1})>2) || str2num(dver{1}{1})>4)
55+ md.qmu.method(end)=dmeth_params_set(md.qmu.method(end),'rng','rnum2');
56+end
57+
58+%parameters
59+md.qmu.params.direct=true;
60+md.qmu.params.analysis_components='';
61+md.qmu.params.interval_type='forward';
62+md.qmu.params.tabular_graphics_data=true;
63+md.qmu.isdakota=1;
64+
65+if version>=6,
66+ md.qmu.params.analysis_driver='matlab';
67+ md.qmu.params.evaluation_scheduling='master';
68+ md.qmu.params.processors_per_evaluation=2;
69+else
70+ md.qmu.params.analysis_driver='stressbalance';
71+ md.qmu.params.evaluation_concurrency=1;
72+end
73+
74+
75+md.stressbalance.reltol=10^-5; %tighten for qmu analyses
76+md.transient.requested_outputs={'IceVolume'};
77+
78+%solve
79+md=solve(md,TransientSolutionEnum(),'overwrite','y');
80+md.qmu.results=md.results.dakota;
81+
82+%Fields and tolerances to track changes
83+md.results.dakota.moments=[];
84+for i=1:8,
85+ md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).mean];
86+end
87+for i=1:8,
88+ md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).stddev];
89+end
90+field_names ={'moments'};
91+field_tolerances={1e-6};
92+field_values={...
93+ md.results.dakota.moments,...
94+ };
95Index: ../trunk-jpl/test/NightlyRun/test251.m
96===================================================================
97--- ../trunk-jpl/test/NightlyRun/test251.m (revision 0)
98+++ ../trunk-jpl/test/NightlyRun/test251.m (revision 21034)
99@@ -0,0 +1,84 @@
100+%Test Name: SquareShelfTranForceNeg2dDakotaLocalLinearPart
101+md=triangle(model(),'../Exp/Square.exp',180000.);
102+md=setmask(md,'all','');
103+md=parameterize(md,'../Par/SquareShelf.par');
104+md=setflowequation(md,'SSA','all');
105+md.cluster=generic('name',oshostname(),'np',3);
106+
107+md.timestepping.time_step=1;
108+md.settings.output_frequency=1;
109+md.timestepping.final_time=4;
110+
111+smb = ones(md.mesh.numberofvertices,1)*3.6;
112+smb=[ smb smb*-1 ];
113+
114+md.smb.mass_balance= smb;
115+md.smb.mass_balance(end+1,:)=[1.5 3];
116+md.transient.isthermal=0;
117+%Dakota options
118+
119+%dakota version
120+version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
121+
122+%partitioning
123+md.qmu.numberofpartitions=md.mesh.numberofvertices;
124+md=partitioner(md,'package','linear');
125+md.qmu.partition=md.qmu.partition-1;
126+
127+%variables
128+md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_SmbMassBalance',1,100);
129+
130+%responses
131+md.qmu.responses.MaxVel=response_function('MaxVel',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
132+md.qmu.responses.IceVolume=response_function('IceVolume',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
133+md.qmu.responses.MassFlux1=response_function('indexed_MassFlux_1',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
134+md.qmu.responses.MassFlux2=response_function('indexed_MassFlux_2',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
135+md.qmu.responses.MassFlux3=response_function('indexed_MassFlux_3',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
136+md.qmu.responses.MassFlux4=response_function('indexed_MassFlux_4',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
137+md.qmu.responses.MassFlux5=response_function('indexed_MassFlux_5',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
138+md.qmu.responses.massFlux6=response_function('indexed_MassFlux_6',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
139+
140+%mass flux profiles
141+md.qmu.mass_flux_profiles={'../Exp/MassFlux1.exp','../Exp/MassFlux2.exp','../Exp/MassFlux3.exp','../Exp/MassFlux4.exp','../Exp/MassFlux5.exp','../Exp/MassFlux6.exp'};
142+md.qmu.mass_flux_profile_directory=pwd;
143+
144+%method
145+md.qmu.method =dakota_method('nond_l');
146+
147+%parameters
148+md.qmu.params.direct=true;
149+md.qmu.params.analysis_components='';
150+md.qmu.params.interval_type='forward';
151+md.qmu.params.fd_gradient_step_size='0.1';
152+md.qmu.isdakota=1;
153+
154+if version>=6,
155+ md.qmu.params.analysis_driver='matlab';
156+ md.qmu.params.evaluation_scheduling='master';
157+ md.qmu.params.processors_per_evaluation=2;
158+else
159+ md.qmu.params.analysis_driver='stressbalance';
160+ md.qmu.params.evaluation_concurrency=1;
161+end
162+
163+
164+md.stressbalance.reltol=10^-5; %tighten for qmu analyses
165+md.transient.requested_outputs={'IceVolume'};
166+
167+%solve
168+md=solve(md,TransientSolutionEnum(),'overwrite','y');
169+md.qmu.results=md.results.dakota;
170+
171+%Fields and tolerances to track changes
172+md.results.dakota.moments=[];
173+for i=1:8,
174+ md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).mean];
175+end
176+for i=1:8,
177+ md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).stddev];
178+end
179+field_names ={'moments'};
180+field_tolerances={1e-6};
181+field_values={...
182+ md.results.dakota.moments,...
183+ };
184Index: ../trunk-jpl/test/NightlyRun/test440.m
185===================================================================
186--- ../trunk-jpl/test/NightlyRun/test440.m (revision 0)
187+++ ../trunk-jpl/test/NightlyRun/test440.m (revision 21034)
188@@ -0,0 +1,62 @@
189+%Test Name: SquareSheetShelfDakotaScaledResponseLinearPart
190+md=triangle(model(),'../Exp/Square.exp',200000.);
191+md=setmask(md,'../Exp/SquareShelf.exp','');
192+md=parameterize(md,'../Par/SquareSheetShelf.par');
193+md=setflowequation(md,'SSA','all');
194+md.cluster=generic('name',oshostname(),'np',3);
195+
196+%partitioning
197+md.qmu.numberofpartitions=md.mesh.numberofvertices;
198+md=partitioner(md,'package','linear');
199+md.qmu.partition=md.qmu.partition-1;
200+md.qmu.isdakota=1;
201+
202+%Dakota options
203+
204+%dakota version
205+version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
206+
207+%variables
208+md.qmu.variables.rho_ice=normal_uncertain('MaterialsRhoIce',md.materials.rho_ice,0.01);
209+
210+%responses
211+md.qmu.responses.MaxVel=response_function('scaled_Thickness',[],[0.0001 0.001 0.01 0.25 0.5 0.75 0.99 0.999 0.9999]);
212+
213+%method
214+md.qmu.method =dakota_method('nond_l');
215+
216+%parameters
217+md.qmu.params.direct=true;
218+md.qmu.params.interval_type='forward';
219+
220+if version>=6,
221+ md.qmu.params.analysis_driver='matlab';
222+ md.qmu.params.evaluation_scheduling='master';
223+ md.qmu.params.processors_per_evaluation=2;
224+else
225+ md.qmu.params.analysis_driver='stressbalance';
226+ md.qmu.params.evaluation_concurrency=1;
227+end
228+
229+
230+
231+%imperative!
232+md.stressbalance.reltol=10^-5; %tighten for qmu analysese
233+
234+%solve
235+md=solve(md,StressbalanceSolutionEnum(),'overwrite','y');
236+md.qmu.results=md.results.dakota;
237+
238+%test on thickness
239+h=zeros(md.qmu.numberofpartitions,1);
240+for i=1:md.qmu.numberofpartitions,
241+ h(i)=md.qmu.results.dresp_out(i).mean;
242+end
243+
244+%project onto grid
245+thickness=h(md.qmu.partition+1);
246+
247+%Fields and tolerances to track changes
248+field_names ={'Thickness'};
249+field_tolerances={1e-10};
250+field_values={thickness};
251Index: ../trunk-jpl/test/Archives/Archive250.nc
252===================================================================
253Cannot display: file marked as a binary type.
254svn:mime-type = application/octet-stream
255
256Property changes on: ../trunk-jpl/test/Archives/Archive250.nc
257___________________________________________________________________
258Added: svn:mime-type
259 + application/octet-stream
260
261Index: ../trunk-jpl/test/Archives/Archive251.nc
262===================================================================
263Cannot display: file marked as a binary type.
264svn:mime-type = application/octet-stream
265
266Property changes on: ../trunk-jpl/test/Archives/Archive251.nc
267___________________________________________________________________
268Added: svn:mime-type
269 + application/octet-stream
270
271Index: ../trunk-jpl/test/Archives/Archive440.nc
272===================================================================
273Cannot display: file marked as a binary type.
274svn:mime-type = application/octet-stream
275
276Property changes on: ../trunk-jpl/test/Archives/Archive440.nc
277___________________________________________________________________
278Added: svn:mime-type
279 + application/octet-stream
280
Note: See TracBrowser for help on using the repository browser.