# Define macro-variable depending on parameter value

I am running second order approximation and letting dynare to calculate unconditional utility. I’m using CRRA utility, specifying utility function depends on whether risk aversion parameter equals 1 or not. I’m trying to write the following code:

parameters rho
rho=1;
@#define logutility=rho

model;
@#if logutility
@#else
@#endif
end;

However, Dynare returns msg “unknown variable rho”. To my understanding, I cannot specify “@#define logutility=rho” because rho is a parameter, not a macro-variable, so it cannot show up within “@#define”.

I wonder if there is a way to circumvent this problem?

Try the following

[code]parameters rho_par;

@#define rho=1

rho_par=rho;

model;
@#if rho==1