diff --git a/missions/2021_Lynx_Portugal_October/config/environmentConfig.m b/missions/2021_Lynx_Portugal_October/config/environmentConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..4ca1bbf901b857b463b1e33b408e7157a905de8a
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/config/environmentConfig.m
@@ -0,0 +1,19 @@
+% CONFIG - This script sets up parameters for the environment
+%
+% Use this file to write launch data, independent from the rocket itself
+
+environment = Environment();
+
+environment.lat0 = 39.388727;           % [deg] Launchpad latitude
+environment.lon0 = -8.287842;           % [deg] Launchpad longitude
+environment.z0 = 160;                   % [m] Launchpad Altitude
+environment.omega = 85;                 % [deg] Launchpad elevation
+environment.phi = 0;                    % [deg] Launchpad azimuth
+environment.pin1Length = 1.15;        % [m] Distance from the upper pin to the upper tank cap
+environment.pin2Length = [];        % [m] Distance from the lower pin to the lower tank cap  
+environment.rampLength = 12;            % [m] Total launchpad length 
+
+environment.temperature = [];           % [K] Ground temperature correction
+environment.pressure = [];              % [Pa] Ground pressure correction
+environment.rho = [];                   % [Kg/m^3] Gorund air density correction
+environment.gamma = 1.4;                % [-] Gas constant
\ No newline at end of file
diff --git a/missions/2021_Lynx_Portugal_October/config/paraConfig.m b/missions/2021_Lynx_Portugal_October/config/paraConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..e9b8e059fea335b3bdde4ff39a2178c0df3cad12
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/config/paraConfig.m
@@ -0,0 +1,38 @@
+% CONFIG - This script contains information about the parachutes onboard
+% parachute 1
+para(1, 1) = Parachute();
+
+para(1, 1).name = 'DROGUE chute';
+para(1, 1).surface = 0.6;               % [m^2]   Surface
+para(1, 1).mass = 0.2;                    % [kg]   Parachute Mass
+para(1, 1).cd = 0.75;                      % [/] Parachute Drag Coefficient
+para(1, 1).cl = 0;                         % [/] Parachute Lift Coefficient
+para(1, 1).openingTime = 1;                % [s] drogue opening delay
+para(1, 1).finalAltitude = 350;            % [m] Final altitude of the parachute
+para(1, 1).cx = 1.4;                       % [/] Parachute Longitudinal Drag Coefficient
+para(1, 1).chordLength = 1.5;              % [m] Shock Chord Length
+para(1, 1).chordK = 7200;                  % [N/m^2] Shock Chord Elastic Constant
+para(1, 1).chordC = 0;                     % [Ns/m] Shock Chord Dynamic Coefficient
+para(1, 1).m = 1;                          % [m^2/s] Coefficient of the surface vs. time opening model
+para(1, 1).nf = 12;                        % [/] Adimensional Opening Time
+para(1, 1).expulsionSpeed = 5;             % [m/s] Expulsion Speed
+para(1, 1).forceCoefficient = [];         % [-] Empirical coefficient to obtain correct peak force at deployment
+
+% parachute 2
+para(2, 1) = Parachute();
+
+para(2, 1).name = 'MAIN chute';
+para(2, 1).surface = 10.54;                % [m^2]   Surface
+para(2, 1).mass = 1.5;                   % [kg]   Parachute Mass
+para(2, 1).cd = 0.7;                     % [/] Parachute Drag Coefficient
+para(2, 1).cl = 0;                        % [/] Parachute Lift Coefficient
+para(2, 1).openingTime = [];              % [s] drogue opening delay
+para(2, 1).finalAltitude = 0;             % [m] Final altitude of the parachute
+para(2, 1).cx = 1.2;                     % [/] Parachute Longitudinal Drag Coefficient
+para(2, 1).chordLength = 6;               % [m] Shock Chord Length
+para(2, 1).chordK = 3000;                 % [N/m^2] Shock Chord Elastic Constant
+para(2, 1).chordC = 0;                    % [Ns/m] Shock Chord Dynamic Coefficient
+para(2, 1).m = 1;                         % [m^2/s] Coefficient of the surface vs. time opening model
+para(2, 1).nf = 8.7;                      % [/] Adimensional Opening Time
+para(2 ,1).expulsionSpeed = 0;            % [m/s] Expulsion Speed
+para(2, 1).forceCoefficient = [];        % [-] Empirical coefficient to obtain correct peak force at deployment
\ No newline at end of file
diff --git a/missions/2021_Lynx_Portugal_October/config/rocketConfig.m b/missions/2021_Lynx_Portugal_October/config/rocketConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..7f6e832c27ac4b328210b941a6f5904610309359
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/config/rocketConfig.m
@@ -0,0 +1,120 @@
+% CONFIG - This script sets up rocket's parameters
+
+%% ROCKET - OVERRIDES BAYS CONFIG
+rocket = Rocket();
+
+rocket.diameter = 0.15;                                                 % [m]      Rocket diameter
+rocket.massNoMotor = [];                                                % [kg]     OVERRIDE mass without motor
+rocket.inertiaNoMotor = [];                                             % [kg*m^2] OVERRIDE inertia without motor - body axes reference
+rocket.xCgNoMotor = [];                                                 % [m]      OVERRIDE xCg without motor
+rocket.lengthCenterNoMot = [];                                          % [m]      OVERRIDE Center length - no nose, no motor
+
+rocket.diameter = 0.15;                                               % [m]      Rocket diameter
+rocket.massNoMotor = 21.48;                                            % [kg]     OVERRIDE mass without motor
+rocket.inertiaNoMotor = [0.0786; 12.972; 12.972];       % [kg*m^2] OVERRIDE inertia without motor - body axes reference
+% XcgNoMotor = (XcgTot*(MNoMot + Mfull) - mFull*XcgFull)/MNotMot
+rocket.xCgNoMotor = 1.6025;                                             % [m]      OVERRIDE xCg without motor
+rocket.lengthCenterNoMot = 1.7640;                                     % [m]      OVERRIDE Center length - no nose, no motor
+
+%% PLD - Includes Payload + Nose
+payload = Payload();
+
+% !!!!!
+payload.length = 0.31;                                         % [m] Total bay length
+payload.mass = 0;                                                   % [kg] Total bay mass
+payload.inertia = zeros(3,1);                % [kg*m^2] Total bay inertia (Body reference)
+payload.xCg = 0;                                            % [m] Cg relative to bay upper side
+% !!!!!
+
+payload.noseLength = 0.26;                                              % [m] Nosecone length
+payload.noseType = 'KARMAN';                                            % [-] Nosecone shape
+payload.nosePower = 0;                                                % [-] Nosecone power type parameter
+payload.nosePMod = 0;                                        % [-] P coefficient for modified nosecone shapes
+payload.noseCMod = 0;                                        % [-] C coefficient for modified nosecone shapes
+
+%% RCS
+recovery = Recovery();
+
+% !!!!!
+recovery.length = 0;                                        % [m] Total bay length
+recovery.mass = 0;                                               % [kg] Total bay mass
+recovery.inertia = zeros(3,1);            % [kg*m^2] Total bay inertia (Body reference)
+recovery.xCg = 0;                                        % [m] Cg relative to bay upper side
+% !!!!!
+
+%% ELC
+electronics = Electronics();
+
+% !!!!!
+electronics.length = 0;                                   % [m] Total bay length
+electronics.mass = 0;                                            % [kg] Total bay mass
+electronics.inertia = zeros(3,1);            % [kg*m^2] Total bay inertia (Body reference)
+electronics.xCg = 0;                                     % [m] Cg relative to bay upper side
+% !!!!!
+
+%% ARB
+airbrakes = Airbrakes();
+
+% !!!!!
+airbrakes.length = 0;                                      % [m] Total bay length
+airbrakes.mass = 0;                                              % [kg] Total bay mass
+airbrakes.inertia = zeros(3,1);                % [kg*m^2] Total bay inertia (Body reference)
+airbrakes.xCg = 0;                                        % [m] Cg relative to bay upper side% !!!!!
+% !!!!!
+
+airbrakes.enabled = true;                                  % If true, multiple and smooth airbrakes opening will be simulated
+airbrakes.extension = [1];                                 % aerobrakes, 1-2-3 for 0%, 50% or 100% opened
+airbrakes.deltaTime = [0];                                 % aerobrakes, configurations usage time
+
+airbrakes.n = 3;                                           % [-] number of brakes
+airbrakes.height = linspace(0, 0.0373, 3);                 % [m] Block airbrakes opening coordinate ( First entry must be 0! )
+airbrakes.angleFunction = ...
+    @(x) 1*x^4 + 2*x^3 + 3*x^2 + 4*x;                      % [-] Relation between angle and extension height
+airbrakes.width = 0.088;                                   % [m] brakes width (normal)
+airbrakes.thickness = 0.005;                               % [m] brakes thickness
+airbrakes.xDistance = 1.44;                               % [m] axial position from nosecone base
+
+airbrakes.maxMach = 0.8;                                   % [-] Maximum Mach at which airbrakes can be used
+airbrakes.servoOmega = 150*pi/180;                         % [rad/s] Servo-motor angular velocity
+
+%% MOTOR
+motor = Motor();
+                                     
+motor.name = 'M2000RPortugal';                                            % [-] Motor name
+motor.cutoffTime = inf;                                             % [s] OVERRIDE Cutoff time
+motor.ignitionTransient = [];                                       % [s] Ignition transient
+motor.cutoffTransient = [];                                         % [s] Cut-off transient
+
+%% REAR - Includes Fincan + Boat
+rear = Rear();
+
+% !!!!!
+rear.position = 0;                                               % [m] offset from
+rear.length = 0;                                            % [m] Total bay length
+rear.mass = 0;                                                   % [kg] Total bay mass
+rear.inertia = zeros(3,1);                  % [kg*m^2] Total bay inertia (Body reference)
+rear.xCg = 0;                                                                                               % [m] Cg relative to bay upper side
+% !!!!!
+
+rear.boatType = '';                                                 % [-] Boat type
+rear.boatLength = 0;                                             % [m] Boat length
+rear.boatFinalDiameter = 0;                                      % [m] Boat end diameter
+
+rear.finsRootChord = 0.345;                                            % [m] attached chord length
+rear.finsFreeChord = 0.12;                                           % [m] free chord length
+rear.finsHeight = 0.117;                                              % [m] fin height
+rear.finsDeltaXFreeChord = 0.225;                                     % [m] start of Chord 2 measured from start of Chord 1
+rear.nPanel = 3;                                                     % [m] number of fins
+rear.finsLeadingEdgeRadius = [0 0];                                  % [deg] Leading edge radius at each span station
+rear.finsAxialDistance = 0.008;                                     % [m] distance between end of root chord and end of center body
+rear.finsSemiThickness = 0.0015;                                    % [m] fin semi-thickness
+rear.finsMaxThicknessPosition = 0.0015;                             % [m] Fraction of chord from leading edge to max thickness
+
+%% PITOT
+pitot = Pitot();
+
+pitot.length = [];                                                   % [m] Pitot tube length
+pitot.initialConeLength = [];                                        % [m] Pitot initial conic section length
+pitot.finalConeLength = [];                                          % [m] Pitot final conic section length
+pitot.initialConeDiameter = [];                                      % [m] Pitot initial conic section diameter
+pitot.finalConeDiameter = [];                                        % [m] Pitot final conic section diameter
\ No newline at end of file
diff --git a/missions/2021_Lynx_Portugal_October/config/windConfig.m b/missions/2021_Lynx_Portugal_October/config/windConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..bba16a9731f7f0c525dddd433e9f54aaba975d08
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/config/windConfig.m
@@ -0,0 +1,29 @@
+% CONFIG - This script sets up wind direction and magnitude based on
+% altitudes
+%
+% Wind azimuth angle indications - Wind directed from <angle>
+% 0 deg (use 360 instead of 0)  -> North
+% 90 deg                        -> East
+% 180 deg                       -> South
+% 270 deg                       -> West
+
+%% CUSTOM WIND MODEL
+
+windCustom = WindCustom();
+
+windCustom.altitudes = [0 200 2000];                    % [m] Altitudes at which a distribution change occurs
+windCustom.magnitudeDistribution = ["u", "u", "u"];     % [-] Distribution type: "u" - uniform, "g" - gaussian
+windCustom.magnitudeParameters = [7 2 10;               % [m/s] Distribution parameters: "u" - [min; max], "g" - [mu; sigma]
+                            7 2 10];
+windCustom.azimuthDistribution = ["u", "u", "u"];       % [-] Distribution type: "u" - uniform, "g" - gaussian
+windCustom.azimuthParameters = 0*pi/180 * ones(2,3);    % [deg] Distribution parameters: "u" - [min; max], "g" - [mu; sigma]
+
+%% MATLAB WIND MODEL
+
+windMatlab = WindMatlab();
+
+windMatlab.DayMin = 105;                                % [d] Minimum Day of the launch
+windMatlab.DayMax = 105;                                % [d] Maximum Day of the launch
+windMatlab.HourMin = 4;                                 % [h] Minimum Hour of the day
+windMatlab.HourMax = 4;                                 % [h] Maximum Hour of the day
+windMatlab.ww = 0;          
\ No newline at end of file
diff --git a/missions/2021_Lynx_Portugal_October/data/CAinterpCoeffs.mat b/missions/2021_Lynx_Portugal_October/data/CAinterpCoeffs.mat
new file mode 100644
index 0000000000000000000000000000000000000000..a26bd8866fb67fab03e445755d017df3cdaf2a4b
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/data/CAinterpCoeffs.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:21137cc18443b280a2b7cc9a96c190ca9a0dd106f5c1cf07fd20143f56504e74
+size 1152
diff --git a/missions/2021_Lynx_Portugal_October/data/aeroCoefficients.mat b/missions/2021_Lynx_Portugal_October/data/aeroCoefficients.mat
new file mode 100644
index 0000000000000000000000000000000000000000..388600ff8f8c6f749ee21b783d6caccce515d7f2
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/data/aeroCoefficients.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:62459531effcbaad75fa3c3ecb546c2bfba17bfa3e8483474f8764a270610d07
+size 24232774
diff --git a/missions/2021_Lynx_Portugal_October/data/aeroCoefficientsHighAOA.mat b/missions/2021_Lynx_Portugal_October/data/aeroCoefficientsHighAOA.mat
new file mode 100644
index 0000000000000000000000000000000000000000..6ae4584be8ccceb445002d2ed77828187225e42f
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/data/aeroCoefficientsHighAOA.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a831c348727461d227ac93c5cb4107bcbdfada839645be87ded6e3235b4ebfc0
+size 5776383
diff --git a/missions/2021_Lynx_Portugal_October/data/motors.mat b/missions/2021_Lynx_Portugal_October/data/motors.mat
new file mode 100644
index 0000000000000000000000000000000000000000..4a065a19b6ced75901d20e1138e2054cea75af24
--- /dev/null
+++ b/missions/2021_Lynx_Portugal_October/data/motors.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:96b0b55e9f5c34dbefcec53fef37904c90f9ad033454bd085b0867f94791789f
+size 233326
diff --git a/missions/conversion.m b/missions/conversion.m
index 399074c88f711cacbe1e9b8008f6032bae3415fc..48033f1e7101c2c8731131dedb4da13b444dd7c3 100644
--- a/missions/conversion.m
+++ b/missions/conversion.m
@@ -1,13 +1,13 @@
 % conversion from full, empty to total
 clc 
-iMotor = 406;
+iMotor = 484;
 settings.motor.expTime = motors(iMotor).t;
 settings.motor.expThrust = motors(iMotor).T;
 settings.motor.expM = motors(iMotor).m;
 settings.mp = motors(iMotor).mp;                  % [kg]   Propellant Mass
 settings.tb = motors(iMotor).t(end) ;             % [s]    Burning time
 settings.mc = motors(iMotor).mc;
-settings.mNoMot = 17.85;
+settings.mNoMot = 17.94;
 settings.ms = settings.mNoMot + settings.mc;               % [kg]   Structural Mass
 settings.m0 = settings.ms + settings.mp;          % [kg]   Total Mass
 settings.mnc = 0;
@@ -16,11 +16,11 @@ settings.Lmot = motors(iMotor).L/1000;
 mNoMot = settings.ms
 mProp = settings.m0 - settings.mNoMot;
 
-settings.xcg = [1.05, 0.98];   
-xcgTot = 1.05;
-xcgEmpty = 0.98;
+settings.xcg = [1.24, 1.084];   
+xcgTot = 1.24;
+xcgEmpty = 1.084;
 
-settings.Lcenter = 2.270;
+settings.Lcenter = 2.496;
 settings.boatL = 0.0;
 LcenterNoMot = settings.Lcenter - settings.Lmot - settings.boatL