Ignore:
Timestamp:
Aug 27, 2013, 11:25:59 PM (11 years ago)
Author:
sommeria
Message:

various bugs corrected

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/series/merge_proj.m

    r673 r676  
    129129    diff_time=max(max(diff(time)));
    130130    if diff_time>0
    131         disp_uvmat('WARNING',['times of series differ by (max) ' num2str(diff_time) ': time of first series chosen in result'],checkrun)
     131        disp_uvmat('WARNING',['times of series differ by (max) ' num2str(diff_time) ': the mean time is chosen in result'],checkrun)
    132132    end   
    133133end
     134if ~isempty(errormsg)
     135    disp_uvmat('WARNING',erromsg,checkrun)
     136end
     137time=mean(time,1); %averaged time taken for the merged field
    134138
    135139%% coordinate transform or other user defined transform
     
    174178MaskData=cell(NbView,1);
    175179if Param.CheckMask
     180    if ischar(Param.MaskTable)% case of a single mask (char chain)
     181        Param.MaskTable={Param.MaskTable};
     182    end
    176183    for iview=1:numel(Param.MaskTable)
    177184        if exist(Param.MaskTable{iview},'file')
     
    204211    %%%%%%%%%%%%%%%% loop on views (input lines) %%%%%%%%%%%%%%%%
    205212    Data=cell(1,NbView);%initiate the set Data
    206     nbtime=0;
     213    timeread=zeros(1,NbView);
    207214    for iview=1:NbView
    208215        %% reading input file(s)
     
    212219            return
    213220        end
    214         timeread(iview)=0;
    215         if isfield(Data{iview},'Time')
     221        % get the time defined in the current file if not already defined from the xml file
     222        if ~isempty(time) && isfield(Data{iview},'Time')
    216223            timeread(iview)=Data{iview}.Time;
    217             nbtime=nbtime+1;
    218224        end
    219225        if ~isempty(NbSlice_calib)
     
    258264
    259265    %% time of the merged field: take the average of the different views
    260     if ~isempty(time)% time defined from ImaDoc
    261         timeread=time(:,index);
    262     end
    263     timeread=mean(timeread);
     266    if ~isempty(time)
     267        timeread=time(index);   
     268    elseif ~isempty(find(timeread))% time defined from ImaDoc
     269        timeread=mean(timeread(timeread~=0));% take average over times form the files (when defined)
     270    else
     271        timeread=index;% take time=file index
     272    end
    264273
    265274    %% generating the name of the merged field
     
    320329       
    321330    else
    322         MergeData.ListGlobalAttribute={'Conventions','Project','InputFile_1','InputFile_end','nb_coord','nb_dim','dt','Time','civ'};
     331        MergeData.ListGlobalAttribute={'Conventions','Project','InputFile_1','InputFile_end','nb_coord','nb_dim'};
    323332        MergeData.Conventions='uvmat';
    324333        MergeData.nb_coord=2;
     
    333342            end
    334343        end
    335         if isempty(dt)
    336             MergeData.ListGlobalAttribute(6)=[];
    337         else
     344        if ~isempty(timeread)
     345            MergeData.ListGlobalAttribute=[MergeData.ListGlobalAttribute {'Time'}];
     346            MergeData.Time=timeread;
     347        end
     348        if ~isempty(dt)
     349            MergeData.ListGlobalAttribute=[MergeData.ListGlobalAttribute {'dt'}];
    338350            MergeData.dt=dt;
    339351        end
    340         MergeData.Time=timeread;
    341352        error=struct2nc(OutputFile,MergeData);%save result file
    342353        if isempty(error)
     
    381392            case 'grid'        %case of fields defined on a structured  grid
    382393                FFName='';
    383                 if ~isempty(CellInfo{icell}.VarIndex_errorflag)
     394                if isfield(CellInfo{icell},'VarIndex_errorflag') && ~isempty(CellInfo{icell}.VarIndex_errorflag)
    384395                    FFName=Data{1}.ListVarName{CellInfo{icell}.VarIndex_errorflag};% name of errorflag variable
    385396                end
Note: See TracChangeset for help on using the changeset viewer.