Index: /trunk/src/find_field_bounds.m
===================================================================
--- /trunk/src/find_field_bounds.m	(revision 1027)
+++ /trunk/src/find_field_bounds.m	(revision 1028)
@@ -47,5 +47,5 @@
 end
 FieldOut.NbDim=NbDim;
-if  NbDim<=1; return; end% stop here for 1D fields
+%if  NbDim<=1; return; end% stop here for 1D fields
  
 %% get bounds and mesh (needed  to propose default options for projection objects)
@@ -66,15 +66,40 @@
             CellInfo{imax(ind)}.CoordIndex(4:end)=[];
         end
-        XName=Field.ListVarName{CellInfo{imax(ind)}.CoordIndex(end)};
-        YName=Field.ListVarName{CellInfo{imax(ind)}.CoordIndex(end-1)};
-        CoordMax(ind,NbDim)=max(max(Field.(XName)));
-        CoordMin(ind,NbDim)=min(min(Field.(XName)));
-        CoordMax(ind,NbDim-1)=max(max(Field.(YName)));
-        CoordMin(ind,NbDim-1)=min(min(Field.(YName)));
-        %         test_x=1;%test for unstructured coordinates
-        if NbDim==3
-            ZName=Field.ListVarName{CellInfo{imax(ind)}.CoordIndex(1)};
-            CoordMax(ind,NbDim-2)=max(max(Field.(ZName)));
-            CoordMin(ind,NbDim-2)=min(min(Field.(ZName)));
+        if isempty(CellInfo{imax(ind)}.CoordIndex)
+            FieldName=CellInfo{imax(ind)}.FieldName;
+            DimList=Field.VarDimName{imax(ind)};
+            siz=size(DimList);
+
+            FieldOut.(DimList{end})=1:siz(end);
+            FieldOut.ListVarName=[FieldOut.ListVarName DimList(end)];
+            FieldOut.VarDimName=[FieldOut.VarDimName DimList(end)];
+            CoordMax(ind,numel(siz))=siz(end);
+            if numel(siz)>=2
+                FieldOut.(DimList{end-1})=1:siz(end-1);
+                CoordMax(ind,numel(siz)-1)=siz(end-1);
+                FieldOut.ListVarName=[FieldOut.ListVarName DimList(end-1)];
+                FieldOut.VarDimName=[FieldOut.VarDimName DimList(end-1)];
+            end
+            if numel(siz)>=3
+                FieldOut.(DimList{1})=1:siz(1);
+                CoordMax(ind,1)=siz(1);
+                FieldOut.ListVarName=[FieldOut.ListVarName DimList(1)];
+                FieldOut.VarDimName=[FieldOut.VarDimName DimList(1)];
+            end
+            CoordMin(ind,1:numel(siz))=1;
+            CellInfo{imax(ind)}.CoordSize=CoordMax(ind,:);
+        else
+            XName=Field.ListVarName{CellInfo{imax(ind)}.CoordIndex(end)};
+            YName=Field.ListVarName{CellInfo{imax(ind)}.CoordIndex(end-1)};
+            CoordMax(ind,NbDim)=max(max(Field.(XName)));
+            CoordMin(ind,NbDim)=min(min(Field.(XName)));
+            CoordMax(ind,NbDim-1)=max(max(Field.(YName)));
+            CoordMin(ind,NbDim-1)=min(min(Field.(YName)));
+            %         test_x=1;%test for unstructured coordinates
+            if NbDim==3
+                ZName=Field.ListVarName{CellInfo{imax(ind)}.CoordIndex(1)};
+                CoordMax(ind,NbDim-2)=max(max(Field.(ZName)));
+                CoordMin(ind,NbDim-2)=min(min(Field.(ZName)));
+            end
         end
     end
@@ -87,5 +112,5 @@
             NbPoints=CellInfo{imax(ind)}.CoordSize;% nbre of points in each direction
             if Check4D
-               NbPoints=NbPoints(1:3);
+                NbPoints=NbPoints(1:3);
             end
             Mesh(ind)=min((CoordMax(ind,:)-CoordMin(ind,:))./(NbPoints-1));
@@ -98,5 +123,5 @@
             FieldOut.ProjModeRequest='interp_lin';
         end
-    end  
+    end
 end
 Mesh=min(Mesh);
Index: /trunk/src/get_field.m
===================================================================
--- /trunk/src/get_field.m	(revision 1027)
+++ /trunk/src/get_field.m	(revision 1028)
@@ -149,6 +149,17 @@
     ListSwitchVarIndexTime=[ListSwitchVarIndexTime; {'attribute'}];% the time can be chosen as a global attribute
 end
+
+Check_index=0;
 if Field.MaxDim>=2
     ListSwitchVarIndexTime=[ListSwitchVarIndexTime;{'variable'};{'matrix index'}];% the time can be chosen as a dim index
+else
+    for ilist=1:numel(Field.Display.VarDimName)
+        NbComponent=numel(Field.Display.VarDimName{ilist});
+        if NbComponent>=2% multicomponent matrices without coordinate variables (thus not considered in the fct find_field_cell)
+            ListSwitchVarIndexTime=[ListSwitchVarIndexTime;{'matrix index'}];% the time can be chosen as a dim index
+            Check_index=1;
+            break
+        end
+    end
 end
 
@@ -220,6 +231,5 @@
     if check_vec_input
         set(handles.FieldOption,'Value',3)% set vector selection option
-    else
-        
+    else     
         set(handles.FieldOption,'Value',2)% set scalar selection option
     end
