class_docstr: File handler for SEVIRI L2 BUFR products.
  
  **Loading data with AreaDefinition**
  
  By providing the `with_area_definition` as True in the `reader_kwargs`, the dataset is loaded with
  an AreaDefinition using a standardized AreaDefinition in areas.yaml. By default, the dataset will
  be loaded with a SwathDefinition, i.e. similar to how the data are stored in the BUFR file:
  
      scene = satpy.Scene(filenames,
                          reader='seviri_l2_bufr',
                          reader_kwargs={'with_area_definition': False})
  
  **Defining dataset recticifation longitude**
  
  The BUFR data were originally extracted from a rectified two-dimensional grid with a given central longitude
  (typically the sub-satellite point). This information is not available in the file itself nor the filename (for
  files from the EUMETSAT archive). Also, it cannot be reliably derived from all datasets themselves. Hence, the
  rectification longitude can be defined by the user by providing `rectification_longitude` in the `reader_kwargs`:
  
      scene = satpy.Scene(filenames,
                          reader='seviri_l2_bufr',
                          reader_kwargs={'rectification_longitude': 0.0})
  
  If not done, default values applicable to the operational grids of the respective SEVIRI instruments will be used.
class_docstr_tok: ["File","handler","for","SEVIRI","L2","BUFR","products",".","*","*","Loading","data","with","AreaDefinition","*","*","By","providing","the","`","with_area_definition","`","as","True","in","the","`","reader_kwargs","`",",","the","dataset","is","loaded","with","an","AreaDefinition","using","a","standardized","AreaDefinition","in","areas.yaml",".","By","default",",","the","dataset","will","be","loaded","with","a","SwathDefinition",",","i.e",".","similar","to","how","the","data","are","stored","in","the","BUFR","file",":","scene","=","satpy.Scene","(","filenames",",","reader='seviri_l2_bufr","'",",","reader_kwargs=","{","'with_area_definition","'",":","False","}",")","*","*","Defining","dataset","recticifation","longitude","*","*","The","BUFR","data","were","originally","extracted","from","a","rectified","two-dimensional","grid","with","a","given","central","longitude","(","typically","the","sub-satellite","point",")",".","This","information","is","not","available","in","the","file","itself","nor","the","filename","(","for","files","from","the","EUMETSAT","archive",")",".","Also",",","it","can","not","be","reliably","derived","from","all","datasets","themselves",".","Hence",",","the","rectification","longitude","can","be","defined","by","the","user","by","providing","`","rectification_longitude","`","in","the","`","reader_kwargs","`",":","scene","=","satpy.Scene","(","filenames",",","reader='seviri_l2_bufr","'",",","reader_kwargs=","{","'rectification_longitude","'",":","0.0","}",")","If","not","done",",","default","values","applicable","to","the","operational","grids","of","the","respective","SEVIRI","instruments","will","be","used","."]
docstr: Return the area definition.
docstr_tok: ["Return","the","area","definition","."]
code: def get_area_def(self, key):
      """Return the area definition."""
      try:
          return self._area_def
      except AttributeError:
          raise NotImplementedError
  
imports: import logging
  from datetime import datetime, timedelta
  import dask.array
  import numpy
  import xarray
  from satpy.readers._geos_area import get_geos_area_naming
  from satpy.readers.eum_base import get_service_mode, recarray2dict
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.readers.seviri_base import mpef_product_header
  from satpy.resample import get_area_def
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 6 for calling the SeviriL2BufrFileHandler obj's underlying member method code with example usage: obj.get_area_def(key) and returns: self