Changeset 12381


Ignore:
Timestamp:
06/07/12 08:29:08 (13 years ago)
Author:
Mathieu Morlighem
Message:

Fixed parallel Kriging module

Location:
issm/trunk-jpl/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/solutions/kriging.cpp

    r12377 r12381  
    6969
    7070        _printf_(true,"write results to disk:\n");
    71         output_fid=pfopen(outbinfilename,"wb");
    7271        Results *results = new Results();
    73         results->AddObject(new DoubleVecExternalResult(results->Size()+1,0,predictions,ninterp,1,0));
    74         results->AddObject(new DoubleVecExternalResult(results->Size()+1,0,error,ninterp,1,0));
    75         for(int i=0;i<results->Size();i++){
    76                 ExternalResult* result=(ExternalResult*)results->GetObjectByOffset(i);
    77                 result->WriteData(output_fid,1);
    78         }
    79         pfclose(output_fid,outbinfilename);
     72        if(my_rank==0){
     73                output_fid=pfopen(outbinfilename,"wb");
     74                results->AddObject(new DoubleVecExternalResult(results->Size()+1,0,predictions,ninterp,1,0));
     75                results->AddObject(new DoubleVecExternalResult(results->Size()+1,1,error,ninterp,1,0));
     76                for(int i=0;i<results->Size();i++){
     77                        ExternalResult* result=(ExternalResult*)results->GetObjectByOffset(i);
     78                        result->WriteData(output_fid,1);
     79                }
     80                pfclose(output_fid,outbinfilename);
     81        }
    8082
    8183        /*Close output and petsc options file and write lock file if requested*/
  • issm/trunk-jpl/src/m/utils/DataProcessing/pkriging.m

    r12378 r12381  
    3939%Process results
    4040structure=parseresultsfromdisk([name '.outbin'],0);
    41 B=structure.AutodiffForward(1:length(structure.AutodiffForward)/2);
     41B=structure.AutodiffForward;
    4242B=reshape(B,size(x_interp,1),size(x_interp,2));
    43 E=structure.AutodiffForward(length(structure.AutodiffForward)/2+1:end);
     43E=structure.AutodiffIsautodiff;
    4444E=reshape(E,size(x_interp,1),size(x_interp,2));
Note: See TracChangeset for help on using the changeset viewer.