class_docstr: Container for multiple `Scene` objects.
class_docstr_tok: ["Container","for","multiple","`","Scene","`","objects","."]
docstr: Run save_datasets on each Scene.
  
  Note that some writers may not be multi-process friendly and may
  produce unexpected results or fail by raising an exception. In
  these cases ``client`` should be set to ``False``.
  This is currently a known issue for basic 'geotiff' writer work loads.
  
  Args:
      batch_size (int): Number of scenes to compute at the same time.
          This only has effect if the `dask.distributed` package is
          installed. This will default to 1. Setting this to 0 or less
          will attempt to process all scenes at once. This option should
          be used with care to avoid memory issues when trying to
          improve performance.
      client (bool or dask.distributed.Client): Dask distributed client
          to use for computation. If this is ``True`` (default) then
          any existing clients will be used.
          If this is ``False`` or ``None`` then a client will not be
          created and ``dask.distributed`` will not be used. If this
          is a dask ``Client`` object then it will be used for
          distributed computation.
      kwargs: Additional keyword arguments to pass to
              :meth:`~satpy.scene.Scene.save_datasets`.
              Note ``compute`` can not be provided.
code: def save_datasets(self, client=True, batch_size=1, **kwargs):
      """Run save_datasets on each Scene.
  
      Note that some writers may not be multi-process friendly and may
      produce unexpected results or fail by raising an exception. In
      these cases ``client`` should be set to ``False``.
      This is currently a known issue for basic 'geotiff' writer work loads.
  
      Args:
          batch_size (int): Number of scenes to compute at the same time.
              This only has effect if the `dask.distributed` package is
              installed. This will default to 1. Setting this to 0 or less
              will attempt to process all scenes at once. This option should
              be used with care to avoid memory issues when trying to
              improve performance.
          client (bool or dask.distributed.Client): Dask distributed client
              to use for computation. If this is ``True`` (default) then
              any existing clients will be used.
              If this is ``False`` or ``None`` then a client will not be
              created and ``dask.distributed`` will not be used. If this
              is a dask ``Client`` object then it will be used for
              distributed computation.
          kwargs: Additional keyword arguments to pass to
                  :meth:`~satpy.scene.Scene.save_datasets`.
                  Note ``compute`` can not be provided.
  
      """
      if "compute" in kwargs:
          raise ValueError(
              "The 'compute' keyword argument can not be provided."
          )
  
      client = self._get_client(client=client)
  
      scenes = iter(self._scenes)
      if client is not None:
          self._distribute_save_datasets(
              scenes, client, batch_size=batch_size, **kwargs
          )
      else:
          self._simple_save_datasets(scenes, **kwargs)
  
imports: from __future__ import annotations
  import copy
  import logging
  import warnings
  from queue import Queue
  from threading import Thread
  from typing import Callable, Collection, Mapping
  import dask.array
  import numpy
  import xarray
  from satpy.dataset import DataID
  from satpy.scene import Scene
  from satpy.writers import get_enhanced_image, split_results
label_desc: Use image node_id 20 for calling the MultiScene obj's underlying member method code with example usage: obj.save_datasets(client, batch_size) without return types