To use the files provided in the source files above, you can use the Mathematica code below. Please adjust the expressions according to your usecase:

(*  Define functions for the model *)

V0[phi_] := FUNCTION TO CALCULATE TEMPERATURE INDEPENDENT POTENTIAL;
aT = CALCULATE aT IN TERMS OF PARAMETERS OF THE POTENTIAL;
VT[phi_, T_] := V0[phi] + aT T^2 phi^2;
theVEV[T_] := FUNCTION TO CALCUALTE LOCATION OF VEV;
theMAX[T_] := FUNCTION TO CALCULATE LOCATION OF MAXIMUM;

(* Import data from file with closest aT value *);
allData = Import["EmEaTnAlphaBeta.txt", "Table"];
EmEaTn = allData[[All, 1 ;; 3]];

d = 10^(+10);
\[Epsilon] = 10^(-10);
valsC = {};
restC = {};
T = STARTING TEMPERATURE.
    EITHER ZERO OR LOWEST TEMPERATURE AT WHICH A BARRIER DEVELOPS;
min = VT[theVEV[T], T];
While[min < 0.,
  (* Calculate properties of the potential at T *)
  vev = theVEV[T];
  bar = theMAX[T];
  min = VT[vev, T];
  max = VT[bar, T];
  If[Im[vev] < \[Epsilon] && Im[bar] < \[Epsilon] && min < 0,
   (* Rescaled quantities *)
   Em = max^(1/4)/vev;
   Ea = Abs[min]^(1/4)/vev;
   Ts = T/vev;
   vals = {Em, Ea, Ts};
   (* Find closest triad in EmEaTn list *)
   {index, rest} =
    Nearest[EmEaTn -> {"Index", "Element"}, {0, 0, 0}][[1]][[2]];
   dist = EuclideanDistance[vals, rest];
   modu = EuclideanDistance[vals, {0, 0, 0}];
   If[dist/modu < d,
    d = dist/modu;
    valsC = vals;
    restC = rest;
    Tn = T;
    alpha = allData[[index]][[4]];
    beta = allData[[index]][[5]];
    ];
   ];
  (*Shift T and repeat the calculation *)
  T += STEP;
  ];