| @@ 852-893 (lines=42) @@ | ||
| 849 | ) |
|
| 850 | ||
| 851 | ||
| 852 | def get_peta_demand(mvgd, scenario): |
|
| 853 | """ |
|
| 854 | Retrieve annual peta heat demand for residential buildings for either |
|
| 855 | eGon2035 or eGon100RE scenario. |
|
| 856 | ||
| 857 | Parameters |
|
| 858 | ---------- |
|
| 859 | mvgd : int |
|
| 860 | MV grid ID. |
|
| 861 | scenario : str |
|
| 862 | Possible options are eGon2035 or eGon100RE |
|
| 863 | ||
| 864 | Returns |
|
| 865 | ------- |
|
| 866 | df_peta_demand : pd.DataFrame |
|
| 867 | Annual residential heat demand per building and scenario. Columns of |
|
| 868 | the dataframe are zensus_population_id and demand. |
|
| 869 | ||
| 870 | """ |
|
| 871 | ||
| 872 | with db.session_scope() as session: |
|
| 873 | query = ( |
|
| 874 | session.query( |
|
| 875 | MapZensusGridDistricts.zensus_population_id, |
|
| 876 | EgonPetaHeat.demand, |
|
| 877 | ) |
|
| 878 | .filter(MapZensusGridDistricts.bus_id == mvgd) |
|
| 879 | .filter( |
|
| 880 | MapZensusGridDistricts.zensus_population_id |
|
| 881 | == EgonPetaHeat.zensus_population_id |
|
| 882 | ) |
|
| 883 | .filter( |
|
| 884 | EgonPetaHeat.sector == "residential", |
|
| 885 | EgonPetaHeat.scenario == scenario, |
|
| 886 | ) |
|
| 887 | ) |
|
| 888 | ||
| 889 | df_peta_demand = pd.read_sql( |
|
| 890 | query.statement, query.session.bind, index_col=None |
|
| 891 | ) |
|
| 892 | ||
| 893 | return df_peta_demand |
|
| 894 | ||
| 895 | ||
| 896 | def get_residential_heat_profile_ids(mvgd): |
|
| @@ 946-987 (lines=42) @@ | ||
| 943 | return df_demand_share |
|
| 944 | ||
| 945 | ||
| 946 | def get_peta_demand(mvgd, scenario): |
|
| 947 | """ |
|
| 948 | Retrieve annual peta heat demand for CTS for either |
|
| 949 | eGon2035 or eGon100RE scenario. |
|
| 950 | ||
| 951 | Parameters |
|
| 952 | ---------- |
|
| 953 | mvgd : int |
|
| 954 | ID of substation for which to get CTS demand. |
|
| 955 | scenario : str |
|
| 956 | Possible options are eGon2035 or eGon100RE |
|
| 957 | ||
| 958 | Returns |
|
| 959 | ------- |
|
| 960 | df_peta_demand : pd.DataFrame |
|
| 961 | Annual residential heat demand per building and scenario. Columns of |
|
| 962 | the dataframe are zensus_population_id and demand. |
|
| 963 | ||
| 964 | """ |
|
| 965 | ||
| 966 | with db.session_scope() as session: |
|
| 967 | query = ( |
|
| 968 | session.query( |
|
| 969 | MapZensusGridDistricts.zensus_population_id, |
|
| 970 | EgonPetaHeat.demand, |
|
| 971 | ) |
|
| 972 | .filter(MapZensusGridDistricts.bus_id == int(mvgd)) |
|
| 973 | .filter( |
|
| 974 | MapZensusGridDistricts.zensus_population_id |
|
| 975 | == EgonPetaHeat.zensus_population_id |
|
| 976 | ) |
|
| 977 | .filter( |
|
| 978 | EgonPetaHeat.sector == "service", |
|
| 979 | EgonPetaHeat.scenario == scenario, |
|
| 980 | ) |
|
| 981 | ) |
|
| 982 | ||
| 983 | df_peta_demand = pd.read_sql( |
|
| 984 | query.statement, query.session.bind, index_col=None |
|
| 985 | ) |
|
| 986 | ||
| 987 | return df_peta_demand |
|
| 988 | ||
| 989 | ||
| 990 | def calc_cts_building_profiles( |
|