code: def fetch(version='bayestar2017'):
      
  
      doi = {
          'bayestar2015': '10.7910/DVN/40C44C',
          'bayestar2017': '10.7910/DVN/LCYHJG'
      }
  
      # Raise an error if the specified version of the map does not exist
      try:
          doi = doi[version]
      except KeyError as err:
          raise ValueError('Version "{}" does not exist. Valid versions are: {}'.format(
              version,
              ', '.join(['"{}"'.format(k) for k in doi.keys()])
          ))
  
      requirements = {
          'bayestar2015': {'contentType': 'application/x-hdf'},
          'bayestar2017': {'filename': 'bayestar2017.h5'}
      }[version]
  
      local_fname = os.path.join(data_dir(), 'bayestar', '{}.h5'.format(version))
  
      # Download the data
      fetch_utils.dataverse_download_doi(
          doi,
          local_fname,
          file_requirements=requirements)
docs: Downloads the specified version of the Bayestar dust map.
  
      Args:
          version (Optional[:obj:`str`]): The map version to download. Valid versions are
              :obj:`'bayestar2017'` (Green, Schlafly, Finkbeiner et al. 2018) and
              :obj:`'bayestar2015'` (Green, Schlafly, Finkbeiner et al. 2015). Defaults
              to :obj:`'bayestar2017'`.
  
      Raises:
          :obj:`ValueError`: The requested version of the map does not exist.
  
          :obj:`DownloadError`: Either no matching file was found under the given DOI, or
              the MD5 sum of the file was not as expected.
  
          :obj:`requests.exceptions.HTTPError`: The given DOI does not exist, or there
              was a problem connecting to the Dataverse.