Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

MVST v2.0

Important: For reproducibility of the RATES papers (prior to 2018) please install MVST v1.0 available from the list of releases (look up the Consolidated Release).


An R-Software package to facilitate the implementation and study of multi-variate spatio-temporal models, primarily in environmental applications.

Details: The study of environmental phenomena, particularly those which evolve in both space and time, has become increasingly difficult due to the prolific nature of satellite data and the sheer scale of the space-time domain under consideration. Further, observations of different nature, such as point-referenced observations or observations with a large support (which take averages or aggregate readings) frequently need to be considered simultaneously. Further, one generally needs to consider more than one evolving phenomenon, which may be interacting with each other. Today there are methods and computational tools in place to harness these intrinsic difficulties. The purpose of this package is to wrap up theoretical results and linear algebraic tools to facilitate the study for the end-user.

Computationally tractability in these types of problems is maintained by (i) assuming that each spatial/spatio-temporal process under consideration is a Gaussian field, (ii) that each Gaussian field can be representatively decomposed on a finite-element mesh (using the approach of Lindgren et al. (2011)) and that the observations are corrupted with Gaussian noise. This results in a (large) Bayesian update which can be computed in a few lines of code. The difficulty, however, is not the update itself, rather the matrix construction when we have multiple interacting processes and multiple observations. For this reason, the package implements an object-oriented approach to the problem, where each process or observation is an object which can be linked to one another. The links effectively construct the incidence matrices which map the observations to the processes. Any number of links can be considered and the ease with which it is done allows for the manipulation of a large number of interacting spatio-temporal processes and observations with relative ease.

The abstraction in an object-oriented framework has several advantages. In particular, any basis set can be associated with a statistical model. I have restricted the use to a finite element basis, however the methods can easily be extended to consider an EOF basis or a bisquare basis, the interface to the user would remain unchanged. A further interesting feature is the ability to deal with observations seamlessly, using a common interface, irrespective of their nature. For example, due to the inheritance structure one may use same command to plot observations, irrespective of their spatial support. In this package I harness the flexibility of Hadley Wickham's ggplot2 package for plotting.

The package is still under development (and will always be), however it is in a good state to start being used by the end-user. A very simple hands-on tutorial on how to use the package can be seen in the accompanying vignette, while a full-blown application, containing 4 interacting spatio-temporal processes and 4 observations data sets, can be seen on our project website.

Installation tips

Some have found problems with installing in R > 3.0.2. Therefore I recommend using R3.0.2. To install, first install load Hadley Wickham's package devtools. To install devtools in Linux you first need to get libcurl4-openssl-dev, in Ubuntu one would type sudo apt-get install libcurl4-openssl-dev.

Once devtools is installed, enter R and in the console type


Some have found problems with automatic dependency list generation by devtools. To counter this I recommend installing the problematic packages separately.

If you are running an old Linux distro then you might have trouble installing rgdal, which you need only if you want to import TIF or TIFF files into your program. First you need to install gdal, and then proj.4. For gdal I suggest version 1.10.1 and for proj.4 version 4.8.0. I encountered some difficulties with proj.4 but the following links provided some answers

Note that if you are a local user you will need to alter the LD_LIBRARY_PATH, e.g. export LD_LIBRARY_PATH="/home/gdal/lib/:$HOME/proj/lib"

Also, you will need to point the install.packages function in the right direction e.g. install.packages("rgdal",configure.args=c('--with-proj-include=$HOME/proj4/include','--with-proj-lib=$HOME/proj4/lib'))

License and contact

Contact: Andrew Zammit-Mangion

Date: 18/08/2018

Copyright (c) 2018, under the Simplified BSD License.

For more information on FreeBSD see: All rights reserved.