Changeset 864 for trunk/src/sub_field.m
- Timestamp:
- Feb 6, 2015, 7:55:10 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/sub_field.m
r862 r864 129 129 for ilist=1:numel(Field_1.ListVarName) 130 130 % case of variable with a single dimension 131 OldDimName=Field_1.VarDimName{ilist}; 132 if ischar(OldDimName), OldDimName={OldDimName}; end% transform char string to cell if relevant 133 if numel(OldDimName)==1 134 OldDim=Field_1.(Field_1.ListVarName{ilist});% get variable 135 %look for the existence of the variable OldDim in the first field Field 136 for i1=1:numel(Field.ListVarName) 137 if isequal(Field.(Field.ListVarName{i1}),OldDim) &&... 138 ((isempty(ProjModeRequest{i1}) && isempty(ProjModeRequest_1{ilist})) || strcmp(ProjModeRequest{i1},ProjModeRequest_1{ilist})) 139 ind_remove(ilist)=1; 140 NewDimName=Field.VarDimName{i1}; 141 if ischar(NewDimName), NewDimName={NewDimName}; end %transform char chain to cell if needed 142 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 131 if ~isempty(regexp(Field_1.VarAttribute{ilist}.Role,'^coord')) 132 OldDimName=Field_1.VarDimName{ilist}; 133 if ischar(OldDimName), OldDimName={OldDimName}; end% transform char string to cell if relevant 134 if numel(OldDimName)==1 135 OldDim=Field_1.(Field_1.ListVarName{ilist});% get variable 136 %look for the existence of the variable OldDim in the first field Field 137 for i1=1:numel(Field.ListVarName) 138 if isequal(Field.(Field.ListVarName{i1}),OldDim) &&... 139 ((isempty(ProjModeRequest{i1}) && isempty(ProjModeRequest_1{ilist})) || strcmp(ProjModeRequest{i1},ProjModeRequest_1{ilist})) 140 ind_remove(ilist)=1; 141 NewDimName=Field.VarDimName{i1}; 142 if ischar(NewDimName), NewDimName={NewDimName}; end %transform char chain to cell if needed 143 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 144 end 143 145 end 144 146 end … … 152 154 ListVarNameNew=Field_1.ListVarName; 153 155 check_rename=zeros(size(ListVarNameNew)); 156 check_remove=zeros(size(ListVarNameNew)); 154 157 for ilist=1:numel(ListVarNameNew) 155 158 VarName=Field_1.ListVarName{ilist}; 156 159 ind_prev=find(strcmp(ListVarNameNew{ilist},Field.ListVarName),1);% look for duplicated variable name 157 160 if ~isempty(ind_prev)% variable name exists in Field 158 check_rename(ilist)=1; 159 ListVarNameNew{ilist}=[ListVarNameNew{ilist} '_1']; 161 % check_rename(ilist)=0; 162 check_remove(ilist)=1; 163 if isfield(Field_1.VarAttribute{ilist},'Role')&& ismember(Field_1.VarAttribute{ilist}.Role,{'scalar','vector_x','vector_y'}) 164 ListVarNameNew{ilist}=[ListVarNameNew{ilist} '_1']; 165 check_rename(ilist)=1; 166 end 160 167 end 161 168 SubData.ListVarName=[SubData.ListVarName ListVarNameNew{ilist}]; 162 169 SubData.VarDimName=[SubData.VarDimName Field_1.VarDimName(ilist)]; 170 Field_1.VarAttribute{ilist}.CheckSub=1; 171 SubData.VarAttribute=[SubData.VarAttribute Field_1.VarAttribute{ilist}]; 163 172 SubData.(ListVarNameNew{ilist})=Field_1.(VarName);% teke the values of the old variable for the newly named one 164 173 %SubData.VarAttribute=[SubData.VarAttribute Field_1.VarDimName(ilist)];
Note: See TracChangeset
for help on using the changeset viewer.