code: def load_scalars(filename, strict_type_checks=True):
      
  
      # Parse the scalar definitions from the YAML file.
      scalars = None
      try:
          with open(filename, 'r') as f:
              scalars = yaml.safe_load(f)
      except IOError as e:
          raise ParserError('Error opening ' + filename + ': ' + e.message)
      except ValueError as e:
          raise ParserError('Error parsing scalars in {}: {}'
                            '.\nSee: {}'.format(filename, e.message, BASE_DOC_URL))
  
      scalar_list = []
  
      # Scalars are defined in a fixed two-level hierarchy within the definition file.
      # The first level contains the category name, while the second level contains the
      # probe name (e.g. "category.name: probe: ...").
      for category_name in scalars:
          category = scalars[category_name]
  
          # Make sure that the category has at least one probe in it.
          if not category or len(category) == 0:
              raise ParserError('Category "{}" must have at least one probe in it' +
                                '.\nSee: {}'.format(category_name, BASE_DOC_URL))
  
          for probe_name in category:
              # We found a scalar type. Go ahead and parse it.
              scalar_info = category[probe_name]
              scalar_list.append(
                  ScalarType(category_name, probe_name, scalar_info, strict_type_checks))
  
      return scalar_list
docs: Parses a YAML file containing the scalar definition.
  
      :param filename: the YAML file containing the scalars definition.
      :raises ParserError: if the scalar file cannot be opened or parsed.