title: python-xarray: open_mfdataset concat along two dimensions
body: <p>I have files which are made of 10 ensembles and 35 time files. One of these files looks like:</p>
  
  <pre><code>&gt;&gt;&gt; xr.open_dataset('ens1/CCSM4_ens1_07ic_19820701-19820731_NPac_Jul.nc')
  &lt;xarray.Dataset&gt;
  Dimensions:    (ensemble: 1, latitude: 66, longitude: 191, time: 31)
  Coordinates:
    * ensemble   (ensemble) int32 1
    * latitude   (latitude) float32 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 ...
    * longitude  (longitude) float32 100.0 101.0 102.0 103.0 104.0 105.0 106.0 ...
    * time       (time) datetime64[ns] 1982-07-01 1982-07-02 1982-07-03 ...
  Data variables:
      u10m       (time, latitude, longitude) float64 -1.471 -0.05933 -1.923 ...
  Attributes:
      CDI:                       Climate Data Interface version 1.6.5 (http://c...
      history:                   Wed Nov 22 21:54:08 2017: ncks -O -d longitude...
      Conventions:               CF-1.4
      CDO:                       Climate Data Operators version 1.6.5 (http://c...
      nco_openmp_thread_number:  1
      NCO:                       4.3.7
  </code></pre>
  
  <p>When I use <a href="http://xarray.pydata.org/en/stable/generated/xarray.open_mfdataset.html#xarray.open_mfdataset" rel="noreferrer"><code>open_mfdataset</code></a> the files are concatenated along the time dimension and the ensemble dimension is dropped (possible because it has a size of 1)?</p>
  
  <pre><code>&gt;&gt;&gt; xr.open_mfdataset('ens*/*NPac*.nc')
  &lt;xarray.Dataset&gt;
  Dimensions:    (latitude: 66, longitude: 191, time: 10850)
  Coordinates:
    * latitude   (latitude) float32 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 ...
    * longitude  (longitude) float32 100.0 101.0 102.0 103.0 104.0 105.0 106.0 ...
    * time       (time) datetime64[ns] 1982-07-01 1982-07-02 1982-07-03 ...
  Data variables:
      u10m       (time, latitude, longitude) float64 -1.471 -0.05933 -1.923 ...
  </code></pre>
  
  <p>I'm not sure if it possible to concat along the ensemble dimension as well?</p>
  
  <p>I did a simple test using <a href="http://xarray.pydata.org/en/stable/generated/xarray.merge.html" rel="noreferrer"><code>merge</code></a> as given here <a href="https://stackoverflow.com/questions/39562113/error-on-using-xarray-open-mfdataset-function">Error on using xarray open_mfdataset function</a> but it fails:</p>
  
  <pre><code>&gt;&gt;&gt; ds = xr.open_mfdataset('ens1/*NPac*')
  &lt;xarray.Dataset&gt;
  Dimensions:    (ensemble: 1, latitude: 66, longitude: 191, time: 1085)
  Coordinates:
    * ensemble   (ensemble) int32 1
    * latitude   (latitude) float32 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 ...
    * longitude  (longitude) float32 100.0 101.0 102.0 103.0 104.0 105.0 106.0 ...
    * time       (time) datetime64[ns] 1982-07-01 1982-07-02 1982-07-03 ...
  Data variables:
      u10m       (time, latitude, longitude) float64 -1.471 -0.05933 -1.923 ...
  &gt;&gt;&gt; ds2 = xr.open_mfdataset('ens2/*NPac*')
  &lt;xarray.Dataset&gt;
  Dimensions:    (ensemble: 1, latitude: 66, longitude: 191, time: 1085)
  Coordinates:
    * ensemble   (ensemble) int32 2
    * latitude   (latitude) float32 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 ...
    * longitude  (longitude) float32 100.0 101.0 102.0 103.0 104.0 105.0 106.0 ...
    * time       (time) datetime64[ns] 1982-07-01 1982-07-02 1982-07-03 ...
  Data variables:
      u10m       (time, latitude, longitude) float64 3.992 2.099 -0.3162 ...
  &gt;&gt;&gt; ds3 = xr.merge([ds, ds2])
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
    File "/nethome/rxb826/local/bin/miniconda3/lib/python3.6/site-packages/xarray/core/merge.py", line 513, in merge
      variables, coord_names, dims = merge_core(dict_like_objects, compat, join)
    File "/nethome/rxb826/local/bin/miniconda3/lib/python3.6/site-packages/xarray/core/merge.py", line 432, in merge_core
      variables = merge_variables(expanded, priority_vars, compat=compat)
    File "/nethome/rxb826/local/bin/miniconda3/lib/python3.6/site-packages/xarray/core/merge.py", line 166, in merge_variables
      merged[name] = unique_variable(name, variables, compat)
    File "/nethome/rxb826/local/bin/miniconda3/lib/python3.6/site-packages/xarray/core/merge.py", line 85, in unique_variable
      % (name, out, var))
  xarray.core.merge.MergeError: conflicting values for variable 'u10m' on objects to be combined:
  first value: &lt;xarray.Variable (time: 1085, latitude: 66, longitude: 191)&gt;
  dask.array&lt;shape=(1085, 66, 191), dtype=float64, chunksize=(31, 66, 191)&gt;
  Attributes:
      long_name:  10m U component of wind
      units:      m s**-1
  second value: &lt;xarray.Variable (time: 1085, latitude: 66, longitude: 191)&gt;
  dask.array&lt;shape=(1085, 66, 191), dtype=float64, chunksize=(31, 66, 191)&gt;
  Attributes:
      long_name:  10m U component of wind
      units:      m s**-1
  </code></pre>
  
  <p>I'm using v0.10.0 (thanks for the recent update!)</p>