I am porting my model to dynare++

Running the program, it lists to screen (only last 5 lines included):

ERMV 0

EM 0

RPM 0

RPCH -1

Unknown parameter: E

and stops

The last line tries to give me a hint to debug the model, but what does it tell?

That I have parameter “E” in the model? No, I have not.

Or does the variable name like “E_LAMBDA” pose a problem?

Antti

Hi Antti,

could be a bug in the parser. Can you post your model or email it to me?

Thanks

Michel

Thanks Michel!

I just discovered that the bug was mine. Some of the initial values were missing.

Would it be - in general - good idea to first check the model by using standard dynare? And, then, continue to dynare++

Antti

I’m not sure that you will much more explicit error messages in Dynare++ than in Dynare. But the Matlab version maybe useful for checking eigenvalues and things of this nature.

Kind regards

Michel

[quote=“ripatti”]Unknown parameter: E

and stops

[/quote]

This error message “Unknown parameter: E” came from the fact that in my vcov -command I used scientific notation in presenting numbers (to preserve accuracy). The error message disappeared when I changed to decimal notation. For example command

```
vcov = [0.1 0;
0 1E-1];
```

should produce the error message. The workaround is not to use scienfic notation.

Antti

Dear Dynareans,

I am debugging my model to be able to solve it with dynare++

I have made changes implied by the tutorial section 3.4.

It seems that the model code is stuck, since it has been running for hours and the .jnl file tells that it is recovering first order derivatives (see the end of the topic). The last header line in screen listing is “Steady state” followed by two column table.

To help the computational burden of the very large model I have introduced only 1 shock.

My question is: Is the program stuck? Or is it still computing something sensible? (task manager shows that processor is running 100%). How to debug for the possible error?

Antti

PS. BTW, some of the test files in dynare++ do not solve! Some of them can be located by command: find “(-2)” *.mod

====.JNL file==============================

This is Dynare++, Copyright © 2004,2005 Michel Juillard, Ondra Kamenik

Dynare++ comes with ABSOLUTELY NO WARRANTY and is distributed under

General Public License, see gnu.org/license/gpl.html

System info: (not implemented for MINGW)

Start time: (not implemented for MINGW)

------ elapsed time (seconds)

| ------ record unique identifier

| | ------ load average

| | | ------ available memory (MB)

| | | | ------ major faults (MB)

| | | | |

V V V V V

3.49503:M00000:-1.:193.5: : The model has 46 static, 65 predetermined, 35 frwd-looking, including 14 at both times

05.3577:S00001:-1.:192.8: : Recovering first order derivatives

I am encouraged by Ondra’s footnote of programmer’s virtue *impatience*. Is there any way to debug the model in the case `dynare++`

steps into eternal (?) loop in computing first derivative as described above? (3 days of silent computing might be an indication of patience )

Antti

PS. I know that simplification of the model should do the work, but the very same code (except for Xlead = X(+1) tricks) works for matlab dynare.

Michel pointed an error in my code: I did not include initvals to all variables. That caused an infinite loop. It would be nice to have a warning message in such a case in the future release of dynare++. Many thanks to Michel!

For initial values one should use a numerical literal as is the case with parameters (see Dynare++ tutorial page 10).

Antti

This error message “Unknown parameter: E” came from the fact that in my vcov -command I used scientific notation in presenting numbers (to preserve accuracy). The error message disappeared when I changed to decimal notation. For example command

```
vcov = [0.1 0;
0 1E-1];
```

should produce the error message. The workaround is not to use scienfic notation.[/quote]

I experimented little bit more. If you have decimals before E, eg 1.0E-1, this seems to work as well.

Antti

Antti,

sorry for responding that late.

First, new released version 1.3.1 got completely new parser incuding a bunch of descriptive error messages.

Second, if dynare++ is stuck calculating first order derivatives, it might mean that the precompiled linear algebra library is not appropriate for your architecture. Let me know in these cases.

Third, the scientific format of numbers have been corrected in dynare++ version 1.3.1 I believe.

Ondra K.