I am getting a traceback most recent call last from a iteraction between dakota and python. I need to give a csv file for python and dakota read, but when i start running it shows the the error traceback most recent call last. The code works as follows: When Csv file is fed as input it is send to the code function The function makes the calculation, then returns to dakota and start the iteraction, detail im using python 3.11 and scipy 1.9.3 Here is the code for calculation which is imported (its the only part of it the real code have 3500 lines) def ED0_takeOff(t, S): x, v = S dxdt = v T = self.trac_Available(v, rho) if fancy_way: Re = (self.c*v)/1.60E-5 # visc. cinemática do ar a 30°C try: cl_perfil, cd_perfil = interp_coef(self.df_perfil, self.ao, Re) #Cl_asa = Cl_correcao(self.df_perfil, Re, self.ao) Cl_asa = cl_perfil*0.82 #perdas da asa finita. Cd_asa = cd_perfil + self.K*(Cl_asa**2) Cd_airplane = Cd_asa + self.C_D0 D = self.drag_Force(v, Cd_airplane, rho, Ground_Effect) R = self.mi * (self.W - self.lift_Force(v, Cl_asa, rho)) except: print('Provide the aerodynamic profile dataframe in the class constructor.. Ex: zb.Airplane(df_perfil=df)') else: D = self.drag_Force(v, self.C_D, rho, Ground_Effect) # Testar CLmax e CLn or CLLO R = self.mi * (self.W - self.lift_Force(v, self.CLLO, rho)) dvdt = (T - D - R) / (self.M) return [dxdt, dvdt] It is in the source.py where the error happens in cmd. # Compute the responses using the Dakota-provided variable values. results[0].function = obj_1(params["Cr"], params["Af"], params["b"], params["L"]) results[1].function = obj_2(params["Cr"], params["Af"], params["b"], params["L"]) results[2].function = con_1(params["Cr"], params["Af"], params["b"], params["L"]) results[3].function = con_2(params["Cr"], params["Af"], params["b"], params["L"]) results[4].function = manouver_point(params["Cr"], params["Af"], params["b"], params["L"]) Here is the error : Provide the aerodynamic profile dataframe in the class constructor. Ex: zb.Airplane(df_perfil=df) Traceback (most recent call last): File "directory\source.py", line 143, in results[3].function = con_2(params["Cr"], params["Af"], params["b"], params["L"]) File "directory\source.py", line 96, in con_2 return Zb.takeOff_Distance_EDO(fancy_way=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "directory\zebraperformance.py", line 2360, in takeOff_Distance_EDO sol = solve_ivp(ED0_takeOff, t_span=(min(t), max(t)), y0=S_0, t_eval=t) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "directory\ivp.py", line 555, in solve_ivp solver = method(fun, t0, y0, tf, vectorized=vectorized, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "directory\rk.py", line 94, in __init__ self.f = self.fun(self.t, self.y) ^^^^^^^^^^^^^^^^^^^^^^^^ File "directory\base.py", line 138, in fun return self.fun_single(t, y) ^^^^^^^^^^^^^^^^^^^^^ File "directory\base.py", line 20, in fun_wrapped return np.asarray(fun(t, y), dtype=dtype) ^^^^^^^^^ File "directory\zebraperformance.py", line 2350, in ED0_takeOff dvdt = (T - D - R) / (self.M) ^ UnboundLocalError: cannot access local variable 'D' where it is not associated with a value Continue reading...