1212import six
1313from copy import deepcopy as _deepcopy
1414import logging
15+ import inspect
1516import pickle
1617from importlib import import_module
1718from itertools import chain , repeat , cycle , count
3334 ArrayList , open_dataset , open_mfdataset , _MissingModule ,
3435 to_netcdf , Signal , CFDecoder , safe_list , InteractiveList )
3536from psyplot .plotter import unique_everseen , Plotter
36- from psyplot .compat .pycompat import OrderedDict , range , getcwd
37+ from psyplot .compat .pycompat import (OrderedDict , range , getcwd ,
38+ get_default_value as _get_default_value )
3739try :
3840 from cdo import Cdo as _CdoBase
3941 with_cdo = True
6264_versions = get_versions (requirements = False )
6365
6466
67+ _concat_dim_default = _get_default_value (xarray .open_mfdataset , 'concat_dim' )
68+
69+
6570def _update_versions ():
6671 """Update :attr:`_versions` with the registered plotter methods"""
6772 for pm_name in plot ._plot_methods :
@@ -410,13 +415,16 @@ def close(self, figs=True, data=False, ds=False):
410415 docstrings .delete_params ('ArrayList.from_dataset.parameters' , 'base' )
411416 docstrings .delete_kwargs ('ArrayList.from_dataset.other_parameters' ,
412417 kwargs = 'kwargs' )
418+ docstrings .keep_params ('xarray.open_mfdataset.parameters' , 'concat_dim' )
413419
414420 @_only_main
415421 @docstrings .get_sectionsf ('Project._add_data' )
416422 @docstrings .dedent
417423 def _add_data (self , plotter_cls , filename_or_obj , fmt = {}, make_plot = True ,
418424 draw = None , mf_mode = False , ax = None , engine = None , delete = True ,
419- share = False , clear = False , enable_post = None , * args , ** kwargs ):
425+ share = False , clear = False , enable_post = None ,
426+ concat_dim = _concat_dim_default ,
427+ * args , ** kwargs ):
420428 """
421429 Extract data from a dataset and visualize it with the given plotter
422430
@@ -465,6 +473,8 @@ def _add_data(self, plotter_cls, filename_or_obj, fmt={}, make_plot=True,
465473 enabled and post processing scripts are allowed. If ``None``, this
466474 parameter is set to True if there is a value given for the `post`
467475 formatoption in `fmt` or `kwargs`
476+ %(xarray.open_mfdataset.parameters.concat_dim)s
477+ This parameter only does have an effect if `mf_mode` is True.
468478 %(ArrayList.from_dataset.parameters.no_base)s
469479
470480 Other Parameters
@@ -476,7 +486,8 @@ def _add_data(self, plotter_cls, filename_or_obj, fmt={}, make_plot=True,
476486 if not isinstance (filename_or_obj , xarray .Dataset ):
477487 if mf_mode :
478488 filename_or_obj = open_mfdataset (filename_or_obj ,
479- engine = engine )
489+ engine = engine ,
490+ concat_dim = concat_dim )
480491 else :
481492 filename_or_obj = open_dataset (filename_or_obj ,
482493 engine = engine )
0 commit comments