Hi all,

I’m trying to reproduce the Stan model from here:

https://mc-stan.org/docs/2_24/stan-users-guide/measurement-error-models.html

I’ve saved the model as `model.stan`

:

```
functions {
vector sho(real t,
vector y,
real theta) {
vector[2] dydt;
dydt[1] = y[2];
dydt[2] = -y[1] - theta * y[2];
return dydt;
}
}
data {
int<lower=1> T;
vector[2] y[T];
real t0;
real ts[T];
}
parameters {
vector[2] y0;
vector<lower=0>[2] sigma;
real theta;
}
model {
vector[2] mu[T] = ode_rk45(sho, y0, t0, ts, theta);
sigma ~ normal(0, 2.5);
theta ~ std_normal();
y0 ~ std_normal();
for (t in 1:T)
y[t] ~ normal(mu[t], sigma);
}
```

In R, the code I’m running to run the model is:

```
library(rstan)
fit <- stan(
file='model.stan',
data = list(
T = 10,
y0 = c(0,0),
t0 = 0,
ts = 1:10,
theta = .1
),
chains = 1,
iter = 500)
```

And the error I’m getting is this:

```
SYNTAX ERROR, MESSAGE(S) FROM PARSER:
Variable "sho" does not exist.
error in 'model10f3714c306f_model' at line 23, column 32
-------------------------------------------------
21: }
22: model {
23: vector[2] mu[T] = ode_rk45(sho, y0, t0, ts, theta);
^
24: sigma ~ normal(0, 2.5);
-------------------------------------------------
Error in stanc(file = file, model_code = model_code, model_name = model_name, :
failed to parse Stan model 'model' due to the above error.
```

It’s been driving me a little crazy since it seems like I’m defining `sho`

all of 20 lines up from where it’s being passed to `ode_rk45`

, but maybe I’m doing something wrong?

Any advice would be appreciated. Thanks in advance.