1 | %Test Name: SquareShelfTranForceNeg2dDakotaLocal
|
---|
2 | md=triangle(model(),'../Exp/Square.exp',180000.);
|
---|
3 | md=setmask(md,'all','');
|
---|
4 | md=parameterize(md,'../Par/SquareShelf.par');
|
---|
5 | md=setflowequation(md,'SSA','all');
|
---|
6 | md.cluster=generic('name',oshostname(),'np',3);
|
---|
7 |
|
---|
8 | md.timestepping.time_step=1;
|
---|
9 | md.settings.output_frequency=1;
|
---|
10 | md.timestepping.final_time=4;
|
---|
11 |
|
---|
12 | smb = ones(md.mesh.numberofvertices,1)*3.6;
|
---|
13 | smb=[ smb smb*-1 ];
|
---|
14 |
|
---|
15 | md.smb.mass_balance= smb;
|
---|
16 | md.smb.mass_balance(end+1,:)=[1.5 3];
|
---|
17 | md.transient.isthermal=0;
|
---|
18 | %Dakota options
|
---|
19 |
|
---|
20 | %dakota version
|
---|
21 | version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
|
---|
22 |
|
---|
23 | %partitioning
|
---|
24 | md.qmu.numberofpartitions=20;
|
---|
25 | md=partitioner(md,'package','chaco','npart',md.qmu.numberofpartitions,'weighting','on');
|
---|
26 | md.qmu.vpartition=md.qmu.vpartition-1;
|
---|
27 |
|
---|
28 | %variables
|
---|
29 | md.qmu.variables.surface_mass_balance=normal_uncertain('scaled_SmbMassBalance',1,100);
|
---|
30 |
|
---|
31 | %responses
|
---|
32 | 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]);
|
---|
33 | 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]);
|
---|
34 | 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]);
|
---|
35 | 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]);
|
---|
36 | 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]);
|
---|
37 | 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]);
|
---|
38 | 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]);
|
---|
39 | 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]);
|
---|
40 |
|
---|
41 | %mass flux profiles
|
---|
42 | md.qmu.mass_flux_profiles={'../Exp/MassFlux1.exp','../Exp/MassFlux2.exp','../Exp/MassFlux3.exp','../Exp/MassFlux4.exp','../Exp/MassFlux5.exp','../Exp/MassFlux6.exp'};
|
---|
43 | md.qmu.mass_flux_profile_directory=pwd;
|
---|
44 |
|
---|
45 | %method
|
---|
46 | md.qmu.method =dakota_method('nond_l');
|
---|
47 |
|
---|
48 | %parameters
|
---|
49 | md.qmu.params.direct=true;
|
---|
50 | md.qmu.params.analysis_components='';
|
---|
51 | md.qmu.params.interval_type='forward';
|
---|
52 | md.qmu.params.fd_gradient_step_size='0.1';
|
---|
53 | md.qmu.isdakota=1;
|
---|
54 |
|
---|
55 | if version>=6,
|
---|
56 | md.qmu.params.analysis_driver='matlab';
|
---|
57 | md.qmu.params.evaluation_scheduling='master';
|
---|
58 | md.qmu.params.processors_per_evaluation=2;
|
---|
59 | else
|
---|
60 | md.qmu.params.analysis_driver='stressbalance';
|
---|
61 | md.qmu.params.evaluation_concurrency=1;
|
---|
62 | end
|
---|
63 |
|
---|
64 |
|
---|
65 | md.stressbalance.reltol=10^-5; %tighten for qmu analyses
|
---|
66 | md.transient.requested_outputs={'IceVolume'};
|
---|
67 |
|
---|
68 | %solve
|
---|
69 | md=solve(md,'Transient','overwrite','y');
|
---|
70 | md.qmu.results=md.results.dakota;
|
---|
71 |
|
---|
72 | %Fields and tolerances to track changes
|
---|
73 | md.results.dakota.moments=[];
|
---|
74 | for i=1:8,
|
---|
75 | md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).mean];
|
---|
76 | end
|
---|
77 | for i=1:8,
|
---|
78 | md.results.dakota.moments=[md.results.dakota.moments md.results.dakota.dresp_out(i).stddev];
|
---|
79 | end
|
---|
80 | field_names ={'moments'};
|
---|
81 | field_tolerances={1e-11};
|
---|
82 | field_values={...
|
---|
83 | md.results.dakota.moments,...
|
---|
84 | };
|
---|