This function arranges and formats seasonal plots generated by the `PlotSeason` function into a 2x2 grid layout. It uses the output from `process_model_data()` and customizes the plot titles and captions based on the data source.
Arguments
- result
A list containing seasonal data frames for each season, typically output from the `process_model_data()` function. The list should include data frames for "Winter", "Spring", "Summer", and "Fall".
Value
A `gtable` object representing a grid of seasonal plots. The plots are arranged in a 2x2 grid and include a title and a figure caption that describe the percent error analysis for the Dangermond Preserve.
Details
The `GridSeasons` function performs the following operations:
**Plot Generation**: Uses the `PlotSeason` function to create plots for each season based on the input data.
**Grid Arrangement**: Arranges the plots in a 2x2 grid using `grid.arrange`.
**Caption Handling**: Dynamically assigns a caption based on the source of the data using `dplyr::case_when`.
**Title and Caption**: Adds a common title and figure caption to the grid.
**Drawing**: Draws the final grid plot using `grid.draw`.