
Description of the data and file structure Title:** Beyond bleaching: Collapse of net coral reef carbonate budgets in the Eastern Tropical Pacific after the 4th global coral bleaching event.** Francisco Medellín-Maldonado1,2*, Rebeca Granja-Fernández3, Tania González-Mendoza4, Rafael Andrés Cabral-Tena5, Lorenzo Álvarez-Filip1, Andrés López-Pérez2 Abstract Marine heatwaves' increasing frequency and severity drive unprecedented ecological changes in coral reefs. Although extensive research has documented mass coral bleaching events and subsequent declines in live coral cover worldwide, the impacts on structural functionality and the disruption of key mechanisms governing reef accretion remain poorly understood. Here, we investigate the effects of the fourth global bleaching event on carbonate production and degradation processes in coral reefs of the southern Eastern Tropical Pacific. Using a combination of field surveys, carbonate production models, and thermal stress analyses, we show that prolonged SST anomalies peaked at 2.24 °C in August 2023, with degree heating weeks reaching a record-breaking 16, far surpassing established bleaching and mortality thresholds. This extreme thermal event led to regional coral mortality exceeding 76%, with some reefs experiencing complete loss of live coral cover. Consequently, these reefs shifted from highly productive carbonate states (4.25 ± 2.13 kg·CaCO₃·m⁻²·yr⁻¹) to net erosional states (-2.67 ± 2.82 kg·CaCO₃·m⁻²·yr⁻¹). Furthermore, we observed significant disruptions in the mechanisms underlying both carbonate production and erosion. Our findings underscore the vulnerability of reef structural functionality to climate change-induced thermal stress and provide crucial insights into the potential status of coral reefs affected by 4th global coral bleaching event. Repository contains the following: R script, and raw data Figures data.txt code.txt Statics code code.txt data.txt Files DATA_RSPB-2025-0482.xlsx CODE_RSPB-2025-0482_reviwers_2.R data_cover_SST_3_c.txt cobertura_huatus_23vs24.txt SST_Huatulco_promedio_2016.txt data_grupos.txt H23vs24.txt Files and variables File: DATA_RSPB-2025-0482.xlsx Description: Data of SST and DHW from 1985 to 2023, Coral cover from 2016 to 2024 **Files: **data_cover_SST_3_c.txt to H23vs24.txt is the data necesar to run de code in R Variables Data base of surveys and historical monthly sea surface temperature (SST, DHW), records for the study area were obtained from the NOAA Coral Reef Watch Coral Bleaching Thermal Stress dataset (NOAA/CRW), which is based on satellite observations with a 5-km resolution and covers the period from January 1, 1985 to December 31, 2023 (accessed on January 12, 2024). Code/software ################ CODE RSPB-2025-0482 ############################# ##### ##################### ############################################33 # FIT MODELS# library(glmmTMB) library(ggeffects) library(DHARMa) library(ggplot2) ########################################################### data_cover_SST_3_c names(data_cover_SST_3_c) view(data_cover_SST_3_c) data_cover_SST_3_c$Year% plot() + theme_classic(base_size = 25)+ labs(x = "", y= "% Coral cover")+ guides()+ggtitle("") + theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_color_manual(values = c("#F38D30", "#B2D8EE","#87B6D9","#5F90BB","#3B6895", "navy", "blue","red")) Reef_unit #1200*550 #============================================ # Predicciones pred_beta % plot() + theme_classic(base_size = 25)+ labs(x = "Year", y= "% Coral cover")+ guides()+ggtitle(" ") + geom_line(color = "#8B0000", size = 1) + annotate("rect",xmin=2023,xmax=2024,ymin=0,ymax=Inf, alpha=0.4, fill='#FF4500', )+ annotate("rect",xmin=2015,xmax=2016,ymin=0,ymax=Inf, alpha=0.4, fill='#FF4500', )+ scale_x_continuous(breaks=c(2015,2016,2017,2018,2019,2020,2021,2022,2023,2024))+ scale_y_continuous(breaks=c(0,0.20,0.40,0.60,0.80, 1.10))+ theme(axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5)) Year_plot #1200*550 #============================================ ############################################################################################################# view(data_cover_SST_3_c) mod_beta_DHW % plot(data = T, colors = "#8B0000") + theme_classic(base_size = 25)+ labs(x = "Max annual DHW", y= "% Coral cover")+ guides()+ggtitle(" ") + theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5)) ggpredict(mod_beta_DHW3, terms = c("Max_Es._DHW","Reef"), type = "fixed") %>% plot() + theme_classic(base_size = 25)+ labs(x = "Max annual DHW", y= "% Coral cover")+ guides()+ggtitle(" ") + scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"), name = "Reef")+ theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5)) ggpredict(mod_beta_DHW2, terms = c("Max_Av._DHW"), type = "fixed") %>% plot(data = T, colors = "#8B0000") + theme_classic(base_size = 25)+ labs(x = "Max annual DHW", y= "% Coral cover")+ guides()+ggtitle(" ") + theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5)) pred_DHW % mutate(Year = as.factor(Year)) Hut_grupos% plot() + theme_classic(base_size = 25)+ xlab("") + labs(y=expression(GkgCaCO[3]~m{-2}~year{-1})) + guides()+ggtitle(" ") + geom_hline(yintercept =0, color= "red",linetype="dashed", lwd=1)+ ###media annotate("rect",xmin=2023,xmax=2024,ymin=0,ymax=-Inf, alpha=0.3, fill="#FF4500", )+ theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"),name = "Reef") + scale_fill_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) + scale_linetype_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) Gnet ############################################################################ ######################### CORAL ####################### mod.HGC% plot() + theme_classic(base_size = 25)+ xlab("") + labs(y=expression(CoralkgCaCO[3]~m{-2}~year{-1})) + guides()+ggtitle(" ") + geom_hline(yintercept =0, color= "red",linetype="dashed", lwd=1)+ ###media theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_y_continuous(breaks=c(0,5,10))+ scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"),name = "Reef") + scale_fill_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) + scale_linetype_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) Coral_NCC # Predicciones gp % plot() + theme_classic(base_size = 25)+ xlab("") + #scale_y_continuous(breaks=c(0,5,10))+ labs(y=expression(CCAandotherscalcifierskg~CaCO[3]~m{-2}~year{-1})) + guides()+ggtitle(" ") + geom_hline(yintercept =0, color= "red",linetype="dashed", lwd=1)+ ###media annotate("rect",xmin=0.85,xmax=Inf,ymin=0,ymax=-Inf, alpha=0.3, fill='#7a5d7e', )+ theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"),name = "Reef") + scale_fill_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) + scale_linetype_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) CCA_NCC #============================================ ############################################################################################################# ##### ######## ### library(ggeffects) library(ggplot2) library(dplyr) # Predicciones gp % plot()+ xlab("") + labs(y=expression(CoralkgCaCO[3]~m{-2}~año{-1})) + guides()+ggtitle(" ") + geom_hline(yintercept =0, color= "red",linetype="dashed", lwd=1)+ ###media annotate("rect",xmin=0.85,xmax=Inf,ymin=0,ymax=-Inf, alpha=0.3, fill='#7a5d7e', )+ theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"),name = "Reef") + scale_fill_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) + scale_linetype_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) Micro_NCC ############################################################################ ######################### Macro ####################### mod.HGCMacro% plot()+ xlab("") + labs(y=expression(CoralkgCaCO[3]~m{-2}~año{-1})) + guides()+ggtitle(" ") + geom_hline(yintercept =0, color= "red",linetype="dashed", lwd=1)+ ###media annotate("rect",xmin=0.85,xmax=Inf,ymin=0,ymax=-Inf, alpha=0.3, fill='#7a5d7e', )+ theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"),name = "Reef") + scale_fill_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) + scale_linetype_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) Macro_NCC ############################################################################ ######################### Parrotfish ####################### names(datH) View(datH) mod.HGCParrotfish% plot(connect.lines = T, add.data = T, line.size=1, dot.size=3, dot.alpha = 0.5, colors = '#993404') + theme_classic(base_size = 25)+ xlab("") + labs(y=expression(CoralkgCaCO[3]~m{-2}~año{-1})) + guides()+ggtitle(" ") + geom_hline(yintercept =0, color= "red",linetype="dashed", lwd=1)+ ###media annotate("rect",xmin=0.85,xmax=Inf,ymin=0,ymax=-Inf, alpha=0.3, fill='#7a5d7e', )+ theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"),name = "Reef") + scale_fill_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) + scale_linetype_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) Parrotfish_NCC ############################################################################ ######################### Urchin ####################### mod.HGCUrchin% plot()+ xlab("") + labs(y=expression(CoralkgCaCO[3]~m{-2}~año{-1})) + guides()+ggtitle(" ") + geom_hline(yintercept =0, color= "red",linetype="dashed", lwd=1)+ ###media annotate("rect",xmin=0.85,xmax=Inf,ymin=0,ymax=-Inf, alpha=0.3, fill='#7a5d7e', )+ theme( axis.line = element_line(color = "black"), # Asegurar que los ejes se vean panel.border = element_rect(color = "black", fill = NA, size = 0.5) # Añadir borde alrededor )+ scale_colour_manual(values = c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF"),name = "Reef") + scale_fill_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) + scale_linetype_manual(values =c("#8B2500", "#CD6839", "#FF0000","#FF9932", "#FFCC65", "#FFEE99", "#54FF9F", "#CCFFFF", "#99EDFF","#79CDCD", "#528B8B","#0054FF")) Urchin_NCC #############################################################
Coral Bleaching, Coral Reefs
Coral Bleaching, Coral Reefs
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
