Commit Graph

12074 Commits (7e770f69e791e705ab535126e0157130dc9d40c6)

Author SHA1 Message Date
Sébastien Villemot 7e770f69e7
Remove workaround for errors in MEX files
Because at some point throwing exceptions from MEX files (with mexErrMsgTxt())
was not working under Windows 64-bit, we had designed a workaround to avoid
using exceptions.

Most MEX files were returning an error code as their first (or sometimes last)
argument, and that code would have to be checked from the MATLAB code.

Since this workaround is no longer needed, this commit removes it. As a
consequence, the interface of many MEX files is modified.

For some background, see https://www.dynare.org/pipermail/dev/2010-September/000895.html
2020-01-10 18:33:11 +01:00
Sébastien Villemot 8624b4f004 Merge branch 'Ramsey_Example' into 'master'
Add example mod-file for Ramsey and OSR

Closes #1645

See merge request Dynare/dynare!1694
2020-01-10 17:02:54 +00:00
Johannes Pfeifer 647ba4e99b Add example mod-file for Ramsey and OSR
Closes https://git.dynare.org/Dynare/dynare/issues/1645
2020-01-10 17:56:22 +01:00
Sébastien Villemot 82cc6a91ca Merge branch 'doc' into 'master'
Documentation around change to ramsey

Closes #1678 and #1682

See merge request Dynare/dynare!1693
2020-01-10 14:48:16 +00:00
Johannes Pfeifer 2c8c120298 Replace various references to deprecated ramsey_policy by ramsey_model 2020-01-10 15:26:50 +01:00
Johannes Pfeifer 055710c938 Change ordering of optimal policy commands
Moves common planner_objective command to front
2020-01-10 15:11:09 +01:00
Johannes Pfeifer 7245cb2ef3 Document evaluate_planner_objective
Also clarifies restructures section on optimal policy and clarifies calling order of commands
2020-01-10 08:38:22 +01:00
Johannes Pfeifer f8e415a868 Change perfect foresight example code to suggested new syntax 2020-01-09 19:30:38 +01:00
Stéphane Adjemian (Charybdis) 3e408ffd6b
Updated dseries submodule (flip method and geometric nanmean).
[skip ci]
2020-01-09 19:16:15 +01:00
Sébastien Villemot 89dc67eb46
Convert mjdgges MEX to Fortran 2008 2020-01-09 09:23:07 +01:00
Sébastien Villemot dd1e4d238b
Build system: remove useless rules for preprocessed Fortran 2008 files
Automake actually provides such rules.
2020-01-08 18:37:26 +01:00
Houtan Bastani fcbdfec0d8
Revert "doc: using `desc_addname` doesn't allow for line breaks."
This reverts commit 6d516c39bf.
2020-01-08 17:22:41 +01:00
Houtan Bastani 6d516c39bf
doc: using `desc_addname` doesn't allow for line breaks.
The method `desc_addname` adds arguments to the name of the node, and hence does not allow for line breaks. In the case of Dynare commands we don't run into a problem with this but we run into this problem with longer MATLAB/Octave commands.

For Dynare commands, we don't run into the problem with commands running over the page width as we use placeholders like `OPTIONS` since the order of the parameters passed to a command is irrelevant

For MATLAB/Octave commands, the order of parameters passed to a function is important, hence we cannot use a placeholder such as `OPTIONS`

closes #1688
2020-01-08 15:43:18 +01:00
Houtan Bastani b4479361c1
doc: fix typo and formatting 2020-01-08 15:43:18 +01:00
Houtan Bastani 8fbb77303a
dynare manual: cleanup whitespace
- remove trailing whitespace
- replace tabs with spaces as per PEP guidelines
2020-01-08 15:04:59 +01:00
Sébastien Villemot ca99db5881
Preprocessor: ensure original tags and line numbers are preserved with ramsey_model
Closes: #1685
2020-01-06 18:31:43 +01:00
Sébastien Villemot c0c95e1ceb
Add Fortran 2008 interface for a subset of BLAS/LAPACK functions 2020-01-06 18:29:47 +01:00
Sébastien Villemot ce9eca366d
Add Fortran 2008 interface for a subset of MEX functions 2020-01-06 18:29:47 +01:00
Sébastien Villemot 47e4649026
Add support for Fortran 2008 in MEX files
By the same token, remove unused support for Fortran 77.
2020-01-06 18:29:47 +01:00
Sébastien Villemot 4e314a529b
Bump minimal required Octave version to 4.4 2020-01-06 18:29:47 +01:00
Houtan Bastani fd99f4fee8
fix preprocessor bug: in the creation of the static model copy over equation tags 2020-01-06 16:14:01 +01:00
Houtan Bastani c4cc32db29 Merge branch 'dynasave' into 'master'
Expand documentation of dynasave

Closes #1691

See merge request Dynare/dynare!1692
2020-01-06 13:55:27 +00:00
Sébastien Villemot a95358accc Merge branch 'sim1' into 'master'
sim1.m: provide missing function input to nested function

See merge request Dynare/dynare!1691
2020-01-06 13:22:29 +00:00
Johannes Pfeifer aa610f9f8e Expand documentation of dynasave
Closes https://git.dynare.org/Dynare/dynare/issues/1691
2020-01-06 13:15:36 +01:00
Houtan Bastani bf102030cb
support saving exogenous variables in `dynasave`, `dynasave`; fix bugs in `dynasave`; add test
- `dynasave`: if a variable being saved was named `n` or `s`, the `eval` statements would break the code
- `dynasave`: use the `-struct` option to `save` to avoid `eval` statements
- `dynasave` and `dynatype`: do everything in 1 loop instead of 2
- `dynasave` and `dynatype`: use `strcmp` instead of `strfind`

- preprocessor update contains:
  - Partial reversion of global indentation of macro processor header files introduced in e2d5a83592634f0604d8c86409748cd2ec5906d2
  - Symbol List check pass: allow caller to specify the valid types of variables in a Symbol List
  - Allow `dynasave` and `dynatype` to support exogenous variables in their var_list

issue #1691
2020-01-06 12:45:44 +01:00
Johannes Pfeifer 632c0a3943 sim1.m: provide missing function input to nested function 2020-01-06 09:06:18 +01:00
Marco Ratto 2134f2616d
for parallel execution we need to initialize also prior_draw (used in slice sampler). 2020-01-02 17:48:29 +01:00
Sébastien Villemot 39ed7c6742
Bump version number to 4.7-unstable 2019-12-20 17:20:07 +01:00
Sébastien Villemot 71792cd614
Preprocessor update
— Allow symbol list to accept auxiliary variables (#1355)
— Fixes around “det_cond_forecast” (preprocessor#39)
— Global reindentation
2019-12-20 17:01:12 +01:00
Sébastien Villemot 49dc997073
Global reindentation of MATLAB code (excluding submodules)
Also convert to Unix end-of-lines, and remove trailing whitespaces.
2019-12-20 16:30:27 +01:00
Sébastien Villemot b901b7af86
Global reindentation of MEX sources 2019-12-20 16:30:24 +01:00
Sébastien Villemot 22ab507c6c
Global reindentation of Dynare++ 2019-12-20 15:43:17 +01:00
Sébastien Villemot 24a2aa2aaf Merge branch 'identification_higher_order' into 'master'
Finished identification order=1|2|3

See merge request Dynare/dynare!1689
2019-12-20 13:13:52 +00:00
Willi Mutschler 45e9771eb8
Fixed bug regarding non-stationary variables in pruned moments 2019-12-20 12:30:53 +01:00
Willi Mutschler 8b9b49f8d7
Finished identification order=1|2|3
Note that I still need to do a code clean up (provide some licenses for functions from other people) and to double check order=3. There is also much room for speed and memory improvement, but the code works fine for now. I will also provide more information to the merge request soon about the detailed changes for future reference.
2019-12-20 12:28:55 +01:00
Sébastien Villemot d40b775260
Preprocessor: new “with_epilogue” option and related fixes
Ref. !1688
2019-12-20 11:57:34 +01:00
Sébastien Villemot c04c111d97
Merge branch 'rattoma/dynare-epilogue'
Ref. !1688
2019-12-20 11:51:41 +01:00
Stéphane Adjemian (Charybdis) b5d4b4059b Return an error if pruning is used with order>3 in estimation. 2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis) 031569fa96 Allow higher order approximations in nonlinear filters. 2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis) 78c36dd0b7 Fixed data files for nonlinear filter's integration test. 2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis) 227b2661cb Do not trap order>2 in estimation. 2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis) 53c9d9de69 Use steady_state_model in tests/particles/dsge_base2.mod. 2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Odysseus) 58da5e7120 Added timing for comparing the mex iterating on the nonlinear reduced form model.
local_state_space_iteration_k is significantly slower than old local_state_space_iteration_2...
2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis) 4e0deb7987 Removed persistent variables. 2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis) 76e3c6ca68 Removed unnecessary parts of the code.
- Call resol instead of dynare_resolve.
 - Removed definition of constant and trend which are not used in nonlinear filters.
 - Cosmetic changes.
2019-12-20 11:31:56 +01:00
Stéphane Adjemian (Charybdis) 6418e225bf Rewrote doc header. 2019-12-20 11:31:56 +01:00
Sébastien Villemot 996bdd6c64 New local_state_space_iteration_k MEX, for nonlinear filters at k-order
It applies the approximated policy function to a set of particles, using
Dynare++ routines.

There is support for parallelization, using Dynare++ multithreading
model (itself based on C++11 threads; we don’t use OpenMP because it is
incompatible with MKL). For the time being, default to a single thread. This
should be later refined through empirical testing.
2019-12-20 11:31:56 +01:00
Houtan Bastani f8fb8c0450
add missing comments/copyright to function 2019-12-20 10:37:06 +01:00
Marco Ratto 87963acb3a adapted test function for plot shock decompositions. still needs the new option with_epilogue. 2019-12-19 22:23:28 +01:00
Marco Ratto 31c29d08c9 provisions for making shock decompositions for epilogue variables.
In case the epilogue formula is non-linear, the non additive non-linear term is distributed proportionally to the size of the individual shock contribution.
It is triggered by new option with_epilogue, applicable to commands:
1) shock_decomposition, realtime_shock_decomposition,
where preprocessor should trigger
options_.shock_decomp.with_epilogue=true;
2) initial_condition_decomposition
where preprocessor should trigger
options_.initial_condition_decomp.with_epilogue=true;
2019-12-19 22:19:39 +01:00