Problem setting initial values, Stan seems to do not respect them

I am working with an ODE model where I need to constraint the time series to be greater or equal than zero. To avoid crashes of possible negative values during initialization, I tried to feed Stan with a list of initial values for the four chains that I plan to run, using a function like this:

indent preformatted text by 4 spaces
ini = function(){

From what I know, this is supposed to assign the same initial values to each of the chains. However, I always get the following kind of error (in Windows and Linux machines):

Rejecting initial value:
  Error evaluating the log probability at the initial value.
Exception: validate transformed params: x_hat[k0__][k1__] is -0.000102274, but must be greater than or equal to 0  (in 'model34107e7ba11_m3' at line 74)

[1] "Error in sampler$call_sampler(args_list[[i]]) : Initialization failed."
[2] "In addition: Warning messages:"                                        
[3] "1: package 'rstan' was built under R version 3.4.4 "                   
[4] "2: package 'StanHeaders' was built under R version 3.4.4 "             
[1] "error occurred during calling the sampler; sampling not done"

So, even thought I am setting positive initial values, Stan seems to do not care, and assigns random values as I hadn’t specify any.

Does anyone has a clue of what is wrong?

PS. I get the same error even when specifying “0” at the init statement when calling Stan. (2.6 KB)
m3.stan (3.2 KB)

The error message refers to x_hat in the transformed parameters block, which is not strictly non-negative at least not numerically.