[25834] | 1 | Index: ../trunk-jpl/jenkins/ross-debian_linux-codipack
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/jenkins/ross-debian_linux-codipack (revision 25415)
|
---|
| 4 | +++ ../trunk-jpl/jenkins/ross-debian_linux-codipack (revision 25416)
|
---|
| 5 | @@ -72,5 +72,5 @@
|
---|
| 6 | #
|
---|
| 7 | # See documentation in test/NightlyRun/runme.* for more information.
|
---|
| 8 | #
|
---|
| 9 | -MATLAB_NROPTIONS="'benchmark','all','id',[3015,3119,3480,3201]"
|
---|
| 10 | +MATLAB_NROPTIONS="'benchmark','all','id',[3015,3119,3480,3201,3202]"
|
---|
| 11 | PYTHON_NROPTIONS="--benchmark='all' -i 3015 3119 3480"
|
---|
| 12 | Index: ../trunk-jpl/test/NightlyRun/test3202.m
|
---|
| 13 | ===================================================================
|
---|
| 14 | --- ../trunk-jpl/test/NightlyRun/test3202.m (nonexistent)
|
---|
| 15 | +++ ../trunk-jpl/test/NightlyRun/test3202.m (revision 25416)
|
---|
| 16 | @@ -0,0 +1,111 @@
|
---|
| 17 | +%Test Name: SquareShelfTransientCalibrationNBVcodipack
|
---|
| 18 | +
|
---|
| 19 | +%Generate observations
|
---|
| 20 | +md = model;
|
---|
| 21 | +md=triangle(model(),'../Exp/Square.exp',100000.);
|
---|
| 22 | +md = setmask(md,'all','');
|
---|
| 23 | +md = parameterize(md,'../Par/SquareShelf.par');
|
---|
| 24 | +md = setflowequation(md,'SSA','all');
|
---|
| 25 | +md.cluster = generic('np',2);
|
---|
| 26 | +
|
---|
| 27 | +%Create real time series for B
|
---|
| 28 | +md.timestepping.interp_forcings = 0;
|
---|
| 29 | +md.timestepping.final_time = 2*md.timestepping.time_step;
|
---|
| 30 | +md.materials.rheology_B = 1.8e8*ones(md.mesh.numberofvertices,2);
|
---|
| 31 | +md.materials.rheology_B(find(md.mesh.x<md.mesh.y),2)=1.4e8;
|
---|
| 32 | +md.materials.rheology_B=[md.materials.rheology_B;0.01 2*md.timestepping.time_step];
|
---|
| 33 | +
|
---|
| 34 | +%Initial values
|
---|
| 35 | +md.initialization.vx = zeros(md.mesh.numberofvertices,1);
|
---|
| 36 | +md.initialization.vy = zeros(md.mesh.numberofvertices,1);
|
---|
| 37 | +md.initialization.pressure = zeros(md.mesh.numberofvertices,1);
|
---|
| 38 | +md.initialization.temperature = zeros(md.mesh.numberofvertices,1);
|
---|
| 39 | +md.basalforcings.geothermalflux = zeros(md.mesh.numberofvertices,1);
|
---|
| 40 | +md.thermal.spctemperature = NaN(md.mesh.numberofvertices,1);
|
---|
| 41 | +
|
---|
| 42 | +md = solve(md,'tr');
|
---|
| 43 | +%plotmodel(md,'axis#all','tight','data',md.materials.rheology_B(1:end-1,1),'caxis#all',[ 1.3 1.9]*10^8,'title','"True" B',...
|
---|
| 44 | +%'data',md.materials.rheology_B(1:end-1,2),'title','"True" B 2')
|
---|
| 45 | +
|
---|
| 46 | +%Modify rheology, now constant
|
---|
| 47 | +md.materials.rheology_B(1:end-1,:) = 1.8e8;
|
---|
| 48 | +
|
---|
| 49 | +%Set cost function
|
---|
| 50 | +count = 1;
|
---|
| 51 | +for i=1:numel(md.results.TransientSolution)
|
---|
| 52 | + vx_obs = md.results.TransientSolution(i).Vx;
|
---|
| 53 | + vy_obs = md.results.TransientSolution(i).Vy;
|
---|
| 54 | + z_obs = md.results.TransientSolution(i).Surface;
|
---|
| 55 | +
|
---|
| 56 | + time = md.results.TransientSolution(i).time;
|
---|
| 57 | + weights= ones(md.mesh.numberofvertices,1);
|
---|
| 58 | +
|
---|
| 59 | + md.outputdefinition.definitions{count}=cfsurfacelogvel('name',['LogVelMis' num2str(count)],...
|
---|
| 60 | + 'definitionstring',['Outputdefinition' num2str(count)],...
|
---|
| 61 | + 'vxobs_string','VxObs','vxobs',vx_obs,...
|
---|
| 62 | + 'vyobs_string','VyObs','vyobs',vy_obs,...
|
---|
| 63 | + 'weights',weights,'weights_string','WeightsSurfaceObservation',...
|
---|
| 64 | + 'datatime',time);
|
---|
| 65 | + md.autodiff.dependents{count} = dependent('name',['Outputdefinition' num2str(count)],'type','scalar','fos_reverse_index',1);
|
---|
| 66 | + count = count+1;
|
---|
| 67 | +
|
---|
| 68 | + md.outputdefinition.definitions{count}=cfsurfacesquare('name',['VyMisfit' num2str(count)],...
|
---|
| 69 | + 'definitionstring',['Outputdefinition' num2str(count)],...
|
---|
| 70 | + 'model_string','Vy','observation_string','VyObs',...
|
---|
| 71 | + 'observation',vy_obs/md.constants.yts,'weights',weights,'weights_string','WeightsSurfaceObservation',...
|
---|
| 72 | + 'datatime',time);
|
---|
| 73 | + md.autodiff.dependents{count} = dependent('name',['Outputdefinition' num2str(count)],'type','scalar','fos_reverse_index',1);
|
---|
| 74 | + count = count+1;
|
---|
| 75 | +
|
---|
| 76 | + md.outputdefinition.definitions{count}=cfsurfacesquare('name',['VxMisfit' num2str(count)],...
|
---|
| 77 | + 'definitionstring',['Outputdefinition' num2str(count)],...
|
---|
| 78 | + 'model_string','Vx','observation_string','VxObs',...
|
---|
| 79 | + 'observation',vx_obs/md.constants.yts,'weights',500*weights,'weights_string','WeightsSurfaceObservation',...
|
---|
| 80 | + 'datatime',time);
|
---|
| 81 | + md.autodiff.dependents{count} = dependent('name',['Outputdefinition' num2str(count)],'type','scalar','fos_reverse_index',1);
|
---|
| 82 | + count = count+1;
|
---|
| 83 | +
|
---|
| 84 | + md.outputdefinition.definitions{count}=cfsurfacesquare('name',['DEMMisfit' num2str(count)],...
|
---|
| 85 | + 'definitionstring',['Outputdefinition' num2str(count)],...
|
---|
| 86 | + 'model_string','Surface','observation_string','SurfaceObservation',...
|
---|
| 87 | + 'observation',z_obs,...
|
---|
| 88 | + 'weights',1/(md.constants.yts)*weights,...
|
---|
| 89 | + 'weights_string','WeightsSurfaceObservation',...
|
---|
| 90 | + 'datatime',time);
|
---|
| 91 | + md.autodiff.dependents{count} = dependent('name',['Outputdefinition' num2str(count)],'type','scalar','fos_reverse_index',1);
|
---|
| 92 | + count = count+1;
|
---|
| 93 | +end
|
---|
| 94 | +
|
---|
| 95 | +%Independent
|
---|
| 96 | +min_params = md.materials.rheology_B; min_params(1:end-1,:) = cuffey(273);
|
---|
| 97 | +max_params = md.materials.rheology_B; max_params(1:end-1,:) = cuffey(200);
|
---|
| 98 | +md.autodiff.independents{1} = independent('name','MaterialsRheologyBbar',...
|
---|
| 99 | + 'md_name','md.materials.rheology_B',...
|
---|
| 100 | + 'control_size',size(md.materials.rheology_B,2),...
|
---|
| 101 | + 'type','vertex',... %Really needed??
|
---|
| 102 | + 'min_parameters',min_params,...
|
---|
| 103 | + 'max_parameters',max_params,...
|
---|
| 104 | + 'control_scaling_factor',1e8);
|
---|
| 105 | +
|
---|
| 106 | +md.inversion=adm1qn3inversion(md.inversion);
|
---|
| 107 | +md.inversion.iscontrol=1;
|
---|
| 108 | +md.inversion.maxiter=4;
|
---|
| 109 | +md.inversion.maxsteps=md.inversion.maxiter;
|
---|
| 110 | +md.inversion.dxmin=1e-5;
|
---|
| 111 | +md.autodiff.isautodiff=1;
|
---|
| 112 | +md.autodiff.driver='fos_reverse';
|
---|
| 113 | +
|
---|
| 114 | +%Go solve!
|
---|
| 115 | +md.verbose=verbose(0);
|
---|
| 116 | +md=solve(md,'tr');
|
---|
| 117 | +%plotmodel(md,'axis#all','tight','data',md.results.TransientSolution(1).MaterialsRheologyBbar(:,1),'caxis#all',[ 1.3 1.9]*10^8,'title','B1',...
|
---|
| 118 | +%'data',md.results.TransientSolution(1).MaterialsRheologyBbar(:,2),'title','B2')
|
---|
| 119 | +
|
---|
| 120 | +%Fields and tolerances to track changes
|
---|
| 121 | +field_names ={'Gradient','Misfit','Rheology'};
|
---|
| 122 | +field_tolerances={1e-12,1e-12,1e-12};
|
---|
| 123 | +field_values={...
|
---|
| 124 | + (md.results.TransientSolution(1).Gradient1),...
|
---|
| 125 | + (md.results.TransientSolution(1).J),...
|
---|
| 126 | + (md.results.TransientSolution(1).MaterialsRheologyBbar),...
|
---|
| 127 | + };
|
---|
| 128 | Index: ../trunk-jpl/test/Archives/Archive3202.arch
|
---|
| 129 | ===================================================================
|
---|
| 130 | Cannot display: file marked as a binary type.
|
---|
| 131 | svn:mime-type = application/octet-stream
|
---|
| 132 | Index: ../trunk-jpl/test/Archives/Archive3202.arch
|
---|
| 133 | ===================================================================
|
---|
| 134 | --- ../trunk-jpl/test/Archives/Archive3202.arch (nonexistent)
|
---|
| 135 | +++ ../trunk-jpl/test/Archives/Archive3202.arch (revision 25416)
|
---|
| 136 |
|
---|
| 137 | Property changes on: ../trunk-jpl/test/Archives/Archive3202.arch
|
---|
| 138 | ___________________________________________________________________
|
---|
| 139 | Added: svn:mime-type
|
---|
| 140 | ## -0,0 +1 ##
|
---|
| 141 | +application/octet-stream
|
---|
| 142 | \ No newline at end of property
|
---|