\subsection{Data files}
\label{data}

Data files can be in a column or matrix format. A data file needs to be defined for each entity that contains a variable getting its values from data. 

Data files must be saved in ASCII format. All the rows (and columns) of a data file should be of equal length (e.g. no blank positions or uneven lines allowed). Accepted values are integers, real numbers and the missing value sign (*). Values are separated with a space on the rows. Comments are allowed in data files. The comment sign is `\#'. Empty lines are allowed in data files.

Missing values are denoted by `*'. Should a variable have missing values in its data, the variable needs a proposal distribution and initial values for missing data. Initial values and proposal distributions are defined in the simulation parameter files. The program considers missing values as parameters and proposes new values to them.

Should the entity's variables be in ``column format'', that is no ``combines'' word in the entity definition, then the data file has to be in column format. In column format each column defines one variable's values. It's possible for a data file in the format to contain more columns than actual variables which are defined in the model file. In this format, all the values in a column must be in the same format: integer or real. Note that in the real format the number `1' must be written as `1.0'.

If the entity combines two other entities, the variables defined inside the entity are in matrix format. In matrix format, the size of the data file is fixed by those two entities' data files, which the current entity combines.

\textbf{Example:}
\begin{verbatim}
ENTITY observation, "observations.txt", combines(square, bird)
{
		...
}
\end{verbatim}

Now the observation.txt must be in matrix format. The file must have as many rows as square entity's data file has and as many columns as bird entity's data file has rows. The data files also needs to be in either integer or real format.