Hi there,

I’m having trouble defining a non-stationary parameters in a hierarchical model.

The scale parameter of the gev (duration depedent, used for constructing IDF curves), which is stationary, is defined as:

\sigma(d) = \sigma_0 (d+\theta)^{-\eta}

Usually the duration dependent location parameter is defined as:

\mu(d) = \tilde\mu \times \sigma_0 (d + \theta)^{-\eta}

However, I have made the location parameter non-stationary and it is defined as:

\mu_0(d) + COV_1\mu_1(d) + COV_{2} \mu_2(d) = \tilde\mu \times \sigma_0 (d + \theta)^{-\eta}

So far, I have this code:

```
data {
int<lower=1> N; //observation and duration vector length
int<lower=1> J; //number of weather stations
int<lower=1> D; //number of durations
vector[N] y[J,D]; //data matrix
vector[D] d; //duration vector
vector[J] COV1; //covariate altitude
vector[J] COV2; //covariate temperature
}
parameters {
real mut[J];
real sigma0[J];
real theta[J];
real eta[J];
}
transformed parameters {
real mu0[D];
real mu1[D];
real mu2[D];
for (dd in 1:D) {
for (j in 1:J) {
mu0[dd] + (mu1[dd] *COV1[j]) + (mu2[dd]*COV2[j]) = mut[j]*sigma0[j]*(d[dd]+theta[j])**(-eta[j]);
}
}
}
```

Obviously, this won’t work (see error):

```
SYNTAX ERROR, MESSAGE(S) FROM PARSER:
Illegal statement beginning with non-void expression parsed as
mu0[dd] + mu1[dd] * COV1[j] + mu2[dd] * COV2[j]
```

Is there another way of fomulating this?