diff --git a/missions/2024_Lyra_Portugal_October/config/rocketConfig.m b/missions/2024_Lyra_Portugal_October/config/rocketConfig.m
index cc61485e26c83f236486dd7cfd044237456aa56b..6bc8bb289b77386b83d9899382fae46e4855e16b 100644
--- a/missions/2024_Lyra_Portugal_October/config/rocketConfig.m
+++ b/missions/2024_Lyra_Portugal_October/config/rocketConfig.m
@@ -51,7 +51,7 @@ airbrakes.xCg = 30.54 * 1e-3;                                        % [m] Cg re
 
 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.deltaTime = [0.5];                               % aerobrakes, configurations usage time
 
 airbrakes.n = 3;                                           % [-] number of brakes
 airbrakes.height = linspace(0, 0.0363, 3);                 % [m] Block airbrakes opening coordinate ( First entry must be 0! )
diff --git a/missions/2025_Orion_Portugal_October/config/environmentConfig.m b/missions/2025_Orion_Portugal_October/config/environmentConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..78a48f9be3b82c77948133bfe4a8f6629bd2d180
--- /dev/null
+++ b/missions/2025_Orion_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 = 133;                  % [deg] Launchpad azimuth
+environment.pin1Length = 0.5603;        % [m] Distance from the upper pin to the upper tank cap
+environment.pin2Length = 0.2055;        % [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/2025_Orion_Portugal_October/config/paraConfig.m b/missions/2025_Orion_Portugal_October/config/paraConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..aa0a50ac796b31cba74b8cfdbbfc0fab3bea103d
--- /dev/null
+++ b/missions/2025_Orion_Portugal_October/config/paraConfig.m
@@ -0,0 +1,96 @@
+% 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.25;                    % [kg]   Parachute Mass
+para(1, 1).cd = 0.75;                      % [/] Parachute Drag Coefficient
+para(1, 1).cl = 0;                         % [/] Parachute Lift Coefficient
+para(1, 1).openingTime = 0.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 = 1.8;         % [-] 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 = 14;                  % [m^2]   Surface
+para(2, 1).mass = 1.5;                   % [kg]   Parachute Mass
+para(2, 1).cd = 0.6;                      % [/] Parachute Drag Coefficient
+para(2, 1).cl = 0;                        % [/] Parachute Lift Coefficient
+para(2, 1).openingTime = 0.9;             % [s] drogue opening delay
+para(2, 1).finalAltitude = 0;             % [m] Final altitude of the parachute
+para(2, 1).cx = 1.15;                     % [/] 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 = 2.2;         % [-] Empirical coefficient to obtain correct peak force at deployment
+
+%% PAYLOAD CHUTES
+% parachute 1
+para(1, 2) = Parachute();
+
+para(1, 2).name = "Payload DROGUE";
+para(1, 2).surface = 0.11;                % [m^2]   Surface
+para(1, 2).mass = 0.1;                   % [kg]   Parachute Mass
+para(1, 2).cd = 1.2;                      % [/] Parachute Drag Coefficient
+para(1, 2).cl = 0;                        % [/] Parachute Lift Coefficient
+para(1, 2).openingTime = 1;              % [s] drogue opening delay
+para(1, 2).finalAltitude = 450;           % [m] Final altitude of the parachute
+para(1, 2).cx = 1.4;                      % [/] Parachute Longitudinal Drag Coefficient
+para(1, 2).chordLength = 1.5;             % [m] Shock Chord Length
+para(1, 2).chordK = 7200;                 % [N/m^2] Shock Chord Elastic Constant
+para(1, 2).chordC = 0;                    % [Ns/m] Shock Chord Dynamic Coefficient
+para(1, 2).m = 1;                         % [m^2/s] Coefficient of the surface vs. time opening model
+para(1, 2).nf = 12;                       % [/] Adimensional Opening Time
+para(1, 2).expulsionSpeed = 10;           % [m/s] Expulsion Speed
+para(1, 2).forceCoefficient = 0;           % [-] Empirical coefficient to obtain correct peak force at deployment
+
+% parachute 2
+para(2, 2) = Parafoil();
+
+para(2, 2).name = "Payload AIRFOIL";
+para(2, 2).mass = 0.40;                   % [kg]   Parafoil Mass
+para(2, 2).openingTime = 0;              % [s] Parafoil opening delay
+
+para(2, 2).surface = 0.11;                % [m^2]   Surface
+para(2, 2).deltaSMax =  0.1;                       % max value
+
+para(2, 2).semiWingSpan  = 2.55/2;                % [m]   settings.para(2, 2).b: semiwingspan  - vela nuova: 2.55/2; - vela vecchia: 2.06/2;
+para(2, 2).MAC           = 0.8;                  % [m]   mean aero chord
+para(2, 2).surface       = 2.04;                  % [m^2] parafoil surface - vela nuova 2.04; - vela vecchia: 1.64;
+para(2, 2).inertia       = [0.42, 0,   0.03;
+                            0,    0.4,    0; 
+                            0.03, 0, 0.053];  % [kg m^2] [3x3] inertia matrix parafoil
+
+para(2, 2).finalAltitude = 0;
+
+para(2, 2).cd0           =  0.25; 
+para(2, 2).cdAlpha       =  0.12;
+para(2, 2).cdSurface      =  0.01;
+
+para(2, 2).cl0           =  0.091;
+para(2, 2).clAlpha       =  0.9;
+para(2, 2).clSurface      = -0.0035;
+
+para(2, 2).cLP           = -0.84;
+para(2, 2).cLPhi         = -0.1;
+para(2, 2).cLSurface      = -0.0035;
+
+para(2, 2).cM0           =  0.35; 
+para(2, 2).cMAlpha       = -0.72;
+para(2, 2).cMQ           = -1.49;
+
+para(2, 2).cNR           = -0.27;
+para(2, 2).cNSurface      =  0.0115;
\ No newline at end of file
diff --git a/missions/2025_Orion_Portugal_October/config/rocketConfig.m b/missions/2025_Orion_Portugal_October/config/rocketConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..7a1c447354e008038928afde85dd6dbd2ea4cea8
--- /dev/null
+++ b/missions/2025_Orion_Portugal_October/config/rocketConfig.m
@@ -0,0 +1,157 @@
+% 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
+
+%% PLD - Includes Payload + Nose
+payload = Payload();
+
+payload.length = 647.25 * 1e-3;                                         % [m] Total bay length
+payload.mass = 4.401;                                                   % [kg] Total bay mass
+payload.inertia = 1e-9*[12531966; 109986813; 109930516];                % [kg*m^2] Total bay inertia (Body reference)
+payload.xCg = 487.78 * 1e-3;                                            % [m] Cg relative to bay upper side
+
+payload.noseLength = 0.32;                                              % [m] Nosecone length
+payload.noseType = 'MHAACK';                                            % [-] Nosecone shape
+payload.nosePower = 3/4;                                                % [-] Nosecone power type parameter
+payload.nosePMod = 1.250152e+00;                                        % [-] P coefficient for modified nosecone shapes
+payload.noseCMod = 1.799127e-01;                                        % [-] C coefficient for modified nosecone shapes
+
+%% RCS
+recovery = Recovery();
+
+recovery.length = 826 * 1e-3;                                        % [m] Total bay length
+recovery.mass = 4.261;                                               % [kg] Total bay mass
+recovery.inertia = 1e-9*[13831051; 269596803; 269645059];            % [kg*m^2] Total bay inertia (Body reference)
+recovery.xCg = 500.38 * 1e-3;                                        % [m] Cg relative to bay upper side
+
+%% ELC
+electronics = Electronics();
+
+electronics.length = 433.5 * 1e-3;                                   % [m] Total bay length
+electronics.mass = 2.551;                                            % [kg] Total bay mass
+electronics.inertia = 1e-9*[9358415; 49265825; 48770607];            % [kg*m^2] Total bay inertia (Body reference)
+electronics.xCg = 229.9 * 1e-3;                                     % [m] Cg relative to bay upper side
+
+%% ARB
+airbrakes = Airbrakes();
+
+airbrakes.identification = false;                           % Control parameter for airbrakes - GNC
+
+airbrakes.length = 54.8 * 1e-3;                                      % [m] Total bay length
+airbrakes.mass = 0.936;                                              % [kg] Total bay mass
+airbrakes.inertia = 1e-9*[3086650; 1931082; 1889047];                % [kg*m^2] Total bay inertia (Body reference)
+airbrakes.xCg = 30.54 * 1e-3;                                        % [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.5];                               % aerobrakes, configurations usage time
+
+airbrakes.n = 3;                                           % [-] number of brakes
+airbrakes.height = linspace(0, 0.0363, 3);                 % [m] Block airbrakes opening coordinate ( First entry must be 0! )
+airbrakes.angleFunction = ...
+    @(x) -0.009083*x^4 + 0.02473*x^3 + ...
+    -0.01677*x^2 + 0.03129*x;                              % [-] Relation between angle and extension height
+airbrakes.width = 0.1002754821;                            % [m] brakes width (normal)
+airbrakes.thickness = 0.008;                               % [m] brakes thickness
+airbrakes.xDistance = 1.517;                               % [m] axial position from nosecone base
+
+airbrakes.maxMach = 0.8;                                   % [-] Maximum Mach at which airbrakes can be used
+airbrakes.servoOmega = 300*pi/180;                         % [rad/s] Servo-motor angular velocity
+airbrakes.servoTau = 0.0374588;
+
+%% MOTOR
+motor = Motor();
+
+% motor.name = 'HRE_ARM_P_40_T015_T03';
+% motor.name = 'HRE_ARM_P_41_T015_T03';
+% motor.name = 'HRE_ARM_P_42_T015_T03';
+% motor.name = 'HRE_ARM_P_43_T015_T03';
+% motor.name = 'HRE_ARM_P_44_T015_T03';
+% motor.name = 'HRE_ARM_P_45_T015_T03';
+% motor.name = 'HRE_ARM_P_46_T015_T03';
+% motor.name = 'HRE_ARM_P_47_T015_T03';
+% motor.name = 'HRE_ARM_P_48_T015_T03';
+% motor.name = 'HRE_ARM_P_49_T015_T03';
+% motor.name = 'HRE_ARM_P_50_T015_T03';
+% motor.name = 'HRE_ARM_P_52_T015_T03';
+% motor.name = 'HRE_ARM_P_53_T015_T03';
+% motor.name = 'HRE_ARM_P_54_T015_T03';
+% motor.name = 'HRE_ARM_P_55_T015_T03';
+% motor.name = 'HRE_ARM_P_56_T015_T03';
+% motor.name = 'HRE_ARM_P_58_T015_T03';
+% motor.name = 'HRE_ARM_P_59_T015_T03';
+% motor.name = 'HRE_ARM_P_60_T015_T03';
+% motor.name = 'HRE_ARM_P_62_T015_T03';
+% motor.name = 'HRE_ARM_P_63_T015_T03';
+% motor.name = 'HRE_ARM_P_64_T015_T03';
+% motor.name = 'HRE_ARM_P_66_T015_T03';
+% motor.name = 'HRE_ARM_P_67_T015_T03';
+% 
+% motor.name = 'HRE_ARM_P_40_T030_T03';
+motor.name = 'HRE_ARM_P_41_T030_T03';
+% motor.name = 'HRE_ARM_P_42_T030_T03';
+% motor.name = 'HRE_ARM_P_43_T030_T03';
+% motor.name = 'HRE_ARM_P_44_T030_T03';
+% motor.name = 'HRE_ARM_P_45_T030_T03';
+% motor.name = 'HRE_ARM_P_46_T030_T03';
+% motor.name = 'HRE_ARM_P_47_T030_T03';
+% motor.name = 'HRE_ARM_P_48_T030_T03';
+% motor.name = 'HRE_ARM_P_49_T030_T03';
+% motor.name = 'HRE_ARM_P_50_T030_T03';
+% motor.name = 'HRE_ARM_P_52_T030_T03';
+% motor.name = 'HRE_ARM_P_53_T030_T03';
+% motor.name = 'HRE_ARM_P_54_T030_T03';
+% motor.name = 'HRE_ARM_P_55_T030_T03';
+% motor.name = 'HRE_ARM_P_56_T030_T03';
+% motor.name = 'HRE_ARM_P_58_T030_T03';
+% motor.name = 'HRE_ARM_P_59_T030_T03';
+% motor.name = 'HRE_ARM_P_60_T030_T03';
+% motor.name = 'HRE_ARM_P_62_T030_T03';
+% motor.name = 'HRE_ARM_P_63_T030_T03';
+% motor.name = 'HRE_ARM_P_64_T030_T03';
+% motor.name = 'HRE_ARM_P_66_T030_T03';
+% motor.name = 'HRE_ARM_P_67_T030_T03';
+
+motor.cutoffTime = [];                                               % [s] OVERRIDE Cutoff time
+motor.ignitionTransient = 0.3;                                       % [s] Ignition transient
+motor.cutoffTransient = 0.3;                                         % [s] Cut-off transient
+
+%% REAR - Includes Fincan + Boat
+rear = Rear();
+
+rear.position = 1.090;                                               % [m] offset from
+rear.length = 547 * 1e-3;                                            % [m] Total bay length
+rear.mass = 1.623;                                                   % [kg] Total bay mass
+rear.inertia = 1e-9*[13074201; 44271226; 44270124];                  % [kg*m^2] Total bay inertia (Body reference)
+rear.xCg = 253.77 * 1e-3;                                                                                               % [m] Cg relative to bay upper side
+
+rear.boatType = 'OGIVE';                                             % [-] Boat type
+rear.boatLength = 0.114;                                             % [m] Boat length
+rear.boatFinalDiameter = 0.125;                                      % [m] Boat end diameter
+
+rear.finsRootChord = 0.3;                                            % [m] attached chord length
+rear.finsFreeChord = 0.12;                                           % [m] free chord length
+rear.finsHeight = 0.13;                                              % [m] fin height
+rear.finsDeltaXFreeChord = 0.13;                                     % [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.044;                                     % [m] distance between end of root chord and end of center body
+rear.finsSemiThickness = 0.00175;                                    % [m] fin semi-thickness
+rear.finsMaxThicknessPosition = 0.00175;                             % [m] Fraction of chord from leading edge to max thickness
+
+%% PITOT
+pitot = Pitot();
+
+pitot.diameter = [];                                                 % [m] Pitot tube diameter
+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/2025_Orion_Portugal_October/config/windConfig.m b/missions/2025_Orion_Portugal_October/config/windConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..32bd11ee5e83b92402b84277be0e5e943e2dca34
--- /dev/null
+++ b/missions/2025_Orion_Portugal_October/config/windConfig.m
@@ -0,0 +1,35 @@
+% 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 140 500 1000 1500 2000 2500 3000 3500 4000];                    % [m] Altitudes at which a distribution change occurs
+windCustom.magnitudeDistribution = ["u", "g", "g", "g", "g", "g", "g", "g", "g", "g"];     % [-] Distribution type: "u" - uniform, "g" - gaussian
+windCustom.magnitudeParameters = [0 7 12 13 13 14 14 15 15 15; 
+                                  8.7 1.5 3 3 3 3 3 3 3 3];               % [m/s] Distribution parameters: "u" - [min; max], "g" - [mu; sigma]
+windCustom.azimuthDistribution = ["u", "u", "u", "u", "u", "u", "u", "u", "u", "u"];       % [-] Distribution type: "u" - uniform, "g" - gaussian
+windCustom.azimuthParameters = [270 270 270 280 270 260 260 240 240 240; 
+                                290 290 290 300 290 280 280 280 280 280]*pi/180;    % [deg] Distribution parameters: "u" - [min; max], "g" - [mu; sigma]
+
+% windCustom.altitudes = [0 4500];
+% windCustom.magnitudeDistribution = ["u", "u"];
+% windCustom.magnitudeParameters = [0 0; 15 15];
+% windCustom.azimuthDistribution = ["u", "u"];
+% windCustom.azimuthParameters = [0 0; 359 359];
+%% 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;                                      % [m/s] Vertical wind speed
\ No newline at end of file
diff --git a/missions/2025_Orion_Portugal_October/data/aeroCoefficients.mat b/missions/2025_Orion_Portugal_October/data/aeroCoefficients.mat
new file mode 100644
index 0000000000000000000000000000000000000000..b52e8c2b1853ed3887d974e8c48d4fcdfa1e5d76
--- /dev/null
+++ b/missions/2025_Orion_Portugal_October/data/aeroCoefficients.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:794e0b7e6a1809b920bd67c72e84fab131be8b3069e52a05f2373059f73c5847
+size 44345906
diff --git a/missions/2025_Orion_Portugal_October/data/aeroCoefficientsHighAOA.mat b/missions/2025_Orion_Portugal_October/data/aeroCoefficientsHighAOA.mat
new file mode 100644
index 0000000000000000000000000000000000000000..40d2ddc17ca812d5846a58923b4ffeb085934e93
--- /dev/null
+++ b/missions/2025_Orion_Portugal_October/data/aeroCoefficientsHighAOA.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d27c66f66d63999ffd64693669178d5c8d2c742df5b10dd63388bd553e037d07
+size 5779240
diff --git a/missions/2025_Orion_Portugal_October/data/motors.mat b/missions/2025_Orion_Portugal_October/data/motors.mat
new file mode 100644
index 0000000000000000000000000000000000000000..abfa44c30b78215f9b6a523bb143fd68956feebc
--- /dev/null
+++ b/missions/2025_Orion_Portugal_October/data/motors.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f868aaf8fd1023761e62dd14f49ac06e03c4c6b0531c77c74f4ef5c3af0edfaf
+size 231082
diff --git a/missions/2025_Orion_Portugal_October/data/satelliteData.mat b/missions/2025_Orion_Portugal_October/data/satelliteData.mat
new file mode 100644
index 0000000000000000000000000000000000000000..cc4ab62aad6f3f4ab50fa1a3b621d21216f9271f
--- /dev/null
+++ b/missions/2025_Orion_Portugal_October/data/satelliteData.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e397bc4e9d60eaab3cfcd65adaef7cf5ca31f6e18455abe2d0456fbe22d347cd
+size 197
diff --git a/missions/2025_Orion_Portugal_October/data/satelliteMap.tif b/missions/2025_Orion_Portugal_October/data/satelliteMap.tif
new file mode 100644
index 0000000000000000000000000000000000000000..3cf6d60a0e5c7997d98eacaf5cf84a50ed9e949d
Binary files /dev/null and b/missions/2025_Orion_Portugal_October/data/satelliteMap.tif differ
diff --git a/missions/2025_Orion_Roccaraso_Settember/config/environmentConfig.m b/missions/2025_Orion_Roccaraso_Settember/config/environmentConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..c028315ed9d95392e7af87cc36456fffc11f562c
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/config/environmentConfig.m
@@ -0,0 +1,18 @@
+% 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 = 41.8084579;          % [deg] Launchpad latitude
+environment.lon0 = 14.0546408;          % [deg] Launchpad longitude
+environment.z0 = 1414;                  % [m] Launchpad Altitude
+environment.omega = 83;                 % [deg] Launchpad Elevation
+environment.phi = 165;                  % [deg] Launchpad Azimuth
+environment.pin1Length = 0.5603;        % [m] Distance from the upper pin to the upper tank cap
+environment.pin2Length = 0.2055;        % [m] Distance from the lower pin to the lower tank cap  
+environment.rampLength = 10;            % [m] Total launchpad length 
+
+environment.temperature = [];           % [deg] Ground temperature correction
+environment.pressure = [];              % [Pa] Ground pressure correction
+environment.rho = [];                   % [Kg/m^3] Gorund air density correction
\ No newline at end of file
diff --git a/missions/2025_Orion_Roccaraso_Settember/config/paraConfig.m b/missions/2025_Orion_Roccaraso_Settember/config/paraConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..80f10dae397f28bea09650adb0ab541f5f1d2090
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/config/paraConfig.m
@@ -0,0 +1,97 @@
+% CONFIG - This script contains information about the parachutes onboard
+%% MAIN CHUTES
+% 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.25;                    % [kg]   Parachute Mass
+% para(1, 1).cd = 0.75;                      % [/] Parachute Drag Coefficient
+% para(1, 1).cl = 0;                         % [/] Parachute Lift Coefficient
+% para(1, 1).openingTime = 0.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 = 1.8;         % [-] 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 = 14;                  % [m^2]   Surface
+para(2, 1).mass = 1.5;                   % [kg]   Parachute Mass
+para(2, 1).cd = 0.6;                      % [/] Parachute Drag Coefficient
+para(2, 1).cl = 0;                        % [/] Parachute Lift Coefficient
+para(2, 1).openingTime = 0.9;             % [s] drogue opening delay
+para(2, 1).finalAltitude = 0;             % [m] Final altitude of the parachute
+para(2, 1).cx = 1.15;                     % [/] 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 = 2.2;         % [-] Empirical coefficient to obtain correct peak force at deployment
+
+%% PAYLOAD CHUTES
+% parachute 1
+para(1, 2) = Parachute();
+
+para(1, 2).name = "Payload DROGUE";
+para(1, 2).surface = 0.11;                % [m^2]   Surface
+para(1, 2).mass = 0.1;                   % [kg]   Parachute Mass
+para(1, 2).cd = 1.2;                      % [/] Parachute Drag Coefficient
+para(1, 2).cl = 0;                        % [/] Parachute Lift Coefficient
+para(1, 2).openingTime = 1;              % [s] drogue opening delay
+para(1, 2).finalAltitude = 450;           % [m] Final altitude of the parachute
+para(1, 2).cx = 1.4;                      % [/] Parachute Longitudinal Drag Coefficient
+para(1, 2).chordLength = 1.5;             % [m] Shock Chord Length
+para(1, 2).chordK = 7200;                 % [N/m^2] Shock Chord Elastic Constant
+para(1, 2).chordC = 0;                    % [Ns/m] Shock Chord Dynamic Coefficient
+para(1, 2).m = 1;                         % [m^2/s] Coefficient of the surface vs. time opening model
+para(1, 2).nf = 12;                       % [/] Adimensional Opening Time
+para(1, 2).expulsionSpeed = 10;           % [m/s] Expulsion Speed
+para(1, 2).forceCoefficient = 0;           % [-] Empirical coefficient to obtain correct peak force at deployment
+
+% parachute 2
+para(2, 2) = Parafoil();
+
+para(2, 2).name = "Payload AIRFOIL";
+para(2, 2).mass = 0.40;                   % [kg]   Parafoil Mass
+para(2, 2).openingTime = 0;              % [s] Parafoil opening delay
+
+para(2, 2).surface = 0.11;                % [m^2]   Surface
+para(2, 2).deltaSMax =  0.1;                       % max value
+
+para(2, 2).semiWingSpan  = 2.55/2;                % [m]   settings.para(2, 2).b: semiwingspan  - vela nuova: 2.55/2; - vela vecchia: 2.06/2;
+para(2, 2).MAC           = 0.8;                  % [m]   mean aero chord
+para(2, 2).surface       = 2.04;                  % [m^2] parafoil surface - vela nuova 2.04; - vela vecchia: 1.64;
+para(2, 2).inertia       = [0.42, 0,   0.03;
+                            0,    0.4,    0; 
+                            0.03, 0, 0.053];  % [kg m^2] [3x3] inertia matrix parafoil
+
+para(2, 2).finalAltitude = 0;
+
+para(2, 2).cd0           =  0.25; 
+para(2, 2).cdAlpha       =  0.12;
+para(2, 2).cdSurface      =  0.01;
+
+para(2, 2).cl0           =  0.091;
+para(2, 2).clAlpha       =  0.9;
+para(2, 2).clSurface      = -0.0035;
+
+para(2, 2).cLP           = -0.84;
+para(2, 2).cLPhi         = -0.1;
+para(2, 2).cLSurface      = -0.0035;
+
+para(2, 2).cM0           =  0.35; 
+para(2, 2).cMAlpha       = -0.72;
+para(2, 2).cMQ           = -1.49;
+
+para(2, 2).cNR           = -0.27;
+para(2, 2).cNSurface      =  0.0115;
\ No newline at end of file
diff --git a/missions/2025_Orion_Roccaraso_Settember/config/rocketConfig.m b/missions/2025_Orion_Roccaraso_Settember/config/rocketConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..bcc3bb6fcdf2897a46ea8920d80f6cc3ad9fdee6
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/config/rocketConfig.m
@@ -0,0 +1,115 @@
+% CONFIG - This script sets up rocket's parameters
+
+%% ROCKET - OVERRIDES BAYS CONFIG
+rocket = Rocket();
+
+rocket.diameter = 0.15;                                                 % [m]      Rocket diameter
+rocket.massNoMotor = 14.0376;                                           % [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 = 17.0;                                            % [kg]     OVERRIDE mass without motor
+% rocket.inertiaNoMotor = [0.06535397; 17.21019828; 17.21056483];       % [kg*m^2] OVERRIDE inertia without motor - body axes reference
+% rocket.xCgNoMotor = 1.28;                                             % [m]      OVERRIDE xCg without motor
+% rocket.lengthCenterNoMot = 1.778;                                     % [m]      OVERRIDE Center length - no nose, no motor
+
+%% PLD - Includes Payload + Nose
+payload = Payload();
+
+payload.length = 647.25 * 1e-3;                                         % [m] Total bay length
+payload.mass = 4.401;                                                   % [kg] Total bay mass
+payload.inertia = 1e-9*[12531966; 109986813; 109930516];                % [kg*m^2] Total bay inertia (Body reference)
+payload.xCg = 487.78 * 1e-3;                                            % [m] Cg relative to bay upper side
+
+payload.noseLength = 0.32;                                 % [m] Nosecone length
+payload.noseType   = 'MHAACK';                             % [-] Nosecone shape
+payload.nosePower  = 3/4;                                  % [-] Nosecone power type parameter
+payload.nosePMod   = 1.250152e+00;                         % [-] P coefficient for modified nosecone shapes
+payload.noseCMod   = 1.799127e-01;                         % [-] C coefficient for modified nosecone shapes
+
+%% RCS
+recovery = Recovery();
+
+recovery.length = 826 * 1e-3;                                        % [m] Total bay length
+recovery.mass = 4.261;                                               % [kg] Total bay mass
+recovery.inertia = 1e-9*[13831051; 269596803; 269645059];            % [kg*m^2] Total bay inertia (Body reference)
+recovery.xCg = 500.38 * 1e-3;                                        % [m] Cg relative to bay upper side
+
+%% ELC
+electronics = Electronics();
+
+electronics.length = 433.5 * 1e-3;                                   % [m] Total bay length
+electronics.mass = 2.551;                                            % [kg] Total bay mass
+electronics.inertia = 1e-9*[9358415; 49265825; 48770607];            % [kg*m^2] Total bay inertia (Body reference)
+electronics.xCg = 229.9 * 1e-3;                                     % [m] Cg relative to bay upper side
+
+%% ARB
+airbrakes = Airbrakes();
+
+airbrakes.identification = false;                           % Control parameter for airbrakes - GNC
+
+airbrakes.length = 54.8 * 1e-3;                                      % [m] Total bay length
+airbrakes.mass = 0.936;                                              % [kg] Total bay mass
+airbrakes.inertia = 1e-9*[3086650; 1931082; 1889047];                % [kg*m^2] Total bay inertia (Body reference)
+airbrakes.xCg = 30.54 * 1e-3;                                        % [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.0363, 3);                 % [m] Block airbrakes opening coordinate ( First entry must be 0! )
+airbrakes.angleFunction = ...
+    @(x) -0.009083*x^4 + 0.02473*x^3 + ...
+    -0.01677*x^2 + 0.03129*x;                              % [-] Relation between angle and extension height
+airbrakes.width = 0.1002754821;                            % [m] brakes width (normal)
+airbrakes.thickness = 0.008;                               % [m] brakes thickness
+airbrakes.xDistance = 1.517; 
+
+airbrakes.maxMach = 0.8;                                   % [-] Maximum Mach at which airbrakes can be used
+airbrakes.servoOmega = 300*pi/180;                         % [rad/s] Servo-motor angular velocity
+airbrakes.servoTau = 0.0374588;
+
+%% MOTOR
+motor = Motor();
+
+motor.name = 'HRE_ARM_Rocc_PTank_T015_T02';
+
+motor.cutoffTime = [];                                               % [s] OVERRIDE Cutoff time
+motor.ignitionTransient = 0.15;                                      % [s] Ignition transient
+motor.cutoffTransient = 0.3;                                         % [s] Cut-off transient
+
+%% REAR - Includes Fincan + Boat
+rear = Rear();
+
+rear.position = 1.090;                                               % [m] offset from
+rear.length = 547 * 1e-3;                                            % [m] Total bay length
+rear.mass = 1.623;                                                   % [kg] Total bay mass
+rear.inertia = 1e-9*[13074201; 44271226; 44270124];                  % [kg*m^2] Total bay inertia (Body reference)
+rear.xCg = 253.77 * 1e-3;                                                                                               % [m] Cg relative to bay upper side
+
+rear.boatType = 'OGIVE';                                             % [-] Boat type
+rear.boatLength = 0.114;                                             % [m] Boat length
+rear.boatFinalDiameter = 0.125;                                      % [m] Boat end diameter
+
+rear.finsRootChord = 0.3;                                            % [m] attached chord length
+rear.finsFreeChord = 0.12;                                           % [m] free chord length
+rear.finsHeight = 0.13;                                              % [m] fin height
+rear.finsDeltaXFreeChord = 0.13;                                     % [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.044;                                     % [m] distance between end of root chord and end of center body
+rear.finsSemiThickness = 0.00175;                                    % [m] fin semi-thickness
+rear.finsMaxThicknessPosition = 0.00175;                             % [m] Fraction of chord from leading edge to max thickness
+
+%% PITOT
+pitot = Pitot();
+
+pitot.diameter = [];                                       % [m] Pitot tube diameter
+pitot.length = 0.04777;                                    % [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/2025_Orion_Roccaraso_Settember/config/windConfig.m b/missions/2025_Orion_Roccaraso_Settember/config/windConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..cd274dacf5d5590e4e3c49b00f0b63d47a2edf5d
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/config/windConfig.m
@@ -0,0 +1,30 @@
+% CONFIG - This script sets up wind direction and magnitude based on
+% altitudes
+%
+% Wind azimuth angle indications - Wind directed towards <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 500 900 1200];                    % [m] Altitudes at which a distribution change occurs
+windCustom.magnitudeDistribution = ["g", "g", "g", "g"];     % [-] Distribution type: "u" - uniform, "g" - gaussian
+windCustom.magnitudeParameters = [4 5 5 4;               % [m/s] Distribution parameters: "u" - [min; max], "g" - [mu; sigma]
+                                  0.25 0.83 0.83 0.83];
+windCustom.azimuthDistribution = ["u", "u", "u", "u"];       % [-] Distribution type: "u" - uniform, "g" - gaussian
+windCustom.azimuthParameters = [350 320 320 320;
+    370 370 370 370]*pi/180;    % [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;                                      % [m/s] Vertical wind speed
\ No newline at end of file
diff --git a/missions/2025_Orion_Roccaraso_Settember/data/aeroCoefficients.mat b/missions/2025_Orion_Roccaraso_Settember/data/aeroCoefficients.mat
new file mode 100644
index 0000000000000000000000000000000000000000..fdff8eca182197966866ab16a2da4fdb949534d1
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/data/aeroCoefficients.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5d82a35bf673e0e33613384102d303aa84af3cdfaa153410681666c4b88b5080
+size 44347284
diff --git a/missions/2025_Orion_Roccaraso_Settember/data/aeroCoefficientsHighAOA.mat b/missions/2025_Orion_Roccaraso_Settember/data/aeroCoefficientsHighAOA.mat
new file mode 100644
index 0000000000000000000000000000000000000000..b737cf0ae9660af47606005e430870ae9b0a35d4
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/data/aeroCoefficientsHighAOA.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c7b7433b4b996539ffe5d399f48429385843aa0813b563976215e549d1022776
+size 5781680
diff --git a/missions/2025_Orion_Roccaraso_Settember/data/motors.mat b/missions/2025_Orion_Roccaraso_Settember/data/motors.mat
new file mode 100644
index 0000000000000000000000000000000000000000..950cdb9b7d5d637364a64582e3648bb581bfb8ff
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/data/motors.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4387e1045f7f6dbd43fc5f7d17d74feddfe198441ea682749cc21e6c33a45d3c
+size 67367
diff --git a/missions/2025_Orion_Roccaraso_Settember/data/satelliteData.mat b/missions/2025_Orion_Roccaraso_Settember/data/satelliteData.mat
new file mode 100644
index 0000000000000000000000000000000000000000..086bc4c8ac2583f89a6b6ffe2e98d55e65925f7d
--- /dev/null
+++ b/missions/2025_Orion_Roccaraso_Settember/data/satelliteData.mat
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:01301b7d1248be552e296924c120f66094b8b2770f9499e4befd6a277ced75c9
+size 197
diff --git a/missions/2025_Orion_Roccaraso_Settember/data/satelliteMap.tif b/missions/2025_Orion_Roccaraso_Settember/data/satelliteMap.tif
new file mode 100644
index 0000000000000000000000000000000000000000..804387bbb68ec22b082b7496ba1928f45e9fc375
Binary files /dev/null and b/missions/2025_Orion_Roccaraso_Settember/data/satelliteMap.tif differ