Commit Graph

175 Commits (67f29dbbd911f22546b46f45101876bff3150c3b)

Author SHA1 Message Date
Houtan Bastani 744b5abf1e preprocessor: add symbol.options statement 2011-12-21 12:21:30 +01:00
Houtan Bastani 1d68887387 preprocessor: add subsamples statement 2011-12-21 12:21:30 +01:00
Houtan Bastani 29d8028fc4 preprocessor: add prior statement 2011-12-21 12:21:29 +01:00
Houtan Bastani 1c733dd55f preprocessor: add data command 2011-12-21 12:21:29 +01:00
Houtan Bastani b89eb4931c preprocessor: add set_time command 2011-12-21 12:21:29 +01:00
Sébastien Villemot 93ee14c7ad Preprocessor: fix forecast command
It was broken since the renaming of forecast.m in
8f1326e2f84543cadce311048640856665025469
2011-12-14 10:35:25 +01:00
Michel Juillard a1a42b69ee unit_root_vars now sets the options_.diffuse_filter and options_.steadystate.nocheck 2011-11-20 20:16:02 +01:00
Houtan Bastani b8c22d128f MS-SBVAR: argument check for ms_compute_probabilities 2011-10-26 11:33:18 +02:00
Sébastien Villemot 895f8a25bd Clean-up last remnants of unit_root_vars (Closes: #167) 2011-10-14 16:22:47 +02:00
Michel Juillard 8c0e8aa672 ms-sbvar: correcting bug introduced in commit 90e4d4027290b6dddc3b8efba444e10240140b3b 2011-10-13 13:34:28 +02:00
Michel Juillard 4befcde035 ms-sbvar: introduced more general restriction syntax for
identification; added an example; still necessary to add error message
when restrictions are invalid
2011-10-12 21:47:59 +02:00
Stéphane Adjemian (Scylla) 5aefe283d2 Changed the output of the preprocessor according to commit 9c0cfe4200029f60af18cec34e3efc220a00b7d6 (change in the calling sequence
of the check command).
2011-09-17 12:53:38 +02:00
Houtan Bastani db8905f9ef MS-SBVAR: change default for drop option 2011-09-15 18:02:48 -04:00
Houtan Bastani 08ab51f0d0 MS-SBVAR bugfix: reinitialize drop if necessary 2011-09-14 14:28:28 -04:00
Houtan Bastani 5c48733f55 output mex file for static model (closes #183) 2011-08-19 16:57:27 +02:00
Houtan Bastani 7a23e4e332 MS-SBVAR: reinitialize options before calls to mssbvar functions 2011-08-10 18:23:01 +02:00
Houtan Bastani 6a0f8b4d93 MS-SBVAR: bug fix 2011-08-03 11:10:57 +02:00
Michel Juillard 7a70facdea MS-SBVAR: correcting bug in handling of exclusion of constants. Changed options_.ms.Qi and options_.ms.Ri from 3 dimension arrays into cellarray of matrices. 2011-08-02 10:49:50 +02:00
Michel Juillard 7e20a92e70 bug correction for exculsion_constants 2011-08-01 10:50:07 +02:00
Michel Juillard dcf5273b26 adding "exclusion constants" to svar identification 2011-07-29 18:11:50 +02:00
Houtan Bastani 4973ee893d add irf_shocks option to estimation 2011-07-12 16:32:37 +02:00
Michel Juillard 1673cfeed8 ms-sbvar: correcting bug with restriction of lagged variables 2011-07-12 14:30:07 +02:00
Houtan Bastani 4197d3008d preprocessor: remove initialization of option to make conisistent 2011-06-23 11:53:15 +02:00
Houtan Bastani 241b6efd98 clean up sbvar code 2011-05-31 16:07:05 +02:00
Houtan Bastani ba7ad522a5 removed extraneous flag 2011-05-30 17:46:35 +02:00
Michel Juillard b65bb7e2c3 MS-SBVAR: added automatic saving of graphs in <mod_name>/Output; added possibility to select endogenous variables for IRF plots; updated plot functions. 2011-05-30 15:54:46 +02:00
Houtan Bastani 28c59fae51 SWZ: updates for irf, forecast and variance decomposition mex calls 2011-05-20 14:34:26 +02:00
Houtan Bastani 48c7ee6788 SWZ: changes for new code 2011-05-13 17:23:41 +02:00
Houtan Bastani eea358eae7 identification: added advanced and max_dim_cova_group to the preprocessor 2011-04-20 12:14:47 +02:00
Houtan Bastani be4c5c92ef ramsey_policy: allow discount factor to be an expression 2011-03-29 18:18:32 +02:00
Houtan Bastani d2a6f0f42c Implement explicit writing of first order conditions of Ramsey problem (ticket #5) 2011-03-24 17:17:15 +01:00
Michel Juillard 8adee6b673 adding discretionary policy for linear quadratic models, thanks to code provided by Junior 2011-03-13 21:19:55 +01:00
Houtan Bastani f8a717b496 bug fix: check that osr, osr_params and optim_weights appear together 2011-03-03 16:31:36 +01:00
Houtan Bastani d430ea8e43 bug fix: check that planner_objective and ramsey_policy statements appear together 2011-03-03 16:31:33 +01:00
Houtan Bastani 73066865db SWZ: remove instances of swz throughout 2011-02-22 15:06:38 +01:00
Sébastien Villemot d264b7b2e3 Reindentation of the preprocessor 2011-02-04 16:25:38 +01:00
Sébastien Villemot 5ddc0a595b Workaround for ticket #157 2011-02-04 12:38:12 +01:00
Sébastien Villemot 091c7961a2 Removed remnants of calib commands 2011-01-10 12:25:42 +01:00
Michel Juillard ca73c1bd88 removing command CALIB: it has not been working for a long time. Calibration is in fact a special case of method of moments and should be replaced by such a method. 2011-01-04 10:16:38 +01:00
Ferhat Mihoubi 83648a6d53 - Correct the simul call without input argument 2010-09-24 11:07:43 +02:00
Sébastien Villemot 2c10d03368 Preprocessor: rename "NodeID" in "expr_t" 2010-09-17 12:13:26 +02:00
Sébastien Villemot c8fdd5d9d1 Preprocessor: uniformize typedef names (with a "_t" suffix) 2010-09-16 19:00:48 +02:00
Sébastien Villemot 75440028eb Preprocessor: fix crash when mean or stderr of an estimated parameter is specified as an expression instead of a plain value (bug introduced in 28d30d9a626a8d7be0866038924bfc52a935ee27) 2010-09-16 15:37:27 +02:00
Michel Juillard d3c4f7f3e6 preprocessor: fixing bug for OSR optim_weights with covariances 2010-08-10 20:16:59 +02:00
Houtan Bastani 4a76532c29 move validation check from constructor to checkpass 2010-06-24 19:42:38 +02:00
Houtan Bastani 5a9f972cc1 DSGE-VAR: introduce dsge_var and dsge_varlag options to estimation statement 2010-06-22 10:38:43 +02:00
Houtan Bastani 6b0b5a8065 fix error message 2010-06-10 15:16:54 +02:00
Houtan Bastani ed88a8e528 Bug fix: catch the case when a parameter follows a beta distribution with mean = std err = 0.5 2010-06-09 15:09:55 +02:00
Sébastien Villemot 743db26cb4 Preprocessor and ref. manual: added 'pruning' option (closes #104) 2010-05-31 18:38:49 +02:00
Sébastien Villemot 71d577bcb8 Preprocessor:
* give the possibility of calibrating measurement errors in the "shocks" blocks (only for observed endogenous variables)
* M_.H is now initialized in the preprocessor
* only one "varobs" statement is now accepted in a MOD file
2010-04-14 15:03:41 +02:00
Sébastien Villemot f9cac656d1 Preprocessor: removed unfinished 'prior_analysis' and 'posterior_analysis' statements 2010-03-18 14:56:22 +01:00
Michel Juillard 9a8331da83 SWZ:
- reverting part of last change to handling of Qi and Ri in ComputingTasks.cc: r is the number of lags present in the restrictions
- fixing handling of Dirichlet option in mhm_input.dat. This fixes the strange Signal messages when running C executables.
- fix path in test_upper_cholesky.mod
2010-03-15 12:03:37 +01:00
Michel Juillard 1849436c0a - reversed ordering for lower and upper Cholesky
- added tests
- fixed various bugs
- modified initial values
Still unfinished
2010-03-10 08:32:51 +01:00
ferhat f13b95cb87 "bytecode" option can be used without "block" option
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3373 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-22 10:03:29 +00:00
ferhat 0808ba42b7 Add new model option no_static : avoid to compute the static model. Useful for models without steady-state.
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3319 ac1d8469-bf42-47a9-8791-bf33cf982152
2010-01-08 11:06:25 +00:00
sebastien 3aa8876538 Beautified preprocessor code (uncrustify + emacs + manual adjustments, in particular with templates in MacroValue)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3249 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 17:13:23 +00:00
sebastien 160ec5d7ca preprocessor + bytecode DLL: various enhancements to block and bytecode options (changes by Ferhat)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3244 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-16 13:21:31 +00:00
houtanb 04aa1dbdb3 changed preprocessor internals to support vector<int> type. changed svar_identification to store symbols by symbol ids. Added missing Doxygen comments.
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3240 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-14 15:54:00 +00:00
houtanb e1f043485f allow for vector <int> to be passed by Bison and modified processing of svar statement accordingly.
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3221 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-10 22:49:50 +00:00
houtanb c1cecba2be svar: allow for two options to be passed instead of only three.
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3218 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-09 16:32:30 +00:00
houtanb bf73286226 fixed svar so when the equations option is passed a vec_int it outputs a column vector.
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3217 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-09 16:17:12 +00:00
sebastien 270f8d7b1d k-order:
* in the preprocessor, fail if k_order_solver given without use_dll
* updated the reference manual, in particular w.r. to the new wiki page on MEX compilation under Windows


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3216 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-09 11:50:58 +00:00
houtanb 65a6e5cf6e swz: implementation of svar
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3214 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-09 00:38:53 +00:00
houtanb 0adc9f8842 swz: markov switching statement
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3212 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-08 16:46:13 +00:00
houtanb 1f72431ec4 swz: svar_identification
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3194 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-04 21:32:19 +00:00
sebastien f2ea29254d M-files and preprocessor:
* removed "options_.simul", and instead test if "options_.periods" is non-zero
* test for the incompatibility of options "periods" and "hp_filter" in "stoch_simul.m", instead of in the preprocessor
Reference manual:
* removed "simul" options, updated "periods"
* updated "order" option (for 3rd order)
* added "k_order_solver" option
* give some hints for installing a compiler for users of MATLAB for Windows


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3188 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-12-01 17:51:47 +00:00
sebastien 4419f4aa51 preprocessor: allow the omission of model block when sbvar or ms_sbvar statement is used
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3169 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-26 17:25:04 +00:00
michel 4cd9e87d37 4.1: removed preprocessor useless initialization of
estim_params_.param_names
     estim_params_.user_param_names


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3125 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-11-04 20:40:36 +00:00
sebastien 5d013c6017 preprocessor: fixed bug in "plot_conditional_forecast"
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3066 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-22 14:42:12 +00:00
sebastien ab7bcdd304 Added a new option "partial_information" to stoch_simul, estimation, osr, ramsey_policy
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3063 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-20 16:55:31 +00:00
sebastien 2761b4c016 preprocessor: remove unnecessary stuff ("forecast" has not the same rank than "stoch_simul/estimation/osr/ramsey_policy")
git-svn-id: https://www.dynare.org/svn/dynare/trunk@3062 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-20 16:17:27 +00:00
sebastien 337bde2589 * Preprocessor: implemented interface to conditional forecast, with three new statements: "conditional_forecast", "conditional_forecast_paths" and "plot_conditional_forecast"
* Reference manual: created a section on forecasting (with "forecast" option), and added the three new statements to that section


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3049 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-16 17:23:57 +00:00
sebastien c8080438ad Preprocessor:
* new options to "identification" statement: "ar", "useautocorr", "load_ident_files", "prior_mc"
* implement the call to dynare_identification() when "identification" statement is encountered
* new options to "dynare_sensitivity" statement: "ar", "useautocorr", "load_ident_files"
* trigger computation of model derivatives w.r. to parameters when "identification" option of "dynare_sensitivity" statement is used


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3046 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-10-14 16:16:43 +00:00
sebastien fea9c4a2f0 Remove obsolete "cutoff" and "markowitz" statements
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2884 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-03 09:50:45 +00:00
ferhat b17886ee12 - get rid of block and bytcode variable in SimulStatement and StochSimulStatement
- minimalist version of dynamicmodel when no dynamic model is needed

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2883 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 16:44:15 +00:00
ferhat ceae389dff simulate.dll has been replaced by bytecode.dll
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2881 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 14:40:54 +00:00
sebastien 00d887f984 Various cleanups related to new options "bytecode" and "block"
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2879 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-09-02 13:36:56 +00:00
michel 4b48ff37f5 updating SWZ sbvar code
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2875 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-30 19:24:34 +00:00
ferhat 0a816a4e74 New options for block decomposition and bytecode (see http://www.dynare.org/DynareWiki/ByteCode):
- the options "sparse_dll" and "sparse" are no more available. They are replaced by combinations of block (for block decomposition) and bytecode (for model stored in a binary file)
- markowitz is now an option of simul and steady commands


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2873 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-29 15:04:11 +00:00
ferhat 4897b602c6 - extension of normalization of equations to nonlinear equations
- mfs: new option for 'steady' and 'model' commands. Determines the equation belonging to the set of feedback variables.
  mfs = 0 => all variables are considered as feedback variables (default value)
  mfs = 1 => using only naturally normalized equation as potential recursive equations (all variables assigned to unnormalized equations are considered as feedback variable)
  mfs = 2 => adding to the set of potential recursive equation with mfs = 1 the linear equation in endogenous variable normalized (all variables assigned to nonlinear unnormalized equations are considered as feedback variable)
  mfs = 3 => adding to the set of potential recursive equation with mfs = 2 the non linear equation in endogenous variable normalized
- correction of few buggs in simulate.dll
- block_mfs_dll: new option for 'steady' command. Use simulate.dll to solve the steady state model (speedup the computation of the steady-state and the homotopy)

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2866 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-08-25 09:43:01 +00:00
michel d6ea19b487 v4: adding preprocessor interface to Sims-Wagonner-Zha code for SBVAR (regular and Markov-Switching).
This is not yet completely operational.


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2855 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-26 17:07:07 +00:00
michel b30a00d190 v4: adding interface for shock decomposition
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2853 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-23 08:31:48 +00:00
sebastien 77590c8577 Some restructurings in the preprocessor:
* StaticModel: dropped creation of C file in USE_DLL mode
* StaticModel: added computation of derivatives for block MFS mode
* DynamicModel: catch error codes of mkdir()
* ModelTree: moved "mode" member variable to DynamicModel
* ModFile::writeOutput(): moved manipulations relative to dynamic model file to DynamicModel


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2818 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-07-07 14:20:48 +00:00
sebastien aedc60cbc1 trunk preprocessor: added new option "block_mfs" to "steady"
* normalizes the static model
* computes its block decomposition, using topological order
* for each block, computes minimum feedback set of variables
* at this stage, only produces text output (no change in the computation of steady state)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2798 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-06-30 15:07:09 +00:00
sebastien 181bda4853 trunk preprocessor: added new statements "write_latex_dynamic_model" and "write_latex_static_model" which list model equations in LaTeX code
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2654 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-30 13:14:33 +00:00
sebastien 9179ebe4cf trunk preprocessor: use assert() function at several places
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2642 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-28 16:21:39 +00:00
sebastien 34ee60fbe7 trunk preprocessor:
* added support for derivatives of Hessian w.r. to parameters
* added "identification" command which does nothing for the moment, except triggering those derivatives w.r. to params


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2613 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 13:58:15 +00:00
sebastien a0af8f7ea0 trunk preprocessor: restructuring the way we decide which derivatives to compute
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2610 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-20 10:48:54 +00:00
sebastien 7afeae2fca trunk preprocessor: some cleanups related to sparse mode (removed SimulSparseStatement class and incorporated it into SimulStatement, determine mode at preprocessing time instead of runtime in StochSimulStatement)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2595 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-14 15:02:51 +00:00
sebastien 7fa0d9722d trunk preprocessor:
* created a distinct expression tree for the static model (thus giving better sharing of sub-expressions and better computation of temporary terms for the static model)
* for that purpose, created StaticModel and DynamicModel classes (ModelTree still persists, but only contains code shared between StaticModel and DynamicModel)
* removed sparse static file (to be later replaced by new algorithm for steady state computation on large models)


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2592 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-14 14:39:53 +00:00
ferhat 7b990f4526 The sparse option in model is now compatible with homotopy => preprocessor commit
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2588 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-10 16:56:27 +00:00
sebastien eb6b9b0414 trunk: fixed bug with USE_DLL (stoch_simul was calling stoch_simul_sparse, because of wrong handling of options_.model_mode)
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2571 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-04-09 10:02:45 +00:00
sebastien a0fbd7d198 trunk preprocessor:
* reorganized symbol table so that internally symbols have a unique integer ID (as a result, sparse code is temporarily in a broken state)
* rewritten from scratch ModFile::evalAllExpressions()
* {load,save}_params_and_steady_state moved to NumericalInitialization.{cc,hh}
* fixed bug related to endval block


git-svn-id: https://www.dynare.org/svn/dynare/trunk@2441 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-02-27 12:19:25 +00:00
sebastien 1740884d1d trunk preprocessor: automatic reindentation of all code with emacs
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2372 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-23 10:59:37 +00:00
sebastien 9d0d9f0f83 trunk preprocessor: allow arbitrary expressions (and not just constants) in estimated_params, estimated_params_init and estimated_params_bounds blocks
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2368 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-22 15:05:38 +00:00
sebastien 11f99f72a6 trunk preprocessor: fixed bug with estimated_params_init and estimated_params_bounds in conjunction with correlation of endogenous variables
git-svn-id: https://www.dynare.org/svn/dynare/trunk@2366 ac1d8469-bf42-47a9-8791-bf33cf982152
2009-01-22 10:10:39 +00:00
ferhat 644d8c8a98 Load_params_and_steady_state is now a dynare command -> needed to normalize the equations.
-> MatlabFile.cc and MatlabFile.hh are added to dynare in order to read the Mat-File

git-svn-id: https://www.dynare.org/svn/dynare/trunk@2349 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-31 19:29:17 +00:00
sebastien e4555087df trunk: fixed dsample command (was broken until now)
git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2301 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-12-08 16:19:59 +00:00
ferhat a67a20bf66 - new Incidence_Matrix class
- lead and lag on exogenous variables
- corrections in dr1_sparse and dr11_sparse
- minor corrections in simulate

git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2255 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-11-14 16:07:47 +00:00
sebastien 011944221c trunk:
* fixed displaying of subtitles when HP filter is present
* fail if HP filter required on empirical simulations (not yet implemented)


git-svn-id: https://www.dynare.org/svn/dynare/dynare_v4@2237 ac1d8469-bf42-47a9-8791-bf33cf982152
2008-11-04 11:00:54 +00:00