NDSolve::ndnum: Encountered non-numerical value for a derivative at t == 1.`.
Problem 1. This will not work. See Help, Scope, example 1 (v. 12.1)
S1=InterpolatingFunction[...]
S1[0]=scalar
InverseFunction[S1]
Fix 1:
RR = InverseFunction[(S1[#]) &]
Problem 2: InverseFunction does not find an inverse. Therefore you cannot use it in NDSolve. You might alter S1 strategically so that InverseFunction can find an inverse. For this you need to expand S1 into a series.
Problem 3: RR does not contain h, so h on the left cannot be replaced with the right.
RRnew = RR /. h -> Function[t, g[t]]
Problem 4: NDSolve won't solve unless function a[t] is less nebulous.
In[88]:= eqn = 0 == g'[t] - a[t] g[t]^2
Out[88]= 0 == -a[t] g[t]^2 + Derivative[1][g][t]
In[89]:= NDSolve[{eqn, g[1] == 0.1}, {g[t]}, {t, 1, 10}]
During evaluation of In[89]:= NDSolve::underdet: There are more dependent variables, {a[t],g[t]}, than equations, so the system is underdetermined.
A proposed solution (noting I am unfamiliar with the meaning behind the equations and do not state solutions are not lost):
RR = InverseFunction[(Normal[Series[S1[x], {x, 0, 5}]] /. x -> #) &]
(* note RR[domain] has infinity at R[1], is Complex valued *)
ComplexListPlot[Table[RR[x], {x, 1, 10}]]
(* (i assume) a diagonal line with +slope in complex plane *)
G[t_] := g'[t] - (RR[t])/6 + 2*g[t]^2
eqn = 0 == G[t]
sol=NDSolveValue[{G[t] == 0, g[.99] == 0.099}, g, {t, 1.1, 10}]
InterpolatingFunction[...]
ComplexListPlot[Table[sol[x], {x, 1.1, 10}]]
(* a short diagonal rise over [.03,.05] and a horizontal run *)
(* axis is roughly: Interval [.03,.1] + Interval [-10^(-17),-10^(-16)] i *)