Marine aquaculture has the potential to be an important part of global food supply as a more sustainable option than land-based meat production (Gentry et al.). In this project we will use data surrounding bathymetry, sea surface temperature (SST), and Exclusive Economic Zones (EEZ) to determine west coast areas suitable for marine aquaculture. We will specifically explore areas suitable for oysters and spiny lobsters.
# Create raster stack for sstsst <-c(sst_2008, sst_2009, sst_2010, sst_2011, sst_2012)# check if coordinate reference systems match and update if notif(crs(sst) ==crs(depth) &crs(sst) ==crs(eez) &crs(depth) ==crs(eez)) {print("Coordinate reference systems match")} else{warning("Updating coordinate reference systems to match") sst <- sst %>%project("EPSG:4326")depth <- depth %>%project("EPSG:4326")eez <- eez %>%st_set_crs("EPSG:4326")}
Process Data
Show the code
# Find the mean SST from 2008-2012sst_mean <-mean(sst)# Convert average SST from Kelvin to Celsiussst_celsius <- (sst_mean -273.15)# Crop depth raster to match the extent of the SST raster# Resample the depth data to match the resolution of the SST data using the nearest neighbor approachdepth_res <-resample(crop(depth, sst_celsius), sst_celsius, method ="near")# Check that the depth and SST match in resolution, extent, and coordinate reference systemstacked <-c(depth_res, sst_celsius)
Determine suitable locations for Oysters
For optimal growth, oysters should be in areas with sea surface temperature of 11 - 30° C and at a depth of 0 - 70 meters below sea level.
Show the code
# Create reclassification matrix for sstcategories <-c("Unsuitable", "Suitable")sst_rcl <-matrix(c(-Inf, 11, 0,11, 30, 1,30, Inf, 0),ncol =3, byrow =TRUE)# Use reclassification matrix to reclassify SST rastersst_reclassified <-classify(sst_celsius, rcl = sst_rcl)# Create reclassification matrix for depthdepth_rcl <-matrix(c(-Inf, -70, 0,-70, 0, 1,0, Inf, 0),ncol =3, byrow =TRUE)# Use reclassification matrix to reclassify depth rasterdepth_reclassified <-classify(depth_res, rcl = depth_rcl)# Find locations that satisfy both SST and depth conditionsoyster_sst_depth <-lapp(c(sst_reclassified, depth_reclassified), function(x, y) x * y)
Show the code
# Rasterize EEZwc_rasterized <-rasterize(eez, oyster_sst_depth, field ='rgn')# Mask and calculate total areasuitable_cells <-mask(cellSize(oyster_sst_depth, unit ="km"), oyster_sst_depth, maskvalue =0)suitable_area <- terra::extract(suitable_cells, eez, fun = sum, na.rm =TRUE)names(suitable_area)[2] <-"area_km2"# Join eez and suitable areaseez_suitable_area <-left_join(eez, suitable_area, by =c("rgn_id"="ID")) %>%rename(suitable_area = area_km2.y)# Make tablekable(eez_suitable_area %>%st_drop_geometry() %>%select(Region = rgn,"Total Suitable Area(km<sup>2</sup>)"= suitable_area), caption ="Total suitable area of West Coast EEZs for oysters")
Total suitable area of West Coast EEZs for oysters
According to our data, Washington has the most total area in Exclusive Economic Zones that are suitable for oysters on the West Coast. This is followed by Central California, Southern California, Oregon and Northern California, respectively.
Generalize workflow
Show the code
depth_fun <-rast(here("data", "depth.tif"))eez_fun <-st_read(here("data","wc_regions_clean.shp"))suitable_eez <-function(species, min_depth, max_depth, min_temp, max_temp) {# Create raster stack for sstsst_fun <-c(sst_2008, sst_2009, sst_2010, sst_2011, sst_2012)# check if coordinate reference systems match and update if notif(crs(sst_fun) ==crs(depth_fun) &crs(sst_fun) ==crs(eez_fun) &crs(depth_fun) ==crs(eez_fun)) {print("Coordinate reference systems match")} else{warning("Updating coordinate reference systems to match") sst_fun <- sst_fun %>%project("EPSG:4326")depth_fun <- depth_fun %>%project("EPSG:4326")eez_fun <- eez_fun %>%st_set_crs("EPSG:4326")}# Find the mean SST from 2008-2012sst_mean_fun <-mean(sst_fun)# Convert average SST from Kelvin to Celsiussst_celsius_fun <- (sst_mean_fun -273.15)# Crop depth raster to match the extent of the SST raster# Resample the depth data to match the resolution of the SST data using the nearest neighbor approachdepth_res_fun <-resample(crop(depth_fun, sst_celsius_fun), sst_celsius_fun, method ="near")# Reclassify sst datasst_reclassified_fun <-classify(sst_celsius_fun, rcl =matrix(c(-Inf, min_temp, 0, min_temp, max_temp, 1, max_temp, Inf, 0), ncol =3, byrow =TRUE)) depth_reclassified_fun <-classify(depth_res_fun, rcl =matrix(c(-Inf, -max_depth, 0, -max_depth, -min_depth, 1, -min_depth, Inf, 0), ncol =3, byrow =TRUE))# Combine suitabilitysst_depth_fun <-lapp(c(sst_reclassified_fun, depth_reclassified_fun), function(x, y) x * y)# Rasterize EEZwc_rasterized_fun <-rasterize(eez_fun, sst_depth_fun, field ='rgn')# Mask and calculate areasuitable_cells <-mask(cellSize(sst_depth_fun, unit ="km"), sst_depth_fun, maskvalue =0)suitable_area_fun <- terra::extract(suitable_cells, eez_fun, fun = sum, na.rm =TRUE)names(suitable_area_fun)[2] <-"area_km2"# Join eez and suitable areaseez_suitable_area_fun <-left_join(eez_fun, suitable_area_fun, by =c("rgn_id"="ID")) %>%rename(suitable_area = area_km2.y)# Map resultstmap_mode("view")area_map_fun <-tm_shape(eez_suitable_area_fun) +tm_fill(col ="suitable_area",title =paste("Total suitable area(km<sup>2</sup>) for ", species),palette ="Greens") +tm_borders() +tm_legend(legend.outside =TRUE) +tm_text("rgn", size =0.5) +tm_basemap("CartoDB.PositronNoLabels") +tm_layout(main.title =paste("Suitable EEZs for", species), main.title.position ="center") +tm_scale_bar() +tm_compass(position =c("bottomleft"))return(area_map_fun)}
Determine suitable locations for Spiny Lobster
For optimal growth, oysters should be in areas with sea surface temperature of 23.7 - 28° C and at a depth of 0 - 90 meters below sea level.
Show the code
# Use function for Spiny Lobstersuitable_eez(species ="Spiny Lobster", min_depth =0 , max_depth =90, min_temp =23.7, max_temp =28)
According to our data, Washington has the most total area in Exclusive Economic Zones that are suitable for Spiny Lobsters on the West Coast. This is followed by Central California, Oregon, Southern California, and Northern California, respectively.
Citations
Data
Citation
Link
Sea Surface Temperaature
National Oceanic and Atmospheric Administration. “NOAA Coral Reef Watch 5-km Satellite Sea Surface Temperature Anomaly Product.” Accessed Nov. 11, 2024.
Mapping the global potential for marine aquaculture.
Gentry, R. R., Froehlich, H. E., Grimm, D., Kareiva, P., Parke, M., Rust, M., Gaines, S. D., & Halpern, B. S. Mapping the global potential for marine aquaculture. Nature Ecology & Evolution, 1, 1317-1324 (2017)