Changeset 674 for trunk/src/sub_field.m
- Timestamp:
- Aug 23, 2013, 2:56:17 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/sub_field.m
r581 r674 26 26 return 27 27 end 28 28 29 %% global attributes 29 30 SubData.ListGlobalAttribute={};%default … … 107 108 %% look for coordinates common to Field in Field_1 108 109 ind_remove=zeros(size(Field_1.ListVarName)); 110 % loop on the variables of the second field Field_1 109 111 for ilist=1:numel(Field_1.ListVarName) 110 if ischar(Field_1.VarDimName{ilist})||numel(Field_1.VarDimName{ilist})==1111 OldDim=Field_1.VarDimName{ilist};112 if ischar(OldDim)113 OldDim=Field_1.VarDimName(ilist);114 end115 VarVal=Field_1.(Field_1.ListVarName{ilist});112 % case of variable with a single dimension 113 OldDimName=Field_1.VarDimName{ilist}; 114 if ischar(OldDimName), OldDimName={OldDimName}; end% transform char string to cell if relevant 115 if numel(OldDimName)==1 116 OldDim=Field_1.(Field_1.ListVarName{ilist});% get variable 117 %look for the existence of the variable OldDim in the first field Field 116 118 for i1=1:numel(Field.ListVarName) 117 if (isempty(ProjModeRequest{i1})&&isempty(ProjModeRequest_1{ilist})||strcmp(ProjModeRequest{i1},ProjModeRequest_1{ilist})) && isequal(Field.(Field.ListVarName{i1}),VarVal) 119 if isequal(Field.(Field.ListVarName{i1}),OldDim) &&... 120 ((isempty(ProjModeRequest{i1}) && isempty(ProjModeRequest_1{ilist})) || strcmp(ProjModeRequest{i1},ProjModeRequest_1{ilist})) 118 121 ind_remove(ilist)=1; 119 NewDim=Field.VarDimName{i1}; 120 if ischar(NewDim) 121 NewDim={NewDim}; 122 end 123 Field_1.VarDimName=regexprep_r(Field_1.VarDimName,['^' OldDim{1} '$'],NewDim{1}); 122 NewDimName=Field.VarDimName{i1}; 123 if ischar(NewDimName), NewDimName={NewDimName}; end %transform char chain to cell if needed 124 Field_1.VarDimName=regexprep_r(Field_1.VarDimName,['^' OldDimName{1} '$'],NewDimName{1});% change the var name of Field_1 to the corresponding var name of Field 124 125 end 125 126 end 126 127 end 127 128 end 128 Field_1.ListVarName(find(ind_remove))=[];%removes the se redondent coordinates129 Field_1.ListVarName(find(ind_remove))=[];%removes the redondent coordinate 129 130 Field_1.VarDimName(find(ind_remove))=[]; 130 131 Field_1.VarAttribute(find(ind_remove))=[]; … … 150 151 151 152 %% substrat fields when possible 152 %[CellVarIndex,NbDim,CellVarType,errormsg]=find_field_cells(SubData);153 153 [CellInfo,NbDim,errormsg]=find_field_cells(SubData); 154 154 ind_remove=zeros(size(SubData.ListVarName)); … … 180 180 SubData.VarDimName(find(ind_remove))=[]; 181 181 SubData.VarAttribute(find(ind_remove))=[]; 182 %end 182 'end' 183 183 184 184 function OutputCell=regexprep_r(InputCell,search_string,new_string) 185 OutputCell=InputCell;%default 185 186 for icell=1:numel(InputCell) 186 187 OutputCell{icell}=regexprep(InputCell{icell},search_string,new_string);
Note: See TracChangeset
for help on using the changeset viewer.