From 929fe30b3012268829285a6b43900ee90ee413c3 Mon Sep 17 00:00:00 2001 From: GaitlynMalone-NOAA <115589280+GaitlynMalone-NOAA@users.noreply.github.com> Date: Fri, 6 Mar 2026 08:51:10 -0500 Subject: [PATCH 1/6] Add Analysis Ready outputs folder and associated reports --- .../MH_percentages.jpeg | Bin 0 -> 109498 bytes .../ManagementHistory_SEDARfiles.R | 1010 ++++++++++++++++ ...nalystBlueline Tilefish_Gulf18Feb2026.xlsx | Bin 0 -> 12290 bytes ...ry_DataAnalystCobia_ATLANTIC12Jan2026.xlsx | Bin 0 -> 12987 bytes ...istory_DataAnalystCobia_Gulf16Jan2026.xlsx | Bin 0 -> 12684 bytes ..._DataAnalystGag Grouper_Gulf17Feb2026.xlsx | Bin 0 -> 35113 bytes ...nalystGoldface Tilefish_Gulf18Feb2026.xlsx | Bin 0 -> 12289 bytes ...stRed Snapper_SOUTH ATLANTIC24Sep2025.xlsx | Bin 0 -> 21562 bytes ...bean Spiny Lobster_CARIBBEAN24Feb2026.xlsx | Bin 0 -> 7393 bytes ...t_Red Snapper_SOUTH ATLANTIC24Sep2025.xlsx | Bin 0 -> 27274 bytes ...ean_Spiny_Lobster_CARIBBEAN_24Feb2026.docx | Bin 0 -> 15364 bytes ..._Red_Snapper_SOUTH_ATLANTIC_24Sep2025.docx | Bin 0 -> 39783 bytes .../NumberofFrs.jpeg | Bin 0 -> 240747 bytes .../S103Carib_BagLimit.R | 1025 +++++++++++++++++ .../S103Carib_ComSize.R | 670 +++++++++++ .../S103Carib_TripLim.R | 427 +++++++ .../S103CaribbeanVisualizations.R | 260 +++++ .../S103_Closures.R | 217 ++++ 18 files changed, 3609 insertions(+) create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/MH_percentages.jpeg create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_SEDARfiles.R create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystBlueline Tilefish_Gulf18Feb2026.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystCobia_ATLANTIC12Jan2026.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystCobia_Gulf16Jan2026.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystGag Grouper_Gulf17Feb2026.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystGoldface Tilefish_Gulf18Feb2026.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystRed Snapper_SOUTH ATLANTIC24Sep2025.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_Report_Caribbean Spiny Lobster_CARIBBEAN24Feb2026.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_Report_Red Snapper_SOUTH ATLANTIC24Sep2025.xlsx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/ManagementHistory_Report_Caribbean_Spiny_Lobster_CARIBBEAN_24Feb2026.docx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/ManagementHistory_Report_Red_Snapper_SOUTH_ATLANTIC_24Sep2025.docx create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/NumberofFrs.jpeg create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_BagLimit.R create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_ComSize.R create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_TripLim.R create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/S103CaribbeanVisualizations.R create mode 100644 ODM-MH-Analysis_ready/Management History Comparison Files/S103_Closures.R diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/MH_percentages.jpeg b/ODM-MH-Analysis_ready/Management History Comparison Files/MH_percentages.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ad47727b5d35aff34faa86abeaf4d20b088c872f GIT binary patch literal 109498 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

3R$7JU^9*?p@z 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%0A&X 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 literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_SEDARfiles.R b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_SEDARfiles.R new file mode 100644 index 0000000..a31dad4 --- /dev/null +++ b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_SEDARfiles.R @@ -0,0 +1,1010 @@ +#### Management History Documentation #### +# This script creates standardized tables of management regulations for use in SEDAR stock assessment processes. +# It compiles data from the Management History Data Log and the closure expansion process into clean formats +# that summarize management values, such as ACLs, size limits, trip limits, bag limits, and closure periods by +# year for commercial and recreational sectors. +# The first portion of this script creates a table that can be more easily utilized by data analysts +# The second portion of this script creates tables that can be more easily utilized in reports + +# Part 1. Data Analyst Tables #### +##### Load packages #### +librarian::shelf(here, tidyverse, gt, flextable, officer, dplyr, gt, officer, lubridate, htmltools, rmarkdown, tidyr, openxlsx, stringr) + +#### Load data #### +# Load the MH Data Log +# This includes the full regulatory time series across species and FMPs +mh <- readRDS(here("ODM-MH-Data_log", "data", "results", "MH_DL_2025Nov18.RDS")) +# Correct the order for common name +mh <- mh %>% + mutate(COMMON_NAME_USE = str_to_title(trimws(gsub("^(.*), (.*)$", "\\2 \\1", COMMON_NAME_USE)))) + +# Load Closure file for species of interest +closures <- readRDS(here("ODM-MH-Analysis_ready", "Closures", "Closure_outputs", "Close_TILEFISH, GOLDFACE2026Feb18.RDS")) + +#### Define species and region of interest #### +spp = c('Caribbean Spiny Lobster', 'All') +region = c('CARIBBEAN') + + +#### Commercial sector processing #### +# Retain regulations for species and region of interest +# Remove non-detailed regulations and those that were never implemented +# Retain only full-region (ZONE_USE = ALL) and sector-wide (COMMERCIAL/ALL) regulations +mh_commercial <- mh %>% + filter(COMMON_NAME_USE == spp, + REGION %in% region, + ZONE_USE == "ALL", + DETAILED == "YES", + NEVER_IMPLEMENTED %in% c(0, NA), + SECTOR_USE == "COMMERCIAL", + SUBSECTOR_USE == "ALL") %>% + # Format data for table columns + # FMP_START = month-day when the FMP began + # YEAR = extract the year value from the START_DATE2 of the regulation + # Extract the value, start, end, and FR notice information for all of the MANAGEMENT_TYPE_USE of interest + mutate(FMP_START = case_when(ACTION_TYPE == "ORIGINAL FMP" ~ format(START_DATE2, "%m-%d"), + TRUE ~ NA), + YEAR = year(START_DATE2), + ACL = case_when(MANAGEMENT_TYPE_USE == "ACL" ~ VALUE, + TRUE ~ NA), + acl_value_prep = case_when(MANAGEMENT_TYPE_USE == "ACL" & VALUE_UNITS == "POUNDS" ~ "lbs", + TRUE ~ NA), + acl_type_prep = case_when(MANAGEMENT_TYPE_USE == "ACL" & VALUE_TYPE == "GUTTED WEIGHT" ~ "gw", + MANAGEMENT_TYPE_USE == "ACL" & VALUE_TYPE == "ROUND (WHOLE) WEIGHT" ~ "ww", + TRUE ~ NA), + ACL_UNIT = case_when(MANAGEMENT_TYPE_USE == "ACL" ~ paste(acl_value_prep, " ", acl_type_prep), + TRUE ~ NA), + ACL_FR = case_when(MANAGEMENT_TYPE_USE == "ACL" ~ FR_CITATION, + TRUE ~ NA), + MIN_SIZE = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ VALUE, + TRUE ~ NA), + MIN_START = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ START_DATE2, + TRUE ~ NA), + MIN_END = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ END_DATE2, + TRUE ~ NA), + MIN_FR = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ FR_CITATION, + TRUE ~ NA), + TRIP_LIMIT = case_when(MANAGEMENT_TYPE_USE == "TRIP LIMIT" ~ VALUE, + TRUE ~ NA), + TRIP_START = case_when(MANAGEMENT_TYPE_USE == "TRIP LIMIT" ~ START_DATE2, + TRUE ~ NA), + TRIP_END = case_when(MANAGEMENT_TYPE_USE == "TRIP LIMIT" ~ END_DATE2, + TRUE ~ NA), + TRIP_FR = case_when(MANAGEMENT_TYPE_USE == "TRIP LIMIT" ~ FR_CITATION, + TRUE ~ NA)) + +#### Determine Time Range #### +# Define the first year in the time series (min_year), the current year, and the terminal year +# Terminal year definition may need to be adjusted +mh_year_commercial <- mh_commercial %>% + summarise(min_year = min(YEAR, na.rm = TRUE)) %>% + mutate(current_year = year(Sys.Date()), + terminal_year = current_year - 1) + +#### Create a complete year sequence #### +# Year sequence should start from first year in time series to terminal year +years <- tibble(YEAR = mh_year_commercial$min_year:mh_year_commercial$terminal_year) + +#### Add Closure information #### +# Filter to commercial closures for the entire region +# Convert CLOSE/OPEN to sentence case +closure_commercial <- closures %>% + filter(SECTOR_USE == "COMMERCIAL") %>% + filter(ZONE_USE == "ALL") %>% + mutate(VALUE_CLOSURE = case_when(VALUE == "CLOSE" ~ "CLOSED", + TRUE ~ VALUE), + VALUE_CLOSURE = str_to_sentence(VALUE_CLOSURE)) + +#### Expand regulations across applicable years #### +# Each regulation is expanded across all years between its START and END date information +mh_commercial_expanded <- mh_commercial %>% + mutate(START_YEAR = year(START_DATE2), + END_YEAR = year(END_DATE2)) %>% + rowwise() %>% + mutate(YEAR_TEMP = list(START_YEAR:ifelse(is.na(END_YEAR), START_YEAR, END_YEAR))) %>% + unnest(cols = c(YEAR_TEMP)) %>% + ungroup() + +#### Ensure all years from min_year to current_year are included in full sequence +mh_commercial_complete <- years %>% + full_join(mh_commercial_expanded, by = c("YEAR" = "YEAR_TEMP")) + +#### Fill missing values for regulations so that each year has regulation values +mh_commercial_complete <- mh_commercial_complete %>% + arrange(YEAR) %>% + group_by(YEAR) %>% + fill(ACL, ACL_UNIT, ACL_FR, MIN_SIZE, MIN_START, MIN_END, MIN_FR, + TRIP_LIMIT, TRIP_START, TRIP_END, TRIP_FR, .direction = "downup") %>% + ungroup() + +#### Join closure data #### +# Combine closure days with regulation records +# If closure not available, default to full open year (Jan 1-Dec 31) +mh_commercial_closure <- mh_commercial_complete %>% + left_join(closure_commercial, by = "YEAR") %>% + mutate(VALUE_CLOSURE = ifelse(is.na(VALUE_CLOSURE), "Open", VALUE_CLOSURE), + start = case_when(is.na(start) ~ as.Date(paste0(YEAR, "-01-01")), + TRUE ~ start), + end = case_when(is.na(end) ~ as.Date(paste0(YEAR, "-12-31")), + TRUE ~ end), + ndays = case_when(is.na(ndays) ~ as.numeric(end - start + 1), + TRUE ~ ndays)) + +#### Collapse duplicate rows #### +# Retain multiple rows per YEAR with if there are distinct combinations of VALUE_CLOSURE, start, and end +mh_commercial_closure <- mh_commercial_closure %>% + group_by(YEAR, VALUE_CLOSURE) %>% + arrange(start, end) %>% + mutate(regulation_change = case_when(lag(MIN_SIZE, default = first(MIN_SIZE)) != MIN_SIZE ~ TRUE, + lag(TRIP_LIMIT, default = first(TRIP_LIMIT)) != TRIP_LIMIT ~ TRUE, + TRUE ~ FALSE), + period_change = case_when(lag(VALUE_CLOSURE, default = first(VALUE_CLOSURE)) != VALUE_CLOSURE ~ TRUE, + lag(start, default = first(start)) != start ~ TRUE, + TRUE ~ FALSE), + change_flag = regulation_change | period_change) %>% + filter(row_number() == 1 | change_flag) %>% + ungroup() + +#### Adjust start/end dates #### +# Align regulation start/end dates to closure periods +mh_commercial_closure <- mh_commercial_closure %>% + # Adjust START dates for each regulation type based on season open and closed dates + mutate(FMP_START_date = as.Date(FMP_START, format = "%Y-%m-%d"), + MIN_START = case_when(!is.na(MIN_START) & year(MIN_START) == YEAR & month(MIN_START) > month(start) ~ MIN_START, # Keep MIN_START if same year and regulation month is after start of fishing year + !is.na(MIN_START) & year(MIN_START) == YEAR & month(MIN_START) < month(start) ~ start, # Keep start if same year and regulation month is before start of fishing year + !is.na(MIN_START) & year(MIN_START) != YEAR ~ start, # Otherwise, use start if year is not the same + TRUE ~ MIN_START), + TRIP_START = case_when(!is.na(TRIP_START) & year(TRIP_START) == YEAR & month(TRIP_START) > month(start) ~ TRIP_START, # Keep TRIP_START if same year and month is after start of fishing year + !is.na(TRIP_START) & year(TRIP_START) == YEAR & month(TRIP_START) < month(start) ~ start, # Keep start if same year and regulation month is before start of fishing year + !is.na(TRIP_START) & year(TRIP_START) != YEAR ~ start, # Otherwise, use start if year is not the same + TRUE ~ TRIP_START), + # Adjust END dates for each regulation type based on season open and closed dates + MIN_END = case_when(!is.na(MIN_END) & year(MIN_END) == YEAR & month(MIN_END) < month(end) ~ MIN_END, # Keep MIN_END if same year and regulation end is prior to end of fishing season + !is.na(MIN_END) & year(MIN_END) == YEAR & month(MIN_END) > month(end) ~ end, # Keep end if same year and regulation ends after end of fishing season + !is.na(MIN_END) & year(MIN_END) != YEAR ~ end, # Otherwise, use end if year is not the same + TRUE ~ MIN_END), + TRIP_END = case_when(!is.na(TRIP_END) & year(TRIP_END) == YEAR & month(TRIP_END) >= month(start) & month(TRIP_END) < month(end) ~ TRIP_END, # Keep TRIP_END if same year and regulation end is prior to end of fishing season + !is.na(TRIP_END) & year(TRIP_END) != YEAR & month(TRIP_END) >= month(start)& month(TRIP_END) > month(end) ~ end, # Keep end if same year and regulation end is after end of fishing season + !is.na(TRIP_END) & year(TRIP_END) != YEAR ~ end, + TRUE ~ TRIP_END), + # If FMP_START_date exists, use that. Otherwise, use start + start = case_when(!is.na(FMP_START_date) ~ FMP_START_date, + TRUE ~ as.Date(start))) + +# Create final commercial table #### +# Indicate column order, adjust column labels, and date formats +mh_commercial_table <- mh_commercial_closure %>% + select(YEAR, VALUE_CLOSURE, ndays, start, end, ACL, ACL_UNIT, ACL_FR, MIN_SIZE, MIN_START, MIN_END, MIN_FR, + TRIP_LIMIT, TRIP_START, TRIP_END, TRIP_FR) %>% + arrange(YEAR, start, MIN_START, TRIP_START) %>% + mutate(YEAR = as.character(YEAR), + MIN_START = case_when(!is.na(MIN_START) ~ format(MIN_START, "%e-%b"), + TRUE ~ NA_character_), + MIN_END = case_when(!is.na(MIN_END) ~ format(MIN_END, "%e-%b"), + TRUE ~ NA_character_), + TRIP_START = case_when(!is.na(TRIP_START) ~ format(TRIP_START, "%e-%b"), + TRUE ~ NA_character_), + TRIP_END = case_when(!is.na(TRIP_END) ~ format(TRIP_END, "%e-%b"), + TRUE ~ NA_character_), + start = case_when(!is.na(start) ~ format(start, "%e-%b"), + TRUE ~ NA_character_), + end = case_when(!is.na(end) ~ format(end, "%e-%b"), + TRUE ~ NA_character_), + # Retain values when fishery is open + ACL = case_when(VALUE_CLOSURE == "Open" ~ ACL, + TRUE ~ NA_character_), + ACL_UNIT = case_when(VALUE_CLOSURE == "Open" ~ ACL_UNIT, + TRUE ~ NA_character_), + ACL_FR = case_when(VALUE_CLOSURE == "Open" ~ ACL_FR, + TRUE ~ NA_character_), + MIN_SIZE = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_SIZE, + TRUE ~ NA_character_), + MIN_START = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_START, + TRUE ~ NA_character_), + MIN_END = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_END, + TRUE ~ NA_character_), + MIN_FR = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_FR, + TRUE ~ NA_character_), + TRIP_LIMIT = case_when(VALUE_CLOSURE == "Open" & TRIP_START >= start & TRIP_START <= end ~ TRIP_LIMIT, + TRUE ~ NA_character_), + TRIP_START = case_when(VALUE_CLOSURE == "Open" & TRIP_START >= start & TRIP_START <= end~ TRIP_START, + TRUE ~ NA_character_), + TRIP_END = case_when(VALUE_CLOSURE == "Open" & TRIP_START >= start & TRIP_START <= end ~ TRIP_END, + TRUE ~ NA_character_), + TRIP_FR = case_when(VALUE_CLOSURE == "Open" & TRIP_START >= start & TRIP_START <= end ~ TRIP_FR, + TRUE ~ NA_character_)) %>% + rename("Year" = YEAR, + "ACL Unit" = ACL_UNIT, + "ACL FR Citation" = ACL_FR, + "Number of Days" = ndays, + "Fishing Season" = VALUE_CLOSURE, + "Season Start Date (first day implemented)" = start, + "Season End Date (last day effective)" = end, + "Minimum Size Limit (inches TL)" = MIN_SIZE, + "Minimum Size Limit Start Date" = MIN_START, + "Minimum Size Limit End Date" = MIN_END, + "Minimum Size Limit FR Citation" = MIN_FR, + "Retention (Trip) Limit (lbs gw)" = TRIP_LIMIT, + "Retention Limit Start Date" = TRIP_START, + "Retention Limit End Date" = TRIP_END, + "Retention Limit FR Citation" = TRIP_FR) + +#### Recreational sector processing #### +# Retain regulations for species and region of interest +# Remove non-detailed regulations and those that were never implemented +# Retain only full-region (ZONE_USE = ALL) and sector-wide (RECREATIONAL/ALL) regulations +mh_recreational <- mh %>% + filter(COMMON_NAME_USE == spp, + REGION %in% region, + ZONE_USE == "ALL", + DETAILED == "YES", + NEVER_IMPLEMENTED %in% c(0, NA), + SECTOR_USE == "RECREATIONAL", + SUBSECTOR_USE == "ALL") %>% + # Format data for table columns + # FMP_START = month-day when the FMP began + # YEAR = extract the year value from the START_DATE2 of the regulation + # Extract the value, start, end, and FR notice information for all of the MANAGEMENT_TYPE_USE of interest + mutate(FMP_START = case_when(ACTION_TYPE == "ORIGINAL FMP" ~ format(START_DATE2, "%m-%d"), + TRUE ~ NA), + YEAR = year(START_DATE2), + ACL = case_when(MANAGEMENT_TYPE_USE == "ACL" ~ VALUE, + TRUE ~ NA), + acl_value_prep = case_when(MANAGEMENT_TYPE_USE == "ACL" & VALUE_UNITS == "POUNDS" ~ "lbs", + TRUE ~ NA), + acl_type_prep = case_when(MANAGEMENT_TYPE_USE == "ACL" & VALUE_TYPE == "GUTTED WEIGHT" ~ "gw", + MANAGEMENT_TYPE_USE == "ACL" & VALUE_TYPE == "ROUND (WHOLE) WEIGHT" ~ "ww", + TRUE ~ NA), + ACL_UNIT = case_when(MANAGEMENT_TYPE_USE == "ACL" ~ paste(acl_value_prep, " ", acl_type_prep), + TRUE ~ NA), + ACL_FR = case_when(MANAGEMENT_TYPE_USE == "ACL" ~ FR_CITATION, + TRUE ~ NA), + MIN_SIZE = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ VALUE, + TRUE ~ NA), + MIN_START = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ START_DATE2, + TRUE ~ NA), + MIN_END = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ END_DATE2, + TRUE ~ NA), + MIN_FR = case_when(MANAGEMENT_TYPE_USE == "MINIMUM SIZE LIMIT" ~ FR_CITATION, + TRUE ~ NA), + BAG_LIMIT = case_when(MANAGEMENT_TYPE_USE == "BAG LIMIT" ~ VALUE, + TRUE ~ NA), + BAG_START = case_when(MANAGEMENT_TYPE_USE == "BAG LIMIT" ~ START_DATE2, + TRUE ~ NA), + BAG_END = case_when(MANAGEMENT_TYPE_USE == "BAG LIMIT" ~ END_DATE2, + TRUE ~ NA), + BAG_FR = case_when(MANAGEMENT_TYPE_USE == "BAG LIMIT" ~ FR_CITATION, + TRUE ~ NA)) + +#### Determine Time Range #### +# Define the first year in the time series (min_year), the current year, and the terminal year +# Terminal year definition may need to be adjusted +mh_year_recreational <- mh_recreational %>% + summarise(min_year = min(YEAR, na.rm = TRUE)) %>% + mutate(current_year = year(Sys.Date()), + terminal_year = current_year - 1) + +#### Create a complete year sequence #### +# Year sequence should start from first year in time series to terminal year +years <- tibble(YEAR = mh_year_recreational$min_year:mh_year_recreational$terminal_year) + +#### Add Closure information #### +# Filter to recreational closures for the entire region +# Convert CLOSE/OPEN to sentence case +closure_recreational <- closures %>% + filter(SECTOR_USE == "RECREATIONAL") %>% + filter(ZONE_USE == "ALL") %>% + mutate(VALUE_CLOSURE = case_when(VALUE == "CLOSE" ~ "CLOSED", + TRUE ~ VALUE), + VALUE_CLOSURE = str_to_sentence(VALUE_CLOSURE)) + +#### Expand regulations across applicable years #### +# Each regulation is expanded across all years between its START and END date information +mh_recreational_expanded <- mh_recreational %>% + mutate(START_YEAR = year(START_DATE2), + END_YEAR = year(END_DATE2)) %>% + rowwise() %>% + mutate(YEAR_TEMP = list(START_YEAR:ifelse(is.na(END_YEAR), START_YEAR, END_YEAR))) %>% + unnest(cols = c(YEAR_TEMP)) %>% + ungroup() + +#### Ensure all years from min_year to current_year are included in full sequence +mh_recreational_complete <- years %>% + full_join(mh_recreational_expanded, by = c("YEAR" = "YEAR_TEMP")) + +#### Fill missing values for regulations so that each year has regulation values +mh_recreational_complete <- mh_recreational_complete %>% + arrange(YEAR) %>% + group_by(YEAR) %>% + fill(ACL, ACL_UNIT, ACL_FR, MIN_SIZE, MIN_START, MIN_END, MIN_FR, + BAG_LIMIT, BAG_START, BAG_END, BAG_FR, .direction = "downup") %>% + ungroup() + +#### Join closure data #### +# Combine closure days with regulation records +# If closure not available, default to full open year (Jan 1-Dec 31) +mh_recreational_closure <- mh_recreational_complete %>% + left_join(closure_recreational, by = "YEAR") %>% + mutate(VALUE_CLOSURE = ifelse(is.na(VALUE_CLOSURE), "Open", VALUE_CLOSURE), + start = case_when(is.na(start) ~ as.Date(paste0(YEAR, "-01-01")), + TRUE ~ start), + end = case_when(is.na(end) ~ as.Date(paste0(YEAR, "-12-31")), + TRUE ~ end), + ndays = case_when(is.na(ndays) ~ as.numeric(end - start + 1), + TRUE ~ ndays)) + +#### Collapse duplicate rows #### +# Retain multiple rows per YEAR with if there are distinct combinations of VALUE_CLOSURE, start, and end +mh_recreational_closure <- mh_recreational_closure %>% + group_by(YEAR, VALUE_CLOSURE) %>% + arrange(start, end) %>% + mutate(regulation_change = case_when(lag(MIN_SIZE, default = first(MIN_SIZE)) != MIN_SIZE ~ TRUE, + lag(BAG_LIMIT, default = first(BAG_LIMIT)) != BAG_LIMIT ~ TRUE, + TRUE ~ FALSE), + period_change = case_when(lag(VALUE_CLOSURE, default = first(VALUE_CLOSURE)) != VALUE_CLOSURE ~ TRUE, + lag(start, default = first(start)) != start ~ TRUE, + TRUE ~ FALSE), + change_flag = regulation_change | period_change) %>% + filter(row_number() == 1 | change_flag) %>% + ungroup() + + +#### Adjust start/end dates #### +# Align regulation start/end dates to closure periods +mh_recreational_closure <- mh_recreational_closure %>% + # Adjust START dates for each regulation type based on season open and closed dates + mutate(FMP_START_date = as.Date(FMP_START, format = "%Y-%m-%d"), + MIN_START = case_when(!is.na(MIN_START) & year(MIN_START) == YEAR & month(MIN_START) > month(start) ~ MIN_START, # Keep MIN_START if same year and regulation month is after start of fishing year + !is.na(MIN_START) & year(MIN_START) == YEAR & month(MIN_START) < month(start) ~ start, # Keep start if same year and regulation month is before start of fishing year + !is.na(MIN_START) & year(MIN_START) != YEAR ~ start, # Otherwise, use start if year is not the same + TRUE ~ MIN_START), + BAG_START = case_when(!is.na(BAG_START) & year(BAG_START) == YEAR & month(BAG_START) > month(start) ~ BAG_START, # Keep BAG_START if same year and month is after start of fishing year + !is.na(BAG_START) & year(BAG_START) == YEAR & month(BAG_START) < month(start) ~ start, # Keep start if same year and regulation month is before start of fishing year + !is.na(BAG_START) & year(BAG_START) != YEAR ~ start, # Otherwise, use start if year is not the same + TRUE ~ BAG_START), + # Adjust END dates for each regulation type based on season open and closed dates + MIN_END = case_when(!is.na(MIN_END) & year(MIN_END) == YEAR & month(MIN_END) < month(end) ~ MIN_END, # Keep MIN_END if same year and regulation end is prior to end of fishing season + !is.na(MIN_END) & year(MIN_END) == YEAR & month(MIN_END) > month(end) ~ end, # Keep end if same year and regulation ends after end of fishing season + !is.na(MIN_END) & year(MIN_END) != YEAR ~ end, # Otherwise, use end if year is not the same + TRUE ~ MIN_END), + BAG_END = case_when(!is.na(BAG_END) & year(BAG_END) == YEAR & month(BAG_END) >= month(start) & month(BAG_END) < month(end) ~ BAG_END, # Keep BAG_END if same year and regulation end is prior to end of fishing season + !is.na(BAG_END) & year(BAG_END) != YEAR & month(BAG_END) >= month(start)& month(BAG_END) > month(end) ~ end, # Keep end if same year and regulation end is after end of fishing season + !is.na(BAG_END) & year(BAG_END) != YEAR ~ end, + TRUE ~ BAG_END), + # If FMP_START_date exists, use that. Otherwise, use start + start = case_when(!is.na(FMP_START_date) ~ FMP_START_date, + TRUE ~ as.Date(start))) + + +# Create final recreational table #### +# Indicate column order, adjust column labels, and date formats +mh_recreational_table <- mh_recreational_closure %>% + select(YEAR, VALUE_CLOSURE, ndays, start, end, ACL, ACL_UNIT, ACL_FR, MIN_SIZE, MIN_START, MIN_END, MIN_FR, + BAG_LIMIT, BAG_START, BAG_END, BAG_FR) %>% + arrange(YEAR, start, MIN_START, BAG_START) %>% + mutate(YEAR = as.character(YEAR), + MIN_START = case_when(!is.na(MIN_START) ~ format(MIN_START, "%e-%b"), + TRUE ~ NA_character_), + MIN_END = case_when(!is.na(MIN_END) ~ format(MIN_END, "%e-%b"), + TRUE ~ NA_character_), + BAG_START = case_when(!is.na(BAG_START) ~ format(BAG_START, "%e-%b"), + TRUE ~ NA_character_), + BAG_END = case_when(!is.na(BAG_END) ~ format(BAG_END, "%e-%b"), + TRUE ~ NA_character_), + start = case_when(!is.na(start) ~ format(start, "%e-%b"), + TRUE ~ NA_character_), + end = case_when(!is.na(end) ~ format(end, "%e-%b"), + TRUE ~ NA_character_), + # Retain values when fishery is open + ACL = case_when(VALUE_CLOSURE == "Open" ~ ACL, + TRUE ~ NA_character_), + ACL_UNIT = case_when(VALUE_CLOSURE == "Open" ~ ACL_UNIT, + TRUE ~ NA_character_), + ACL_FR = case_when(VALUE_CLOSURE == "Open" ~ ACL_FR, + TRUE ~ NA_character_), + MIN_SIZE = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_SIZE, + TRUE ~ NA_character_), + MIN_START = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_START, + TRUE ~ NA_character_), + MIN_END = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_END, + TRUE ~ NA_character_), + MIN_FR = case_when(VALUE_CLOSURE == "Open" & MIN_START >= start & MIN_START <= end ~ MIN_FR, + TRUE ~ NA_character_), + BAG_LIMIT = case_when(VALUE_CLOSURE == "Open" & BAG_START >= start & BAG_START <= end ~ BAG_LIMIT, + TRUE ~ NA_character_), + BAG_START = case_when(VALUE_CLOSURE == "Open" & BAG_START >= start & BAG_START <= end ~ BAG_START, + TRUE ~ NA_character_), + BAG_END = case_when(VALUE_CLOSURE == "Open" & BAG_START >= start & BAG_START <= end ~ BAG_END, + TRUE ~ NA_character_), + BAG_FR = case_when(VALUE_CLOSURE == "Open" & BAG_START >= start & BAG_START <= end ~ BAG_FR, + TRUE ~ NA_character_)) %>% + rename("Year" = YEAR, + "ACL Unit" = ACL_UNIT, + "ACL FR Citation" = ACL_FR, + "Number of Days" = ndays, + "Fishing Season" = VALUE_CLOSURE, + "Season Start Date (first day implemented)" = start, + "Season End Date (last day effective)" = end, + "Minimum Size Limit (inches TL)" = MIN_SIZE, + "Minimum Size Limit Start Date" = MIN_START, + "Minimum Size Limit End Date" = MIN_END, + "Minimum Size Limit FR Citation" = MIN_FR, + "Retention (Bag) Limit (# fish)" = BAG_LIMIT, + "Retention Limit Start Date" = BAG_START, + "Retention Limit End Date" = BAG_END, + "Retention Limit FR Citation" = BAG_FR) + +#### Add commercial and recreational tables to Excel file #### +# Create workbook +wb <- createWorkbook() +region_label <- "Gulf" + +# Add worksheets for each table +addWorksheet(wb, "Commercial") +addWorksheet(wb, "Recreational") + +# Add the data frames to their respective sheets +writeData(wb, "Commercial", mh_commercial_table) +writeData(wb, "Recreational", mh_recreational_table) + +# Save workbook as Excel +saveWorkbook(wb, here("ODM-MH-Analysis_ready", "Management History Comparison Files", "ManagementHistory_outputs", paste0("Management History_DataAnalyst", spp, "_", region_label, format(Sys.Date(), "%d%b%Y"),".xlsx")), + overwrite = TRUE) + +# Part 2. Management History Report Tables #### +#### TRIP LIMIT #### +trip_tab <- mh %>% + filter(COMMON_NAME_USE == spp, REGION == region, MANAGEMENT_TYPE_USE == 'TRIP LIMIT', NEVER_IMPLEMENTED == 0, REG_REMOVED == 0) %>% + arrange(FR_CITATION) %>% + ungroup() %>% + mutate(START_DATE = format(START_DATE2, "%m/%d/%Y"), + END_DATE = format(END_DATE2, "%m/%d/%Y"), + SECTOR = str_to_title(paste0(SECTOR_USE, " ", "-", " ", SUBSECTOR_USE)), + ZONE = str_to_title(paste0(REGION, " ", "-", " ", ZONE_USE)), + VALUE = paste0(VALUE, " ", tolower(VALUE_UNITS), " ", tolower(VALUE_TYPE), " ", tolower(VALUE_RATE)), + ACTION = case_when(is.na(AMENDMENT_NUMBER) & !is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE)), + is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION)), + !is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", AMENDMENT_NUMBER)), + !is.na(AMENDMENT_NUMBER) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE, " ", AMENDMENT_NUMBER))), + START_YEAR = format(START_DATE2, "%Y"), + COMMON_NAME_USE = str_to_title(paste0(COMMON_NAME_USE)), + MANAGEMENT_TYPE_USE = str_to_title(paste0(MANAGEMENT_TYPE_USE)), + Flag = case_when(FLAG == "YES" ~ "Yes", + FLAG == "NO" ~ "No", + TRUE ~ NA_character_)) + +trip_tab_export <- trip_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, VALUE, ZONE, + FR_CITATION, ACTION, FR_URL, Flag) %>% + rename(`Species Affected` = COMMON_NAME_USE, + `First Year in Effect`= START_YEAR, + `Effective Date`= START_DATE, + `End Date` = END_DATE, + Fishery = SECTOR, + `Trip Limit`= VALUE, + `Region Affected`= ZONE, + `FR Reference(s)`= FR_CITATION, + `Amendment Number or Rule Type` = ACTION, + `Flag` = Flag, + `FR URL` = FR_URL) %>% + arrange(Fishery, `First Year in Effect`) + + +trip_tab2 <- trip_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, VALUE, ZONE, + FR_CITATION, ACTION, FR_URL, Flag) %>% + do(tab = flextable(.) %>% + set_header_labels(MANAGEMENT_TYPE_USE = "Management Type", + COMMON_NAME_USE = "Species Affected", + START_YEAR = "First Year in Effect", + START_DATE = "Effective Date", + END_DATE = "End Date", + SECTOR = "Fishery", + VALUE = "Trip Limit", + ZONE = "Region Affected", + FR_CITATION = "FR Reference(s)", + ACTION = "Amendment Number or Rule Type", + Flag = "Flag", + FR_URL = "FR URL") %>% + merge_v(j = 1, part = "body") %>% + merge_v(j = 2, part = "body") %>% + merge_v(j = 3, part = "body") %>% + merge_v(j = 4, part = "body") %>% + theme_box() %>% + hline_top(part = "header", border = fp_border(color = "black", width = 2)) %>% + hline_bottom(part = "header", border = fp_border(color = "black", width = 2)) %>% + fontsize(part = "all", size = 12) %>% + font(part = "all", fontname = "Times New Roman") %>% + align(part = "all", align = "center")) + +#### BAG LIMIT #### +bag_tab <- mh %>% + filter(COMMON_NAME_USE == spp, REGION == region, MANAGEMENT_TYPE_USE == 'BAG LIMIT', NEVER_IMPLEMENTED == 0, REG_REMOVED == 0) %>% + arrange(FR_CITATION) %>% + ungroup() %>% + mutate(START_DATE = format(START_DATE2, "%m/%d/%Y"), + END_DATE = format(END_DATE2, "%m/%d/%Y"), + SECTOR = str_to_title(paste0(SECTOR_USE, " ", "-", " ", SUBSECTOR_USE)), + ZONE = str_to_title(paste0(REGION, " ", "-", " ", ZONE_USE)), + VALUE = paste0(VALUE, " ", tolower(VALUE_RATE)), + ACTION = case_when(is.na(AMENDMENT_NUMBER) & !is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE)), + is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION)), + !is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", AMENDMENT_NUMBER)), + !is.na(AMENDMENT_NUMBER) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE, " ", AMENDMENT_NUMBER))), + START_YEAR = format(START_DATE2, "%Y"), + COMMON_NAME_USE = str_to_title(paste0(COMMON_NAME_USE)), + MANAGEMENT_TYPE_USE = str_to_title(paste0(MANAGEMENT_TYPE_USE)), + Flag = case_when(FLAG == "YES" ~ "Yes", + FLAG == "NO" ~ "No", + TRUE ~ NA_character_)) + +bag_tab_export <- bag_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, VALUE, ZONE, + FR_CITATION, ACTION, FR_URL, Flag) %>% + rename(`Species Affected` = COMMON_NAME_USE, + `First Year in Effect`= START_YEAR, + `Effective Date`= START_DATE, + `End Date` = END_DATE, + Fishery = SECTOR, + `Bag Limit`= VALUE, + `Region Affected`= ZONE, + `FR Reference(s)`= FR_CITATION, + `Amendment Number or Rule Type` = ACTION, + `Flag` = Flag, + `FR URL` = FR_URL) %>% + arrange(Fishery, `First Year in Effect`) + + +bag_tab2 <- bag_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, VALUE, ZONE, + FR_CITATION, ACTION, FR_URL, Flag) %>% + do(tab = flextable(.) %>% + set_header_labels(MANAGEMENT_TYPE_USE = "Management Type", + COMMON_NAME_USE = "Species Affected", + START_YEAR = "First Year in Effect", + START_DATE = "Effective Date", + END_DATE = "End Date", + SECTOR = "Fishery", + VALUE = "Bag Limit", + ZONE = "Region Affected", + FR_CITATION = "FR Reference(s)", + ACTION = "Amendment Number or Rule Type", + Flag = "Flag", + FR_URL = "FR URL") %>% + merge_v(j = 1, part = "body") %>% + merge_v(j = 2, part = "body") %>% + merge_v(j = 3, part = "body") %>% + merge_v(j = 4, part = "body") %>% + theme_box() %>% + hline_top(part = "header", border = fp_border(color = "black", width = 2)) %>% + hline_bottom(part = "header", border = fp_border(color = "black", width = 2)) %>% + fontsize(part = "all", size = 12) %>% + font(part = "all", fontname = "Times New Roman") %>% + align(part = "all", align = "center")) + +#### MAXIMUM/MINIMUM SIZE LIMIT #### +size_tab <- mh %>% + filter(COMMON_NAME_USE == spp, REGION == region, MANAGEMENT_CATEGORY == 'SELECTIVITY CONTROLS', NEVER_IMPLEMENTED == 0, REG_REMOVED == 0) %>% + ungroup() %>% + mutate(START_DATE = format(START_DATE2, "%m/%d/%Y"), + END_DATE = format(END_DATE2, "%m/%d/%Y"), + SECTOR = str_to_title(paste0(SECTOR_USE, " ", "-", " ", SUBSECTOR_USE)), + ZONE = str_to_title(paste0(REGION, " ", "-", " ", ZONE_USE)), + VALUE = paste0(VALUE, " ", tolower(VALUE_UNITS), " ", tolower(VALUE_TYPE)), + ACTION = case_when(is.na(AMENDMENT_NUMBER) & !is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE)), + is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION)), + !is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", AMENDMENT_NUMBER)), + !is.na(AMENDMENT_NUMBER) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE, " ", AMENDMENT_NUMBER))), + START_YEAR = format(START_DATE2, "%Y"), + VALUE_TYPE = case_when(MANAGEMENT_TYPE_USE == 'MINIMUM SIZE LIMIT' ~ paste0("Minimum ", str_to_title(VALUE_TYPE)), + MANAGEMENT_TYPE_USE == 'MAXIMUM SIZE LIMIT' ~ paste0("Maximum ", str_to_title(VALUE_TYPE))), + COMMON_NAME_USE = str_to_title(paste0(COMMON_NAME_USE)), + MANAGEMENT_TYPE_USE = str_to_title(paste0(MANAGEMENT_TYPE_USE)), + Flag = case_when(FLAG == "YES" ~ "Yes", + FLAG == "NO" ~ "No", + TRUE ~ NA_character_)) + +size_tab_export <- size_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, VALUE, ZONE, FR_CITATION, ACTION, FR_URL, Flag) %>% + arrange(SECTOR, START_YEAR) %>% + rename(`Species Affected`= COMMON_NAME_USE, + `First Year in Effect` = START_YEAR, + `Effective Date` = START_DATE, + `End Date` = END_DATE, + Fishery = SECTOR, + `Size Limit` = VALUE, + `Region Affected` = ZONE, + `FR Reference(s)` = FR_CITATION, + `Amendment Number or Rule Type` = ACTION, + Flag = Flag, + `FR URL` = FR_URL) %>% + arrange(Fishery, `First Year in Effect`) + +size_tab2 <- size_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, VALUE, ZONE, FR_CITATION, ACTION, FR_URL, Flag) %>% + arrange(SECTOR, START_YEAR) %>% + do(tab = flextable(.) %>% + set_header_labels(MANAGEMENT_TYPE_USE = "Management Type", + COMMON_NAME_USE = "Species Affected", + START_YEAR = "Start Year", + START_DATE = "Effective Date", + END_DATE = "End Date", + SECTOR = "Fishery", + VALUE = "Size Limit", + ZONE = "Region Affected", + FR_CITATION = "FR Reference(s)", + ACTION = "Amendment Number or Rule Type", + Flag = "Flag", + FR_URL = "FR URL") %>% + merge_v(j = 1, part = "body") %>% + merge_v(j = 2, part = "body") %>% + merge_v(j = 3, part = "body") %>% + merge_v(j = 4, part = "body") %>% + theme_box() %>% + hline_top(part = "header", border = fp_border(color = "black", width = 2)) %>% + hline_bottom(part = "header", border = fp_border(color = "black", width = 2)) %>% + fontsize(part = "all", size = 12) %>% + font(part = "all", fontname = "Times New Roman") %>% + align(part = "all", align = "center")) + + +#### ACL #### +ACL_table <- mh %>% + filter(COMMON_NAME_USE == spp, REGION == region, MANAGEMENT_TYPE_USE == 'ACL') %>% + ungroup() %>% + mutate(START_DATE = format(START_DATE2, "%m/%d/%Y"), + END_DATE = format(END_DATE2, "%m/%d/%Y"), + SECTOR = str_to_title(paste0(SECTOR_USE, " ", "-", " ", SUBSECTOR_USE)), + ZONE = str_to_title(paste0(REGION, " ", "-", " ", ZONE_USE)), + VALUE = paste0(VALUE, " ", tolower(VALUE_UNITS), " ", tolower(VALUE_TYPE)), + ACTION = case_when(is.na(AMENDMENT_NUMBER) & !is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE)), + is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION)), + !is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", AMENDMENT_NUMBER)), + !is.na(AMENDMENT_NUMBER) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE, " ", AMENDMENT_NUMBER))), + START_YEAR = format(START_DATE2, "%Y"), + COMMON_NAME_USE = str_to_title(paste0(COMMON_NAME_USE)), + MANAGEMENT_TYPE_USE = str_to_title(paste0(MANAGEMENT_TYPE_USE)), + Flag = case_when(FLAG == "YES" ~ "Yes", + FLAG == "NO" ~ "No", + TRUE ~ NA_character_)) + +ACL_table_export <- ACL_table %>% + select(COMMON_NAME_USE, START_YEAR, SECTOR, VALUE, ZONE, FR_CITATION, FR_URL, ACTION, Flag) %>% + distinct() %>% + arrange(SECTOR, START_YEAR) %>% + rename(`Species Affected` = COMMON_NAME_USE, + `First Year in Effect` = START_YEAR, + Fishery = SECTOR, + `ACL` = VALUE, + `Region Affected`= ZONE, + `FR Reference(s)`= FR_CITATION, + `Amendment Number or Rule Type` = ACTION, + `Flag` = Flag, + `FR URL` = FR_URL) + +ACL_table1 <- ACL_table %>% + select(COMMON_NAME_USE, START_YEAR, SECTOR, VALUE, ZONE, FR_CITATION, FR_URL, ACTION, Flag) %>% + distinct() %>% + arrange(SECTOR, START_YEAR) %>% + do(tab = flextable(.) %>% + set_header_labels(COMMON_NAME_USE = "Species Affected", + START_YEAR = "First YEar in Effect", + START_DATE = "Effective Date", + END_DATE = "End Date", + SECTOR = "Fishery", + VALUE = "ACL", + ZONE = "Region Affected", + FR_CITATION = "FR Reference(s)", + ACTION = "Amendment Number or Rule Type", + Flag = "Flag", + FR_URL = "FR URL") %>% + merge_v(j = 1, part = "body") %>% + merge_v(j = 2, part = "body") %>% + merge_v(j = 3, part = "body") %>% + merge_v(j = 4, part = "body") %>% + merge_v(j = 5, part = "body") %>% + merge_v(j = 6, part = "body") %>% + theme_box() %>% + hline_top(part = "header", border = fp_border(color = "black", width = 2)) %>% + hline_bottom(part = "header", border = fp_border(color = "black", width = 2)) %>% + fontsize(part = "all", size = 12) %>% + font(part = "all", fontname = "Times New Roman") %>% + align(part = "all", align = "center")) + + +# TEMPORAL CLOSURE #### +clos_tab <- mh %>% + filter(COMMON_NAME_USE == spp, REGION == region, MANAGEMENT_TYPE_USE == 'CLOSURE', NEVER_IMPLEMENTED == 0, REG_REMOVED == 0, ZONE_USE == "ALL") %>% + group_by(VALUE, ZONE_USE) %>% + ungroup() %>% + mutate(START_DATE = format(START_DATE2, "%m/%d/%Y"), + END_DATE = format(END_DATE2, "%m/%d/%Y"), + SECTOR = str_to_title(paste0(SECTOR_USE, " ", "-", " ", SUBSECTOR_USE)), + ZONE = str_to_title(paste0(REGION, " ", "-", " ", ZONE_USE)), + VALUE = paste0(str_to_title(VALUE)), + ACTION = case_when(is.na(AMENDMENT_NUMBER) & !is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE)), + is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION)), + !is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", AMENDMENT_NUMBER)), + !is.na(AMENDMENT_NUMBER) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE, " ", AMENDMENT_NUMBER))), + START_YEAR = format(START_DATE2, "%Y"), + COMMON_NAME_USE = str_to_title(paste0(COMMON_NAME_USE)), + MANAGEMENT_TYPE_USE = str_to_title(paste0(MANAGEMENT_TYPE_USE)), + MANAGEMENT_STATUS_USE = str_to_sentence(paste0(MANAGEMENT_STATUS_USE)), + Flag = case_when(FLAG == "YES" ~ "Yes", + FLAG == "NO" ~ "No", + TRUE ~ NA_character_), + FIRST_DAY = paste0(START_MONTH, "-", START_DAY_USE), + LAST_DAY = paste0(END_MONTH_USE, "-", END_DAY_USE)) + +clos_tab_export <- clos_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, START_TIME_USE, FIRST_DAY, LAST_DAY, END_TIME_USE, SECTOR, VALUE, MANAGEMENT_STATUS_USE, ZONE, FR_CITATION, ACTION, FR_URL, Flag) %>% + distinct() %>% + arrange(SECTOR, ZONE, START_YEAR, START_DATE) %>% + rename(`Species Affected` = COMMON_NAME_USE, + `First Year in Effect` = START_YEAR, + `Effective Date` = START_DATE, + `End Date` = END_DATE, + `Start Time` = START_TIME_USE, + `First Day Closed` = FIRST_DAY, + `Last Day Closed` = LAST_DAY, + `END_TIME` = END_TIME_USE, + Fishery = SECTOR, + Status = VALUE, + `Closure Type` = MANAGEMENT_STATUS_USE, + `Region Affected` = ZONE, + `FR Reference(s)` = FR_CITATION, + `Amendment Number or Rule Type` = ACTION, + Flag = Flag, + `FR URL` = FR_URL) + +clos_tab1 <- clos_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, START_TIME_USE, FIRST_DAY, LAST_DAY, END_TIME_USE, SECTOR, VALUE, MANAGEMENT_STATUS_USE, ZONE, FR_CITATION, ACTION, FR_URL, Flag) %>% + distinct() %>% + arrange(SECTOR, ZONE, START_DATE) %>% + do(tab = flextable(.) %>% + set_header_labels(COMMON_NAME_USE = "Species Affected", + START_YEAR = "First Year in Effect", + START_DATE = "Effective Date", + END_DATE = "End Date", + START_TIME_USE = "Start Time", + FIRST_DAY = "First Day Closed", + LAST_DAY = "Last Day Closed", + END_TIME_USE = "End Time", + SECTOR = "Fishery", + VALUE = "Status", + MANAGEMENT_STATUS_USE = "Closure Type", + ZONE = "Region Affected", + FR_CITATION = "FR Reference(s)", + ACTION = "Amendment Number or Rule Type", + Flag = "Flag", + FR_URL = "FR URL") %>% + merge_v(j = 1, part = "body") %>% + merge_v(j = 2, part = "body") %>% + merge_v(j = 3, part = "body") %>% + merge_v(j = 4, part = "body") %>% + merge_v(j = 5, part = "body") %>% + merge_v(j = 6, part = "body") %>% + theme_box() %>% + hline_top(part = "header", border = fp_border(color = "black", width = 2)) %>% + hline_bottom(part = "header", border = fp_border(color = "black", width = 2)) %>% + fontsize(part = "all", size = 12) %>% + font(part = "all", fontname = "Times New Roman") %>% + align(part = "all", align = "center")) + +# SPATIAL CLOSURE #### +spatclos_tab <- mh %>% + filter(COMMON_NAME_USE %in% c("Caribbean Spiny Lobster", 'All'), REGION == region, MANAGEMENT_TYPE_USE == 'CLOSURE', NEVER_IMPLEMENTED == 0, REG_REMOVED == 0, + ZONE %in% c("PUERTO RICO MANAGEMENT AREA", "BAJO DE SICO REEF FISH FISHERY MANAGEMENT AREA", "TOURMALINE BANK RED HIND SPAWNING AGGREGATION AREA", "ABRIR LA SIERRA BANK RED HIND SPAWNING AGGREGATION AREA"), + SUBSECTOR_USE != "ALL") %>% + group_by(VALUE, ZONE) %>% + ungroup() %>% + mutate(START_DATE = format(START_DATE2, "%m/%d/%Y"), + END_DATE = format(END_DATE2, "%m/%d/%Y"), + SECTOR_USE = str_to_title(paste0(SECTOR_USE)), + SUBSECTOR_USE = str_to_title(paste0(SUBSECTOR_USE)), + ZONE_USE = str_to_title(paste0(ZONE)), + VALUE = paste0(VALUE, " ", tolower(VALUE_UNITS)), + ACTION = case_when(is.na(AMENDMENT_NUMBER) & !is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE)), + is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION)), + !is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", AMENDMENT_NUMBER)), + !is.na(AMENDMENT_NUMBER) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE, " ", AMENDMENT_NUMBER))), + START_YEAR = format(START_DATE2, "%Y"), + COMMON_NAME_USE = str_to_title(paste0(COMMON_NAME_USE)), + MANAGEMENT_TYPE_USE = str_to_title(paste0(MANAGEMENT_TYPE_USE)), + Flag = case_when(FLAG == "YES" ~ "Yes", + FLAG == "NO" ~ "No", + TRUE ~ NA_character_), + FIRST_DAY = paste0(START_MONTH, "-", START_DAY_USE), + LAST_DAY = paste0(END_MONTH_USE, "-", END_DAY_USE), + END_DATE = case_when(END_DATE == "12/31/2025" ~ "Ongoing", + TRUE ~ END_DATE), + LAST_DAY = case_when(LAST_DAY == "NA-NA" ~ "12-31", + TRUE ~ LAST_DAY), + FIRST_DAY = case_when(FIRST_DAY == "10-13" ~ "1-1", + TRUE ~ FIRST_DAY)) %>% + filter(!(FR_CITATION == "75 FR 27217")) + +spatclos_tab_export <- spatclos_tab %>% + select(COMMON_NAME_USE, ZONE_USE,START_YEAR, START_DATE, END_DATE, SECTOR_USE, FIRST_DAY, LAST_DAY, SUBSECTOR_USE, FR_CITATION, ACTION, FR_URL, Flag) %>% + distinct() %>% + arrange(SECTOR_USE, ZONE_USE, SUBSECTOR_USE, START_YEAR) %>% + rename(`Species Affected` = COMMON_NAME_USE, + `Area` = ZONE_USE, + `First Year in Effect` = START_YEAR, + `Effective Date` = START_DATE, + `End Date` = END_DATE, + `Fishery` = SECTOR_USE, + `First Day Closed` = FIRST_DAY, + `Last Day Closed` = LAST_DAY, + `Fishing Restriction in Area` = SUBSECTOR_USE, + `FR Reference(s)` = FR_CITATION, + `Amendment Number or Rule Type` = ACTION, + Flag = Flag, + `FR URL` = FR_URL) + +library(flextable) + +ft <- flextable(spatclos_tab_export) %>% + theme_booktabs() %>% + autofit() + +save_as_image(ft, path = "spatial_closure_table.png") + +spatclos_tab1 <- spatclos_tab %>% + select(COMMON_NAME_USE, ZONE_USE,START_YEAR, START_DATE, END_DATE, SECTOR_USE, FIRST_DAY, LAST_DAY, SUBSECTOR_USE, FR_CITATION, ACTION, FR_URL, Flag) %>% + distinct() %>% + arrange(SECTOR_USE, SUBSECTOR_USE, ZONE_USE, START_DATE) %>% + do(tab = flextable(.) %>% + set_header_labels(COMMON_NAME_USE = "Species Affected", + ZONE_USE = "Area", + START_YEAR = "First Year in Effect", + START_DATE = "Effective Date", + END_DATE = "End Date", + SECTOR_USE = "Fishery", + FIRST_DAY = "First Day Closed", + LAST_DAY = "Last Day Closed", + SUBSECTOR_USE = "Fishing Restriction in Area", + FR_CITATION = "FR Reference(s)", + ACTION = "Amendment Number or Rule Type", + Flag = "Flag", + FR_URL = "FR URL") %>% + merge_v(j = 1, part = "body") %>% + merge_v(j = 2, part = "body") %>% + merge_v(j = 3, part = "body") %>% + merge_v(j = 4, part = "body") %>% + merge_v(j = 5, part = "body") %>% + merge_v(j = 6, part = "body") %>% + theme_box() %>% + hline_top(part = "header", border = fp_border(color = "black", width = 2)) %>% + hline_bottom(part = "header", border = fp_border(color = "black", width = 2)) %>% + fontsize(part = "all", size = 12) %>% + font(part = "all", fontname = "Times New Roman") %>% + align(part = "all", align = "center")) + +#### GEAR REQUIREMENTS #### +gear_tab <- mh %>% + filter(COMMON_NAME_USE == spp, REGION == region, + MANAGEMENT_TYPE_USE %in% c('ANCHORING RESTRICTION', 'BRD REQUIREMENT', 'DEHOOKING DEVICE', 'DESCENDING DEVICE', + 'GILLNET SPECIFICATIONS', 'GOLDEN CRAB TRAP SPECIFICATIONS', 'HARVEST METHOD', 'HOOK SIZE/TYPE/#', + 'MAXIMUM GEAR', 'NON-OFFSET, NON-STAINLESS STEEL CIRCLE HOOKS', 'NON-STAINLESS STEEL CIRCLE HOOKS', + 'NON-STAINLESS STEEL HOOKS', 'PERMITTED AND AUTHORIZED GEAR', 'PROHIBITED GEAR', 'SEA BASS POT/TRAP SPECIFICATIONS', + 'TRAP SPECIFICATIONS', 'TRAWL SPECIFICATIONS', 'TURTLE RELEASE GEAR', 'VENTING TOOL'), + NEVER_IMPLEMENTED == 0, REG_REMOVED == 0, + ZONE_USE %in% c('ALL', 'PUERTO RICO MANAGEMENT AREA')) %>% + ungroup() %>% + mutate(START_DATE = format(START_DATE2, "%m/%d/%Y"), + END_DATE = format(END_DATE2, "%m/%d/%Y"), + SECTOR = str_to_title(paste0(SECTOR_USE, " ", "-", " ", SUBSECTOR_USE)), + ZONE = str_to_title(paste0(REGION, " ", "-", " ", ZONE_USE)), + ACTION = case_when(is.na(AMENDMENT_NUMBER) & !is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE)), + is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION)), + !is.na(AMENDMENT_NUMBER) & is.na(ACTION_TYPE) ~ str_to_title(paste0(ACTION, " ", AMENDMENT_NUMBER)), + !is.na(AMENDMENT_NUMBER) ~ str_to_title(paste0(ACTION, " ", ACTION_TYPE, " ", AMENDMENT_NUMBER))), + START_YEAR = format(START_DATE2, "%Y"), + COMMON_NAME_USE = str_to_title(paste0(COMMON_NAME_USE)), + MANAGEMENT_TYPE_USE = str_to_title(paste0(MANAGEMENT_TYPE_USE)), + Flag = case_when(FLAG == "YES" ~ "Yes", + FLAG == "NO" ~ "No", + TRUE ~ NA_character_), + END_DATE = case_when(FR_CITATION == "49 FR 50049" ~ "10/12/2022", + FR_CITATION == "70 FR 62073" ~ "10/12/2022", + END_DATE == "12/31/2025" ~ "Ongoing", + TRUE ~ END_DATE)) + +gear_tab_export <- gear_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, MANAGEMENT_TYPE_USE, ZONE, FR_CITATION, ACTION, FR_URL, Flag) %>% + arrange(ZONE, START_YEAR, SECTOR) %>% + rename(`Species Affected`= COMMON_NAME_USE, + `First Year in Effect` = START_YEAR, + `Effective Date` = START_DATE, + `End Date` = END_DATE, + Gear = SECTOR, + `Regulation Type` = MANAGEMENT_TYPE_USE, + `Region Affected` = ZONE, + `FR Reference(s)` = FR_CITATION, + `Amendment Number or Rule Type` = ACTION, + Flag = Flag, + `FR URL` = FR_URL) + +library(flextable) + +ft <- flextable(gear_tab_export) %>% + theme_booktabs() %>% + autofit() + +save_as_image(ft, path = "gear_regulations_table.png") + +gear_tab1 <- gear_tab %>% + select(COMMON_NAME_USE, START_YEAR, START_DATE, END_DATE, SECTOR, MANAGEMENT_TYPE_USE, ZONE, FR_CITATION, ACTION, FR_URL, Flag) %>% + arrange(ZONE, SECTOR, START_YEAR) %>% + do(tab = flextable(.) %>% + set_header_labels(COMMON_NAME_USE = "Species Affected", + START_YEAR = "First Year in Effect", + START_DATE = "Effective Date", + END_DATE = "End Date", + SECTOR = "Gear", + MANAGEMENT_TYPE_USE = "Regulation Type", + ZONE = "Region Affected", + FR_CITATION = "FR Reference(s)", + ACTION = "Amendment Number or Rule Type", + Flag = "Flag", + FR_URL = "FR URL") %>% + merge_v(j = 1, part = "body") %>% + merge_v(j = 2, part = "body") %>% + merge_v(j = 3, part = "body") %>% + merge_v(j = 4, part = "body") %>% + theme_box() %>% + hline_top(part = "header", border = fp_border(color = "black", width = 2)) %>% + hline_bottom(part = "header", border = fp_border(color = "black", width = 2)) %>% + fontsize(part = "all", size = 12) %>% + font(part = "all", fontname = "Times New Roman") %>% + align(part = "all", align = "center")) + + +# Export each table as sheet in Excel workbook +wb <- createWorkbook() +addWorksheet(wb, "Trip Limit") +addWorksheet(wb, "Bag Limit") +addWorksheet(wb, "Size Limit") +addWorksheet(wb, "ACL") +addWorksheet(wb, "Closure") +addWorksheet(wb, "Spatial Restrictions") +addWorksheet(wb, "Gear Restrictions") + +writeData(wb, "Trip Limit", trip_tab_export) +writeData(wb, "Bag Limit", bag_tab_export) +writeData(wb, "Size Limit", size_tab_export) +writeData(wb, "ACL", ACL_table_export) +writeData(wb, "Closure", clos_tab_export) +writeData(wb, "Spatial Restrictions", spatclos_tab_export) +writeData(wb, "Gear Restrictions", gear_tab_export) + +saveWorkbook(wb, here("ODM-MH-Analysis_ready", "Management History Comparison Files", "ManagementHistory_outputs", paste0("Management History_Report_", spp, "_", region, format(Sys.Date(), "%d%b%Y"),".xlsx")), +overwrite = TRUE) + +# Export each table into a Word Document +doc_path <- here("ODM-MH-Analysis_ready", "Management History Comparison Files", "ManagementHistory_outputs", paste0("ManagementHistory_Report_", str_replace_all(spp, "[^A-Za-z0-9]+", "_"), + "_", str_replace_all(region, "[^A-Za-z0-9]+", "_"), "_", + format(Sys.Date(), "%d%b%Y"), ".docx")) + +doc <- read_docx() + +add_section <- function(doc, title_text, ft_obj) { + doc %>% + body_add_par(value = title_text, style = "heading 1") %>% + body_add_par(value = "", style = "Normal") %>% + body_add_flextable(ft_obj) %>% + body_add_par(value = "", style = "Normal") %>% + body_add_break() +} + +doc <- add_section(doc, "Trip Limit", trip_tab2$tab[[1]]) +doc <- add_section(doc, "Size Limit", size_tab2$tab[[1]]) +doc <- add_section(doc, "ACL", ACL_table1$tab[[1]]) +doc <- add_section(doc, "Closure", clos_tab1$tab[[1]]) +doc <- add_section(doc, "Gear Requirements", gear_tab1$tab[[1]]) + +doc <- body_remove(doc) + +print(doc, target = doc_path) + diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystBlueline Tilefish_Gulf18Feb2026.xlsx b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystBlueline Tilefish_Gulf18Feb2026.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a32a4aa6940bc699719c808a839b394d880a3926 GIT binary patch literal 12290 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 literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystCobia_ATLANTIC12Jan2026.xlsx b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystCobia_ATLANTIC12Jan2026.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..8d5522e90b7720f7145316723e65277f82c646b2 GIT binary patch literal 12987 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 literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystCobia_Gulf16Jan2026.xlsx b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystCobia_Gulf16Jan2026.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..301e9d63093656c2b79437670a6b6efdc62399ad GIT binary patch literal 12684 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 c|5D0@LegSLK&T=hfPgHvj+t literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystGag Grouper_Gulf17Feb2026.xlsx b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystGag Grouper_Gulf17Feb2026.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7c817069dc84380c0140039e95a3bb499d4391f1 GIT binary patch literal 35113 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 literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystGoldface Tilefish_Gulf18Feb2026.xlsx b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystGoldface Tilefish_Gulf18Feb2026.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..26df5622bf4ce0952368ebac71d763e1835bac7e GIT binary patch literal 12289 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 E1MX`OmH+?% literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystRed Snapper_SOUTH ATLANTIC24Sep2025.xlsx b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/Management History_DataAnalystRed Snapper_SOUTH ATLANTIC24Sep2025.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ac1c8f486bd44071c5ddf9a67f43794f7d13eaa4 GIT binary patch literal 21562 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%0Dd>$WHq8Q-G|E$SAI_+ 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

U{rKCf;kU9`|kbJ9p>&L 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 Of8Nh}ZpHqx_kRFRkvZ1@ literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/ManagementHistory_Report_Red_Snapper_SOUTH_ATLANTIC_24Sep2025.docx b/ODM-MH-Analysis_ready/Management History Comparison Files/ManagementHistory_outputs/ManagementHistory_Report_Red_Snapper_SOUTH_ATLANTIC_24Sep2025.docx new file mode 100644 index 0000000000000000000000000000000000000000..90862a687d41e0b6a62ac71f4911cee490f54963 GIT binary patch literal 39783 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 literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/NumberofFrs.jpeg b/ODM-MH-Analysis_ready/Management History Comparison Files/NumberofFrs.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2004fa95f4fbf61ea77b4618bc0ad0c1147e5c87 GIT binary patch literal 240747 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

wA4exwW80?j`|dm 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 JYw+)h{{% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + #"FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + #"FMP FOR THE EEZ AROUND ST. CROIX", + "FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'RECREATIONAL', + MANAGEMENT_TYPE_USE == 'BAG LIMIT', + ZONE_USE %in% c("ALL", "PUERTO RICO MANAGEMENT AREA")) +mh_carib_pr_bag <- mh_carib_pr_bag %>% + mutate(END_DATE2 = case_when(FR_CITATION == "61 FR 32151" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82413" & SPP_NAME == "BAG LIMIT: OTHER REEF FISH SPECIES COMBINED" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: GROUPERS, SNAPPERS, AND PARROTFISHES COMBINED" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "2" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "6" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "5" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "15" ~ as.Date("2022-10-13"), + TRUE ~ END_DATE2)) %>% + filter(!(FR_CITATION == "87 FR 56204" & COMMON_NAME_USE == "LOBSTER, CARIBBEAN SPINY"))%>% + filter(!(FR_CITATION == "87 FR 56204" & COMMON_NAME_USE == "SURGEONFISH")) + + +# Confirm bag limits +unique(mh_carib_pr_bag$MANAGEMENT_TYPE_USE) + +# Confirm all recreational +table(mh_carib_pr_bag$SECTOR_USE) + +source(here("ODM-MH-Analysis_ready", "Closures", "func_expand_status.R")) + +############## +# Bag limits # +############## + + +bag_df_pr <- expand_status(mh_carib_pr_bag, "BAG LIMIT") + +# Collapse to annual value +bag_yr_df_pr <- bag_df_pr %>% + dplyr::mutate(YEAR = year(date_sequence)) %>% + dplyr::select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + distinct() + +# Explore Zone +table(bag_yr_df_pr$ZONE_USE) +# All (hogfish zone removed when excluding FR) + +# Explore Subsector +table(bag_yr_df_pr$SUBSECTOR_USE) +# All for all data + +# Explore year - only include complete years +table(bag_yr_df_pr$YEAR) +bag_yr_df_pr<-bag_yr_df_pr %>% filter(YEAR <=termyr) +table(bag_yr_df_pr$YEAR) + +parrotfish_species <- c( + "PARROTFISH, PRINCESS", + "PARROTFISH, QUEEN", + "PARROTFISH, REDBAND", + "PARROTFISH, REDTAIL", + "PARROTFISH, STOPLIGHT", + "PARROTFISH, STRIPED" +) + +years_add <- 2022:2025 +year_cast <- if(is.numeric(bag_yr_df_pr$YEAR)) as.numeric else as.character() + +# Use the Parrotfish 2 rows as a "template" for ZONE_USE / SUBSECTOR_USE. +# This is what typically creates "two rows" per species-year (two distinct combos). +template <- bag_yr_df_pr %>% + dplyr::filter(COMMON_NAME_USE == "PARROTFISH 2", YEAR %in% years_add) %>% + dplyr::distinct(ZONE_USE, SUBSECTOR_USE) + +# If template isn't exactly 2 rows, force it to be 2 (duplicate first row if needed) +template2 <- dplyr::bind_rows(template, template) %>% + dplyr::slice(1:2) + +rate_specs <- tibble::tibble( + VALUE = c("2", "6"), + VALUE_UNITS = c("NUMBERS", "NUMBERS"), + VALUE_TYPE = c("COUNT", "COUNT"), + VALUE_RATE = c("PER PERSON PER DAY", "PER VESSEL PER DAY") + ) + +add_rows <- tidyr::crossing( + COMMON_NAME_USE = parrotfish_species, + YEAR = year_cast(years_add), + template2, + rate_specs +) + +# Optionally REMOVE the original Parrotfish 2 records for those years +# (recommended if you're replacing them with the six species) +bag_yr_df_pr_aug <- bag_yr_df_pr %>% + dplyr::filter(!(COMMON_NAME_USE == "PARROTFISH 2" & YEAR %in% year_cast(years_add))) %>% + dplyr::bind_rows(add_rows) + + +bag_yr_df2_pr <- bag_yr_df_pr_aug %>% + dplyr::mutate( + VALUE_UNITS = dplyr::case_when( + VALUE_UNITS == "NUMBERS" ~ "fish", + VALUE_UNITS == "CONCH" ~ "conch", + VALUE_UNITS == "LOBSTER" ~ "lobster", + TRUE ~ VALUE_UNITS + ), + COMMON_NAME_USE = dplyr::case_when( + COMMON_NAME_USE == "Calamus pennatula" ~ "PORGY, PLUMA", + TRUE ~ COMMON_NAME_USE + ), + VAL_LAB = paste(VALUE, VALUE_UNITS, stringr::str_to_lower(VALUE_RATE)), + LAB = paste(stringr::str_to_title(sub("(.*)\\,\\s+(.*)", "\\2 \\1", COMMON_NAME_USE)), "-", VAL_LAB), + n = 1 + ) %>% + dplyr::select(LAB, YEAR, n) %>% + dplyr::arrange(YEAR) %>% + tidyr::pivot_wider(names_from = YEAR, values_from = n) %>% + dplyr::arrange(LAB) + + +# Format for plot - Don't use +bag_yr_df2_pr <- bag_yr_df_pr %>% + dplyr::mutate( + VALUE_UNITS = case_when(VALUE_UNITS == 'NUMBERS' ~ 'conch', + VALUE_UNITS == "CONCH" ~ 'conch', + TRUE ~ VALUE_UNITS), + COMMON_NAME_USE = case_when(COMMON_NAME_USE == "Calamus pennatula" ~ "PORGY, PLUMA", + TRUE ~ COMMON_NAME_USE), + VAL_LAB = paste(VALUE, VALUE_UNITS, str_to_lower(VALUE_RATE)), + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1', COMMON_NAME_USE)),"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE,"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE, "(Zone ", ZONE_USE, ")", VAL_LAB), + n = 1) %>% + dplyr::select(LAB, YEAR, n) %>% + arrange(YEAR) %>% + pivot_wider(names_from = YEAR, values_from = n) %>% + arrange(LAB) + +# Code below no longer needed if remove 82 FR 34574 (single bag limit for hogfish) + +# Checking on two FRs in 1 year that both set a bag limit of 5 fish: 64 FR 57403 82 FR 34574 +#chk <- filter(bag_df, COMMON_NAME_USE == 'HOGFISH', year(date_sequence) == 2017) +#table(chk$FR_CITATION) + +# Need to replace c(1,1) with 1 +#bag_yr_df2[bag_yr_df2$LAB=="HOGFISH - 5 fish Per Person Per Day",29]<-bag_yr_df2[bag_yr_df2$LAB=="HOGFISH - 5 fish Per Person Per Day",28] +#bag_yr_df2<-as.data.frame(bag_yr_df2) + +# Subset aggregate groups and then species limits; reorder by family/species (manually for now...) +bag_yr_df2_pr<-bag_yr_df2_pr[c(2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15, + 18, 17, 20, 19, 22, 21, 24, 23, 26, 25, 27, 29, 30, 28, + 32, 31, 34, 33, 36, 35, 38, 37, 39, 41, 42, 40, 44, 43, + 46, 45, 48, 47, 50, 49, 54, 53, 56, 55, 58, 57, 60, 59, + 62, 61, 64, 63, 66, 65, 68, 67, 70, 69, 72, 71, 74, 73, + ),] + +# Need to redefine aggregate limits +#bag_yr_df3$LAB[bag_yr_df3$LAB=="Golden Tilefish - 20 Fish Per Person Per Day"]<-"Gulf Reef Fish - 20 Fish Per Person Per Day" +#bag_yr_df3$LAB[bag_yr_df3$LAB=="Banded Rudderfish - 5 Fish Per Person Per Day"]<-"Banded Rudderfish and Lesser Amberjack - 5 Fish Per Person Per Day" +#bag_yr_df3$LAB[bag_yr_df3$LAB=="Queen Snapper - 10 Fish Per Person Per Day"]<-"Snapper - 10 Fish Per Person Per Day" +#bag_yr_df3$LAB[bag_yr_df3$LAB=="Snowy Grouper - 3 Fish Per Person Per Day"]<-"Grouper - 3 Fish Per Person Per Day" +#bag_yr_df3$LAB[bag_yr_df3$LAB=="Snowy Grouper - 4 Fish Per Person Per Day"]<-"Grouper - 4 Fish Per Person Per Day" +#bag_yr_df3$LAB[bag_yr_df3$LAB=="Snowy Grouper - 5 Fish Per Person Per Day"]<-"Grouper - 5 Fish Per Person Per Day" + +# Need to extend hogfish since we had to remove FR +#bag_yr_df3[bag_yr_df3$LAB=="Hogfish - 5 Fish Per Person Per Day",(which(colnames(bag_yr_df3)=="2018")):dim(bag_yr_df3)[2]]<-1 #2018+ + +# Save outputs before we clean up labels +#saveRDS(bag_yr_df3,paste0(Dirout,"recreational_bag_limits.rds")) + +# Remove species name in consecutive rows +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Almaco Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 5 fish per vessel per day")]<-"Groupers, Parrotfishes, and Snappers combined - 5 fish per vessel per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 5 fish per vessel per day")]<-"Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes, and Wrasses combined - 5 fish per vessel per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bar Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bigeye - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Durgon - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Grouper - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Snapper - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Blackbar Soldierfish - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Blackfin Snapper - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Blackline Tilefish - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Blue Runner - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Black Jack - 15 fish per person per day")]<-"- 15 fish per person per day" + +############### +# Crew limits # +############### + +crew_df <- expand_status(mh_grf, "CREW BAG LIMIT") + +# Collapse to annual value +crew_yr_df <- crew_df %>% + mutate(YEAR = year(date_sequence)) %>% + select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + distinct() + +# Explore Zone +table(crew_yr_df$ZONE_USE) +# All for all data + +# Explore Subsector +table(crew_yr_df$SUBSECTOR_USE) +# For-Hire + +# Explore year - only include complete years +table(crew_yr_df$YEAR) +crew_yr_df<-crew_yr_df %>% filter(YEAR <=termyr) +table(crew_yr_df$YEAR) + +# Format for plot +crew_yr_df2 <- crew_yr_df %>% + mutate(VALUE_UNITS = case_when(VALUE_UNITS == 'NUMBERS' ~ 'Fish', + TRUE ~ VALUE_UNITS), + VAL_LAB = paste(VALUE, VALUE_UNITS, str_to_title(VALUE_RATE)), + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)),"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE,"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE, "(Zone ", ZONE_USE, ")", VAL_LAB), + n = 1) %>% + dplyr::select(LAB, YEAR, n) %>% + arrange(YEAR) %>% + pivot_wider(names_from = YEAR, values_from = n) %>% + arrange(LAB) + +# Save outputs before we clean up labels +saveRDS(crew_yr_df2,paste0(Dirout,"recreational_crew_bag_limits.rds")) + +######### +# Plots # +######### + +library(raster) +#Note: importing this package masks select from dplyr... + +######################### +# Bag limits by species # +######################### + +bag<-raster(as.matrix(bag_yr_df2[,2:dim(bag_yr_df2)[2]])) +groups<-dplyr::select(bag_yr_df2, LAB) %>% pull() +names<-c(min(bag_yr_df$YEAR):max(bag_yr_df$YEAR)) + +# Note: Labels were too long, which ends up messing up the "square" shape of the plot; +# The longer the LABEL gets, the more white space there is above/below the actual data + +jpeg(paste0(Dirout,"Recreational_bag_limits_species.jpeg"),res=300,height=4.8,width=6.7, units="in") +par(mar=c(0.1, 9.5, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(bag,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(bag_yr_df2)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +axis(2,at=seq(((1/dim(bag_yr_df2)[1])/2),1,(1/dim(bag_yr_df2)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.2,font=1) +axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.5,las=2,hadj=0.7) +dev.off() + +bag2<-raster(as.matrix(bag_yr_df3[,2:dim(bag_yr_df3)[2]])) +groups<-dplyr::select(bag_yr_df3, LAB) %>% pull() +names<-c(min(bag_yr_df$YEAR):max(bag_yr_df$YEAR)) + +# Note: Labels were too long, which ends up messing up the "square" shape of the plot; +# The longer the LABEL gets, the more white space there is above/below the actual data + +######################################## +# Bag limits by aggregates and species # +######################################## + +jpeg(paste0(Dirout,"Recreational_bag_limits.jpeg"),res=300,height=3.6,width=6.7, units="in") +par(mar=c(0.1, 14.5, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(bag2,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(bag_yr_df3)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +axis(2,at=seq(((1/dim(bag_yr_df3)[1])/2),1,(1/dim(bag_yr_df3)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.5,font=1) +axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.5,las=2,hadj=0.7) +dev.off() + +########################## +# Crew limits by species # +########################## + +# Reorder by family/species (manually for now...) +crew_yr_df2<-crew_yr_df2[c(3,5,2,11,1,17,16,15,13,12,14,6,10,4,7:9),] + +crew<-raster(as.matrix(crew_yr_df2[,2:dim(crew_yr_df2)[2]])) +groups<-dplyr::select(crew_yr_df2, LAB) %>% pull() +names<-c(min(crew_yr_df$YEAR):max(crew_yr_df$YEAR)) + +# Note: Labels were too long, which ends up messing up the "square" shape of the plot; +# The longer the LABEL gets, the more white space there is above/below the actual data + +jpeg(paste0(Dirout,"Recreational_crew_limits.jpeg"),res=300,height=4.8,width=7, units="in") +par(mar=c(0.1, 11.5, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(crew,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(crew_yr_df2)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +axis(2,at=seq(((1/dim(crew_yr_df2)[1])/2),1,(1/dim(crew_yr_df2)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.5,font=1) +axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.6,las=2,hadj=0.7) +dev.off() + +######### +library(dplyr) +library(tidyr) +library(lubridate) +library(stringr) + +termyr <- 2025 + +bag_yr_df_pr <- mh_carib_pr_bag %>% + # keep only bag limit records you want + dplyr::filter( + NEVER_IMPLEMENTED == 0, + SECTOR_USE == "RECREATIONAL", + MANAGEMENT_TYPE_USE == "BAG LIMIT" + ) %>% + # ensure dates exist; if your fields are START_DATE2/END_DATE2 use those + dplyr::mutate( + start = as.Date(START_DATE2), + end = as.Date(dplyr::coalesce(END_DATE2, Sys.Date())) + ) %>% + dplyr::filter(!is.na(start), !is.na(end), end >= start) %>% + # (optional) if you only want complete years + dplyr::mutate( + start_year = year(start), + end_year = year(end) + ) %>% + # expand to years, NOT days + tidyr::uncount(end_year - start_year + 1, .id = "k") %>% + dplyr::mutate(YEAR = start_year + (k - 1L)) %>% + dplyr::filter(YEAR <= termyr) %>% + # keep SPP_NAME (and anything else you need) + dplyr::select(SPP_NAME, COMMON_NAME_USE, SUBSECTOR_USE, + YEAR, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + dplyr::distinct(SPP_NAME, SUBSECTOR_USE, YEAR, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) + +bag_yr_df2_pr <- bag_yr_df_pr %>% + dplyr::mutate( + VALUE_UNITS = case_when( + VALUE_UNITS == "NUMBERS" ~ "fish", + VALUE_UNITS == "CONCH" ~ "conch", + VALUE_UNITS == "LOBSTER" ~ "lobster", + TRUE ~ VALUE_UNITS + ), + VAL_LAB = paste(VALUE, VALUE_UNITS, str_to_lower(VALUE_RATE)), + # include SPP_NAME in label (optional but recommended if you want that instead of COMMON_NAME_USE) + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',SPP_NAME)),"-", VAL_LAB), + n = 1 + ) %>% + dplyr::select(LAB, YEAR, n) %>% + dplyr::distinct() %>% + tidyr::pivot_wider(names_from = YEAR, values_from = n) %>% + dplyr::arrange(LAB) + +bag_yr_df2_pr<-bag_yr_df2_pr[c(2, 1, 4, 3, 6, 5, 8, 7, 9:12, 14, 13, 16, 15, 17:18, 20, 19, 21:22, 24, 23),] + +# Remove species name in consecutive rows +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Parrotfishes Combined Bag Limit: Groupers, Snappers - 5 fish per person per day")]<-"Groupers, Snappers, and Parrotfishes combined - 5 fish per vessel per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Parrotfishes Combined Bag Limit: Groupers, Snappers - 15 fish per vessel per day")]<-"Groupers, Snappers, and Parrotfishes combined - 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 5 fish per person per day")]<-"Groupers, Parrotfishes, and Snappers combined - 5 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 15 fish per vessel per day")]<-"Groupers, Parrotfishes, and Snappers combined - 15 fish per vessel per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 5 fish per person per day")]<-"Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes, and Wrasses combined - 5 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 15 fish per vessel per day")]<-"Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes, and Wrasses combined - 15 fish per vessel per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bag Limit: Other Reef Fish Species Combined - 5 fish per person per day")]<-"Other Reef Fish Species Combined - 5 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bag Limit: Other Reef Fish Species Combined - 15 fish per vessel per day")]<-"Other Reef Fish Species Combined - 15 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bag Limit: Parrotfishes - 2 fish per person per day")]<-"Parrotfishes - 2 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bag Limit: Parrotfishes - 6 fish per vessel per day")]<-"Parrotfishes - 6 fish per vessel per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bag Limit: Surgeonfish - 1 fish per person per day")]<-"Surgeonfish - 1 fish per person per day" +bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Bag Limit: Surgeonfish - 4 fish per vessel per day")]<-"Surgeonfish - 4 fish per vessel per day" +#bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Caribbean Spiny Lobster - 10 lobster per vessel per day")]<-"- 10 lobster per vessel per day" +#bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Dolphin - 15 fish per vessel per day")]<-"- 15 fish per person per day" +#bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Parrotfish 2 - 6 fish per person per day")]<-"- 6 fish per person per day" +#bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Queen Conch - 12 conch per vessel per day")]<-"- 12 conch per vessel per day" +#bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Surgeonfish - 4 fish per vessel per day")]<-"- 4 fish per vessel per day" +#bag_yr_df2_pr$LAB[which(bag_yr_df2_pr$LAB=="Wahoo - 10 fish per vessel per day")]<-"- 10 fish per vessel per day" + +library(tidyverse) + +# 1) Get just the year columns (handles if LAB is col 1) +yrs <- names(bag_yr_df2_pr) +yrs <- yrs[grepl("^\\d{4}$", yrs)] # keep only "1985", "1986", ... +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# 2) Optional: drop empty rows (all NA across years) +keep_rows <- rowSums(!is.na(bag_yr_df2_pr[, yrs, drop = FALSE])) > 0 + +plot_df_pr <- bag_yr_df2_pr %>% + # dplyr::filter(keep_rows) %>% + # keep LAB + years + dplyr::select(LAB, all_of(yrs)) %>% + # long format: one row per LAB-year + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + # presence flag (you can keep n as-is if you later want 2 = highlight) + present = !is.na(n), + # order so your first row is at the top (like your raster plot with rev()) + LAB = factor(LAB, levels = rev(unique(LAB))) + ) + +# 3) Plot +p_pr_bag <- ggplot(plot_df_pr, aes(x = YEAR, y = LAB, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete(expand = c(0, 0)) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) +print(p_pr_bag) +ggsave(filename = paste0(Dirout, "Commercial_size_limits_SC.jpeg"), + plot = p_pr_bag, width = 6.5, height = 4.6, dpi = 300) + + + +############################# +library(dplyr) +library(tidyr) +library(ggplot2) + +termyr <- 2025 + +# Make sure it's not grouped, and LAB has no NA +bag_plot_base <- bag_yr_df2_pr %>% + dplyr::ungroup() %>% + dplyr::mutate(LAB = dplyr::coalesce(as.character(LAB), "(blank)")) + +# 1) Year columns +yrs <- names(bag_plot_base) +yrs <- yrs[grepl("^\\d{4}$", yrs)] +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# 2) Create unique row IDs *once* in the same order you want +bag_row_map <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::arrange(LAB) %>% # alphabetical A→Z + dplyr::select(LAB, LAB_ID) + +# 3) Long format for tiles (use the SAME LAB_ID logic as above) +plot_df_pr <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::select(LAB, LAB_ID, dplyr::all_of(yrs)) %>% + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + present = !is.na(n), + # top-to-bottom A→Z: + LAB_ID = factor(LAB_ID, levels = rev(bag_row_map$LAB_ID)) + ) + +# Optional: drop rows that are empty across all years +plot_df_pr <- plot_df_pr %>% + dplyr::group_by(LAB_ID) %>% + dplyr::filter(any(present)) %>% + dplyr::ungroup() + +# 4) Plot +p_pr_bag <- ggplot(plot_df_pr, aes(x = YEAR, y = LAB_ID, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete( + expand = c(0, 0), + labels = function(x) sub("___\\d+$", "", x) # show original LAB text + ) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) + +print(p_pr_bag) + +# 5) Save +ggsave( + filename = paste0(Dirout, "Recreational_bag_limits_PR.jpeg"), + plot = p_pr_bag, + width = 7.0, height = 5.0, dpi = 300 +) + + + + +################################ + +library(dplyr) +library(tidyr) +library(ggplot2) + +# Make a unique internal id per row, preserving your designed order +bag_row_map <- bag_yr_df2_pr %>% + dplyr::mutate(LAB_ID = make.unique(as.character(LAB), sep = "___")) %>% + dplyr::select(LAB, LAB_ID) + +bag_plot_long <- bag_yr_df2_pr %>% + dplyr::mutate(LAB_ID = make.unique(as.character(LAB), sep = "___")) %>% + tidyr::pivot_longer( + cols = -c(LAB, LAB_ID), + names_to = "YEAR", + values_to = "n" + ) %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + present = !is.na(n), + # enforce your exact row order (top-to-bottom as in bag_yr_df2_pr) + LAB_ID = factor(LAB_ID, levels = rev(bag_row_map$LAB_ID)) + ) %>% + dplyr::filter(YEAR <= termyr) + +p_bag <- ggplot(bag_plot_long, aes(x = YEAR, y = LAB_ID, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_fill_manual(values = c(`TRUE` = "red", `FALSE` = "white"), guide = "none") + + scale_x_continuous( + breaks = seq(min(bag_plot_long$YEAR, na.rm = TRUE), termyr, by = 2), + expand = c(0, 0) + ) + + scale_y_discrete( + expand = c(0, 0), + # show original LAB text (remove the make.unique suffix) + labels = function(x) sub("___\\d+$", "", x) + ) + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 8), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) + +ggsave( + filename = paste0(Dirout, "Recreational_bag_limits_PR.jpeg"), + plot = p_bag, + width = 7.0, height = 5.0, dpi = 300 +) + + + + + + + + + + +########### +#Try this +# ========================= +# Bag-limit heatmap plot +# Y-axis: alphabetical by species/group, then numeric limit ascending (5 before 15, 3 before 10, etc.) +# Retains duplicate display labels as separate rows +# Assumes you already created + cleaned: bag_yr_df2_pr +# ========================= + +library(dplyr) +library(tidyr) +library(stringr) +library(ggplot2) + +termyr <- 2025 + +# ---- Base table (ensure ungrouped, clean LAB) ---- +bag_plot_base <- bag_yr_df2_pr %>% + dplyr::ungroup() %>% + dplyr::mutate( + LAB = dplyr::coalesce(as.character(LAB), "(blank)"), + # species/group text = everything before " - " + species = sub(" - .*", "", LAB), + # first number in the label (2, 5, 10, 12, 15, etc.) + limit_value = as.numeric(stringr::str_extract(LAB, "\\d+")) + ) + +# ---- Identify year columns ---- +yrs <- names(bag_plot_base) +yrs <- yrs[grepl("^\\d{4}$", yrs)] +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# ---- Create a unique internal row id, then order alphabetically + numerically ---- +bag_row_map <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::arrange(species, limit_value) %>% # A→Z by species, then 2<3<5<10<12<15... + dplyr::select(LAB, LAB_ID) + +# ---- Long data for tiles ---- +plot_df_pr <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::select(LAB, LAB_ID, species, limit_value, dplyr::all_of(yrs)) %>% + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + present = !is.na(n), + # ggplot draws lowest factor at bottom, so reverse to get A→Z from top to bottom + LAB_ID = factor(LAB_ID, levels = rev(bag_row_map$LAB_ID)) + ) + +# Optional: drop rows that are empty across all years +plot_df_pr <- plot_df_pr %>% + dplyr::group_by(LAB_ID) %>% + dplyr::filter(any(present)) %>% + dplyr::ungroup() + +# ---- Plot ---- +p_pr_bag <- ggplot(plot_df_pr, aes(x = YEAR, y = LAB_ID, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete( + expand = c(0, 0), + labels = function(x) sub("___\\d+$", "", x) # remove internal suffix for display + ) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) + +print(p_pr_bag) + +# ---- Save ---- +ggsave( + filename = paste0(Dirout, "Recreational_bag_limits_PR.jpeg"), + plot = p_pr_bag, + width = 12.0, height = 5.0, dpi = 300 +) + +#### St thomas st John +# Subset for Gulf Reef Fish recreational bag limits +mh_carib_st_bag <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + #"FMP FOR THE EEZ AROUND ST. CROIX", + #"FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'RECREATIONAL', + MANAGEMENT_TYPE_USE == 'BAG LIMIT', + ZONE_USE %in% c("ALL", "ST. THOMAS/ST. JOHN MANAGEMENT AREA")) +mh_carib_st_bag <- mh_carib_st_bag %>% + mutate(END_DATE2 = case_when(FR_CITATION == "61 FR 32151" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82413" & SPP_NAME == "BAG LIMIT: OTHER REEF FISH SPECIES COMBINED" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: GROUPERS, SNAPPERS, AND PARROTFISHES COMBINED" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "2" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "6" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "5" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "15" ~ as.Date("2022-10-13"), + TRUE ~ END_DATE2)) %>% + filter(!(FR_CITATION == "87 FR 56204" & COMMON_NAME_USE == "LOBSTER, CARIBBEAN SPINY"))%>% + filter(!(FR_CITATION == "87 FR 56204" & COMMON_NAME_USE == "SURGEONFISH")) + +# Explore Zone +table(mh_carib_st_bag$ZONE_USE) +# All (hogfish zone removed when excluding FR) + +# Explore Subsector +table(mh_carib_st_bag$SUBSECTOR_USE) +# All for all data + +library(dplyr) +library(tidyr) +library(lubridate) +library(stringr) + +termyr <- 2025 + +bag_yr_df_st <- mh_carib_st_bag %>% + # keep only bag limit records you want + dplyr::filter( + NEVER_IMPLEMENTED == 0, + SECTOR_USE == "RECREATIONAL", + MANAGEMENT_TYPE_USE == "BAG LIMIT" + ) %>% + # ensure dates exist; if your fields are START_DATE2/END_DATE2 use those + dplyr::mutate( + start = as.Date(START_DATE2), + end = as.Date(dplyr::coalesce(END_DATE2, Sys.Date())) + ) %>% + dplyr::filter(!is.na(start), !is.na(end), end >= start) %>% + # (optional) if you only want complete years + dplyr::mutate( + start_year = year(start), + end_year = year(end) + ) %>% + # expand to years, NOT days + tidyr::uncount(end_year - start_year + 1, .id = "k") %>% + dplyr::mutate(YEAR = start_year + (k - 1L)) %>% + dplyr::filter(YEAR <= termyr) %>% + # keep SPP_NAME (and anything else you need) + dplyr::select(SPP_NAME, COMMON_NAME_USE, SUBSECTOR_USE, + YEAR, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + dplyr::distinct(SPP_NAME, SUBSECTOR_USE, YEAR, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) + +bag_yr_df_st <- bag_yr_df_st %>% + dplyr::mutate( + VALUE_UNITS = case_when( + VALUE_UNITS == "NUMBERS" ~ "fish", + VALUE_UNITS == "CONCH" ~ "conch", + VALUE_UNITS == "LOBSTER" ~ "lobster", + TRUE ~ VALUE_UNITS + ), + VAL_LAB = paste(VALUE, VALUE_UNITS, str_to_lower(VALUE_RATE)), + # include SPP_NAME in label (optional but recommended if you want that instead of COMMON_NAME_USE) + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',SPP_NAME)),"-", VAL_LAB), + n = 1 + ) %>% + dplyr::select(LAB, YEAR, n) %>% + dplyr::distinct() %>% + tidyr::pivot_wider(names_from = YEAR, values_from = n) %>% + dplyr::arrange(LAB) + +# Remove species name in consecutive rows +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="And Parrotfishes Combined Bag Limit: Groupers, Snappers - 5 fish per person per day")]<-"Groupers, Snappers, and Parrotfishes combined - 5 fish per vessel per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="And Parrotfishes Combined Bag Limit: Groupers, Snappers - 15 fish per vessel per day")]<-"Groupers, Snappers, and Parrotfishes combined - 15 fish per person per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 5 fish per person per day")]<-"Groupers, Parrotfishes, and Snappers combined - 5 fish per person per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 15 fish per vessel per day")]<-"Groupers, Parrotfishes, and Snappers combined - 15 fish per vessel per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 5 fish per person per day")]<-"Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes, and Wrasses combined - 5 fish per person per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 15 fish per vessel per day")]<-"Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes, and Wrasses combined - 15 fish per vessel per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="Bag Limit: Other Reef Fish Species Combined - 5 fish per person per day")]<-"Other Reef Fish Species Combined - 5 fish per person per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="Bag Limit: Other Reef Fish Species Combined - 15 fish per vessel per day")]<-"Other Reef Fish Species Combined - 15 fish per person per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="Bag Limit: Parrotfishes - 2 fish per person per day")]<-"Parrotfishes - 2 fish per person per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="Bag Limit: Parrotfishes - 6 fish per vessel per day")]<-"Parrotfishes - 6 fish per vessel per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="Bag Limit: Surgeonfish - 1 fish per person per day")]<-"Surgeonfish - 1 fish per person per day" +bag_yr_df_st$LAB[which(bag_yr_df_st$LAB=="Bag Limit: Surgeonfish - 4 fish per vessel per day")]<-"Surgeonfish - 4 fish per vessel per day" + + +# ========================= +# Bag-limit heatmap plot +# Y-axis: alphabetical by species/group, then numeric limit ascending (5 before 15, 3 before 10, etc.) +# Retains duplicate display labels as separate rows +# Assumes you already created + cleaned: bag_yr_df2_pr +# ========================= + +library(dplyr) +library(tidyr) +library(stringr) +library(ggplot2) + +termyr <- 2025 + +# ---- Base table (ensure ungrouped, clean LAB) ---- +bag_plot_base <- bag_yr_df_st %>% + dplyr::ungroup() %>% + dplyr::mutate( + LAB = dplyr::coalesce(as.character(LAB), "(blank)"), + # species/group text = everything before " - " + species = sub(" - .*", "", LAB), + # first number in the label (2, 5, 10, 12, 15, etc.) + limit_value = as.numeric(stringr::str_extract(LAB, "\\d+")) + ) + +# ---- Identify year columns ---- +yrs <- names(bag_plot_base) +yrs <- yrs[grepl("^\\d{4}$", yrs)] +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# ---- Create a unique internal row id, then order alphabetically + numerically ---- +bag_row_map <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::arrange(species, limit_value) %>% # A→Z by species, then 2<3<5<10<12<15... + dplyr::select(LAB, LAB_ID) + +# ---- Long data for tiles ---- +plot_df_st <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::select(LAB, LAB_ID, species, limit_value, dplyr::all_of(yrs)) %>% + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + present = !is.na(n), + # ggplot draws lowest factor at bottom, so reverse to get A→Z from top to bottom + LAB_ID = factor(LAB_ID, levels = rev(bag_row_map$LAB_ID)) + ) + +# Optional: drop rows that are empty across all years +plot_df_st <- plot_df_st %>% + dplyr::group_by(LAB_ID) %>% + dplyr::filter(any(present)) %>% + dplyr::ungroup() + +# ---- Plot ---- +p_st_bag <- ggplot(plot_df_st, aes(x = YEAR, y = LAB_ID, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete( + expand = c(0, 0), + labels = function(x) sub("___\\d+$", "", x) # remove internal suffix for display + ) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) + +print(p_st_bag) + +# ---- Save ---- +ggsave( + filename = paste0(Dirout, "Recreational_bag_limits_PR.jpeg"), + plot = p_pr_bag, + width = 7.0, height = 5.0, dpi = 300 +) + +#### St croix +# Subset for Gulf Reef Fish recreational bag limits +mh_carib_sc_bag <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + #"FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + "FMP FOR THE EEZ AROUND ST. CROIX", + #"FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'RECREATIONAL', + MANAGEMENT_TYPE_USE == 'BAG LIMIT', + ZONE_USE %in% c("ALL", "ST. CROIX MANAGEMENT AREA")) +mh_carib_sc_bag <- mh_carib_sc_bag %>% + mutate(END_DATE2 = case_when(FR_CITATION == "61 FR 32151" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82413" & SPP_NAME == "BAG LIMIT: OTHER REEF FISH SPECIES COMBINED" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: GROUPERS, SNAPPERS, AND PARROTFISHES COMBINED" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "2" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "6" ~ as.Date("2021-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "5" ~ as.Date("2022-10-13"), + FR_CITATION == "76 FR 82403" & SPP_NAME == "BAG LIMIT: PARROTFISHES" & VALUE == "15" ~ as.Date("2022-10-13"), + TRUE ~ END_DATE2)) %>% + filter(!(FR_CITATION == "87 FR 56204" & COMMON_NAME_USE == "LOBSTER, CARIBBEAN SPINY"))%>% + filter(!(FR_CITATION == "87 FR 56204" & COMMON_NAME_USE == "SURGEONFISH")) + +# Explore Zone +table(mh_carib_sc_bag$ZONE_USE) +# All (hogfish zone removed when excluding FR) + +# Explore Subsector +table(mh_carib_sc_bag$SUBSECTOR_USE) +# All for all data + +library(dplyr) +library(tidyr) +library(lubridate) +library(stringr) + +termyr <- 2025 + +bag_yr_df_sc <- mh_carib_sc_bag %>% + # keep only bag limit records you want + dplyr::filter( + NEVER_IMPLEMENTED == 0, + SECTOR_USE == "RECREATIONAL", + MANAGEMENT_TYPE_USE == "BAG LIMIT" + ) %>% + # ensure dates exist; if your fields are START_DATE2/END_DATE2 use those + dplyr::mutate( + start = as.Date(START_DATE2), + end = as.Date(dplyr::coalesce(END_DATE2, Sys.Date())) + ) %>% + dplyr::filter(!is.na(start), !is.na(end), end >= start) %>% + # (optional) if you only want complete years + dplyr::mutate( + start_year = year(start), + end_year = year(end) + ) %>% + # expand to years, NOT days + tidyr::uncount(end_year - start_year + 1, .id = "k") %>% + dplyr::mutate(YEAR = start_year + (k - 1L)) %>% + dplyr::filter(YEAR <= termyr) %>% + # keep SPP_NAME (and anything else you need) + dplyr::select(SPP_NAME, COMMON_NAME_USE, SUBSECTOR_USE, + YEAR, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + dplyr::distinct(SPP_NAME, SUBSECTOR_USE, YEAR, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) + +bag_yr_df_sc <- bag_yr_df_sc %>% + dplyr::mutate( + VALUE_UNITS = case_when( + VALUE_UNITS == "NUMBERS" ~ "fish", + VALUE_UNITS == "CONCH" ~ "conch", + VALUE_UNITS == "LOBSTER" ~ "lobster", + TRUE ~ VALUE_UNITS + ), + VAL_LAB = paste(VALUE, VALUE_UNITS, str_to_lower(VALUE_RATE)), + # include SPP_NAME in label (optional but recommended if you want that instead of COMMON_NAME_USE) + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',SPP_NAME)),"-", VAL_LAB), + n = 1 + ) %>% + dplyr::select(LAB, YEAR, n) %>% + dplyr::distinct() %>% + tidyr::pivot_wider(names_from = YEAR, values_from = n) %>% + dplyr::arrange(LAB) + +# Remove species name in consecutive rows +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="And Parrotfishes Combined Bag Limit: Groupers, Snappers - 5 fish per person per day")]<-"Groupers, Snappers, and Parrotfishes combined - 5 fish per vessel per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="And Parrotfishes Combined Bag Limit: Groupers, Snappers - 15 fish per vessel per day")]<-"Groupers, Snappers, and Parrotfishes combined - 15 fish per person per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 5 fish per person per day")]<-"Groupers, Parrotfishes, and Snappers combined - 5 fish per person per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="And Snappers Combined Bag Limit: Groupers, Parrotfishes - 15 fish per vessel per day")]<-"Groupers, Parrotfishes, and Snappers combined - 15 fish per vessel per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 5 fish per person per day")]<-"Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes, and Wrasses combined - 5 fish per person per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="And Wrasses Combined Bag Limit: Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes - 15 fish per vessel per day")]<-"Angelfishes, Grunts, Jacks, Surgeonfishes, Triggerfishes, and Wrasses combined - 15 fish per vessel per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="Bag Limit: Other Reef Fish Species Combined - 5 fish per person per day")]<-"Other Reef Fish Species Combined - 5 fish per person per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="Bag Limit: Other Reef Fish Species Combined - 15 fish per vessel per day")]<-"Other Reef Fish Species Combined - 15 fish per person per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="Bag Limit: Parrotfishes - 2 fish per person per day")]<-"Parrotfishes - 2 fish per person per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="Bag Limit: Parrotfishes - 6 fish per vessel per day")]<-"Parrotfishes - 6 fish per vessel per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="Bag Limit: Surgeonfish - 1 fish per person per day")]<-"Surgeonfish - 1 fish per person per day" +bag_yr_df_sc$LAB[which(bag_yr_df_sc$LAB=="Bag Limit: Surgeonfish - 4 fish per vessel per day")]<-"Surgeonfish - 4 fish per vessel per day" + + +# ========================= +# Bag-limit heatmap plot +# Y-axis: alphabetical by species/group, then numeric limit ascending (5 before 15, 3 before 10, etc.) +# Retains duplicate display labels as separate rows +# Assumes you already created + cleaned: bag_yr_df2_pr +# ========================= + +library(dplyr) +library(tidyr) +library(stringr) +library(ggplot2) + +termyr <- 2025 + +# ---- Base table (ensure ungrouped, clean LAB) ---- +bag_plot_base <- bag_yr_df_sc %>% + dplyr::ungroup() %>% + dplyr::mutate( + LAB = dplyr::coalesce(as.character(LAB), "(blank)"), + # species/group text = everything before " - " + species = sub(" - .*", "", LAB), + # first number in the label (2, 5, 10, 12, 15, etc.) + limit_value = as.numeric(stringr::str_extract(LAB, "\\d+")) + ) + +# ---- Identify year columns ---- +yrs <- names(bag_plot_base) +yrs <- yrs[grepl("^\\d{4}$", yrs)] +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# ---- Create a unique internal row id, then order alphabetically + numerically ---- +bag_row_map <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::arrange(species, limit_value) %>% # A→Z by species, then 2<3<5<10<12<15... + dplyr::select(LAB, LAB_ID) + +# ---- Long data for tiles ---- +plot_df_sc <- bag_plot_base %>% + dplyr::mutate(LAB_ID = make.unique(LAB, sep = "___")) %>% + dplyr::select(LAB, LAB_ID, species, limit_value, dplyr::all_of(yrs)) %>% + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + present = !is.na(n), + # ggplot draws lowest factor at bottom, so reverse to get A→Z from top to bottom + LAB_ID = factor(LAB_ID, levels = rev(bag_row_map$LAB_ID)) + ) + +# Optional: drop rows that are empty across all years +plot_df_sc <- plot_df_sc %>% + dplyr::group_by(LAB_ID) %>% + dplyr::filter(any(present)) %>% + dplyr::ungroup() + +# ---- Plot ---- +p_sc_bag <- ggplot(plot_df_sc, aes(x = YEAR, y = LAB_ID, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete( + expand = c(0, 0), + labels = function(x) sub("___\\d+$", "", x) # remove internal suffix for display + ) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) + +print(p_sc_bag) + +# ---- Save ---- +ggsave( + filename = paste0(Dirout, "Recreational_bag_limits_PR.jpeg"), + plot = p_pr_bag, + width = 7.0, height = 5.0, dpi = 300 +) + diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_ComSize.R b/ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_ComSize.R new file mode 100644 index 0000000..e743134 --- /dev/null +++ b/ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_ComSize.R @@ -0,0 +1,670 @@ +############################ +# Commercial Size Limits # +############################ + +librarian::shelf(here, tidyverse, lubridate, openxlsx, neatRanges, splitstackshape, dplyr) + +# Set output directory for plots +Dirout<-paste0(getwd(),"/Size limits/") +if(!file.exists(Dirout)) dir.create(Dirout) + +# MH dataset +mh <- readRDS(here("ODM-MH-Data_log", "data", "results", "MH_DL_2025Nov18.RDS")) + +# Set end year for plots +termyr<-2025 + +####################### +# Minimum Size limits # +####################### + +# Subset for Gulf Reef Fish size limits - Puerto Rico +mh_carib_pr <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + #"FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + #"FMP FOR THE EEZ AROUND ST. CROIX", + "FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'COMMERCIAL', + MANAGEMENT_CATEGORY == 'SELECTIVITY CONTROLS', + ZONE_USE %in% c("ALL", "PUERTO RICO MANAGEMENT AREA")) +mh_carib_pr <- mh_carib_pr %>% +mutate(END_DATE2 = case_when(FR_CITATION == "49 FR 50049" & COMMON_NAME_USE == "LOBSTER, CARIBBEAN SPINY" ~ as.Date("2021-10-12"), + FR_CITATION == "55 FR 46214" & COMMON_NAME_USE == "SNAPPER, YELLOWTAIL" & VALUE == 12 ~ as.Date("2021-10-12"), + FR_CITATION == "50 FR 34850" & COMMON_NAME_USE == "GROUPER, NASSAU" & VALUE == 17 ~ as.Date("1990-11-29"), + FR_CITATION == "81 FR 29166" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2022-10-13"), + TRUE ~ END_DATE2)) %>% + filter(!(FR_CITATION == "50 FR 34850" & START_YEAR >= "1991")) + +# Confirm size limits +unique(mh_carib_pr$MANAGEMENT_TYPE_USE) + +# Confirm only commercial +table(mh_carib_pr$SECTOR_USE) + +source(here("ODM-MH-Analysis_ready", "Closures", "func_expand_status.R")) + +# Min size limits +min_df_pr <- expand_status(mh_carib_pr, "MINIMUM SIZE LIMIT") + +# Collapse to annual value +min_yr_df_pr <- min_df_pr %>% + mutate(YEAR = year(date_sequence)) %>% + select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + distinct() + +# Explore Zone +table(min_yr_df_pr$ZONE_USE) + +# Explore Subsector +table(min_yr_df_pr$SUBSECTOR_USE) +# All for all data + +# Explore year - only include complete years +table(min_yr_df_pr$YEAR) +min_yr_df_pr<-min_yr_df_pr %>% filter(YEAR <=termyr) +table(min_yr_df_pr$YEAR) + +# Format for plot +min_yr_df2_pr <- min_yr_df_pr %>% + mutate(VALUE_UNITS = case_when(VALUE_UNITS == 'INCHES' ~ 'in', + TRUE ~ VALUE_UNITS), + VALUE_TYPE = case_when(VALUE_TYPE == 'FORK LENGTH' ~ 'FL', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == 'TOTAL LENGTH' ~ 'TL', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == "CARAPACE LENGTH" ~ "Carapace Length", + TRUE ~ VALUE_TYPE), + VAL_LAB = paste(VALUE, VALUE_UNITS, VALUE_TYPE), + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)),"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE,"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE, "(Zone ", ZONE_USE, ")", VAL_LAB), + n = 1) %>% + dplyr::select(LAB, YEAR, n) %>% + arrange(YEAR) %>% + pivot_wider(names_from = YEAR, values_from = n) %>% + arrange(LAB) + + +# ###################### +# # Prohibited Species # +# ###################### +# +# # Subset for Gulf Reef Fish size limits +# mh_carib2 <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + # "FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + # "FMP FOR THE EEZ AROUND ST. CROIX", + # "FMP FOR THE EEZ AROUND PUERTO RICO", + # "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + # "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + #filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'COMMERCIAL', + # MANAGEMENT_TYPE_USE == 'PROHIBITED SPECIES') +# +# # Confirm prohibited + #unique(mh_carib2$MANAGEMENT_TYPE_USE) +# +# # Confirm only commercial + #table(mh_carib2$SECTOR_USE) +# +# # Min size limits + #Prohib_df <- expand_status(mh_carib2, "PROHIBITED SPECIES") +# +# # Collapse to annual value + #Prohib_yr_df <- Prohib_df %>% + # mutate(YEAR = year(date_sequence)) %>% + # select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + # VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + #distinct() +# +# # Explore Zone + #table(Prohib_yr_df$ZONE_USE) +# # All for all data +# +# # Explore Subsector + #table(Prohib_yr_df$SUBSECTOR_USE) +# # All for all data +# +# # Explore year - only include complete years + #table(Prohib_yr_df$YEAR) + #Prohib_yr_df<-Prohib_yr_df %>% filter(YEAR <=termyr) + #table(Prohib_yr_df$YEAR) +# +# # Format for plot + #Prohib_yr_df2 <- Prohib_yr_df %>% + # mutate(LAB = str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)), + # n = 1) %>% + # dplyr::select(LAB, YEAR, n) %>% + #arrange(YEAR) %>% + # pivot_wider(names_from = YEAR, values_from = n) %>% + #arrange(LAB) + +# Want to highlight years where species prohibited or removed from FMP +# Goliath prohibited 1990+ +#min_yr_df2[min_yr_df2$LAB=="Goliath Grouper - 50 in TL", which(colnames(min_yr_df2)=="1990")]<-2 +#min_yr_df2[min_yr_df2$LAB=="Goliath Grouper - 50 in TL", which(colnames(min_yr_df2)=="1991"):dim(min_yr_df2)[2]]<-NA +# Nassau prohibited 1997+ +#min_yr_df2[min_yr_df2$LAB=="Nassau Grouper - 20 in TL", which(colnames(min_yr_df2)=="1997")]<-2 +#min_yr_df2[min_yr_df2$LAB=="Nassau Grouper - 20 in TL", which(colnames(min_yr_df2)=="1998"):dim(min_yr_df2)[2]]<-NA +# Schoolmaster removed from FMP in 2012 +#min_yr_df2[min_yr_df2$LAB=="Schoolmaster - 12 in TL", which(colnames(min_yr_df2)=="2012")]<-2 +# Dog snapper removed from FMP in 2012 +#min_yr_df2[min_yr_df2$LAB=="Dog Snapper - 12 in TL",which(colnames(min_yr_df2)=="2012")]<-2 +# Mahogany snapper, Black Sea Bass removed from FMP in 2012 +#min_yr_df2[min_yr_df2$LAB=="Mahogany Snapper - 12 in TL",which(colnames(min_yr_df2)=="2012")]<-2 +# Black Sea Bass removed from FMP in 1998 +#min_yr_df2[min_yr_df2$LAB=="Black Sea Bass - 8 in TL",which(colnames(min_yr_df2)=="1998")]<-2 + +# Need to add in Max Size Limit for banded rudderfish and lesser amberjack +#subset(mh_grf,MANAGEMENT_TYPE_USE=="MAXIMUM SIZE LIMIT") +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Banded Rudderfish - 14 in FL")]<-"Banded Rudderfish - 14 in FL (22 Max)" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Lesser Amberjack - 14 in FL")]<-"Lesser Amberjack - 14 in FL (22 Max)" + +# Rename Scamp +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Scamp - 16 in TL")]<-"Scamp Grouper - 16 in TL" + +# Reorder by family (manually for now...) +dim(min_yr_df2_pr) #15 x 42 +min_yr_df2_pr<-min_yr_df2_pr[c(1:10, 14:15, 11:13),] +dim(min_yr_df2_pr) #37 x 42 + +# Save outputs before we clean up labels +saveRDS(min_yr_df2_pr,paste0(Dirout,"commercial_pr_size_limits.rds")) + +# Remove species name in consecutive rows +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Nassau Grouper - 13 in TL")]<-"- 13 in TL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Nassau Grouper - 14 in TL")]<-"- 14 in TL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Nassau Grouper - 15 in TL")]<-"- 15 in TL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Nassau Grouper - 16 in TL")]<-"- 16 in TL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Nassau Grouper - 17 in TL")]<-"- 17 in FL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Yellowtail Snapper - 9 in TL")]<-"- 9 in TL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Yellowtail Snapper - 10 in TL")]<-"- 10 in TL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Yellowtail Snapper - 11 in TL")]<-"- 11 in TL" +min_yr_df2_pr$LAB[which(min_yr_df2_pr$LAB=="Yellowtail Snapper - 12 in TL")]<-"- 12 in TL" + + +# Add asterisk to indicate size limits that are consist between com/rec +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Banded Rudderfish - 14 in FL (22 Max)")]<-"*Banded Rudderfish - 14 in FL (22 Max)" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Lesser Amberjack - 14 in FL (22 Max)")]<-"*Lesser Amberjack - 14 in FL (22 Max)" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Black Sea Bass - 8 in TL")]<-"*Black Sea Bass - 8 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Goliath Grouper - 50 in TL")]<-"*Goliath Grouper - 50 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Nassau Grouper - 20 in TL")]<-"*Nassau Grouper - 20 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Scamp Grouper - 16 in TL")]<-"*Scamp Grouper - 16 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Yellowfin Grouper - 20 in TL")]<-"*Yellowfin Grouper - 20 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Hogfish - 12 in FL")]<-"*Hogfish - 12 in FL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Schoolmaster - 12 in TL")]<-"*Schoolmaster - 12 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Cubera Snapper - 12 in TL")]<-"*Cubera Snapper - 12 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Dog Snapper - 12 in TL")]<-"*Dog Snapper - 12 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Gray Snapper - 12 in TL")]<-"*Gray Snapper - 12 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Lane Snapper - 8 in TL")]<-"*Lane Snapper - 8 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Mahogany Snapper - 12 in TL")]<-"*Mahogany Snapper - 12 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Mutton Snapper - 12 in TL")]<-"*Mutton Snapper - 12 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Vermilion Snapper - 8 in TL")]<-"*Vermilion Snapper - 8 in TL" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Yellowtail Snapper - 12 in TL")]<-"*Yellowtail Snapper - 12 in TL" + +library(tidyverse) + +# 1) Get just the year columns (handles if LAB is col 1) +yrs <- names(min_yr_df2_pr) +yrs <- yrs[grepl("^\\d{4}$", yrs)] # keep only "1985", "1986", ... +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# 2) Optional: drop empty rows (all NA across years) +keep_rows <- rowSums(!is.na(min_yr_df2_pr[, yrs, drop = FALSE])) > 0 + +plot_df_pr <- min_yr_df2_pr %>% + dplyr::filter(keep_rows) %>% + # keep LAB + years + dplyr::select(LAB, all_of(yrs)) %>% + # long format: one row per LAB-year + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + # presence flag (you can keep n as-is if you later want 2 = highlight) + present = !is.na(n), + # order so your first row is at the top (like your raster plot with rev()) + LAB = factor(LAB, levels = rev(unique(LAB))) + ) + +# 3) Plot +p_pr <- ggplot(plot_df_pr, aes(x = YEAR, y = LAB, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete(expand = c(0, 0)) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) +print(p_pr) +ggsave(filename = paste0(Dirout, "Commercial_size_limits_PR.jpeg"), + plot = p_pr, width = 6.5, height = 4.6, dpi = 300) + + +######################################################## +# Plot size limits over time +#library(raster) +#Note: importing this package masks select from dplyr... + +#yrs <- as.character(1985:2025) +#yrs <- names(min_yr_df2_pr) +#yrs <- yrs[grepl("^\\d{4}$", yrs)] +#yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= 2025] + +#MinSize_pr<-raster(as.matrix(min_yr_df2_pr[,2:dim(min_yr_df2_pr)[2]])) +#m <- as.matrix(min_yr_df2_pr[, -1]) +#keep_rows <- which(rowSums(!is.na(m))>0) +#m_trim <- m[keep_rows, , drop = FALSE] +#groups_trim <- groups[keep_rows] + + +#groups<-dplyr::select(min_yr_df2_pr, LAB) %>% pull() +#m_trim <- m[keep_rows, , drop = FALSE] +#minsize_pr_trim <- raster::raster(m_trim) +#names<-c(min(min_yr_df2_pr$):max(min_yr_df2_pr$YEAR)) +#names <- as.character(1985:2025) + +#nrows <- nrow(m_trim) +#ncols <- ncol(m_trim) + +#y_at <- seq(from = (1/nrows)/ 2, + # to = 1 - (1/nrows)/ 2, + # by = 1/ nrows) + +#x_at <- seq(from = (1/ncols)/ 2, + # to = 1 - (1/ncols)/2, + # by = 1/ncols) + +#jpeg(paste0(Dirout,"Commercial_size_limits.jpeg"),res=300,height=4.6,width=6.5, units="in") +#par(mar=c(0.1, 12, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +#brks<-c(0,1,2); cols<-c("lightblue","red") +#plot(MinSize_pr,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +#abline(h=c(seq(0,1,(1/dim(min_yr_df2_pr)[1]))),col="lightgray") +#abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +#axis(2,at=seq(((1/dim(min_yr_df2_pr)[1])/2),1,(1/dim(min_yr_df2_pr)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.5,font=1) +#axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.5,las=2,hadj=0.7) +#axis(2, at = y_at, labels = rev(groups_trim), las = 2, tck = 0, cex.axis = 0.5) +#axis(3, at = x_at, labels = names, las = 2, tck = 0, cex.axis = 0.5, hadj = 0.7) +#dev.off() + +##### ST. Thomas/St. John +# Subset for Gulf Reef Fish size limits - St. Thomas and ST. John. +mh_carib_st <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + #"FMP FOR THE EEZ AROUND ST. CROIX", + #"FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'COMMERCIAL', + MANAGEMENT_CATEGORY == 'SELECTIVITY CONTROLS', + ZONE_USE %in% c("ALL", "ST. THOMAS/ST. JOHN MANAGEMENT AREA")) +mh_carib_st <- mh_carib_st %>% + mutate(END_DATE2 = case_when(FR_CITATION == "49 FR 50049" & COMMON_NAME_USE == "LOBSTER, CARIBBEAN SPINY" ~ as.Date("2021-10-12"), + FR_CITATION == "55 FR 46214" & COMMON_NAME_USE == "SNAPPER, YELLOWTAIL" & VALUE == 12 ~ as.Date("2021-10-12"), + FR_CITATION == "50 FR 34850" & COMMON_NAME_USE == "GROUPER, NASSAU" & VALUE == 17 ~ as.Date("1990-11-29"), + FR_CITATION == "81 FR 29166" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2022-10-13"), + TRUE ~ END_DATE2)) + +# Confirm size limits +unique(mh_carib_st$MANAGEMENT_TYPE_USE) + +# Confirm only commercial +table(mh_carib_st$SECTOR_USE) + +source(here("ODM-MH-Analysis_ready", "Closures", "func_expand_status.R")) + +# Min size limits +min_df_st <- expand_status(mh_carib_st, "MINIMUM SIZE LIMIT") + +# Collapse to annual value +min_yr_df_st <- min_df_st %>% + mutate(YEAR = year(date_sequence)) %>% + select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + distinct() + +# Explore Zone +table(min_yr_df_st$ZONE_USE) + +# Explore Subsector +table(min_yr_df_st$SUBSECTOR_USE) +# All for all data + +# Explore year - only include complete years +table(min_yr_df_st$YEAR) +min_yr_df_st<-min_yr_df_st %>% filter(YEAR <=termyr) +table(min_yr_df_st$YEAR) + +# Format for plot +min_yr_df2_st <- min_yr_df_st %>% + mutate(VALUE_UNITS = case_when(VALUE_UNITS == 'INCHES' ~ 'in', + TRUE ~ VALUE_UNITS), + VALUE_TYPE = case_when(VALUE_TYPE == 'FORK LENGTH' ~ 'FL', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == 'TOTAL LENGTH' ~ 'TL', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == "CARAPACE LENGTH" ~ "Carapace Length", + TRUE ~ VALUE_TYPE), + VAL_LAB = paste(VALUE, VALUE_UNITS, VALUE_TYPE), + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)),"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE,"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE, "(Zone ", ZONE_USE, ")", VAL_LAB), + n = 1) %>% + dplyr::select(LAB, YEAR, n) %>% + arrange(YEAR) %>% + pivot_wider(names_from = YEAR, values_from = n) %>% + arrange(LAB) + + +# ###################### +# # Prohibited Species # +# ###################### +# +# # Subset for Gulf Reef Fish size limits +# mh_carib2 <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", +# "FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", +# "FMP FOR THE EEZ AROUND ST. CROIX", +# "FMP FOR THE EEZ AROUND PUERTO RICO", +# "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", +# "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% +# Remove recs that were never implemented +#filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'COMMERCIAL', +# MANAGEMENT_TYPE_USE == 'PROHIBITED SPECIES') +# +# # Confirm prohibited +#unique(mh_carib2$MANAGEMENT_TYPE_USE) +# +# # Confirm only commercial +#table(mh_carib2$SECTOR_USE) +# +# # Min size limits +#Prohib_df <- expand_status(mh_carib2, "PROHIBITED SPECIES") +# +# # Collapse to annual value +#Prohib_yr_df <- Prohib_df %>% +# mutate(YEAR = year(date_sequence)) %>% +# select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, +# VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% +#distinct() +# +# # Explore Zone +#table(Prohib_yr_df$ZONE_USE) +# # All for all data +# +# # Explore Subsector +#table(Prohib_yr_df$SUBSECTOR_USE) +# # All for all data +# +# # Explore year - only include complete years +#table(Prohib_yr_df$YEAR) +#Prohib_yr_df<-Prohib_yr_df %>% filter(YEAR <=termyr) +#table(Prohib_yr_df$YEAR) +# +# # Format for plot +#Prohib_yr_df2 <- Prohib_yr_df %>% +# mutate(LAB = str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)), +# n = 1) %>% +# dplyr::select(LAB, YEAR, n) %>% +#arrange(YEAR) %>% +# pivot_wider(names_from = YEAR, values_from = n) %>% +#arrange(LAB) + +# Want to highlight years where species prohibited or removed from FMP +# Goliath prohibited 1990+ +#min_yr_df2[min_yr_df2$LAB=="Goliath Grouper - 50 in TL", which(colnames(min_yr_df2)=="1990")]<-2 +#min_yr_df2[min_yr_df2$LAB=="Goliath Grouper - 50 in TL", which(colnames(min_yr_df2)=="1991"):dim(min_yr_df2)[2]]<-NA +# Nassau prohibited 1997+ +#min_yr_df2[min_yr_df2$LAB=="Nassau Grouper - 20 in TL", which(colnames(min_yr_df2)=="1997")]<-2 +#min_yr_df2[min_yr_df2$LAB=="Nassau Grouper - 20 in TL", which(colnames(min_yr_df2)=="1998"):dim(min_yr_df2)[2]]<-NA +# Schoolmaster removed from FMP in 2012 +#min_yr_df2[min_yr_df2$LAB=="Schoolmaster - 12 in TL", which(colnames(min_yr_df2)=="2012")]<-2 +# Dog snapper removed from FMP in 2012 +#min_yr_df2[min_yr_df2$LAB=="Dog Snapper - 12 in TL",which(colnames(min_yr_df2)=="2012")]<-2 +# Mahogany snapper, Black Sea Bass removed from FMP in 2012 +#min_yr_df2[min_yr_df2$LAB=="Mahogany Snapper - 12 in TL",which(colnames(min_yr_df2)=="2012")]<-2 +# Black Sea Bass removed from FMP in 1998 +#min_yr_df2[min_yr_df2$LAB=="Black Sea Bass - 8 in TL",which(colnames(min_yr_df2)=="1998")]<-2 + +# Need to add in Max Size Limit for banded rudderfish and lesser amberjack +#subset(mh_grf,MANAGEMENT_TYPE_USE=="MAXIMUM SIZE LIMIT") +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Banded Rudderfish - 14 in FL")]<-"Banded Rudderfish - 14 in FL (22 Max)" +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Lesser Amberjack - 14 in FL")]<-"Lesser Amberjack - 14 in FL (22 Max)" + +# Rename Scamp +#min_yr_df2$LAB[which(min_yr_df2$LAB=="Scamp - 16 in TL")]<-"Scamp Grouper - 16 in TL" + +# Reorder by family (manually for now...) +dim(min_yr_df2_st) #22 x 42 +min_yr_df2_st<-min_yr_df2_st[c(1:17, 21:22, 18:20),] +dim(min_yr_df2_st) #37 x 42 + +# Save outputs before we clean up labels +saveRDS(min_yr_df2_st,paste0(Dirout,"commercial_pr_size_limits.rds")) + +# Remove species name in consecutive rows +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 13 in TL")]<-"- 13 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 14 in TL")]<-"- 14 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 15 in TL")]<-"- 15 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 16 in TL")]<-"- 16 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 17 in TL")]<-"- 17 in FL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 18 in TL")]<-"- 18 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 19 in TL")]<-"- 19 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 20 in TL")]<-"- 20 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 21 in TL")]<-"- 21 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 22 in TL")]<-"- 22 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 23 in TL")]<-"- 23 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Nassau Grouper - 24 in TL")]<-"- 24 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Yellowtail Snapper - 9 in TL")]<-"- 9 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Yellowtail Snapper - 10 in TL")]<-"- 10 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Yellowtail Snapper - 11 in TL")]<-"- 11 in TL" +min_yr_df2_st$LAB[which(min_yr_df2_st$LAB=="Yellowtail Snapper - 12 in TL")]<-"- 12 in TL" + + +# Add asterisk to indicate size limits that are consist between com/rec +min_yr_df2$LAB[which(min_yr_df2$LAB=="Banded Rudderfish - 14 in FL (22 Max)")]<-"*Banded Rudderfish - 14 in FL (22 Max)" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Lesser Amberjack - 14 in FL (22 Max)")]<-"*Lesser Amberjack - 14 in FL (22 Max)" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Black Sea Bass - 8 in TL")]<-"*Black Sea Bass - 8 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Goliath Grouper - 50 in TL")]<-"*Goliath Grouper - 50 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Nassau Grouper - 20 in TL")]<-"*Nassau Grouper - 20 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Scamp Grouper - 16 in TL")]<-"*Scamp Grouper - 16 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Yellowfin Grouper - 20 in TL")]<-"*Yellowfin Grouper - 20 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Hogfish - 12 in FL")]<-"*Hogfish - 12 in FL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Schoolmaster - 12 in TL")]<-"*Schoolmaster - 12 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Cubera Snapper - 12 in TL")]<-"*Cubera Snapper - 12 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Dog Snapper - 12 in TL")]<-"*Dog Snapper - 12 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Gray Snapper - 12 in TL")]<-"*Gray Snapper - 12 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Lane Snapper - 8 in TL")]<-"*Lane Snapper - 8 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Mahogany Snapper - 12 in TL")]<-"*Mahogany Snapper - 12 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Mutton Snapper - 12 in TL")]<-"*Mutton Snapper - 12 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Vermilion Snapper - 8 in TL")]<-"*Vermilion Snapper - 8 in TL" +min_yr_df2$LAB[which(min_yr_df2$LAB=="Yellowtail Snapper - 12 in TL")]<-"*Yellowtail Snapper - 12 in TL" + +# Plot size limits over time +library(raster) +#Note: importing this package masks select from dplyr... + +yrs <- as.character(1985:2025) +yrs <- names(min_yr_df2_st) +yrs <- yrs[grepl("^\\d{4}$", yrs)] +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= 2025] + +MinSize_st<-raster(as.matrix(min_yr_df2_st[,2:dim(min_yr_df2_st)[2]])) +groups<-dplyr::select(min_yr_df2_st, LAB) %>% pull() +#names<-c(min(min_yr_df2_pr$):max(min_yr_df2_pr$YEAR)) +names <- as.character(1985:2025) + +nrows <- nrow(min_yr_df2_st) +ncols <- ncol(min_yr_df2_st) - 1 + +y_at <- seq(from = (1/nrows)/ 2, + to = 1 - (1/nrows)/ 2, + by = 1/ nrows) + +x_at <- seq(from = (1/ncols)/ 2, + to = 1 - (1/ncols)/2, + by = 1/ncols) + +jpeg(paste0(Dirout,"Commercial_size_limitsst.jpeg"),res=300,height=4.6,width=6.5, units="in") +par(mar=c(0.1, 12, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(MinSize_st,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(min_yr_df2_st)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +#axis(2,at=seq(((1/dim(min_yr_df2_pr)[1])/2),1,(1/dim(min_yr_df2_pr)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.5,font=1) +#axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.5,las=2,hadj=0.7) +axis(2, at = y_at, labels = rev(groups), las = 2, tck = 0, cex.axis = 0.5) +axis(3, at = x_at, labels = names, las = 2, tck = 0, cex.axis = 0.5, hadj = 0.7) +dev.off() + + +########################## +# St. Croix +# Subset for Gulf Reef Fish size limits - Puerto Rico +mh_carib_sc <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + #"FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + "FMP FOR THE EEZ AROUND ST. CROIX", + #"FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'COMMERCIAL', + MANAGEMENT_CATEGORY == 'SELECTIVITY CONTROLS', + ZONE_USE %in% c("ALL", "ST. CROIX MANAGEMENT AREA")) +mh_carib_sc <- mh_carib_sc %>% + mutate(END_DATE2 = case_when(FR_CITATION == "49 FR 50049" & COMMON_NAME_USE == "LOBSTER, CARIBBEAN SPINY" ~ as.Date("2021-10-12"), + FR_CITATION == "55 FR 46214" & COMMON_NAME_USE == "SNAPPER, YELLOWTAIL" & VALUE == 12 ~ as.Date("2021-10-12"), + FR_CITATION == "50 FR 34850" & COMMON_NAME_USE == "GROUPER, NASSAU" & VALUE == 17 ~ as.Date("1990-11-29"), + FR_CITATION == "81 FR 29166" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2021-10-13"), + FR_CITATION == "78 FR 45894" ~ as.Date("2022-10-13"), + TRUE ~ END_DATE2)) %>% + filter(!(FR_CITATION == "50 FR 34850" & START_YEAR >= "1991")) + +mh_carib_sc <-mh_carib_sc %>% + dplyr::ungroup() + +# Confirm size limits +unique(mh_carib_sc$MANAGEMENT_TYPE_USE) + +# Confirm only commercial +table(mh_carib_sc$SECTOR_USE) + +source(here("ODM-MH-Analysis_ready", "Closures", "func_expand_status.R")) + +# Min size limits +min_df_sc <- expand_status(mh_carib_sc, "MINIMUM SIZE LIMIT") + +# Collapse to annual value +min_yr_df_sc <- min_df_sc %>% + dplyr::mutate(YEAR = year(date_sequence)) %>% + dplyr::select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + distinct() + +# Explore Zone +table(min_yr_df_sc$ZONE_USE) + +# Explore Subsector +table(min_yr_df_sc$SUBSECTOR_USE) +# All for all data + +# Explore year - only include complete years +table(min_yr_df_sc$YEAR) +min_yr_df_sc<-min_yr_df_sc %>% filter(YEAR <=termyr) +table(min_yr_df_sc$YEAR) + +# Format for plot +min_yr_df2_sc <- min_yr_df_sc %>% + mutate(VALUE_UNITS = case_when(VALUE_UNITS == 'INCHES' ~ 'in', + TRUE ~ VALUE_UNITS), + VALUE_TYPE = case_when(VALUE_TYPE == 'FORK LENGTH' ~ 'FL', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == 'TOTAL LENGTH' ~ 'TL', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == "CARAPACE LENGTH" ~ "Carapace Length", + TRUE ~ VALUE_TYPE), + VAL_LAB = paste(VALUE, VALUE_UNITS, VALUE_TYPE), + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)),"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE,"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE, "(Zone ", ZONE_USE, ")", VAL_LAB), + n = 1) %>% + dplyr::select(LAB, YEAR, n) %>% + arrange(YEAR) %>% + pivot_wider(names_from = YEAR, values_from = n) %>% + arrange(LAB) + +# Reorder by family (manually for now...) +dim(min_yr_df2_sc) #22 x 42 +min_yr_df2_sc<-min_yr_df2_sc[c(1:17, 21:22, 18:20),] +dim(min_yr_df2_sc) #37 x 42 + +# Save outputs before we clean up labels +saveRDS(min_yr_df2_sc,paste0(Dirout,"commercial_pr_size_limits.rds")) + +# Remove species name in consecutive rows +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 13 in TL")]<-"- 13 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 14 in TL")]<-"- 14 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 15 in TL")]<-"- 15 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 16 in TL")]<-"- 16 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 17 in TL")]<-"- 17 in FL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 18 in TL")]<-"- 18 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 19 in TL")]<-"- 19 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 20 in TL")]<-"- 20 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 21 in TL")]<-"- 21 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 22 in TL")]<-"- 22 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 23 in TL")]<-"- 23 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Nassau Grouper - 24 in TL")]<-"- 24 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Yellowtail Snapper - 9 in TL")]<-"- 9 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Yellowtail Snapper - 10 in TL")]<-"- 10 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Yellowtail Snapper - 11 in TL")]<-"- 11 in TL" +min_yr_df2_sc$LAB[which(min_yr_df2_sc$LAB=="Yellowtail Snapper - 12 in TL")]<-"- 12 in TL" + +library(tidyverse) + +# 1) Get just the year columns (handles if LAB is col 1) +yrs <- names(min_yr_df2_sc) +yrs <- yrs[grepl("^\\d{4}$", yrs)] # keep only "1985", "1986", ... +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# 2) Optional: drop empty rows (all NA across years) +keep_rows <- rowSums(!is.na(min_yr_df2_sc[, yrs, drop = FALSE])) > 0 + +plot_df_sc <- min_yr_df2_sc %>% + dplyr::filter(keep_rows) %>% + # keep LAB + years + dplyr::select(LAB, all_of(yrs)) %>% + # long format: one row per LAB-year + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + # presence flag (you can keep n as-is if you later want 2 = highlight) + present = !is.na(n), + # order so your first row is at the top (like your raster plot with rev()) + LAB = factor(LAB, levels = rev(unique(LAB))) + ) + +# 3) Plot +p_sc <- ggplot(plot_df_sc, aes(x = YEAR, y = LAB, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete(expand = c(0, 0)) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) +print(p_sc) +ggsave(filename = paste0(Dirout, "Commercial_size_limits_SC.jpeg"), + plot = p_sc, width = 6.5, height = 4.6, dpi = 300) + + diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_TripLim.R b/ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_TripLim.R new file mode 100644 index 0000000..d619367 --- /dev/null +++ b/ODM-MH-Analysis_ready/Management History Comparison Files/S103Carib_TripLim.R @@ -0,0 +1,427 @@ +########################################## +# Commercial Trip Limits & IFQ Program # +########################################## + +librarian::shelf(here, tidyverse, lubridate, openxlsx, neatRanges, splitstackshape, dplyr) + +# Set output directory for plots +Dirout<-paste0(getwd(),"/Trip limits and IFQ/") +if(!file.exists(Dirout)) dir.create(Dirout) + +# MH dataset +mh <- readRDS(here("ODM-MH-Data_log", "data", "results", "MH_DL_2025Nov18.RDS")) + +# Set end year for plots +termyr<-2025 + +# Subset for Gulf Reef Fish commercial trip limits and IFQ +# Subset for Gulf Reef Fish size limits - Puerto Rico +mh_carib_pr_trip <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + #"FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + #"FMP FOR THE EEZ AROUND ST. CROIX", + "FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'COMMERCIAL', + MANAGEMENT_TYPE_USE == 'TRIP LIMIT', + ZONE_USE %in% c("ALL", "PUERTO RICO MANAGEMENT AREA")) +mh_carib_pr_trip <- mh_carib_pr_trip %>% + mutate(END_DATE2 = case_when(FR_CITATION == "78 FR 56171" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2022-10-13"), + TRUE ~ END_DATE2)) + +# Confirm trip limits +unique(mh_carib_pr_trip$MANAGEMENT_TYPE_USE) + +# Confirm only commercial +table(mh_carib_pr_trip$SECTOR_USE) + +source(here("ODM-MH-Analysis_ready", "Closures", "func_expand_status.R")) + +############# +# Trip limits +############# + +trip_df_pr <- expand_status(mh_carib_pr_trip, "TRIP LIMIT") + +# Collapse to annual value +trip_df_pr <- trip_df_pr %>% + mutate(YEAR = year(date_sequence)) %>% + dplyr::select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + distinct() + +# Explore Zone +table(trip_df_pr$ZONE_USE) +# All for all data + +# Explore Subsector +table(trip_df_pr$SUBSECTOR_USE) +# All for all data + +# Explore year - only include complete years +table(trip_df_pr$YEAR) +trip_df_pr<-trip_df_pr %>% filter(YEAR <=termyr) +table(trip_df_pr$YEAR) + +# Format for plot +trip_df_pr2 <- trip_df_pr %>% + mutate(VALUE_UNITS = case_when(VALUE_UNITS == 'POUNDS' ~ 'lb', + TRUE ~ VALUE_UNITS), + VALUE_UNITS = case_when(VALUE_UNITS == 'CONCH' ~ 'conch', + TRUE ~ VALUE_UNITS), + VALUE_TYPE = case_when(VALUE_TYPE == 'GUTTED WEIGHT' ~ 'GW', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == 'ROUND (WHOLE) WEIGHT' ~ 'WW', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == 'COUNT' ~ '', + TRUE ~ VALUE_TYPE), + VALUE_RATE = case_when(VALUE_RATE == 'PER VESSEL PER DAY' ~ 'per vessel per day', + VALUE_RATE == "PER PERSON PER DAY" ~ "per person per day", + TRUE ~ VALUE_RATE), + VAL_LAB = paste(VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE), + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)),"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE,"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE, "(Zone ", ZONE_USE, ")", VAL_LAB), + n = 1) %>% + dplyr::select(LAB, YEAR, n) %>% + arrange(YEAR) %>% + pivot_wider(names_from = YEAR, values_from = n) %>% + arrange(LAB) + +view(trip_df_pr2) +trip_df_pr2$LAB +# Individual species are showing up, rather than aggregates +# Black Grouper (10000, 6000, 7500, 5500) +# Dwarf Sand Perch (10000, 7500) +# Gag Grouper (10000, 6000, 7500, 5500) +# Gray Triggerfish (12, 16, 25) +# Greater Amberjack (1000, 1500, 2000, 250, 7) +# Misty Grouper (10000, 6000, 7500) +# Red Grouper (10000, 6000, 7500, 5500) +# Red Hind (10000, 6000, 7500, 5500) +# Red Snapper (1000, 200, 2000) +# Rock Hind (10000, 6000, 7500, 5500) +# Sand Perch (10000, 7500) +# Scamp (10000, 6000, 7500, 5500) +# Snowy Grouper (10000, 6000, 7500) +# Speckled Hind (10000, 6000, 7500) +# Warsaw Grouper (10000, 6000, 7500) +# Yellowedge Grouper (10000, 6000, 7500) +# Yellowfin Grouper (10000, 6000, 7500, 5500) +# Yellowmouth Grouper (10000, 6000, 7500, 5500) + +# Need to end trip limits when IFQ comes in +#trip_yr_df2[trip_yr_df2$LAB=="Red Snapper - 200 lb WW per trip",which(colnames(trip_yr_df2)=="2007"):dim(trip_yr_df2)[2]]<-NA #2007+ +#trip_yr_df2[trip_yr_df2$LAB=="Red Snapper - 2000 lb WW per trip",which(colnames(trip_yr_df2)=="2007"):dim(trip_yr_df2)[2]]<-NA #2007+ +#trip_yr_df2[trip_yr_df2$LAB=="Black Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Gag Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Misty Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Red Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Red Hind - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Rock Hind - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Scamp - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +##trip_yr_df2[trip_yr_df2$LAB=="Snowy Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Speckled Hind - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Warsaw Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Yellowedge Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Yellowfin Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ +#trip_yr_df2[trip_yr_df2$LAB=="Yellowmouth Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df2)=="2010"):dim(trip_yr_df2)[2]]<-NA #2010+ + + +# Keep Gray Triggerfish, Greater Amberjack, Red Snapper, D&SWG (Black Grouper), DWG (e.g.,Misty) +#trip_yr_df3<-trip_yr_df2[c(11:13,17,14:16,18,31,30,32,2:4,1,20:21,19),] + +# Need to end trip limits when IFQ comes in for D&SWG (2010), DWG (2010), and RSN (2007) +#trip_yr_df3[trip_yr_df3$LAB=="Red Snapper - 200 lb WW per trip",which(colnames(trip_yr_df3)=="2007"):dim(trip_yr_df3)[2]]<-NA #2007+ +#trip_yr_df3[trip_yr_df3$LAB=="Red Snapper - 2000 lb WW per trip",which(colnames(trip_yr_df3)=="2007"):dim(trip_yr_df3)[2]]<-NA #2007+ +#trip_yr_df3[trip_yr_df3$LAB=="Black Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df3)=="2010"):dim(trip_yr_df3)[2]]<-NA #2010+ +#trip_yr_df3[trip_yr_df3$LAB=="Misty Grouper - 6000 lb GW per trip",which(colnames(trip_yr_df3)=="2010"):dim(trip_yr_df3)[2]]<-NA #2010+ + +# Need to redefine Misty Grouper as Deepwater Grouper +#trip_yr_df3$LAB[trip_yr_df3$LAB=="Misty Grouper - 6000 lb GW per trip"]<-"Deep-Water Grouper - 6000 lb GW per trip" +#trip_yr_df3$LAB[trip_yr_df3$LAB=="Misty Grouper - 7500 lb GW per trip"]<-"Deep-Water Grouper - 7500 lb GW per trip" +#trip_yr_df3$LAB[trip_yr_df3$LAB=="Misty Grouper - 10000 lb GW per trip"]<-"Deep-Water Grouper - 10000 lb GW per trip" + +# Need to redefine Black Grouper as Deep & Shallowwater Grouper +#trip_yr_df3$LAB[trip_yr_df3$LAB=="Black Grouper - 5500 lb GW per trip"]<-"Shallow-Water Grouper - 5500 lb GW per trip" +#trip_yr_df3$LAB[trip_yr_df3$LAB=="Black Grouper - 6000 lb GW per trip"]<-"Shallow-Water Grouper - 6000 lb GW per trip" +#trip_yr_df3$LAB[trip_yr_df3$LAB=="Black Grouper - 7500 lb GW per trip"]<-"Shallow-Water Grouper - 7500 lb GW per trip" +#trip_yr_df3$LAB[trip_yr_df3$LAB=="Black Grouper - 10000 lb GW per trip"]<-"Shallow-Water Grouper - 10000 lb GW per trip" + +# Save outputs before we clean up labels +saveRDS(trip_df_pr2,paste0(Dirout,"commercial_trip_limits.rds")) + +# Remove extra space in label +trip_df_pr2$LAB[which(trip_df_pr2$LAB=="Queen Conch - 200 conch per vessel per day")]<-"- 200 conch per vessel per day" + +########################################################### +library(tidyverse) + +# 1) Get just the year columns (handles if LAB is col 1) +yrs <- names(trip_df_pr2) +yrs <- yrs[grepl("^\\d{4}$", yrs)] # keep only "1985", "1986", ... +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# 2) Optional: drop empty rows (all NA across years) +keep_rows <- rowSums(!is.na(trip_df_pr2[, yrs, drop = FALSE])) > 0 + +plot_df_pr <- trip_df_pr2 %>% + dplyr::filter(keep_rows) %>% + # keep LAB + years + dplyr::select(LAB, all_of(yrs)) %>% + # long format: one row per LAB-year + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + # presence flag (you can keep n as-is if you later want 2 = highlight) + present = !is.na(n), + # order so your first row is at the top (like your raster plot with rev()) + LAB = factor(LAB, levels = rev(unique(LAB))) + ) + +# 3) Plot +p_pr_trip <- ggplot(plot_df_pr, aes(x = YEAR, y = LAB, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete(expand = c(0, 0)) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) +print(p_pr_trip) +ggsave(filename = paste0(Dirout, "Commercial_trip_limits_pr.jpeg"), + plot = p_pr_trip, width = 6.5, height = 4.6, dpi = 300) + + +######### +# Plots # +######### + +library(raster) +#Note: importing this package masks select from dplyr... + + +groups<-dplyr::select(trip_df_pr2, LAB) %>% pull() +names<-c(min(trip_df_pr2$YEAR):max(trip_df_pr2$YEAR)) + +yrs <- as.character(1997:2025) +yrs <- names(trip_df_pr2) +yrs <- yrs[grepl("^\\d{4}$", yrs)] +yrs <- yrs[as.integer(yrs) >= 1997 & as.integer(yrs) <= 2025] + +Trip<-raster(as.matrix(trip_df_pr2[,2:dim(trip_df_pr2)[2]])) +m <- as.matrix(trip_df_pr2[, -1]) +keep_rows <- which(rowSums(!is.na(m))>0) +m_trim <- m[keep_rows, , drop = FALSE] +groups<-dplyr::select(trip_df_pr2, LAB) %>% pull() +trip_pr_trim <- raster::raster(m_trim) +#names<-c(min(trip_df_pr2$YEAR):max(trip_df_pr2$YEAR)) +names <- as.character(1997:2025) +groups_trim <- groups[keep_rows] + + +nrows <- nrow(m_trim) +ncols <- ncol(m_trim) + +y_at <- seq(from = (1/nrows)/ 2, + to = 1 - (1/nrows)/ 2, + by = 1/ nrows) + +x_at <- seq(from = (1/ncols)/ 2, + to = 1 - (1/ncols)/2, + by = 1/ncols) + + +jpeg(paste0(Dirout,"Commercial_trip.jpeg"),res=300,height=4.8,width=6.9, units="in") +par(mar=c(0.1, 11.5, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(Trip,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(trip_df_pr2)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +axis(2,at=seq(((1/dim(trip_df_pr2)[1])/2),1,(1/dim(trip_df_pr2)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.5,font=1) +axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.6,las=2,hadj=0.7) +dev.off() + +Trip2<-raster(as.matrix(trip_yr_df2[,2:dim(trip_yr_df2)[2]])) +groups<-dplyr::select(trip_yr_df2, LAB) %>% pull() +names<-c(min(trip_yr_df$YEAR):max(trip_yr_df$YEAR)) + +jpeg(paste0(Dirout,"Commercial_trip_species.jpeg"),res=300,height=4.8,width=6.3, units="in") +par(mar=c(0.1, 6.5, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(Trip2,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(trip_yr_df2)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +axis(2,at=seq(((1/dim(trip_yr_df2)[1])/2),1,(1/dim(trip_yr_df2)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.3,font=1) +axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.6,las=2,hadj=0.7) +dev.off() + +# Plot +IFQ<-raster(as.matrix(IFQ_yr_df2[,2:dim(IFQ_yr_df2)[2]])) +groups<-dplyr::select(IFQ_yr_df2, LAB) %>% pull() +names<-c(min(IFQ_yr_df$YEAR):max(IFQ_yr_df$YEAR)) + +jpeg(paste0(Dirout,"Commercial_IFQ_species.jpeg"),res=300,height=4.8,width=6.1, units="in") +par(mar=c(0.1, 5.5, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(IFQ,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(IFQ_yr_df2)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +axis(2,at=seq(((1/dim(IFQ_yr_df2)[1])/2),1,(1/dim(IFQ_yr_df2)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.5,font=1) +axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.6,las=2,hadj=0.7) +dev.off() + +# Combine trip limits and IFQ into dataframe +trip_yr_df4<-as.data.frame(rbind(trip_yr_df3, + as.numeric(c("SNAPPER, RED IFQ",rep(NA,15),rep(1,18))), + as.numeric(c("GROUPER-TILEFISH IFQ",rep(NA,18),rep(1,15))))) +trip_yr_df4$LAB[(dim(trip_yr_df4)[1]-1):dim(trip_yr_df4)[1]]<-c("- IFQ","Grouper-Tilefish IFQ") +trip_yr_df4<-trip_yr_df4[c(1:11,19,12:18,20),] # Reorder by family/species (manually for now...) +Trip3<-raster(as.matrix(trip_yr_df4[,2:dim(trip_yr_df4)[2]])) +groups<-dplyr::select(trip_yr_df4, LAB) %>% pull() +names<-c(min(trip_yr_df$YEAR):max(trip_yr_df$YEAR)) + +jpeg(paste0(Dirout,"Commercial_trip_IFQ.jpeg"),res=300,height=4.2,width=6.3, units="in") +par(mar=c(0.1, 9.5, 2, 0), xpd=TRUE,oma=c(0,0,1.5,0)) +brks<-c(0,1,2); cols<-c("lightblue","red") +plot(Trip3,breaks=brks,col=cols,axes=F,legend=F,legend.shrink=0.1,xlab="",main="") +abline(h=c(seq(0,1,(1/dim(trip_yr_df4)[1]))),col="lightgray") +abline(v=c(seq(0,1,(1/length(names)))),col="lightgray") +axis(2,at=seq(((1/dim(trip_yr_df4)[1])/2),1,(1/dim(trip_yr_df4)[1])),labels=rev(groups),las=2,tck=0,cex.axis=0.5,font=1) +axis(3,at=seq(((1/length(names))/2),1,(1/length(names))),labels=names,las=2,tck=0,cex.axis=0.6,las=2,hadj=0.7) +dev.off() + +################################################################# +# Subset for Gulf Reef Fish commercial trip limits and IFQ +# Subset for Gulf Reef Fish size limits - Puerto Rico +mh_carib_sc_trip <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + #"FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + "FMP FOR THE EEZ AROUND ST. CROIX", + #"FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0, SECTOR_USE == 'COMMERCIAL', + MANAGEMENT_TYPE_USE == 'TRIP LIMIT', + ZONE_USE %in% c("ALL", "ST. CROIX MANAGEMENT AREA")) +mh_carib_sc_trip <- mh_carib_sc_trip %>% + mutate(END_DATE2 = case_when(FR_CITATION == "78 FR 56171" & COMMON_NAME_USE == "CONCH, QUEEN" ~ as.Date("2021-10-13"), + TRUE ~ END_DATE2)) + +# Confirm trip limits +unique(mh_carib_sc_trip$MANAGEMENT_TYPE_USE) + +# Confirm only commercial +table(mh_carib_sc_trip$SECTOR_USE) + +source(here("ODM-MH-Analysis_ready", "Closures", "func_expand_status.R")) + +############# +# Trip limits +############# + +trip_df_sc <- expand_status(mh_carib_sc_trip, "TRIP LIMIT") + +# Collapse to annual value +trip_df_sc <- trip_df_sc %>% + mutate(YEAR = year(date_sequence)) %>% + dplyr::select(COMMON_NAME_USE, ZONE_USE, SUBSECTOR_USE, YEAR, + VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% + distinct() + +# Explore Zone +table(trip_df_sc$ZONE_USE) +# All for all data + +# Explore Subsector +table(trip_df_sc$SUBSECTOR_USE) +# All for all data + +# Explore year - only include complete years +table(trip_df_sc$YEAR) +trip_df_sc<-trip_df_sc %>% filter(YEAR <=termyr) +table(trip_df_sc$YEAR) + +# Format for plot +trip_df_sc2 <- trip_df_sc %>% + mutate(VALUE_UNITS = case_when(VALUE_UNITS == 'POUNDS' ~ 'lb', + TRUE ~ VALUE_UNITS), + VALUE_UNITS = case_when(VALUE_UNITS == 'CONCH' ~ 'conch', + TRUE ~ VALUE_UNITS), + VALUE_TYPE = case_when(VALUE_TYPE == 'GUTTED WEIGHT' ~ 'GW', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == 'ROUND (WHOLE) WEIGHT' ~ 'WW', + TRUE ~ VALUE_TYPE), + VALUE_TYPE = case_when(VALUE_TYPE == 'COUNT' ~ '', + TRUE ~ VALUE_TYPE), + VALUE_RATE = case_when(VALUE_RATE == 'PER VESSEL PER DAY' ~ 'per vessel per day', + VALUE_RATE == "PER PERSON PER DAY" ~ "per person per day", + TRUE ~ VALUE_RATE), + VAL_LAB = paste(VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE), + LAB = paste(str_to_title(sub('(.*)\\,\\s+(.*)','\\2 \\1',COMMON_NAME_USE)),"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE,"-", VAL_LAB), + # LAB = paste(COMMON_NAME_USE, "(Zone ", ZONE_USE, ")", VAL_LAB), + n = 1) %>% + dplyr::select(LAB, YEAR, n) %>% + arrange(YEAR) %>% + pivot_wider(names_from = YEAR, values_from = n) %>% + arrange(LAB) + +view(trip_df_sc2) +trip_df_sc2$LAB + + +# Save outputs before we clean up labels +saveRDS(trip_df_sc2,paste0(Dirout,"commercial_trip_limits.rds")) + +# Remove extra space in label +trip_df_sc2$LAB[which(trip_df_sc2$LAB=="Queen Conch - 200 conch per vessel per day")]<-"- 200 conch per vessel per day" + +########################################################### +library(tidyverse) + +# 1) Get just the year columns (handles if LAB is col 1) +yrs <- names(trip_df_sc2) +yrs <- yrs[grepl("^\\d{4}$", yrs)] # keep only "1985", "1986", ... +yrs <- yrs[as.integer(yrs) >= 1985 & as.integer(yrs) <= termyr] + +# 2) Optional: drop empty rows (all NA across years) +keep_rows <- rowSums(!is.na(trip_df_sc2[, yrs, drop = FALSE])) > 0 + +plot_df_sc <- trip_df_sc2 %>% + dplyr::filter(keep_rows) %>% + # keep LAB + years + dplyr::select(LAB, all_of(yrs)) %>% + # long format: one row per LAB-year + tidyr::pivot_longer(cols = dplyr::all_of(yrs), names_to = "YEAR", values_to = "n") %>% + dplyr::mutate( + YEAR = as.integer(YEAR), + # presence flag (you can keep n as-is if you later want 2 = highlight) + present = !is.na(n), + # order so your first row is at the top (like your raster plot with rev()) + LAB = factor(LAB, levels = rev(unique(LAB))) + ) + +# 3) Plot +p_sc_trip <- ggplot(plot_df_sc, aes(x = YEAR, y = LAB, fill = present)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(1985, termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete(expand = c(0, 0)) + + scale_fill_manual(values = c(`TRUE` = "lightblue", `FALSE` = "white"), guide = "none") + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 9), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) +print(p_sc_trip) +ggsave(filename = paste0(Dirout, "Commercial_trip_limits_sc.jpeg"), + plot = p_sc_trip, width = 6.5, height = 4.6, dpi = 300) diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/S103CaribbeanVisualizations.R b/ODM-MH-Analysis_ready/Management History Comparison Files/S103CaribbeanVisualizations.R new file mode 100644 index 0000000..7c0da00 --- /dev/null +++ b/ODM-MH-Analysis_ready/Management History Comparison Files/S103CaribbeanVisualizations.R @@ -0,0 +1,260 @@ +# Management History Visualizations for Caribbean (S103) + +library(tidyverse) +library(here) +library(lubridate) +library(ggrepel) +library(openxlsx) + +# MH dataset +mh <- readRDS(here("ODM-MH-Data_log", "data", "results", "MH_DL_2025Nov18.RDS")) + +mh <- mh %>% + mutate(COMMON_NAME_USE = case_when(REGULATION_ID == '1411' ~ "MALACANTHIDAE—TILEFISHES", + TRUE ~ COMMON_NAME_USE)) + +# Subset for South Atlantic Snapper Grouper +mh_carib <- mh %>% filter(FMP %in% c("REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "FMP FOR THE EEZ AROUND ST. THOMAS AND ST. JOHN", + "FMP FOR THE EEZ AROUND ST. CROIX", + "FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS")) %>% + # Remove recs that were never implemented + filter(NEVER_IMPLEMENTED == 0) + +management_sector_counts <- mh_carib %>% + group_by(MANAGEMENT_CATEGORY, SECTOR_USE) %>% + summarise(total_records = n_distinct(REGULATION_ID)) + +mh_carib_closure <- mh_carib %>% + filter(MANAGEMENT_TYPE_USE == "CLOSURE") +total_records_by_sector <- mh_carib_closure %>% + filter(MANAGEMENT_TYPE_USE == "CLOSURE") %>% + group_by(SECTOR_USE) %>% + summarise(total_records = n()) + +# Summarize management types by sector +plot1 <- ggplot(mh_carib %>% + group_by(SECTOR_USE, MANAGEMENT_CATEGORY) %>% + summarise(nrecs = n_distinct(REGULATION_ID)) %>% + group_by(SECTOR_USE) %>% + mutate(tot = sum(nrecs), perc = nrecs/tot, labels = paste0(round(perc * 100,1), "%")), aes(x = "" , y = perc, fill = MANAGEMENT_CATEGORY)) + + geom_col(width = 1, color = 1) + + coord_polar(theta = "y") + + geom_text(aes(x = 1.7, label = labels), size=4.5, + position = position_stack(vjust = 0.5))+ + facet_wrap(~SECTOR_USE) + + guides(fill = guide_legend(title = "Management Category")) + + theme_void() +print(plot1) + +# Timeline - number of regulations by sector by year +reg_yr <- mh_carib %>% + mutate(YEAR = year(EFFECTIVE_DATE)) %>% + group_by(SECTOR_USE, YEAR, MANAGEMENT_CATEGORY, MANAGEMENT_TYPE_USE) %>% + summarize(nFRs = n_distinct(FR_CITATION), + nregs = n()) + +# Plot by management cat and sector +plot2 <- ggplot(reg_yr) + + geom_bar(aes(y=nFRs, x=YEAR), stat = 'identity') + + labs(x = "Year", y = "Number of FRs Published") + + facet_grid(SECTOR_USE~MANAGEMENT_CATEGORY, scales = "free_y") + + theme_bw() +print(plot2) + +# FRs published by year and species +# Clean up species into removed and currently managed categories +species_list <- read.csv(here("Examples", "Testfiles", "snappergrouper_specieslist.csv")) + +species_list <- species_list %>% + mutate(REMOVED_DT = case_when(REMOVED_DT == '' ~ NA, + TRUE ~ REMOVED_DT)) + +currently_managed <- species_list %>% filter(is.na(REMOVED_DT)) %>% select(COMMON_NAME) %>% pull() + +# Prep for join +sp_list_all <- species_list %>% + select(COMMON_NAME, ADDED_DT, REMOVED_DT) %>% + mutate(COMMON_NAME_USE = 'ALL', + ) %>% + mutate(ADDED_DATE = as.Date(ADDED_DT, origin = "1899-12-30"), + REMOVED_DATE = as.Date(REMOVED_DT, origin = "1899-12-30")) + + +# Aggregate species list +species_aggs <- read.csv(here("Examples", "Testfiles", "snappergrouper_aggregatefinal.csv")) %>% + mutate(COMMON_NAME_USE = COMMON_NAME, + SPP_NAME = FMP_SPECIES_AGG_NAME, + ADDED_DATE = as.Date(ADDED_DT, origin = "1899-12-30"), + REMOVED_DATE = as.Date(REMOVED_DT, origin = "1899-12-30"), + # convert FMP agg name to uppercase + FMP_SPECIES_AGG_NAME = toupper(FMP_SPECIES_AGG_NAME)) + + +# Prep for join +#species_ifq_agg <- species_aggs %>% +# filter(FMP_SPECIES_AGG_NAME %in% c('IFQ: DEEP-WATER GROUPERS (DWG)', +# 'IFQ: OTHER SHALLOW-WATER GROUPERS (OTHER SWG)', +# 'IFQ: TILEFISHES')) %>% +#select(FMP_SPECIES_AGG_NAME, COMMON_NAME, ADDED_DATE, REMOVED_DATE) + +mh_srgr_cleaned <- mh_srgr %>% + # Expand common name all species + full_join(sp_list_all, by = join_by(COMMON_NAME_USE), multiple = 'all') %>% + mutate(YEAR = year(EFFECTIVE_DATE), + SPECIES = case_when(COMMON_NAME_USE == 'ALL' ~ COMMON_NAME, + TRUE ~ COMMON_NAME_USE), + flg_dt = case_when(COMMON_NAME_USE == 'ALL' & EFFECTIVE_DATE% + # Remove regs expanded for species before they were in the FMP + filter(flg_dt == 0) %>% + select(-c(ADDED_DATE, REMOVED_DATE, flg_dt)) %>% + # Fix effective dates + left_join(sp_list_all %>% select(-COMMON_NAME_USE), by=join_by(SPECIES == COMMON_NAME)) %>% + mutate(flg_dt = case_when(EFFECTIVE_DATEREMOVED_DATE ~ 1, + END_DATE2 > REMOVED_DATE ~ 1, + TRUE ~ 0)) %>% + filter(flg_dt == 0) %>% + select(-c(COMMON_NAME, ADDED_DATE, REMOVED_DATE, flg_dt)) %>% + full_join(species_aggs, by = join_by(SPECIES == FMP_SPECIES_AGG_NAME), multiple='all') %>% + filter(!is.na(FR_CITATION)) %>% + mutate(SPECIES = case_when(!is.na(COMMON_NAME) ~ COMMON_NAME, + TRUE ~ SPECIES), + flg_dt = case_when(!is.na(ADDED_DATE) & EFFECTIVE_DATE REMOVED_DATE ~ 1, + TRUE ~ 0)) %>% + filter(flg_dt == 0) %>% + mutate(SPECIES = case_when(SPECIES == 'JEWFISH' ~ 'GROUPER, GOLIATH', + TRUE ~ SPECIES), + #SPECIES == 'Caulolatilus' ~ 'TILEFISHES', + # + # SPECIES == 'Centropristis melana' ~ 'BASS, BLACK SEA', + # TRUE ~ SPECIES), + managed = case_when(SPECIES %in% currently_managed ~ 'Currently managed', TRUE ~ 'Removed from FMP')) + +chk <- mh_srgr_cleaned %>% ungroup() %>% + select(SPECIES, managed) %>% distinct() + +sp_yr <- mh_srgr_cleaned %>% group_by(managed, SPECIES, YEAR) %>% + summarize(nFRs = n_distinct(FR_CITATION)) + +plot <- ggplot(sp_yr %>% filter(managed == 'Currently managed') + , aes(x=YEAR, y=SPECIES, fill=nFRs)) + + geom_tile() + + scale_fill_gradientn(colours = c("#44ce1b", "#f7e379", "#e51f1f"), values = c(0,0.5,1)) + + theme_classic() + +# Timeline - number of regulations by sector by year +reg_yr <- mh_srgr %>% + mutate(YEAR = year(EFFECTIVE_DATE)) %>% + group_by(SECTOR_USE, YEAR, MANAGEMENT_CATEGORY, MANAGEMENT_TYPE_USE) %>% + summarize(nFRs = n_distinct(FR_CITATION), + nregs = n()) + +# Plot by management cat and sector +plot3 <- ggplot(reg_yr) + + geom_bar(aes(y=nFRs, x=YEAR), stat = 'identity') + + facet_grid(SECTOR_USE~MANAGEMENT_CATEGORY, scales = "free_y") + + theme_bw() + + +# Type of closures - mostly once and seasonal +mh_srgr_closure <- mh_srgr %>% + filter(MANAGEMENT_TYPE_USE == "CLOSURE") + +total_records <- mh_srgr_closure %>% + # distinct(REGULATION_ID) %>% + nrow() +print(total_records) + +total_records_by_sector <- mh_srgr_closure %>% + filter(MANAGEMENT_TYPE_USE == "CLOSURE") %>% + #distinct(REGULATION_ID, .keep_all = TRUE) %>% + group_by(SECTOR_USE, MANAGEMENT_STATUS_USE) %>% + summarise(total_records = n()) +print(total_records_by_sector) + +plot4 <- mh_srgr %>% + filter(MANAGEMENT_TYPE_USE == 'CLOSURE') %>% + group_by(SECTOR_USE, MANAGEMENT_STATUS_USE) %>% + summarise(nrecs = n()) %>% + group_by(SECTOR_USE) %>% + mutate(totregs = sum(nrecs), + percentage = nrecs/totregs*100) %>% + ggplot(aes(x=1, y=nrecs, fill = MANAGEMENT_STATUS_USE)) + + geom_bar(stat="identity", width = .1, position = "fill") + + coord_polar("y", start = 0) + + facet_wrap(~SECTOR_USE) + + geom_text(aes(label = paste0(round(percentage), "%")), position = position_fill(vjust = 0.5), size = 5) + + theme_void() + + labs(fill = 'Type of Closure') + +# Heat map of commercial closures overtime by species when closure for all of Gulf +# Read in management status function +source("C:/Users/gaitlyn.malone/Documents/SEFSC-ODM-Management-History/ODM-MH-Analysis_ready/Closures/func_expand_status.R") + +# Expand closures +closures <- expand_status(mh_srgr, "CLOSURE") + +# Filter to main closures for subsector all, zone all +# Add IFQ +sum_closures <- closures %>% + mutate(value = 1, + managed = case_when(COMMON_NAME_USE %in% currently_managed ~ 'Currently managed', TRUE ~ 'Removed from FMP'), + SECTOR_lab = paste(SECTOR_USE, SUBSECTOR_USE, sep="-"), + type = 'Closure') %>% + filter(VALUE == 'CLOSE', SUBSECTOR_USE == 'ALL', ZONE_USE == 'ALL', managed == 'Currently managed') %>% + # Add IFQ + bind_rows(mh_srgr %>% filter(MANAGEMENT_TYPE_USE == "ITQ PROGRAM ESTABLISHED") %>% ungroup() %>% + select(REGULATION_ID, CLUSTER, FR_CITATION, SECTOR_USE, SUBSECTOR_USE, COMMON_NAME_USE, VALUE, + START_DATE2, END_DATE2) %>% + mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "days")) %>% + unnest(date_sequence) %>% + mutate(value = 2, + type = "ITQ", + SECTOR_lab = paste(SECTOR_USE, SUBSECTOR_USE, sep="-"))) + +# Plot using expand function +plot5 <- ggplot(sum_closures, aes(x=date_sequence, y = COMMON_NAME_USE, fill=value)) + + geom_tile() + + facet_wrap(~SECTOR_lab, ncol = 1) + + scale_x_date(date_breaks = "1 year",date_labels = "%Y", + limits = c(min(sum_closures$date_sequence), max = max(sum_closures$date_sequence)), expand=c(0,0)) + + #geom_vline(xintercept = as.Date("2010-01-01"), linetype = 'dashed', color = 'red') + + #geom_vline(xintercept = as.Date("2007-01-01"), linetype = 'dashed', color = 'red') + + labs(y = "Species", x = "Date") + + theme_minimal() + + theme(legend.position = "none", + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) + +# Get count of FRs by species, consol. mcat, and sector +sum_sp_mtype_sect <- mh_srgr_cleaned %>% + filter(managed == "Currently managed") %>% ungroup() %>% + # Consolidate management category into 4 groups + mutate(MCAT_GRP = case_when(MANAGEMENT_CATEGORY %in% c('EFFORT LIMITS', 'GEAR REQUIREMENTS', 'HARVEST LIMITATIONS', + 'UNIVERSAL', 'SELECTIVITY CONTROLS') ~ 'EFFORT/GEAR LIMITS', + TRUE ~ MANAGEMENT_CATEGORY)) %>% + filter(MANAGEMENT_CATEGORY != 'OTHER') %>% + group_by(SPECIES, managed, MANAGEMENT_CATEGORY) %>% + summarize(nFRs = n_distinct(FR_CITATION), + nregs = n_distinct(REGULATION_ID)) + +plot_sms <- ggplot(sum_sp_mtype_sect) + + geom_bar(aes(x=nregs, y = SPECIES, fill=MANAGEMENT_CATEGORY), stat="identity") + + labs(fill="Management Category", x = "Number of Regulations")+ + theme_classic() + +# Look into 'other' category +other_reg_yr <- mh_srgr %>% + mutate(YEAR = year(EFFECTIVE_DATE)) %>% + filter(MANAGEMENT_CATEGORY == 'OTHER') %>% + group_by(YEAR, MANAGEMENT_TYPE_USE) %>% + summarize(nFRs = n_distinct(FR_CITATION), + nregs = n()) %>% + ggplot() + + geom_bar(aes(y=nFRs, x=YEAR), stat = 'identity') + + facet_wrap(~MANAGEMENT_TYPE_USE, ncol=2, scales = "free_y") + + theme_bw() diff --git a/ODM-MH-Analysis_ready/Management History Comparison Files/S103_Closures.R b/ODM-MH-Analysis_ready/Management History Comparison Files/S103_Closures.R new file mode 100644 index 0000000..ed17574 --- /dev/null +++ b/ODM-MH-Analysis_ready/Management History Comparison Files/S103_Closures.R @@ -0,0 +1,217 @@ +librarian::shelf(here, tidyverse, lubridate, openxlsx, neatRanges, splitstackshape, dplyr) + +# Set output directory for plots +Dirout<-paste0(getwd(),"/Closures/") +if(!file.exists(Dirout)) dir.create(Dirout) + +# MH dataset +mh <- readRDS(here("ODM-MH-Data_log", "data", "results", "MH_DL_2025Nov18.RDS")) + +# Set end year for plots +termyr<-2025 + +####################### +# Closures # +####################### + + +# --- Your subset (as provided) --- +mh_carib_pr_lob <- mh %>% + dplyr::filter( + FMP %in% c( + "REEF FISH FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "FMP FOR THE EEZ AROUND PUERTO RICO", + "SPINY LOBSTER FISHERY OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS", + "QUEEN CONCH RESOURCES OF PUERTO RICO AND THE U.S. VIRGIN ISLANDS" + ), + NEVER_IMPLEMENTED == 0, + SECTOR_USE == "COMMERCIAL", + MANAGEMENT_CATEGORY == "TEMPORAL CONTROLS", + COMMON_NAME_USE == "LOBSTER, CARIBBEAN SPINY", + REGION == "CARIBBEAN", + ZONE_USE == "PUERTO RICO MANAGEMENT AREA" + ) + +unique(mh_carib_pr_lob$MANAGEMENT_TYPE_USE) +table(mh_carib_pr_lob$SECTOR_USE) + +# =========================== +# Create closure visualization +# Method: expand to YEARS + tile heatmap (ggplot) +# =========================== + +library(dplyr) +library(tidyr) +library(lubridate) +library(stringr) +library(ggplot2) + +termyr <- 2025 + +# 1) Keep closure-type records (adjust if your closure type label differs) +lob_cl <- mh_carib_pr_lob %>% + dplyr::filter(MANAGEMENT_TYPE_USE == "CLOSURE") %>% + dplyr::mutate( + start = as.Date(START_DATE2), + end = as.Date(dplyr::coalesce(END_DATE2, as.Date(paste0(termyr, "-12-31")))) + ) %>% + dplyr::filter(!is.na(start), !is.na(end), end >= start) + +# If you get "no records", check what closure type is called: +# unique(mh_carib_pr_lob$MANAGEMENT_TYPE_USE) + +# 2) Expand to YEAR (not days) +lob_yr <- lob_cl %>% + dplyr::mutate( + start_year = lubridate::year(start), + end_year = lubridate::year(end) + ) %>% + tidyr::uncount(end_year - start_year + 1, .id = "k") %>% + dplyr::mutate(YEAR = start_year + (k - 1L)) %>% + dplyr::filter(YEAR <= termyr) + +# 3) Create row label (edit if you want it simpler) +lob_yr <- lob_yr %>% + dplyr::mutate( + # interpret closure status; adjust if your VALUE field uses different text + status = dplyr::case_when( + VALUE %in% c("CLOSE", "CLOSED", "CLOSURE") ~ "CLOSE", + VALUE %in% c("OPEN") ~ "OPEN", + TRUE ~ as.character(VALUE) + ), + LAB = paste0( + "Caribbean Spiny Lobster - Commercial (PR)" + ) + ) + +# 4) Collapse to one status per year (CLOSE wins if mixed) +lob_yr_status <- lob_yr %>% + dplyr::group_by(LAB, YEAR) %>% + dplyr::summarise( + status = dplyr::if_else(any(status == "CLOSE"), "CLOSE", "OPEN"), + .groups = "drop" + ) + +# 5) Ensure all years appear on x-axis +all_years <- seq(min(lob_yr_status$YEAR, na.rm = TRUE), termyr) + +lob_yr_status <- lob_yr_status %>% + tidyr::complete(LAB, YEAR = all_years, fill = list(status = NA_character_)) %>% + dplyr::mutate(LAB = factor(LAB, levels = rev(sort(unique(LAB))))) + +# 6) Plot (tile heatmap) +p_lob_pr <- ggplot(lob_yr_status, aes(x = YEAR, y = LAB, fill = status)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_continuous(breaks = seq(min(all_years), termyr, by = 2), expand = c(0, 0)) + + scale_y_discrete(expand = c(0, 0)) + + scale_fill_manual( + values = c("CLOSE" = "lightblue", "OPEN" = "lightblue"), + na.value = "white", + guide = "none" + ) + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_text(size = 10), + axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1), + plot.margin = margin(5, 5, 5, 5) + ) + +print(p_lob_pr) + +# 7) Save (uses your existing Dirout if defined; otherwise saves to wd) +out_file <- if (exists("Dirout")) file.path(Dirout, "Commercial_PR_SpinyLobster_Closures.jpeg") else "Commercial_PR_SpinyLobster_Closures.jpeg" +ggsave(out_file, plot = p_lob_pr, width = 7, height = 2.2, dpi = 300) + + +#####3 monthly value +library(dplyr) +library(tidyr) +library(lubridate) +library(ggplot2) + +# --------------------------- +# Monthly closure visualization +# --------------------------- + +# 1) Keep closure-type records (adjust if your closure type label differs) +lob_cl <- mh_carib_pr_lob %>% + dplyr::filter(MANAGEMENT_TYPE_USE == "CLOSURE") %>% + dplyr::mutate( + start = as.Date(START_DATE2), + end = as.Date(dplyr::coalesce(END_DATE2, as.Date("2025-12-31"))) + ) %>% + dplyr::filter(!is.na(start), !is.na(end), end >= start) + +# If you get "no records", check: +# unique(mh_carib_pr_lob$MANAGEMENT_TYPE_USE) + +# 2) Expand to MONTHS (not days) +lob_mo <- lob_cl %>% + dplyr::mutate( + start_m = floor_date(start, "month"), + end_m = floor_date(end, "month") + ) %>% + tidyr::uncount( + as.integer((year(end_m) - year(start_m)) * 12 + (month(end_m) - month(start_m)) + 1), + .id = "k" + ) %>% + dplyr::mutate(MONTH = start_m %m+% months(k - 1L)) + +# 3) Status mapping (adjust if VALUE uses different text) +lob_mo <- lob_mo %>% + dplyr::mutate( + status = dplyr::case_when( + VALUE %in% c("CLOSE", "CLOSED", "CLOSURE") ~ "CLOSE", + VALUE %in% c("OPEN") ~ "OPEN", + TRUE ~ as.character(VALUE) + ), + LAB = "Caribbean Spiny Lobster" + ) + +# 4) Collapse to one status per month (CLOSE wins) +lob_mo_status <- lob_mo %>% + dplyr::group_by(LAB, MONTH) %>% + dplyr::summarise( + status = dplyr::if_else(any(status == "CLOSE"), "CLOSE", "OPEN"), + .groups = "drop" + ) + +# 5) Make a complete month grid (so missing months plot as blank/white) +all_months <- seq(min(lob_mo_status$MONTH, na.rm = TRUE), + max(lob_mo_status$MONTH, na.rm = TRUE), + by = "1 month") + +lob_mo_status <- lob_mo_status %>% + tidyr::complete(LAB, MONTH = all_months, fill = list(status = NA_character_)) %>% + dplyr::mutate(LAB = factor(LAB, levels = rev(sort(unique(LAB))))) + +# 6) Plot +p_lob_pr_month <- ggplot(lob_mo_status, aes(x = MONTH, y = LAB, fill = status)) + + geom_tile(color = "lightgray", linewidth = 0.25) + + scale_x_date( + date_breaks = "1 month", + date_labels = "%b %Y", + expand = c(0, 0) + ) + + scale_y_discrete(expand = c(0, 0)) + + scale_fill_manual( + values = c("CLOSE" = "lightblue", "OPEN" = "lightblue"), + na.value = "white", + guide = "none" + ) + + labs(x = NULL, y = NULL) + + theme_minimal(base_size = 11) + + theme( + panel.grid = element_blank(), + axis.text.y = element_blank(), + axis.text.x = element_text(size = 6, angle = 45, vjust = 1, hjust = 1), + plot.margin = margin(t= 5, r = 40, b = 20, l = 40) + ) + +print(p_lob_pr_month) + +# 7) Save +out_file <- if (exists("Dirout")) file.path(Dirout, "Commercial_PR_SpinyLobster_Closures_Monthly.jpeg") else "Commercial_PR_SpinyLobster_Closures_Monthly.jpeg" +ggsave(out_file, plot = p_lob_pr_month, width = 9.5, height = 5, dpi = 300) From 2a1431725fd29159789a09a1018c048549c161b9 Mon Sep 17 00:00:00 2001 From: GaitlynMalone-NOAA <115589280+GaitlynMalone-NOAA@users.noreply.github.com> Date: Fri, 6 Mar 2026 08:51:58 -0500 Subject: [PATCH 2/6] Update Catch Limits script to correct never implemented --- ODM-MH-Analysis_ready/Catch Limits/CatchLimits.R | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ODM-MH-Analysis_ready/Catch Limits/CatchLimits.R b/ODM-MH-Analysis_ready/Catch Limits/CatchLimits.R index 8bf97fc..3bbf1d1 100644 --- a/ODM-MH-Analysis_ready/Catch Limits/CatchLimits.R +++ b/ODM-MH-Analysis_ready/Catch Limits/CatchLimits.R @@ -6,7 +6,7 @@ librarian::shelf(here, tidyverse, gt, flextable, officer, dplyr, gt, officer, lu #### Load data #### # Load the MH Data Log -mh <- readRDS(here("ODM-MH-Data_log", "data", "results", "MH_DL_2025Sep10.RDS")) +mh <- readRDS(here("ODM-MH-Data_log", "data", "results", "MH_DL_2025Nov18.RDS")) #### Define species, region, and sector of interest #### species = c('SNAPPER, CUBERA', 'AMBERJACK, GREATER', 'AMBERJACK, LESSER', 'JACK, ALMACO', 'SNAPPER, SILK', 'SNAPPER, QUEEN', 'SNAPPER, BLACKFIN', 'WENCHMAN', @@ -24,9 +24,9 @@ ACLs <- mh %>% REGION %in% region, SECTOR == sector, DETAILED == "YES", - NEVER_IMPLEMENTED %in% c(0, NA), + #NEVER_IMPLEMENTED == 0 | is.na(NEVER_IMPLEMENTED), REG_REMOVED == 0, - MANAGEMENT_TYPE_USE == "ACL") %>% + MANAGEMENT_TYPE_USE == "ACL") #%>% arrange(CLUSTER, START_DATE2) %>% mutate(Species = case_when(str_detect(COMMON_NAME_USE, ",") ~ {parts <- str_split_fixed(COMMON_NAME_USE, ",", 2) str_to_title(str_trim(parts[,2])) %>% paste(str_to_title(str_trim(parts[,1])))}, @@ -62,7 +62,7 @@ Quotas <- mh %>% REGION %in% region, SECTOR == sector, DETAILED == "YES", - NEVER_IMPLEMENTED %in% c(0, NA), + NEVER_IMPLEMENTED == 0 | is.na(NEVER_IMPLEMENTED), REG_REMOVED == 0, MANAGEMENT_TYPE_USE == "QUOTA") %>% arrange(CLUSTER, START_DATE2) %>% @@ -100,7 +100,7 @@ ACTs <- mh %>% REGION %in% region, SECTOR == sector, DETAILED == "YES", - NEVER_IMPLEMENTED %in% c(0, NA), + NEVER_IMPLEMENTED == 0 | is.na(NEVER_IMPLEMENTED), MANAGEMENT_TYPE_USE == "ACT") %>% arrange(CLUSTER, START_DATE2) %>% mutate(Species = case_when(str_detect(COMMON_NAME_USE, ",") ~ {parts <- str_split_fixed(COMMON_NAME_USE, ",", 2) @@ -137,7 +137,7 @@ TACs <- mh %>% REGION %in% region, SECTOR == sector, DETAILED == "YES", - NEVER_IMPLEMENTED %in% c(0, NA), + NEVER_IMPLEMENTED == 0 | is.na(NEVER_IMPLEMENTED), REG_REMOVED == 0, MANAGEMENT_TYPE_USE == "TAC") %>% arrange(CLUSTER, START_DATE2) %>% From 10478bcea966ace64a938ea9be64d38bffb022f9 Mon Sep 17 00:00:00 2001 From: GaitlynMalone-NOAA <115589280+GaitlynMalone-NOAA@users.noreply.github.com> Date: Fri, 6 Mar 2026 08:52:45 -0500 Subject: [PATCH 3/6] Update expansion script --- .../Closures/func_expand_status.R | 134 +++++++++--------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/ODM-MH-Analysis_ready/Closures/func_expand_status.R b/ODM-MH-Analysis_ready/Closures/func_expand_status.R index 8bbf0b2..74f6295 100644 --- a/ODM-MH-Analysis_ready/Closures/func_expand_status.R +++ b/ODM-MH-Analysis_ready/Closures/func_expand_status.R @@ -5,7 +5,7 @@ expand_status <- function(x, y) { # x = data frame # y = management type - df = filter(x, MANAGEMENT_TYPE_USE == y, + df = dplyr::filter(x, MANAGEMENT_TYPE_USE == y, # only retain records that were in effect NEVER_IMPLEMENTED == 0, REG_REMOVED == 0) @@ -16,28 +16,28 @@ expand_status <- function(x, y) { if('ONCE' %in% mstats){ # One-time event - df_one <- filter(df, MANAGEMENT_STATUS_USE == 'ONCE') %>% - # this filter should not be needed once we clean up errors in date processing - filter(END_DATE2 >= START_DATE2) %>% - mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "1 day")) %>% + df_one <- dplyr::filter(df, MANAGEMENT_STATUS_USE == 'ONCE') %>% + # this dplyr::filter should not be needed once we clean up errors in date processing + dplyr::filter(END_DATE2 >= START_DATE2) %>% + dplyr::mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "1 day")) %>% unnest(date_sequence) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% - mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% + dplyr::mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, date_sequence == END_DATE2 & !is.na(END_TIME) ~ END_TIME, TRUE ~ NA_character_)) %>% - ungroup(0) %>% - select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, + dplyr::ungroup(0) %>% + dplyr::select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, CLUSTER, REGULATION_ID, FR_CITATION, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE, MULTI_REG_VALUE) %>% - arrange(date_sequence, desc(FR_CITATION)) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% + dplyr::arrange(date_sequence, desc(FR_CITATION)) %>% + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% # Retain only most recent FR if there are 2 records with the same date_sequence - mutate(num_records = n()) %>% - mutate(action_value = case_when(num_records > 1 & MULTI_REG_VALUE != 1 & COMMON_NAME_USE == lag(COMMON_NAME_USE) ~ "slice", + dplyr::mutate(num_records = n()) %>% + dplyr::mutate(action_value = case_when(num_records > 1 & MULTI_REG_VALUE != 1 & COMMON_NAME_USE == lag(COMMON_NAME_USE) ~ "slice", num_records > 1 & MULTI_REG_VALUE == 1 ~ "keep", num_records > 1 & MULTI_REG_VALUE != 1 & COMMON_NAME_USE != lag(COMMON_NAME_USE) ~ "keep", TRUE ~ "other")) %>% - filter(!(action_value == "slice")) %>% - rename(CLUSTER_one = "CLUSTER", + dplyr::filter(!(action_value == "slice")) %>% + dplyr::rename(CLUSTER_one = "CLUSTER", REGULATION_ID_one = "REGULATION_ID", FR_CITATION_one = "FR_CITATION", TIME_one = "TIME", @@ -45,7 +45,7 @@ expand_status <- function(x, y) { VALUE_UNITS_one = "VALUE_UNITS", VALUE_TYPE_one = "VALUE_TYPE", VALUE_RATE_one = "VALUE_RATE") %>% - select(-num_records, -action_value) + dplyr::select(-num_records, -action_value) } else { df_one <- data.frame(FMP = character(), COMMON_NAME_USE = character(), REGION = character(), ZONE_USE = character(), SECTOR_USE = character(), SUBSECTOR_USE = character(), MANAGEMENT_TYPE_USE = character(), @@ -56,21 +56,21 @@ expand_status <- function(x, y) { if('SEASONAL' %in% mstats){ # Seasonal - df_seasonal <- filter(df, MANAGEMENT_STATUS_USE == 'SEASONAL') %>% - mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "days")) %>% + df_seasonal <- dplyr::filter(df, MANAGEMENT_STATUS_USE == 'SEASONAL') %>% + dplyr::mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "days")) %>% unnest(date_sequence) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% - mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% + dplyr::mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, date_sequence == END_DATE2 & !is.na(END_TIME) ~ END_TIME, TRUE ~ NA_character_)) %>% - ungroup() %>% - mutate(START_YEAR_expand = year(date_sequence), + dplyr::ungroup() %>% + dplyr::mutate(START_YEAR_expand = year(date_sequence), END_YEAR_expand = year(date_sequence)) %>% - mutate(START_DATE_EXPAND = as.Date(paste(START_YEAR_expand, START_MONTH, START_DAY, sep = "-")), + dplyr::mutate(START_DATE_EXPAND = as.Date(paste(START_YEAR_expand, START_MONTH, START_DAY, sep = "-")), END_DATE_EXPAND = as.Date(paste(END_YEAR_expand, END_MONTH, END_DAY, sep = "-"))) %>% # Create START_DATE_EXPAND2 & END_DATE_EXPAND2 for cases where the duration of the closure goes from the end of the year to the beginning of the enxt year # Create START_DATE_EXPAND_FINAL & END_DATE_EXPAND_FINAL to choose the correct START_DATE_EXPAND and END_DATE_EXPAND for each set of circumstances - mutate(START_DATE_EXPAND2 = case_when(START_DATE_EXPAND > END_DATE_EXPAND ~ START_DATE_EXPAND - lubridate::years(1), + dplyr::mutate(START_DATE_EXPAND2 = case_when(START_DATE_EXPAND > END_DATE_EXPAND ~ START_DATE_EXPAND - lubridate::years(1), TRUE ~ START_DATE_EXPAND), END_DATE_EXPAND2 = case_when(START_DATE_EXPAND > END_DATE_EXPAND ~ END_DATE_EXPAND + lubridate::years(1), TRUE ~ END_DATE_EXPAND), @@ -79,15 +79,15 @@ expand_status <- function(x, y) { END_DATE_EXPAND_FINAL = case_when(START_DATE_EXPAND > END_DATE_EXPAND & date_sequence >= START_DATE_EXPAND & date_sequence >= END_DATE_EXPAND ~ END_DATE_EXPAND2, TRUE ~ END_DATE_EXPAND)) %>% # Remove date_sequence records outside expand range - filter(date_sequence >= START_DATE_EXPAND_FINAL, + dplyr::filter(date_sequence >= START_DATE_EXPAND_FINAL, END_DATE_EXPAND_FINAL >= date_sequence) %>% - select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, + dplyr::select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, CLUSTER, REGULATION_ID, FR_CITATION, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% - arrange(date_sequence, desc(FR_CITATION)) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% + dplyr::arrange(date_sequence, desc(FR_CITATION)) %>% + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% # Retain only most recent FR if there are 2 records with the same date_sequence - slice(1) %>% - rename(CLUSTER_seasonal = "CLUSTER", + dplyr::slice(1) %>% + dplyr::rename(CLUSTER_seasonal = "CLUSTER", REGULATION_ID_seasonal = "REGULATION_ID", FR_CITATION_seasonal = "FR_CITATION", TIME_seasonal = "TIME", @@ -105,18 +105,18 @@ expand_status <- function(x, y) { if('MONTHLY RECURRING' %in% mstats){ # Monthly - df_monthly <- filter(df, MANAGEMENT_STATUS == 'MONTHLY RECURRING') %>% - mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "days")) %>% + df_monthly <- dplyr::filter(df, MANAGEMENT_STATUS == 'MONTHLY RECURRING') %>% + dplyr::mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "days")) %>% unnest(date_sequence) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% - mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% + dplyr::mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, date_sequence == END_DATE2 & !is.na(END_TIME) ~ END_TIME, day(date_sequence) == START_DAY ~ START_TIME, day(date_sequence) == END_DAY ~ END_TIME, TRUE ~ NA_character_)) %>% - ungroup() %>% + dplyr::ungroup() %>% # Extract year from date_sequence - mutate(START_YEAR_expand = year(date_sequence), + dplyr::mutate(START_YEAR_expand = year(date_sequence), END_YEAR_expand = year(date_sequence), # Create START_MONTH_expand and END_MONTH_expand to eventually create the dates that are the bounds of which expansion dates should still be included # The conditions address cases where the monthly recurring goes from the middle of one month to the start of next and eventually crosses year boundaries (Gulf red snapper - 15th to the 1st of the following month or 10th to the 1st of the following month) @@ -151,22 +151,22 @@ expand_status <- function(x, y) { # when monthly recurring, the start/end month range refers to the first and last month where the recurring closure applies # i.e. start month = 2 and end month = 11 # mean recurring closures start in Feb and end in Nov - # can't use END_MONTH_expand in filter for cases when the recurring closures spans 2 months (i.e. 15th -1st) - #filter(START_MONTH_expand >= START_MONTH & + # can't use END_MONTH_expand in dplyr::filter for cases when the recurring closures spans 2 months (i.e. 15th -1st) + #dplyr::filter(START_MONTH_expand >= START_MONTH & # START_MONTH_expand <= END_MONTH) %>% - mutate(START_DATE_EXPAND = as.Date(paste(START_YEAR_expand, START_MONTH_expand, START_DAY_USE, sep = "-")), + dplyr::mutate(START_DATE_EXPAND = as.Date(paste(START_YEAR_expand, START_MONTH_expand, START_DAY_USE, sep = "-")), END_DATE_EXPAND = as.Date(paste(END_YEAR_expand, END_MONTH_expand, END_DAY_USE, sep = "-"))) %>% # Remove date_sequence records outside expand range - filter(date_sequence == START_DATE_EXPAND | + dplyr::filter(date_sequence == START_DATE_EXPAND | date_sequence == END_DATE_EXPAND | date_sequence > START_DATE_EXPAND & date_sequence < END_DATE_EXPAND) %>% - select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, + dplyr::select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, CLUSTER, REGULATION_ID, FR_CITATION, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% - arrange(date_sequence, desc(FR_CITATION)) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% + dplyr::arrange(date_sequence, desc(FR_CITATION)) %>% + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% # Retain only most recent FR if there are 2 records with the same date_sequence - slice(1) %>% - rename(CLUSTER_monthly = "CLUSTER", + dplyr::slice(1) %>% + dplyr::rename(CLUSTER_monthly = "CLUSTER", REGULATION_ID_monthly = "REGULATION_ID", FR_CITATION_monthly = "FR_CITATION", TIME_monthly = "TIME", @@ -184,12 +184,12 @@ expand_status <- function(x, y) { if('WEEKLY RECURRING' %in% mstats){ # Weekly - df_weekly <- filter(df, MANAGEMENT_STATUS_USE == 'WEEKLY RECURRING') %>% - mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "days")) %>% + df_weekly <- dplyr::filter(df, MANAGEMENT_STATUS_USE == 'WEEKLY RECURRING') %>% + dplyr::mutate(date_sequence = map2(START_DATE2, END_DATE2, seq, by = "days")) %>% unnest(date_sequence) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, CLUSTER) %>% # need to get expanded days of the week to match - mutate(START_DAY_OF_WEEK_EXPAND = case_when( + dplyr::mutate(START_DAY_OF_WEEK_EXPAND = case_when( START_DAY_OF_WEEK_USE == "MONDAY" ~ "Mon", START_DAY_OF_WEEK_USE == "TUESDAY" ~ "Tue", START_DAY_OF_WEEK_USE == "WEDNESDAY" ~ "Wed", @@ -207,26 +207,26 @@ expand_status <- function(x, y) { END_DAY_OF_WEEK_USE == "SATURDAY" ~ "Sat", END_DAY_OF_WEEK_USE == "SUNDAY" ~ "Sun", TRUE ~ END_DAY_OF_WEEK_USE)) %>% - mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, + dplyr::mutate(TIME = case_when(date_sequence == START_DATE2 & !is.na(START_TIME) ~ START_TIME, date_sequence == END_DATE2 & !is.na(END_TIME) ~ END_TIME, wday(date_sequence) == START_DAY_OF_WEEK_EXPAND ~ START_TIME, wday(date_sequence) == END_DAY_OF_WEEK_EXPAND ~ END_TIME, TRUE ~ NA_character_)) %>% - ungroup() %>% - mutate(START_YEAR_expand = year(date_sequence), + dplyr::ungroup() %>% + dplyr::mutate(START_YEAR_expand = year(date_sequence), END_YEAR_expand = year(date_sequence)) %>% # function wday formats at Mon, Tue, etc. - mutate(Expand_day_of_week = wday(date_sequence, label = TRUE)) %>% + dplyr::mutate(Expand_day_of_week = wday(date_sequence, label = TRUE)) %>% # Retain on records within expand range - filter(Expand_day_of_week >= START_DAY_OF_WEEK_EXPAND | + dplyr::filter(Expand_day_of_week >= START_DAY_OF_WEEK_EXPAND | Expand_day_of_week <= END_DAY_OF_WEEK_EXPAND) %>% - select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, + dplyr::select(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence, TIME, CLUSTER, REGULATION_ID, FR_CITATION, VALUE, VALUE_UNITS, VALUE_TYPE, VALUE_RATE) %>% - arrange(date_sequence, desc(FR_CITATION)) %>% - group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% + dplyr::arrange(date_sequence, desc(FR_CITATION)) %>% + dplyr::group_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence) %>% # Retain only most recent FR if there are 2 records with the same date_sequence - slice(1) %>% - rename(CLUSTER_weekly = "CLUSTER", + dplyr::slice(1) %>% + dplyr::rename(CLUSTER_weekly = "CLUSTER", REGULATION_ID_weekly = "REGULATION_ID", FR_CITATION_weekly = "FR_CITATION", TIME_weekly = "TIME", @@ -249,21 +249,21 @@ expand_status <- function(x, y) { # Then limit variables and rename # Then create final VALUE fields based on all status events combine <- df_one %>% - full_join(df_weekly, + dplyr::full_join(df_weekly, by = join_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence)) %>% - full_join(df_seasonal, + dplyr::full_join(df_seasonal, by = join_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence)) %>% - full_join(df_monthly, + dplyr::full_join(df_monthly, by = join_by(FMP, COMMON_NAME_USE, REGION, ZONE_USE, SECTOR_USE, SUBSECTOR_USE, MANAGEMENT_TYPE_USE, date_sequence)) %>% # Remove records from empty dataframes - filter(!is.na(FMP)) %>% + dplyr::filter(!is.na(FMP)) %>% # create final VALUE fields - ungroup() %>% - rowwise() %>% + dplyr::ungroup() %>% + dplyr::rowwise() %>% # For MANAGEMENT_TYPE_USE == "CLOSURE": On a specific date_sequence, if the most recent FR_CITATION applies to multiple closure types (i.e., one time closure and monthly recurring) # Then maintain the more restrictive value (CLOSE) # Otherwise, the most recent FR_CITATION should be maintained with associated value fields - mutate(max_citation = pmax(FR_CITATION_one, FR_CITATION_seasonal, FR_CITATION_weekly, FR_CITATION_monthly, na.rm = TRUE), + dplyr::mutate(max_citation = pmax(FR_CITATION_one, FR_CITATION_seasonal, FR_CITATION_weekly, FR_CITATION_monthly, na.rm = TRUE), matched_values = list(c( if (isTRUE(FR_CITATION_one == max_citation)) VALUE_one else NULL, if (isTRUE(FR_CITATION_seasonal == max_citation)) VALUE_seasonal else NULL, @@ -295,7 +295,7 @@ expand_status <- function(x, y) { FR_CITATION == FR_CITATION_weekly ~ VALUE_RATE_weekly, FR_CITATION == FR_CITATION_seasonal ~ VALUE_RATE_seasonal, FR_CITATION == FR_CITATION_monthly ~ VALUE_RATE_monthly)) %>% - ungroup() + dplyr::ungroup() return(combine) From 0ad3e86b149acb24a012501d7d88f744f1fb2ffb Mon Sep 17 00:00:00 2001 From: GaitlynMalone-NOAA <115589280+GaitlynMalone-NOAA@users.noreply.github.com> Date: Fri, 6 Mar 2026 08:55:21 -0500 Subject: [PATCH 4/6] Add closure expansion outputs --- .../Closure_outputs/Close_COBIA2025Dec17.RDS | Bin 0 -> 1684 bytes .../Closure_outputs/Close_COBIA2026Jan16.RDS | Bin 0 -> 2133 bytes .../Close_GROUPER, GAG2026Feb17.RDS | Bin 0 -> 4254 bytes .../Close_TILEFISH, BLUELINE2026Feb18.RDS | Bin 0 -> 3424 bytes .../Close_TILEFISH, GOLDFACE2026Feb18.RDS | Bin 0 -> 3128 bytes .../Closure_outputs/Open_COBIA2025Dec17.RDS | Bin 0 -> 1067 bytes .../Closure_outputs/Open_COBIA2026Jan16.RDS | Bin 0 -> 1007 bytes .../Open_GROUPER, GAG2026Feb17.RDS | Bin 0 -> 1712 bytes .../Open_TILEFISH, BLUELINE2026Feb18.RDS | Bin 0 -> 1612 bytes .../Open_TILEFISH, GOLDFACE2026Feb18.RDS | Bin 0 -> 1522 bytes 10 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_COBIA2025Dec17.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_COBIA2026Jan16.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_GROUPER, GAG2026Feb17.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_TILEFISH, BLUELINE2026Feb18.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_TILEFISH, GOLDFACE2026Feb18.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Open_COBIA2025Dec17.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Open_COBIA2026Jan16.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Open_GROUPER, GAG2026Feb17.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Open_TILEFISH, BLUELINE2026Feb18.RDS create mode 100644 ODM-MH-Analysis_ready/Closures/Closure_outputs/Open_TILEFISH, GOLDFACE2026Feb18.RDS diff --git a/ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_COBIA2025Dec17.RDS b/ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_COBIA2025Dec17.RDS new file mode 100644 index 0000000000000000000000000000000000000000..47fdcafb51ee6d3cb4c244daf24b63792e808f5e GIT binary patch literal 1684 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 b*A@ea^)`K@(4AeqLR;k3hl{GITQ>b2Mz^?s literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_TILEFISH, GOLDFACE2026Feb18.RDS b/ODM-MH-Analysis_ready/Closures/Closure_outputs/Close_TILEFISH, GOLDFACE2026Feb18.RDS new file mode 100644 index 0000000000000000000000000000000000000000..8b30d7972235680ade6a270b107392b1a3ec07da GIT binary patch literal 3128 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 literal 0 HcmV?d00001 diff --git a/ODM-MH-Analysis_ready/Closures/Closure_outputs/Open_COBIA2025Dec17.RDS b/ODM-MH-Analysis_ready/Closures/Closure_outputs/Open_COBIA2025Dec17.RDS new file mode 100644 index 0000000000000000000000000000000000000000..5cc7a70494430f7127cb5adca84bfae92df05763 GIT binary patch literal 1067 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 Date: Fri, 6 Mar 2026 08:55:35 -0500 Subject: [PATCH 5/6] Update data log file --- .../{MH_DL_2025Sep10.RDS => MH_DL_2025Nov18.RDS} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename ODM-MH-Data_log/data/results/{MH_DL_2025Sep10.RDS => MH_DL_2025Nov18.RDS} (100%) diff --git a/ODM-MH-Data_log/data/results/MH_DL_2025Sep10.RDS b/ODM-MH-Data_log/data/results/MH_DL_2025Nov18.RDS similarity index 100% rename from ODM-MH-Data_log/data/results/MH_DL_2025Sep10.RDS rename to ODM-MH-Data_log/data/results/MH_DL_2025Nov18.RDS From d3c0347a48303c9d2bdae341b5fc2d27a2b2c637 Mon Sep 17 00:00:00 2001 From: Sarina Atkinson Date: Thu, 30 Jul 2026 14:15:55 -0400 Subject: [PATCH 6/6] update MH_spp_tables.RDS to include new Caribbean FMPs --- .gitignore | 2 ++ ODM-MH-Data_log/MH00_clean_spp_tables.R | 7 ++++++- .../data/interim/MH_clean_spp_tables.RDS | Bin 15345 -> 18764 bytes 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7ec7968..0bb2ca7 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,5 @@ ODM-MH-Data_log/data/results/Archived_DataLogs/ # Gaitlyn's Personal Exploratory Files Examples/Testfiles/ + +*.env diff --git a/ODM-MH-Data_log/MH00_clean_spp_tables.R b/ODM-MH-Data_log/MH00_clean_spp_tables.R index 650ca5b..ed8572d 100644 --- a/ODM-MH-Data_log/MH00_clean_spp_tables.R +++ b/ODM-MH-Data_log/MH00_clean_spp_tables.R @@ -2,6 +2,10 @@ # Standardize and fill in common name for FMP species, species aggregate and species group tables # Create work space containing the species list data frame to use in expansion (sp_info_use) +library(ROracle) +library(sqldf) +library(dotenv) +library(dplyr) # Connect to the server #### con <- dbConnect(dbDriver("Oracle"), @@ -134,5 +138,6 @@ sp_info_use = bind_rows(fmp_info_use, grp_info_use, agg_info_use) %>% rm(con, spp_grp_view, spp_agg_view, spp_itis_xref) # Save work space -saveRDS(sp_info_use, here('data', 'interim', 'MH_clean_spp_tables.RDS')) +library(here) +saveRDS(sp_info_use, here('ODM-MH-Data_log', 'data', 'interim', 'MH_clean_spp_tables.RDS')) diff --git a/ODM-MH-Data_log/data/interim/MH_clean_spp_tables.RDS b/ODM-MH-Data_log/data/interim/MH_clean_spp_tables.RDS index 995a14fef1352bc6036449b15a96e58be7e979d7..5e170d3105e3fa4dcfd3fd319a842be9271cb8ac 100644 GIT binary patch literal 18764 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 literal 15345 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 Rc6|zxxhMa`X@mm%zW^u~5Uv0K