a) Each stochastic and logical node must appear once and only once on the left-hand-side of an expression. The only exception is when carrying out a data transformation (see Data transformations). This means, for example, that it is generally not possible to give a distribution to a quantity that is specified as a logical function of an unknown parameter.

b) Truncated sampling distributions cannot be handled using the

`C(.,.)`

construct - see BUGS language: stochastic nodes.c) Multivariate distributions: Wishart distributions may only be used as conjugate priors and must have known parameters; multivariate normal and Student-t distributions can be used anywhere in the graph (i.e. as prior or likelihood) and there are no restrictions regarding their parameters. See BUGS language: stochastic nodes.

d) Logical nodes cannot be given data or initial values. This means, for example, that it is not possible to model observed data that is the sum of two random variables. (See Logical nodes.)

When an error occurs in the syntax of the model specification or in the data or initial values the position of the error will be marked by changing the nearest symbol in the relevant window to inverse video, you must make sure the title bar of this window is selected to be able locate the position of the error. Errors can still occur with a model even if it is syntactically correct. When this happens the error message contains the name of the variable for which the error occurs.

Some common error messages are:

a)

b)

c)

d)

e)

f)

g)

In rare cases

The trap window contains detailed information to help locate the position of the problem in the source code plus information about what was happening at the time the error occurred. The information in the trap window is arranged in three columns, each column can contain blue diamonds (see the developer manual for more details on blue diamonds). The first column contains procedure names and underneath the procedure name local variables in that procedure. The second column contains information on the type of the local variable. The third column gives the value of the local variable. The first procedure in the left hand column is where the error causing the trap occurred, clicking on the blue diamond in the second column on a level with this procedure name will open a window showing the source code of the procedure and the exact position where the error occurred. The second procedure name in the first column is the procedure which called the procedure where the error occurred and so on. The blue diamonds on the left side of the first column give information about global variables in the module which encloses the procedure, clicking on these blue diamonds will open a new window showing the global variable. Blue diamonds to the right of the third column give information about pointer type variables, while the folds like fields give information about structured variables.

A section of a typical trap widow is shown below (in this case

Some common illegal actions detected by the run time system are:

a)

- initial values generated from a 'vague' prior distribution may be numerically extreme - specify appropriate initial values;

- numerically impossible values such as log of a non-positive number - check, for example, that no zero expectations have been given when Poisson modelling;

- numerical difficulties in sampling. Possible solutions include:

- better initial values;

- more informative priors - uniform priors might still be used but with their range restricted to plausible values;

- better parameterisation to improve orthogonality;

- standardisation of covariates to have mean 0 and standard deviation 1.

- can happen if all initial values are equal.

b)

- attempting to assign values beyond the declared length of an array;

c)

d)

e)

a) a problem that seems to happen with Windows NT - rebooting is a crude way out;

b) interference with other programs running - try to run WinBUGS on its own;

c) a particularly ill-posed model - try the approaches listed above under Trap messages.

a) better parameterisation to improve orthogonality of joint posterior

b) standardisation of covariates to have mean 0 and standard deviation 1

c) use of ordered over-relaxation.

For other problems, try the FAQ pages of the web site (http://openbugs.info).