docs: def download_luts(**kwargs):
      """Download the luts from internet."""
      #
      import tarfile
      import requests
      TQDM_LOADED = True
      try:
          from tqdm import tqdm
      except ImportError:
          TQDM_LOADED = False
  
      dry_run = kwargs.get('dry_run', False)
  
      if 'aerosol_type' in kwargs:
          if isinstance(kwargs['aerosol_type'], (list, tuple, set)):
              aerosol_types = kwargs['aerosol_type']
          else:
              aerosol_types = [kwargs['aerosol_type'], ]
      else:
          aerosol_types = HTTPS_RAYLEIGH_LUTS.keys()
  
      chunk_size = 10124
  
      for subname in aerosol_types:
  
          LOG.debug('Aerosol type: %s', subname)
          http = HTTPS_RAYLEIGH_LUTS[subname]
          LOG.debug('URL = %s', http)
  
          subdir_path = RAYLEIGH_LUT_DIRS[subname]
          try:
              LOG.debug('Create directory: %s', subdir_path)
              if not dry_run:
                  os.makedirs(subdir_path)
          except OSError:
              if not os.path.isdir(subdir_path):
                  raise
  
          if dry_run:
              continue
  
          response = requests.get(http)
          total_size = int(response.headers['content-length'])
  
          filename = os.path.join(
              subdir_path, "pyspectral_rayleigh_correction_luts.tgz")
          if TQDM_LOADED:
              with open(filename, "wb") as handle:
                  for data in tqdm(iterable=response.iter_content(chunk_size=chunk_size),
                                   total=(total_size / chunk_size), unit='kB'):
                      handle.write(data)
          else:
              with open(filename, "wb") as handle:
                  for data in response.iter_content():
                      handle.write(data)
  
          tar = tarfile.open(filename)
          tar.extractall(subdir_path)
          tar.close()
          os.remove(filename)