Skip to content

Commit

Permalink
Merge pull request PecanProject#3228 from istfer/rgdal_data_atmosphere
Browse files Browse the repository at this point in the history
Remove rgdal and maptools from data.atmosphere
  • Loading branch information
mdietze committed Nov 6, 2023
2 parents b344c8e + ea67c00 commit 91531ae
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 24 deletions.
4 changes: 2 additions & 2 deletions docker/depends/pecan.depends.R
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Sys.setenv(RLIB = rlib)

# install remotes first in case packages are references in dependencies
remotes::install_github(c(
'adokter/suntools',
'araiho/linkages_package',
'chuhousen/amerifluxr',
'ebimodeling/[email protected]',
Expand Down Expand Up @@ -76,7 +77,6 @@ wanted <- c(
'magic',
'magrittr',
'maps',
'maptools',
'markdown',
'MASS',
'Matrix',
Expand Down Expand Up @@ -113,7 +113,6 @@ wanted <- c(
'reshape',
'reshape2',
'reticulate',
'rgdal',
'rjags',
'rjson',
'rlang',
Expand All @@ -130,6 +129,7 @@ wanted <- c(
'stats',
'stringi',
'stringr',
'suntools',
'swfscMisc',
'terra',
'testthat',
Expand Down
6 changes: 4 additions & 2 deletions modules/data.atmosphere/DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ Imports:
jsonlite,
lubridate (>= 1.6.0),
magrittr,
maptools,
MASS,
mgcv,
ncdf4 (>= 1.15),
Expand All @@ -49,10 +48,12 @@ Imports:
raster,
REddyProc,
reshape2,
rgdal,
rlang (>= 0.2.0),
sf,
sp,
stringr (>= 1.1.0),
suntools,
terra,
testthat (>= 2.0.0),
tibble,
tidyr,
Expand All @@ -69,6 +70,7 @@ Suggests:
progress,
reticulate
Remotes:
github::adokter/suntools,
github::chuhousen/amerifluxr,
github::ropensci/geonames,
github::ropensci/nneo
Expand Down
2 changes: 1 addition & 1 deletion modules/data.atmosphere/NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -113,5 +113,5 @@ export(write_noaa_gefs_netcdf)
import(dplyr)
import(tidyselect)
importFrom(magrittr,"%>%")
importFrom(rgdal,checkCRSArgs)
importFrom(rlang,.data)
importFrom(sf,st_crs)
29 changes: 17 additions & 12 deletions modules/data.atmosphere/R/GEFS_helper_functions.R
Original file line number Diff line number Diff line change
Expand Up @@ -243,25 +243,30 @@ process_gridded_noaa_download <- function(lat_list,

for(hr in 1:length(curr_hours)){
file_name <- paste0(base_filename2, curr_hours[hr])
grib_file_name <- paste0(working_directory,"/", file_name,".grib")

if(file.exists(paste0(working_directory,"/", file_name,".grib"))){
grib <- rgdal::readGDAL(paste0(working_directory,"/", file_name,".grib"), silent = TRUE)
lat_lon <- sp::coordinates(grib)
if(file.exists(grib_file_name)){
grib_data <- terra::rast(grib_file_name)

## Convert to data frame
grib_data_df <- terra::as.data.frame(grib_data, xy=TRUE)
lat_lon <- grib_data_df[, c("x", "y")]

for(s in 1:length(site_id)){

index <- which(lat_lon[,2] == lats[s] & lat_lon[,1] == lons[s])

pressfc[s, hr] <- grib$band1[index]
tmp2m[s, hr] <- grib$band2[index]
rh2m[s, hr] <- grib$band3[index]
ugrd10m[s, hr] <- grib$band4[index]
vgrd10m[s, hr] <- grib$band5[index]
pressfc[s, hr] <- grib_data_df$`SFC=Ground or water surface; Pressure [Pa]`[index]
tmp2m[s, hr] <- grib_data_df$`2[m] HTGL=Specified height level above ground; Temperature [C]`[index]
rh2m[s, hr] <- grib_data_df$`2[m] HTGL=Specified height level above ground; Relative humidity [%]`[index]
ugrd10m[s, hr] <- grib_data_df$`10[m] HTGL=Specified height level above ground; u-component of wind [m/s]`[index]
vgrd10m[s, hr] <- grib_data_df$`10[m] HTGL=Specified height level above ground; v-component of wind [m/s]`[index]

if(curr_hours[hr] != "000"){
apcpsfc[s, hr] <- grib$band6[index]
tcdcclm[s, hr] <- grib$band7[index]
dswrfsfc[s, hr] <- grib$band8[index]
dlwrfsfc[s, hr] <- grib$band9[index]
apcpsfc[s, hr] <- grib_data_df$`SFC=Ground or water surface; 03 hr Total precipitation [kg/(m^2)]`[index]
tcdcclm[s, hr] <- grib_data_df$`RESERVED(10) (Reserved); Total cloud cover [%]`[index]
dswrfsfc[s, hr] <- grib_data_df$`SFC=Ground or water surface; Downward Short-Wave Rad. Flux [W/(m^2)]`[index]
dlwrfsfc[s, hr] <- grib_data_df$`SFC=Ground or water surface; Downward Long-Wave Rad. Flux [W/(m^2)]`[index]
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions modules/data.atmosphere/R/download.NARR_site.R
Original file line number Diff line number Diff line change
Expand Up @@ -465,9 +465,9 @@ latlon2narr <- function(nc, lat.in, lon.in) {
#' @inheritParams get_NARR_thredds
#' @return `sp::SpatialPoints` object containing transformed x and y
#' coordinates, in km, which should match NARR coordinates
#' @importFrom rgdal checkCRSArgs
#' @importFrom sf st_crs
# ^not used directly here, but needed by sp::CRS.
# sp lists rgdal in Suggests rather than Imports,
# sp lists sf in Suggests rather than Imports,
# so importing it here to ensure it's available at run time
#' @author Alexey Shiklomanov
#' @export
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,11 +216,11 @@ met_temporal_downscale.Gaussian_ensemble <- function(in.path, in.prefix, outfold
day <- as.POSIXct(sprintf("%s 12:00:00", date), tz = tz)
sequence <- seq(from = day, length.out = span, by = "days")

sunrise <- maptools::sunriset(lon.lat, sequence, direction = "sunrise",
sunrise <- suntools::sunriset(lon.lat, sequence, direction = "sunrise",
POSIXct.out = TRUE)
sunset <- maptools::sunriset(lon.lat, sequence, direction = "sunset",
sunset <- suntools::sunriset(lon.lat, sequence, direction = "sunset",
POSIXct.out = TRUE)
solar_noon <- maptools::solarnoon(lon.lat, sequence, POSIXct.out = TRUE)
solar_noon <- suntools::solarnoon(lon.lat, sequence, POSIXct.out = TRUE)

data.frame(date = as.Date(sunrise$time), sunrise = as.numeric(format(sunrise$time, "%H%M")),
solarnoon = as.numeric(format(solar_noon$time, "%H%M")),
Expand Down
4 changes: 2 additions & 2 deletions modules/data.atmosphere/tests/Rcheck_reference.log
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,13 @@ Found the following (possibly) invalid URLs:
The Date field is over a month old.
* checking package namespace information ... OK
* checking package dependencies ... WARNING
Imports includes 39 non-default packages.
Imports includes 40 non-default packages.
Importing from so many packages makes the package vulnerable to any of
them becoming unavailable. Move as many as possible to Suggests and
use conditionally.

* checking package dependencies ... NOTE
Imports includes 39 non-default packages.
Imports includes 40 non-default packages.
Importing from so many packages makes the package vulnerable to any of
them becoming unavailable. Move as many as possible to Suggests and
use conditionally.
Expand Down

0 comments on commit 91531ae

Please sign in to comment.