source: issm/trunk-jpl/src/m/DataProcessing/pkriging.m@ 12996

Last change on this file since 12996 was 12662, checked in by Mathieu Morlighem, 13 years ago

ismodelselfconsistant now uses a model field instead of a persistent variable

File size: 2.0 KB
Line 
1function [B E]=pkriging(x,y,observations,x_interp,y_interp,varargin);
2%PKRIGING - parallel Kriging
3%
4% Usage:
5% [B E]=pkriging(x,y,observations,x_interp,y_interp,varargin);
6
7options=pairoptions(varargin{:});
8cluster=getfieldvalue(options,'cluster',generic('np',10));
9options=removefield(options,'cluster',0);
10name = ['krig' num2str(feature('GetPid'))];
11
12% ========================================= MARSHALL.m =================================================
13disp(['marshalling file ' name '.bin']);
14fid=fopen([name '.bin'],'wb');
15if fid==-1,
16 error(['marshall error message: could not open ' name '.bin file for binary writing']);
17end
18
19%First, write MaximumNumberOfEnum to make sure that the Enums are synchronized
20WriteData(fid,'enum',MaximumNumberOfEnums(),'data',true,'format','Boolean');
21
22%Write all data
23WriteData(fid,'enum',0,'data',x,'format','DoubleMat');
24WriteData(fid,'enum',1,'data',y,'format','DoubleMat');
25WriteData(fid,'enum',2,'data',observations,'format','DoubleMat');
26WriteData(fid,'enum',3,'data',x_interp,'format','DoubleMat');
27WriteData(fid,'enum',4,'data',y_interp,'format','DoubleMat');
28options.marshall(fid,5);
29st=fclose(fid);
30if st==-1,
31 error(['marshall error message: could not close file ' name '.bin']);
32end
33% ========================================= MARSHALL.m =================================================
34
35%Launch job on remote cluster
36BuildKrigingQueueScript(cluster,name,'',1,0,0); %gather, valgrind, gprof
37tic
38LaunchQueueJob(cluster,name,name,{[name '.bin'] [name '.queue']});
39toc
40choice=input('Is the job successfully completed? (y/n)','s');
41Download(cluster,name,{[name '.outbin']});
42structure=parseresultsfromdisk([name '.outbin'],0);
43delete([name '.outlog']);
44delete([name '.errlog']);
45delete([name '.outbin']);
46delete([name '.bin']);
47if ~ispc,
48 delete([name '.tar.gz']);
49end
50
51%Process results
52B=structure.AutodiffForward;
53B=reshape(B,size(x_interp,2),size(x_interp,1))';
54E=structure.AutodiffIsautodiff;
55E=reshape(E,size(x_interp,2),size(x_interp,1))';
Note: See TracBrowser for help on using the repository browser.