Changeset 462 for trunk/src/series/aver_stat.m
- Timestamp:
- Jun 20, 2012, 2:14:10 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/series/aver_stat.m
r457 r462 67 67 %% select different modes, RUN, parameter input, BATCH 68 68 % BATCH case: read the xml file for batch case 69 ParamOut=Param; %default output70 69 if ischar(Param) 71 if strcmp(Param,'input?')72 checkrun=1;% will inly search input parameters (preparation of BATCH mode)73 else74 70 Param=xml2struct(Param); 75 71 checkrun=0; 76 end77 72 % RUN case: parameters introduced as the input structure Param 78 73 else 79 74 hseries=guidata(Param.hseries);%handles of the GUI series 80 75 WaitbarPos=get(hseries.waitbar_frame,'Position');%position of the waitbar on the GUI series 81 checkrun=2; % indicate the RUN option is used 82 end 76 if isfield(Param,'Specific')&& strcmp(Param.Specific,'?') 77 checkrun=1;% will only search interactive input parameters (preparation of BATCH mode) 78 else 79 checkrun=2; % indicate the RUN option is used 80 end 81 end 82 ParamOut=Param; %default output 83 83 84 84 %% root input file(s) and type … … 240 240 241 241 %% Initiate output fields 242 % initiate the output structure as a copy of the first input one (reproduce fields)243 [DataOut,ParamOut,errormsg] = read_field(filecell{1,1},FileType{1},InputFields{1},1);244 if ~isempty(errormsg)245 msgbox_uvmat('ERROR',['error reading ' filecell{1,1} ': ' errormsg])246 return247 end248 time_1=[];249 if isfield(DataOut,'Time')250 time_1=DataOut.Time(1);251 end252 if CheckNc{iview}253 if isempty(strcmp('Conventions',DataOut.ListGlobalAttribute))254 DataOut.ListGlobalAttribute=['Conventions' DataOut.ListGlobalAttribute];255 end256 DataOut.Conventions='uvmat';257 DataOut.ListGlobalAttribute=[DataOut.ListGlobalAttribute {Param.Action}];258 ActionKey='Action';259 while isfield(DataOut,ActionKey)260 ActionKey=[ActionKey '_1'];261 end262 DataOut.(ActionKey)=Param.Action;263 DataOut.ListGlobalAttribute=[DataOut.ListGlobalAttribute {ActionKey}];264 if isfield(DataOut,'Time')265 DataOut.ListGlobalAttribute=[DataOut.ListGlobalAttribute {'Time','Time_end'}];266 end267 end242 % %initiate the output structure as a copy of the first input one (reproduce fields) 243 % [DataOut,ParamOut,errormsg] = read_field(filecell{1,1},FileType{1},InputFields{1},1); 244 % if ~isempty(errormsg) 245 % msgbox_uvmat('ERROR',['error reading ' filecell{1,1} ': ' errormsg]) 246 % return 247 % end 248 % time_1=[]; 249 % if isfield(DataOut,'Time') 250 % time_1=DataOut.Time(1); 251 % end 252 % if CheckNc{iview} 253 % if isempty(strcmp('Conventions',DataOut.ListGlobalAttribute)) 254 % DataOut.ListGlobalAttribute=['Conventions' DataOut.ListGlobalAttribute]; 255 % end 256 % DataOut.Conventions='uvmat'; 257 % DataOut.ListGlobalAttribute=[DataOut.ListGlobalAttribute {Param.Action}]; 258 % ActionKey='Action'; 259 % while isfield(DataOut,ActionKey) 260 % ActionKey=[ActionKey '_1']; 261 % end 262 % DataOut.(ActionKey)=Param.Action; 263 % DataOut.ListGlobalAttribute=[DataOut.ListGlobalAttribute {ActionKey}]; 264 % if isfield(DataOut,'Time') 265 % DataOut.ListGlobalAttribute=[DataOut.ListGlobalAttribute {'Time','Time_end'}]; 266 % end 267 % end 268 268 269 269 %% MAIN LOOP ON SLICES … … 274 274 nbmissing=0; 275 275 276 %initiate result fields277 for ivar=1:length(DataOut.ListVarName)278 DataOut.(DataOut.ListVarName{ivar})=0; % initialise all fields to zero279 end280 276 %initiate result fields 277 % for ivar=1:length(DataOut.ListVarName) 278 % DataOut.(DataOut.ListVarName{ivar})=0; % initialise all fields to zero 279 % end 280 281 281 %%%%%%%%%%%%%%%% loop on field indices %%%%%%%%%%%%%%%% 282 282 for index=index_slice … … 304 304 %%%%%%%%%%%% END STANDARD PART %%%%%%%%%%%% 305 305 % EDIT FROM HERE 306 307 if isempty(errormsg) 306 307 if isempty(errormsg) 308 308 % coordinate transform (or other user defined transform) 309 309 if ~isempty(transform_fct) … … 339 339 %field projection on an object 340 340 if Param.CheckObject 341 [Field,errormsg]=proj_field(Field,P rojObject);341 [Field,errormsg]=proj_field(Field,Param.ProjObject); 342 342 if ~isempty(errormsg) 343 343 msgbox_uvmat('ERROR',['error in aver_stat/proj_field:' errormsg]) … … 349 349 %%%%%%%%%%%% MAIN RUNNING OPERATIONS %%%%%%%%%%%% 350 350 %update sum 351 for ivar=1:length(Field.ListVarName) 352 VarName=Field.ListVarName{ivar}; 353 sizmean=size(DataOut.(VarName)); 354 siz=size(Field.(VarName)); 355 if ~isequal(DataOut.(VarName),0)&& ~isequal(siz,sizmean) 356 msgbox_uvmat('ERROR',['unequal size of input field ' VarName ', need to project on a grid']) 357 return 358 else 359 DataOut.(VarName)=DataOut.(VarName)+ double(Field.(VarName)); % update the sum 351 if nbfiles==1 %first field 352 time_1=[]; 353 if isfield(Field,'Time') 354 time_1=Field.Time(1); 355 end 356 DataOut=Field;%default 357 for ivar=1:length(Field.ListVarName) 358 VarName=Field.ListVarName{ivar}; 359 DataOut.(VarName)=double(DataOut.(VarName)); 360 end 361 else %current field 362 for ivar=1:length(Field.ListVarName) 363 VarName=Field.ListVarName{ivar}; 364 sizmean=size(DataOut.(VarName)); 365 siz=size(Field.(VarName)); 366 if ~isequal(DataOut.(VarName),0)&& ~isequal(siz,sizmean) 367 msgbox_uvmat('ERROR',['unequal size of input field ' VarName ', need to project on a grid']) 368 return 369 else 370 DataOut.(VarName)=DataOut.(VarName)+ double(Field.(VarName)); % update the sum 371 end 360 372 end 361 373 end 362 374 %%%%%%%%%%%% END MAIN RUNNING OPERATIONS %%%%%%%%%%%% 363 375 else 364 display(errormsg) 376 display(errormsg) 365 377 end 366 378 end … … 374 386 msgbox_uvmat('WARNING',[num2str(nbmissing) ' input files are missing or skipted']) 375 387 end 376 if isempty(time) % time is read from files 388 if isempty(time) % time is read from files 377 389 if isfield(Field,'Time') 378 390 time_end=Field.Time(1);%last time read
Note: See TracChangeset
for help on using the changeset viewer.