Dynare issueshttps://git.dynare.org/groups/Dynare/-/issues2022-03-28T13:51:52Zhttps://git.dynare.org/Dynare/dynare/-/issues/1848Problems of the example for Occbin mod file2022-03-28T13:51:52Zsongkaihonglalala704156579@qq.comProblems of the example for Occbin mod filein the mod file, the euler equation (or equation 1 with relax), we only assume the investment equation is not binding in the current period, but in your codes it seems assume both current and next period the INEG condition is relaxed. I ...in the mod file, the euler equation (or equation 1 with relax), we only assume the investment equation is not binding in the current period, but in your codes it seems assume both current and next period the INEG condition is relaxed. I think this is a mistake and looking forward to your reply.https://git.dynare.org/Dynare/dynare/-/issues/1716Fix bug in contemp_reduced_form of SBVAR2020-03-16T08:27:57ZJohannes PfeiferFix bug in contemp_reduced_form of SBVARAs outlined in https://forum.dynare.org/t/different-results-of-a0-using-sbvar/15359 the attached codes crashes due to non-conformable matrices.
[MacroData.mat](/uploads/e30cd873d1add8fc54a1e0e65aa0949d/MacroData.mat)
[constantRecursiveB...As outlined in https://forum.dynare.org/t/different-results-of-a0-using-sbvar/15359 the attached codes crashes due to non-conformable matrices.
[MacroData.mat](/uploads/e30cd873d1add8fc54a1e0e65aa0949d/MacroData.mat)
[constantRecursiveBVAR.mod](/uploads/f7b1c204676a2323d03a467702f6e3c5/constantRecursiveBVAR.mod)https://git.dynare.org/Dynare/dynare/-/issues/1927oo_ used but undefined in +occbin/kalman_update_algo_3.m2024-03-27T14:03:31ZSébastien Villemotoo_ used but undefined in +occbin/kalman_update_algo_3.mLine 259 of `matlab/+occbin/kalman_update_algo_3.m` reads:
```
[~, out, ss] = occbin.solver(M_,oo_,options_);
```
But `oo_` is undefined in that file.
I encountered this error when running `calib_smoother` after `oc...Line 259 of `matlab/+occbin/kalman_update_algo_3.m` reads:
```
[~, out, ss] = occbin.solver(M_,oo_,options_);
```
But `oo_` is undefined in that file.
I encountered this error when running `calib_smoother` after `occbin_setup`.https://git.dynare.org/Dynare/dynare/-/issues/1926No dates in Matlab plot when plotting2024-03-19T13:02:54ZRaphaël MARTINNo dates in Matlab plot when plottingDear Dynare Team,
I hope this message finds you well. I am reaching out to discuss an observation regarding the plot() function as described in the Dynare documentation. It is mentioned that the function "overloads MATLAB/Octave’s `plot...Dear Dynare Team,
I hope this message finds you well. I am reaching out to discuss an observation regarding the plot() function as described in the Dynare documentation. It is mentioned that the function "overloads MATLAB/Octave’s `plot` function for `dseries` objects. Returns a MATLAB/Octave plot handle, that can be used to modify the properties of the plotted time series. If only one `dseries` object, `A`, is passed as argument, **then the plot function will put the associated dates on the x-abscissa**". However, in practice, when plotting a simple dseries, the x-axis displays the periods numerically (e.g., 1, 2, 3, etc.) rather than showing the specific dates as intended.
I've managed to devise a workaround for this issue and am sharing it here, hoping it might benefit others facing the same problem.
```
A=dseries([1;2;3],'2020Y','toto');
% This plot doesn't show dates
plot(A)
% Dates for the plot's legend
DsDates = firstobservedperiod(A):lastobservedperiod(A);
x_Labels= cell(1,length(DsDates));
% Transforms dseries dates into characters
for i = 1:length(DsDates)
x_Labels{i} = char(DsDates(i));
end
% This one does
figure()
hold on
xticks(1:length(DsDates));
xticklabels(x_Labels);
plot(A)
```https://git.dynare.org/Dynare/dynare/-/issues/1925Issues when modifying values of dseries on a loop2024-03-12T10:40:40ZRaphaël MARTINIssues when modifying values of dseries on a loopDear Dynare Team,
As a new user of Dynare, I'm reaching out to report a potential bug I've encountered while working with dseries objects in Matlab, specifically using the latest unstable version of Dynare. This is my first time reporti...Dear Dynare Team,
As a new user of Dynare, I'm reaching out to report a potential bug I've encountered while working with dseries objects in Matlab, specifically using the latest unstable version of Dynare. This is my first time reporting an issue, so please excuse any inadvertent mistakes in my submission. I've noticed an issue where modifying the value of a second dseries object (which was initially set to be equal to a first dseries object) inadvertently alters the values of the first dseries object as well. This behavior is unexpected and seems to occur when the modifications are made within a loop. Here is a quick code snippet illustrating this bug :
```
addpath 'C:\Produits\dynare\dynare-7-unstable-2024-03-04-1703-7d332dee'
dynare_config;
A=dseries([0;0;0],'2020Y','toto');
B=A;
for i=1:length(B.dates)
B(B.dates(i))=B(B.dates(i))+1;
end
disp(A)
disp(B)
```https://git.dynare.org/Dynare/dynare/-/issues/1924[New feature] Add Taylor projection method of Levintal2024-03-04T15:13:48ZWilli Mutschlerwilli@mutschler.eu[New feature] Add Taylor projection method of LevintalI am working on a project with rare disaster models and am looking into the Taylor Projection solution method. I think it is general enough to also incorporate into Dynare, might be a nice new feature for 7.0.I am working on a project with rare disaster models and am looking into the Taylor Projection solution method. I think it is general enough to also incorporate into Dynare, might be a nice new feature for 7.0.7.xWilli Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1923Dynare 6.x incorrectly assumes Suites-Parse lives in the same directory as Oc...2024-03-06T18:56:06ZSean MolenaarDynare 6.x incorrectly assumes Suites-Parse lives in the same directory as OctaveThe Meson build seems to search for umfpack relative to the octave directory,
but that might not be the place it is installed.
The Homebrew team ran into this in: https://github.com/Homebrew/homebrew-core/pull/164010
I believe this sea...The Meson build seems to search for umfpack relative to the octave directory,
but that might not be the place it is installed.
The Homebrew team ran into this in: https://github.com/Homebrew/homebrew-core/pull/164010
I believe this search should either come through pkg-config or search the whole include path.https://git.dynare.org/Dynare/preprocessor/-/issues/127Allow mfs to be a declared name2024-02-29T13:56:28ZJohannes PfeiferAllow mfs to be a declared nameThe attached file returns an error in in 6.0 because a variable is named like the option `mfs`.
> ERROR: fifth.mod: line 4, cols 239-241: syntax error, unexpected MFS
We either need to lift the restriction or document it.
[fifth.mod](/...The attached file returns an error in in 6.0 because a variable is named like the option `mfs`.
> ERROR: fifth.mod: line 4, cols 239-241: syntax error, unexpected MFS
We either need to lift the restriction or document it.
[fifth.mod](/uploads/4acd08f5c68b95882e4d745242d2963c/fifth.mod)https://git.dynare.org/Dynare/preprocessor/-/issues/126Change default filename created by savemacro option2024-02-16T09:34:53ZJohannes PfeiferChange default filename created by savemacro optionThe `savemacro` command line option appends `-macroexp`. It should be `_macroexp` because a hyphen is not allowed in Matlab file names. Consequently, running the generated file will result in
>Error using dynare
Dynare: argument of dyna...The `savemacro` command line option appends `-macroexp`. It should be `_macroexp` because a hyphen is not allowed in Matlab file names. Consequently, running the generated file will result in
>Error using dynare
Dynare: argument of dynare must conform to MATLAB's convention for naming functions, i.e. start with a letter and not contain
special characters. Please rename your .mod file.7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1922Create GitLab CI to build, test and deploy docker containers2024-02-22T10:22:30ZWilli Mutschlerwilli@mutschler.euCreate GitLab CI to build, test and deploy docker containersIt would be beneficial to have a workflow with GitLab to build, test and deploy the docker containers.It would be beneficial to have a workflow with GitLab to build, test and deploy the docker containers.Willi Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1921Rebase docker containers on Debian2024-02-16T09:37:44ZWilli Mutschlerwilli@mutschler.euRebase docker containers on DebianCurrently the Docker images are based on images that MATHWORKs provides and maintains. This has some benefits:
- easier to maintain
- user-friendly ways to interact with the container
- no hassle with the MATLAB license, and if so, we ca...Currently the Docker images are based on images that MATHWORKs provides and maintains. This has some benefits:
- easier to maintain
- user-friendly ways to interact with the container
- no hassle with the MATLAB license, and if so, we can easily direct users towards the MATLAB support
- sponsored MATLAB licenses (e.g. on GitHub) work
But also some disadvantages:
- we are not in full control of the image
- image size is somewhat large
- Octave version is too old in Ubuntu 22.04
- Octave compatibility is not great (the testsuite for Octave typically does not pass for some system-related reason)
- requires additional hacking to improve compatibility with Dynare
- MATLAB does change things from time-to-time and we (or I) need to keep track of the corresponding GitHub repositories
A natural alternative would be to create a vanilla image along the lines we set up the runners that are based on Debian. We would then need to provide similar ways to interact with the container (e.g. [noVNC](https://novnc.com)) and check whether sponsored licenses still work. We would probably loose some user-friendliness here, but then again those who are using Docker might not really need those interactive features.
So, I would like to open this issue to discuss how we should proceed in the future? I'm leaning towards keeping it based on MATHWORK's containers as this is probably easier to maintain; but I have no problem to investigate time and resources towards the Debian option.Willi Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1920Provide dr_cycle_reduction_maxiter option2024-02-07T15:09:33ZJohannes PfeiferProvide dr_cycle_reduction_maxiter optionCurrrently, `max_it` in https://git.dynare.org/Dynare/dynare/-/blob/master/mex/sources/cycle_reduction/mexFunction.f08?ref_type=heads is hard-coded to 300. It should be an option as in https://git.dynare.org/Dynare/dynare/-/tree/master/m...Currrently, `max_it` in https://git.dynare.org/Dynare/dynare/-/blob/master/mex/sources/cycle_reduction/mexFunction.f08?ref_type=heads is hard-coded to 300. It should be an option as in https://git.dynare.org/Dynare/dynare/-/tree/master/mex/sources/logarithmic_reduction?ref_type=heads7.xhttps://git.dynare.org/Dynare/preprocessor/-/issues/125Automatically create equation name tags for auxiliary equations2024-02-07T12:24:57ZJohannes PfeiferAutomatically create equation name tags for auxiliary equationsBy default, Dynare creates equation name tags for the original equations of the `model` block. For example, if
```
rn = r + rho*(rn(-1)-r) + e;
```
then `M_.equation_tags` will be
```
{[7]} {'name'} {'rn'}
```
But nothing is c...By default, Dynare creates equation name tags for the original equations of the `model` block. For example, if
```
rn = r + rho*(rn(-1)-r) + e;
```
then `M_.equation_tags` will be
```
{[7]} {'name'} {'rn'}
```
But nothing is created for auxiliary equations. We should at least change this for `ramsey_model` where the first equations will correspond to the derivatives with respect to the endogenous variables. For example, if `M_.endo_names{1}='y'`, then `M_.equation_tags` should have as its first entry:
```
{[1]} {'name'} {'Ramsey FOC wrt y'}
```7.xhttps://git.dynare.org/Dynare/dynare/-/issues/1919bug in annualized shock decomposition2024-01-30T10:18:34ZMarco Rattobug in annualized shock decompositionwhen removing unused output args in commit 735bd66d4dea2f244918687fa0fa57051df59673, we created a bug in annualized_shock_decomposition.
there, the second unised argument is actually necessary to trigger the behavior in plot_shock_decomp...when removing unused output args in commit 735bd66d4dea2f244918687fa0fa57051df59673, we created a bug in annualized_shock_decomposition.
there, the second unised argument is actually necessary to trigger the behavior in plot_shock_decomposition that depends on nargout inline 535 .[https://git.dynare.org/Dynare/dynare/-/blob/master/matlab/shock_decomposition/plot_shock_decomposition.m?ref_type=heads#L535](url)
Admittedly, this is a very obscure feature...https://git.dynare.org/Dynare/dynare/-/issues/1918Preprocessor issue with mensual dates with month > 9 passed to daynre into ma...2024-01-29T11:17:26ZUgo DuboisPreprocessor issue with mensual dates with month > 9 passed to daynre into macrovariablesI think I just stumbled into an interesting bug while passing macrovariables containing mensual dates to dynare.
In a very simple mod: [SimpleMod.mod](/uploads/c460c03b98abd0f7acee934530394df5/SimpleMod.mod)
I have (a dummy model) and ...I think I just stumbled into an interesting bug while passing macrovariables containing mensual dates to dynare.
In a very simple mod: [SimpleMod.mod](/uploads/c460c03b98abd0f7acee934530394df5/SimpleMod.mod)
I have (a dummy model) and the instruction: `Toto = @{MensualDate};`
I call this .mod with dynare as follows: `dynare('SimpleMod.mod', '-DMensualDate="2005M10"');`
And get an 'invalid expression' error on `SimpleMod.driver` because what gets written in the driver for the `Toto = @{MensualDate};` instruction is : `Toto = dates('2005M1')0;`
2005M9 works, 2005M11 results into `Toto = dates('2005M1')1;` and 2005M12 results into `Toto = dates('2005M1')2;`Sébastien VillemotSébastien Villemothttps://git.dynare.org/Dynare/dynare/-/issues/1917macOS: drop ld_classic workaround2023-12-21T12:16:41ZWilli Mutschlerwilli@mutschler.eumacOS: drop ld_classic workaround~~Xcode CLT 15.1 fixed this [issue](https://github.com/mesonbuild/meson/issues/12282), the `ld_classic` workaround in the native file is not necessary anymore, so we can remove it once the runner is updated. Either way the workaround con...~~Xcode CLT 15.1 fixed this [issue](https://github.com/mesonbuild/meson/issues/12282), the `ld_classic` workaround in the native file is not necessary anymore, so we can remove it once the runner is updated. Either way the workaround continues to work.~~
Nope, 15.1 did not fix this.https://git.dynare.org/Dynare/dynare/-/issues/1916Create testfile for parallel2023-12-19T22:23:20ZWilli Mutschlerwilli@mutschler.euCreate testfile for parallelCurrently the tests in the parallel folder are only for manual testing. It would be good to also test the parallel capabilities in the testsuite.Currently the tests in the parallel folder are only for manual testing. It would be good to also test the parallel capabilities in the testsuite.Willi Mutschlerwilli@mutschler.euWilli Mutschlerwilli@mutschler.euhttps://git.dynare.org/Dynare/dynare/-/issues/1915Unknow index in parallel/closeSlave.m2023-12-21T13:05:00ZStéphane Adjemianstepan@adjemian.euUnknow index in parallel/closeSlave.mLine 77 we have:
```matlab
isempty(dynareParallelDir(['P_slave_',int2str(j),'End.txt'],TmpFolder,Parallel))
```
under a `if` statement, but index `j` is not defined. Matlab interprets j as a complex number and `int2str(j)` evaluates to `...Line 77 we have:
```matlab
isempty(dynareParallelDir(['P_slave_',int2str(j),'End.txt'],TmpFolder,Parallel))
```
under a `if` statement, but index `j` is not defined. Matlab interprets j as a complex number and `int2str(j)` evaluates to `'0'`.https://git.dynare.org/Dynare/dynare/-/issues/1914Fix saving of _mh_mode after integration of SMC2023-12-15T13:59:45ZJohannes PfeiferFix saving of _mh_mode after integration of SMC60c0ed01 changed the behavior of `compute_mh_covariance_matrix` to not save the `_mh_mode.mat` file. That is now done in `compute_posterior_covariance_matrix`. This breaks backward compatibility as e.g. `fs2000.mod` now does not save the...60c0ed01 changed the behavior of `compute_mh_covariance_matrix` to not save the `_mh_mode.mat` file. That is now done in `compute_posterior_covariance_matrix`. This breaks backward compatibility as e.g. `fs2000.mod` now does not save the `_mh_mode.mat` anymore via the call to `marginal_density.m`.Stéphane Adjemianstepan@adjemian.euStéphane Adjemianstepan@adjemian.euhttps://git.dynare.org/Dynare/preprocessor/-/issues/124Interface for irf matching2023-12-20T15:01:21ZWilli Mutschlerwilli@mutschler.euInterface for irf matching
I would like to add `matched_irfs` and `matched_irfs_weights` blocks to Dynare's preprocessor, the blocks should be similar to `irf_calibration`. I tried for several hours to implement this but I failed miserably, so I would appreciate ...
I would like to add `matched_irfs` and `matched_irfs_weights` blocks to Dynare's preprocessor, the blocks should be similar to `irf_calibration`. I tried for several hours to implement this but I failed miserably, so I would appreciate any help (@sebastien).
What I have in mind is the following:
```
matched_irfs;
y(2), eR, 0.03;
c(4), eA, 0.01;
i(1), eA, (empIrfs(3,1));
end;
```
This should produce a cell array in MATLAB M_.matched_irfs with the following structure:
```
{'y'} {'eR'} {[2]} {[0.03]}
{'c'} {'eA'} {[4]} {[0.01]}
{'i'} {'eA'} {[4]} {[empIrfs(3,1)]}
```
where empIrfs is a matrix that has the empirical IRF values.
So I want to be able to either manually provide the values or access them from a matrix in the workspace.
Similarly, I would like to have a `matched_irfs_weights` block to specify the weighting matrix:
```
matched_irfs_weights;
y(2), eR, y(2), eR, 20;
c(4), eA, c(4), eA, (1/empIrfsCov(3,3));
i(1), eA, y(2), eR, 10;
end;
```
where empIrfsCov is the covariance matrix of the empirical IRFs. This should produce a cell array in MATLAB `M_.matched_irfs_weights` with the following structure:
```
{'y'} {'eR'} {[2]} {'y'} {'eR'} {[2]} {[20]}
{'c'} {'eA'} {[4]} {'c'} {'eA'} {[4]} {[(1/empIrfsCov(3,3))]}
{'i'} {'eA'} {[4]} {'y'} {'eR'} {[2]} {[10]}
```
I will then manipulate the structure in the MATLAB code.
Again, I'm very sorry, I thought this would be very easy to implement; but even with the help of ChatGPT I was not able to get this running as I don't know any C++.
Of course, this is just a proposal for an interface, but I think we should stay close to what we already have (irf_calibration) and not do some fancy other interface like `y(2,eR)=20` or similar.Sébastien VillemotSébastien Villemot