Changeset 1194 for trunk/src/get_field.m
- Timestamp:
- Feb 23, 2026, 3:58:54 PM (8 days ago)
- File:
-
- 1 edited
-
trunk/src/get_field.m (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/get_field.m
r1162 r1194 428 428 pos(2)=pos_coord(2)-pos(4)-2; 429 429 set(handles.PanelScalar,'Position',pos) 430 set(handles.Coord_x,'Visible','on') 430 431 set(handles.Coord_y,'Visible','on') 431 432 set(handles.Y_title,'Visible','on') … … 507 508 %------------------------------------------------------------------------ 508 509 Field=get(handles.get_field,'UserData'); 509 VarIndex=find(strcmp(VarName,Field.Display.ListVarName),1); 510 DimCell=Field.Display.VarDimName{VarIndex}; 510 VarIndex=find(strcmp(VarName,Field.Display.ListVarName),1);% find the index of the input coord variable 511 DimCell=Field.Display.VarDimName{VarIndex};% dimension(s) of the input coord variable 511 512 512 513 513 514 %% set list of possible coordinates 514 515 test_coord=zeros(size(Field.Display.VarDimName)); %=1 when variable #ilist is eligible as structured coordiante 516 517 for ilist=1:numel(Field.Display.VarDimName) 518 %dimnames=Field.Display.VarDimName{ilist}; %list of dimensions for variable #ilist 519 % if isequal(dimnames,DimCell)||isequal(dimnames(1:end-1),DimCell)||isequal(dimnames(2:end),DimCell) 520 % if numel(dimnames)==1 || 521 % test_coord(ilist)=1; 522 % end 523 end 524 ListCoord=Field.Display.ListVarName;%(find(test_coord)); 515 if isequal(get(handles.FieldOption,'Value'),1)% case of 1D plot 516 test_coord=false(size(Field.Display.VarDimName)); %=true when variable #ilist is eligible as ordinate 517 for ilist=1:numel(Field.Display.VarDimName) 518 dimnames=Field.Display.VarDimName{ilist}; %list of dimensions for variable #ilist 519 if isequal(dimnames,DimCell)&& ~strcmp(Field.Display.ListVarName{ilist},VarName) %exclude the the same variable as coord_y 520 test_coord(ilist)=true; 521 elseif numel(dimnames)==2 && (isequal(dimnames(1),DimCell)||isequal(dimnames(2),DimCell)) 522 test_coord(ilist)=true; 523 end 524 end 525 ListCoord=Field.Display.ListVarName(test_coord); 526 else 527 ListCoord=Field.Display.ListVarName; 528 end 525 529 set(handles.Coord_y,'String',ListCoord) 526 530 val_y=1; … … 605 609 606 610 %% set list of possible coordinates 607 test_component= zeros(size(Field.Display.VarDimName));%=1 when variable #ilist is eligible as unstructured coordinate608 test_coord= zeros(size(Field.Display.VarDimName)); %=1 when variable #ilist is eligible as structured coordiante611 test_component=false(size(Field.Display.VarDimName));%=1 when variable #ilist is eligible as unstructured coordinate 612 test_coord=false(size(Field.Display.VarDimName)); %=1 when variable #ilist is eligible as structured coordiante 609 613 dim_var=Field.Display.VarDimName{scalar_index};%list of dimensions of the selected variable 610 %if ~get(handles.CheckDimensionX,'Value') 614 611 615 %look for coordinate variables among the other variables 612 616 for ilist=1:numel(Field.Display.VarDimName) 613 617 dimnames=Field.Display.VarDimName{ilist}; %list of dimensions for variable #ilist 614 618 if isequal(dimnames,dim_var) 615 test_component(ilist)= 1;% the listed variable has the same dimension as the selected scalar-> possibly chosen as unstructured coordinate619 test_component(ilist)=true;% the listed variable has the same dimension as the selected scalar-> possibly chosen as unstructured coordinate 616 620 elseif numel(dimnames)==1 && ~isempty(find(strcmp(dimnames{1},dim_var), 1))%variable ilist is a 1D array which can be coordinate variable 617 test_coord(ilist)=1; 618 end 619 end 620 %end 621 test_coord(ilist)=true; 622 % if strcmp(dimnames{1},Field.Display.ListVarName{ilist})% case of diemnsion with same name as the variable 623 % test_select(ilist)=true 624 end 625 end 626 621 627 var_component=find(test_component);% list of variable indices elligible as unstructured coordinates 622 628 var_coord=find(test_coord);% % list of variable indices elligible as gridded coordinates 623 index_coord=[];624 index_component=[];625 for iscalar=1:numel(scalar_index)626 index_component=[index_component find(var_component==scalar_index(iscalar),1)];627 index_coord=[index_coord find(var_coord==scalar_index(iscalar),1)];628 end629 var_component(index_component)=[];630 var_coord(index_coord)=[];629 % index_coord=[]; 630 % index_component=[]; 631 % for iscalar=1:numel(scalar_index) 632 % index_component=[index_component find(var_component==scalar_index(iscalar),1)]; 633 % index_coord=[index_coord find(var_coord==scalar_index(iscalar),1)]; 634 % end 635 % var_component(index_component)=[]; 636 % var_coord(index_coord)=[]; 631 637 ListCoord=Field.Display.ListVarName([var_coord var_component]); 632 coord_val=zeros(size(ListCoord));638 %coord_val=zeros(size(ListCoord)); 633 639 634 640 %% set default selection for grid coordinates 635 if numel(var_coord)>=2636 coord_val(1)=var_coord(end);637 coord_val(2)=var_coord(end-1);638 if numel(var_coord)>=3639 coord_val(3)=var_coord(end-2);640 end641 end641 % if numel(var_coord)>=2 642 % coord_val(1)=var_coord(end); 643 % coord_val(2)=var_coord(end-1); 644 % if numel(var_coord)>=3 645 % coord_val(3)=var_coord(end-2); 646 % end 647 % end 642 648 % if numel(find(test_coord))>3 643 649 % SwitchVarIndexTime=get(handles.SwitchVarIndexTime,'String'); … … 649 655 % SwitchVarIndexTime_Callback([], [], handles) 650 656 % end 657 coord_val=[]; 651 658 652 659 %% default selection for labelled unstructured coordinates … … 664 671 end 665 672 end 666 if numel(find(coord_val))<2 % no predefiend components 667 if numel(var_coord)>=3 668 coord_val(3)=3; 669 end 670 coord_val([1 2])=[1 2]; 673 % if numel(find(coord_val))<2 % no predefined components 674 % if numel(var_coord)>=3 675 % coord_val(3)=3; 676 % end 677 % coord_val([1 2])=[1 2]; 678 % end 679 %% structured coordinates 680 if isempty(coord_val)% structured coordinates 681 if numel(dim_var)>=3 682 ind_select3=find(strcmp(dim_var{3},ListCoord), 1); 683 if ~isempty(ind_select3) 684 coord_val(3)=ind_select3; 685 end 686 end 687 ind_select1=find(strcmp(dim_var{2},ListCoord)); 688 if ~isempty(ind_select1) 689 coord_val(1)=ind_select1; 690 end 691 ind_select2=find(strcmp(dim_var{1},ListCoord)); 692 if ~isempty(ind_select2) 693 coord_val(2)=ind_select2; 694 end 671 695 end 672 696 … … 676 700 set(handles.Coord_y,'Value',coord_val(2)) 677 701 set(handles.Coord_y,'String',ListCoord) 678 if numel( find(coord_val))>=3702 if numel(dim_var)>=3 679 703 set(handles.Coord_z,'Value',coord_val(3)) 680 704 set(handles.Coord_z,'String',ListCoord) … … 882 906 string=get(handles.Coord_x,'String'); 883 907 VarName=string{index}; 884 if ~ischar(DimCell) 885 update_field(handles,VarName) 908 if ~ischar(DimCell)% no dimension as input 909 update_field(handles,VarName)% update the display of the variable 'VarName' and its dimensions in the general list of variables 886 910 end 887 911 if isequal(get(handles.FieldOption,'Value'),1) 888 set_coord_y_options(handles,VarName)912 set_coord_y_options(handles,VarName) 889 913 end 890 914 … … 899 923 900 924 if ~ischar(DimCell) 901 update_field(handles,VarName)925 update_field(handles,VarName) 902 926 end 903 927 … … 911 935 VarName=string{index}; 912 936 if ~ischar(DimCell) 913 update_field(handles,VarName)937 update_field(handles,VarName) 914 938 end 915 939 … … 1003 1027 end 1004 1028 1005 1006 1007 % % --- Executes on button press in CheckDimensionY. 1008 % function CheckDimensionY_Callback(hObject, eventdata, handles) 1009 % FieldList=get(handles.FieldOption,'String'); 1010 % FieldOption=FieldList{get(handles.FieldOption,'Value')}; 1011 % switch FieldOption 1012 % case '1D plot' 1013 % 1014 % case {'scalar','pick variables'} 1015 % scalar_Callback(hObject, eventdata, handles) 1016 % case 'vectors' 1017 % end 1018 % 1019 % 1020 % % --- Executes on button press in CheckDimensionZ. 1021 % function CheckDimensionZ_Callback(hObject, eventdata, handles) 1022 % FieldList=get(handles.FieldOption,'String'); 1023 % FieldOption=FieldList{get(handles.FieldOption,'Value')}; 1024 % switch FieldOption 1025 % case '1D plot' 1026 % 1027 % case 'scalar' 1028 % scalar_Callback(hObject, eventdata, handles) 1029 % case 'vectors' 1030 % end 1031 1029 %------------------------------------------------------------------------ 1032 1030 % --- Executes on selection change in TimeName. 1031 %------------------------------------------------------------------------ 1033 1032 function TimeName_Callback(hObject, eventdata, handles) 1034 1033
Note: See TracChangeset
for help on using the changeset viewer.
