Welfare calculations are typically done using 2nd order approximations following Schmitt Grohe and Uribe.

But why not consider 3rd order approximations for welfare? Does it make sense to do this with dynare?

Here is what I learned to do for 2nd order approximation:

One needs to define welfare recursively in the model block e.g.

Welf = ©^(1-sigma)/(1-sigma)+beta*Welf(+1);
Having solved the model, conditional welfare is given by:
0.5*oo_.dr.ghs2(row_U)+oo_.dr.ys(row_UDR)

Uncoditional welfare is given by:

oo_.mean(row_UDR)

Now if i choose 3rd order approximation I guess unconditional welfare can be obtained in the same way. Yet what would conditional welfare be?

It is not clear to me what is the corresponding term in 3rd order to the term 0.5*oo_.dr.ghs2 in 2nd order. Is it oo_.dr.g_0?

Many thanks!