diff --git a/aerodynamic_analysis/CMakeLists.txt b/aerodynamic_analysis/CMakeLists.txt
index 54b457e0237cc071ffd4e6747d200ccf28da6372..6a0eb1ef3e54a8215f261df8984330daa9d73c5e 100644
--- a/aerodynamic_analysis/CMakeLists.txt
+++ b/aerodynamic_analysis/CMakeLists.txt
@@ -23,7 +23,7 @@ set(MODULE_SOURCES
 	src/laminarTAW/HLFCStrategy.cpp
 	src/bwb/bwbCalculatePolar.cpp
 	src/bwb/bwbDefaultData.cpp
-	src/bwb/bwbcalculatePolarConfig.cpp
+	src/bwb/bwbCalculatePolarConfig.cpp
 	src/bwb/bwbDefaultStrategy.cpp
 	src/methods/viscDragRaymer.cpp
 	src/methods/liftingLinePolar.cpp
diff --git a/aerodynamic_analysis/aerodynamic_analysis_conf.xml b/aerodynamic_analysis/aerodynamic_analysis_conf.xml
index bd794b28618c15648669672b0a4345587ad4a0ca..c13d8dd88c9796d498bbdd9284e2afc18185daa3 100644
--- a/aerodynamic_analysis/aerodynamic_analysis_conf.xml
+++ b/aerodynamic_analysis/aerodynamic_analysis_conf.xml
@@ -5,7 +5,7 @@
 			<value>csmr-2020.xml</value>
 		</aircraft_exchange_file_name>
         <aircraft_exchange_file_directory description="Specify the direction in which the aircraft exchange file can be found">
-			<value>../projects/</value>
+			<value>../projects/CSMR/CSMR-2020/</value>
 		</aircraft_exchange_file_directory>
         <own_tool_level description="Specify the tool level of this tool">
 			<value>3</value>
@@ -34,7 +34,7 @@
 			<value>true</value>
 		</tex_report>
         <write_info_files description="Switch to generate info files. Switch: true (On) / false (Off)">
-			<value>true</value>
+			<value>false</value>
 		</write_info_files>
         <log_file description="Specify the name of the log file">
 			<value>aerodynamic_analysis.log</value>
@@ -626,7 +626,7 @@
 				<upper_boundary>inf</upper_boundary>	
 			</deltaWaveDragWing>
 		</WaveDragMason>
-		<SemiEmpiricalHighLiftAdaptions>
+		<SemiEmpiricalHighLiftAdaptions description="SemiEmpiricalHighLiftAdaptions">
 			<deltaTotalDrag description="Reduction of the total high lift drag in drag counts">
 				<value>0.0</value>
 				<default>0.0</default>
@@ -641,6 +641,172 @@
 				<lower_boundary>-1000</lower_boundary>
 				<upper_boundary>1000</upper_boundary>	
 			</factorDrag>
+			<do_individual_hl_calibration description="Switch to individually calibrate the high lift polars">
+				<value>false</value>
+				<default>false</default>
+			</do_individual_hl_calibration>
+			<apply_manual_CLmax_hl_values description="Switch if manual values for max CL from hl_polars_correction_values/hl_polar/CL_max should be used. Switch: true (on: Manual preset CL is used; if value=0, CLmax calculated from method is used) / false (off: CLmax calculated from method is used)">
+				<value>false</value>
+				<default>false</default>
+			</apply_manual_CLmax_hl_values>
+			<hl_polars_correction_values description="High-lift polar calibration factors for lift and drag.">
+				<hl_polar ID="0" description="A high lift polar">
+					<configuration description="A configuration">
+						<value>takeoff</value>
+					</configuration>
+					<CL_max description="CL_max">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</CL_max>
+					<delta_CD description="delta_CD">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</delta_CD>
+					<factor_CD description="factor_CD">
+						<value>1</value>
+						<default>1</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</factor_CD>
+				</hl_polar>
+				<hl_polar ID="1" description="A high lift polar">
+					<configuration description="A configuration">
+						<value>takeoff_landing_gear_retracted</value>
+					</configuration>
+					<CL_max description="CL_max">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</CL_max>
+					<delta_CD description="delta_CD">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</delta_CD>
+					<factor_CD description="factor_CD">
+						<value>1</value>
+						<default>1</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</factor_CD>
+				</hl_polar>
+				<hl_polar ID="2" description="A high lift polar">
+					<configuration description="A configuration">
+						<value>climb</value>
+					</configuration>
+					<CL_max description="CL_max">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</CL_max>
+					<delta_CD description="delta_CD">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</delta_CD>
+					<factor_CD description="factor_CD">
+						<value>1</value>
+						<default>1</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</factor_CD>
+				</hl_polar>
+				<hl_polar ID="3" description="A high lift polar">
+					<configuration description="A configuration">
+						<value>approach</value>
+					</configuration>
+					<CL_max description="CL_max">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</CL_max>
+					<delta_CD description="delta_CD">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</delta_CD>
+					<factor_CD description="factor_CD">
+						<value>1</value>
+						<default>1</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</factor_CD>
+				</hl_polar>
+				<hl_polar ID="4" description="A high lift polar">
+					<configuration description="A configuration">
+						<value>approach_landing_gear_out</value>
+					</configuration>
+					<CL_max description="CL_max">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</CL_max>
+					<delta_CD description="delta_CD">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</delta_CD>
+					<factor_CD description="factor_CD">
+						<value>1</value>
+						<default>1</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</factor_CD>
+				</hl_polar>
+				<hl_polar ID="5" description="A high lift polar">
+					<configuration description="A configuration">
+						<value>landing</value>
+					</configuration>
+					<CL_max description="CL_max">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</CL_max>
+					<delta_CD description="delta_CD">
+						<value>0</value>
+						<default>0</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</delta_CD>
+					<factor_CD description="factor_CD">
+						<value>1</value>
+						<default>1</default>
+						<unit>1</unit>
+						<lower_boundary>-inf</lower_boundary>
+						<upper_boundary>inf</upper_boundary>
+					</factor_CD>
+				</hl_polar>	
+			</hl_polars_correction_values>
 		</SemiEmpiricalHighLiftAdaptions>
 		<DragCorrection description="drag correction">
 			<factorDragCleanPolars description="factor drag clean polars">
@@ -651,7 +817,7 @@
 				<upper_boundary>1.5</upper_boundary>
 			</factorDragCleanPolars>
 			<factorDragHighliftPolar description="factor drag high lift polars">
-				<value>1</value>
+				<value>1.3</value>
 				<default>1</default>
 				<unit>1</unit>
 				<lower_boundary>0.5</lower_boundary>
diff --git a/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp b/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp
index 4c7df9510a61ea41cbe5da0653a0fcc13b7390ea..d0d4808c6b7b444cff66490b5a18a0d7da6aa762 100644
--- a/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp
+++ b/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.cpp
@@ -45,6 +45,8 @@ using std::vector;
 semiEmpiricalHighLiftAdaption::semiEmpiricalHighLiftAdaption(const std::shared_ptr<RuntimeIO>& rtIO,  const geom2::MultisectionSurface<geom2::AirfoilSection> mainWing)
     :
     hasStabilizer(false),
+    do_individual_hl_calibration(false),
+    apply_manual_CLmax_hl_values(false),
     CLmaxTO_req(0.),
     CLmaxLDG_req(0.),
     stepWidthCL(0.),
@@ -96,8 +98,8 @@ void semiEmpiricalHighLiftAdaption::setHighLiftDevices() {
 
 void semiEmpiricalHighLiftAdaption::processHighLiftDevices() {
     for (size_t deviceID(0); deviceID < leadingEdgeHighLiftDevices.size(); ++deviceID) {
-        leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs = getHalfSpan(theMainWing) * leadingEdgeHighLiftDevices.at(deviceID).innerSpan_rel;
-        leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs = getHalfSpan(theMainWing) * leadingEdgeHighLiftDevices.at(deviceID).outerSpan_rel;
+        leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs = getHalfSpan(theMainWing) * fabs(leadingEdgeHighLiftDevices.at(deviceID).innerSpan_rel);
+        leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs = getHalfSpan(theMainWing) * fabs(leadingEdgeHighLiftDevices.at(deviceID).outerSpan_rel);
         leadingEdgeHighLiftDevices.at(deviceID).span = fabs(leadingEdgeHighLiftDevices.at(deviceID).outerSpan_abs - leadingEdgeHighLiftDevices.at(deviceID).innerSpan_abs);
         leadingEdgeHighLiftDevices.at(deviceID).c_rel_avg = 0.25 * (leadingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition
                                                                 + leadingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition
@@ -116,8 +118,8 @@ void semiEmpiricalHighLiftAdaption::processHighLiftDevices() {
         leadingEdgeHighLiftDevices.at(deviceID).coveredA = leadingEdgeHighLiftDevices.at(deviceID).span * (chordInboard + chordOutboard);
     }
     for (size_t deviceID(0); deviceID < trailingEdgeHighLiftDevices.size(); ++deviceID) {
-        trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs = getHalfSpan(theMainWing) * trailingEdgeHighLiftDevices.at(deviceID).innerSpan_rel;
-        trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs = getHalfSpan(theMainWing) * trailingEdgeHighLiftDevices.at(deviceID).outerSpan_rel;
+        trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs = getHalfSpan(theMainWing) * fabs(trailingEdgeHighLiftDevices.at(deviceID).innerSpan_rel);
+        trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs = getHalfSpan(theMainWing) * fabs(trailingEdgeHighLiftDevices.at(deviceID).outerSpan_rel);
         trailingEdgeHighLiftDevices.at(deviceID).span = fabs(trailingEdgeHighLiftDevices.at(deviceID).outerSpan_abs - trailingEdgeHighLiftDevices.at(deviceID).innerSpan_abs);
         trailingEdgeHighLiftDevices.at(deviceID).c_rel_avg = 0.25 * (trailingEdgeHighLiftDevices.at(deviceID).innerRelFwdChordPosition
                                                                 + trailingEdgeHighLiftDevices.at(deviceID).innerRelAftChordPosition
@@ -247,6 +249,12 @@ Polar semiEmpiricalHighLiftAdaption::calculateHighLiftPolar(std::string config,
         if (trailingEdgeHighLiftDevices.at(i).name == "special") {
             specialDevice = true;
         }
+    }
+        // apply manual CL_max values if enabled
+    if (apply_manual_CLmax_hl_values ) {
+        if (!(accuracyCheck(hl_polar_calibration_data.at(config).CL_max, 0.0, ACCURACY_HIGH))) {
+            CLmax = hl_polar_calibration_data.at(config).CL_max;
+        }
     }
     if (specialDevice == true) {
         if (CLmaxTO_req <= 0.5) {
@@ -309,7 +317,8 @@ Polar semiEmpiricalHighLiftAdaption::calculateHighLiftPolar(std::string config,
     // Summation of the wing area or span influenced by TE
     double totalCoveredATE = 0.0;
     for (size_t j = 0; j < trailingEdgeHighLiftDevices.size(); j++) {
-        totalCoveredATE += trailingEdgeHighLiftDevices.at(j).coveredA / geom2::measure::reference_area(theMainWing) * cos(trailingEdgeHighLiftDevices.at(j).phiHL);
+        totalCoveredATE += trailingEdgeHighLiftDevices.at(j).coveredA / geom2::measure::reference_area(theMainWing)
+                                                                        * cos(convertUnit(DEGREE, RADIAN, trailingEdgeHighLiftDevices.at(j).phiHL));
     }
     double deltaAOAMaxTE = -6.0 * factorTE * totalCoveredATE;
     // Determine AlphaMax of Clean Polar
@@ -347,7 +356,12 @@ Polar semiEmpiricalHighLiftAdaption::calculateHighLiftPolar(std::string config,
         aHighLiftPolar.PolarPoints.back().CL = Rounding(i, 4);
         aHighLiftPolar.PolarPoints.back().CD = CDmin_inc + deltaCDmin + deltaCDgear
                 + kFactor_inc * pow((i - CLatCDmin_inc + deltaCLatCDmin), 2);
-        // drag correction
+        // individual drag correction
+        if (do_individual_hl_calibration) {
+            aHighLiftPolar.PolarPoints.back().CD = aHighLiftPolar.PolarPoints.back().CD * hl_polar_calibration_data.at(config).factor_CD;
+            aHighLiftPolar.PolarPoints.back().CD += hl_polar_calibration_data.at(config).delta_CD;
+        }
+        // overall drag correction
         aHighLiftPolar.PolarPoints.back().CD = (aHighLiftPolar.PolarPoints.back().CD + reductionDragCountsHighLift * 0.0001)
                                                                 * factorDragHighLift;
         double deltaHighLift;
@@ -454,18 +468,32 @@ double semiEmpiricalHighLiftAdaption::getAlphaAtCL(Polar aPolar, double aCL) {
     double AOAatACL = 0.0;
     size_t pointID(0);
     for (size_t i(0); i < aPolar.PolarPoints.size() - 1; ++i) {
+        pointID = i;
         if (aPolar.PolarPoints.at(i).CL >= aCL) {
-            AOAatACL = aPolar.PolarPoints.at(i).AoA;
-            pointID = i;
+            //AOAatACL = aPolar.PolarPoints.at(i).AoA;
             break;
         }
     }
-    if (pointID != 0 && pointID != (aPolar.PolarPoints.size() - 1)) {
-        // If required CL value is within the bounds and not at the edge --> Interpolate
+    if (accuracyCheck(aPolar.PolarPoints.at(pointID).CL, aCL, ACCURACY_HIGH)) {
+        AOAatACL = aPolar.PolarPoints.at(pointID).AoA;
+    // If required CL value is within the bounds and not at the edge --> Interpolate    
+    } else if (pointID > 0 && pointID < (aPolar.PolarPoints.size() - 1)) {
         AOAatACL = aPolar.PolarPoints.at(pointID-1).AoA + (aPolar.PolarPoints.at(pointID).AoA
                     - aPolar.PolarPoints.at(pointID - 1).AoA)
                     / (aPolar.PolarPoints.at(pointID).CL - aPolar.PolarPoints.at(pointID - 1).CL)
                     * (aCL - aPolar.PolarPoints.at(pointID - 1).CL);
+    // extrapolate at lower end
+    } else if (pointID == 0) {
+        AOAatACL = aPolar.PolarPoints.at(0).AoA + (aPolar.PolarPoints.at(1).AoA
+                    - aPolar.PolarPoints.at(0).AoA)
+                    / (aPolar.PolarPoints.at(1).CL - aPolar.PolarPoints.at(0).CL)
+                    * (aCL - aPolar.PolarPoints.at(0).CL);
+    // extrapolate at upper end
+    } else if (pointID == aPolar.PolarPoints.size()) {
+        AOAatACL = aPolar.PolarPoints.at(pointID).AoA + (aPolar.PolarPoints.at(pointID).AoA
+                    - aPolar.PolarPoints.at(pointID - 1).AoA)
+                    / (aPolar.PolarPoints.at(pointID).CL - aPolar.PolarPoints.at(pointID - 1).CL)
+                    * (aCL - aPolar.PolarPoints.at(pointID).CL);
     }
     return AOAatACL;
 }
diff --git a/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.h b/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.h
index 16fe7faeb23147bf2ebdc0d3572b86ecc3d81582..4f4c9d71f9afd761275cf45588dad8b45e9c0b95 100644
--- a/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.h
+++ b/aerodynamic_analysis/src/methods/semiEmpiricalHighLiftAdaption.h
@@ -30,6 +30,8 @@
 class semiEmpiricalHighLiftAdaption{
  public:
     bool hasStabilizer;
+    bool do_individual_hl_calibration;
+    bool apply_manual_CLmax_hl_values;
     geom2::MultisectionSurface<geom2::AirfoilSection> theStabilizer;
     double CLmaxTO_req;  //TBA
     double CLmaxLDG_req;  //TBA
@@ -84,9 +86,16 @@ class semiEmpiricalHighLiftAdaption{
     double deltaCDgear;  /**< Delta drag coefficient (gear) [-] */
     double deltaCLatCDmin;  /**< Delta lift coefficient at minimum drag [-] */
     };
-    std::unordered_map<std::string, highLiftAdaption> theHighliftAdaption;
     std::vector <WingDevice> leadingEdgeHighLiftDevices;
     std::vector <WingDevice> trailingEdgeHighLiftDevices;
+    std::unordered_map<std::string, highLiftAdaption> theHighliftAdaption;
+    struct hl_polar_calibration_values {
+        double CL_max;          /**< maximum CL value which should be reached */
+        double delta_CD;        /**< Constant delta for drag calibration */
+        double factor_CD;       /**< Factor for drag calibration */
+    };
+    hl_polar_calibration_values aHLPolarCalibrationContainer;
+    std::unordered_map<std::string, hl_polar_calibration_values> hl_polar_calibration_data; /**< Container for storing all high lift polar calibration and correction values */    
     void runHighLiftAdaption();
     void setHighLiftDevices();
     void processHighLiftDevices();
diff --git a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp
index ce29551897fb05ecd661d3677fb241ef0fec141d..4e10d4119c18032bf2c67338100f02c96e2e7776 100644
--- a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp
+++ b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.cpp
@@ -37,108 +37,65 @@ using std::endl;
 tawCalculatePolarConfig::tawCalculatePolarConfig(const node& config)
     :
     // execution mode
-    execution_mode(EndnodeReadOnly<std::string>("program_settings/execution_mode")),
+    execution_mode(EndnodeReadOnly<std::string>("program_settings/execution_mode").read(config)),
     // lifting line settings
-    stepWidthCL(EndnodeReadOnly<double>("LiftingLineForTAW/stepWidthCL")),
+    stepWidthCL(EndnodeReadOnly<double>("LiftingLineForTAW/stepWidthCL").read(config)),
     // other settings
-    CLModeAirfoilSelection(EndnodeReadOnly<std::string>("program_settings/CLModeAirfoilSelection")),
-    setFlightConditionsMode(EndnodeReadOnly<std::string>("program_settings/FlightConditions/AdaptMachNumbersToCruiseReq")),
-    extrapolationMargin(EndnodeReadOnly<double>("program_settings/FlightConditions/PolarAttributes/extrapolation_margin")),
-    allowGrideChange(EndnodeReadOnly<bool>("program_settings/FlightConditions/PolarAttributes/allow_grid_change")),
-    numberFlightConditions(EndnodeReadOnly<int>("program_settings/FlightConditions/numberFlightConditions")),
-    pathToLiftingLine(EndnodeReadOnly<std::string>("program_settings/LiftingLine/FolderPath")),
+    CLModeAirfoilSelection(EndnodeReadOnly<std::string>("program_settings/CLModeAirfoilSelection").read(config)),
+    setFlightConditionsMode(EndnodeReadOnly<std::string>("program_settings/FlightConditions/AdaptMachNumbersToCruiseReq").read(config)),
+    extrapolationMargin(EndnodeReadOnly<double>("program_settings/FlightConditions/PolarAttributes/extrapolation_margin").read(config)),
+    allowGrideChange(EndnodeReadOnly<bool>("program_settings/FlightConditions/PolarAttributes/allow_grid_change").read(config)),
+    numberFlightConditions(EndnodeReadOnly<int>("program_settings/FlightConditions/numberFlightConditions").read(config)),
+    pathToLiftingLine(EndnodeReadOnly<std::string>("program_settings/LiftingLine/FolderPath").read(config)),
     // lifting line for TAW pitching moment corrections
-    CM_corr_fuselage_mode(EndnodeReadOnly<std::string>("program_settings/LiftingLineForTAW/PitchingMoment/CM_corr_fuselage")),
-    CM_corr_nacelle_mode(EndnodeReadOnly<std::string>("program_settings/LiftingLineForTAW/PitchingMoment/CM_corr_nacelle")),
-    delta_CM0(EndnodeReadOnly<double>("LiftingLineForTAW/PitchingMoment/delta_CM0")),
-    delta_dCMdCL(EndnodeReadOnly<double>("LiftingLineForTAW/PitchingMoment/delta_dCMdCL")),
+    CM_corr_fuselage_mode(EndnodeReadOnly<std::string>("program_settings/LiftingLineForTAW/PitchingMoment/CM_corr_fuselage").read(config)),
+    CM_corr_nacelle_mode(EndnodeReadOnly<std::string>("program_settings/LiftingLineForTAW/PitchingMoment/CM_corr_nacelle").read(config)),
+    delta_CM0(EndnodeReadOnly<double>("LiftingLineForTAW/PitchingMoment/delta_CM0").read(config)),
+    delta_dCMdCL(EndnodeReadOnly<double>("LiftingLineForTAW/PitchingMoment/delta_dCMdCL").read(config)),
     // lifiting line for TAW induced drag corrections
-    indDragCtCorrForCalibration(EndnodeReadOnly<double>("LiftingLineForTAW/InducedDragCorrection/indDragCtCorrForCalibration")),
-    factorIndDragCleanPolar(EndnodeReadOnly<double>("LiftingLineForTAW/InducedDragCorrection/factorIndDragCleanPolar")),
+    indDragCtCorrForCalibration(EndnodeReadOnly<double>("LiftingLineForTAW/InducedDragCorrection/indDragCtCorrForCalibration").read(config)),
+    factorIndDragCleanPolar(EndnodeReadOnly<double>("LiftingLineForTAW/InducedDragCorrection/factorIndDragCleanPolar").read(config)),
     // visc drag raymer transition parameters
-    manualTransition(EndnodeReadOnly<bool>("program_settings/ViscDragRaymer/ManualTransition")),
-    manualTransitionWing(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/TransitionLocationWing")),
-    manualTransitionStabilizer(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/TransitionLocationStabilizer")),
-    manualTransitionFin(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/TransitionLocationFin")),
+    manualTransition(EndnodeReadOnly<bool>("program_settings/ViscDragRaymer/ManualTransition").read(config)),
+    manualTransitionWing(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/TransitionLocationWing").read(config)),
+    manualTransitionStabilizer(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/TransitionLocationStabilizer").read(config)),
+    manualTransitionFin(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/TransitionLocationFin").read(config)),
     // visc drag raymer calibration parameters
-    doViscDragCalibration(EndnodeReadOnly<bool>("program_settings/ViscDragRaymer/UseCalibration")),
-    CDvisc_CDsum(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationHighMa/CDSum")),
-    CDvisc_CLfact(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationHighMa/CLFact")),
-    CDvisc_CLexp(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationHighMa/CLExp")),
-    CDvisc_CDsum_lowMa(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationLowMa/CDSum")),
-    CDvisc_CLfact_lowMa(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationLowMa/CLFact")),
-    CDvisc_CLexp_lowMa(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationLowMa/CLExp")),
+    doViscDragCalibration(EndnodeReadOnly<bool>("program_settings/ViscDragRaymer/UseCalibration").read(config)),
+    CDvisc_CDsum(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationHighMa/CDSum").read(config)),
+    CDvisc_CLfact(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationHighMa/CLFact").read(config)),
+    CDvisc_CLexp(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationHighMa/CLExp").read(config)),
+    CDvisc_CDsum_lowMa(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationLowMa/CDSum").read(config)),
+    CDvisc_CLfact_lowMa(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationLowMa/CLFact").read(config)),
+    CDvisc_CLexp_lowMa(EndnodeReadOnly<double>("program_settings/ViscDragRaymer/CalibrationLowMa/CLExp").read(config)),
     // wave drag mason
-    numberWingStrips(EndnodeReadOnly<int>("program_settings/WaveDragMason/NumberWingStrips")),
-    useCostomReferenceAngleForSweep(EndnodeReadOnly<bool>("program_settings/WaveDragMason/UseCostomReferenceAngleForSweep")),
-    doWaveDragMasonCalibration(EndnodeReadOnly<bool>("program_settings/WaveDragMason/UseCalibration")),
-    doWaveDragMasonDragCountCorrection(EndnodeReadOnly<bool>("program_settings/WaveDragMason/DoDragCountCorrection")),
-    Ka(EndnodeReadOnly<double>("program_settings/WaveDragMason/Ka")),
-    maximumSegmentSweep(EndnodeReadOnly<double>("program_settings/WaveDragMason/MaximumSegmentSweep")),
-    customSweepPosition(EndnodeReadOnly<double>("program_settings/WaveDragMason/CustomSweepAngle")),
-    CDwave_CLFact(EndnodeReadOnly<double>("program_settings/WaveDragMason/CLFact")),
-    CDwave_CLExp(EndnodeReadOnly<double>("program_settings/WaveDragMason/CLExp")),
-    deltaWaveDragCountWing(EndnodeReadOnly<double>("program_settings/WaveDragMason/deltaWaveDragWing")),
+    numberWingStrips(EndnodeReadOnly<int>("program_settings/WaveDragMason/NumberWingStrips").read(config)),
+    useCostomReferenceAngleForSweep(EndnodeReadOnly<bool>("program_settings/WaveDragMason/UseCostomReferenceAngleForSweep").read(config)),
+    doWaveDragMasonCalibration(EndnodeReadOnly<bool>("program_settings/WaveDragMason/UseCalibration").read(config)),
+    doWaveDragMasonDragCountCorrection(EndnodeReadOnly<bool>("program_settings/WaveDragMason/DoDragCountCorrection").read(config)),
+    Ka(EndnodeReadOnly<double>("program_settings/WaveDragMason/Ka").read(config)),
+    maximumSegmentSweep(EndnodeReadOnly<double>("program_settings/WaveDragMason/MaximumSegmentSweep").read(config)),
+    customSweepPosition(EndnodeReadOnly<double>("program_settings/WaveDragMason/CustomSweepAngle").read(config)),
+    CDwave_CLFact(EndnodeReadOnly<double>("program_settings/WaveDragMason/CLFact").read(config)),
+    CDwave_CLExp(EndnodeReadOnly<double>("program_settings/WaveDragMason/CLExp").read(config)),
+    deltaWaveDragCountWing(EndnodeReadOnly<double>("program_settings/WaveDragMason/deltaWaveDragWing").read(config)),
     // trim settings
-    doTrim(EndnodeReadOnly<bool>("program_settings/Trim/DoTrim")),
-    trimAdditionalCGPositions(EndnodeReadOnly<bool>("program_settings/Trim/TrimWithAdditionalCoGPositions")),
-    trimHighLiftPolars(EndnodeReadOnly<bool>("program_settings/Trim/TrimHighLift")),
-    stabAngleGridMode(EndnodeReadOnly<std::string>("program_settings/Trim/StabAngleGrid")),
-    customStabAngleGrid(EndnodeReadOnly<std::string>("program_settings/Trim/customStabAngleGrid")),
-    deltaTotalDragHL(EndnodeReadOnly<double>("program_settings/SemiEmpiricalHighLiftAdaptions/deltaTotalDrag")),
-    factorDragHL(EndnodeReadOnly<double>("program_settings/SemiEmpiricalHighLiftAdaptions/factorDrag")),
+    doTrim(EndnodeReadOnly<bool>("program_settings/Trim/DoTrim").read(config)),
+    trimAdditionalCGPositions(EndnodeReadOnly<bool>("program_settings/Trim/TrimWithAdditionalCoGPositions").read(config)),
+    trimHighLiftPolars(EndnodeReadOnly<bool>("program_settings/Trim/TrimHighLift").read(config)),
+    stabAngleGridMode(EndnodeReadOnly<std::string>("program_settings/Trim/StabAngleGrid").read(config)),
+    customStabAngleGrid(EndnodeReadOnly<std::string>("program_settings/Trim/customStabAngleGrid").read(config)),
+    deltaTotalDragHL(EndnodeReadOnly<double>("program_settings/SemiEmpiricalHighLiftAdaptions/deltaTotalDrag").read(config)),
+    factorDragHL(EndnodeReadOnly<double>("program_settings/SemiEmpiricalHighLiftAdaptions/factorDrag").read(config)),
+    // high lift polars settings
+    do_individual_hl_calibration(EndnodeReadOnly<bool>("program_settings/SemiEmpiricalHighLiftAdaptions/do_individual_hl_calibration").read(config).value()),
+    apply_manual_CLmax_hl_values(EndnodeReadOnly<bool>("program_settings/SemiEmpiricalHighLiftAdaptions/apply_manual_CLmax_hl_values").read(config).value()),
     // calibration settings
-    factorDragCleanPolar(EndnodeReadOnly<double>("program_settings/DragCorrection/factorDragCleanPolars")),
-    factorDragHighLiftPolar(EndnodeReadOnly<double>("program_settings/DragCorrection/factorDragHighliftPolar")),
-    deltaTotalDragCleanPolar(EndnodeReadOnly<double>("program_settings/DragCorrection/deltaTotalDragCleanPolars")),
-    deltaTotalDragHighLift(EndnodeReadOnly<double>("program_settings/DragCorrection/deltaTotalDragHighLift")) {
-    execution_mode.read(config);
-    CLModeAirfoilSelection.read(config);
-    stepWidthCL.read(config);
-    setFlightConditionsMode.read(config);
-    extrapolationMargin.read(config);
-    allowGrideChange.read(config);
-    numberFlightConditions.read(config);
-    pathToLiftingLine.read(config);
-    manualTransition.read(config);
-    manualTransitionWing.read(config);
-    manualTransitionStabilizer.read(config);
-    manualTransitionFin.read(config);
-    doViscDragCalibration.read(config);
-    CDvisc_CDsum.read(config);
-    CDvisc_CLfact.read(config);
-    CDvisc_CLexp.read(config);
-    CDvisc_CDsum_lowMa.read(config);
-    CDvisc_CLfact_lowMa.read(config);
-    CDvisc_CLexp_lowMa.read(config);
-    useCostomReferenceAngleForSweep.read(config);
-    doWaveDragMasonCalibration.read(config);
-    doWaveDragMasonDragCountCorrection.read(config);
-    Ka.read(config);
-    numberWingStrips.read(config);
-    maximumSegmentSweep.read(config);
-    customSweepPosition.read(config);
-    CDwave_CLFact.read(config);
-    CDwave_CLExp.read(config);
-    deltaWaveDragCountWing.read(config);
-    doTrim.read(config);
-    trimAdditionalCGPositions.read(config);
-    trimHighLiftPolars.read(config);
-    stabAngleGridMode.read(config);
-    customStabAngleGrid.read(config);
-    deltaTotalDragHL.read(config);
-    factorDragHL.read(config);
-    CM_corr_fuselage_mode.read(config);
-    CM_corr_nacelle_mode.read(config);
-    delta_CM0.read(config);
-    delta_dCMdCL.read(config);
-    indDragCtCorrForCalibration.read(config);
-    factorIndDragCleanPolar.read(config);
+    factorDragCleanPolar(EndnodeReadOnly<double>("program_settings/DragCorrection/factorDragCleanPolars").read(config)),
+    factorDragHighLiftPolar(EndnodeReadOnly<double>("program_settings/DragCorrection/factorDragHighliftPolar").read(config)),
+    deltaTotalDragCleanPolar(EndnodeReadOnly<double>("program_settings/DragCorrection/deltaTotalDragCleanPolars").read(config)),
+    deltaTotalDragHighLift(EndnodeReadOnly<double>("program_settings/DragCorrection/deltaTotalDragHighLift").read(config)) {
     liftingLineFolderPath = pathToLiftingLine.value();
-    factorDragCleanPolar.read(config);
-    factorDragHighLiftPolar.read(config);
-    deltaTotalDragCleanPolar.read(config);
-    deltaTotalDragHighLift.read(config);
     myRuntimeInfo->out << "config: " << liftingLineFolderPath << endl;
     if (setFlightConditionsMode.value() == "mode_0") {
         myRuntimeInfo->info << "set flight conditions from config xml" << endl;
@@ -149,6 +106,7 @@ tawCalculatePolarConfig::tawCalculatePolarConfig(const node& config)
         myRuntimeInfo->info << "Hab vergessen was hier rein sollte" << endl;
     }
     this->initializeTrimSettings();
+    this->read_hl_calibration_factors(config);
 }
 
 void tawCalculatePolarConfig::readflightConditions(const node& config, size_t ID) {
@@ -190,3 +148,22 @@ void tawCalculatePolarConfig::initializeTrimSettings() {
     CGPositions = {"design"};
     }
 }
+
+void tawCalculatePolarConfig::read_hl_calibration_factors(const node& config) {
+    size_t numberHLPolars = config.getVector(("program_settings/SemiEmpiricalHighLiftAdaptions/hl_polars_correction_values/hl_polar"), 2).size();
+    for (size_t HLPolarID(0); HLPolarID < numberHLPolars ; ++HLPolarID) {
+        EndnodeReadOnly configurationNode(EndnodeReadOnly<std::string>("SemiEmpiricalHighLiftAdaptions/hl_polars_correction_values/hl_polar@"
+                                                            + num2Str(HLPolarID) + "/configuration").read(config));
+        EndnodeReadOnly CLMaxNode(EndnodeReadOnly<double>("SemiEmpiricalHighLiftAdaptions/hl_polars_correction_values/hl_polar@"
+                                                            + num2Str(HLPolarID) + "/CL_max").read(config));
+        EndnodeReadOnly delta_CDNode(EndnodeReadOnly<double>("SemiEmpiricalHighLiftAdaptions/hl_polars_correction_values/hl_polar@"
+                                                            + num2Str(HLPolarID) + "/delta_CD").read(config));
+        EndnodeReadOnly factor_CDNode(EndnodeReadOnly<double>("SemiEmpiricalHighLiftAdaptions/hl_polars_correction_values/hl_polar@"
+                                                            + num2Str(HLPolarID) + "/factor_CD").read(config));
+        hl_polar_calibration_values aHLPolarCalibrationContainer;
+        hl_polar_calibration_data[configurationNode.value()] = aHLPolarCalibrationContainer;
+        hl_polar_calibration_data.at(configurationNode.value()).CL_max = CLMaxNode.value();
+        hl_polar_calibration_data.at(configurationNode.value()).delta_CD = delta_CDNode.value();
+        hl_polar_calibration_data.at(configurationNode.value()).factor_CD = factor_CDNode.value();
+    }
+}
\ No newline at end of file
diff --git a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h
index d568601660ad54b753b18b7fc0fcb87a1886ffcf..e2baf8d9130492ef45414d7f62fb26692d81f308 100644
--- a/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h
+++ b/aerodynamic_analysis/src/taw/tawCalculatePolarConfig.h
@@ -85,6 +85,8 @@ class tawCalculatePolarConfig{
     // semi empirical high lift adaptions
     EndnodeReadOnly<double> deltaTotalDragHL;
     EndnodeReadOnly<double> factorDragHL;
+    bool do_individual_hl_calibration;
+    bool apply_manual_CLmax_hl_values;
     // calibration settings
     EndnodeReadOnly<double> factorDragCleanPolar;
     EndnodeReadOnly<double> factorDragHighLiftPolar;
@@ -92,6 +94,7 @@ class tawCalculatePolarConfig{
     EndnodeReadOnly<double> deltaTotalDragHighLift;
     void readflightConditions(const node& config, size_t ID);
     void initializeTrimSettings();
+    void read_hl_calibration_factors(const node& config);
     explicit tawCalculatePolarConfig(const node& config);
     virtual ~tawCalculatePolarConfig() {}
     // explicit calculatePolarSettings(const node& configXML);
@@ -100,34 +103,24 @@ class tawCalculatePolarConfig{
     // virtual ~calculatePolarSettings();
     /* Member Variables */
     std::string liftingLineFolderPath; /**< Path to LiftingLine folder */
-    bool deleteLLfolder; /**< Switch which sets if liftingLine folder in project folder is deleted after execution */
-    std::string aeroDatabaseFolderPath; /**< Path to AeroDatabase folder */
-    bool getAlternativeDragComponentsFromDB; /**< Switch if also the friction and pressure drag should be read from DB and plotted */
-    std::string stabtoolFolderPath; /**< Path to Stabtool folder */
 
     // trim settings
     std::vector<double> stabAngles; /**< vector of stabilizer angles in [deg] */
     std::vector<std::string> CGPositions;  /**< vector of CG positions, order: design, fwd, aft*/
     size_t neutralStabAngleID;
 
-    /* Polar Configuration */
-    /** \brief  Class which contains configurations for the polar calculations
-     */
-    uint8_t plottingIncrement; /**< variable within database method */
-
     /* Flight Conditions */
-    bool adaptMachDistribution; /**< Switch to either use the list of flight conditions from the config file or to distribute them reasonably with respect to design mach number */
-    double cruiseMach; /**< Cruise mach number [-] */
-    double designAltitude; /**< Design altitude [ft] */
-    bool useAverageCruiseAltitude; /**< Switch to either use the given design altitude or to calculate the average from the flown cruise steps set in aricraft xml */
-    int numberOfCruiseSteps; /**< Number of cruise steps in design mission*/
-    int numberOfFlightConditions; /**< Number of flight conditions [-] */
-    std::vector <double> lowSpeed_Mach; /**< Vector of low speed mach numbers. Only used if adaptMachDistribution is set to true */
-    std::vector <double> highSpeed_Mach_Deltas; /**< Vector of high speed mach number deviations. Used to distribute mach numbers around cruise mach number */
-    std::vector <double> FreestreamMachNumbers; /**< Vector of Freestream Mach numbers */
     std::vector<flightCondition> flightConditions; /**< Vector of flightCondition objects representing the mission data */
     std::vector<double> machNumbers;  /**< Vector with mach numbers corrsponding to their mach ID */
 
+    /* High lift calibration data */
+    struct hl_polar_calibration_values {
+        double CL_max;          /**< maximum CL value which should be reached */
+        double delta_CD;        /**< Constant delta for drag calibration */
+        double factor_CD;       /**< Factor for drag calibration */
+    };
+    std::unordered_map<std::string, hl_polar_calibration_values> hl_polar_calibration_data; /**< Container for storing all high lift polar calibration and correction values */
+
  private:
     /* Member functions */
     /** \brief Function reads polar settings from configuration XML and stores them in polarConfig object
diff --git a/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp b/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp
index 485273d3d17e4a9661e9b5cda4da85213fb1b6bb..0475e105b9d3234fdb7679a7cb51433fe5a35ae1 100644
--- a/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp
+++ b/aerodynamic_analysis/src/taw/tawDefaultStrategy.cpp
@@ -176,6 +176,7 @@ void tawDefaultStrategy::runAeroCalculations(const Point CoGPosition, const doub
     // high lift calculation
     semiEmpiricalHighLiftAdaption* mySemiEmpHLAdaption = new semiEmpiricalHighLiftAdaption(rtIO_, liftingSurfaces.front());
     this->copyWingDevicesAndStabilizer(mySemiEmpHLAdaption);
+    this->copyHLPolarCalibrationData(mySemiEmpHLAdaption);
     this->copyCleanPolarForHLCalculation(mySemiEmpHLAdaption, myLiftingLineForTAW);
     mySemiEmpHLAdaption->runHighLiftAdaption();
     this->calculateHighLiftPolars(mySemiEmpHLAdaption, CoGPosition.xCoordinate, currentIStabAngle);
@@ -353,7 +354,7 @@ void tawDefaultStrategy::sumUpDragComponents() {
 }
 
 void tawDefaultStrategy::copyWingDevicesAndStabilizer(semiEmpiricalHighLiftAdaption *mySemiEmpHLAdaption) {
-    myRuntimeInfo->out << "Copy wing devices" << endl;
+    myRuntimeInfo->debug << "Copy wing devices" << endl;
     for (size_t deviceID(0); deviceID < data_->numberDevices; ++deviceID) {
         semiEmpiricalHighLiftAdaption::WingDevice* aWingDevice = new semiEmpiricalHighLiftAdaption::WingDevice;
         aWingDevice->name = data_->wingDevices.at(deviceID).type;
@@ -373,6 +374,16 @@ void tawDefaultStrategy::copyWingDevicesAndStabilizer(semiEmpiricalHighLiftAdapt
     }
 }
 
+void tawDefaultStrategy::copyHLPolarCalibrationData(semiEmpiricalHighLiftAdaption *mySemiEmpHLAdaption) {
+    myRuntimeInfo->debug << "Copy high lift polar calibration data" << endl;
+    for (size_t configID(0); configID < HLconfigs.size(); ++configID) {
+        mySemiEmpHLAdaption->hl_polar_calibration_data[HLconfigs.at(configID)] = mySemiEmpHLAdaption->aHLPolarCalibrationContainer;
+        mySemiEmpHLAdaption->hl_polar_calibration_data.at(HLconfigs.at(configID)).CL_max = config_->hl_polar_calibration_data.at(HLconfigs.at(configID)).CL_max;
+        mySemiEmpHLAdaption->hl_polar_calibration_data.at(HLconfigs.at(configID)).delta_CD = config_->hl_polar_calibration_data.at(HLconfigs.at(configID)).delta_CD;
+        mySemiEmpHLAdaption->hl_polar_calibration_data.at(HLconfigs.at(configID)).factor_CD = config_->hl_polar_calibration_data.at(HLconfigs.at(configID)).factor_CD;
+    }
+}
+
 void tawDefaultStrategy::copyCleanPolarForHLCalculation(semiEmpiricalHighLiftAdaption *mySemiEmpHLAdaption, liftingLineForTAW *myLiftingLineForTAW) {
     // find polar with minimum mach number
     double minMachNumber(1.0);
@@ -399,6 +410,8 @@ void tawDefaultStrategy::copyCleanPolarForHLCalculation(semiEmpiricalHighLiftAda
         mySemiEmpHLAdaption->theCleanPolar.PolarPoints.back().iStabPolar = currentPolarSet.cleanPolars.at(minMachID).Points.at(pointID).iStabPolar;
     }
     // copy other neccesary values from lifting line calculation
+    mySemiEmpHLAdaption->do_individual_hl_calibration = config_->do_individual_hl_calibration;
+    mySemiEmpHLAdaption->apply_manual_CLmax_hl_values = config_->apply_manual_CLmax_hl_values;
     mySemiEmpHLAdaption->CLmaxTO_req = 1.0;
     mySemiEmpHLAdaption->CLmaxLDG_req = 1.0;
     mySemiEmpHLAdaption->stepWidthCL = config_->stepWidthCL.value();
diff --git a/aerodynamic_analysis/src/taw/tawDefaultStrategy.h b/aerodynamic_analysis/src/taw/tawDefaultStrategy.h
index 125ff91cf569485cd751ac4e506d594ee2ace5db..7c3ad1a018f5b82c4be2cf09f16ce1b92b103b9a 100644
--- a/aerodynamic_analysis/src/taw/tawDefaultStrategy.h
+++ b/aerodynamic_analysis/src/taw/tawDefaultStrategy.h
@@ -107,6 +107,7 @@ class tawDefaultStrategy {
     void calculateWaveDragMason(waveDragMason *myWaveDragMason);
     void sumUpDragComponents();
     void copyWingDevicesAndStabilizer(semiEmpiricalHighLiftAdaption *mySemiEmpHLAdaption);
+    void copyHLPolarCalibrationData(semiEmpiricalHighLiftAdaption *mySemiEmpHLAdaption);
     void copyCleanPolarForHLCalculation(semiEmpiricalHighLiftAdaption *mySemiEmpHLAdaption, liftingLineForTAW *myLiftingLineForTAW);
     void calculateHighLiftPolars(semiEmpiricalHighLiftAdaption *mySemiEmpHLAdaption, const double CoG_X_Position, const double currentIStabAngle);
     /** \brief Copy the temporary current polar set to the permanent polarDataCGMap
diff --git a/initial_sizing/initial_sizing_conf.xml b/initial_sizing/initial_sizing_conf.xml
index 94b24756fa28370fa6ed81936ab7c3ca36cc6a56..896dd1d245d056804f185a9c03473b14701b4b90 100644
--- a/initial_sizing/initial_sizing_conf.xml
+++ b/initial_sizing/initial_sizing_conf.xml
@@ -1,164 +1,164 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<module_configuration_file name="initial_sizing_conf.xml">
-    <control_settings description="General control settings for this tool">
-		<aircraft_exchange_file_name description="Specify the name of the exchange file">
-			<value>csmr-2020.xml</value>
-		</aircraft_exchange_file_name>
-		<aircraft_exchange_file_directory description="Specify the direction in which the aircraft exchange file can be found">
-			<value>../projects/</value>
-		</aircraft_exchange_file_directory>
-		<own_tool_level description="Specify the tool level of this tool">
-			<value>1</value>
-		</own_tool_level>
-        <console_output description="Selector to specify the console output. Selector: mode_0 (Off) / mode_1 (only out/err/warn) / mode_2 (1 + info) / mode_3 (2 + debug)">
-			<value>mode_1</value>
-		</console_output>
-        <log_file_output description="Selector to specify the log file output. Selector: mode_0 (Off) / mode_1 (only out/err/warn) / mode_2 (1 + info) / mode_3 (2 + debug)">
-			<value>mode_1</value>
-		</log_file_output>
-        <plot_output description="Specify the way plotting shall be handled">
-			<enable description="Switch to enable plotting. Switch: true (On) / false (Off)">
-				<value>true</value>
-			</enable>
-			<copy_plotting_files description="Switch if plotting files shall be copied. Switch: true (On) / false (Off)">
-				<value>true</value>
-			</copy_plotting_files>
-			<delete_plotting_files_from_tool_folder description="Switch if plotting files shall be deleted from folder. Switch: true (On) / false (Off)">
-				<value>true</value>
-			</delete_plotting_files_from_tool_folder>
-		</plot_output>
-        <report_output description="Switch to generate an HTML report. Switch: true (On) / false (Off)">
-			<value>true</value>
-		</report_output>
-        <tex_report description="Switch to generate a Tex report. Switch: true (On) / false (Off)">
-			<value>true</value>
-		</tex_report>
-        <write_info_files description="Switch to generate info files. Switch: true (On) / false (Off)">
-			<value>true</value>
-		</write_info_files>
-		<log_file description="Specify the name of the log file">
-			<value>initial_sizing.log</value>
-		</log_file>
-        <inkscape_path description="Path to the inkscape application (DEFAULT: Use inkscape from the UNICADO repo structure)">
-			<value>DEFAULT</value>
-		</inkscape_path>
-        <gnuplot_path description="Path to the gnuplot application (DEFAULT: Use gnuplot from the UNICADO repo structure)">
-			<value>DEFAULT</value>
-		</gnuplot_path>
-	</control_settings>
-    <program_settings description="program settings">
-	    <design_case description="Switch for system sizing. 1: Sizing, 0: ONLY determination of a load profile for a specific mission">
-			<value>1</value>
-			<default>1</default>
-		</design_case>
-        <tube_and_wing description="settings for tube and wing (TAW)">
-        	<approach_selection description="selection of approach level">
-				<value>analytical</value>
-			</approach_selection>
-            <analytical_approach>
-                <General>
-                     <OswaldFactor description="Oswald factor in clean configuration" Unit="-">
-					 	 <value>0.85</value>
-	                     <default>0.85</default>
-					 </OswaldFactor>
-                     <AspectRatio description="aspect ratio" Unit="count">
-	                     <value>9.5</value>
-	                     <default>9.5</default>
-                     </AspectRatio>
-                     <n_pilots description="Number of Pilots" Unit="count">
-					     <value>2</value>
-			             <default>2</default>
-					 </n_pilots>
-					 <n_engines description="Number of engines" Unit="count">
-	                     <value>2</value>
-	                     <default>2</default>
-                     </n_engines>
-                     <Cf description="friction coefficient" Unit="count">
-	                     <value>0.002</value>
-	                     <default>0.002</default>
-                     </Cf>      
-                </General>
-                <Constants>
-                    <SFC_kerosene description="Specific Fuel Consumption Factor for Kerosene">
-					    <value>0.0001389</value>
-			            <default>0.0001389</default>
-					</SFC_kerosene>
-			    </Constants>
-                <TOFL description="takeoff distance requirement">
-					 <CLmax_TO description="Maximum lift coefficient at takeoff" Unit="-">
-	                   <value>2.28</value>
-	                   <default>2.28</default>
-                     </CLmax_TO>
-                </TOFL>
-                <LDN description="landing distance requirement">
-					 <CLmax_L description="Maximum lift coefficient at landing" Unit="-">
-	                   <value>2.85</value>
-	                   <default>2.85</default>
-                     </CLmax_L>
-					 <mlmo description="ratio between maximum landing mass and takeoff mass" Unit="-">
-	                   <value>0.82</value>
-	                   <default>0.82</default>
-                     </mlmo>
-                </LDN>
-                <Climb description="climb performance requirement">
-				     <deltaCD_HL description="Delta CD0 with TO-Flaps" Unit="-">
-	                   <value>0.07</value>
-	                   <default>0.07</default>
-                     </deltaCD_HL>
-                </Climb>
-                <Cruise description="maximum cruise speed requirement">
-                     <mcr_mto description="ratio between cruise mass and takeoff mass - default for mid- and short-range: 0.956, default for long range: 0.924">
-					     <value>0.956</value>
-			             <default>0.956</default>
-					 </mcr_mto>
-					 <optimalCL description="maximum CL at initial cruise">
-					     <value>0.57</value>
-			             <default>0.57</default>
-					 </optimalCL>
-                </Cruise>
-                <LiftToDragRatios description="initial cruise and loiter lift to drag ratios ">
-                    <LD_initial_cruise description="cruise requirements">
-                         <value>15</value>
-			             <default>15</default>
-                    </LD_initial_cruise>
-                    <LD_initial_loiter description="loiter requirements">
-                         <value>16</value>
-			             <default>16</default>
-                    </LD_initial_loiter>
-                </LiftToDragRatios>
-                <Masses description="mass estimation methodology">
-                    <Fractions description="mass fractions">
-                       <mf_warmup description="Warmup (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.99">
-                           <value>0.99</value>
-                           <default>0.99</default>
-                       </mf_warmup>
-                       <mf_taxi description="Warmup (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.99">
-                           <value>0.99</value>
-                           <default>0.99</default>
-                       </mf_taxi>
-                       <mf_to description="Taxi and Takeoff (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.995">
-                           <value>0.995</value>
-                           <default>0.995</default>
-                       </mf_to>
-                       <mf_climb description="Climb (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.98">
-                           <value>0.98</value>
-                           <default>0.98</default>
-                       </mf_climb>
-                       <mf_descent description="Descent (according to Raymer: 0.99(A340)-0.995(A320))" Unit="-" Default="0.99">
-                           <value>0.99</value>
-                           <default>0.99</default>
-                       </mf_descent>
-                       <mf_missedandclimb description="Landing and Taxi Back (according to Raymer: 0.992(A340)-0.997(A320))" Unit="-" Default="0.988">
-                           <value>0.988</value>
-                           <default>0.988</default>
-                       </mf_missedandclimb>
-                       <mf_land description="Landing and Taxi Back (according to Raymer: 0.992(A340)-0.997(A320))" Unit="-" Default="0.995">
-                           <value>0.995</value>
-                           <default>0.995</default>
-                       </mf_land>
-                     </Fractions>
-                </Masses>
-            </analytical_approach> 
-        </tube_and_wing>   
-    </program_settings>
+<?xml version="1.0" encoding="utf-8" ?>
+<module_configuration_file name="initial_sizing_conf.xml">
+    <control_settings description="General control settings for this tool">
+		<aircraft_exchange_file_name description="Specify the name of the exchange file">
+			<value>csmr-2020.xml</value>
+		</aircraft_exchange_file_name>
+		<aircraft_exchange_file_directory description="Specify the direction in which the aircraft exchange file can be found">
+			<value>../projects/</value>
+		</aircraft_exchange_file_directory>
+		<own_tool_level description="Specify the tool level of this tool">
+			<value>1</value>
+		</own_tool_level>
+        <console_output description="Selector to specify the console output. Selector: mode_0 (Off) / mode_1 (only out/err/warn) / mode_2 (1 + info) / mode_3 (2 + debug)">
+			<value>mode_1</value>
+		</console_output>
+        <log_file_output description="Selector to specify the log file output. Selector: mode_0 (Off) / mode_1 (only out/err/warn) / mode_2 (1 + info) / mode_3 (2 + debug)">
+			<value>mode_1</value>
+		</log_file_output>
+        <plot_output description="Specify the way plotting shall be handled">
+			<enable description="Switch to enable plotting. Switch: true (On) / false (Off)">
+				<value>true</value>
+			</enable>
+			<copy_plotting_files description="Switch if plotting files shall be copied. Switch: true (On) / false (Off)">
+				<value>true</value>
+			</copy_plotting_files>
+			<delete_plotting_files_from_tool_folder description="Switch if plotting files shall be deleted from folder. Switch: true (On) / false (Off)">
+				<value>true</value>
+			</delete_plotting_files_from_tool_folder>
+		</plot_output>
+        <report_output description="Switch to generate an HTML report. Switch: true (On) / false (Off)">
+			<value>true</value>
+		</report_output>
+        <tex_report description="Switch to generate a Tex report. Switch: true (On) / false (Off)">
+			<value>true</value>
+		</tex_report>
+        <write_info_files description="Switch to generate info files. Switch: true (On) / false (Off)">
+			<value>false</value>
+		</write_info_files>
+		<log_file description="Specify the name of the log file">
+			<value>initial_sizing.log</value>
+		</log_file>
+        <inkscape_path description="Path to the inkscape application (DEFAULT: Use inkscape from the UNICADO repo structure)">
+			<value>../inkscape/</value>
+		</inkscape_path>
+        <gnuplot_path description="Path to the gnuplot application (DEFAULT: Use gnuplot from the UNICADO repo structure)">
+			<value>../gnuplot/</value>
+		</gnuplot_path>
+	</control_settings>
+    <program_settings description="program settings">
+	    <design_case description="Switch for system sizing. 1: Sizing, 0: ONLY determination of a load profile for a specific mission">
+			<value>1</value>
+			<default>1</default>
+		</design_case>
+        <tube_and_wing description="settings for tube and wing (TAW)">
+        	<approach_selection description="selection of approach level">
+				<value>analytical</value>
+			</approach_selection>
+            <analytical_approach>
+                <General>
+                     <OswaldFactor description="Oswald factor in clean configuration" Unit="-">
+					 	 <value>0.85</value>
+	                     <default>0.85</default>
+					 </OswaldFactor>
+                     <AspectRatio description="aspect ratio" Unit="count">
+	                     <value>9.5</value>
+	                     <default>9.5</default>
+                     </AspectRatio>
+                     <n_pilots description="Number of Pilots" Unit="count">
+					     <value>2</value>
+			             <default>2</default>
+					 </n_pilots>
+					 <n_engines description="Number of engines" Unit="count">
+	                     <value>2</value>
+	                     <default>2</default>
+                     </n_engines>
+                     <Cf description="friction coefficient" Unit="count">
+	                     <value>0.002</value>
+	                     <default>0.002</default>
+                     </Cf>      
+                </General>
+                <Constants>
+                    <SFC_kerosene description="Specific Fuel Consumption Factor for Kerosene">
+					    <value>0.0001389</value>
+			            <default>0.0001389</default>
+					</SFC_kerosene>
+			    </Constants>
+                <TOFL description="takeoff distance requirement">
+					 <CLmax_TO description="Maximum lift coefficient at takeoff" Unit="-">
+	                   <value>2.55</value>
+	                   <default>2.28</default>
+                     </CLmax_TO>
+                </TOFL>
+                <LDN description="landing distance requirement">
+					 <CLmax_L description="Maximum lift coefficient at landing" Unit="-">
+	                   <value>2.9</value>
+	                   <default>2.85</default>
+                     </CLmax_L>
+					 <mlmo description="ratio between maximum landing mass and takeoff mass" Unit="-">
+	                   <value>0.82</value>
+	                   <default>0.82</default>
+                     </mlmo>
+                </LDN>
+                <Climb description="climb performance requirement">
+				     <deltaCD_HL description="Delta CD0 with TO-Flaps" Unit="-">
+	                   <value>0.07</value>
+	                   <default>0.07</default>
+                     </deltaCD_HL>
+                </Climb>
+                <Cruise description="maximum cruise speed requirement">
+                     <mcr_mto description="ratio between cruise mass and takeoff mass - default for mid- and short-range: 0.956, default for long range: 0.924">
+					     <value>0.956</value>
+			             <default>0.956</default>
+					 </mcr_mto>
+					 <optimalCL description="maximum CL at initial cruise">
+					     <value>0.57</value>
+			             <default>0.57</default>
+					 </optimalCL>
+                </Cruise>
+                <LiftToDragRatios description="initial cruise and loiter lift to drag ratios ">
+                    <LD_initial_cruise description="cruise requirements">
+                         <value>15</value>
+			             <default>15</default>
+                    </LD_initial_cruise>
+                    <LD_initial_loiter description="loiter requirements">
+                         <value>16</value>
+			             <default>16</default>
+                    </LD_initial_loiter>
+                </LiftToDragRatios>
+                <Masses description="mass estimation methodology">
+                    <Fractions description="mass fractions">
+                       <mf_warmup description="Warmup (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.99">
+                           <value>0.99</value>
+                           <default>0.99</default>
+                       </mf_warmup>
+                       <mf_taxi description="Warmup (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.99">
+                           <value>0.99</value>
+                           <default>0.99</default>
+                       </mf_taxi>
+                       <mf_to description="Taxi and Takeoff (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.995">
+                           <value>0.995</value>
+                           <default>0.995</default>
+                       </mf_to>
+                       <mf_climb description="Climb (according to Raymer: 0.97(A340)-0.99(A320))" Unit="-" Default="0.98">
+                           <value>0.98</value>
+                           <default>0.98</default>
+                       </mf_climb>
+                       <mf_descent description="Descent (according to Raymer: 0.99(A340)-0.995(A320))" Unit="-" Default="0.99">
+                           <value>0.99</value>
+                           <default>0.99</default>
+                       </mf_descent>
+                       <mf_missedandclimb description="Landing and Taxi Back (according to Raymer: 0.992(A340)-0.997(A320))" Unit="-" Default="0.988">
+                           <value>0.988</value>
+                           <default>0.988</default>
+                       </mf_missedandclimb>
+                       <mf_land description="Landing and Taxi Back (according to Raymer: 0.992(A340)-0.997(A320))" Unit="-" Default="0.995">
+                           <value>0.995</value>
+                           <default>0.995</default>
+                       </mf_land>
+                     </Fractions>
+                </Masses>
+            </analytical_approach> 
+        </tube_and_wing>   
+    </program_settings>
 </module_configuration_file>
\ No newline at end of file
diff --git a/landing_gear_design/src/wing_mounted/empirical/landing_gear_design_tu_berlin/general/call_functions/prepareexternaldata.py b/landing_gear_design/src/wing_mounted/empirical/landing_gear_design_tu_berlin/general/call_functions/prepareexternaldata.py
index 5c8838caa768f3063f77cda800cc00ed660e516e..1815313efde5ef3115d708ba3ca5b8e360b967e8 100644
--- a/landing_gear_design/src/wing_mounted/empirical/landing_gear_design_tu_berlin/general/call_functions/prepareexternaldata.py
+++ b/landing_gear_design/src/wing_mounted/empirical/landing_gear_design_tu_berlin/general/call_functions/prepareexternaldata.py
@@ -22,7 +22,7 @@ def prepare_external_data(paths_and_names, routing_dict, dict_ac_exchange, dict_
     if dict_ac_exchange['center_of_gravity_in_x'] is not None \
         and dict_ac_exchange['wing_reference_point_global_in_x'] is not None:
         # Create the factory
-        airfoil_data_dir = f'{paths_and_names["project_directory"]}/geometryData/airfoilData'
+        airfoil_data_dir = f'{paths_and_names["project_directory"]}/geometry_data/airfoil_data'
         aircraft_exchange_file = aixml.openDocument(paths_and_names['path_to_aircraft_exchange_file'])
         factory = geom2.factory.WingFactory(aircraft_exchange_file, airfoil_data_dir)
         # Create the surface
diff --git a/libs b/libs
index 1494d2d52a4736cca657f4f93d30be2bf1f0b3f8..4bc808018f2d8aff32ab6c7a445cfbcafb0d3187 160000
--- a/libs
+++ b/libs
@@ -1 +1 @@
-Subproject commit 1494d2d52a4736cca657f4f93d30be2bf1f0b3f8
+Subproject commit 4bc808018f2d8aff32ab6c7a445cfbcafb0d3187
diff --git a/performance_assessment/CMakeLists.txt b/performance_assessment/CMakeLists.txt
index 9b3e7a8835b087e7f1ef7e9a89fe17ae4f0fcaf6..ce8e303a701ca1fe0a80e340e11ca54edf239cb1 100644
--- a/performance_assessment/CMakeLists.txt
+++ b/performance_assessment/CMakeLists.txt
@@ -11,7 +11,7 @@ set(MODULE_NAME performance_assessment)
 # ==============================================
 set(MODULE_SOURCES
     src/${MODULE_NAME}.cpp
-    src/taw/defaultmethods/performance_assessment_factory.cpp
+    src/taw/defaultMethods/performance_assessment_factory.cpp
     src/taw/defaultMethods/missionDefinition.cpp
     src/taw/defaultMethods/performance_assessment_settings.cpp
     src/taw/defaultMethods/performance_assessment_output.cpp
diff --git a/systems_design/src/standardSystemsDesign.cpp b/systems_design/src/standardSystemsDesign.cpp
index 3a3a781282842a24a3291a775fccb206c336c0b0..125a1669de622ab0cadca52913b00e3b57a70d45 100644
--- a/systems_design/src/standardSystemsDesign.cpp
+++ b/systems_design/src/standardSystemsDesign.cpp
@@ -40,10 +40,10 @@ void standardSystemsDesign::initialize() {
     /* Initializing IOData */
     data_ = std::make_shared<systemsIOData>(*rtIO_, config, rtIO_->getMissionDataDir());
     /* Read geometry components from aircraft xml */
-    data_->readFuselages(rtIO_->acxml, rtIO_->getIODir()+"/");
-    data_->readNacelles(rtIO_->acxml, rtIO_->getIODir()+"/");
-    data_->readWing(rtIO_->acxml, rtIO_->getIODir()+"/");
-    data_->readEmpennage(rtIO_->acxml, rtIO_->getIODir()+"/");
+    data_->readFuselages(rtIO_->acxml, rtIO_->getGeometryDir());
+    data_->readNacelles(rtIO_->acxml, rtIO_->getGeometryDir());
+    data_->readWing(rtIO_->acxml, rtIO_->getAirfoilDataDir());
+    data_->readEmpennage(rtIO_->acxml, rtIO_->getAirfoilDataDir());
 
     /* Initializing values with data from the aircraft xml */
     data_->readPropulsion(rtIO_->acxml, rtIO_->getEngineDataDir());
diff --git a/systems_design/src/systemsIOData.cpp b/systems_design/src/systemsIOData.cpp
index 5ccde8b96d78005942988e3c55d21bf7e54eeabc..bbad4a8fa15c5f91884e6bda9460bdf2c79dc3c9 100644
--- a/systems_design/src/systemsIOData.cpp
+++ b/systems_design/src/systemsIOData.cpp
@@ -63,18 +63,19 @@ std::string systemsIOData::getMissionFile(std::string mission_data_dir) {
     }
     if (!fileExists(mission_data_dir + "/" + missionFile)) {
         std::stringstream errorMsg;
-        errorMsg << "Mission file \"" << missionFile << "\" for the " << missionType << " does not exist. Please activate switch in createMissionXML. Abort program.";
+        errorMsg << "Mission file \"" << mission_data_dir << "/" << missionFile << "\" for the " << missionType
+                 << " does not exist. Please activate switch in createMissionXML. Abort program.";
         throwError(__FILE__, __func__, __LINE__, errorMsg.str());
     }
     return missionFile;
 }
 
-void systemsIOData::readWing(const node& acxml, const std::string& ioDir) {
+void systemsIOData::readWing(const node& acxml, const std::string& airfoilDir) {
     std::vector<node*> wingVector = acxml.getVector("aircraft_exchange_file/component_design/wing/specific/geometry/aerodynamic_surface");
     std::shared_ptr<node> ACXML = std::make_shared<node>(acxml); // wing factory requires this format
     node aircraftXML = acxml;
     std::shared_ptr<node> AcXML = std::make_shared<node>(aircraftXML);
-    geom2::WingFactory theWingfactory{ACXML, ioDir + "geometryData/airfoilData"}; // wing factory
+    geom2::WingFactory theWingfactory{ACXML, airfoilDir}; // wing factory
     for (size_t i = 0; i < wingVector.size(); i++) {
         Wing newWing;
         newWing.aerodynamicSurface = theWingfactory.create("wing/specific/geometry/aerodynamic_surface@0");
@@ -85,7 +86,7 @@ void systemsIOData::readWing(const node& acxml, const std::string& ioDir) {
         try {
             std::vector<node*> controlDeviceVector =
                 acxml.getVector("aircraft_exchange_file/component_design/wing/specific/geometry/aerodynamic_surface/parameters/control_devices/control_device");
-            geom2::ControlDeviceFactory theControlDevicefactory{ACXML, "./geometryData/airfoilData"}; // control device factory
+            geom2::ControlDeviceFactory theControlDevicefactory{ACXML, airfoilDir}; // control device factory
             for (size_t j = 0; j < controlDeviceVector.size(); j++) {
                 theWing.at(i).controlSurface.push_back(theControlDevicefactory.create("wing/specific/geometry/aerodynamic_surface@" + num2Str(i) +
                                                                             "/control_devices/control_device@" + num2Str(j)));
@@ -111,7 +112,7 @@ void systemsIOData::readWing(const node& acxml, const std::string& ioDir) {
     }
 }
 
-void systemsIOData::readEmpennage(const node& acxml, const std::string& ioDir) {
+void systemsIOData::readEmpennage(const node& acxml, const std::string& airfoilDir) {
     std::vector<node*> empennageVector = acxml.getVector("aircraft_exchange_file/component_design/empennage/specific/geometry/aerodynamic_surface");
     std::shared_ptr<node> ACXML = std::make_shared<node>(acxml); // factory requires this format
     for (size_t i = 0; i < empennageVector.size(); i++) {
@@ -119,7 +120,7 @@ void systemsIOData::readEmpennage(const node& acxml, const std::string& ioDir) {
         myRuntimeInfo->out << "Create: Empennage " << tmp_name << " ..." << std::endl;
         if (tmp_name == "vertical_stabiliser" || tmp_name == "horizontal_stabiliser" ||
             tmp_name == "vertical_stabilizer" || tmp_name == "horizontal_stabilizer") {
-            geom2::WingFactory Finfactory{ACXML, ioDir + "geometryData/airfoilData"};
+            geom2::WingFactory Finfactory{ACXML, airfoilDir};
             Empennage newEmpennage;
             newEmpennage.aerodynamicSurface = Finfactory.create("empennage/specific/geometry/aerodynamic_surface@" + num2Str(i));
             theEmpennage.push_back(newEmpennage);
@@ -131,7 +132,7 @@ void systemsIOData::readEmpennage(const node& acxml, const std::string& ioDir) {
             acxml.getVector("aircraft_exchange_file/component_design/empennage/specific/geometry/aerodynamic_surface@" + num2Str(i) +
                             "/parameters/control_devices");
         for (size_t j = 0; j < EmpennageControlDeviceVector.size(); j++) {
-            geom2::ControlDeviceFactory theControlDevicefactory{ACXML, "./geometryData/airfoilData"}; // control device factory
+            geom2::ControlDeviceFactory theControlDevicefactory{ACXML, airfoilDir}; // control device factory
             theEmpennage.at(i).controlSurface.push_back(theControlDevicefactory.create("empennage/specific/geometry/aerodynamic_surface@" + num2Str(i) +
                                                                            "/control_devices/control_device@" + num2Str(j)));
             theEmpennage.at(i).controlSurface.back().name = acxml.at("aircraft_exchange_file/component_design/empennage/specific/geometry/aerodynamic_surface@" + num2Str(i) +
@@ -144,11 +145,11 @@ void systemsIOData::readEmpennage(const node& acxml, const std::string& ioDir) {
     }
 }
 
-void systemsIOData::readFuselages(const node& acxml, const std::string& ioDir) {
+void systemsIOData::readFuselages(const node& acxml, const std::string& geometryDir) {
     std::shared_ptr<node> ACXML = std::make_shared<node>(acxml); //fuselage factory requires this format
     std::vector<node*> fuselageVector = acxml.getVector("aircraft_exchange_file/component_design/fuselage/specific/geometry/fuselage");
     std::string path_to_fuselage = "aircraft_exchange_file/component_design/fuselage";
-    geom2::FuselageFactory fuselageFactory{ACXML, ioDir + "geometryData"};
+    geom2::FuselageFactory fuselageFactory{ACXML, geometryDir};
     for (size_t i(0); i < fuselageVector.size(); ++i) {
         theFuselage.push_back(fuselageFactory.create("fuselage/specific/geometry/fuselage@" + num2Str(i)));
         myRuntimeInfo->out << "Create: " << theFuselage.at(i).name << " ..." << std::endl;
@@ -158,10 +159,10 @@ void systemsIOData::readFuselages(const node& acxml, const std::string& ioDir) {
     }
 }
 
-void systemsIOData::readNacelles(const node& acxml, const std::string& ioDir) {
+void systemsIOData::readNacelles(const node& acxml, const std::string& geometryDir) {
     std::shared_ptr<node> ACXML = std::make_shared<node>(acxml); // hull factory requires this format
     std::vector<node*> propulsorVector = acxml.getVector("aircraft_exchange_file/requirements_and_specifications/design_specification/propulsion/propulsor/");
-    geom2::HullFactory nacelleFactory(ACXML, ioDir + "geometryData");
+    geom2::HullFactory nacelleFactory(ACXML, geometryDir);
     for (size_t j(0); j < propulsorVector.size(); j++) {
         std::vector<node*> nacelleVector = acxml.getVector("aircraft_exchange_file/component_design/propulsion/specific/propulsion@" + num2Str(j)
                                                             + "/nacelle");
diff --git a/systems_design/src/systemsIOData.h b/systems_design/src/systemsIOData.h
index 799dbba2325ce51a0400ba1a461aa768f659e7d3..6f833006c95f5d32909b4139a3c93fc60b4f3fca 100644
--- a/systems_design/src/systemsIOData.h
+++ b/systems_design/src/systemsIOData.h
@@ -206,36 +206,36 @@ class systemsIOData {
      * \brief Reads all wing surface geometry and the wings control surfaces and spars from
      * the acxml.
      * \param acxml aircraft xml
-     * \param ioDir IO directory (needed for geometry files)
+     * \param airfoilDir airfoil directory
      * \return void
      */
-    void readWing(const node& acxml, const std::string& ioDir);
+    void readWing(const node& acxml, const std::string& airfoilDir);
 
     /**
      * \brief Reads all empennage surfaces and their control devices from the acxml.
      * \note current implementation checks for fin and horizontal tail since aircraft systems
      * do not yet have methods for v-tail or other unconventional tails.
      * \param acxml aircraft xml
-     * \param ioDir IO directory (needed for geometry files)
+     * \param airfoilDir airfoil directory
      * \return void
      */
-    void readEmpennage(const node& acxml, const std::string& ioDir);
+    void readEmpennage(const node& acxml, const std::string& airfoilDir);
 
     /**
      * \brief Reads all fuselages from the acxml.
      * \param acxml aircraft xml
-     * \param ioDir IO directory (needed for geometry files)
+     * \param geometryDir geometry directory (needed for geometry files)
      * \return void
      */
-    void readFuselages(const node& acxml, const std::string& ioDir);
+    void readFuselages(const node& acxml, const std::string& geometryDir);
 
     /**
      * \brief Reads all nacelles from acxml (for all propulsors)
      * \param acxml aircraft xml
-     * \param ioDir IO directory (needed for geometry files)
+     * \param geometryDir geometry directory (needed for geometry files)
      * \return void
      */
-    void readNacelles(const node& acxml, const std::string& ioDir);
+    void readNacelles(const node& acxml, const std::string& geometryDir);
 
     /**
      * \brief Reads strut length and landing gear name of each gear from the acxml.
diff --git a/tank_design/src/tube_and_wing/empirical/tank_design_tu_berlin/general/tankdesigntuberlin.py b/tank_design/src/tube_and_wing/empirical/tank_design_tu_berlin/general/tankdesigntuberlin.py
index 9ed9201281e6fbe07c32708bf7018dfc05198954..01485ca847ffd81aaf8cd0a251f92a565cdcec32 100644
--- a/tank_design/src/tube_and_wing/empirical/tank_design_tu_berlin/general/tankdesigntuberlin.py
+++ b/tank_design/src/tube_and_wing/empirical/tank_design_tu_berlin/general/tankdesigntuberlin.py
@@ -36,7 +36,7 @@ def tank_design_tu_berlin(paths_and_names, routing_dict, dict_ac_data, runtime_o
     """
     """ Extract aerodynamic surfaces values using the aircraftGeometry2 library."""
     # Create the factory
-    airfoil_data_dir = f'{paths_and_names["project_directory"]}/geometryData/airfoilData'
+    airfoil_data_dir = f'{paths_and_names["project_directory"]}/geometry_data/airfoil_data'
     aircraft_exchange_file = aixml.openDocument(paths_and_names['path_to_aircraft_exchange_file'])
     factory = geom2.factory.WingFactory(aircraft_exchange_file, airfoil_data_dir)
     # Create the surface