4DModeller

4DModeller: a spatio-temporal modelling package - Published in JOSS (2025)

https://github.com/4dmodeller/fdmr

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
    6 of 14 committers (42.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Psychology Social Sciences - 40% confidence
Last synced: 6 months ago · JSON representation

Repository

4DModeller, Bayesian Spatio-temporal modeling in R

Basic Info
Statistics
  • Stars: 18
  • Watchers: 2
  • Forks: 14
  • Open Issues: 24
  • Releases: 1
Created almost 3 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License

README.md

4DModeller

R-CMD-check

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.

Why should I use 4DModeller?

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:

- easily build finite element meshes that models can be calculated on

- specify priors for the model to pick the best model hyperparameters

- evaluate the fully trained model output

Quickstart

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

R 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.

Installation

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.

Ubuntu 20.04

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

console sudo apt-get install build-essential

Then install the libraries required by our dependencies

console 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.

Want to contribute?

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:

  1. 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.
  2. 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.
  3. 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.

Owner

  • Name: 4DModeller
  • Login: 4DModeller
  • Kind: organization

JOSS Publication

4DModeller: a spatio-temporal modelling package
Published
February 19, 2025
Volume 10, Issue 106, Page 7047
Authors
John M. Aiken ORCID
Expert Analytics, Norway, University of Oslo, Norway
Gareth Jones ORCID
University of Bristol, UK
Xueqing Yin ORCID
University of Bristol, UK
Anrijs K. Abele ORCID
University of Bristol, UK
Christopher Woods ORCID
University of Bristol, UK
Richard M. Westaway ORCID
University of Bristol, UK
Jonathan L. Bamber ORCID
University of Bristol, UK, Technical University of Munich, Germany
Editor
Nikoleta Glynatsi ORCID
Tags
spatio-temporal modelling Bayesian inference INLA inlabru

GitHub Events

Total
  • Create event: 7
  • Release event: 2
  • Issues event: 8
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 13
  • Push event: 21
  • Pull request review event: 1
  • Pull request event: 17
  • Fork event: 2
Last Year
  • Create event: 7
  • Release event: 2
  • Issues event: 8
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 13
  • Push event: 21
  • Pull request review event: 1
  • Pull request event: 17
  • Fork event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 621
  • Total Committers: 14
  • Avg Commits per committer: 44.357
  • Development Distribution Score (DDS): 0.341
Past Year
  • Commits: 73
  • Committers: 5
  • Avg Commits per committer: 14.6
  • Development Distribution Score (DDS): 0.288
Top Committers
Name Email Commits
Gareth Jones o****g@g****m 409
Anrijs K. Abele 5****n 98
mnky9800n j****n@g****m 44
XueqingYin 8****n 40
desireetreichler d****r@g****o 9
Tian Li t****i@b****k 8
rwestaway r****y@b****k 5
Kristoffer Aalstad k****d@g****m 2
mmazzolini m****c@g****m 1
Jonathan Bamber j****r 1
El e****v@g****m 1
Julie Røste j****t@u****o 1
Désirée Treichler d****t@u****o 1
Alexander Minakov a****n@u****o 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 60
  • Total pull requests: 42
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 12 days
  • Total issue authors: 13
  • Total pull request authors: 7
  • Average comments per issue: 1.25
  • Average comments per pull request: 0.69
  • Merged pull requests: 39
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 6
  • Pull requests: 17
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 3 days
  • Issue authors: 3
  • Pull request authors: 5
  • Average comments per issue: 1.67
  • Average comments per pull request: 0.24
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • gareth-j (17)
  • mnky9800n (14)
  • aabelean (5)
  • PieterjanRobbe (5)
  • wcjochem (4)
  • sebsfox (1)
  • desireetreichler (1)
  • komoseid (1)
  • servinar (1)
  • Ruitangtang (1)
  • mmazzolini (1)
  • MargotK25 (1)
  • jroeste (1)
Pull Request Authors
  • aabelean (19)
  • rwestaway (11)
  • mnky9800n (10)
  • gareth-j (9)
  • icetianli (4)
  • Nikoleta-v3 (2)
  • danielskatz (2)
Top Labels
Issue Labels
bug (12) release-2 (7) map (7) future (7) hackathon-23 (6) documentation (6) plotting (5) enhancement (4) shiny (4) JOSS (3) high-priority (3) invalid (2) utrecht-sprint (2) INLA (1) oslo-sprint (1) windows (1) nice to have (1) question (1) snow (1) interface (1) hackathon-24 (1)
Pull Request Labels
documentation (3) hackathon-23 (3) plotting (1) utrecht-sprint (1)

Dependencies

.github/workflows/check-standard.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • GEOmap * imports
  • INLA >= 23.01.31 imports
  • Matrix * imports
  • archive * imports
  • colorspace * imports
  • config * imports
  • curl * imports
  • data.table * imports
  • dplyr * imports
  • fmesher * imports
  • fs * imports
  • geosphere * imports
  • ggplot2 * imports
  • gridExtra * imports
  • igraph * imports
  • inlabru * imports
  • leaflet * imports
  • lubridate * imports
  • magrittr * imports
  • methods * imports
  • ncdf4 * imports
  • plyr * imports
  • promises * imports
  • raster * imports
  • reshape2 * imports
  • rgdal * imports
  • rgeos * imports
  • scales * imports
  • sf * imports
  • shiny * imports
  • shinybusy * imports
  • sp * imports
  • spam * imports
  • spdep * imports
  • stringr * imports
  • tidyr * imports
  • utils * imports
  • bookdown * suggests
  • knitr * suggests
  • openssl * suggests
  • pkgdown * suggests
  • rcmdcheck * suggests
  • rmarkdown * suggests
  • stringi * suggests
  • testthat >= 3.0.0 suggests