diff --git a/.gitignore b/.gitignore index 8cf7e82..8b1d724 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /.quarto/ /_book/ .DS_Store +tmp diff --git a/data.qmd b/data.qmd index c6ddec7..8ca6c68 100644 --- a/data.qmd +++ b/data.qmd @@ -39,6 +39,8 @@ options(readr.show_col_types = F) ## Temperature + + ### Observed The [`rnoaa`](https://docs.ropensci.org/rnoaa/) R package uses NOAA NCDC API v2, which only goes to 2022-09-15. @@ -51,7 +53,7 @@ The [`rnoaa`](https://docs.ropensci.org/rnoaa/) R package uses NOAA NCDC API v2, * [Tampa International Airport](https://www.ncdc.noaa.gov/cdo-web/datasets/GHCND/stations/GHCND:USW00012842/detail) - Start Date: 1939-02-01 - - End Date: 2024-01-07 + - End Date: today - 3 days Got token at [ncdc.noaa.gov/cdo-web/token](https://www.ncdc.noaa.gov/cdo-web/token). Added variable `NOAA_NCDC_CDO_token` to: @@ -75,7 +77,7 @@ Got token at [ncdc.noaa.gov/cdo-web/token](https://www.ncdc.noaa.gov/cdo-web/tok options(noaakey = Sys.getenv("NOAA_NCDC_CDO_token")) # Specify datasetid and station -stn <- "GHCND:USW00012842" # TAMPA INTERNATIONAL AIRPORT, FL US +stn <- "GHCND:USW00012842" # TAMPA INTERNATIONAL AIRPORT, FL US stn_csv <- here("data/tpa_ghcnd.csv") stn_meta_csv <- here("data/tpa_meta.csv") @@ -185,11 +187,337 @@ d |> ``` -#### Satellite +TODO: +- trend analysis. e.g. [NOAA's Climate at a Glance](https://www.ncdc.noaa.gov/cag/global/time-series/globe/land_ocean/ytd/12/1880-2020). Typically based on the last 30 years, but here we've got back to 1939-02-01 so almost 100 years. Keep it 5 years and see how rate changing over time. + +- severe weather events? "Sea-level rise exponentially increases coastal flood frequency Mohsen taherkhani" +#### Satellite ## Precipitation +Materials: + +* "RAIN AS A DRIVER" in [tbep-os-presentations/state\_of\_the\_bay\_2023.qmd](https://github.com/tbep-tech/tbep-os-presentations/blob/6ff9054aa0eb1f194a9a28e3dc8b1eff02b6a58f/state_of_the_bay_2023.qmd#L354) + +* [Precipitation - NEXRAD QPE CDR | National Centers for Environmental Information (NCEI)](https://www.ncei.noaa.gov/products/climate-data-records/precipitation-nexrad-qpe) + +```{r} +#| eval: FALSE + +librarian::shelf( + dplyr, here, mapview, readxl, sf, tbep-tech/tbeptools) +# register with renv +library(dplyr) +library(here) +library(mapview) +library(readxl) +library(sf) +library(tbeptools) + +# from SWFWMD grid cells, use only if interested in areas finer than TB watershed +# this currently gets the same data as the compiled spreadsheet +grd <- st_read(here('../tbep-os-presentations/data/swfwmd-GARR-gisfiles-utm/swfwmd_pixel_2_utm_m_83.shp'), quiet = T) +mapView(grd) + +tbgrdcent <- grd %>% + st_transform(crs = st_crs(tbshed)) %>% + st_centroid() %>% + .[tbshed, ] + +# unzip folders +loc <- here('../tbep-os-presentations/data/swfwmd_rain') +# files <- list.files(loc, pattern = '.zip', full.names = T) +# lapply(files, unzip, exdir = loc) + +# read text files +raindat <- list.files(loc, pattern = '19.*\\.txt$|20.*\\.txt$', full.names = T) %>% + lapply(read.table, sep = ',', header = F) %>% + do.call('rbind', .) %>% + rename( + 'PIXEL' = V1, + 'yr' = V2, + 'inches' = V3) %>% + filter(PIXEL %in% tbgrdcent$PIXEL) + +# ave rain dat +raindatave <- raindat %>% + summarise( + inches = mean(inches, na.rm = T), + .by = 'yr') + +## +# use compiled SWFWMD data + +# # https://www.swfwmd.state.fl.us/resources/data-maps/rainfall-summary-data-region +# # file is from the link "USGS watershed" +# download.file( +# 'https://www4.swfwmd.state.fl.us/RDDataImages/surf.xlsx?_ga=2.186665249.868698214.1705929229-785009494.1704644825', +# here('data/swfwmdrainfall.xlsx'), +# mode = 'wb' +# ) + +raindatave_url <- "https://www4.swfwmd.state.fl.us/RDDataImages/surf.xlsx" +dir.create(here('data/swfwmd.state.fl.us')) +raindatave_xl <- here('data/swfwmd.state.fl.us/surf.xlsx') + +download.file(raindatave_url, raindatave_xl) +read_excel(raindatave_xl) + +download.file(raindatave_url, here('data/swfwmdrainfall.xlsx'), mode = 'wb') + +raindatave <- read_excel( + raindatave_xl, sheet = 'ann-usgsbsn', skip = 1) %>% + filter(Year %in% 1975:2023) %>% + select( + yr = Year, + inches = `Tampa Bay/Coastal Areas` + ) %>% + mutate_all(as.numeric) + +raindatave_now <- +readxl::read_excel() + +raindatave <- read_excel(here('data/swfwmdrainfall.xlsx'), sheet = 'ann-usgsbsn', skip = 1) %>% + filter(Year %in% 1975:2023) %>% + select( + yr = Year, + inches = `Tampa Bay/Coastal Areas` + ) %>% + mutate_all(as.numeric) + +# ave chldat +chlave <- anlz_avedat(epcdata) %>% + .$ann %>% + filter(var == 'mean_chla') %>% + summarise( + chla = mean(val, na.rm = T), + .by = 'yr' + ) %>% + filter(yr >= 1975) + +toplo <- inner_join(chlave, raindatave, by = 'yr') + +p1 <- ggplot(raindatave, aes(x = yr, y = inches)) + + geom_line() + + geom_point() + + geom_point(data = raindatave[chlave$yr == 2023, ], col = 'red', size = 2) + + theme_minimal() + + theme( + panel.grid.minor = element_blank(), + ) + + labs( + x = NULL, + y = 'Annual rainfall (inches)', + title = 'Annual rainfall', + subtitle = 'Tampa Bay watershed, 1975 - 2023' + ) + +p2 <- ggplot(chlave, aes(x = yr, y = chla)) + + geom_line() + + geom_point() + + geom_point(data = chlave[chlave$yr == 2023, ], col = 'red', size = 2) + + theme_minimal() + + theme( + panel.grid.minor = element_blank(), + ) + + labs( + x = NULL, + y = 'Chlorophyll-a (ug/L)', + title = 'Annual mean chlorophyll-a', + subtitle = 'All segments, 1975 - 2023' + ) + +p3 <- ggplot(toplo, aes(x = inches, y = chla)) + + geom_text_repel(aes(label = yr), point.size = NA, segment.size = NA) + + geom_label_repel(data = toplo[toplo$yr == 2023, ], aes(label = yr), color = 'red', point.size = NA) + + geom_smooth(formula = y ~ x, method = 'lm', se = F, color = 'red') + + # geom_segment(aes(x = 45, xend = 40, y = 4.86, yend = 4.86), color = 'red', arrow = arrow(length = unit(0.2, "inches")), linewidth = 1) + + theme_minimal() + + theme( + panel.grid.minor = element_blank(), + ) + + labs( + x = 'Annual rainfall (inches)', + y = 'Chlorophyll-a (ug/L)', + title = 'Annual mean chlorophyll-a vs. rainfall', + caption = 'Data from EPCHC, SWFWMD' + ) + +p <- (p1 / p2) | p3 +p +``` + +### rNOMADS + +```{r} +# librarian::shelf(rNOMADS) + + +``` + +### prism + +* [HMS: Hydrologic Micro Services | United States Environmental Protection Agency | US EPA](https://qed.epa.gov/hms/meteorology/humidity/algorithms/) + +> The [Parameter-elevation Relationship on Independent Slopes Model (PRISM)](https://prism.oregonstate.edu/) is a combined dataset consisting of ground gauge station and RADAR products. The data is on a 4km grid resolution covering the contiguous United States. Data is available from 1981 to present.PRISM data are reported in GMT (UTC). PRISM provides daily average temperature and dew-point temperature data. Relative humidity is calculated using a version of the [August-Roche-Magnus equation](https://bmcnoldy.rsmas.miami.edu/Humidity.html) as follows ): `RH = 100*(EXP((17.625*TD)/(243.04+TD))/EXP((17.625*T)/(243.04+T)))` where, `RH` is % relative humidity, `TD` is dew-point temperature (celsius), and `T` is air temperature (celsius). + +* [AHPS Precipitation Analysis](https://water.weather.gov/precip/about.php) + + > "Normal" precipitation is derived from PRISM climate data, created at Oregon State University. The PRISM gridded climate maps are considered the most detailed, highest-quality spatial climate datasets currently available. + +* [prism](https://docs.ropensci.org/prism/articles/prism.html#prism-data-and-parameters) R package + +Parameter | Description +----------|------------- +`tmin` | Minimum temperature +`tmax` | Maximum temperature +`tmean` | Mean temperature (`tmean == mean(tmin, tmax)`) +`tdmean` | Mean dew point temperature +`ppt` | Total precipitation (rain and snow) +`vpdmin` | Daily minimum vapor pressure deficit +`vpdmax` | Daily maximum vapor pressure deficit + +> Data are at 4km resolution, except for the normals which can also be downloaded at 800m resolution. + +Temporal data availability: + +- **Recent**\ + 1981 to present\ + daily, monthly, annual data + +- **Historical**\ + 1895 through 1980\ + complete monthly and annual data by year + +- **Normals**\ + 30-year normals + daily, monthly, and annual normals, each as a single grid + The 30 year PRISM normal from 1981-2010 is used for precipitation analysis since 2004. Prior to 2004 the 30 year PRISM normal from 1961-1990 is used. + +```{r} +#| label: get prism +#| messages: false +#| warning: false + +librarian::shelf(glue, here, lubridate, mapview, prism, stars, stringr, tbep-tech/tbeptools, terra) +# renv register libraries +library(glue) +library(here) +library(lubridate) +library(mapview) +library(prism) +library(stars) +library(stringr) +library(tbeptools) +library(terra) + +dir_prism <- here("tmp/prism") +dir.create(dir_prism, showWarnings = F) +prism_set_dl_dir(dir_prism) + +# get_prism_dailys( +# type = "tmean", +# minDate = today() - days(8), +# maxDate = today() - days(1), # up to yesterday +# keepZip = F) +# prism_archive_clean("tmean") +# https://prism.nacse.org/downloads/ +# https://prism.nacse.org/documents/PRISM_downloads_web_service.pdf +# http://services.nacse.org/prism/data/public/4km/tmin/20090405 + +# get_prism_dailys( +# type = "tmin", +# minDate = "2024-01-01", +# maxDate = "2024-03-07", +# keepZip = F) +# +# get_prism_dailys( +# type = "tmax", +# minDate = "2024-01-01", +# maxDate = "2024-03-07", +# keepZip = F) + +# Get monthly (every month) and annual 30-year normals for precipitation +# get_prism_normals( +# type = "ppt", +# resolution = "800m", +# mon = 1:12, +# annual = TRUE, +# keepZip = FALSE) + +# Plot the January 30-year average temperatures +# grab only the first value, just in case multiple values are returned +# pd_tmean_day <- prism_archive_subset( +# "tmean", "daily", dates = "2024-03-07") +# Error in pd_image(pd_tmean_day, col = "redblue") : +# You can only quick image one file at a time. +# > pd_tmean_day +# [1] "PRISM_tmean_early_4kmD2_20240307_bil" "PRISM_tmean_provisional_4kmD2_20240307_bil" +# prism_archive_clean("tmean", "daily") # 'cleans' the prism download data by removing early and/or provisional data if newer (provisional or stable) data also exist for the same variable and temporal period +pd_tmean_day <- prism_archive_subset( + "tmean", "daily", dates = "2024-03-07") +pd_image(pd_tmean_day, col="redblue") + +pd_ppt_nrml <- prism_archive_subset( + "ppt", "monthly normals", + mon = 1, resolution = "800m") +(path_ppt_nrml <- pd_to_file(pd_ppt_nrml)) + +# raster stack ---- +var <- "tmean" +period <- "daily" + +get_prism_dailys( + type = var, + minDate = today() - days(3), # last 3 days + maxDate = today() - days(1), # up to yesterday + keepZip = F) +prism_archive_clean(var, period) + +pd <- prism_archive_subset(var, period) +pd_dates <- pd_get_date(pd) + +r <- pd_stack(pd) |> + rast() +# tbshed_pd <- tbshed |> +tbshed_pd <- tbsegshed |> + st_transform(crs(r, proj=T)) +r_tb <- r |> + crop(tbshed_pd, mask = T, touches = T) |> + trim() + +# TODO: summarize by tbeptools::tbsegshed, zip code + +# r_tif <- here("tmp/prism", glue("tmean_20240307_bil") +# terra::writeRaster(r_tb, , overwrite = T) + +date <- max(pd_dates) +i <- which(pd_dates == date) +lyr <- glue("{var}
{period}
{date}") + +# terra::writeRaster(r_tb[[i]], here("tmp", glue("{var}_{date}.tif")), overwrite = T) + +mapView(r_tb[[i]], layer.name = lyr) + + mapView(tbshed_pd) +``` + + +TODO: + +- [ ] compare these precip data w/ Water District data to make case for using PRISM data + +Questions: + +1. Given variability within each polygon, which of these products shall we use to plot: min(min_temp), mean(mean_temp), max(max_temp); min(mean_temp), mean(mean_temp), max(max_temp)? + +### Communicating results + +* Choi et al. (2024) [North-South disparity in impact of climate change on “outdoor days”](https://journals.ametsoc.org/view/journals/clim/aop/JCLI-D-23-0346.1/JCLI-D-23-0346.1.xml). _Journal of Climate_ + * news summary: [A new way to quantify climate change impacts: “Outdoor days” | MIT News | Massachusetts Institute of Technology](https://news.mit.edu/2024/new-way-quantify-climate-change-impacts-outdoor-days-0322) + * Shiny app: [California Outdoor Days | Eltahir Research Group](https://eltahir.mit.edu/california-outdoor-days/) + + ## Sea Level Rise Sea level rise occurs from principally two sources: 1) thermal expansion; and 2) freshwater inputs from glacial melting. Data for these trends can be obtained from NOAA's [Sea Level Trends](https://tidesandcurrents.noaa.gov/sltrends/sltrends.html) (@fig-slr-noaa) @@ -208,6 +536,17 @@ Types of data: * [PORTS: Tampa Bay PORTS - NOAA Tides & Currents](https://tidesandcurrents.noaa.gov/ports/index.html?port=tb) +```{r} +librarian::shelf( + ropensci/rnoaa) +# register with renv +library(rnoaa) + + + +``` + + ### Satellite * [NOAA / NESDIS / STAR - Laboratory for Satellite Altimetry / Sea Level Rise](https://www.star.nesdis.noaa.gov/socd/lsa/SeaLevelRise/LSA_SLR_maps.php) diff --git a/data/swfwmd.state.fl.us/surf.xlsx b/data/swfwmd.state.fl.us/surf.xlsx new file mode 100644 index 0000000..548a72f Binary files /dev/null and b/data/swfwmd.state.fl.us/surf.xlsx differ diff --git a/renv.lock b/renv.lock index 1fccc7d..998154b 100644 --- a/renv.lock +++ b/renv.lock @@ -51,14 +51,14 @@ }, "DBI": { "Package": "DBI", - "Version": "1.2.0", + "Version": "1.2.2", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R", "methods" ], - "Hash": "3e0051431dff9acfe66c23765e55c556" + "Hash": "164809cd72e1d5160b4cb3aa57f510fe" }, "KernSmooth": { "Package": "KernSmooth", @@ -73,9 +73,9 @@ }, "MASS": { "Package": "MASS", - "Version": "7.3-60", + "Version": "7.3-60.0.1", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "grDevices", @@ -84,13 +84,13 @@ "stats", "utils" ], - "Hash": "a56a6365b3fa73293ea8d084be0d9bb0" + "Hash": "b765b28387acc8ec9e9c1530713cb19c" }, "Matrix": { "Package": "Matrix", - "Version": "1.6-4", + "Version": "1.6-5", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "grDevices", @@ -101,7 +101,7 @@ "stats", "utils" ], - "Hash": "d9c655b30a2edc6bb2244c1d1e8d549d" + "Hash": "8c7115cd3a0e048bda2a7cd110549f7a" }, "R6": { "Package": "R6", @@ -125,18 +125,18 @@ }, "Rcpp": { "Package": "Rcpp", - "Version": "1.0.11", + "Version": "1.0.12", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "methods", "utils" ], - "Hash": "ae6cbbe1492f4de79c45fce06f967ce8" + "Hash": "5ea2700d21e038ace58269ecdbeb9ec0" }, "XML": { "Package": "XML", - "Version": "3.99-0.16", + "Version": "3.99-0.16.1", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -144,7 +144,19 @@ "methods", "utils" ], - "Hash": "131e2febe15d5bbca3a37bd69e71b873" + "Hash": "da3098169c887914551b607c66fe2a28" + }, + "abind": { + "Package": "abind", + "Version": "1.4-5", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "methods", + "utils" + ], + "Hash": "4f57884290cc75ab22f4af9e9d4ca862" }, "askpass": { "Package": "askpass", @@ -190,6 +202,13 @@ ], "Hash": "9fe98599ca456d6552421db0d6772d8f" }, + "brew": { + "Package": "brew", + "Version": "1.0-10", + "Source": "Repository", + "Repository": "RSPM", + "Hash": "8f4a384e19dccd8c65356dc096847b76" + }, "bslib": { "Package": "bslib", "Version": "0.6.1", @@ -224,7 +243,7 @@ }, "callr": { "Package": "callr", - "Version": "3.7.3", + "Version": "3.7.5", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -233,7 +252,7 @@ "processx", "utils" ], - "Hash": "9b2191ede20fa29828139b9900922e51" + "Hash": "9f0e4fae4963ba775a5e5c520838c87b" }, "cellranger": { "Package": "cellranger", @@ -249,7 +268,7 @@ }, "chromote": { "Package": "chromote", - "Version": "0.1.2", + "Version": "0.2.0", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -262,9 +281,10 @@ "processx", "promises", "rlang", + "utils", "websocket" ], - "Hash": "14c8f71bf7b112634b154f8a6a0867e1" + "Hash": "3cfaf9cbd331e07055acada321664e12" }, "class": { "Package": "class", @@ -332,10 +352,10 @@ }, "commonmark": { "Package": "commonmark", - "Version": "1.9.0", + "Version": "1.9.1", "Source": "Repository", "Repository": "RSPM", - "Hash": "d691c61bff84bd63c383874d2d0c3307" + "Hash": "5d8225445acb167abf7797de48b2ee3c" }, "cpp11": { "Package": "cpp11", @@ -389,28 +409,28 @@ }, "curl": { "Package": "curl", - "Version": "5.2.0", + "Version": "5.2.1", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R" ], - "Hash": "ce88d13c0b10fe88a37d9c59dba2d7f9" + "Hash": "411ca2c03b1ce5f548345d2fc2685f7a" }, "data.table": { "Package": "data.table", - "Version": "1.14.10", + "Version": "1.15.2", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R", "methods" ], - "Hash": "6ea17a32294d8ca00455825ab0cf71b9" + "Hash": "536dfe4ac4093b5d115caed7a1a7223b" }, "dataRetrieval": { "Package": "dataRetrieval", - "Version": "2.7.14", + "Version": "2.7.15", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -424,18 +444,18 @@ "utils", "xml2" ], - "Hash": "6f41d853cf2b5d150c3d8de9fe9eca42" + "Hash": "fafb396875c3d89fd8e8e91789d2192f" }, "digest": { "Package": "digest", - "Version": "0.6.33", + "Version": "0.6.34", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "utils" ], - "Hash": "b18a9cf3c003977b0cc49d5e76ebe48d" + "Hash": "7ede2ee9ea8d3edbf1ca84c1e333ad1a" }, "dplyr": { "Package": "dplyr", @@ -541,7 +561,7 @@ }, "flextable": { "Package": "flextable", - "Version": "0.9.4", + "Version": "0.9.5", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -561,7 +581,7 @@ "uuid", "xml2" ], - "Hash": "db48820af2b3e5afa64726cf5615da27" + "Hash": "703b952d6be3f841274df7831ec95e5d" }, "fontBitstreamVera": { "Package": "fontBitstreamVera", @@ -620,7 +640,7 @@ }, "gdtools": { "Package": "gdtools", - "Version": "0.3.5", + "Version": "0.3.7", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -633,7 +653,7 @@ "systemfonts", "tools" ], - "Hash": "9df1d2b4f6cbc92ce6961d3f10156125" + "Hash": "b53e23731a5946448ad888efca14d2df" }, "generics": { "Package": "generics", @@ -646,6 +666,31 @@ ], "Hash": "15e9634c0fcd294799e9b2e929ed1b86" }, + "geojsonsf": { + "Package": "geojsonsf", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "Rcpp", + "geometries", + "jsonify", + "rapidjsonr", + "sfheaders" + ], + "Hash": "8d077646c6713838233e8710910ef92e" + }, + "geometries": { + "Package": "geometries", + "Version": "0.2.4", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "Rcpp" + ], + "Hash": "a722b946e99fd7a006ab1239c0d1b2bc" + }, "geonames": { "Package": "geonames", "Version": "0.999", @@ -676,7 +721,7 @@ }, "ggplot2": { "Package": "ggplot2", - "Version": "3.4.4", + "Version": "3.5.0", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -697,18 +742,18 @@ "vctrs", "withr" ], - "Hash": "313d31eff2274ecf4c1d3581db7241f9" + "Hash": "52ef83f93f74833007f193b2d4c159a2" }, "glue": { "Package": "glue", - "Version": "1.6.2", + "Version": "1.7.0", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "methods" ], - "Hash": "4f2596dfb05dac67b9dc558e5c6fba2e" + "Hash": "e0b3a53876554bd45879e596cdb10a52" }, "gridExtra": { "Package": "gridExtra", @@ -776,7 +821,7 @@ }, "hoardr": { "Package": "hoardr", - "Version": "0.5.3", + "Version": "0.5.4", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -784,7 +829,7 @@ "digest", "rappdirs" ], - "Hash": "2f9d1f66437468b32b49e3ccbe956579" + "Hash": "2f50e36abbb197b70c7dd55e7592b4f5" }, "htmltools": { "Package": "htmltools", @@ -827,7 +872,7 @@ }, "httpuv": { "Package": "httpuv", - "Version": "1.6.13", + "Version": "1.6.14", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -838,7 +883,7 @@ "promises", "utils" ], - "Hash": "d23d2879001f3d82ee9dc38a9ef53c4c" + "Hash": "16abeb167dbf511f8cc0552efaf05bab" }, "httr": { "Package": "httr", @@ -888,6 +933,18 @@ ], "Hash": "5aab57a3bd297eee1c1d862735972182" }, + "jsonify": { + "Package": "jsonify", + "Version": "1.2.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "Rcpp", + "rapidjsonr" + ], + "Hash": "49a9775e4f8c96c654b6018739067055" + }, "jsonlite": { "Package": "jsonlite", "Version": "1.8.8", @@ -961,6 +1018,25 @@ ], "Hash": "d908914ae53b04d4c0c0fd72ecc35370" }, + "leafem": { + "Package": "leafem", + "Version": "0.2.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "base64enc", + "geojsonsf", + "htmltools", + "htmlwidgets", + "leaflet", + "methods", + "png", + "raster", + "sf" + ], + "Hash": "6b43f986a9a0c1c1810b2deec71bfdf2" + }, "leaflet": { "Package": "leaflet", "Version": "2.2.1", @@ -997,6 +1073,22 @@ ], "Hash": "c0b81ad9d5d932772f7a457ac398cf36" }, + "leafpop": { + "Package": "leafpop", + "Version": "0.1.0", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "base64enc", + "brew", + "htmltools", + "htmlwidgets", + "sf", + "svglite", + "uuid" + ], + "Hash": "0c1e9e9a79598ec5acb1820d1948dae8" + }, "librarian": { "Package": "librarian", "Version": "1.8.1", @@ -1047,6 +1139,31 @@ ], "Hash": "7ce2733a9826b3aeb1775d56fd305472" }, + "mapview": { + "Package": "mapview", + "Version": "2.11.2", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "base64enc", + "htmltools", + "htmlwidgets", + "lattice", + "leafem", + "leaflet", + "leafpop", + "methods", + "png", + "raster", + "satellite", + "scales", + "servr", + "sf", + "sp" + ], + "Hash": "58f4c5693a12fd108a0c7996c18ebfba" + }, "memoise": { "Package": "memoise", "Version": "2.0.1", @@ -1060,9 +1177,9 @@ }, "mgcv": { "Package": "mgcv", - "Version": "1.9-0", + "Version": "1.9-1", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "Matrix", "R", @@ -1073,7 +1190,7 @@ "stats", "utils" ], - "Hash": "086028ca0460d0c368028d3bda58f31b" + "Hash": "110ee9d83b496279960e162ac97764ce" }, "mime": { "Package": "mime", @@ -1112,7 +1229,7 @@ }, "officer": { "Package": "officer", - "Version": "0.6.3", + "Version": "0.6.5", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1127,7 +1244,7 @@ "xml2", "zip" ], - "Hash": "8bf043833d27228a38e0be2517230bcd" + "Hash": "3a71a529237487233ead151cba12be3f" }, "openssl": { "Package": "openssl", @@ -1186,7 +1303,7 @@ }, "plotly": { "Package": "plotly", - "Version": "4.10.3", + "Version": "4.10.4", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1214,7 +1331,18 @@ "vctrs", "viridisLite" ], - "Hash": "56914cc61df53f2d0283d5498680867e" + "Hash": "a1ac5c03ad5ad12b9d1597e00e23c3dd" + }, + "plyr": { + "Package": "plyr", + "Version": "1.8.9", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "Rcpp" + ], + "Hash": "6b8177fd19982f0020743fadbfdbd933" }, "png": { "Package": "png", @@ -1236,6 +1364,23 @@ ], "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" }, + "prism": { + "Package": "prism", + "Version": "0.2.1", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "dplyr", + "ggplot2", + "httr", + "magrittr", + "raster", + "readr", + "stringr", + "utils" + ], + "Hash": "afa34e55047fc21538d74f397b35adb0" + }, "processx": { "Package": "processx", "Version": "3.8.3", @@ -1293,14 +1438,14 @@ }, "ps": { "Package": "ps", - "Version": "1.7.5", + "Version": "1.7.6", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R", "utils" ], - "Hash": "709d852d33178db54b17c722e5b1e594" + "Hash": "dd2b9319ee0656c8acf45c7f40c59de7" }, "purrr": { "Package": "purrr", @@ -1328,6 +1473,13 @@ ], "Hash": "90a1b8b7e518d7f90480d56453b4d062" }, + "rapidjsonr": { + "Package": "rapidjsonr", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "RSPM", + "Hash": "88b9f48c93d17cdb811b54079a6a414f" + }, "rappdirs": { "Package": "rappdirs", "Version": "0.3.3", @@ -1379,7 +1531,7 @@ }, "readr": { "Package": "readr", - "Version": "2.1.4", + "Version": "2.1.5", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1398,7 +1550,7 @@ "utils", "vroom" ], - "Hash": "b5047343b3825f37ad9d3b5d89aa1078" + "Hash": "9de96463d2117f6ac49980577939dfb3" }, "readxl": { "Package": "readxl", @@ -1458,20 +1610,20 @@ }, "rlang": { "Package": "rlang", - "Version": "1.1.2", + "Version": "1.1.3", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R", "utils" ], - "Hash": "50a6dbdc522936ca35afc5e2082ea91b" + "Hash": "42548638fae05fd9a9b5f3f437fbbbe2" }, "rmarkdown": { "Package": "rmarkdown", - "Version": "2.25", + "Version": "2.26", "Source": "Repository", - "Repository": "CRAN", + "Repository": "RSPM", "Requirements": [ "R", "bslib", @@ -1482,20 +1634,24 @@ "jsonlite", "knitr", "methods", - "stringr", "tinytex", "tools", "utils", "xfun", "yaml" ], - "Hash": "d65e35823c817f09f4de424fcdfa812a" + "Hash": "9b148e7f95d33aac01f31282d49e4f44" }, "rnoaa": { "Package": "rnoaa", "Version": "1.4.0", - "Source": "Repository", - "Repository": "RSPM", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteUsername": "ropensci", + "RemoteRepo": "rnoaa", + "RemoteRef": "master", + "RemoteSha": "95868c968c62768fe7e8143a8f631b97de120910", "Requirements": [ "XML", "crul", @@ -1515,7 +1671,7 @@ "utils", "xml2" ], - "Hash": "137d2d98a18c2eb7bec85f56bdd8dbe5" + "Hash": "fcc6fccb7053866617087be7bc4fc25e" }, "rprojroot": { "Package": "rprojroot", @@ -1553,6 +1709,27 @@ ], "Hash": "168f9353c76d4c4b0a0bbf72e2c2d035" }, + "satellite": { + "Package": "satellite", + "Version": "1.0.5", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "Rcpp", + "grDevices", + "graphics", + "methods", + "plyr", + "raster", + "stats", + "stats4", + "terra", + "tools", + "utils" + ], + "Hash": "090b32cb48a216b6eaf22a8c28047d8c" + }, "scales": { "Package": "scales", "Version": "1.3.0", @@ -1573,6 +1750,20 @@ ], "Hash": "c19df082ba346b0ffa6f833e92de34d1" }, + "servr": { + "Package": "servr", + "Version": "0.30", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "httpuv", + "jsonlite", + "mime", + "xfun" + ], + "Hash": "562294886e51319dfad3f3e6e61fb0b8" + }, "sf": { "Package": "sf", "Version": "1.0-15", @@ -1596,6 +1787,18 @@ ], "Hash": "f432b3379fb1a47046e253468b6b6b6d" }, + "sfheaders": { + "Package": "sfheaders", + "Version": "0.4.4", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "Rcpp", + "geometries" + ], + "Hash": "d63e904c63deda45f3f9149c7dcf8703" + }, "shiny": { "Package": "shiny", "Version": "1.8.0", @@ -1642,7 +1845,7 @@ }, "sp": { "Package": "sp", - "Version": "2.1-2", + "Version": "2.1-3", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1655,7 +1858,24 @@ "stats", "utils" ], - "Hash": "40a9887191d33b2521a1d741f8c8aea2" + "Hash": "1a0cc0cec2915700e63fd0921085cf6a" + }, + "stars": { + "Package": "stars", + "Version": "0.6-5", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "abind", + "classInt", + "methods", + "parallel", + "rlang", + "sf", + "units" + ], + "Hash": "7ce64dc10f536ec74475652a2fd764fe" }, "stringi": { "Package": "stringi", @@ -1687,6 +1907,18 @@ ], "Hash": "960e2ae9e09656611e0b8214ad543207" }, + "svglite": { + "Package": "svglite", + "Version": "2.1.3", + "Source": "Repository", + "Repository": "RSPM", + "Requirements": [ + "R", + "cpp11", + "systemfonts" + ], + "Hash": "124a41fdfa23e8691cb744c762f10516" + }, "sys": { "Package": "sys", "Version": "3.4.2", @@ -1707,14 +1939,15 @@ }, "tbeptools": { "Package": "tbeptools", - "Version": "2.0.1.9016", + "Version": "2.0.1.9020", "Source": "GitHub", "RemoteType": "github", - "RemoteHost": "api.github.com", - "RemoteRepo": "tbeptools", "RemoteUsername": "tbep-tech", + "RemoteRepo": "tbeptools", "RemoteRef": "HEAD", - "RemoteSha": "44c08a5262a1f1371e72161ffa8b66863df11daa", + "RemoteSha": "6fa2a75094008f8eeb60a84ab92c0a6b51d1da11", + "RemoteHost": "api.github.com", + "Remotes": "ropensci/rnoaa", "Requirements": [ "R", "dataRetrieval", @@ -1737,11 +1970,11 @@ "tidyr", "tools" ], - "Hash": "6602b13532623c77c4c0f0b279bd14ee" + "Hash": "d2fe48cff0cd482c3599867dbdf2b016" }, "terra": { "Package": "terra", - "Version": "1.7-65", + "Version": "1.7-71", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1749,7 +1982,7 @@ "Rcpp", "methods" ], - "Hash": "8e245fd4eab07bf55ddb2e6ea353c0e1" + "Hash": "e8611881ab70a4fb7a1f629b31e6fcff" }, "textshaping": { "Package": "textshaping", @@ -1784,7 +2017,7 @@ }, "tidyr": { "Package": "tidyr", - "Version": "1.3.0", + "Version": "1.3.1", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1803,7 +2036,7 @@ "utils", "vctrs" ], - "Hash": "e47debdc7ce599b070c8e78e8ac0cfcf" + "Hash": "915fb7ce036c22a6a33b5a8adb712eb1" }, "tidyselect": { "Package": "tidyselect", @@ -1823,14 +2056,14 @@ }, "timechange": { "Package": "timechange", - "Version": "0.2.0", + "Version": "0.3.0", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R", "cpp11" ], - "Hash": "8548b44f79a35ba1791308b61e6012d7" + "Hash": "c5f3c201b931cd6474d17d8700ccb1c8" }, "tinytex": { "Package": "tinytex", @@ -1899,13 +2132,13 @@ }, "uuid": { "Package": "uuid", - "Version": "1.1-1", + "Version": "1.2-0", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R" ], - "Hash": "3d78edfb977a69fc7a0341bee25e163f" + "Hash": "303c19bfd970bece872f93a824e323d9" }, "vctrs": { "Package": "vctrs", @@ -1923,7 +2156,7 @@ }, "viridis": { "Package": "viridis", - "Version": "0.6.4", + "Version": "0.6.5", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -1932,7 +2165,7 @@ "gridExtra", "viridisLite" ], - "Hash": "80cd127bc8c9d3d9f0904ead9a9102f1" + "Hash": "acd96d9fa70adeea4a5a1150609b9745" }, "viridisLite": { "Package": "viridisLite", @@ -2000,16 +2233,15 @@ }, "withr": { "Package": "withr", - "Version": "2.5.2", + "Version": "3.0.0", "Source": "Repository", "Repository": "RSPM", "Requirements": [ "R", "grDevices", - "graphics", - "stats" + "graphics" ], - "Hash": "4b25e70111b7d644322e9513f403a272" + "Hash": "d31b6c62c10dcf11ec530ca6b0dd5d35" }, "wk": { "Package": "wk", @@ -2023,14 +2255,15 @@ }, "xfun": { "Package": "xfun", - "Version": "0.41", + "Version": "0.42", "Source": "Repository", "Repository": "RSPM", "Requirements": [ + "grDevices", "stats", "tools" ], - "Hash": "460a5e0fe46a80ef87424ad216028014" + "Hash": "fd1349170df31f7a10bd98b0189e85af" }, "xml2": { "Package": "xml2", @@ -2059,7 +2292,7 @@ }, "xts": { "Package": "xts", - "Version": "0.13.1", + "Version": "0.13.2", "Source": "Repository", "Repository": "RSPM", "Requirements": [ @@ -2067,7 +2300,7 @@ "methods", "zoo" ], - "Hash": "b8aa1235fd8b0ff10756150b792dc60f" + "Hash": "7a7e2b2f6ef5fa41fb766d2a885af39e" }, "yaml": { "Package": "yaml", @@ -2078,10 +2311,10 @@ }, "zip": { "Package": "zip", - "Version": "2.3.0", + "Version": "2.3.1", "Source": "Repository", "Repository": "RSPM", - "Hash": "d98c94dacb7e0efcf83b0a133a705504" + "Hash": "fcc4bd8e6da2d2011eb64a5e5cc685ab" }, "zoo": { "Package": "zoo",