From f73a9ba1ab4c5f9352c16e6f6020a5597e0e7408 Mon Sep 17 00:00:00 2001 From: Marie Morere <97039524+sostrades-mariemorere@users.noreply.github.com> Date: Tue, 1 Oct 2024 14:46:05 +0200 Subject: [PATCH 01/16] change invest in cleantechno --- .../techno_invests/cleanenergysimpletechno.csv | 18 +++++++++--------- data_energy/techno_invests/sources.txt | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/data_energy/techno_invests/cleanenergysimpletechno.csv b/data_energy/techno_invests/cleanenergysimpletechno.csv index 80cf6795..095e7a6f 100644 --- a/data_energy/techno_invests/cleanenergysimpletechno.csv +++ b/data_energy/techno_invests/cleanenergysimpletechno.csv @@ -1,10 +1,10 @@ years,invest -2015,1074 -2016,1132 -2017,1129 -2018,1137 -2019,1225 -2020,1259 -2021,1408 -2022,1617 -2023,1740 +2015,394 +2016,401 +2017,403 +2018,427 +2019,473 +2020,500 +2021,539 +2022,687 +2023,822 diff --git a/data_energy/techno_invests/sources.txt b/data_energy/techno_invests/sources.txt index a389324b..d36b6195 100644 --- a/data_energy/techno_invests/sources.txt +++ b/data_energy/techno_invests/sources.txt @@ -1,5 +1,5 @@ FossilSimpleTechno : https://www.iea.org/reports/world-energy-investment-2023/overview-and-key-findings -RenewableSimpleTechno : https://www.iea.org/reports/world-energy-investment-2023/overview-and-key-findings +RenewableSimpleTechno : https://www.iea.org/data-and-statistics/charts/global-investment-in-clean-energy-and-fossil-fuels-2015-2024 CarbonStorageTechno : https://www.iea.org/energy-system/carbon-capture-utilisation-and-storage/co2-capture-and-utilisation DirectAirCaptureTechno : https://www.iea.org/energy-system/carbon-capture-utilisation-and-storage/direct-air-capture SolarPV: [https://www.iea.org/energy-system/renewables/solar-pv,] From 47365f69baf38c0e9f01c1df8b1fa378eba94bbc Mon Sep 17 00:00:00 2001 From: perrotcap Date: Wed, 2 Oct 2024 14:46:15 +0200 Subject: [PATCH 02/16] fixed value setting based on year start, added graph for initial age distrib --- .../core/energy_mix/energy_mix_disc.py | 27 +++--- .../disciplines/carbon_storage_techno_disc.py | 6 ++ energy_models/core/techno_type/techno_disc.py | 84 ++++++++++-------- energy_models/database_witness_energy.py | 7 +- .../pure_carbon_solid_storage_disc.py | 17 ++-- .../plasma_cracking/plasma_cracking_disc.py | 17 ++-- .../energy/MDA/energy_process_v0/usecase.py | 4 +- ...ossilSimpleTechno_construction_delay_0.pkl | Bin 855 -> 842 bytes ...stments_profile_builder_disc_all_years.pkl | Bin 521 -> 517 bytes ...investments_profile_builder_disc_poles.pkl | Bin 560 -> 562 bytes .../jacobian_ratio_FossilGas.pkl | Bin 2573 -> 2558 bytes 11 files changed, 96 insertions(+), 66 deletions(-) diff --git a/energy_models/core/energy_mix/energy_mix_disc.py b/energy_models/core/energy_mix/energy_mix_disc.py index 4d57d3f2..68bef0f0 100644 --- a/energy_models/core/energy_mix/energy_mix_disc.py +++ b/energy_models/core/energy_mix/energy_mix_disc.py @@ -252,12 +252,13 @@ def setup_sos_disciplines(self): inputs_dict = self.get_sosdisc_inputs() if GlossaryEnergy.YearStart in self.get_data_in(): year_start, year_end = self.get_sosdisc_inputs([GlossaryEnergy.YearStart, GlossaryEnergy.YearEnd]) - years = np.arange(year_start, year_end + 1) - default_target_energy_production = pd.DataFrame({GlossaryEnergy.Years: years, - GlossaryEnergy.TargetEnergyProductionValue: np.zeros_like( - years)}) - self.set_dynamic_default_values( - {GlossaryEnergy.TargetEnergyProductionValue: default_target_energy_production}) + if year_start is not None and year_end is not None: + years = np.arange(year_start, year_end + 1) + default_target_energy_production = pd.DataFrame({GlossaryEnergy.Years: years, + GlossaryEnergy.TargetEnergyProductionValue: np.zeros_like( + years)}) + self.set_dynamic_default_values( + {GlossaryEnergy.TargetEnergyProductionValue: default_target_energy_production}) if GlossaryEnergy.energy_list in self.get_data_in(): energy_list = inputs_dict[GlossaryEnergy.energy_list] if energy_list is not None: @@ -369,12 +370,14 @@ def update_default_with_years(self, inputs_dict): ''' Update default variables knowing the year start and the year end ''' - if GlossaryEnergy.YearStart in inputs_dict: - years = np.arange(inputs_dict[GlossaryEnergy.YearStart], inputs_dict[GlossaryEnergy.YearEnd] + 1) - lh_perc_default = np.concatenate( - (np.ones(5) * 1e-4, np.ones(len(years) - 5) / 4), axis=None) - self.set_dynamic_default_values( - {'liquid_hydrogen_percentage': lh_perc_default}) + if GlossaryEnergy.YearStart in self.get_data_in(): + year_start, year_end = self.get_sosdisc_inputs([GlossaryEnergy.YearStart, GlossaryEnergy.YearEnd]) + if year_start is not None and year_end is not None: + years = np.arange(year_start, year_end + 1) + lh_perc_default = np.concatenate( + (np.ones(5) * 1e-4, np.ones(len(years) - 5) / 4), axis=None) + self.set_dynamic_default_values( + {'liquid_hydrogen_percentage': lh_perc_default}) def run(self): # -- get inputs diff --git a/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py b/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py index 486f51a6..f40e3a3b 100644 --- a/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py +++ b/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py @@ -125,6 +125,12 @@ def get_post_processing_list(self, filters=None): if new_chart is not None: instanciated_charts.append(new_chart) + if 'Power plants initial age distribution' in charts: + new_chart = self.get_chart_initial_age_distrib() + if new_chart is not None: + new_chart.to_plotly().show() + instanciated_charts.append(new_chart) + return instanciated_charts def get_chart_detailed_price_in_dollar_ton(self): diff --git a/energy_models/core/techno_type/techno_disc.py b/energy_models/core/techno_type/techno_disc.py index db612c3b..0e37587f 100644 --- a/energy_models/core/techno_type/techno_disc.py +++ b/energy_models/core/techno_type/techno_disc.py @@ -180,30 +180,31 @@ def setup_sos_disciplines(self): if GlossaryEnergy.BoolApplyRatio in self.get_data_in(): year_start, year_end = self.get_sosdisc_inputs([GlossaryEnergy.YearStart, GlossaryEnergy.YearEnd]) - years = np.arange(year_start, year_end + 1) - if self.get_sosdisc_inputs(GlossaryEnergy.BoolApplyStreamRatio): - demand_ratio_dict = dict( - zip(EnergyMix.energy_list, np.linspace(1.0, 1.0, len(years)) * 100.0)) - demand_ratio_dict[GlossaryEnergy.Years] = years - all_streams_demand_ratio_default = pd.DataFrame( - demand_ratio_dict) - dynamic_inputs[GlossaryEnergy.AllStreamsDemandRatioValue] = {'type': 'dataframe', 'unit': '-', - 'default': all_streams_demand_ratio_default, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': 'ns_energy', - "dynamic_dataframe_columns": True - } - if self.get_sosdisc_inputs(GlossaryEnergy.BoolApplyResourceRatio): - resource_ratio_dict = dict( - zip(EnergyMix.RESOURCE_LIST, np.ones(len(years)) * 100.0)) - resource_ratio_dict[GlossaryEnergy.Years] = years - all_resource_ratio_usable_demand_default = pd.DataFrame( - resource_ratio_dict) - dynamic_inputs[ResourceMixModel.RATIO_USABLE_DEMAND] = {'type': 'dataframe', 'unit': '-', - 'default': all_resource_ratio_usable_demand_default, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': 'ns_resource', - "dynamic_dataframe_columns": True} + if year_start is not None and year_end is not None: + years = np.arange(year_start, year_end + 1) + if self.get_sosdisc_inputs(GlossaryEnergy.BoolApplyStreamRatio): + demand_ratio_dict = dict( + zip(EnergyMix.energy_list, np.linspace(1.0, 1.0, len(years)) * 100.0)) + demand_ratio_dict[GlossaryEnergy.Years] = years + all_streams_demand_ratio_default = pd.DataFrame( + demand_ratio_dict) + dynamic_inputs[GlossaryEnergy.AllStreamsDemandRatioValue] = {'type': 'dataframe', 'unit': '-', + 'default': all_streams_demand_ratio_default, + 'visibility': SoSWrapp.SHARED_VISIBILITY, + 'namespace': 'ns_energy', + "dynamic_dataframe_columns": True + } + if self.get_sosdisc_inputs(GlossaryEnergy.BoolApplyResourceRatio): + resource_ratio_dict = dict( + zip(EnergyMix.RESOURCE_LIST, np.ones(len(years)) * 100.0)) + resource_ratio_dict[GlossaryEnergy.Years] = years + all_resource_ratio_usable_demand_default = pd.DataFrame( + resource_ratio_dict) + dynamic_inputs[ResourceMixModel.RATIO_USABLE_DEMAND] = {'type': 'dataframe', 'unit': '-', + 'default': all_resource_ratio_usable_demand_default, + 'visibility': SoSWrapp.SHARED_VISIBILITY, + 'namespace': 'ns_resource', + "dynamic_dataframe_columns": True} dynamic_outputs.update({ GlossaryEnergy.TechnoPricesValue: GlossaryEnergy.get_techno_price_df(techno_name=self.techno_name), @@ -238,29 +239,24 @@ def update_default_values(self): if GlossaryEnergy.InitialPlantsAgeDistribFactor in self.get_data_in() and GlossaryEnergy.YearStart in self.get_data_in(): year_start = self.get_sosdisc_inputs(GlossaryEnergy.YearStart) - initial_plant_age_distrib_factor = self.get_sosdisc_inputs(GlossaryEnergy.InitialPlantsAgeDistribFactor) - if initial_plant_age_distrib_factor is None and year_start is not None: + if year_start is not None: initial_plant_age_distrib_factor, _ = DatabaseWitnessEnergy.get_techno_age_distrib_factor(self.techno_name, year=year_start) self.update_default_value(GlossaryEnergy.InitialPlantsAgeDistribFactor, 'in', initial_plant_age_distrib_factor) if 'initial_production' in self.get_data_in() and GlossaryEnergy.YearStart in self.get_data_in(): year_start = self.get_sosdisc_inputs(GlossaryEnergy.YearStart) - initial_production = self.get_sosdisc_inputs('initial_production') - if initial_production is None and year_start is not None: + if year_start is not None: initial_production, _ = DatabaseWitnessEnergy.get_techno_prod(self.techno_name, year=year_start) self.update_default_value('initial_production', 'in', initial_production) construction_delay = None if GlossaryEnergy.ConstructionDelay in self.get_data_in(): - construction_delay = self.get_sosdisc_inputs(GlossaryEnergy.ConstructionDelay) - if construction_delay is None: - construction_delay = GlossaryEnergy.TechnoConstructionDelayDict[self.techno_name] - self.update_default_value(GlossaryEnergy.ConstructionDelay, 'in', construction_delay) + construction_delay = GlossaryEnergy.TechnoConstructionDelayDict[self.techno_name] + self.update_default_value(GlossaryEnergy.ConstructionDelay, 'in', construction_delay) if GlossaryEnergy.InvestmentBeforeYearStartValue in self.get_data_in() and GlossaryEnergy.YearStart in self.get_data_in() and 'techno_infos_dict' in self.get_data_in(): year_start = self.get_sosdisc_inputs(GlossaryEnergy.YearStart) - invest_before_year_start_val = self.get_sosdisc_inputs(GlossaryEnergy.InvestmentBeforeYearStartValue) - if year_start is not None and construction_delay is not None and invest_before_year_start_val is None: + if year_start is not None and construction_delay is not None: default_val, _ = DatabaseWitnessEnergy.get_techno_invest_before_year_start( techno_name=self.techno_name, year_start=year_start, construction_delay=construction_delay) self.update_default_value(GlossaryEnergy.InvestmentBeforeYearStartValue, 'in', default_val) @@ -749,7 +745,8 @@ def get_chart_filter_list(self): 'CO2 emissions', GlossaryEnergy.UtilisationRatioValue, 'Non-Use Capital', - 'Power production'] + 'Power production', + 'Power plants initial age distribution'] if self.get_sosdisc_inputs(GlossaryEnergy.BoolApplyRatio): chart_list.extend(['Applied Ratio']) chart_filters.append(ChartFilter( @@ -841,6 +838,10 @@ def get_post_processing_list(self, filters=None): new_chart = self.get_chart_power_production(technos_info_dict) if new_chart is not None: instanciated_charts.append(new_chart) + if 'Power plants initial age distribution' in charts: + new_chart = self.get_chart_initial_age_distrib() + if new_chart is not None: + instanciated_charts.append(new_chart) return instanciated_charts def get_utilisation_ratio_chart(self): @@ -1366,3 +1367,16 @@ def get_chart_power_production(self, technos_info_dict): new_chart.series.append(serie) return new_chart + + def get_chart_initial_age_distrib(self): + age_distrib = self.get_sosdisc_outputs('initial_age_distrib') + chart_name = f'Age distribution of initial power plants / factories' + + new_chart = TwoAxesInstanciatedChart('Age', '%', chart_name=chart_name) + + serie = InstanciatedSeries( + age_distrib['age'].values.tolist(), + age_distrib['distrib'].values.tolist(), '', 'bar') + + new_chart.series.append(serie) + return new_chart diff --git a/energy_models/database_witness_energy.py b/energy_models/database_witness_energy.py index 5176ec29..94663df4 100644 --- a/energy_models/database_witness_energy.py +++ b/energy_models/database_witness_energy.py @@ -105,7 +105,12 @@ def get_techno_invest_before_year_start(cls, techno_name: str, year_start: int, out_df = df.loc[df['years'] < year_start] if is_available_at_year: return construction_delay == 0 or (heavy_collected_data.is_available_at_year(year_start - construction_delay) and heavy_collected_data.is_available_at_year(year_start - 1)) - if construction_delay > 0: + if construction_delay == 0: + out_df = pd.DataFrame({ + "years": [], + "invest": [] + }) + elif construction_delay > 0: out_df = heavy_collected_data.get_between_years(year_start=year_start - construction_delay, year_end=year_start - 1) return out_df, heavy_collected_data diff --git a/energy_models/models/carbon_storage/pure_carbon_solid_storage/pure_carbon_solid_storage_disc.py b/energy_models/models/carbon_storage/pure_carbon_solid_storage/pure_carbon_solid_storage_disc.py index 35c37b16..05ecfcf2 100644 --- a/energy_models/models/carbon_storage/pure_carbon_solid_storage/pure_carbon_solid_storage_disc.py +++ b/energy_models/models/carbon_storage/pure_carbon_solid_storage/pure_carbon_solid_storage_disc.py @@ -112,14 +112,15 @@ def setup_sos_disciplines(self): if self.get_data_in() is not None: if GlossaryEnergy.YearStart in self.get_data_in(): year_start, year_end = self.get_sosdisc_inputs([GlossaryEnergy.YearStart, GlossaryEnergy.YearEnd]) - years = np.arange(year_start, year_end + 1) - - if self.get_sosdisc_inputs('carbon_quantity_to_be_stored') is not None: - if self.get_sosdisc_inputs('carbon_quantity_to_be_stored')[ - GlossaryEnergy.Years].values.tolist() != list(years): - self.update_default_value( - 'carbon_quantity_to_be_stored', self.IO_TYPE_IN, - pd.DataFrame({GlossaryEnergy.Years: years, GlossaryEnergy.carbon_storage: 0.})) + if year_start is not None and year_end is not None: + years = np.arange(year_start, year_end + 1) + + if self.get_sosdisc_inputs('carbon_quantity_to_be_stored') is not None: + if self.get_sosdisc_inputs('carbon_quantity_to_be_stored')[ + GlossaryEnergy.Years].values.tolist() != list(years): + self.update_default_value( + 'carbon_quantity_to_be_stored', self.IO_TYPE_IN, + pd.DataFrame({GlossaryEnergy.Years: years, GlossaryEnergy.carbon_storage: 0.})) def init_execution(self): inputs_dict = self.get_sosdisc_inputs() diff --git a/energy_models/models/gaseous_hydrogen/plasma_cracking/plasma_cracking_disc.py b/energy_models/models/gaseous_hydrogen/plasma_cracking/plasma_cracking_disc.py index 4ecdb673..054aaed6 100644 --- a/energy_models/models/gaseous_hydrogen/plasma_cracking/plasma_cracking_disc.py +++ b/energy_models/models/gaseous_hydrogen/plasma_cracking/plasma_cracking_disc.py @@ -110,16 +110,17 @@ def setup_sos_disciplines(self): if self.get_data_in() is not None: if GlossaryEnergy.YearStart in self.get_data_in(): year_start, year_end = self.get_sosdisc_inputs([GlossaryEnergy.YearStart, GlossaryEnergy.YearEnd]) - years = np.arange(year_start, year_end + 1) + if year_start is not None and year_end is not None: + years = np.arange(year_start, year_end + 1) - if self.get_sosdisc_inputs('CO2_credits')[GlossaryEnergy.Years].values.tolist() != list(years): - self.update_default_value( - 'CO2_credits', self.IO_TYPE_IN, pd.DataFrame({GlossaryEnergy.Years: years, 'CO2_credits': 50.})) + if self.get_sosdisc_inputs('CO2_credits')[GlossaryEnergy.Years].values.tolist() != list(years): + self.update_default_value( + 'CO2_credits', self.IO_TYPE_IN, pd.DataFrame({GlossaryEnergy.Years: years, 'CO2_credits': 50.})) - if self.get_sosdisc_inputs('market_demand')[GlossaryEnergy.Years].values.tolist() != list(years): - self.update_default_value( - 'market_demand', self.IO_TYPE_IN, - pd.DataFrame({GlossaryEnergy.Years: years, 'carbon_demand': 5e-2})) + if self.get_sosdisc_inputs('market_demand')[GlossaryEnergy.Years].values.tolist() != list(years): + self.update_default_value( + 'market_demand', self.IO_TYPE_IN, + pd.DataFrame({GlossaryEnergy.Years: years, 'carbon_demand': 5e-2})) def init_execution(self): inputs_dict = self.get_sosdisc_inputs() diff --git a/energy_models/sos_processes/energy/MDA/energy_process_v0/usecase.py b/energy_models/sos_processes/energy/MDA/energy_process_v0/usecase.py index e5418428..38b05f09 100644 --- a/energy_models/sos_processes/energy/MDA/energy_process_v0/usecase.py +++ b/energy_models/sos_processes/energy/MDA/energy_process_v0/usecase.py @@ -93,8 +93,8 @@ def __init__( self.dict_technos = {} if invest_discipline == INVEST_DISCIPLINE_OPTIONS[2]: - self.lower_bound_techno = 1.0e-6 - self.upper_bound_techno = 3000 + self.lower_bound_techno = 5. + self.upper_bound_techno = 8000 else: self.lower_bound_techno = lower_bound_techno diff --git a/energy_models/tests/jacobian_pkls/jacobian_FossilSimpleTechno_FossilSimpleTechno_construction_delay_0.pkl b/energy_models/tests/jacobian_pkls/jacobian_FossilSimpleTechno_FossilSimpleTechno_construction_delay_0.pkl index e7bb96bb94faae71df93c8347056c88fca4ff9d4..b83713a328b02c87d3590353b4f313ba496d1488 100644 GIT binary patch literal 842 zcmZ>Y%CIzaj8qGbJgFP>gTa9P|M&mv<kq=TI=Nqd+uNTsAL;N@jVk&7P^H{970cDr_?de^D)<^&CmhNUlxrtr-67A)VL7`pZK3PJJb+>cCL zH=X2sXk#b&&udX=z_F=9u3N=UmkV#bwJ3DW9ut|S35P{d>o*6ll%K2>4InHg&Oyy33;kaDnBx1N#LUX zN@xCvm*NIBTbfjrEJHw#Kfm;TgO?K|K^WYOjg^)>(=Zk zcWjeR>ulO>vt--t+-qz!3HF7z7qUPcanOCop_dVB;y=u~KQdwo?7;(WM zqwbo_MlIR9)~ig8oLa5hdC>Ra8SN`)K>G7x>b7pG0(@`oFKUp`&9*MoC-Xv;~fln{58Xr15Mi*<1g5(Tddb zfr_hU8#xGE;F$F&`dr)^W-(ozh@Ib>4N63Kk~Y%CIzaj8qGboc~jK0fWK8|KIkjNuc8PlL;qSbg-|^omqh_H-tp!0UEj>(EqRnDw-fvmTJ7iESk3# zI=nAn*j~+8^}%^NU(7wmvdgL}lRQ;EYie{kOl0}ABL0Te(QEv3Sg#9jk5e#uex`fH z>WD8t7s^${Fl|VV42%qj)qB9}YPUf=WNrAO*~$%zKOZqQGyVE?f3)sX{^0d-+txwb<+wI(U ziw=q(QS7wxO6ELzw07ZZzSvU3PnHS#ojwmA^-K595$$E>Hs6_eOlaY)^ScA*skuh# z_@2t`3ye3{s66HnVC3Uttg>{bnqx*KpRPM6M~s}XLw<{*Hrv++PZGsHynXgAZ9|J9 zhm(*KEI-_~6H)ndu-kov*5kEugH-650mbdD; z)+gsXcXxCPR?M3>=ZU8}&jagcU+z8lzQu5*v8|1<#|xiza{8+^_v9!45P7iq3uEGO zj`;!89tg8|E?zu;@#54KMm&2jG8UZuAf9oKu_A^mri3A)Yr(vQU*&)7o}_uGrRD!g GSq1bI9~vKyB^*(>HA1v4ULRh*+G3W1(p5`iZ?{Y&3CUD;ha@&w4rJuW z9BSj3oH)};B0cf!NsgWxbH{Kgqzx*`K*BL3rk2VhMnx)Vj%)@btGGFJAkxR7IF1AT z9GVvfgj7#>-5hM|gT11hi{oT^W5f**pXqnCsSTGZKbY8yLIJHcityhbxay8r(h7RX zhV6n-fqC_mV1ls%i73P3K(SYq< zHbXQaP&UR=OTz@R9vz|o4&dvKnA03^uV>UYtz#F*4J!G=p$oS2;v0i)H^soXpA`8F znpmMoB}s=2Jj@2PiA-qU9FeS;lBQ%ty0o|n>)}ux(fNgBfxJ1~^u#a@0hFaril1Vr z)wVShY%CIzaj8qGb{IzJ7KLcY!{r~^}qHQ!UqsTf=1sorE9E=oRtB@jnPy)GDIZ&p8_Rsn z8W*H|xvJjwa!TJ4=E)3aZ4P|)cvPmL9;B?>Y9B{@{6Km!lV+azxHusw5@`=4t6@o0wXFGa`eC#VXnz|=i@A=lI*Vpsw*q^bP zuGu#AXiDCPw=dtPa^Lx@FE-1|S+HQ4L4~EapJb@ovZH^$8C{s>@MqNpJ)3FAGAAmi zNBuOL@Yp$RA7|~+{O_|D9TPTsxaH>usYx?_ny=@&*1hd^?hb`#%+dRn|DL~MT0+K; z{pP(oEBI`~g)+8goXoP;TV*%l>+k<(TM8#$zkcDynkAZki99YY@}JYM?zUuKWxVp* z?Xua2KYraT%<_KY&+W0>UhmPmFRgy!rrMO9DIdh8`de?6%`rRtt?nInRrsA+-L%Jh i^R~i?d+l{emHR)vCtU>#6~DTg%mV;Ss{wuh literal 560 zcmV-00?++IT4*^jL0KkKSsmIv`Tzlb|NsB3D?q_x_)Mx5 z2Cy-hm-@jSFK?(lednFX4VzZ~Bp*&=Cc)TmZ0#jsgciiQqedCj{T&sgLLLC4`dPMC z`rp&A6#|mf#p{-}tH(!LNJ&BlijWlAAG?#G(OPScKvw?=l*9 z>@;XZrsn#acpGm6!t6EyxDVmQ*i(Z`5!ZcSRaBE=XqNEhoG5~?d+2f{rPB?n%aZ)Yvy#hDhM|YM44;wKzjkw=n y%F0WHn96!_+ai2eg;#Z?Qr~YqCSp%BF&=i)sLV;k;c$(^{x0N-aG@YOw0rcKZ2e~d diff --git a/energy_models/tests/jacobian_pkls/jacobian_ratio_FossilGas.pkl b/energy_models/tests/jacobian_pkls/jacobian_ratio_FossilGas.pkl index 1ad0751e20eaeb076c02c04511d117703b791a99..974353e5f005987f5306d4f3aeca26d5905dfe35 100644 GIT binary patch literal 2558 zcmYMy2{hDe9|!RNEXKamwbYnlLYiF0m@LU3Bl|M;tYI*g60MY)nMN^Xn{3h5Os+9T zZXzU#fcuyM-@CvWVOY z&U!Vs(#BiSFuhEX#3^6{0L-H%9{}X>6iA1+7^K*M@&Ez^M1x!^fCoe(00utyx2du9 zLuLt=kkUGQE%FP8RrfMVIu(!a6^nDWHYOfeis-B?ucZ1y%vP2(m;WL$cWb zUZ#4{;R4@f7H;DX7egRi2wr|Ww}KMj#ZWmE8F5MflK!7OpCi*16XPYZmmh+{M1ASC=a)6OaXSHtr4ylqBxZvR|fa+VnYd34cV_ z&Y>fjQa2W3aP(%0Y>#{&9@f=S=HHc+gO2izVi>YO6_BQ{IFIA0fKbFxrHN1Z?U!vr zx4~EWgWj>pa7H_vc~8ThNF?VYu-?n>OhX1lA+mfema|A?$5G~Rl(#j5EP=8f0QIYZ zx}s4bWHq=Wgsi3(gf&b0@{sC=mXLx|q3Jv&BXzW0nez652qS&i ze3V^yo2bfo)Hidy{)y}cSrz&Ydv*Q9-}7gfq_zsWW8Ucf*)UpYrXl<0W0+kf+{)-z zr7mLNwP`f$1|uQf_d^^#L zx3KOwxT8-rN~=|)2De40=^P`{F+?)a$x@@oQrGc|nWgfzB!z0HgJBj4LrVV}b$0-O zcm6Z=+TREuTqvF+xC*oWuOd;c?&pUB0_pu=@2G)o9kYD)d;pGm1S33EAY3~Y;`l7n z&{C`R^}UD13MW9rhcE_n)q!$DIvsy zR{C)K)_rJk2vQ`djv<=qj1SKGPtT>9kyR83R<*}He~T9GvckvW%&WRzc+AFr6)R3J z+w5C=%1`Q9(Tr{|@6I2&KK7w9$t^nRXz}>b=0C?@gLLq+Vd*L50GZay>Kun=DJ|jU zjb!QwYoC624R*op;Ct&9fk#dKn;YTe#+N+l zC+4#Avl+)76g9!-2J5by2T#-6pWP`KsB-HqM+uI&@nKq?21|R-=`LU;i%g<(!xGB~ z!~KV`jHP?0Nm#)UhlVonziJ(W@r9P7<6lF)ojy#h`DIr6n+_}Ai6VPj<%M2lGU8Sb zTuQC#9#X2xei;_5L0>R!9udi4*-D15^b1g`bkDW3Un6(=`Hq%|M|X$w4}RV~K8SgB zwpc{>7wWoNXc+MIf*FXigkiYYTk-)TUh|6no-m3g%PEh{N8E=vTFp3n2iXOwEBW-R zNO;?3|B4+*o2bxSDqm*Bd-Bx3nJlB>*JT_Mpb!arjyKQGNL?n=p7S>(I3-aAQ|j{v z#}AYMdYt5ZUG`4Q-Fy0J?UCnr&#K`jg=Dd7szvU)p$6HN*k-3MB~23wjBODto{n_~ zDDIT+*mosm?PRO5&6Jy49kqpbJ`C?lDW84vpk=z|MCh8kCe?oTNC69D5`p|V{SEBv zOzJPY-)}(Hr!>4s@qD$&tSpQHL&902vUW8urj7V}&`I37juh>l6Vc?zl&EAY-1J)YZhHh}WnW1+{{mtH}Ge*%xD(>BHwc;+J+_8>L z7P$Fzg=}syO`PWnbnn$Z=1Zcik%1ihxehz`jC( zQo-k3=sVD2ybxbG<#hPK>&;I4u;gpiW~MHFiilZXqEs+5z4f6Y z!2}}p7k%fr=1z|$=vK=j_05;YZh~Yw(N1CFZd_D599`CjZHgod&5~m+1wkv+aU2-} zYvTZ!FI`NWx<=V$wySBlMRzWX&*PEgj8*UVIQvsUOgbdt#Z3uCtAX3hJ>^lOHW7Ut z7XegoB3r4@y3G^~j#%U`wh**Z-l`eL`gh8bmy=S*ThA_vpIf(NglJoyB|vojpitEZ zBXp#=x)pA5zp>;&{bcgjZ>OCmPJFcO7nJ(%DJX)`AihxfsWpvFDD3!NWYGHZ4z*{y z3*pzx&oy1>R32R4e`~2d`zNg+8PWQV3{Ctx(8(zFp@GozQTwKfkHeWJ+O}i5rEv{` zF}y~_+KoTg8WHR)qX*;PCf__-`QC{Rc!1`^34yZN)RGxBr_C^-+Kj#3e0?DAzw=OV Axc~qF literal 2573 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 From a247f5ec9d8e06ff849bb19ea4e024440edfaef7 Mon Sep 17 00:00:00 2001 From: perrotcap Date: Wed, 2 Oct 2024 17:38:36 +0200 Subject: [PATCH 03/16] created ms sectorization optim --- .../core/techno_type/disciplines/carbon_storage_techno_disc.py | 1 - 1 file changed, 1 deletion(-) diff --git a/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py b/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py index f40e3a3b..d274e1d5 100644 --- a/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py +++ b/energy_models/core/techno_type/disciplines/carbon_storage_techno_disc.py @@ -128,7 +128,6 @@ def get_post_processing_list(self, filters=None): if 'Power plants initial age distribution' in charts: new_chart = self.get_chart_initial_age_distrib() if new_chart is not None: - new_chart.to_plotly().show() instanciated_charts.append(new_chart) return instanciated_charts From b491b45ab566d1e28852a3db09411e8194e4220f Mon Sep 17 00:00:00 2001 From: perrotcap Date: Thu, 3 Oct 2024 11:36:51 +0200 Subject: [PATCH 04/16] fixed maxiter --- energy_models/core/techno_type/techno_disc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/energy_models/core/techno_type/techno_disc.py b/energy_models/core/techno_type/techno_disc.py index 0e37587f..b25022c3 100644 --- a/energy_models/core/techno_type/techno_disc.py +++ b/energy_models/core/techno_type/techno_disc.py @@ -1370,7 +1370,7 @@ def get_chart_power_production(self, technos_info_dict): def get_chart_initial_age_distrib(self): age_distrib = self.get_sosdisc_outputs('initial_age_distrib') - chart_name = f'Age distribution of initial power plants / factories' + chart_name = 'Age distribution of initial power plants / factories' new_chart = TwoAxesInstanciatedChart('Age', '%', chart_name=chart_name) From c0069b39ae5f060ff987b1e57209c5cf5865a842 Mon Sep 17 00:00:00 2001 From: perrotcap Date: Fri, 4 Oct 2024 10:35:20 +0200 Subject: [PATCH 05/16] added initial age distribution graph to carbon capture technos --- .../disciplines/carbon_capture_techno_disc.py | 5 +++++ ...vestments_profile_builder_disc_all_years.pkl | Bin 517 -> 512 bytes ...n_investments_profile_builder_disc_poles.pkl | Bin 562 -> 557 bytes 3 files changed, 5 insertions(+) diff --git a/energy_models/core/techno_type/disciplines/carbon_capture_techno_disc.py b/energy_models/core/techno_type/disciplines/carbon_capture_techno_disc.py index 40c564f7..69e12001 100644 --- a/energy_models/core/techno_type/disciplines/carbon_capture_techno_disc.py +++ b/energy_models/core/techno_type/disciplines/carbon_capture_techno_disc.py @@ -219,6 +219,11 @@ def get_post_processing_list(self, filters=None): if new_chart is not None: instanciated_charts.append(new_chart) + if 'Power plants initial age distribution' in charts: + new_chart = self.get_chart_initial_age_distrib() + if new_chart is not None: + instanciated_charts.append(new_chart) + return instanciated_charts def get_chart_detailed_price_in_dollar_tCO2(self): diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl index 12520f5c8bb3d092575321f95ada430ceda115a0..e47e4cd03a8c09a28af6f94a163a804c8b7c0cb6 100644 GIT binary patch literal 512 zcmZ>Y%CIzaj8qGbd|UWbkbzPE|NsAMrP#cJD@r?liZJd^|6lF>F7NO}7MF~}I*d0Y zm;{y_VBC0OLIDFW1G7U41CU}|*1!Ow1p_%Ir_A$pzO^8OfgyuUfj{6YgOQ{Zuau;% z<6hroE3jx03JUnr?9n z;+bL7r#6enF{&v`%GeYu6)j%!N0hp|ohoZS%P-|DA5plgnK>Zw{%INJeb=S0P5N=v z1-7ZnvvAE5_NWd&OCR}kzT3e}>Vr`d1tjlMSl|jc}G>0+@ zxhm+-G`#bV(W?Eqf}3;4EX`Td5*g&xZWzztdzErhT6pOhWryp2ElcaZ&T08@cY{T{ zj@}Z!{h~%b7iVnDD!Hh~dpavMtuKU4^YGoz33qPYUX$ripIml#MYM)&;!T-8(T6|$ zCU_KRO1Uk_Ytsn%sIO}$XwBPP?D9Cmhga=#i0eB|p(97XXf);8bed?%E$Ub?*YcFf z%kJcqblK{wX&qma10UQB5Pz_|tK!$O3s>w9uBdKaXUfO8B%7DhDd(S?(UMM`!uBdV w#UmDOjSI@yHf5#rC44(pGHph`PWFbI9~vKyB^*(>HA1v4ULRh*+G3W1(p5`iZ?{Y&3CUD;ha@&w4rJuW z9BSj3oH)};B0cf!NsgWxbH{Kgqzx*`K*BL3rk2VhMnx)Vj%)@btGGFJAkxR7IF1AT z9GVvfgj7#>-5hM|gT11hi{oT^W5f**pXqnCsSTGZKbY8yLIJHcityhbxay8r(h7RX zhV6n-fqC_mV1ls%i73P3K(V(6fB*li8dSk;_*{rv6ac^H-+J@puGsBtch!ec-bI|*T zc0P+AS~~FAPYuMJ-IvlTKzSC+Ml^2gD6PWzO@v zjloD-4$j7~Yv#D&lfRk5L+hRQGae25383E$p>Muz80%p!Vvap>p0!oGA}j^fg`xOf zHNSZFLkKE`%GJBdD(-5TxKl)@NZL{bGY6&IeIB}tdbln?7#Q?d5s^Z-9^MSlyS?kB zx(qeGkxw?d-PJgnNj2q4wEL?)FYx{3m$`97T&b5X0FvBi<00gS04dmN-`p3tESCwp zzviP~nab;S9v1{1AZc)^ual;FU*oM+w&K`Q>rOOaH7B`pitl5Z@ibm! zej(Flg_LuV=jhtANk~&u79ofrj;6Nt;p#eL0{5xFxiWeg63}Tg6IO4YR>|0DV@hiC viNuZeqiM3*a$V;UwD!4eVzs9rm9|8^tch^E=fQyUAMtl2Q-uivT5>$lvNr*@ literal 562 zcmZ>Y%CIzaj8qGb{IzJ7KLcY!{r~^}qHQ!UqsTf=1sorE9E=oRtB@jnPy)GDIZ&p8_Rsn z8W*H|xvJjwa!TJ4=E)3aZ4P|)cvPmL9;B?>Y9B{@{6Km!lV+azxHusw5@`=4t6@o0wXFGa`eC#VXnz|=i@A=lI*Vpsw*q^bP zuGu#AXiDCPw=dtPa^Lx@FE-1|S+HQ4L4~EapJb@ovZH^$8C{s>@MqNpJ)3FAGAAmi zNBuOL@Yp$RA7|~+{O_|D9TPTsxaH>usYx?_ny=@&*1hd^?hb`#%+dRn|DL~MT0+K; z{pP(oEBI`~g)+8goXoP;TV*%l>+k<(TM8#$zkcDynkAZki99YY@}JYM?zUuKWxVp* z?Xua2KYraT%<_KY&+W0>UhmPmFRgy!rrMO9DIdh8`de?6%`rRtt?nInRrsA+-L%Jh i^R~i?d+l{emHR)vCtU>#6~DTg%mV;Ss{wuh From e92443a8baa0098ee145808ad54649075d1ac6d8 Mon Sep 17 00:00:00 2001 From: perrotcap Date: Fri, 4 Oct 2024 11:29:22 +0200 Subject: [PATCH 06/16] deleted namespace ns_reference --- energy_models/core/ccus/ccus_disc.py | 7 +-- .../core/demand/energy_demand_disc.py | 8 +--- .../energy_ghg_emissions_disc.py | 2 +- .../core/energy_mix/energy_mix_disc.py | 41 +++++------------- .../energy_disciplines/clean_energy_disc.py | 2 +- .../energy_disciplines/electricity_disc.py | 8 +--- .../energy_disciplines/fossil_disc.py | 2 +- .../energy_mix_optim_sub_process/process.py | 5 --- .../energy/MDA/energy_process_v0/process.py | 2 - .../MDA/energy_process_v0_mda/process.py | 3 +- .../techno_mix/clean_energy_mix/process.py | 1 - .../techno_mix/electricity_mix/process.py | 1 - .../energy/techno_mix/fossil_mix/process.py | 1 - ...stments_profile_builder_disc_all_years.pkl | Bin 512 -> 535 bytes ...investments_profile_builder_disc_poles.pkl | Bin 557 -> 565 bytes .../tests/l0_test_compute_ccus_disc.py | 1 - energy_models/tests/l0_test_compute_demand.py | 1 - .../tests/l0_test_compute_energy_mix.py | 3 -- .../l0_test_energy_invest_redistribution.py | 3 -- .../tests/l0_test_independent_invest.py | 2 - .../tests/l1_test_base_stream_electricity.py | 3 +- .../tests/l1_test_gradient_ccus_disc.py | 1 - .../tests/l1_test_gradient_demand_model.py | 1 - .../tests/l1_test_gradient_electricity.py | 1 - 24 files changed, 22 insertions(+), 77 deletions(-) diff --git a/energy_models/core/ccus/ccus_disc.py b/energy_models/core/ccus/ccus_disc.py index 31463b1f..c17e862c 100644 --- a/energy_models/core/ccus/ccus_disc.py +++ b/energy_models/core/ccus/ccus_disc.py @@ -64,11 +64,8 @@ class CCUS_Discipline(SoSWrapp): 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': 'ns_public'}, 'scaling_factor_energy_consumption': {'type': 'float', 'default': 1e3, 'unit': '-', 'user_level': 2, 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': 'ns_public'}, - 'carbonstorage_limit': {'type': 'float', 'default': 12e6, 'unit': 'Mt', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': GlossaryEnergy.NS_REFERENCE}, - 'carbonstorage_constraint_ref': {'type': 'float', 'default': 12e6, 'unit': 'Mt', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'carbonstorage_limit': {'type': 'float', 'default': 12e6, 'unit': 'Mt', 'user_level': 2,}, + 'carbonstorage_constraint_ref': {'type': 'float', 'default': 12e6, 'unit': 'Mt', 'user_level': 2}, 'co2_emissions_needed_by_energy_mix': {'type': 'dataframe', 'unit': 'Gt', 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': 'ns_energy', 'dataframe_descriptor': {GlossaryEnergy.Years: ('float', None, True), diff --git a/energy_models/core/demand/energy_demand_disc.py b/energy_models/core/demand/energy_demand_disc.py index 7eb3ab40..985b6126 100644 --- a/energy_models/core/demand/energy_demand_disc.py +++ b/energy_models/core/demand/energy_demand_disc.py @@ -58,17 +58,13 @@ class EnergyDemandDiscipline(SoSWrapp): # old value is 20900TWh 'initial_electricity_demand': {'type': 'float', 'default': 18000., 'unit': 'TWh'}, 'long_term_elec_machine_efficiency': {'type': 'float', 'default': 0.985, 'unit': '-'}, - 'electricity_demand_constraint_ref': {'type': 'float', 'default': 2500.0, 'unit': 'TWh', - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'electricity_demand_constraint_ref': {'type': 'float', 'default': 2500.0, 'unit': 'TWh',}, GlossaryEnergy.PopulationDf['var_name']: GlossaryEnergy.PopulationDf, GlossaryEnergy.TransportDemandValue: {'type': 'dataframe', 'dataframe_descriptor': { GlossaryEnergy.Years: ('int', [1900, GlossaryEnergy.YearEndDefaultCore], False), GlossaryEnergy.TransportDemandValue: ('float', None, True)}, 'dataframe_edition_locked': False, 'unit': 'TWh'}, - 'transport_demand_constraint_ref': {'type': 'float', 'default': 6000.0, 'unit': 'TWh', - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'transport_demand_constraint_ref': {'type': 'float', 'default': 6000.0, 'unit': 'TWh',}, 'additional_demand_transport': {'type': 'float', 'default': 10., 'unit': '%'}} DESC_OUT = { diff --git a/energy_models/core/energy_ghg_emissions/energy_ghg_emissions_disc.py b/energy_models/core/energy_ghg_emissions/energy_ghg_emissions_disc.py index 2df2985e..7a2767ef 100644 --- a/energy_models/core/energy_ghg_emissions/energy_ghg_emissions_disc.py +++ b/energy_models/core/energy_ghg_emissions/energy_ghg_emissions_disc.py @@ -55,7 +55,7 @@ class EnergyGHGEmissionsDiscipline(SoSWrapp): 'last_modification_date': '', 'category': '', 'definition': '', - 'icon': 'fas fa-cloud fa-fw', + 'icon': "fa-solid fa-bolt", 'version': '', } diff --git a/energy_models/core/energy_mix/energy_mix_disc.py b/energy_models/core/energy_mix/energy_mix_disc.py index 68bef0f0..7d96a50c 100644 --- a/energy_models/core/energy_mix/energy_mix_disc.py +++ b/energy_models/core/energy_mix/energy_mix_disc.py @@ -82,7 +82,7 @@ class Energy_Mix_Discipline(SoSWrapp): 'last_modification_date': '', 'category': '', 'definition': '', - 'icon': 'fas fa-battery-full fa-fw', + 'icon': "fa-solid fa-bolt", 'version': '', } # All values used to calibrate heat loss percentage @@ -117,19 +117,13 @@ class Energy_Mix_Discipline(SoSWrapp): GlossaryEnergy.EnergyMeanPriceObjectiveRefValue: GlossaryEnergy.EnergyMeanPriceObjectiveRef, 'alpha': {'type': 'float', 'range': [0., 1.], 'default': 0.5, 'unit': '-', 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': 'ns_energy_study'}, - 'primary_energy_percentage': {'type': 'float', 'range': [0., 1.], 'unit': '-', 'default': 0.8, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, - 'normalization_value_demand_constraints': {'type': 'float', 'default': 1000.0, 'unit': 'Twh', - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'primary_energy_percentage': {'type': 'float', 'range': [0., 1.], 'unit': '-', 'default': 0.8}, + 'normalization_value_demand_constraints': {'type': 'float', 'default': 1000.0, 'unit': 'Twh'}, GlossaryEnergy.CO2Taxes['var_name']: GlossaryEnergy.CO2Taxes, 'minimum_energy_production': {'type': 'float', 'default': 1e4, 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': 'ns_public', 'unit': 'TWh'}, - 'total_prod_minus_min_prod_constraint_ref': {'type': 'float', 'default': 1e4, 'unit': 'Twh', - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'total_prod_minus_min_prod_constraint_ref': {'type': 'float', 'default': 1e4, 'unit': 'Twh'}, 'exp_min': {'type': 'bool', 'default': True, 'user_level': 2}, 'production_threshold': {'type': 'float', 'default': 1e-3, 'unit': 'Twh'}, 'scaling_factor_energy_production': {'type': 'float', 'default': 1e3, 'unit': '-', 'user_level': 2, @@ -138,29 +132,16 @@ class Energy_Mix_Discipline(SoSWrapp): 'scaling_factor_energy_consumption': {'type': 'float', 'default': 1e3, 'unit': '-', 'user_level': 2, 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': 'ns_public'}, - 'solid_fuel_elec_percentage': {'type': 'float', 'default': 0.75, 'unit': '-', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, - 'solid_fuel_elec_constraint_ref': {'type': 'float', 'default': 10000., 'unit': 'Twh', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, - 'liquid_hydrogen_percentage': {'type': 'array', 'user_level': 2, 'unit': '%', - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, - 'liquid_hydrogen_constraint_ref': {'type': 'float', 'default': 1000., 'unit': 'Twh', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'solid_fuel_elec_percentage': {'type': 'float', 'default': 0.75, 'unit': '-', 'user_level': 2}, + 'solid_fuel_elec_constraint_ref': {'type': 'float', 'default': 10000., 'unit': 'Twh', 'user_level': 2,}, + 'liquid_hydrogen_percentage': {'type': 'array', 'user_level': 2, 'unit': '%',}, + 'liquid_hydrogen_constraint_ref': {'type': 'float', 'default': 1000., 'unit': 'Twh', 'user_level': 2,}, 'ref_constraint_non_use_capital_energy': {'type': 'float', 'default': 0.30, 'unit':'-','description': '0.30 means after 35 % of capital not used the constraint will explode'}, 'tol_constraint_non_use_capital_energy': {'type': 'float', 'default': 0.05, 'unit':'-','description': '0.05 means constraint does not penalize lagrangian when non use capital is less than 5%'}, 'period_tol_power_non_use_capital_constraint': {'type': 'float', 'default': 1.0, 'unit':'-','description': '0.05 means constraint does not penalize lagrangian when non use capital is less than 5%'}, - 'syngas_prod_ref': {'type': 'float', 'default': 10000., 'unit': 'TWh', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': GlossaryEnergy.NS_REFERENCE}, - 'syngas_prod_constraint_limit': {'type': 'float', 'default': 10000., 'unit': 'TWh', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, - - 'ratio_ref': {'type': 'float', 'default': 500., 'unit': '-', 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'syngas_prod_ref': {'type': 'float', 'default': 10000., 'unit': 'TWh', 'user_level': 2}, + 'syngas_prod_constraint_limit': {'type': 'float', 'default': 10000., 'unit': 'TWh', 'user_level': 2}, + 'ratio_ref': {'type': 'float', 'default': 500., 'unit': '-', 'user_level': 2}, 'heat_losses_percentage': {'type': 'float', 'default': heat_losses_percentage_default, 'unit': '%', 'range': [0., 100.]}, } diff --git a/energy_models/core/stream_type/energy_disciplines/clean_energy_disc.py b/energy_models/core/stream_type/energy_disciplines/clean_energy_disc.py index 3ec0e37b..ea99a2ec 100644 --- a/energy_models/core/stream_type/energy_disciplines/clean_energy_disc.py +++ b/energy_models/core/stream_type/energy_disciplines/clean_energy_disc.py @@ -30,7 +30,7 @@ class CleanEnergyDiscipline(EnergyDiscipline): 'last_modification_date': '', 'category': '', 'definition': '', - 'icon': '', + 'icon': 'fas fa-fan fa-fw', 'version': '', } diff --git a/energy_models/core/stream_type/energy_disciplines/electricity_disc.py b/energy_models/core/stream_type/energy_disciplines/electricity_disc.py index 0f654b0e..284525b8 100644 --- a/energy_models/core/stream_type/energy_disciplines/electricity_disc.py +++ b/energy_models/core/stream_type/energy_disciplines/electricity_disc.py @@ -53,15 +53,11 @@ class ElectricityDiscipline(EnergyDiscipline): # 4400TWh is total production, # we use a 50% higher value 'unit': 'Twh', - 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'user_level': 2,}, 'hydropower_constraint_ref': {'type': 'float', 'default': 1000., 'unit': 'Twh', - 'user_level': 2, - 'visibility': SoSWrapp.SHARED_VISIBILITY, - 'namespace': GlossaryEnergy.NS_REFERENCE}, + 'user_level': 2,}, 'data_fuel_dict': {'type': 'dict', 'visibility': EnergyDiscipline.SHARED_VISIBILITY, 'namespace': 'ns_electricity', diff --git a/energy_models/core/stream_type/energy_disciplines/fossil_disc.py b/energy_models/core/stream_type/energy_disciplines/fossil_disc.py index f9154d40..44594c68 100644 --- a/energy_models/core/stream_type/energy_disciplines/fossil_disc.py +++ b/energy_models/core/stream_type/energy_disciplines/fossil_disc.py @@ -30,7 +30,7 @@ class FossilDiscipline(EnergyDiscipline): 'last_modification_date': '', 'category': '', 'definition': '', - 'icon': '', + 'icon': 'fas fa-smog fa-fw', 'version': '', } diff --git a/energy_models/sos_processes/energy/MDA/energy_mix_optim_sub_process/process.py b/energy_models/sos_processes/energy/MDA/energy_mix_optim_sub_process/process.py index ca47d9f1..26b4fc39 100644 --- a/energy_models/sos_processes/energy/MDA/energy_mix_optim_sub_process/process.py +++ b/energy_models/sos_processes/energy/MDA/energy_mix_optim_sub_process/process.py @@ -108,7 +108,6 @@ def get_builders(self): GlossaryEnergy.NS_ENERGY_MIX: f'{ns_study}.{coupling_name}.{energy_mix}', 'ns_carb': f'{ns_study}.{coupling_name}.{GlossaryEnergy.ccus_type}.{carbon_storage}.PureCarbonSolidStorage', 'ns_resource': f'{ns_study}', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}.NormalizationReferences', 'ns_invest': f'{self.ee.study_name}.InvestmentDistribution', } @@ -122,7 +121,6 @@ def get_builders(self): GlossaryEnergy.NS_ENERGY_MIX: f'{ns_study}.{coupling_name}.{energy_mix}', 'ns_carb': f'{ns_study}.{coupling_name}.{GlossaryEnergy.ccus_type}.{carbon_storage}.PureCarbonSolidStorage', 'ns_resource': f'{ns_study}', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}.NormalizationReferences', 'ns_invest': f'{self.ee.study_name}.InvestmentDistribution', GlossaryEnergy.NS_GHGEMISSIONS: f'{self.ee.study_name}.{coupling_name}.{GHGemissionsDiscipline.name}', } @@ -158,7 +156,6 @@ def get_builders(self): 'ns_energy': f'{ns_study}', GlossaryEnergy.NS_WITNESS: f'{ns_study}.{coupling_name}', GlossaryEnergy.NS_CCS: f'{ns_study}.{coupling_name}.{GlossaryEnergy.ccus_type}', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}.{energy_mix}.{carbon_storage}.NormalizationReferences', GlossaryEnergy.NS_FUNCTIONS: f'{self.ee.study_name}.{coupling_name}.{func_manager_name}', 'ns_forest': f"{ns_study}.{coupling_name}.{INVEST_DISC_NAME}", 'ns_crop': f"{ns_study}.{coupling_name}.{INVEST_DISC_NAME}", @@ -197,7 +194,6 @@ def get_builders(self): 'ns_emissions': f'{ns_study}.{energy_mix}', 'ns_land_use': f'{self.ee.study_name}.EnergyMix', GlossaryEnergy.NS_FUNCTIONS: f'{self.ee.study_name}.{coupling_name}.{func_manager_name}', - GlossaryEnergy.NS_REFERENCE: f'{self.ee.study_name}.NormalizationReferences', 'ns_invest': f'{self.ee.study_name}.{coupling_name}.{INVEST_DISC_NAME}'} self.ee.ns_manager.add_ns_def(ns_dict) @@ -219,7 +215,6 @@ def get_builders(self): ns_dict = {GlossaryEnergy.NS_FUNCTIONS: f'{self.ee.study_name}.{coupling_name}.{func_manager_name}', 'ns_public': f'{self.ee.study_name}', 'ns_optim': f'{self.ee.study_name}', - GlossaryEnergy.NS_REFERENCE: f'{self.ee.study_name}.NormalizationReferences', 'ns_invest': f'{self.ee.study_name}.{coupling_name}.{INVEST_DISC_NAME}', } self.ee.ns_manager.add_ns_def(ns_dict) diff --git a/energy_models/sos_processes/energy/MDA/energy_process_v0/process.py b/energy_models/sos_processes/energy/MDA/energy_process_v0/process.py index 1f2a1fff..a17e8057 100644 --- a/energy_models/sos_processes/energy/MDA/energy_process_v0/process.py +++ b/energy_models/sos_processes/energy/MDA/energy_process_v0/process.py @@ -82,7 +82,6 @@ def get_builders(self): GlossaryEnergy.NS_ENERGY_MIX: f'{ns_study}.{energy_mix}', 'ns_carb': f'{ns_study}.{energy_mix}.{carbon_storage}.PureCarbonSolidStorage', 'ns_resource': f'{ns_study}.{energy_mix}.resource', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}.NormalizationReferences', 'ns_invest': f'{self.ee.study_name}.InvestmentDistribution', } @@ -133,7 +132,6 @@ def get_builders(self): 'ns_energy': f'{ns_study}', GlossaryEnergy.NS_WITNESS: f'{ns_study}', GlossaryEnergy.NS_CCS: f'{ns_study}', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}.{energy_mix}.{carbon_storage}.NormalizationReferences', GlossaryEnergy.NS_FUNCTIONS: f'{ns_study}.{func_manager_name}', } if not self.energy_invest_input_in_abs_value: diff --git a/energy_models/sos_processes/energy/MDA/energy_process_v0_mda/process.py b/energy_models/sos_processes/energy/MDA/energy_process_v0_mda/process.py index 4193ad22..ef5fa2c6 100644 --- a/energy_models/sos_processes/energy/MDA/energy_process_v0_mda/process.py +++ b/energy_models/sos_processes/energy/MDA/energy_process_v0_mda/process.py @@ -55,8 +55,7 @@ def get_builders(self): ns_dict = {'ns_energy': f'{ns_study}.{energy_mix}', 'ns_carb': f'{ns_study}.{ccs_mix}.{carbon_storage}.PureCarbonSolidStorage', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}.NormalizationReferences', - 'ns_emissions': f'{ns_study}.{energy_mix}', } + 'ns_emissions': f'{ns_study}.{energy_mix}', } self.ee.ns_manager.add_ns_def(ns_dict) diff --git a/energy_models/sos_processes/energy/techno_mix/clean_energy_mix/process.py b/energy_models/sos_processes/energy/techno_mix/clean_energy_mix/process.py index 8ed3aa90..0506073a 100644 --- a/energy_models/sos_processes/energy/techno_mix/clean_energy_mix/process.py +++ b/energy_models/sos_processes/energy/techno_mix/clean_energy_mix/process.py @@ -42,7 +42,6 @@ def get_builders(self): 'ns_energy_study': f'{ns_study}', 'ns_public': f'{ns_study}', GlossaryEnergy.NS_FUNCTIONS: f'{ns_study}', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}', 'ns_resource': f'{ns_study}.{energy_mix}'} mods_dict = {} mods_dict[f'{energy_mix}.{CleanEnergy.name}'] = self.get_stream_disc_path( diff --git a/energy_models/sos_processes/energy/techno_mix/electricity_mix/process.py b/energy_models/sos_processes/energy/techno_mix/electricity_mix/process.py index 55aaaa24..cfce6fac 100644 --- a/energy_models/sos_processes/energy/techno_mix/electricity_mix/process.py +++ b/energy_models/sos_processes/energy/techno_mix/electricity_mix/process.py @@ -49,7 +49,6 @@ def get_builders(self): 'ns_energy_study': f'{ns_study}', 'ns_public': f'{ns_study}', GlossaryEnergy.NS_FUNCTIONS: f'{ns_study}', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}', 'ns_resource': f'{ns_study}.{energy_mix}'} mods_dict = {} mods_dict[f'{energy_mix}.{electricity_name}'] = self.get_stream_disc_path( diff --git a/energy_models/sos_processes/energy/techno_mix/fossil_mix/process.py b/energy_models/sos_processes/energy/techno_mix/fossil_mix/process.py index a405bbb2..62d0cbb3 100644 --- a/energy_models/sos_processes/energy/techno_mix/fossil_mix/process.py +++ b/energy_models/sos_processes/energy/techno_mix/fossil_mix/process.py @@ -43,7 +43,6 @@ def get_builders(self): 'ns_energy_study': f'{ns_study}', 'ns_public': f'{ns_study}', GlossaryEnergy.NS_FUNCTIONS: f'{ns_study}', - GlossaryEnergy.NS_REFERENCE: f'{ns_study}', 'ns_resource': f'{ns_study}.{energy_mix}'} mods_dict = {} mods_dict[f'{energy_mix}.{fossil_name}'] = self.get_stream_disc_path( diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl index e47e4cd03a8c09a28af6f94a163a804c8b7c0cb6..88d2852a2291c00211d85f8513c1904d4dc884d7 100644 GIT binary patch literal 535 zcmV+y0_gohT4*^jL0KkKS-9aZK>z_S|NsB4o&s%6cvQ?;6|KMT-}X!FUl0)z1URUN z22nT^C>6i~w;O9L5>!wCGf)7~(?9?LpaGz018NMK8Z;YIA&H;@N>FG+C#jL9fEo<| zXaE2jXwU!v001%#4GsVR0000000000000000AvWMRBWSadNQ7-gCXiYBh=GPriAnw zjXgjcQ%_I^hK$ow)W`voO{S-fM=Vo|L~gJnFdRDha~ruE4H+qn3-K{J6P|HR6VQy& z9Py7hU>-!jlAaO1q&9}g+Z!WjYz&DBR6Wr3q%eF%k%3y+&f<-V;z1xu8B_+yc*d~R zo=2kSg&>9qMQH8Z5*r=p+jz1n{h;O3UHsrtB#2XV<3g7d> literal 512 zcmZ>Y%CIzaj8qGbd|UWbkbzPE|NsAMrP#cJD@r?liZJd^|6lF>F7NO}7MF~}I*d0Y zm;{y_VBC0OLIDFW1G7U41CU}|*1!Ow1p_%Ir_A$pzO^8OfgyuUfj{6YgOQ{Zuau;% z<6hroE3jx03JUnr?9n z;+bL7r#6enF{&v`%GeYu6)j%!N0hp|ohoZS%P-|DA5plgnK>Zw{%INJeb=S0P5N=v z1-7ZnvvAE5_NWd&OCR}kzT3e}>Vr`d1tjlMSl|jc}G>0+@ zxhm+-G`#bV(W?Eqf}3;4EX`Td5*g&xZWzztdzErhT6pOhWryp2ElcaZ&T08@cY{T{ zj@}Z!{h~%b7iVnDD!Hh~dpavMtuKU4^YGoz33qPYUX$ripIml#MYM)&;!T-8(T6|$ zCU_KRO1Uk_Ytsn%sIO}$XwBPP?D9Cmhga=#i0eB|p(97XXf);8bed?%E$Ub?*YcFf z%kJcqblK{wX&qma10UQB5Pz_|tK!$O3s>w9uBdKaXUfO8B%7DhDd(S?(UMM`!uBdV w#UmDOjSI@yHf5#rC44(pGHph`PWFY%CIzaj8qGbEQq^wg@LiZ{{R0sT8>Xsf27R2`IYbg`~T_APxFM>d?(0sbvCsz z3V8|~V7$Y?+`xbeWKg*b3=hx*n6o^51&(CZEwpu;x9p5zm-@<)EA(gRNp zMJG=_8OHtg>O6e;0zCI)3nupb4!lJZ|P|c z4Kn@ujWuJh^9-vZZKdGkv*&hk#w@nn7BqE}z_ZqZ_0Q%_xw4eyZm`O9PgiHJ*(cv8 z)qa1?l)|;kSnE#9fj#QdtiQZ^IUO&`EV-Bb>-nC8OWp41UYaL7_mIh(n1ty<)AGd* z)xKVN-TWcLBG0(POgwUl9}cBVKBzAC!&|dsneVPi%i`+Y{Mk0zOpj9XJ{RKIDi^%^ zRfKW>$Fhk5D<MZHfWk`gh&7*d?RCXU@DRHo=;u nMtP1WulWV{9Je?V(6fB*li8dSk;_*{rv6ac^H-+J@puGsBtch!ec-bI|*T zc0P+AS~~FAPYuMJ-IvlTKzSC+Ml^2gD6PWzO@v zjloD-4$j7~Yv#D&lfRk5L+hRQGae25383E$p>Muz80%p!Vvap>p0!oGA}j^fg`xOf zHNSZFLkKE`%GJBdD(-5TxKl)@NZL{bGY6&IeIB}tdbln?7#Q?d5s^Z-9^MSlyS?kB zx(qeGkxw?d-PJgnNj2q4wEL?)FYx{3m$`97T&b5X0FvBi<00gS04dmN-`p3tESCwp zzviP~nab;S9v1{1AZc)^ual;FU*oM+w&K`Q>rOOaH7B`pitl5Z@ibm! zej(Flg_LuV=jhtANk~&u79ofrj;6Nt;p#eL0{5xFxiWeg63}Tg6IO4YR>|0DV@hiC viNuZeqiM3*a$V;UwD!4eVzs9rm9|8^tch^E=fQyUAMtl2Q-uivT5>$lvNr*@ diff --git a/energy_models/tests/l0_test_compute_ccus_disc.py b/energy_models/tests/l0_test_compute_ccus_disc.py index 602ed5ac..90f227e7 100644 --- a/energy_models/tests/l0_test_compute_ccus_disc.py +++ b/energy_models/tests/l0_test_compute_ccus_disc.py @@ -96,7 +96,6 @@ def test_01_CCUS_discipline(self): 'ns_energy': self.name, GlossaryEnergy.NS_CCS: self.name, 'ns_energy_study': self.name, - GlossaryEnergy.NS_REFERENCE: self.name, GlossaryEnergy.NS_FUNCTIONS: self.name, 'ns_carbon_capture': self.name, 'ns_carbon_storage': self.name} diff --git a/energy_models/tests/l0_test_compute_demand.py b/energy_models/tests/l0_test_compute_demand.py index 0979e260..f54d279d 100644 --- a/energy_models/tests/l0_test_compute_demand.py +++ b/energy_models/tests/l0_test_compute_demand.py @@ -53,7 +53,6 @@ def test_01_demand_discipline(self): self.model_name = 'Demand' self.ee = ExecutionEngine(self.name) ns_dict = {'ns_public': f'{self.name}', - GlossaryEnergy.NS_REFERENCE: f'{self.name}', GlossaryEnergy.NS_FUNCTIONS: f'{self.name}.{self.model_name}', GlossaryEnergy.NS_ENERGY_MIX: f'{self.name}', GlossaryEnergy.NS_WITNESS: f'{self.name}'} diff --git a/energy_models/tests/l0_test_compute_energy_mix.py b/energy_models/tests/l0_test_compute_energy_mix.py index cf4f4493..09112800 100644 --- a/energy_models/tests/l0_test_compute_energy_mix.py +++ b/energy_models/tests/l0_test_compute_energy_mix.py @@ -152,7 +152,6 @@ def test_02_energy_mix_discipline(self): GlossaryEnergy.NS_FUNCTIONS: f'{name}.{model_name}', 'ns_resource': f'{name}.{model_name}.resource', GlossaryEnergy.NS_CCS: f'{name}.{model_name}', - GlossaryEnergy.NS_REFERENCE: f'{name}.{model_name}', 'ns_energy': f'{name}.{model_name}', GlossaryEnergy.NS_WITNESS: f'{name}'} ee.ns_manager.add_ns_def(ns_dict) @@ -246,7 +245,6 @@ def test_03_energy_mix_discipline_exponential_limit(self): GlossaryEnergy.NS_FUNCTIONS: f'{name}.{model_name}', 'ns_resource': f'{name}.{model_name}.resource', GlossaryEnergy.NS_CCS: f'{name}.{model_name}', - GlossaryEnergy.NS_REFERENCE: f'{name}.{model_name}', 'ns_energy': f'{name}.{model_name}'} ee.ns_manager.add_ns_def(ns_dict) @@ -330,7 +328,6 @@ def test_04_energy_mix_resource(self): GlossaryEnergy.NS_FUNCTIONS: f'{name}.{model_name}', 'ns_resource': f'{name}.{model_name}.resource', GlossaryEnergy.NS_CCS: f'{name}.{model_name}', - GlossaryEnergy.NS_REFERENCE: f'{name}.{model_name}', 'ns_energy': f'{name}.{model_name}'} ee.ns_manager.add_ns_def(ns_dict) diff --git a/energy_models/tests/l0_test_energy_invest_redistribution.py b/energy_models/tests/l0_test_energy_invest_redistribution.py index e8ac669c..cb0b5d76 100644 --- a/energy_models/tests/l0_test_energy_invest_redistribution.py +++ b/energy_models/tests/l0_test_energy_invest_redistribution.py @@ -88,7 +88,6 @@ def test_01_redistribution_invest_disc(self): self.model_name = 'Invest' self.ee = ExecutionEngine(self.name) ns_dict = {GlossaryEnergy.NS_WITNESS: self.name, - GlossaryEnergy.NS_REFERENCE: self.name, 'ns_public': self.name, 'ns_energy_study': self.name, GlossaryEnergy.NS_CCS: f'{self.name}.CCUS', @@ -162,7 +161,6 @@ def test_02_redistribution_invest_disc_gradient(self): self.model_name = 'Invest' self.ee = ExecutionEngine(self.name) ns_dict = {GlossaryEnergy.NS_WITNESS: self.name, - GlossaryEnergy.NS_REFERENCE: self.name, 'ns_public': self.name, 'ns_energy_study': self.name, GlossaryEnergy.NS_CCS: f'{self.name}', @@ -220,7 +218,6 @@ def test_02_redistribution_invest_disc_gradient_wih_biomass_dry(self): self.model_name = 'Invest' self.ee = ExecutionEngine(self.name) ns_dict = {GlossaryEnergy.NS_WITNESS: self.name, - GlossaryEnergy.NS_REFERENCE: self.name, 'ns_public': self.name, 'ns_energy_study': self.name, GlossaryEnergy.NS_CCS: f'{self.name}', diff --git a/energy_models/tests/l0_test_independent_invest.py b/energy_models/tests/l0_test_independent_invest.py index c9099d97..cc8ecba2 100644 --- a/energy_models/tests/l0_test_independent_invest.py +++ b/energy_models/tests/l0_test_independent_invest.py @@ -89,7 +89,6 @@ def test_02_independent_invest_disc(self): self.model_name = 'Invest' self.ee = ExecutionEngine(self.name) ns_dict = {GlossaryEnergy.NS_WITNESS: self.name, - GlossaryEnergy.NS_REFERENCE: self.name, 'ns_public': self.name, 'ns_energy_study': self.name, GlossaryEnergy.NS_CCS: f'{self.name}.CCUS', @@ -159,7 +158,6 @@ def test_03_independent_invest_with_forest_disc(self): self.model_name = 'Invest' self.ee = ExecutionEngine(self.name) ns_dict = {GlossaryEnergy.NS_WITNESS: self.name, - GlossaryEnergy.NS_REFERENCE: self.name, 'ns_public': self.name, 'ns_energy_study': self.name, GlossaryEnergy.NS_CCS: f'{self.name}.CCUS', diff --git a/energy_models/tests/l1_test_base_stream_electricity.py b/energy_models/tests/l1_test_base_stream_electricity.py index 32b64f20..82ddb7ed 100644 --- a/energy_models/tests/l1_test_base_stream_electricity.py +++ b/energy_models/tests/l1_test_base_stream_electricity.py @@ -105,8 +105,7 @@ def test_01_base_stream(self): 'ns_electricity': f'{self.name}', 'ns_energy_study': f'{self.name}', GlossaryEnergy.NS_FUNCTIONS: f'{self.name}', - GlossaryEnergy.NS_ENERGY_MIX: self.name, - GlossaryEnergy.NS_REFERENCE: self.name} + GlossaryEnergy.NS_ENERGY_MIX: self.name,} self.ee.ns_manager.add_ns_def(ns_dict) mod_path = 'energy_models.core.stream_type.energy_disciplines.electricity_disc.ElectricityDiscipline' diff --git a/energy_models/tests/l1_test_gradient_ccus_disc.py b/energy_models/tests/l1_test_gradient_ccus_disc.py index 911f76c1..1bca56be 100644 --- a/energy_models/tests/l1_test_gradient_ccus_disc.py +++ b/energy_models/tests/l1_test_gradient_ccus_disc.py @@ -121,7 +121,6 @@ def test_01_Consumption_ccus_disciplinejacobian(self): 'ns_energy': self.name, GlossaryEnergy.NS_CCS: self.name, 'ns_energy_study': self.name, - GlossaryEnergy.NS_REFERENCE: self.name, GlossaryEnergy.NS_FUNCTIONS: self.name, 'ns_carbon_capture': self.name, 'ns_carbon_storage': self.name} diff --git a/energy_models/tests/l1_test_gradient_demand_model.py b/energy_models/tests/l1_test_gradient_demand_model.py index 121b1225..05e7bf82 100644 --- a/energy_models/tests/l1_test_gradient_demand_model.py +++ b/energy_models/tests/l1_test_gradient_demand_model.py @@ -77,7 +77,6 @@ def test_01_demand_model_discipline_jacobian(self): self.model_name = 'demand_model' self.ee = ExecutionEngine(self.name) ns_dict = {'ns_public': f'{self.name}', - GlossaryEnergy.NS_REFERENCE: f'{self.name}', GlossaryEnergy.NS_FUNCTIONS: f'{self.name}.{self.model_name}', GlossaryEnergy.NS_ENERGY_MIX: f'{self.name}', GlossaryEnergy.NS_WITNESS: f'{self.name}'} diff --git a/energy_models/tests/l1_test_gradient_electricity.py b/energy_models/tests/l1_test_gradient_electricity.py index 231711b4..283a6bd6 100644 --- a/energy_models/tests/l1_test_gradient_electricity.py +++ b/energy_models/tests/l1_test_gradient_electricity.py @@ -925,7 +925,6 @@ def test_14_electricity_discipline_jacobian(self): self.ee = ExecutionEngine(self.name) ns_dict = {'ns_public': f'{self.name}', 'ns_electricity': f'{self.name}', - GlossaryEnergy.NS_REFERENCE: f'{self.name}', GlossaryEnergy.NS_FUNCTIONS: f'{self.name}', 'ns_energy_study': f'{self.name}', 'ns_resource': f'{self.name}'} From b7343b4ad0a7aa2a2954d4130e2790fe04f0e3ee Mon Sep 17 00:00:00 2001 From: perrotcap Date: Fri, 4 Oct 2024 11:47:01 +0200 Subject: [PATCH 07/16] improved icons for ontology --- .../direct_air_capture_techno/direct_air_capture_techno_disc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/energy_models/models/carbon_capture/direct_air_capture/direct_air_capture_techno/direct_air_capture_techno_disc.py b/energy_models/models/carbon_capture/direct_air_capture/direct_air_capture_techno/direct_air_capture_techno_disc.py index 9de85293..a1cdcf9d 100644 --- a/energy_models/models/carbon_capture/direct_air_capture/direct_air_capture_techno/direct_air_capture_techno_disc.py +++ b/energy_models/models/carbon_capture/direct_air_capture/direct_air_capture_techno/direct_air_capture_techno_disc.py @@ -41,7 +41,7 @@ class DirectAirCaptureTechnoDiscipline(CCTechnoDiscipline): 'last_modification_date': '', 'category': '', 'definition': '', - 'icon': 'fa-solid fa-globe-europe fa-fw', + 'icon': 'fas fa-air-freshener fa-fw', 'version': '', } techno_name = f'{GlossaryEnergy.direct_air_capture}.{GlossaryEnergy.DirectAirCaptureTechno}' From 2400e580f000a669d5e9857472a13eb606378d9c Mon Sep 17 00:00:00 2001 From: b4pm-devops Date: Sun, 6 Oct 2024 05:09:51 +0000 Subject: [PATCH 08/16] Pickle recalculated --- ...ossilSimpleTechno_construction_delay_0.pkl | Bin 842 -> 855 bytes ...stments_profile_builder_disc_all_years.pkl | Bin 535 -> 517 bytes ...investments_profile_builder_disc_poles.pkl | Bin 565 -> 566 bytes .../jacobian_ratio_FossilGas.pkl | Bin 2558 -> 2551 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/energy_models/tests/jacobian_pkls/jacobian_FossilSimpleTechno_FossilSimpleTechno_construction_delay_0.pkl b/energy_models/tests/jacobian_pkls/jacobian_FossilSimpleTechno_FossilSimpleTechno_construction_delay_0.pkl index b83713a328b02c87d3590353b4f313ba496d1488..e48084062841cde0773848199620b29cf5170aee 100644 GIT binary patch delta 841 zcmV-P1GfCi2G<4-LRx4!F+o`-Q(5tCb_bCT9e)tu@XP=R&;woo4ueGoibw{Hi8iK( zs5HPpG6o5!s2GexO$>pifHDDuW|KpJ000000004?00000000026q-z$U`7bj0464l zJs{HoFaRS0Xu@RCfiNQgLx2DP000000iXZ?00000009z^O%RFUO_XGKP-NPNs2{3m z0DtuWY>;h7spQl#lz2?0Cej&{hVICs0-jb5KXRRYvpyQ~>2Lfkp&ID*E(Q1WzOB_>Id&ZMWPKc&w** zH9~@j3SNgfK<3(5i^04VTV9%h5q_Y)BY#9&ERdcT!he#Ig93z-5=F5VyEe_pP0CUd zLPUv4B$2N8+7vA)7};8yl9N`HDuYU>M4}fB>!L#7*HeiQsI9CvyDR)cpQQ>1ZkI(Vx4_B{N#=Tnl--qSb`&15inF#DC z5OH$@kxV=IOmS{plH^k0yK-IgL;>+yAS2R15(WpHL<$0(hw;y32AKfA0X`LXF&skq zyjWgR+PJ0p!>#fuanucivUZNywtsrXmRV(Xd1-C7+ikY?kzk9!A&WHB=82cgeBtX3 zWpy#(a}*8*Gsi4?8QI}j&@g8H_8kE#ALl~qjR7($$zpL+d~%BPa);D10)diZ;u$3@ z$ubK=gv+SLLKlY_pg7?OO2NN;Jq!juCAvIWtRV;t7%*gJdB_5~O64|pfqxK~$sn5q z*&>L+L4Z|dmUgzM@gQ#~(=k1r)m=D=BAw4*Q2|Wtr2{xuQsM+6!T|yZUy67%zQjDp z31$h-jck{7Joz4wSoc+X!{6iQ@v7&l^h43(yo(4CVOiccMrLXYW5_OR+tATP16Im{ z0M<5&GPKaILg{&t4qGzR2r_1bO))LfHX;~s=i$TcS^+S8Dh4UYpl+H92Q!sR&XR!u T0TaePGyfNIML1B9@ojboWvXN+ delta 828 zcmcc4c8ZP9DJsL#&@oaiIP#=!(2t3Hvh{)wKAd6TxWF98pw*yZ6mms6*!hyQhY5pJ zO4?^+VF`$70G(K|!ngGX?ri^967nYr}RX)@<%huU(Z}1gf zTlW@4~w4Xjp^Rjsr}q%olJiV3+LRGEg!MzrJXNQc+!g!<{W*w`(`5 zcbzJ4PSDV3So)%93eRkB!SdaSp<7?C5EOsT{m8_1(@D;UHg=N#>b(|)1{|9zTZ@8NdL{{Z@m8>1SeWT>;**(~UJ+{6g zc(qgG&BpnpmgLysg4d#l8>pYkeR;bKK>1&AKU0if-u6bARh2#QFv(#AM z`TLju_?yL6F*74qL!fYTbEi-AjUN52v7zVY&YfGm_tb)jdlS5$aB(gAFyTP5P4%^p zJ40VsC9GkZ$H(1R^G-~B%C>c!b@^}pXvJi;UA%71o^r=F>9o$K-8M_M-Ok;1yS|!Z zgX_DFWZzOFm$N5oF5ZxN^(uMaa}C+6ChaDbRaTA>7Ys7$uE}iFlD%ua%H+tY)w-Pr zeIK6DzH&xB;1m~IWbX;1Q<2kB#oB((4(w~u=d*SwXi?N=`}^VZ2Z>6tR|OdcEs7jY zM*e=y`D$k@!zI;(9SyFwE32!VUg}o2ZCm|zUH#|fiIo+ zNksRl|NA-{Iy!b_l(Yp-Ti_VE$>vW?8qb!Jz4fmbtw=o|sJLpjk%Pbmj#-bQ&&91_ w7Sq*OD2-|MZ@86)aSo6t(mN0Lj=}EdT%j diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl index 88d2852a2291c00211d85f8513c1904d4dc884d7..a0d014bdd91c4d75d7ed23da4db953118319d6cc 100644 GIT binary patch literal 517 zcmZ>Y%CIzaj8qGbd@WjkiGk7U|NsB%X0!Ta{(aYBDY|-p`TcLfZ_foVaWFEpI2>T; zILMH4fN>Ac5(@@~3@IQ;VaQ-$b}%tvU^v0RsH$p`WN_tH@2h49BcMD3FM|mKv-1@x z_7zx_i>jPTa$or?KrX=6A#-7eq@>)eh7(_HeU0QMzT(exkX!JnGH8mN!-b4xH-10j zm0-K@lBZOs|GQD+{!J!l+XN!=`7$nZsA)>-@>SfGYL>`dVz2zwYsV#>j~)5!yTmVv z=JKt$J0sz?%;Jc0leP<&HqE?oEO2kDjj)RFoLMiuEO>%cYU&qMw7pqUm3!bCM>x+R z$8A!7AD*%}9#Y!Y_>^__41+`q&iE9o3A3L@Z<)%Y*lHdu@aRp!p$);F&ZiDkOj0ep zpOvBd(c86zsjH`|N$*Lg#=YE#J&r39XPXLjxJ0~lZ+J0x!bIbq$QKPh+Y%NkJxUW6 zzI-%VOVYDxtE+e1l;fT53SZl2hpN6PR+qgvr|$8D9JU4@%N?@42eyKw16_1&(){+>;o#7+C zVuAdlloJzOrVHyB^?0f+xM0S9#`IYA;blfVhaGN69xHs%_u)eQ(K{3UL{zMf#(!x5 E08T{NYybcN literal 535 zcmV+y0_gohT4*^jL0KkKS-9aZK>z_S|NsB4o&s%6cvQ?;6|KMT-}X!FUl0)z1URUN z22nT^C>6i~w;O9L5>!wCGf)7~(?9?LpaGz018NMK8Z;YIA&H;@N>FG+C#jL9fEo<| zXaE2jXwU!v001%#4GsVR0000000000000000AvWMRBWSadNQ7-gCXiYBh=GPriAnw zjXgjcQ%_I^hK$ow)W`voO{S-fM=Vo|L~gJnFdRDha~ruE4H+qn3-K{J6P|HR6VQy& z9Py7hU>-!jlAaO1q&9}g+Z!WjYz&DBR6Wr3q%eF%k%3y+&f<-V;z1xu8B_+yc*d~R zo=2kSg&>9qMQH8Z5*r=p+jz1n{h;O3UHsrtB#2XV<3g7d> diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl index d8777cc5c49127890bd160bfbaadfc4a183abf5a..994f68480893db05c9bd61c8e420d444dae98d13 100644 GIT binary patch literal 566 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 literal 2558 zcmYMy2{hDe9|!RNEXKamwbYnlLYiF0m@LU3Bl|M;tYI*g60MY)nMN^Xn{3h5Os+9T zZXzU#fcuyM-@CvWVOY z&U!Vs(#BiSFuhEX#3^6{0L-H%9{}X>6iA1+7^K*M@&Ez^M1x!^fCoe(00utyx2du9 zLuLt=kkUGQE%FP8RrfMVIu(!a6^nDWHYOfeis-B?ucZ1y%vP2(m;WL$cWb zUZ#4{;R4@f7H;DX7egRi2wr|Ww}KMj#ZWmE8F5MflK!7OpCi*16XPYZmmh+{M1ASC=a)6OaXSHtr4ylqBxZvR|fa+VnYd34cV_ z&Y>fjQa2W3aP(%0Y>#{&9@f=S=HHc+gO2izVi>YO6_BQ{IFIA0fKbFxrHN1Z?U!vr zx4~EWgWj>pa7H_vc~8ThNF?VYu-?n>OhX1lA+mfema|A?$5G~Rl(#j5EP=8f0QIYZ zx}s4bWHq=Wgsi3(gf&b0@{sC=mXLx|q3Jv&BXzW0nez652qS&i ze3V^yo2bfo)Hidy{)y}cSrz&Ydv*Q9-}7gfq_zsWW8Ucf*)UpYrXl<0W0+kf+{)-z zr7mLNwP`f$1|uQf_d^^#L zx3KOwxT8-rN~=|)2De40=^P`{F+?)a$x@@oQrGc|nWgfzB!z0HgJBj4LrVV}b$0-O zcm6Z=+TREuTqvF+xC*oWuOd;c?&pUB0_pu=@2G)o9kYD)d;pGm1S33EAY3~Y;`l7n z&{C`R^}UD13MW9rhcE_n)q!$DIvsy zR{C)K)_rJk2vQ`djv<=qj1SKGPtT>9kyR83R<*}He~T9GvckvW%&WRzc+AFr6)R3J z+w5C=%1`Q9(Tr{|@6I2&KK7w9$t^nRXz}>b=0C?@gLLq+Vd*L50GZay>Kun=DJ|jU zjb!QwYoC624R*op;Ct&9fk#dKn;YTe#+N+l zC+4#Avl+)76g9!-2J5by2T#-6pWP`KsB-HqM+uI&@nKq?21|R-=`LU;i%g<(!xGB~ z!~KV`jHP?0Nm#)UhlVonziJ(W@r9P7<6lF)ojy#h`DIr6n+_}Ai6VPj<%M2lGU8Sb zTuQC#9#X2xei;_5L0>R!9udi4*-D15^b1g`bkDW3Un6(=`Hq%|M|X$w4}RV~K8SgB zwpc{>7wWoNXc+MIf*FXigkiYYTk-)TUh|6no-m3g%PEh{N8E=vTFp3n2iXOwEBW-R zNO;?3|B4+*o2bxSDqm*Bd-Bx3nJlB>*JT_Mpb!arjyKQGNL?n=p7S>(I3-aAQ|j{v z#}AYMdYt5ZUG`4Q-Fy0J?UCnr&#K`jg=Dd7szvU)p$6HN*k-3MB~23wjBODto{n_~ zDDIT+*mosm?PRO5&6Jy49kqpbJ`C?lDW84vpk=z|MCh8kCe?oTNC69D5`p|V{SEBv zOzJPY-)}(Hr!>4s@qD$&tSpQHL&902vUW8urj7V}&`I37juh>l6Vc?zl&EAY-1J)YZhHh}WnW1+{{mtH}Ge*%xD(>BHwc;+J+_8>L z7P$Fzg=}syO`PWnbnn$Z=1Zcik%1ihxehz`jC( zQo-k3=sVD2ybxbG<#hPK>&;I4u;gpiW~MHFiilZXqEs+5z4f6Y z!2}}p7k%fr=1z|$=vK=j_05;YZh~Yw(N1CFZd_D599`CjZHgod&5~m+1wkv+aU2-} zYvTZ!FI`NWx<=V$wySBlMRzWX&*PEgj8*UVIQvsUOgbdt#Z3uCtAX3hJ>^lOHW7Ut z7XegoB3r4@y3G^~j#%U`wh**Z-l`eL`gh8bmy=S*ThA_vpIf(NglJoyB|vojpitEZ zBXp#=x)pA5zp>;&{bcgjZ>OCmPJFcO7nJ(%DJX)`AihxfsWpvFDD3!NWYGHZ4z*{y z3*pzx&oy1>R32R4e`~2d`zNg+8PWQV3{Ctx(8(zFp@GozQTwKfkHeWJ+O}i5rEv{` zF}y~_+KoTg8WHR)qX*;PCf__-`QC{Rc!1`^34yZN)RGxBr_C^-+Kj#3e0?DAzw=OV Axc~qF From d303e9040c745eb104ff25079ab0e3617788572f Mon Sep 17 00:00:00 2001 From: perrotcap Date: Tue, 8 Oct 2024 14:32:42 +0200 Subject: [PATCH 09/16] fixed process sectorization --- energy_models/core/energy_process_builder.py | 2 +- ...vestments_profile_builder_disc_all_years.pkl | Bin 535 -> 524 bytes ...n_investments_profile_builder_disc_poles.pkl | Bin 565 -> 557 bytes 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/energy_models/core/energy_process_builder.py b/energy_models/core/energy_process_builder.py index 5e47c5ce..30d3162e 100644 --- a/energy_models/core/energy_process_builder.py +++ b/energy_models/core/energy_process_builder.py @@ -24,7 +24,7 @@ # Only one discipline with absolute values for # investments per techno and a constraint ] -INVEST_DISCIPLINE_DEFAULT = INVEST_DISCIPLINE_OPTIONS[1] # 'one_invest' +INVEST_DISCIPLINE_DEFAULT = INVEST_DISCIPLINE_OPTIONS[2] # 'one_invest' class EnergyProcessBuilder(BaseProcessBuilder): diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl index 88d2852a2291c00211d85f8513c1904d4dc884d7..0d6d1f1483c92e0a211c165dc930f381daacc891 100644 GIT binary patch literal 524 zcmV+n0`vVsT4*^jL0KkKS+tWBBme;^|NsB38X`zhc+80zl?lIZ|8qpc_yRDd{~x@`vh84gdk50iX>402(m>13&-(00Te-l&R?+jX)1j00000G|fN( zpm|LI8USc%p!FkzxM!!90crshn5~SR`AsGmh9JB!a|TKV0@!2e@a z$Mi8KkaYA$@a_&^aOBt5fN>P_MDSfQTlx>8F#ua5g&cyHCD5e?(c&tQ?64aYl5yT+ z8wp#?GbV&&-MV!Xy<;G8j>vD4292bg>s(8tF;0F0Y?a2nRWq&)m<&muo1q51O0bCV~KIRkiTAE3&Vw#JClVu5yw5ke_~o-DCKFX2Le Oi@744C`ejKiV^_&o7mj| literal 535 zcmV+y0_gohT4*^jL0KkKS-9aZK>z_S|NsB4o&s%6cvQ?;6|KMT-}X!FUl0)z1URUN z22nT^C>6i~w;O9L5>!wCGf)7~(?9?LpaGz018NMK8Z;YIA&H;@N>FG+C#jL9fEo<| zXaE2jXwU!v001%#4GsVR0000000000000000AvWMRBWSadNQ7-gCXiYBh=GPriAnw zjXgjcQ%_I^hK$ow)W`voO{S-fM=Vo|L~gJnFdRDha~ruE4H+qn3-K{J6P|HR6VQy& z9Py7hU>-!jlAaO1q&9}g+Z!WjYz&DBR6Wr3q%eF%k%3y+&f<-V;z1xu8B_+yc*d~R zo=2kSg&>9qMQH8Z5*r=p+jz1n{h;O3UHsrtB#2XV<3g7d> diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl index d8777cc5c49127890bd160bfbaadfc4a183abf5a..387ad4a865f99ccc700a6f8441eaa5311d9ac465 100644 GIT binary patch literal 557 zcmV+|0@D3LT4*^jL0KkKS+O@=FaQCT|NsB3NfPlt^ zg|UbL01&_d+yDcB0MGyofB*n88Z-a^000000N?;L00STZ01SqW000000000u01W^D z$N&HXA)`P50000000z{MhNcR5)BU=@JEy)?;+UZX%mSJ@_tP?b6VHh`Fv~=FEwGU_ zK&*)4yCclZOO~yh#@7KXzBx*D&r0A`m&CB=-+5p297z@oqAF>baoahM zR$`Z+3t1z)k$RBn3JXMIglucpO2w0;;VLC(GqoWxTiAbwAo(h#n>iw+hG4*h)`?A@ zI>t#rFB3JSp|lcsLqIsZ_z6!+5TBS#sHuCsu5&u7$WLs7WD3$XYtIRxdPAzQQeBKl zLkMz}NQ&0o`^+1Z<^;sBLX(voe6X1kjFcy)(4#*TAQVX}`7j{tyco=qa7pdqiD$7& z;W~W?RO{1dcsR@gbmFW;FS&nCLV=T{WtBI~qoBb^%}9rQ6Z}U}<>5lYX*tc@WV7HY zxt=)$bEWu?PB9pwIP3C9C=&wHTO$mVWe$0(Npm)g>!!9r&~+Bi$&Pf9lvcfC4Ovvv v%8H;f?|$Hr<#dGp7fzxg;e0sGEtd;sGK=b5E|*c@U-5S&Q-ui&6Lr%7w5{^s literal 565 zcmZ>Y%CIzaj8qGbEQq^wg@LiZ{{R0sT8>Xsf27R2`IYbg`~T_APxFM>d?(0sbvCsz z3V8|~V7$Y?+`xbeWKg*b3=hx*n6o^51&(CZEwpu;x9p5zm-@<)EA(gRNp zMJG=_8OHtg>O6e;0zCI)3nupb4!lJZ|P|c z4Kn@ujWuJh^9-vZZKdGkv*&hk#w@nn7BqE}z_ZqZ_0Q%_xw4eyZm`O9PgiHJ*(cv8 z)qa1?l)|;kSnE#9fj#QdtiQZ^IUO&`EV-Bb>-nC8OWp41UYaL7_mIh(n1ty<)AGd* z)xKVN-TWcLBG0(POgwUl9}cBVKBzAC!&|dsneVPi%i`+Y{Mk0zOpj9XJ{RKIDi^%^ zRfKW>$Fhk5D<MZHfWk`gh&7*d?RCXU@DRHo=;u nMtP1WulWV{9Je? Date: Tue, 8 Oct 2024 16:43:42 +0200 Subject: [PATCH 10/16] removed energy price from clean energy price --- .../clean_energy_simple_techno.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py index 25a807ea..aa886f74 100644 --- a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py +++ b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py @@ -23,9 +23,4 @@ class CleanEnergySimpleTechno(RenewableTechno): - - def compute_specifif_costs_of_technos(self): - self.specific_costs = pd.DataFrame({ - GlossaryEnergy.Years: self.years, - GlossaryEnergy.ResourcesPriceValue: self.techno_infos_dict['resource_price'] - }) + pass From 56644f3f147b1246cc67b0245c35809e37564236 Mon Sep 17 00:00:00 2001 From: perrotcap Date: Wed, 9 Oct 2024 10:01:40 +0200 Subject: [PATCH 11/16] ruff fix --- .../clean_energy_simple_techno/clean_energy_simple_techno.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py index aa886f74..56e5d2be 100644 --- a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py +++ b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py @@ -14,12 +14,10 @@ See the License for the specific language governing permissions and limitations under the License. ''' -import pandas as pd from energy_models.core.techno_type.base_techno_models.renewable_techno import ( RenewableTechno, ) -from energy_models.glossaryenergy import GlossaryEnergy class CleanEnergySimpleTechno(RenewableTechno): From 519b27120bf91dda2c11249dab905897c5c80992 Mon Sep 17 00:00:00 2001 From: perrotcap Date: Wed, 9 Oct 2024 15:23:13 +0200 Subject: [PATCH 12/16] fix test --- energy_models/core/energy_process_builder.py | 6 +++--- ...vestments_profile_builder_disc_all_years.pkl | Bin 524 -> 516 bytes ...n_investments_profile_builder_disc_poles.pkl | Bin 557 -> 561 bytes 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/energy_models/core/energy_process_builder.py b/energy_models/core/energy_process_builder.py index 30d3162e..fb9c22e7 100644 --- a/energy_models/core/energy_process_builder.py +++ b/energy_models/core/energy_process_builder.py @@ -24,15 +24,15 @@ # Only one discipline with absolute values for # investments per techno and a constraint ] -INVEST_DISCIPLINE_DEFAULT = INVEST_DISCIPLINE_OPTIONS[2] # 'one_invest' +INVEST_DISCIPLINE_DEFAULT = INVEST_DISCIPLINE_OPTIONS[1] class EnergyProcessBuilder(BaseProcessBuilder): - def __init__(self, ee): + def __init__(self, ee, invest_discipline: str = INVEST_DISCIPLINE_DEFAULT): BaseProcessBuilder.__init__(self, ee) self.techno_list = None - self.invest_discipline = INVEST_DISCIPLINE_DEFAULT + self.invest_discipline = invest_discipline self.associate_namespace = False #self.energy_name = filename.split('\\')[-2].replace("_mix", '') #self.techno_list = current_techno_dict[self.energy_name] diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl index 0d6d1f1483c92e0a211c165dc930f381daacc891..6ca61f3b3973249d8092081ed0d6f9147d9fc6b7 100644 GIT binary patch literal 516 zcmV+f0{i_!T4*^jL0KkKSpg(42mk>l|NsB28X-tQetpY1bTGeX-)4X0Pf+y$M5L$~ zApjf+5(K~jw+T=<0BNRx10Vnapa21&00uw+G&BH7L?n8KjM8Wt8USbj0LTHL13&{H z4FCgx2AXI9G5`P?000^Q0Av6ILqG&nkWq;8o|=!;BTrBb229cqQz4q3qeIjhJxvc2 zP}9A6f@p0g#A3KL!_^BZ3Ht^S zf$bW@wmw_~RC`0RI0mLz*BeRPjAG9jiTWEOz&YO_zB~hbeEJ0aM_fB$3Sm5*Ai+&= z@7NgzplEAnTDD}TAM!pR(S_adx#6~%CD6K`1iUjw^^Q zG8#RrPf&@qZ;DVrh8eO^QaV2m#8J`GMc@+=1Vo7w1!BQ95^Lo#Mu`>?)aa>%;IEBq zX`4=zDV4^DLZ#7+ct`j*hY-p+p`saEj+H30IFyJ}nR>vd>%#4t`Jfr%#V4+zyCn8-hY z{|-Rmte(FbMN&kZlV&8z$%t+a5tMO{(0`*C#*oJZiXoI`8Hvl}jxm(~i@744C`bU3 G7z6+~RMBz( literal 524 zcmV+n0`vVsT4*^jL0KkKS+tWBBme;^|NsB38X`zhc+80zl?lIZ|8qpc_yRDd{~x@`vh84gdk50iX>402(m>13&-(00Te-l&R?+jX)1j00000G|fN( zpm|LI8USc%p!FkzxM!!90crshn5~SR`AsGmh9JB!a|TKV0@!2e@a z$Mi8KkaYA$@a_&^aOBt5fN>P_MDSfQTlx>8F#ua5g&cyHCD5e?(c&tQ?64aYl5yT+ z8wp#?GbV&&-MV!Xy<;G8j>vD4292bg>s(8tF;0F0Y?a2nRWq&)m<&muo1q51O0bCV~KIRkiTAE3&Vw#JClVu5yw5ke_~o-DCKFX2Le Oi@744C`ejKiV^_&o7mj| diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl index 387ad4a865f99ccc700a6f8441eaa5311d9ac465..60bff1e71ee432dc5323d41ec98c204a79ee0a3e 100644 GIT binary patch literal 561 zcmZ>Y%CIzaj8qGb+^R6`9|Pm$|NsB5^@@4@{P)p0ks>nxpZ_m9{j|S{QEo=Vp@m%y z4oZv*4lv$fU~XVQ0g~(}Tm}XsJ~V+8-jxa+{=r|>SH65HY~0gp{S_R zVJGMAl_I_WnC5Abxs9SXMGoyffs`;oClG zZ}{KpD6Ne>=q@#@eTKTn71z}%N9SMTb~ziVY1$;U&_&~AiMXfB)D^C0yxy&m_^KRr z^1IFNEeDNQXY{+}IBF=XFIk_j!k$pnzJ9l#`3%$i+@_nF3-g|eMcS-M2;^9%J&S9i zMu7K@zSIv6+Eb=p=@2NFd5Pyu)_9}bfPiE(ZPkg4wr77@dVdlYa2E>wX&3&smJ#IYx$3EwZc;+lewNYhpdUv5o`bQJa85FOxtsRITVU&W7p?Ax%s?j lgTwqyC6k2jDofPlt^ zg|UbL01&_d+yDcB0MGyofB*n88Z-a^000000N?;L00STZ01SqW000000000u01W^D z$N&HXA)`P50000000z{MhNcR5)BU=@JEy)?;+UZX%mSJ@_tP?b6VHh`Fv~=FEwGU_ zK&*)4yCclZOO~yh#@7KXzBx*D&r0A`m&CB=-+5p297z@oqAF>baoahM zR$`Z+3t1z)k$RBn3JXMIglucpO2w0;;VLC(GqoWxTiAbwAo(h#n>iw+hG4*h)`?A@ zI>t#rFB3JSp|lcsLqIsZ_z6!+5TBS#sHuCsu5&u7$WLs7WD3$XYtIRxdPAzQQeBKl zLkMz}NQ&0o`^+1Z<^;sBLX(voe6X1kjFcy)(4#*TAQVX}`7j{tyco=qa7pdqiD$7& z;W~W?RO{1dcsR@gbmFW;FS&nCLV=T{WtBI~qoBb^%}9rQ6Z}U}<>5lYX*tc@WV7HY zxt=)$bEWu?PB9pwIP3C9C=&wHTO$mVWe$0(Npm)g>!!9r&~+Bi$&Pf9lvcfC4Ovvv v%8H;f?|$Hr<#dGp7fzxg;e0sGEtd;sGK=b5E|*c@U-5S&Q-ui&6Lr%7w5{^s From ac912167038ec19c26031f6acb5fcae3c02119dd Mon Sep 17 00:00:00 2001 From: perrotcap Date: Thu, 10 Oct 2024 16:09:04 +0200 Subject: [PATCH 13/16] deleted useless files --- ...obian_investments_profile_builder_disc.pkl | Bin 561 -> 0 bytes ...stments_profile_builder_disc_all_years.pkl | Bin 516 -> 0 bytes ...n_investments_profile_builder_disc_mix.pkl | Bin 570 -> 0 bytes ...investments_profile_builder_disc_poles.pkl | Bin 561 -> 0 bytes ...st_gradient_investments_profile_builder.py | 150 ------------------ 5 files changed, 150 deletions(-) delete mode 100644 energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc.pkl delete mode 100644 energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_all_years.pkl delete mode 100644 energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_mix.pkl delete mode 100644 energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl delete mode 100644 energy_models/tests/l1_test_gradient_investments_profile_builder.py diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc.pkl deleted file mode 100644 index 28fcb121223ee8b091dd756acdcb6a579a7025ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 561 zcmZ>Y%CIzaj8qGb-0x?9k%6)6|NsAMtUOPaRz7|8cZ$>g{QJKSf4P4sp&@{Co)`5TWeseWV9!&$a~XEkA|X%pcr%48|gt+PA-gVUTqd`FHBD} z2~dB%n`iUolX9%hhp(;WyWP4jyn1q^VMSl&Z4>XC-ka^_l^p3_l$`s+Y|FuKul7!R zeD|q%WmbvfGv)-zs4W4pZ#VRP{{5wS`IReG{C_?=J^u4}mZV*B+F<(b22WtNKlE(Z!YL4|6|QxBbR3^PY`Qj8uhByj#gMt9ka- zrTO8kU$@#l?_#a7K6)f2{NRThchV;P+%bLiah}j+t`T>(KE7eg%V}z(wd%Lnro;?` z{h<<0e~tB}7$#lp?`TUg)Bm8gVA*NaWtYDc%wCboro88=`FUmAtpSz_*FLY@e0lYc zpsm}d>iMvRUjBN@;+z}f+q~Nu{}--*w|z^WmetK$w?j0!g0DAmD450Qf11ql@3GYH z+U*rlo1X1oz2o=Y@0mBsqFJ8^7QT`0OZ;|r=lOY@C%d{7`h^>w*-w679{cR}fpl|NsB28X-tQetpY1bTGeX-)4X0Pf+y$M5L$~ zApjf+5(K~jw+T=<0BNRx10Vnapa21&00uw+G&BH7L?n8KjM8Wt8USbj0LTHL13&{H z4FCgx2AXI9G5`P?000^Q0Av6ILqG&nkWq;8o|=!;BTrBb229cqQz4q3qeIjhJxvc2 zP}9A6f@p0g#A3KL!_^BZ3Ht^S zf$bW@wmw_~RC`0RI0mLz*BeRPjAG9jiTWEOz&YO_zB~hbeEJ0aM_fB$3Sm5*Ai+&= z@7NgzplEAnTDD}TAM!pR(S_adx#6~%CD6K`1iUjw^^Q zG8#RrPf&@qZ;DVrh8eO^QaV2m#8J`GMc@+=1Vo7w1!BQ95^Lo#Mu`>?)aa>%;IEBq zX`4=zDV4^DLZ#7+ct`j*hY-p+p`saEj+H30IFyJ}nR>vd>%#4t`Jfr%#V4+zyCn8-hY z{|-Rmte(FbMN&kZlV&8z$%t+a5tMO{(0`*C#*oJZiXoI`8Hvl}jxm(~i@744C`bU3 G7z6+~RMBz( diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_mix.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_mix.pkl deleted file mode 100644 index 9f385a30964cbbc140ef07ed56b5c56f8622e762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 570 zcmV-A0>%A8T4*^jL0KkKSqZ^%>i_|c|NsB|OGN2u_;jdQmYBb9|MF|(Po0fG!l1YS z!GQ810f@i>@~9+)lA>tPGynhq&;S4fKmZv7AZWhe}cDGaE`&Ua3;|0FeXVS!LK+S2VKjwTw|%# z2N(=+s07dr^z53BnG07uG@naP*Vv^gD!eUWbUk{{wv-a!g_jI03?R4{9yFy4Zhlcy zvv{{|kZCS@>H+QVUxhH9wD8PI`MHrR5t>r8qy;p`f0adUz`S!udIkjbvc#QNA{Cc1 z&Bz!bWoksHqVTxO#jItwAvG$uo8^#K0>tXd@NpRdg#ad67DWvO{-QpG4z*Tm;pw#C*SxbK_Ps|17$ zi(|VZwAC%U8g}NCl4Ox0^md#lW&c0ciAD)h)3oioBe?C1ndv`pZ;P+tKtILYkxmpO I0&rZqz-mtTi~s-t diff --git a/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl b/energy_models/tests/jacobian_pkls/jacobian_investments_profile_builder_disc_poles.pkl deleted file mode 100644 index 60bff1e71ee432dc5323d41ec98c204a79ee0a3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 561 zcmZ>Y%CIzaj8qGb+^R6`9|Pm$|NsB5^@@4@{P)p0ks>nxpZ_m9{j|S{QEo=Vp@m%y z4oZv*4lv$fU~XVQ0g~(}Tm}XsJ~V+8-jxa+{=r|>SH65HY~0gp{S_R zVJGMAl_I_WnC5Abxs9SXMGoyffs`;oClG zZ}{KpD6Ne>=q@#@eTKTn71z}%N9SMTb~ziVY1$;U&_&~AiMXfB)D^C0yxy&m_^KRr z^1IFNEeDNQXY{+}IBF=XFIk_j!k$pnzJ9l#`3%$i+@_nF3-g|eMcS-M2;^9%J&S9i zMu7K@zSIv6+Eb=p=@2NFd5Pyu)_9}bfPiE(ZPkg4wr77@dVdlYa2E>wX&3&smJ#IYx$3EwZc;+lewNYhpdUv5o`bQJa85FOxtsRITVU&W7p?Ax%s?j lgTwqyC6k2jDo Date: Thu, 10 Oct 2024 16:09:23 +0200 Subject: [PATCH 14/16] Revert "removed energy price from clean energy price" This reverts commit 10d1278af9efe22ff1ef20e16b0c7348fe3653ab. --- .../clean_energy_simple_techno.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py index 56e5d2be..cab4cefc 100644 --- a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py +++ b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py @@ -21,4 +21,9 @@ class CleanEnergySimpleTechno(RenewableTechno): - pass + + def compute_specifif_costs_of_technos(self): + self.specific_costs = pd.DataFrame({ + GlossaryEnergy.Years: self.years, + GlossaryEnergy.ResourcesPriceValue: self.techno_infos_dict['resource_price'] + }) From 29a93d7ae4a2fe9d8273fa187a72aef810f61e26 Mon Sep 17 00:00:00 2001 From: perrotcap Date: Thu, 10 Oct 2024 16:10:59 +0200 Subject: [PATCH 15/16] revert change clean energy price --- .../clean_energy_simple_techno/clean_energy_simple_techno.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py index cab4cefc..e520aba2 100644 --- a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py +++ b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py @@ -14,10 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. ''' - +import pandas as pd from energy_models.core.techno_type.base_techno_models.renewable_techno import ( RenewableTechno, ) +from energy_models.glossaryenergy import GlossaryEnergy class CleanEnergySimpleTechno(RenewableTechno): From 0805218a76a93c135ff3949721c41b25bd7dd5eb Mon Sep 17 00:00:00 2001 From: perrotcap Date: Thu, 10 Oct 2024 17:24:58 +0200 Subject: [PATCH 16/16] ruff fix --- .../clean_energy_simple_techno/clean_energy_simple_techno.py | 1 + 1 file changed, 1 insertion(+) diff --git a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py index e520aba2..25a807ea 100644 --- a/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py +++ b/energy_models/models/clean_energy/clean_energy_simple_techno/clean_energy_simple_techno.py @@ -15,6 +15,7 @@ limitations under the License. ''' import pandas as pd + from energy_models.core.techno_type.base_techno_models.renewable_techno import ( RenewableTechno, )