Skip to content

Commit 77e3e30

Browse files
authored
Merge branch 'JOSS' into devel
2 parents 0a9cf67 + 7e8cafe commit 77e3e30

File tree

3 files changed

+257
-0
lines changed

3 files changed

+257
-0
lines changed

.github/workflows/draft-pdf.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Draft PDF
2+
on:
3+
workflow_dispatch: {}
4+
push:
5+
branches:
6+
- JOSS
7+
8+
jobs:
9+
paper:
10+
runs-on: ubuntu-latest
11+
name: Paper Draft
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
- name: Build draft PDF
16+
uses: openjournals/openjournals-draft-action@master
17+
with:
18+
journal: joss
19+
# This should be the path to the paper within your repo.
20+
paper-path: man/paper.md
21+
- name: Upload
22+
uses: actions/upload-artifact@v3
23+
with:
24+
name: paper
25+
# This is the output path where Pandoc will write the compiled
26+
# PDF. Note, this should be the same directory as the input
27+
# paper.md
28+
path: man/paper.pdf

man/paper.bib

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
@article{Aiken:2018,
2+
author={{Aiken}, J.M. and {Aiken}, C. and {Cotton}, F.},
3+
title = "{A Python Library for Teaching Computation to Seismology Students}",
4+
journal = {Seismological Research Letters},
5+
volume = {89},
6+
number = {3},
7+
pages = {1165-1171},
8+
year = {2018},
9+
month = {03},
10+
issn = {0895-0695},
11+
doi = {10.1785/0220170246},
12+
url = {https://doi.org/10.1785/0220170246},
13+
eprint = {https://pubs.geoscienceworld.org/ssa/srl/article-pdf/89/3/1165/4127200/srl-2017246.1.pdf}
14+
}
15+
16+
@Article{Bachl:2019,
17+
author = {{Bachl}, F.E. and {Lindgren}, F. and {Borchers}, D.L. and {Illian}, J.B},
18+
title = {{inlabru}: an {R} package for {Bayesian} spatial modelling from ecological survey data},
19+
journal = {Methods in Ecology and Evolution},
20+
volume = {10},
21+
number = {},
22+
pages = {760--766},
23+
year = {2019},
24+
month = {},
25+
doi = {10.1111/2041-210X.13168},
26+
publisher = {British Ecological Society}
27+
}
28+
29+
@Online{CORDIS:2024,
30+
author = {{CORDIS}},
31+
title = {Global land ice, hydrology and ocean mass trends | GlobalMass},
32+
journal = {},
33+
volume = {},
34+
number = {},
35+
pages = {},
36+
year = {2024},
37+
month = {},
38+
doi = {10.3030/694188},
39+
url = {https://doi.org/10.3030/694188},
40+
urldate = {2024-05-17}
41+
}
42+
43+
@Article{Lindgren:2024a,
44+
author={{Lindgren}, F. and {Bachl}, F.E. and {Illian}, J. and {Suen} and {Rue}, H. and {Seaton}, A.E.},
45+
title={inlabru: software for fitting latent Gaussian models with non-linear predictors},
46+
year={2024},
47+
eprint={2407.00791},
48+
journal = {arXiv},
49+
doi = {10.48550/arXiv.2407.00791},
50+
url={https://arxiv.org/abs/2407.00791},
51+
}
52+
53+
@Misc{Lindgren:2024b,
54+
author = {{Lindgren}, F. and {Bachl}, F.E. and {Borchers}, D.L. and {Simpson}, D. and {Scott-Howard}, L. and {Seaton}, A.E. and {Suen}, M.H. and {Roudier}, P. and {Meehan}, T. and {Peddinenikalva}, N. and {Perepolkin}, D.},
55+
title = {inlabru},
56+
year = {2024},
57+
month = {},
58+
journal = {GitHub repository},
59+
url = {https://inlabru-org.github.io/inlabru},
60+
publisher = {GitHub}
61+
}
62+
63+
@Article{Rue:2009,
64+
author = {{Rue}, H. and {Martino}, S. and {Chopin}, N.},
65+
title = {Approximate Bayesian inference for latent Gaussian models by using integrated nested Laplace approximations},
66+
journal = {Journal of the Royal Statistical Society: Series B (Statistical Methodology)},
67+
volume = {71},
68+
number = {2},
69+
pages = {319-392},
70+
year = {2009},
71+
month = {},
72+
doi = {10.1111/j.1467-9868.2008.00700.x},
73+
url = {https://doi.org/10.1111/j.1467-9868.2008.00700.x},
74+
}
75+
76+
@book{Vygotsky:1978,
77+
author = {{Vygotsky}, L.S.},
78+
title = {Mind in Society: Development of Higher Psychological Processes},
79+
year = {1978},
80+
isbn = {9780674576285},
81+
url = {http://www.jstor.org/stable/j.ctvjf9vz4},
82+
doi = {10.2307/j.ctvjf9vz4},
83+
publisher = {Harvard University Press}
84+
}
85+
86+
@Article{Woods:2022,
87+
author = {{Woods}, C. and {Hedges}, L. and {Edsall}, C. and {Brooks-Pollock}, E. and {Parton-Fenton}, C. and {McKinley}, T.J. and {Keeling}, M.J. and {Danon}, L.},
88+
title = {MetaWards: A flexible metapopulation framework for modelling disease spread},
89+
journal = {Journal of Open Source Software},
90+
volume = {7},
91+
number = {70},
92+
pages = {3914},
93+
year = {2022},
94+
month = {},
95+
doi = {10.21105/joss.03914},
96+
url = {https://doi.org/10.21105/joss.03914},
97+
publisher = {The Open Journal}
98+
}
99+
100+
@Article{Yin:2023,
101+
author = {{Yin}, X. and {Aiken}, J.M. and {Bamber}, J.L.},
102+
title = {{4DModeller (fdmr): A Comprehensive R Package for Spatio-Temporal Modelling}},
103+
journal = {Spatial Data Science Symposium 2023 Short Paper Proceedings},
104+
volume = {},
105+
number = {},
106+
pages = {},
107+
year = {2023},
108+
month = {09},
109+
doi = {10.25436/E27C7F},
110+
url = {http://dx.doi.org/10.25436/E27C7F},
111+
publisher = {UC Santa Barbara: Center for Spatial Studies}
112+
}
113+
114+
@Article{Yin:2024,
115+
author = {{Yin}, X. and {Aiken}, J.M. and {Harris}, R. and {Bamber}, J.L.},
116+
title = {{A Bayesian spatio-temporal model of COVID-19 spread in England}},
117+
journal = {Scientific Reports},
118+
volume = {14},
119+
number = {1},
120+
pages = {},
121+
year = {2024},
122+
month = {05},
123+
doi = {10.1038/s41598-024-60964-0},
124+
url = {https://doi.org/10.1038/s41598-024-60964-0},
125+
publisher = {Springer Nature}
126+
}
127+
128+
@Article{Yuan:2017,
129+
author = {{Yuan}, Y. and {Bachl}, F.E. and {Lindgren}, F. and {Borchers}, D.L. and {Illian}, J.B. and {Buckland}, S.T. and {Rue}, H. and {Gerrodette}, T.},
130+
title = {Point process models for spatio-temporal distance sampling data from a large-scale survey of blue whales},
131+
journal = {Ann. Appl. Stat.},
132+
volume = {11},
133+
number = {4},
134+
pages = {2270--2297},
135+
year = {2017},
136+
month = {12},
137+
doi = {10.1214/17-AOAS1078},
138+
publisher = {The Institute of Mathematical Statistics},
139+
fjournal = {Annals of Applied Statistics}
140+
}
141+
142+
@Article{Ziegler:2022,
143+
author = {{Ziegler}, Y. and {Vishwakarma}, B.D. and {Brady}, A. and {Chuter}, S. and {Royston}, S. and {Westaway}, R.M. and {Bamber}, J.L.},
144+
title = {Can GPS and GRACE data be used to separate past and present-day surface loading in a data-driven approach?},
145+
journal = {Geophysical Journal International},
146+
volume = {232},
147+
number = {2},
148+
pages = {884-901},
149+
year = {2022},
150+
month = {09},
151+
doi = {10.1093/gji/ggac365},
152+
url = {https://doi.org/10.1093/gji/ggac365},
153+
issn = {0956-540X},
154+
eprint = {https://academic.oup.com/gji/article-pdf/232/2/884/46456258/ggac365.pdf}
155+
}
156+

man/paper.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: '4DModeller: a spatio-temporal modelling package'
3+
tags:
4+
- R
5+
- spatio-temporal modelling
6+
- Bayesian inference
7+
- INLA
8+
- inlabru
9+
authors:
10+
- name: John M. Aiken
11+
orcid: 0000-0003-2258-3836
12+
affiliation: "1, 2"
13+
- name: Gareth Jones
14+
orcid: 0000-0003-4814-5156
15+
affiliation: 3
16+
- name: Xueqing Yin
17+
orcid: 0000-0003-1103-8939
18+
affiliation: 3
19+
- name: Anrijs K. Abele
20+
orcid: 0000-0002-6053-2629
21+
affiliation: 3
22+
- name: Christopher Woods
23+
orcid: 0000-0001-6563-9903
24+
affiliation: 3
25+
- name: Richard M. Westaway
26+
orcid: 0000-0001-6102-1540
27+
affiliation: 3
28+
- name: Jonathan L. Bamber
29+
orcid: 0000-0002-2280-2819
30+
corresponding: true
31+
affiliation: "3, 4"
32+
affiliations:
33+
- name: Expert Analytics, Norway
34+
index: 1
35+
- name: University of Oslo, Norway
36+
index: 2
37+
- name: University of Bristol, UK
38+
index: 3
39+
- name: Technical University of Munich, Germany
40+
index: 4
41+
date: 12 July 2024
42+
bibliography: paper.bib
43+
---
44+
45+
# Summary
46+
47+
4DModeller (`fdmr`) is a spatio-temporal modelling package capable of solving a wide range of large-scale space-time (i.e. four-dimensional) problems [@Yin:2023]. It is built around the inlabru framework which is a suite of R codes for fast efficient Bayesian inference [@Yuan:2017; @Bachl:2019; @Lindgren:2024a]. The `fdmr` package expands the inlabru framework to include specific applications of latent variable modelling for 4-D geophysical problems (e.g. ocean heat content, the Earth’s magnetic field, and global sea-level rise). `fdmr` also includes shiny apps that provide tools for data visualization, finite element mesh building and Bayesian hierarchical modelling based on an R package for Bayesian inference, `inlabru`, along with model evaluation and assessment. These shiny apps are designed to make the complex INLA framework [@Rue:2009] and associated concepts accessible to a wider scientific community, including users who have little to no previous experience using R. The tools are designed with new users in mind by leveraging their expertise with their data sets while minimizing the need to develop extensive code in R [@Aiken:2018; @Vygotsky:1978]. They allow users to interact with their data first using the intuitive knowledge of the modelling process (input data, create mesh, calculate statistical model), then auto-generating code that the users can build on.
48+
49+
This is extended through the Tutorial Driven Software Development practice [@Woods:2022]. This approach is designed to integrate subject matter experts into the code development cycle. It involves the identification of representative and instructive use cases, followed by tutorials that describe how the package could be used to solve them, and then finally code written and tested so that it behaves as described in the tutorials [@Woods:2022]. `fdmr` users have access to a set of domain-specific tutorials as vignettes in R Markdown notebooks; tutorials which are being added to as the user community grows.
50+
51+
The current development of the `fdmr` package supports a wide range of spatially heterogeneous and areal data, including in-situ point observations and satellite data. Examples of the former are ground station air pollution observations, rain gauge data, ocean buoy measurements, or GPS ground displacements. For areal data, the domain mesh is fixed (of regular or irregular shape) and partitioned into areal units (e.g. triangles) with well-defined boundaries. Examples of areal data are attributes collected by postcode, satellite imagery, spatially gridded products such as climate re-analysis or land use classification.
52+
53+
Future package development efforts will focus on expanding its capabilities and broadening its applicability. Moreover, our team actively seeks interdisciplinary collaborations to further expand the modelling framework and tailor it to the specific needs of diverse disciplines.
54+
55+
# Statement of Need
56+
57+
The objective of the `fdmr` package is to provide researchers and practitioners with a straightforward and efficient solution for handling and analyzing different types of spatio-temporal data, enabling a comprehensive analysis of the underlying patterns, processes and trends.
58+
59+
Spatio-temporal data analysis is crucial in many research fields. However, modelling large-scale spatio-temporal data presents challenges such as high computational demands, complex correlation structures and the separation of mixed sources. Additionally, it requires expert domain knowledge to interpret model results. There are number of packages within the R ecosystem that perform various spatio-temporal functions (e.g., `spTimer`, MCMC modeling for space-time data; `spBayes`, MCMC modeling of random effects for space-time data; and `bmstdr`, a model comparison tool that uses MCMC, INLA, and other methods to fit to data and then compare between models). A critical expectation of each of these packages is a deep background in both Bayesian modeling and understanding Bayesian data. For example, users are expected to build their own fit equations, have a deep understanding of random effects, and are expected to be able to interpret predictions and uncertainties. However, none of these packages offer much if any scaffolding to do so.
60+
61+
`fdmr` attempts to bridge this gap and reduce the computational complexity for scientific users of handling high-resolution, high-dimensional spatio-temporal data. It has been developed as a robust and user-friendly R package designed to model spatio-temporal data within a Bayesian framework (`inlabru`) but without requiring users to have an in-depth knowledge of Bayesian statistics. Users have access to different solvers through the `inlabru` framework, such as the Integrated Nested Laplace Approximation (INLA) solver for approximate Bayesian inference and the stochastic partial differential equations (SPDE) method for defining a spatial model. Furthermore, `fdmr` provides intuitive and interactive visual analytics tools that facilitate the exploration of data patterns across both space and time. The goal is that `fdmr` will allow such tools to be used for process modelling (via Gaussian and Poisson processes) and for tasks such as latent process source separation [e.g. @Ziegler:2022] which both complements – and distinguishes it – from the existing example applications of `inlabru` [@Lindgren:2024b].
62+
63+
The work undertaken for 4DModeller extends the Bayesian hierarchical model developed as part of the ERC-funded GlobalMass grant (www.globalmass.eu) that advanced the use of space-time statistical inference to separate global sea level rise into its different sources [@CORDIS:2024]. The `fdmr` package has since been applied to several other use cases including COVID-19 transmission in England [@Yin:2024], streamflow in hydropower catchments in Norway, extreme rainfall in Nepal, changes in the Earth’s magnetic field and ocean heat content in the Pacific.
64+
65+
# Code Availability
66+
67+
The `fdmr` package and installation instructions are available from the 4DModeller GitHub repository (<https://4dmodeller.github.io/fdmr/index.html>) along with shiny apps and tutorials as vignettes in R Markdown notebooks.
68+
69+
# Acknowledgements
70+
71+
This work was supported by UK Research and Innovation grant EP/X022641/1. JLB was also supported by German Federal Ministry of Education and Research (BMBF) in the framework of the international future AI lab “AI4EO - Artificial Intelligence for Earth Observation: Reasoning, Uncertainties, Ethics, and Beyond” (grant number: 01DD20001). Code and tutorial development were aided by two hackathons (in Oslo in November 2023 and in Bristol in March 2024) which were only made possible by funding from the Research Council of Norway through the Svalbard Science Forum's funding program Svalbard Strategic Grant (project number: 344823).
72+
73+
# References

0 commit comments

Comments
 (0)