code: def hazard_extra_keyword(keyword, feature, parent):
      
      _ = feature, parent  # NOQA
      hazard_layer_path = QgsExpressionContextUtils. \
          projectScope(QgsProject.instance()).variable(
            'hazard_layer')
      hazard_layer = load_layer(hazard_layer_path)[0]
      keywords = KeywordIO.read_keywords(hazard_layer)
      extra_keywords = keywords.get('extra_keywords')
      if extra_keywords:
          value = extra_keywords.get(keyword)
          if value:
              value_definition = definition(value)
              if value_definition:
                  return value_definition['name']
              return value
          else:
              return tr('Keyword %s is not found' % keyword)
      return tr('No extra keywords found')
docs: Given a keyword, it will return the value of the keyword
      from the hazard layer's extra keywords.
  
      For instance:
      *   hazard_extra_keyword( 'depth' ) -> will return the value of 'depth'
          in current hazard layer's extra keywords.