4DModeller is a spatio-temporal modelling package that can be applied to problems at any scale from micro to processes that operate at a global scale. It includes data visualization tools, finite element mesh building tools, Bayesian hierarchical modelling based on Bayesian inference packages INLA and inlabru, and model evaluation and assessment tools.
4DModeller has been designed to make it easy to design spatially distributed, temporally dependent statistical models. Typically, 4DModeller expects tabular data sets with spatial coordinates, time indices, and the values that change or remain constant over those times. It is designed to be used in the modelling process once data has been sufficiently organized from wherever it was gathered from.
4DModeller has a stack of tools that include Shiny apps, tutorials as vignettes in R Markdown notebooks, and the package itself. These tools are designed to help you:
To get the 4DModeller R package fdmr
installed first you need to make sure you have a recent version of R installed.
The easiest way to do this is to install RStudio.
Next start an R session and run
install.packages("INLA", repos=c(getOption("repos"), INLA="https://inla.r-inla-download.org/R/testing"), dep=TRUE)
install.packages("devtools")
library(devtools)
devtools::install_github("4DModeller/fdmr")
You should now have fdmr
and all its dependencies installed and you can continue on one of our tutorials.
If your installation of INLA
fails, please consult the R-INLA website for platform-specific instructions.
On most systems the commands above should get you up and running. On some Linux systems we've found the need to
install some additional libraries before fdmr
's dependencies can be installed.
Using a fresh Ubuntu 20.04 install we found we needed to install the C and C++ compilers and some additional libraries. To install GCC, the GNU Compiler Collection and related tools run
sudo apt-get install build-essential
Then install the libraries required by our dependencies
sudo apt-get install libharfbuzz-dev libfribidi-dev libfreetype6-dev \
libpng-dev libtiff5-dev libjpeg-dev libudunits2-dev libgdal-dev
Note that on other Linux distributions the names of these packages may differ.
You can contribute to 4DModeller in a variety of ways including: responding to issues, introducing new features such as new tutorials or core functionality, or helping to plan a future 4DModeller hackathon. See below how to do each:
- Issues: Please checkout our issues page. If you see something you can solve then fork the repo, make the changes, then make a pull request. If you have an issue with 4DModeller, please open an issue instead.
- New Features: new features can be handled in two ways. First, you can suggest new features using the GitHub issue tracker. Second, you can contribute new features by forking the repo, creating the new tutorial or core functionality, then making a pull request.
- Hackathon Planning: If you would like to help organize a 4DModeller hackathon either by helping organize a core hackathon or by organizing one yourself at your institution, then please reach out to one of the 4DModeller developers.
If you make regular contributions through issues and new features then we would be happy to include you in the core group as a developer of 4DModeller.