Skip to content

Commit 613357f

Browse files
author
Bart
committed
add references
1 parent e90df1d commit 613357f

6 files changed

Lines changed: 261 additions & 3 deletions

File tree

CITATION.cff

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@ message: 'To cite package "getRad" in publications use:'
88
type: software
99
license: MIT
1010
title: 'getRad: Download Radar Data for Biological Research'
11-
version: 0.3.0
11+
version: 0.3.0.9000
1212
doi: 10.32614/CRAN.package.getRad
13+
identifiers:
14+
- type: doi
15+
value: 10.32614/CRAN.package.getRad
1316
abstract: Load polar volume and vertical profile data for aeroecological research
1417
directly into R. With 'getRad' you can access data from several sources in Europe
1518
and the US and standardize it to facilitate further exploration in tools such as
@@ -30,6 +33,29 @@ authors:
3033
email: peter.desmet@inbo.be
3134
orcid: https://orcid.org/0000-0002-8442-8025
3235
affiliation: Research Institute for Nature and Forest (INBO)
36+
preferred-citation:
37+
type: manual
38+
title: 'getRad: Download Radar Data for Biological Research'
39+
authors:
40+
- family-names: Kranstauber
41+
given-names: Bart
42+
email: b.kranstauber@uva.nl
43+
orcid: https://orcid.org/0000-0001-8303-780X
44+
affiliation: University of Amsterdam
45+
- family-names: Huybrechts
46+
given-names: Pieter
47+
email: pieter.huybrechts@inbo.be
48+
orcid: https://orcid.org/0000-0002-6658-6062
49+
affiliation: Research Institute for Nature and Forest (INBO)
50+
- family-names: Desmet
51+
given-names: Peter
52+
email: peter.desmet@inbo.be
53+
orcid: https://orcid.org/0000-0002-8442-8025
54+
affiliation: Research Institute for Nature and Forest (INBO)
55+
year: '2026'
56+
notes: R package version 0.3.0
57+
url: https://CRAN.R-project.org/package=getRad
58+
doi: 10.32614/CRAN.package.getRad
3359
repository: https://CRAN.R-project.org/package=getRad
3460
repository-code: https://github.com/aloftdata/getRad
3561
url: https://aloftdata.github.io/getRad/

R/get_vpts.R

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,8 @@ get_vpts <- function(
283283
fetched_vpts <- purrr::map(
284284
fetched_vpts,
285285
~ .x[lubridate::`%within%`(.x$datetime, date_interval)]
286-
)
286+
) |>
287+
purrr::map(add_reference_vpts, source = source)
287288
if (length(fetched_vpts) != 1) {
288289
return(fetched_vpts)
289290
} else {
@@ -322,7 +323,11 @@ get_vpts <- function(
322323
\(df) dplyr::select(df, -source),
323324
.purrr_error_call = cl
324325
)
325-
vpts_list <- purrr::map(filtered_vpts_no_source, bioRad::as.vpts)
326+
vpts_list <- purrr::map(
327+
filtered_vpts_no_source,
328+
bioRad::as.vpts
329+
) |>
330+
purrr::map(add_reference_vpts, source = source)
326331
# If we are only returning a single radar, don't return a list
327332
if (length(vpts_list) == 1) {
328333
return(purrr::chuck(vpts_list, 1))

R/utils_vpts.R

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
add_reference_vpts <- function(x, source) {
2+
x$attributes$references <- c(vptsReferences[source], citation("getRad"))
3+
x
4+
}

R/zzz.R

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,125 @@
6363
invisible()
6464
}
6565
rlang::on_load(rlang::local_use_cli(inline = TRUE))
66+
67+
# References
68+
69+
vptsReferences <- c(
70+
"ecog-04003" = bibentry(
71+
bibtype = "Misc",
72+
key = "ecog-04003",
73+
author = c(
74+
person(given = "Cecilia", family = "Nilsson"),
75+
person(given = "Adriaan", family = "Dokter"),
76+
person(given = "Liesbeth", family = "Verlinden"),
77+
person(given = "Judy", family = "Shamoun-Baranes"),
78+
person(given = "Baptiste", family = "Schmid"),
79+
person(given = "Peter", family = "Desmet"),
80+
person(given = "Silke", family = "Bauer"),
81+
person(given = "Jason", family = "Chapman"),
82+
person(given = c("Jose", "A."), family = "Alves"),
83+
person(given = c("Phillip", "M."), family = "Stepanian"),
84+
person(given = "Nir", family = "Sapir"),
85+
person(given = "Charlotte", family = "Wainwright"),
86+
person(given = "Mathieu", family = "Boos"),
87+
person(given = "Anna", family = "Górska"),
88+
person(given = c("Myles", "H.", "M."), family = "Menz"),
89+
person(given = "Pedro", family = "Rodrigues"),
90+
person(given = "Hidde", family = "Leijnse"),
91+
person(given = "Pavel", family = "Zehtindjiev"),
92+
person(given = "Robin", family = "Brabant"),
93+
person(given = "Günther", family = "Haase"),
94+
person(given = "Nadja", family = "Weisshaupt"),
95+
person(given = "Michał", family = "Ciach"),
96+
person(given = "Felix", family = "Liechti")
97+
),
98+
title = "Supplementary material for 'Revealing patterns of nocturnal migration using the European weather radar network'",
99+
month = "apr",
100+
year = "2018",
101+
publisher = "Zenodo",
102+
doi = "10.5281/zenodo.1172801",
103+
url = "https://doi.org/10.5281/zenodo.1172801"
104+
),
105+
uva = bibentry(
106+
bibtype = "Misc",
107+
key = "uva",
108+
author = c(
109+
person(given = "Judy", family = "Shamoun-Baranes"),
110+
person(given = "Berend-Christiaan", family = "Wijers"),
111+
person(given = "Bart", family = "Kranstauber"),
112+
person(given = "Bart", family = "Hoekstra"),
113+
person(given = "Pieter", family = "Huybrechts"),
114+
person(given = c("Adriaan", "M."), family = "Dokter"),
115+
person(given = "Hidde", family = "Leijnse"),
116+
person(given = "Maarten", family = "Reyniers"),
117+
person(given = "Klaus", family = "Stephan"),
118+
person(given = "Peter", family = "Desmet")
119+
),
120+
title = "UVA_VPTS - Vertical profiles of biological targets derived from weather radars in Belgium, Germany and the Netherlands",
121+
month = "jan",
122+
year = "2025",
123+
publisher = "Research Institute for Nature and Forest (INBO)",
124+
doi = "10.5281/zenodo.14711244",
125+
url = "https://doi.org/10.5281/zenodo.14711244"
126+
),
127+
baltrad = bibentry(
128+
bibtype = "Misc",
129+
key = "baltrad",
130+
author = c(
131+
person(given = "Peter", family = "Desmet"),
132+
person(given = "Judy", family = "Shamoun-Baranes"),
133+
person(given = "Bart", family = "Kranstauber"),
134+
person(given = c("Adriaan", "M."), family = "Dokter"),
135+
person(given = "Nadja", family = "Weisshaupt"),
136+
person(given = "Baptiste", family = "Schmid"),
137+
person(given = "Silke", family = "Bauer"),
138+
person(given = "Günther", family = "Haase"),
139+
person(given = "Bart", family = "Hoekstra"),
140+
person(given = "Pieter", family = "Huybrechts"),
141+
person(given = "Hidde", family = "Leijnse"),
142+
person(given = "Nicolas", family = "Noé"),
143+
person(given = "Stijn", family = "Van Hoey"),
144+
person(given = "Berend-Christiaan", family = "Wijers"),
145+
person(given = "Cecilia", family = "Nilsson")
146+
),
147+
title = "BALTRAD_VPTS - Vertical profiles of biological targets derived from European weather radars",
148+
month = "jan",
149+
year = "2025",
150+
publisher = "Research Institute for Nature and Forest (INBO)",
151+
doi = "10.5281/zenodo.14711024",
152+
url = "https://doi.org/10.5281/zenodo.14711024"
153+
),
154+
dark_ecology = bibentry(
155+
bibtype = "Article",
156+
key = "dark_ecology",
157+
author = c(
158+
person(given = "Daniel", family = "Sheldon"),
159+
person(given = "Kevin", family = "Winner"),
160+
person(given = "Iman", family = "Deznabi"),
161+
person(given = "Garrett", family = "Bernstein"),
162+
person(given = "Pankaj", family = "Bhambani"),
163+
person(given = "Tsung-Yu", family = "Lin"),
164+
person(given = "Peter", family = "Desmet"),
165+
person(given = c("Adriaan", "M."), family = "Dokter"),
166+
person(given = c("Kyle", "G."), family = "Horton"),
167+
person(given = "Cecilia", family = "Nilsson"),
168+
person(given = c("Benjamin", "M."), family = "Van Doren"),
169+
person(given = "Andrew", family = "Farnsworth"),
170+
person(given = c("Frank", "A."), family = "La Sorte"),
171+
person(given = "Subhransu", family = "Maji")
172+
),
173+
title = "The Dark Ecology Dataset: Measurements of Aerial Biomass in US Weather Radar from 1995 to 2025",
174+
year = "2026",
175+
doi = "10.64898/2026.06.20.733536",
176+
publisher = "Cold Spring Harbor Laboratory",
177+
abstract = "The US NEXRAD radar network has monitored the aerosphere over the US and its territories continuously since the 1990s and archived nearly 300 million radar volume scans. These data contain a wealth of information about the movements of birds, bats, and insects. Historically, this biological information was difficult to access due to the amount of data and challenges in analyzing it. In the last 15 years, fueled by computational and methodological advances, large-scale aeroecology research has blossomed. However, comprehensive analyses of the NEXRAD archive remain very costly. We collected measurements of biological activity from every volume scan in the NEXRAD archive{\\textemdash}nearly 300 million data files total{\\textemdash}to assemble a dataset of aerial biomass over the US from 1995 to 2025. The core data are vertical profiles, which summarize biological activity at different heights above the radar station for each volume scan. We also provide time series data products that aggregate vertical profiles to point measurements at radar stations across time. These data products can support a range of aeroecology analyses at significantly reduced effort.Competing Interest StatementThe authors have declared no competing interest.U.S. National Science Foundation, https://ror.org/021nxhr62, 1661259, 1661329, 2210979Swiss National Science Foundation, https://ror.org/00yjd3n13, 31BD30_216840Belgian Federal Science Policy Office, RT/24/HiRADNetherlands Organisation for Applied Scientific Research, https://ror.org/01bnjb948, EP.1512.22.003Academy of Finland, 359864Leon Levy Foundation, https://ror.org/033hnyq61Lyda Hill Philanthropies, https://ror.org/032sf2845",
178+
url = "https://www.biorxiv.org/content/early/2026/06/23/2026.06.20.733536",
179+
eprint = "https://www.biorxiv.org/content/early/2026/06/23/2026.06.20.733536.full.pdf",
180+
journal = "bioRxiv"
181+
)
182+
)
183+
184+
66185
# see ?usethis::use_release_issue() #nolint
67186
release_bullets <- function() {
68187
c(

inst/CITATION

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
bibentry(
2+
bibtype = "Manual",
3+
key = "getRad",
4+
title ="getRad: Download Radar Data for Biological Research" ,
5+
author = c(person(given = "Bart",
6+
family = "Kranstauber",
7+
role = c("aut", "cre"),
8+
email = "b.kranstauber@uva.nl",
9+
comment = c(ORCID = "0000-0001-8303-780X", affiliation = "University of Amsterdam")),
10+
person(given = "Pieter",
11+
family = "Huybrechts",
12+
role = "aut",
13+
email = "pieter.huybrechts@inbo.be",
14+
comment = c(ORCID = "0000-0002-6658-6062", affiliation = "Research Institute for Nature and Forest (INBO)")),
15+
person(given = "Peter",
16+
family = "Desmet",
17+
role = "aut",
18+
email = "peter.desmet@inbo.be",
19+
comment = c(ORCID = "0000-0002-8442-8025", affiliation = "Research Institute for Nature and Forest (INBO)"))),
20+
21+
year = "2026",
22+
note = "R package version 0.3.0",
23+
url = "https://CRAN.R-project.org/package=getRad",
24+
doi = "10.32614/CRAN.package.getRad"
25+
)
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
test_that("Dark ecology reference", {
2+
dk_path <- system.file("extdata", "darkecology", package = "getRad")
3+
skip_if(
4+
dk_path == "",
5+
message = "No local data present for testing local read from dark ecology."
6+
)
7+
expect_s3_class(
8+
kcbx_vpts <- get_vpts(
9+
path = dk_path,
10+
radar = "KCBX",
11+
lubridate::interval(
12+
start = "20150101",
13+
end = "20150201"
14+
),
15+
source = "dark_ecology"
16+
),
17+
"vpts"
18+
)
19+
expect_identical(
20+
kcbx_vpts |> purrr::pluck("attributes", "references", 1),
21+
vptsReferences |> purrr::pluck("dark_ecology")
22+
)
23+
expect_s3_class(
24+
kcbx_vpts |> purrr::pluck("attributes", "references", 2),
25+
"bibentry"
26+
)
27+
expect_identical(
28+
kcbx_vpts |> purrr::pluck("attributes", "references", 2) |> attr("key"),
29+
"getRad"
30+
)
31+
})
32+
test_that("aloft reference", {
33+
expect_identical(
34+
get_vpts("bewid", as.Date("2023-2-1")) |>
35+
purrr::pluck("attributes", "references", 1),
36+
vptsReferences |> purrr::pluck("baltrad")
37+
)
38+
expect_identical(
39+
get_vpts("bewid", as.Date("2023-2-1"), source = "baltrad") |>
40+
purrr::pluck("attributes", "references", 1),
41+
vptsReferences |> purrr::pluck("baltrad")
42+
)
43+
expect_identical(
44+
get_vpts("nlhrw", as.Date("2023-2-1"), source = "uva") |>
45+
purrr::pluck("attributes", "references", 1),
46+
vptsReferences |> purrr::pluck("uva")
47+
)
48+
49+
expect_identical(
50+
get_vpts("nlhrw", as.Date("2016-10-6"), source = "ecog-04003") |>
51+
purrr::pluck("attributes", "references", 1),
52+
vptsReferences |> purrr::pluck("ecog-04003")
53+
)
54+
})
55+
56+
57+
test_that("rmi reference", {
58+
expect_identical(
59+
get_vpts("bewid", as.Date("2023-2-1"), source = "rmi") |>
60+
purrr::pluck("attributes", "references", 1),
61+
vptsReferences |> purrr::pluck("rmi")
62+
)
63+
})
64+
test_that("birdcast reference", {
65+
expect_identical(
66+
get_vpts("KABX", as.Date("2023-2-1"), source = "birdcast") |>
67+
purrr::pluck("attributes", "references", 1),
68+
vptsReferences |> purrr::pluck("birdcast")
69+
)
70+
})
71+
72+
73+
test_that("references exist for all sources", {
74+
expect_identical(
75+
vptsReferences |> names() |> sort(),
76+
rlang::fn_fmls(get_vpts)$source |> eval() |> sort()
77+
)
78+
expect_s3_class(vptsReferences, "bibentry")
79+
})

0 commit comments

Comments
 (0)