docs: def _validate_hazard_metadata(md):
      """
      Validate metadata `dict` of attributes, which are more or less the same for
      hazard curves, hazard maps, and disaggregation histograms.
  
      :param dict md:
          `dict` which can contain the following keys:
  
          * statistics
          * gsimlt_path
          * smlt_path
          * imt
          * sa_period
          * sa_damping
  
      :raises:
          :exc:`ValueError` if the metadata is not valid.
      """
      if (md.get('statistics') is not None and (
              md.get('smlt_path') is not None or
              md.get('gsimlt_path') is not None)):
          raise ValueError('Cannot specify both `statistics` and logic tree '
                           'paths')
  
      if md.get('statistics') is not None:
          # make sure only valid statistics types are specified
          if md.get('statistics') not in ('mean', 'max', 'quantile', 'std'):
              raise ValueError('`statistics` must be either `mean`, `max`, or '
                               '`quantile`')
      else:
          # must specify both logic tree paths
          if md.get('smlt_path') is None or md.get('gsimlt_path') is None:
              raise ValueError('Both logic tree paths are required for '
                               'non-statistical results')
  
      if md.get('statistics') == 'quantile':
          if md.get('quantile_value') is None:
              raise ValueError('quantile stastics results require a quantile'
                               ' value to be specified')
  
      if not md.get('statistics') == 'quantile':
          if md.get('quantile_value') is not None:
              raise ValueError('Quantile value must be specified with '
                               'quantile statistics')
  
      if md.get('imt') == 'SA':
          if md.get('sa_period') is None:
              raise ValueError('`sa_period` is required for IMT == `SA`')
          if md.get('sa_damping') is None:
              raise ValueError('`sa_damping` is required for IMT == `SA`')