Code Duplication    Length = 24-24 lines in 2 locations

src/egon/data/datasets/heat_supply/individual_heating.py 2 locations

@@ 1670-1693 (lines=24) @@
1667
    logger.info(f"Bulk takes care of MVGD: {min(mvgd_ids)} - {max(mvgd_ids)}")
1668
    func(mvgd_ids)
1669
1670
def split_mvgds_into_bulks_pypsa_eur_sec(n, max_n, func):
1671
    """"""
1672
1673
    with db.session_scope() as session:
1674
        query = (
1675
            session.query(
1676
                MapZensusGridDistricts.bus_id,
1677
            )
1678
            .filter(
1679
                MapZensusGridDistricts.zensus_population_id
1680
                == EgonPetaHeat.zensus_population_id
1681
            )
1682
            .distinct(MapZensusGridDistricts.bus_id)
1683
        )
1684
    mvgd_ids = pd.read_sql(query.statement, query.session.bind, index_col=None)
1685
1686
    mvgd_ids = mvgd_ids.sort_values("bus_id").reset_index(drop=True)
1687
1688
    mvgd_ids = np.array_split(mvgd_ids["bus_id"].values, max_n)
1689
    # Only take split n
1690
    mvgd_ids = mvgd_ids[n]
1691
1692
    logger.info(f"Bulk takes care of MVGD: {min(mvgd_ids)} - {max(mvgd_ids)}")
1693
    func(mvgd_ids)
1694
1695
1696
def create_peak_load_table():
@@ 1645-1668 (lines=24) @@
1642
    export_min_cap_to_csv(df_hp_min_cap_mv_grid_pypsa_eur_sec)
1643
1644
1645
def split_mvgds_into_bulks_2035(n, max_n, func):
1646
    """"""
1647
1648
    with db.session_scope() as session:
1649
        query = (
1650
            session.query(
1651
                MapZensusGridDistricts.bus_id,
1652
            )
1653
            .filter(
1654
                MapZensusGridDistricts.zensus_population_id
1655
                == EgonPetaHeat.zensus_population_id
1656
            )
1657
            .distinct(MapZensusGridDistricts.bus_id)
1658
        )
1659
    mvgd_ids = pd.read_sql(query.statement, query.session.bind, index_col=None)
1660
1661
    mvgd_ids = mvgd_ids.sort_values("bus_id").reset_index(drop=True)
1662
1663
    mvgd_ids = np.array_split(mvgd_ids["bus_id"].values, max_n)
1664
    # Only take split n
1665
    mvgd_ids = mvgd_ids[n]
1666
1667
    logger.info(f"Bulk takes care of MVGD: {min(mvgd_ids)} - {max(mvgd_ids)}")
1668
    func(mvgd_ids)
1669
1670
def split_mvgds_into_bulks_pypsa_eur_sec(n, max_n, func):
1671
    """"""