From 0977011584e626741e6a734555f22a8165b7311d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?=
 <“katrin.bistreck@tuhh.de”>
Date: Thu, 6 Mar 2025 14:59:15 +0100
Subject: [PATCH 1/6] correct typo + delete wrong conversion factor

---
 .../LCA_schaefer/development.cpp              | 50 +++++++++----------
 .../LCA_schaefer/development.h                |  2 +-
 2 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp
index 6bd34b10..7f746061 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp
@@ -90,16 +90,16 @@ void Development::calculate_development_resources(const std::shared_ptr<Schaefer
     /* calculation unit MJ! (1 kWh = 3.6 MJ) **/
     if (data->configuration.development_emission_setting != "mode_0") {
         /* Calculation of personnel expenses **/
-        theEngeneering.engineering_hours = 1.309 * 5.18 * pow(data->ome, 0.777) * pow(convertUnit(METERPERSECOND, KILOMETERPERHOUR, data->max_operating_speed), 0.894)
+        theEngineering.engineering_hours = 5.18 * pow(data->ome, 0.777) * pow(convertUnit(METERPERSECOND, KILOMETERPERHOUR, data->max_operating_speed), 0.894)
                                 * pow(data->configuration.structural_test_aircraft_number + data->configuration.flight_tests_aircraft_number, 0.163);
-        theEngeneering.engineering_energy_electricity = energy_perSqmYear_dev[0] * F_netFloor_dev / spaceEfficiency_dev * theEngeneering.engineering_hours / t_labourYear_dev
+        theEngineering.engineering_energy_electricity = energy_perSqmYear_dev[0] * F_netFloor_dev / spaceEfficiency_dev * theEngineering.engineering_hours / t_labourYear_dev
                                     * (1 + data->configuration.engine_engineering_factor);
-        theEngeneering.engineering_energy_heat = energy_perSqmYear_dev[1] * F_netFloor_dev / spaceEfficiency_dev * theEngeneering.engineering_hours / t_labourYear_dev
+        theEngineering.engineering_energy_heat = energy_perSqmYear_dev[1] * F_netFloor_dev / spaceEfficiency_dev * theEngineering.engineering_hours / t_labourYear_dev
                                     * (1 + data->configuration.engine_engineering_factor);
-        theEngeneering.engineering_energy_total = theEngeneering.engineering_energy_electricity + theEngeneering.engineering_energy_heat;
+        theEngineering.engineering_energy_total = theEngineering.engineering_energy_electricity + theEngineering.engineering_energy_heat;
         myRuntimeInfo->info << "F_netFloor_dev " << F_netFloor_dev << std::endl;
         myRuntimeInfo->info << "spaceEfficiency_dev " << spaceEfficiency_dev << std::endl;
-        myRuntimeInfo->info << "T_eng " << theEngeneering.engineering_hours << std::endl;
+        myRuntimeInfo->info << "T_eng " << theEngineering.engineering_hours << std::endl;
         myRuntimeInfo->info << "t_labourYear_dev " << t_labourYear_dev << std::endl;
         /* Calculation of Tests (according to SA by Kuno Jandaurek)**/
         /* Energy of the wind tunnel test **/
@@ -164,7 +164,7 @@ void Development::calculate_development_resources(const std::shared_ptr<Schaefer
         testResources.fuel_test_total = testResources.fuel_engine_test_total + testResources.fuel_flight_test;
         myRuntimeInfo->debug << "testResources.fuel_engine_test_total: " << testResources.fuel_engine_test_total << std::endl;
         myRuntimeInfo->debug << "testResources.fuel_flight_test: " << testResources.fuel_flight_test << std::endl;
-        energy_total = theEngeneering.engineering_energy_total + testResources.energy_test_total;
+        energy_total = theEngineering.engineering_energy_total + testResources.energy_test_total;
         fuel_total = testResources.fuel_test_total;
         // TODO(franz#1#): T135 Possible improvement: Fuel consumption for various types of fuel. Determine missisonen (duration);
         myRuntimeInfo->info << "fuel_flight_test: " << testResources.fuel_flight_test << std::endl;
@@ -403,27 +403,27 @@ void Development::calculate_development_emissions(const std::shared_ptr<Schaefer
 
     /* Calculation of emissions from personnel expenses in the development phase*/
     //electricity
-    myRuntimeInfo->info << "      Test Engineering Electric Energy: " << theEngeneering.engineering_energy_electricity << " MJ" << std::endl;
-    engineeringElectricity.CO2 = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.CO2;
-    engineeringElectricity.H2O = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.H2O;
-    engineeringElectricity.NOx = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.NOx;
-    engineeringElectricity.SO2 = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.SO2;
-    engineeringElectricity.CO = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.CO;
-    engineeringElectricity.CH4 = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.CH4;
-    engineeringElectricity.PM10 = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.PM10;
-    engineeringElectricity.CED = theEngeneering.engineering_energy_electricity * myEcoDatabase.elecEmData.specificEnergy;
+    myRuntimeInfo->info << "      Test Engineering Electric Energy: " << theEngineering.engineering_energy_electricity << " MJ" << std::endl;
+    engineeringElectricity.CO2 = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.CO2;
+    engineeringElectricity.H2O = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.H2O;
+    engineeringElectricity.NOx = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.NOx;
+    engineeringElectricity.SO2 = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.SO2;
+    engineeringElectricity.CO = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.CO;
+    engineeringElectricity.CH4 = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.CH4;
+    engineeringElectricity.PM10 = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.PM10;
+    engineeringElectricity.CED = theEngineering.engineering_energy_electricity * myEcoDatabase.elecEmData.specificEnergy;
     //heating
-    myRuntimeInfo->info << "      Test Engineering Heat Energy: " << theEngeneering.engineering_energy_heat << " MJ" << std::endl;
-    engineeringHeat.CO2 = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.CO2;
-    engineeringHeat.H2O = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.H2O;
-    engineeringHeat.NOx = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.NOx;
-    engineeringHeat.SO2 = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.SO2;
-    engineeringHeat.CO = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.CO;
-    engineeringHeat.CH4 = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.CH4;
-    engineeringHeat.PM10 = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.PM10;
-    engineeringHeat.CED = theEngeneering.engineering_energy_heat * myEcoDatabase.heatEmData.specificEnergy;
+    myRuntimeInfo->info << "      Test Engineering Heat Energy: " << theEngineering.engineering_energy_heat << " MJ" << std::endl;
+    engineeringHeat.CO2 = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.CO2;
+    engineeringHeat.H2O = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.H2O;
+    engineeringHeat.NOx = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.NOx;
+    engineeringHeat.SO2 = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.SO2;
+    engineeringHeat.CO = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.CO;
+    engineeringHeat.CH4 = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.CH4;
+    engineeringHeat.PM10 = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.PM10;
+    engineeringHeat.CED = theEngineering.engineering_energy_heat * myEcoDatabase.heatEmData.specificEnergy;
     //Total personnel expenses
-    myRuntimeInfo->info << "    Test Engineering Energy Total: " << theEngeneering.engineering_energy_total << " MJ" << std::endl;
+    myRuntimeInfo->info << "    Test Engineering Energy Total: " << theEngineering.engineering_energy_total << " MJ" << std::endl;
     engineeringTotal.CO2 = engineeringElectricity.CO2 + engineeringHeat.CO2;
     engineeringTotal.H2O = engineeringElectricity.H2O + engineeringHeat.H2O;
     engineeringTotal.NOx = engineeringElectricity.NOx + engineeringHeat.NOx;
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.h b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.h
index 8a31df80..d444bf9a 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.h
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.h
@@ -95,7 +95,7 @@ class Development{
          */
         virtual ~Engineering();
     };
-    Engineering theEngeneering; /**< Object of class engineering contains personnel expenses for engineering */
+    Engineering theEngineering; /**< Object of class engineering contains personnel expenses for engineering */
 
     double energy_total;/**< Total energy demand for the development phase [MJ] */
     double fuel_total;/**< total fuel demand for the development phase [kg] */
-- 
GitLab


From 88001829828a15c49d125d6c5a61b208430a4aaf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?=
 <“katrin.bistreck@tuhh.de”>
Date: Thu, 27 Mar 2025 11:37:39 +0100
Subject: [PATCH 2/6] correct energy unit in database

---
 .../emission_calculation/ecoDatabase.cpp      | 92 +++++++++----------
 1 file changed, 46 insertions(+), 46 deletions(-)

diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/ecoDatabase.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/ecoDatabase.cpp
index 7f05c18e..fa9f2846 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/ecoDatabase.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/ecoDatabase.cpp
@@ -62,7 +62,7 @@ ecoDatabase::ecoDatabase() {
     matEmData.at(0).POCP = 2.82 * pow(10, -3);
     matEmData.at(0).OLDP = 2.46 * pow(10, -9);
     matEmData.at(0).PMFP = 1.88 * pow(10, -2);
-    matSpecificEnergy.push_back(45.56 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    matSpecificEnergy.push_back(45.56 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Carbon fiber reinforced plastic
 // TODO(franz#1#): T133 CF and epoxy resin should be listed separately or determined by config CF content of CFRP user?
     double rateCF = 0.65;
@@ -82,7 +82,7 @@ ecoDatabase::ecoDatabase() {
     matEmData.at(1).POCP = rateCF * 8.08 * pow(10, -3) + (1 - rateCF) * 1.75 * pow(10, -3);
     matEmData.at(1).OLDP = rateCF * 3.04 * pow(10, -9) + (1 - rateCF) * 1.56 * pow(10, -10);
     matEmData.at(1).PMFP = rateCF * 2.48 * pow(10, -2) + (1 - rateCF) * 3.12 * pow(10, -3); //GaBi but not CML2001, rather ReCiPe 1.08
-    matSpecificEnergy.push_back((rateCF * 2.36 * pow(10, 2) + (1 - rateCF) * 3.55 * pow(10, 1))*convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    matSpecificEnergy.push_back((rateCF * 2.36 * pow(10, 2) + (1 - rateCF) * 3.55 * pow(10, 1))*convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Steel
     matEmData.push_back(EmissionsData(std::string("St")));
     matEmData.at(2).CO2 = 2.01;
@@ -98,7 +98,7 @@ ecoDatabase::ecoDatabase() {
     matEmData.at(2).POCP = 1.3 * pow(10, -3);
     matEmData.at(2).OLDP = 6.51 * pow(10, -12);
     matEmData.at(2).PMFP = 3.41 * pow(10, -3);
-    matSpecificEnergy.push_back(6.14 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    matSpecificEnergy.push_back(6.14 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Titan
     matEmData.push_back(EmissionsData(std::string("Ti")));
     matEmData.at(3).CO2 = 1.48 * pow(10, 1);
@@ -114,7 +114,7 @@ ecoDatabase::ecoDatabase() {
     matEmData.at(3).POCP = 1.4 * pow(10, -2);
     matEmData.at(3).OLDP = 1.18 * pow(10, -9);
     matEmData.at(3).PMFP = 3.45 * pow(10, -2);
-    matSpecificEnergy.push_back(69.72 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    matSpecificEnergy.push_back(69.72 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
 //    //Chrom
 //    matEmData.push_back(std::string("Cr"));
 //    matEmData.at(4).CO2 = 6.68;
@@ -162,7 +162,7 @@ ecoDatabase::ecoDatabase() {
     matEmData.at(4).POCP = 1.61 * pow(10, -2);
     matEmData.at(4).OLDP = 4.6 * pow(10, -10);
     matEmData.at(4).PMFP = 7.26 * pow(10, -2);
-    matSpecificEnergy.push_back(43.89 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    matSpecificEnergy.push_back(43.89 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
 //    //Plastic
 //    matEmData.push_back(std::string("Pl"));
 //    matEmData.at(7).CO2 = 7.91;
@@ -182,36 +182,36 @@ ecoDatabase::ecoDatabase() {
     /* Ecological database of energy supply according to MA Arzdorf p.98 */
     /* Factors, resource energy/usable energy */
     //electricity data in [kg/MJ]
-    elecEmData.CO2 = 4.5 * pow(10, -1) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.H2O = 4.01 * pow(10, 0) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.NOx = 7.63 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.SO2 = 1.47 * pow(10, -3) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.CO = 3.14 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.CH4 = 9.11 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.PM10 = 1.1 * pow(10, -5) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
+    elecEmData.CO2 = 4.5 * pow(10, -1) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.H2O = 4.01 * pow(10, 0) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.NOx = 7.63 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.SO2 = 1.47 * pow(10, -3) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.CO = 3.14 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.CH4 = 9.11 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.PM10 = 1.1 * pow(10, -5) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
     //potential [1/MJ]
-    elecEmData.GWP100 = 4.75 * pow(10, -1) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.AP = 2.24 * pow(10, -3) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.ADP = 5.81 * pow(10, -8) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.POCP = 1.33 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.OLDP = 3.25 * pow(10, -10) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    elecEmData.PMFP = 5.36 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
+    elecEmData.GWP100 = 4.75 * pow(10, -1) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.AP = 2.24 * pow(10, -3) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.ADP = 5.81 * pow(10, -8) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.POCP = 1.33 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.OLDP = 3.25 * pow(10, -10) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    elecEmData.PMFP = 5.36 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
     elecEmData.specificEnergy = 2.92;//how much energy is needed to produce 1 kWh (for final consumers)?
     //heating data in [kg/MJ]
-    heatEmData.CO2 = 2.28 * pow(10, -1) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.H2O = 2.13 * pow(10, -1) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.NOx = 1.84 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.SO2 = 9.79 * pow(10, -5) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.CO = 7.45 * pow(10, -5) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.CH4 = 6.16 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.PM10 = 5.54 * pow(10, -7) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
+    heatEmData.CO2 = 2.28 * pow(10, -1) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.H2O = 2.13 * pow(10, -1) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.NOx = 1.84 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.SO2 = 9.79 * pow(10, -5) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.CO = 7.45 * pow(10, -5) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.CH4 = 6.16 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.PM10 = 5.54 * pow(10, -7) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
     //potential [1/MJ]
-    heatEmData.GWP100 = 2.44 * pow(10, -1) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.AP = 2.14 * pow(10, -4) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.ADP = 8.86 * pow(10, -9) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.POCP = 3.71 * pow(10, -5) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.OLDP = 4.32 * pow(10, -12) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
-    heatEmData.PMFP = 6.55 * pow(10, -5) / convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.);
+    heatEmData.GWP100 = 2.44 * pow(10, -1) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.AP = 2.14 * pow(10, -4) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.ADP = 8.86 * pow(10, -9) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.POCP = 3.71 * pow(10, -5) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.OLDP = 4.32 * pow(10, -12) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
+    heatEmData.PMFP = 6.55 * pow(10, -5) / convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.);
     heatEmData.specificEnergy = 1.23;
     /* Ecological database of fuel production according to MA Arzdorf p.96 */
     /* Factor: Resource energy per kg of produced fuel */
@@ -232,7 +232,7 @@ ecoDatabase::ecoDatabase() {
     fuelProdEmData.back().POCP = 4.38 * pow(10, -4.);
     fuelProdEmData.back().OLDP = 9.48 * pow(10, -12.);
     fuelProdEmData.back().PMFP = 6.70 * pow(10, -4.);
-    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 14.89));
+    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, MEGA, JOULE, 14.89));
     /*Diesel*/
     fuelProdEmData.push_back(EmissionsData(std::string("Diesel")));
     fuelProdEmData.back().CO2 = 3.6E-01;
@@ -249,7 +249,7 @@ ecoDatabase::ecoDatabase() {
     fuelProdEmData.back().POCP = 4.63E-04;
     fuelProdEmData.back().OLDP = 1.68E-11;
     fuelProdEmData.back().PMFP = 8.68E-04;
-    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 15.06));
+    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, MEGA, JOULE, 15.06));
     /*Heating oil*/
     fuelProdEmData.push_back(EmissionsData(std::string("HeatOil")));
     fuelProdEmData.back().CO2 = 3.4E-01;
@@ -266,7 +266,7 @@ ecoDatabase::ecoDatabase() {
     fuelProdEmData.back().POCP = 4.72E-04;
     fuelProdEmData.back().OLDP = 1.37E-11;
     fuelProdEmData.back().PMFP = 7.29E-04;
-    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 15.14));
+    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, MEGA, JOULE, 15.14));
     /*Gasoline*/
     fuelProdEmData.push_back(EmissionsData(std::string("Gasoline")));
     fuelProdEmData.back().CO2 = 6.34E-01;
@@ -283,7 +283,7 @@ ecoDatabase::ecoDatabase() {
     fuelProdEmData.back().POCP = 6.64E-04;
     fuelProdEmData.back().OLDP = 2.58E-11;
     fuelProdEmData.back().PMFP = 1.57E-03;
-    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 15.86));
+    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, MEGA, JOULE, 15.86));
     /*NaturalGas*/
     fuelProdEmData.push_back(EmissionsData(std::string("NaturalGas")));
     fuelProdEmData.back().CO2 = 2.9E-01;
@@ -300,7 +300,7 @@ ecoDatabase::ecoDatabase() {
     fuelProdEmData.back().POCP = 3.71E-04;
     fuelProdEmData.back().OLDP = 5.37E-11;
     fuelProdEmData.back().PMFP = 3.75E-04;
-    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 15.44));
+    fuelSpecificEnergy.push_back(convertUnit(KILO, WATTHOUR, MEGA, JOULE, 15.44));
     /* Ecological database of transport logistics according to MA Arzdorf p.97 Fig.B.4*/
     //DATA in [kg/(1000kg*km)]
     //Aircraft
@@ -508,7 +508,7 @@ ecoDatabase::ecoDatabase() {
 //    incinerationEmData.at(0).POCP = -4.6*pow(10.,-4.);
 //    incinerationEmData.at(0).OLDP = 3.7*pow(10.,-8.);
 //    incinerationEmData.at(0).PMFP = -7.4*pow(10.,-4.);
-    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.)); //no value available, but anyway aluminium will not be burned
+    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.)); //no value available, but anyway aluminium will not be burned
     //carbon fiber
     // positive values given for Achim, but probably error (see Hedlund), therefore used negatively!
     incinerationEmData.push_back(EmissionsData(std::string("CFRP")));
@@ -525,7 +525,7 @@ ecoDatabase::ecoDatabase() {
 //    incinerationEmData.at(1).POCP = -5.71*pow(10,-4);
 //    incinerationEmData.at(1).OLDP = -1.39*pow(10,-9);
 //    incinerationEmData.at(1).PMFP = -2.3*pow(10,-3);
-    incinerationSpecificEnergy.push_back(-6.84 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    incinerationSpecificEnergy.push_back(-6.84 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Steel
     incinerationEmData.push_back(EmissionsData(std::string("St")));
 //    incinerationEmData.at(2).CO2 = incinerationEmData.at(0).CO2;
@@ -541,7 +541,7 @@ ecoDatabase::ecoDatabase() {
 //    incinerationEmData.at(2).POCP = incinerationEmData.at(0).POCP;
 //    incinerationEmData.at(2).OLDP = incinerationEmData.at(0).OLDP;
 //    incinerationEmData.at(2).PMFP = incinerationEmData.at(0).PMFP;
-    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Titan
     incinerationEmData.push_back(EmissionsData(std::string("Ti")));
 //    incinerationEmData.at(3).CO2 = incinerationEmData.at(0).CO2;
@@ -557,7 +557,7 @@ ecoDatabase::ecoDatabase() {
 //    incinerationEmData.at(3).POCP = incinerationEmData.at(0).POCP;
 //    incinerationEmData.at(3).OLDP = incinerationEmData.at(0).OLDP;
 //    incinerationEmData.at(3).PMFP = incinerationEmData.at(0).PMFP;
-    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
 //    //Chrom
 //    incinerationEmData.push_back(std::string("Cr"));
 //    incinerationEmData.at(4).CO2 = incinerationEmData.at(0).CO2;
@@ -603,7 +603,7 @@ ecoDatabase::ecoDatabase() {
 //    incinerationEmData.at(6).POCP = incinerationEmData.at(0).POCP;
 //    incinerationEmData.at(6).OLDP = incinerationEmData.at(0).OLDP;
 //    incinerationEmData.at(6).PMFP = incinerationEmData.at(0).PMFP;
-    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    incinerationSpecificEnergy.push_back(0.0 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
 //    //plastic
 //    incinerationEmData.push_back(std::string("Pl"));
 //    incinerationEmData.at(7).CO2 = 2.38;
@@ -636,7 +636,7 @@ ecoDatabase::ecoDatabase() {
     disposalEmData.at(0).POCP = 8.09 * pow(10, -6);
     disposalEmData.at(0).OLDP = 1.87 * pow(10, -13);
     disposalEmData.at(0).PMFP = 2.23 * pow(10, -4);
-    disposalSpecificEnergy.push_back(0.06 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    disposalSpecificEnergy.push_back(0.06 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Carbon fiber (no data available at Arzdorf), assumption: like plastic-> data of plastic
     disposalEmData.push_back(EmissionsData(std::string("CFRP")));
     disposalEmData.at(1).CO2 = 6.26 * pow(10, -2);
@@ -652,7 +652,7 @@ ecoDatabase::ecoDatabase() {
     disposalEmData.at(1).POCP = 2.77 * pow(10, -5);
     disposalEmData.at(1).OLDP = 2.79 * pow(10, -12);
     disposalEmData.at(1).PMFP = 4.27 * pow(10, -4);
-    disposalSpecificEnergy.push_back(0.34 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    disposalSpecificEnergy.push_back(0.34 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Steel
     disposalEmData.push_back(EmissionsData(std::string("St")));
     disposalEmData.at(2).CO2 = 9.16 * pow(10, -3);
@@ -668,7 +668,7 @@ ecoDatabase::ecoDatabase() {
     disposalEmData.at(2).POCP = 5.69 * pow(10, -6);
     disposalEmData.at(2).OLDP = 2.99 * pow(10, -13);
     disposalEmData.at(2).PMFP = 5.66 * pow(10, -5);
-    disposalSpecificEnergy.push_back(0.05 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    disposalSpecificEnergy.push_back(0.05 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Titan
     disposalEmData.push_back(EmissionsData(std::string("Ti")));
     disposalEmData.at(3).CO2 = disposalEmData.at(2).CO2;
@@ -684,7 +684,7 @@ ecoDatabase::ecoDatabase() {
     disposalEmData.at(3).POCP = disposalEmData.at(2).POCP;
     disposalEmData.at(3).OLDP = disposalEmData.at(2).OLDP;
     disposalEmData.at(3).PMFP = disposalEmData.at(2).PMFP;
-    disposalSpecificEnergy.push_back(0.05 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    disposalSpecificEnergy.push_back(0.05 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
 //    //Chrom
 //    disposalEmData.push_back(std::string("Cr"));
 //    disposalEmData.at(4).CO2 = disposalEmData.at(2).CO2;
@@ -732,7 +732,7 @@ ecoDatabase::ecoDatabase() {
     disposalEmData.at(4).POCP = disposalEmData.at(2).POCP;
     disposalEmData.at(4).OLDP = disposalEmData.at(2).OLDP;
     disposalEmData.at(4).PMFP = disposalEmData.at(2).PMFP;
-    disposalSpecificEnergy.push_back(0.05 * convertUnit(KILO, WATTHOUR, NOPREFIX, JOULE, 1.));
+    disposalSpecificEnergy.push_back(0.05 * convertUnit(KILO, WATTHOUR, MEGA, JOULE, 1.));
     //Plastic
 //    disposalEmData.push_back(std::string("Pl"));
 //    disposalEmData.at(7).CO2 = 6.26*pow(10,-2);
-- 
GitLab


From cc8c20e883cc1e1347afa9a4ac0250adad1c2f14 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?=
 <“katrin.bistreck@tuhh.de”>
Date: Thu, 27 Mar 2025 11:46:34 +0100
Subject: [PATCH 3/6] Delete unused BPR

---
 .../mission_emissions/flightPath.cpp                 |  6 ++----
 .../mission_emissions/flightPath.h                   |  5 +----
 .../mission_emissions/mission.cpp                    | 12 +++---------
 .../emission_calculation/mission_emissions/mission.h |  1 -
 4 files changed, 6 insertions(+), 18 deletions(-)

diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.cpp
index 867d3dfd..295fba05 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.cpp
@@ -45,8 +45,7 @@ flightPathPoint::flightPathPoint(double aTime,
                                  double aSt3StaticTemperature,
                                  double aSt3TotalPressure,
                                  double aSt3Mach,
-                                 double aSt4FuelAir,
-                                 double aBPR)
+                                 double aSt4FuelAir)
     :
     time(aTime),
     range(aRange),
@@ -64,8 +63,7 @@ flightPathPoint::flightPathPoint(double aTime,
     St3StaticTemperature(aSt3StaticTemperature),
     St3TotalPressure(aSt3TotalPressure),
     St3Mach(aSt3Mach),
-    St4FuelAir(aSt4FuelAir),
-    BPR(aBPR) {
+    St4FuelAir(aSt4FuelAir) {
     //ctor
 }
 
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.h b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.h
index 7e978894..ac364fb7 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.h
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/flightPath.h
@@ -46,7 +46,6 @@ class flightPathPoint {
     double St3TotalPressure; /**< Total pressure at last compressor exit, cold side heat exchanger inlet [kPa]*/
     double St3Mach; /**< Mach at last compressor exit, cold side heat exchanger inlet [K]*/
     double St4FuelAir; /**< Fuel/Air at burner exit [-]*/
-    double BPR; /**< By pass ratio [-] */
 
     /** \brief Constructor of class flightPathPoint
       * \param aTime: Time [s]
@@ -66,7 +65,6 @@ class flightPathPoint {
       * \param aSt3TotalPressure: Total pressure at last compressor exit, cold side heat exchanger inlet [kPa]
       * \param aSt3Mach: Mach at last compressor exit, cold side heat exchanger inlet [-]
       * \param aSt4FuelAir: Fuel/Air at burner exit [-]
-      * \param aBPR: By pass ratio [-]
      */
     flightPathPoint(double aTime,
                     double aRange,
@@ -84,8 +82,7 @@ class flightPathPoint {
                     double aSt3StaticTemperature,
                     double aSt3TotalPressure,
                     double aSt3Mach,
-                    double aSt4FuelAir,
-                    double aBPR);
+                    double aSt4FuelAir);
     /** \brief Destructor of class flightPathPoint
      */
     virtual ~flightPathPoint();
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp
index 3c3b08be..df0e0ffd 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp
@@ -121,8 +121,7 @@ void Mission::calculate_mission(const std::string& missionType, const std::share
                                           missionInfo.at(i).St3StaticTemperature,
                                           missionInfo.at(i).St3TotalPressure,
                                           missionInfo.at(i).St3Mach,
-                                          missionInfo.at(i).St4FuelAir,
-                                          missionInfo.at(i).BPR));
+                                          missionInfo.at(i).St4FuelAir);
 }
     /* Create emissionspath.csv*/
     write_emissions_path_csv();
@@ -397,9 +396,6 @@ void Mission::get_mission_data() {
                 tmpMissionData.St3TotalPressure = missionIOData->myEngine.get_physical_properties_stage(StageProperties::TotalPressure, EngineStage::St3);
                 tmpMissionData.St3Mach = missionIOData->myEngine.get_physical_properties_stage(StageProperties::MachNumber, EngineStage::St3);
                 tmpMissionData.St4FuelAir = missionIOData->myEngine.get_physical_properties_stage(StageProperties::FuelToAirRatio, EngineStage::St4);
-                tmpMissionData.BPR = (missionIOData->myEngine.get_physical_properties_stage(StageProperties::MassFlow, EngineStage::St22) > 0.) ?
-                                     missionIOData->myEngine.get_physical_properties_stage(StageProperties::MassFlow, EngineStage::St13)
-                                     / missionIOData->myEngine.get_physical_properties_stage(StageProperties::MassFlow, EngineStage::St22) : 0.;
                 missionInfo.push_back(MissionData());
                 missionInfo.back() = tmpMissionData;
             }
@@ -509,7 +505,7 @@ void Mission::write_emissions_path_csv() {
     }
     emissions_csv_stream << "(1) Time [s];(2) Range [m];(3) Altitude [m];(4) TAS m/s];(5) Mach [-];(6) T_amb [K];(7) P_amb [N/m^2];(8) Consumed Fuel [kg];"
            "(9) Fuel Flow [kg/s];(10) NOx [kg/s];(11) N_1 [-];(12) ST3MassFlow [kg/s];(13) St3TotalTemperature [K];(14) St3StaticTemperature [K];"
-           "(15) St3TotalPressure [kPa];(16) St3Mach [-];(17) St4FuelAir [-];(18) BPR [-];(19) modeName;";
+           "(15) St3TotalPressure [kPa];(16) St3Mach [-];(17) St4FuelAir [-];(18) modeName;";
     for (unsigned int i = 0; i < missionInfo.size(); i++) {
         emissions_csv_stream << std::endl;
         emissions_csv_stream << std::setprecision(10) << missionInfo.at(i).time << ";";
@@ -529,7 +525,6 @@ void Mission::write_emissions_path_csv() {
         emissions_csv_stream << std::setprecision(10) << missionInfo.at(i).St3TotalPressure << ";";
         emissions_csv_stream << std::setprecision(10) << missionInfo.at(i).St3Mach << ";";
         emissions_csv_stream << std::setprecision(10) << missionInfo.at(i).St4FuelAir << ";";
-        emissions_csv_stream << std::setprecision(10) << missionInfo.at(i).BPR << ";";
         emissions_csv_stream << missionInfo.at(i).modeName << ";";
     }
     emissions_csv_stream.close();
@@ -753,8 +748,7 @@ Mission::MissionData::MissionData()
     St3StaticTemperature(0.),
     St3TotalPressure(0.),
     St3Mach(0.),
-    St4FuelAir(0.),
-    BPR(0.) {
+    St4FuelAir(0.) {
         //ctor
     };
 
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.h b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.h
index 14748747..7518a54a 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.h
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.h
@@ -95,7 +95,6 @@ class Mission {
         double St3TotalPressure;    /**< Total pressure at last compressor exit, cold side heat exchanger inlet [kPa]*/
         double St3Mach;             /**< Mach at last compressor exit, cold side heat exchanger inlet [K]*/
         double St4FuelAir;          /**< Fuel/Air at last compressor exit, cold side heat exchanger inlet [-]*/
-        double BPR;                 /**< By pass ratio [-] */
 
         /** \brief Constructor of class MissionData
          */
-- 
GitLab


From 7f626d0502dbb9de86b9a6c8e903a0ce35bf602f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?=
 <“katrin.bistreck@tuhh.de”>
Date: Thu, 27 Mar 2025 13:21:26 +0100
Subject: [PATCH 4/6] Delete unused functions/parameter

---
 .../LCA_schaefer/calculateEmissions_schaefer.cpp         | 4 ++--
 .../life_cycle_emissions/LCA_schaefer/operation.cpp      | 3 +--
 .../life_cycle_emissions/LCA_schaefer/operation.h        | 3 +--
 .../life_cycle_emissions/LCA_schaefer/production.cpp     | 2 +-
 .../life_cycle_emissions/LCA_schaefer/production.h       | 3 +--
 .../life_cycle_emissions/LCA_schaefer/schaeferReport.cpp | 3 ---
 .../mission_emissions/hydrogen_combustion_emissions.cpp  | 2 +-
 .../emission_calculation/mission_emissions/mission.cpp   | 2 +-
 .../air_quality_index_schaefer/AQISchaeferReport.cpp     | 3 ---
 .../src/standard_strategy/standard_strategy.cpp          | 3 ---
 .../src/standard_strategy/standard_strategy.h            | 9 ---------
 11 files changed, 8 insertions(+), 29 deletions(-)

diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/calculateEmissions_schaefer.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/calculateEmissions_schaefer.cpp
index 16bcb1e1..97556d7c 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/calculateEmissions_schaefer.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/calculateEmissions_schaefer.cpp
@@ -37,12 +37,12 @@ void LifeCycleEmissionsSchaefer::run(const std::shared_ptr<RuntimeIO> &rtIO, std
 
         /* Production phase */
         myRuntimeInfo->out << "     Calculation of production phase..." << std::endl;
-        theProduction.calculate_production_resources(schaeferIOData, rtIO);
+        theProduction.calculate_production_resources(schaeferIOData);
         theProduction.calculate_production_emissions(schaeferIOData);
 
         /* Operation phase*/
         myRuntimeInfo->out << "     Calculation of operation phase..." << std::endl;
-        theOperation.calculate_operation_resources(schaeferIOData, rtIO, theProduction);
+        theOperation.calculate_operation_resources(schaeferIOData,theProduction);
         theOperation.calculate_operation_emissions(schaeferIOData, theProduction);
 
         /* End-of-Life Phase */
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.cpp
index 22339ea5..c111a668 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.cpp
@@ -41,8 +41,7 @@ Operation::Operation()
     missions_fuel(0.) {
     }
 
-void Operation::calculate_operation_resources(const std::shared_ptr<SchaeferIOData>& data, const std::shared_ptr<RuntimeIO>& rtIO,
-                                                const Production &theProduction) {//Due to maintenance
+void Operation::calculate_operation_resources(const std::shared_ptr<SchaeferIOData>& data, const Production &theProduction) {//Due to maintenance
     /* Maintenance Spare Parts */
     double engineCostRatioMaterial(0.75);//Assumption: Material Engine Maintenance 3 times as high as Labour (see PhD Schaefer)
     double conversionFactor = convertUnit(SECOND, HOUR, data->flight_time_study) * data->flights_per_year * data->duration_operation; // Used for [$/FH] -> [$/LC]
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.h b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.h
index 193279cc..6088a17e 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.h
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/operation.h
@@ -105,10 +105,9 @@ class Operation {
 
     /** \brief Calculates the energy demand due to maintance during operation phase
      * \param data Access to IO data
-     * \param rtIO Access to rtIO
      * \param theProduction Access to production data
      */
-    void calculate_operation_resources(const std::shared_ptr<SchaeferIOData>& data, const std::shared_ptr<RuntimeIO>& rtIO, const Production &theProduction);
+    void calculate_operation_resources(const std::shared_ptr<SchaeferIOData>& data, const Production &theProduction);
 
     /** \brief Calculates the emissions during operation phase
      * \param data Access to IO data
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.cpp
index b3749904..e8fef8e6 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.cpp
@@ -37,7 +37,7 @@ Production::Production()
     energy_total(0.) {
 }
 
-void Production::calculate_production_resources(const std::shared_ptr<SchaeferIOData>& data, const std::shared_ptr<RuntimeIO>& rtIO) {
+void Production::calculate_production_resources(const std::shared_ptr<SchaeferIOData>& data) {
     /* Raw material and production */
     //Distribution of components
     double energyRecycling = 0;
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.h b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.h
index 2d45190f..80e9afc3 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.h
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/production.h
@@ -178,9 +178,8 @@ class Production{
 
     /** \brief Function to calculate the energy demand of the production phase
      * \param data Access to IO data
-     * \param rtIO Access to rtIO
      */
-    void calculate_production_resources(const std::shared_ptr<SchaeferIOData>& data, const std::shared_ptr<RuntimeIO>& rtIO);
+    void calculate_production_resources(const std::shared_ptr<SchaeferIOData>& data);
 
     /** \brief Function to calculate the emissions of the production phase
      * \param data Access to IO data
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp
index 9323af58..adc4787a 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp
@@ -225,9 +225,6 @@ void StandardStrategy::set_html_body_LCA_schaefer(const std::shared_ptr<RuntimeI
         }
 }
 
-void StandardStrategy::set_tex_body_LCA_schaefer(const std::shared_ptr<RuntimeIO> &rtIO) {
-        // TODO
-}
 
 
 
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/hydrogen_combustion_emissions.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/hydrogen_combustion_emissions.cpp
index abdd53a2..bf1c7349 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/hydrogen_combustion_emissions.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/hydrogen_combustion_emissions.cpp
@@ -86,7 +86,7 @@ void Mission::hydrogen_combustion_NOx_P3T3() {
         this->cruise.NOx = hydrogenNOxFactor * this->cruise.NOx;
         this->LTO_Total.NOx = this->LTO.NOx * flights_per_lifecycle;
         this->cruiseTotal.NOx = this->cruise.NOx * flights_per_lifecycle;
-        for (int16_t i(0); i < missionInfo.size(); i++) {
+        for (size_t i(0); i < missionInfo.size(); i++) {
             emissionsFlow[i].NOx = missionInfo[i].fuelFlow * hydrogenNOxFactor * EINOxKerosene[i];
         }
 
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp
index df0e0ffd..254df68b 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/mission_emissions/mission.cpp
@@ -121,7 +121,7 @@ void Mission::calculate_mission(const std::string& missionType, const std::share
                                           missionInfo.at(i).St3StaticTemperature,
                                           missionInfo.at(i).St3TotalPressure,
                                           missionInfo.at(i).St3Mach,
-                                          missionInfo.at(i).St4FuelAir);
+                                          missionInfo.at(i).St4FuelAir));
 }
     /* Create emissionspath.csv*/
     write_emissions_path_csv();
diff --git a/ecological_assessment/src/standard_strategy/impact_calculation/air_quality_index_schaefer/AQISchaeferReport.cpp b/ecological_assessment/src/standard_strategy/impact_calculation/air_quality_index_schaefer/AQISchaeferReport.cpp
index 62f57b49..9ea44393 100644
--- a/ecological_assessment/src/standard_strategy/impact_calculation/air_quality_index_schaefer/AQISchaeferReport.cpp
+++ b/ecological_assessment/src/standard_strategy/impact_calculation/air_quality_index_schaefer/AQISchaeferReport.cpp
@@ -36,6 +36,3 @@ void StandardStrategy::set_html_body_AQI_schaefer() {
        << html::table_end;
 }
 
-void StandardStrategy::set_tex_body_AQI_schaefer(const std::shared_ptr<RuntimeIO> &rtIO) {
-       // TODO
-}
diff --git a/ecological_assessment/src/standard_strategy/standard_strategy.cpp b/ecological_assessment/src/standard_strategy/standard_strategy.cpp
index 3340c208..2dc51d90 100644
--- a/ecological_assessment/src/standard_strategy/standard_strategy.cpp
+++ b/ecological_assessment/src/standard_strategy/standard_strategy.cpp
@@ -125,8 +125,6 @@ void StandardStrategy::report() {
     if (life_cycle_emissions_method == "SCHAEFER" && rtIO->aircraft_energy_carrier_type() == "kerosene" && rtIO->aircraft_configuration_type() == "tube_and_wing") {
         myRuntimeInfo->out << "  Write " << life_cycle_emissions_method << " emissions report body" << std::endl;
         set_html_body_LCA_schaefer(rtIO);
-        set_tex_body_LCA_schaefer(rtIO);
-
         generate_life_cycle_emissions_csv_schaefer();
     }
     if (climate_model_method == "DALLARA") {
@@ -137,7 +135,6 @@ void StandardStrategy::report() {
     if (air_quality_method == "SCHAEFER") {
         myRuntimeInfo->out << "  Write " << air_quality_method << " air quality report body" << std::endl;
         set_html_body_AQI_schaefer();
-        set_tex_body_AQI_schaefer(rtIO);
     }
     report_->htmlReportStream() << html::div_end; // end html box
     report_->generateReports();
diff --git a/ecological_assessment/src/standard_strategy/standard_strategy.h b/ecological_assessment/src/standard_strategy/standard_strategy.h
index b6c2b020..c12b139d 100644
--- a/ecological_assessment/src/standard_strategy/standard_strategy.h
+++ b/ecological_assessment/src/standard_strategy/standard_strategy.h
@@ -77,10 +77,6 @@ class StandardStrategy : public Strategy {
    * \param rtIO Access to runtime IO
    */
   void set_html_body_LCA_schaefer(const std::shared_ptr<RuntimeIO> &rtIO);
-  /** \brief Define the content of the Tex Report body
-   * \param rtIO Access to runtime IO
-   */
-  void set_tex_body_LCA_schaefer(const std::shared_ptr<RuntimeIO> &rtIO);
 
   /* Plotting functions LCA_Schaefer*/
   /** \brief Generates plot of inflight emissions
@@ -115,11 +111,6 @@ class StandardStrategy : public Strategy {
   /** \brief Define the content of the HTML Report body
    */
   void set_html_body_AQI_schaefer();
-  /** \brief Define the content of the Tex Report body
-   * \param rtIO Access to runtime IO
-   */
-  void set_tex_body_AQI_schaefer(const std::shared_ptr<RuntimeIO> &rtIO);
-
 
 
  private:
-- 
GitLab


From 910a06dc91568c43fe28b9c28af3a98cde1535cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?=
 <“katrin.bistreck@tuhh.de”>
Date: Thu, 27 Mar 2025 13:48:31 +0100
Subject: [PATCH 5/6] Add missing test emissions

---
 .../life_cycle_emissions/LCA_schaefer/development.cpp       | 6 ++++++
 .../life_cycle_emissions/LCA_schaefer/schaeferReport.cpp    | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp
index 7f746061..88c21804 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/development.cpp
@@ -179,34 +179,40 @@ void Development::calculate_development_emissions(const std::shared_ptr<Schaefer
         /* Wind tunnel Test*/
         myRuntimeInfo->info << "      Wind tunnel Test Energy: " << testResources.energy_wind_tunnel_test << " MJ" << std::endl;
         windTunnelTests.CO2 = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.CO2;
+        windTunnelTests.H2O = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.H2O;
         windTunnelTests.CH4 = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.CH4;
         windTunnelTests.N2O = testResources.energy_wind_tunnel_test * myEcoDatabase.elecN2O;
         windTunnelTests.PFC = testResources.energy_wind_tunnel_test * myEcoDatabase.elecPFC;
         windTunnelTests.NOx = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.NOx;
         windTunnelTests.SO2 = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.SO2;
         windTunnelTests.CO = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.CO;
+        windTunnelTests.PM10 = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.PM10;
         windTunnelTests.NMVOC = testResources.energy_wind_tunnel_test * myEcoDatabase.elecNMVOC;
         windTunnelTests.CED = testResources.energy_wind_tunnel_test * myEcoDatabase.elecEmData.specificEnergy;
         /* Structure Test*/
         myRuntimeInfo->info << "      Structure Test Energy (Fatigue Test): " << testResources.energy_fatigue_test << " MJ" << std::endl;
         structureTests.CO2 = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.CO2;
+        structureTests.H2O = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.H2O;
         structureTests.CH4 = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.CH4;
         structureTests.N2O = testResources.energy_fatigue_test * myEcoDatabase.elecN2O;
         structureTests.PFC = testResources.energy_fatigue_test * myEcoDatabase.elecPFC;
         structureTests.NOx = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.NOx;
         structureTests.SO2 = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.SO2;
         structureTests.CO = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.CO;
+        structureTests.PM10 = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.PM10;
         structureTests.NMVOC = testResources.energy_fatigue_test * myEcoDatabase.elecNMVOC;
         structureTests.CED = testResources.energy_fatigue_test * myEcoDatabase.elecEmData.specificEnergy;
         /* System Test*/
         myRuntimeInfo->info << "      System Test Energy: " << testResources.energy_system_tests << " MJ" << std::endl;
         systemTests.CO2 = testResources.energy_system_tests * myEcoDatabase.elecEmData.CO2;
+        systemTests.H2O = testResources.energy_system_tests * myEcoDatabase.elecEmData.H2O;
         systemTests.CH4 = testResources.energy_system_tests * myEcoDatabase.elecEmData.CH4;
         systemTests.N2O = testResources.energy_system_tests * myEcoDatabase.elecN2O;
         systemTests.PFC = testResources.energy_system_tests * myEcoDatabase.elecPFC;
         systemTests.NOx = testResources.energy_system_tests * myEcoDatabase.elecEmData.NOx;
         systemTests.SO2 = testResources.energy_system_tests * myEcoDatabase.elecEmData.SO2;
         systemTests.CO = testResources.energy_system_tests * myEcoDatabase.elecEmData.CO;
+        systemTests.PM10 = testResources.energy_system_tests * myEcoDatabase.elecEmData.PM10;
         systemTests.NMVOC = testResources.energy_system_tests * myEcoDatabase.elecNMVOC;
         systemTests.CED = testResources.energy_system_tests * myEcoDatabase.elecEmData.specificEnergy;
         /* Ground Test incl. fuel prod.*/
diff --git a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp
index adc4787a..40bcaedd 100644
--- a/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp
+++ b/ecological_assessment/src/standard_strategy/emission_calculation/life_cycle_emissions/LCA_schaefer/schaeferReport.cpp
@@ -241,7 +241,7 @@ void StandardStrategy::generate_life_cycle_emissions_csv_schaefer() {
           csv << "# all emission data in [kg]; Energy in [MJ], AC Fuel in [kg] (without logistics fuel, only fuel of the investigated AC)" << std::endl;
           /* Adjust data structure: **/
           csv << std::endl << std::endl;
-          csv << "# Development Phase (NOT for one AC but for total Development phase) " << std::endl;
+          csv << "# Development Phase (NOT for one AC but for total development phase) " << std::endl;
           csv << "# (1)EmissionName; (2)CO2; (3)H2O; (4)NOx; (5)CO; (6)SO2; (7)CH4; (8)PM10; (9)N2O; (10)PFC; (11)NMVOC; (12)HC; (13) Energy; (14) AC Fuel; (15) GWP100" <<
              std::endl;//GWP after CML2015, IPCC value
           csv << "Development_total" << del << theLifeCycleEmissionsSchaefer.theDevelopment.developmentTotal.CO2
-- 
GitLab


From 5ee02f346c0d09e349f2bb2549aea4524c87b4fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9CKatrinBistreck=E2=80=9D?=
 <“katrin.bistreck@tuhh.de”>
Date: Fri, 28 Mar 2025 09:45:23 +0100
Subject: [PATCH 6/6] Correct acXML output

---
 .../impact_calculation/climate_model_dallara/dallaraIOData.cpp  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ecological_assessment/src/standard_strategy/impact_calculation/climate_model_dallara/dallaraIOData.cpp b/ecological_assessment/src/standard_strategy/impact_calculation/climate_model_dallara/dallaraIOData.cpp
index 71637646..464545b8 100644
--- a/ecological_assessment/src/standard_strategy/impact_calculation/climate_model_dallara/dallaraIOData.cpp
+++ b/ecological_assessment/src/standard_strategy/impact_calculation/climate_model_dallara/dallaraIOData.cpp
@@ -89,7 +89,7 @@ void DallaraIOData::update_aircraft_xml(std::shared_ptr<RuntimeIO> rtIO) {
         rtIO->acxml[subpath];
         rtIO->acxml.at(subpath).addAttrib("description", "Ecological assessment data");
     }
-    //ATRnode.update(rtIO->acxml.at("aircraft_exchange_file/assessment/ecological_assessment/"));
+    ATRnode.update(rtIO->acxml.at("aircraft_exchange_file/assessment/ecological_assessment/"));
     rtIO->saveAcXML();
 }
 
-- 
GitLab