Skip to content

Commit 550a17b

Browse files
authored
Merge pull request #3840 from omkarrr2533/fix/3599-move-optional-deps-to-suggests
Move optional dependencies from Imports to Suggests in PEcAn.data.land (#3599)
2 parents c3b9151 + 81a13f5 commit 550a17b

19 files changed

+123
-47
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ For more information about this file see also [Keep a Changelog](http://keepacha
2525
- Sensitivity analysis and ensemble runs now generate separate input design matrices with appropriate dimensions, fixing dimension mismatch errors in multisite workflows. (#3708)
2626
- Generated runs are now stored in a `runs_manifest.csv` file in the output directory instead of modifying `samples.Rdata` (#3708)
2727
- SDA workflows now maintain joint input sampling, via internal calls to `generate_joint_ensemble_design()` (#3634).
28+
* `PEcAn.data.land`: Moved optional dependencies `doSNOW`, `dplR`, `httr`,
29+
`MCMCpack`, `mvtnorm`, `neonUtilities`, `neonstore`, `PEcAn.benchmark`,
30+
`PEcAn.visualization`, `rjags`, `sirt`, and `sp` from `Imports` to
31+
`Suggests` (@omkarrr2533, #3599).
2832

2933

3034

CITATION.cff

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ authors:
127127
affiliation: CMR Institute of Technology, Bengaluru
128128
- given-names: Aritra Dey
129129
affiliation: National Institute of Technology, Tiruchirappalli
130+
- given-names: Om Kapale
131+
affiliation: Chatrapati Shahu Maharaj CSCOE, Maharashtra
132+
130133

131134
preferred-citation:
132135
type: article

docker/depends/pecan_package_dependencies.csv

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@
4545
"doSNOW","*","base/utils","Suggests",FALSE
4646
"doSNOW","*","modules/assim.sequential","Suggests",FALSE
4747
"doSNOW","*","modules/data.atmosphere","Suggests",FALSE
48-
"doSNOW","*","modules/data.land","Imports",FALSE
48+
"doSNOW","*","modules/data.land","Suggests",FALSE
4949
"doSNOW","*","modules/data.remote","Suggests",FALSE
50-
"dplR","*","modules/data.land","Imports",FALSE
50+
"dplR","*","modules/data.land","Suggests",FALSE
5151
"dplyr","*","base/qaqc","Imports",FALSE
5252
"dplyr","*","base/remote","Imports",FALSE
5353
"dplyr","*","base/utils","Imports",FALSE
@@ -127,7 +127,7 @@
127127
"here","*","base/db","Suggests",FALSE
128128
"httr","*","base/remote","Imports",FALSE
129129
"httr","*","modules/data.atmosphere","Imports",FALSE
130-
"httr","*","modules/data.land","Imports",FALSE
130+
"httr","*","modules/data.land","Suggests",FALSE
131131
"httr","*","modules/data.remote","Suggests",FALSE
132132
"IDPmisc","*","modules/assim.batch","Imports",FALSE
133133
"itertools","*","modules/assim.sequential","Suggests",FALSE
@@ -201,7 +201,7 @@
201201
"mclust","*","modules/rtm","Suggests",FALSE
202202
"MCMCpack","*","modules/allometry","Imports",FALSE
203203
"MCMCpack","*","modules/assim.batch","Imports",FALSE
204-
"MCMCpack","*","modules/data.land","Imports",FALSE
204+
"MCMCpack","*","modules/data.land","Suggests",FALSE
205205
"MCMCpack","*","modules/emulator","Imports",FALSE
206206
"methods","*","base/db","Imports",FALSE
207207
"methods","*","base/settings","Depends",FALSE
@@ -229,7 +229,7 @@
229229
"mvtnorm","*","modules/allometry","Imports",FALSE
230230
"mvtnorm","*","modules/assim.batch","Imports",FALSE
231231
"mvtnorm","*","modules/assim.sequential","Suggests",FALSE
232-
"mvtnorm","*","modules/data.land","Imports",FALSE
232+
"mvtnorm","*","modules/data.land","Suggests",FALSE
233233
"mvtnorm","*","modules/emulator","Imports",FALSE
234234
"ncdf4","*","base/db","Imports",FALSE
235235
"ncdf4","*","models/basgra","Imports",FALSE
@@ -258,8 +258,8 @@
258258
"ncdf4",">= 1.15","modules/benchmark","Imports",FALSE
259259
"ncdf4",">= 1.15","modules/data.atmosphere","Imports",FALSE
260260
"ncdf4",">= 1.15","modules/data.land","Imports",FALSE
261-
"neonstore","*","modules/data.land","Imports",FALSE
262-
"neonUtilities","*","modules/data.land","Imports",FALSE
261+
"neonstore","*","modules/data.land","Suggests",FALSE
262+
"neonUtilities","*","modules/data.land","Suggests",FALSE
263263
"nimble","*","modules/assim.sequential","Imports",FALSE
264264
"nneo","*","modules/data.atmosphere","Imports",FALSE
265265
"optparse","*","base/settings","Imports",FALSE
@@ -272,7 +272,7 @@
272272
"PEcAn.benchmark","*","base/all","Depends",TRUE
273273
"PEcAn.benchmark","*","modules/assim.batch","Imports",TRUE
274274
"PEcAn.benchmark","*","modules/assim.sequential","Suggests",TRUE
275-
"PEcAn.benchmark","*","modules/data.land","Imports",TRUE
275+
"PEcAn.benchmark","*","modules/data.land","Suggests",TRUE
276276
"PEcAn.BIOCRO","*","base/all","Suggests",TRUE
277277
"PEcAn.BIOCRO","*","base/qaqc","Suggests",TRUE
278278
"PEcAn.DALEC","*","base/all","Suggests",TRUE
@@ -439,7 +439,7 @@
439439
"PEcAn.utils",">= 1.4.8","models/template","Imports",TRUE
440440
"PEcAn.utils",">= 1.8.0","models/rothc","Imports",TRUE
441441
"PEcAn.visualization","*","modules/assim.sequential","Suggests",TRUE
442-
"PEcAn.visualization","*","modules/data.land","Imports",TRUE
442+
"PEcAn.visualization","*","modules/data.land","Suggests",TRUE
443443
"PEcAn.visualization","*","modules/priors","Suggests",TRUE
444444
"PEcAn.workflow","*","base/all","Depends",TRUE
445445
"PEcAn.workflow","*","modules/assim.batch","Imports",TRUE
@@ -491,7 +491,7 @@
491491
"reticulate","*","modules/data.remote","Imports",FALSE
492492
"rjags","*","base/utils","Suggests",FALSE
493493
"rjags","*","modules/assim.batch","Imports",FALSE
494-
"rjags","*","modules/data.land","Imports",FALSE
494+
"rjags","*","modules/data.land","Suggests",FALSE
495495
"rjags","*","modules/meta.analysis","Imports",FALSE
496496
"rjags","*","modules/photosynthesis","Depends",FALSE
497497
"rjags","*","modules/priors","Suggests",FALSE
@@ -576,11 +576,11 @@
576576
"sf","*","modules/data.land","Imports",FALSE
577577
"sf","*","modules/data.remote","Suggests",FALSE
578578
"SimilarityMeasures","*","modules/benchmark","Imports",FALSE
579-
"sirt","*","modules/data.land","Imports",FALSE
579+
"sirt","*","modules/data.land","Suggests",FALSE
580580
"sp","*","base/visualization","Suggests",FALSE
581581
"sp","*","modules/assim.sequential","Suggests",FALSE
582582
"sp","*","modules/data.atmosphere","Imports",FALSE
583-
"sp","*","modules/data.land","Imports",FALSE
583+
"sp","*","modules/data.land","Suggests",FALSE
584584
"sp","*","modules/data.remote","Imports",FALSE
585585
"stats","*","base/qaqc","Imports",FALSE
586586
"stats","*","models/rothc","Imports",FALSE

modules/data.land/DESCRIPTION

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,33 +27,21 @@ Depends: R (>= 4.1.0)
2727
Imports:
2828
coda,
2929
curl,
30-
doSNOW,
3130
dplyr,
32-
dplR,
3331
foreach,
3432
fs,
3533
future,
3634
furrr,
37-
httr,
3835
lubridate,
3936
magrittr,
40-
MCMCpack,
41-
mvtnorm,
4237
ncdf4 (>= 1.15),
43-
neonUtilities,
44-
neonstore,
45-
PEcAn.benchmark,
4638
PEcAn.DB,
4739
PEcAn.logger,
4840
PEcAn.remote,
4941
PEcAn.utils,
50-
PEcAn.visualization,
5142
purrr,
52-
rjags,
5343
rlang,
5444
sf,
55-
sirt,
56-
sp,
5745
stringr,
5846
terra,
5947
tidyr,
@@ -62,18 +50,30 @@ Imports:
6250
Suggests:
6351
dataone,
6452
datapack,
65-
jsonlite,
66-
jsonvalidate,
53+
doSNOW,
54+
dplR,
6755
getPass,
6856
glue,
57+
httr,
58+
jsonlite,
59+
jsonvalidate,
60+
MASS,
61+
MCMCpack,
62+
mvtnorm,
63+
neonUtilities,
64+
neonstore,
65+
PEcAn.benchmark,
6966
PEcAn.settings,
70-
redland,
67+
PEcAn.visualization,
7168
raster,
69+
redland,
7270
reticulate,
71+
rjags,
72+
sirt,
73+
sp,
7374
testthat (>= 3.1.0),
7475
traits,
75-
withr,
76-
MASS
76+
withr
7777
Remotes:
7878
github::ropensci/traits
7979
License: BSD_3_clause + file LICENSE

modules/data.land/NEWS.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@
1414
## Changed
1515

1616
* Package `traits`, used by `match_pft()` and `match_species_id()` only when no database connection is provided, is now suggested rather than required.
17-
17+
* Packages `doSNOW`, `dplR`, `httr`, `MCMCpack`, `mvtnorm`, `neonUtilities`,
18+
`neonstore`, `PEcAn.benchmark`, `PEcAn.visualization`, `rjags`, `sirt`, and
19+
`sp` are now suggested rather than required. They are only needed for
20+
specific optional functionality. (#3599)
1821

1922
# PEcAn.data.land 1.9.0
2023

modules/data.land/R/IC_BADM_Utilities.R

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,11 @@ EPA_ecoregion_finder <- function(Lat, Lon, folder.path = NULL){
315315
U.S.SB.sp <-
316316
data.frame(Lati = Lat %>% as.numeric(),
317317
Long = Lon %>% as.numeric())
318-
318+
if (!requireNamespace("sp", quietly = TRUE)) {
319+
PEcAn.logger::logger.severe(
320+
"Package 'sp' is required for spatial data processing but is not installed.",
321+
"Please install it with: install.packages('sp')")
322+
}
319323
sp::coordinates(U.S.SB.sp) <- ~ Long + Lati
320324
# L1 layer
321325
L1 <-

modules/data.land/R/InventoryGrowthFusion.R

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,8 +454,12 @@ model{
454454

455455

456456
PEcAn.logger::logger.info("COMPILE JAGS MODEL")
457+
if (!requireNamespace("rjags", quietly = TRUE)) {
458+
PEcAn.logger::logger.severe(
459+
"Package 'rjags' is required for JAGS model fitting but is not installed.",
460+
"Please install it with: install.packages('rjags')")
461+
}
457462
j.model <- rjags::jags.model(file = textConnection(TreeDataFusionMV), data = data, inits = init, n.chains = 3)
458-
459463
if(n.burn > 0){
460464
PEcAn.logger::logger.info("BURN IN")
461465
jags.out <- rjags::coda.samples(model = j.model,

modules/data.land/R/InventoryGrowthFusionDiagnostics.R

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@
55
##' @author Michael Dietze
66
##' @export
77
InventoryGrowthFusionDiagnostics <- function(jags.out, combined=NULL) {
8-
9-
out <- as.matrix(jags.out)
8+
if (!requireNamespace("PEcAn.visualization", quietly = TRUE)) {
9+
PEcAn.logger::logger.severe(
10+
"Package 'PEcAn.visualization' is required for diagnostic plots but is not installed.",
11+
"Please install it via the PEcAn project: https://github.com/PecanProject/pecan")
12+
}
13+
out <- as.matrix(jags.out)
1014
x.cols <- which(substr(colnames(out), 1, 1) == "x")
1115
if(length(x.cols) > 0){
1216
ci <- apply(out[, x.cols], 2, stats::quantile, c(0.025, 0.5, 0.975))

modules/data.land/R/Read_Tuscon.R

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,15 @@ Read_Tucson <- function(folder) {
5757
if (length(corrected) > 0) {
5858
filenames <- filenames[-corrected]
5959
}
60+
if (!requireNamespace("dplR", quietly = TRUE)) {
61+
PEcAn.logger::logger.severe(
62+
"Package 'dplR' is required for reading Tucson format files but is not installed.",
63+
"Please install it with: install.packages('dplR')")
64+
}
6065
filedata <- list()
6166
for (file in filenames) {
6267
file <- Clean_Tucson(file)
63-
filedata[[file]] <- dplR::read.tucson(file, header = FALSE)
68+
filedata[[file]] <- dplR::read.tucson(file, header = FALSE)
6469
}
6570

6671
return(filedata)

modules/data.land/R/download_NEON_soilmoisture.R

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ download_NEON_soilmoist <- function(site, avg = "all", var = "all",
3737
outdir) {
3838

3939

40-
#################### Data Download from NEON ####################
40+
if (!requireNamespace("neonUtilities", quietly = TRUE)) {
41+
PEcAn.logger::logger.severe(
42+
"Package 'neonUtilities' is required for downloading NEON soil moisture data but is not installed.",
43+
"Please install it with: install.packages('neonUtilities')")
44+
}
45+
#################### Data Download from NEON ####################
4146
soil.raw = neonUtilities::loadByProduct(dpID = "DP1.00094.001", site = site, avg = avg, startdate = startdate, enddate = enddate, check.size = FALSE)
4247

4348
# Export into new folder in outdir

0 commit comments

Comments
 (0)