source: issm/trunk/test/NightlyRun/test417.m@ 25836

Last change on this file since 25836 was 25836, checked in by Mathieu Morlighem, 4 years ago

merged trunk-jpl and trunk for revision 25834

File size: 3.3 KB
Line 
1%Test Name: SquareSheetShelfDiadSSA3dDakotaSamp
2md=triangle(model(),'../Exp/Square.exp',150000.);
3md=setmask(md,'../Exp/SquareShelf.exp','');
4md=parameterize(md,'../Par/SquareSheetShelf.par');
5md=setflowequation(md,'SSA','all');
6md.cluster=generic('name',oshostname(),'np',3);
7md.materials.rho_ice=10^7; %involved in the mass flux, make it easy
8md.geometry.thickness(:)=1; %make it easy
9md.geometry.surface=md.geometry.base+md.geometry.thickness;
10
11%constrain all velocities to 1 m/yr, in the y-direction
12md.stressbalance.spcvx(:)=0;
13md.stressbalance.spcvy(:)=1;
14md.stressbalance.spcvz(:)=0;
15
16%Dakota options
17
18%dakota version
19version=IssmConfig('_DAKOTA_VERSION_'); version=version(1:3); version=str2num(version);
20
21%partitioning
22npart=20;
23partition=partitioner(md,'package','chaco','npart',npart,'weighting','on')-1;
24md.qmu.isdakota=1;
25
26md.qmu.variables.drag_coefficient=normal_uncertain('descriptor','scaled_FrictionCoefficient',...
27 'mean',ones(npart,1),...
28 'stddev',.01*ones(npart,1),...
29 'partition',partition);
30
31md.qmu.responses.MaxVel=response_function('descriptor','MaxVel');
32md.qmu.responses.MassFlux1=response_function('descriptor','indexed_MassFlux_1');
33md.qmu.responses.MassFlux2=response_function('descriptor','indexed_MassFlux_2');
34md.qmu.responses.MassFlux3=response_function('descriptor','indexed_MassFlux_3');
35md.qmu.responses.MassFlux4=response_function('descriptor','indexed_MassFlux_4');
36md.qmu.responses.MassFlux5=response_function('descriptor','indexed_MassFlux_5');
37md.qmu.responses.MassFlux6=response_function('descriptor','indexed_MassFlux_6');
38md.qmu.responses.MassFlux7=response_function('descriptor','indexed_MassFlux_7');
39
40%mass flux profiles
41md.qmu.mass_flux_profiles={'../Exp/MassFlux1.exp','../Exp/MassFlux2.exp','../Exp/MassFlux3.exp','../Exp/MassFlux4.exp','../Exp/MassFlux5.exp','../Exp/MassFlux6.exp','../Exp/Square.exp'};
42md.qmu.mass_flux_profile_directory=pwd;
43
44
45%% nond_sampling study
46
47md.qmu.method =dakota_method('nond_samp');
48md.qmu.method(end)=dmeth_params_set(md.qmu.method(end),...
49'seed',1234,...
50'samples',20,...
51'sample_type','lhs');
52
53%% a variety of parameters
54md.qmu.params.interval_type='forward';
55md.qmu.params.direct=true;
56md.qmu.params.tabular_graphics_data=true;
57
58if version>=6,
59 md.qmu.params.analysis_driver='matlab';
60 md.qmu.params.evaluation_scheduling='master';
61 md.qmu.params.processors_per_evaluation=2;
62else
63 md.qmu.params.analysis_driver='stressbalance';
64 md.qmu.params.evaluation_concurrency=1;
65end
66
67
68
69md.stressbalance.reltol=10^-5; %tighten for qmu analyses
70
71md=solve(md,'Stressbalance','overwrite','y');
72
73%Fields and tolerances to track changes
74md.qmu.results=md.results.dakota;
75
76%ok, mass flux of 3 profiles should be -3 Gt/yr -3 Gt/yr and the sum, which is -6 Gt/yr
77%we recover those mass fluxes through the mean of the response.
78%also, we recover the max velo, which should be 1m/yr.
79%we put all that data in the montecarlo field, which we will use to test for success.
80%also, check that the stddev are 0.
81md.results.dakota.montecarlo=[];
82for i=1:8,
83 md.results.dakota.montecarlo=[md.results.dakota.montecarlo md.results.dakota.dresp_out(i).mean];
84end
85for i=1:8,
86 md.results.dakota.montecarlo=[md.results.dakota.montecarlo md.results.dakota.dresp_out(i).stddev];
87end
88field_names ={'montecarlo'};
89field_tolerances={1e-11};
90field_values={...
91 md.results.dakota.montecarlo,...
92 };
Note: See TracBrowser for help on using the repository browser.