Changeset 581 for trunk/src/read_civdata.m
- Timestamp:
- Mar 12, 2013, 12:52:13 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/read_civdata.m
r580 r581 62 62 errormsg=''; 63 63 if ischar(FieldNames), FieldNames={FieldNames}; end; 64 FieldRequest='';64 ProjModeRequest=''; 65 65 for ilist=1:length(FieldNames) 66 66 if ~isempty(FieldNames{ilist}) 67 67 switch FieldNames{ilist} 68 68 case{'U','V','norm(U,V)'} 69 FieldRequest='interp_lin';69 ProjModeRequest='interp_lin'; 70 70 case {'curl(U,V)','div(U,V)','strain(U,V)'} 71 FieldRequest='interp_tps';71 ProjModeRequest='interp_tps'; 72 72 end 73 73 end … … 76 76 %% reading data 77 77 Data=nc2struct(filename,'ListGlobalAttribute','CivStage'); 78 [varlist,role,VelTypeOut]=varcivx_generator( FieldRequest,VelType,Data.CivStage);78 [varlist,role,VelTypeOut]=varcivx_generator(ProjModeRequest,VelType,Data.CivStage); 79 79 if isempty(varlist) 80 80 erromsg=['error in read_civdata: unknow velocity type ' VelType]; … … 109 109 Field.ListGlobalAttribute=[Field.ListGlobalAttribute {'Dt','Time'}]; 110 110 ivar_U_tps=[]; 111 ivar_V_tps=[]; 111 112 var_ind=find(vardetect); 112 113 for ivar=1:numel(var_ind) 113 114 Field.VarAttribute{ivar}.Role=role{var_ind(ivar)}; 114 Field.VarAttribute{ivar}.FieldRequest=FieldRequest;115 115 if strcmp(role{var_ind(ivar)},'vector_x') 116 116 Field.VarAttribute{ivar}.FieldName=FieldNames; 117 Field.VarAttribute{ivar}.ProjModeRequest=ProjModeRequest; 117 118 ivar_U=ivar; 118 119 end 119 120 if strcmp(role{var_ind(ivar)},'vector_x_tps') 120 121 Field.VarAttribute{ivar}.FieldName=FieldNames; 122 Field.VarAttribute{ivar}.ProjModeRequest=ProjModeRequest; 121 123 ivar_U_tps=ivar; 122 124 end 123 % Field.VarAttribute{ivar}.Unit=units{var_ind(ivar)}; 125 if strcmp(role{var_ind(ivar)},'vector_y') 126 Field.VarAttribute{ivar}.FieldName=FieldNames; 127 Field.VarAttribute{ivar}.ProjModeRequest=ProjModeRequest; 128 ivar_V=ivar; 129 end 130 if strcmp(role{var_ind(ivar)},'vector_y_tps') 131 Field.VarAttribute{ivar}.FieldName=FieldNames; 132 Field.VarAttribute{ivar}.ProjModeRequest=ProjModeRequest; 133 ivar_V_tps=ivar; 134 end 124 135 Field.VarAttribute{ivar}.Mesh=0.1;%typical mesh for histograms O.1 pixel 125 136 end … … 127 138 Field.VarAttribute{ivar_U}.VarIndex_tps=ivar_U_tps; 128 139 end 129 140 if ~isempty(ivar_V_tps) 141 Field.VarAttribute{ivar_V}.VarIndex_tps=ivar_V_tps; 142 end 143 144 %% update list of global attributes 130 145 Field.ListGlobalAttribute=[Field.ListGlobalAttribute {'NbCoord','NbDim','TimeUnit','CoordUnit'}]; 131 % %% update list of global attributes132 146 Field.NbCoord=2; 133 147 Field.NbDim=2; … … 146 160 % if vel_type=[] or'*', a priority choice is done, civ2 considered better than civ1 ) 147 161 148 function [var,role,vel_type_out,errormsg]=varcivx_generator( FieldRequest,vel_type,CivStage)162 function [var,role,vel_type_out,errormsg]=varcivx_generator(ProjModeRequest,vel_type,CivStage) 149 163 150 164 %% default input values … … 154 168 155 169 %% select the priority order for automatic vel_type selection 156 if strcmp(vel_type,'civ2') && strcmp( FieldRequest,'derivatives')170 if strcmp(vel_type,'civ2') && strcmp(ProjModeRequest,'derivatives') 157 171 vel_type='filter2'; 158 elseif strcmp(vel_type,'civ1') && strcmp( FieldRequest,'derivatives')172 elseif strcmp(vel_type,'civ1') && strcmp(ProjModeRequest,'derivatives') 159 173 vel_type='filter1'; 160 174 end … … 164 178 vel_type='filter2'; 165 179 case {4,5}% civ2 available but not filter2 166 if strcmp( FieldRequest,'derivatives')% derivatives needed180 if strcmp(ProjModeRequest,'derivatives')% derivatives needed 167 181 vel_type='filter1'; 168 182 else … … 203 217 % units={'pixel','pixel','pixel','pixel','pixel','pixel','','','','pixel','pixel','pixel','pixel','pixel',''}; 204 218 end 205 if ~strcmp( FieldRequest,'interp_tps')219 if ~strcmp(ProjModeRequest,'interp_tps') 206 220 var=var(:,1:9);%suppress tps if not needed 207 221 end
Note: See TracChangeset
for help on using the changeset viewer.