source: issm/trunk/test/Verification/IceSheetNoIceFrontP3d_18/updatearchive.m@ 1022

Last change on this file since 1022 was 1022, checked in by Mathieu Morlighem, 16 years ago

added solution check

  • Property svn:executable set to *
File size: 2.5 KB
Line 
1function varargout=updatearchive(varargin)
2%updatearchive - test deck for ISSM nightly runs
3%
4% Usage:
5% varargout=updatearchive(varargin);
6%
7% Examples:
8% updatearchive;
9% updatearchive({'ice'});
10% updatearchive({'ice','cielo_serial'},{'diagnostic'});
11% md=updatearchive({'cielo_parallel'});
12%
13% See also: RUNME
14
15% This file can be run to update the velocity archives of the test1.
16% This test deals with an icesheet with icefront for a 3d model. The geometry
17% is square. Just run this file in Matlab, with a properly setup Ice code.
18
19% The archive files will be saved in this directory but will not commited to ice1.
20% Just commit the result if you want to.
21
22%check arguments
23if (nargin>2 | nargout>1)
24 help updatearchive
25 error('updatearchive error message: bad usage');
26end
27
28%packages and analysis_types to be tested
29if nargin==2,
30 solutions=varargin{2};
31else
32 solutions={'diagnostic','thermalsteady','thermaltransient','prognostic','transient'};
33end
34if nargin,
35 packages=varargin{1};
36else
37 packages={'macayeal','ice','cielo_serial','cielo_parallel'};
38end
39
40%go through the solutions requested
41testname='IceSheetNoIceFrontP3d_18';
42for i=1:length(packages),
43 package=packages{i};
44
45 for j=1:length(solutions),
46 solution=solutions{j};
47
48 %check solution requested
49 if (strcmpi(package,'macayeal')...
50 | strcmpi(solution,'transient')),
51 disp(sprintf(['\nsolution: ' solution ', with package: ' package ', in test: ' testname ', not supported yet.\n']));
52 continue
53 end
54
55 %initialize model
56 md=model;
57 md=mesh(md,'DomainOutline.exp',100000);
58 md=geography(md,'','');
59 md=parameterize(md,'Square.par');
60 md=extrude(md,8,4);
61 md=setelementstype(md,'pattyn','all');
62 if md.numberofgrids==832
63 load Velocities; md.vx=0.8*vx; md.vy=0.8*vy; md.vz=0.8*vz; md.temperature=temperature-1; md.pressure=pressure;
64 end
65
66 %compute solution
67 [analysis_type sub_analysis_type]=testsgetanalysis(solution);
68 [md packagefinal]=testsgetpackage(md,package);
69 if ~testschecksolution(md.type,solution), continue; end
70 md=solve(md,'analysis_type',analysis_type,'sub_analysis_type',sub_analysis_type,'package',packagefinal);
71
72 %compute fields to be checked
73 fields=testsgetfields(md.type,solution);
74
75 %save new archive
76 for k=1:length(fields),
77 field=fields{k};
78 eval(['Archive' package solution '_field' num2str(k) '=md.results. ' field ';']);
79 end
80 eval(['save Archive' package solution ' Archive' package solution '_field*']);
81 end
82end
83if nargout==1,
84 varargout{1}=md;
85end
Note: See TracBrowser for help on using the repository browser.