docs: def list_generators(self, session):
          """
          List renewable (res) and conventional (conv) generators
  
          Args
          ----
          session : sqlalchemy.orm.session.Session
              Database session
              
          Returns
          -------
          DataFrame
          """
          srid = str(int(cfg_ding0.get('geo', 'srid')))
  
          # build dicts to map MV grid district and Load Area ids to related objects
          mv_grid_districts_dict,\
          lv_load_areas_dict,\
          lv_grid_districts_dict,\
          lv_stations_dict = self.get_mvgd_lvla_lvgd_obj_from_id()
  
          # import renewable generators
          # build query
          generators_sqla = session.query(
                  self.orm['orm_re_generators'].columns.id,
                  self.orm['orm_re_generators'].columns.subst_id,
                  self.orm['orm_re_generators'].columns.la_id,
                  self.orm['orm_re_generators'].columns.mvlv_subst_id,
                  self.orm['orm_re_generators'].columns.electrical_capacity,
                  self.orm['orm_re_generators'].columns.generation_type,
                  self.orm['orm_re_generators'].columns.generation_subtype,
                  self.orm['orm_re_generators'].columns.voltage_level,
                  func.ST_AsText(func.ST_Transform(
                     self.orm['orm_re_generators'].columns.rea_geom_new, srid)).label('geom_new'),
                  func.ST_AsText(func.ST_Transform(
                     self.orm['orm_re_generators'].columns.geom, srid)).label('geom')
                  ).filter(
                  self.orm['orm_re_generators'].columns.subst_id.in_(list(mv_grid_districts_dict))). \
                  filter(self.orm['orm_re_generators'].columns.voltage_level.in_([4, 5, 6, 7])). \
                  filter(self.orm['version_condition_re'])
  
          # read data from db
          generators_res = pd.read_sql_query(generators_sqla.statement,
                                          session.bind,
                                          index_col='id')
  
          generators_res.columns = ['GenCap' if c=='electrical_capacity' else
                                    'type' if c=='generation_type' else
                                    'subtype' if c=='generation_subtype' else
                                    'v_level' if c=='voltage_level' else
                                    c for c in generators_res.columns]
          ###########################
          # Imports conventional (conv) generators
          # build query
          generators_sqla = session.query(
                  self.orm['orm_conv_generators'].columns.id,
                  self.orm['orm_conv_generators'].columns.subst_id,
                  self.orm['orm_conv_generators'].columns.name,
                  self.orm['orm_conv_generators'].columns.capacity,
                  self.orm['orm_conv_generators'].columns.fuel,
                  self.orm['orm_conv_generators'].columns.voltage_level,
                  func.ST_AsText(func.ST_Transform(
                     self.orm['orm_conv_generators'].columns.geom, srid)).label('geom')
                  ).filter(
                  self.orm['orm_conv_generators'].columns.subst_id.in_(list(mv_grid_districts_dict))). \
                  filter(self.orm['orm_conv_generators'].columns.voltage_level.in_([4, 5, 6])). \
                  filter(self.orm['version_condition_conv'])
  
          # read data from db
          generators_conv = pd.read_sql_query(generators_sqla.statement,
                                             session.bind,
                                             index_col='id')
  
          generators_conv.columns = ['GenCap' if c=='capacity' else
                                     'type' if c=='fuel' else
                                     'v_level' if c=='voltage_level' else
                                     c for c in generators_conv.columns]
          ###########################
          generators = pd.concat([generators_conv, generators_res], axis=0)
          generators = generators.fillna('other')
          return generators