Data and code from: Impacts of changing winters on lake ecosystems will increase with latitude
Data files
Aug 04, 2025 version files 1.03 MB
-
Fig3_data.csv
84.42 KB
-
R_code.R
23.06 KB
-
README.md
6.35 KB
-
SnowIceScenarios.csv
918.66 KB
Aug 12, 2025 version files 1.03 MB
-
Fig3_data.csv
84.42 KB
-
R_code.R
23.11 KB
-
README.md
7.06 KB
-
SnowIceScenarios.csv
918.66 KB
Abstract
Climate warming is especially pronounced in winter and at high latitudes. Warming winters are leading to the loss of lake ice and changing snow cover on lakes. Historically, lake scientists have paid less attention to the ice cover period, leading to data and theory gaps about the role of winter conditions in lake ecosystem function and the consequences of changing winters. Here we use simple models to show that the latitudinal interaction between ice cover duration and light flux seasonality has profound and underappreciated implications for lakes. Our models focus on light and temperature, two key drivers of ecosystem processes. We show that the relative amount of light arriving in lakes during ice cover increases non-linearly with latitude and that the light climate of high-latitude lakes is much more sensitive to changing winter conditions than that of lower-latitude lakes. We also demonstrate that the synchronicity between high light and warm temperatures may decrease with latitude, with implications for primary and secondary production. Our results suggest that ice loss may lead to greater relative change in productivity and biotic interactions in higher latitude lakes and also offer several testable predictions for understanding the consequences of climate-induced changes across latitudinal gradients.
Dataset DOI: 10.5061/dryad.98sf7m0wc
This submission includes data and code accompanying the Ecology Letters manuscript Impacts of Changing Winters on Lake Ecosystems Will Increase with Latitude. The paper examines how ice cover conditions affect light levels in seasonally freezing lakes across large latitudinal gradients. This dataset includes data files that contain: 1) daily incoming light flux + daily ice and snow thickness and opacity data across several latitudes and ice cover duration scenarios; 2) 5-day averaged light flux and surface water temperature data for hypothetical lakes at 45 and 75°N across three ice cover scenario durations and two snow thickness scenarios. The data files are accompanied by R code that generates elements of figures 1, 2, and 3 from the manuscript, and figures S1 and S2 from the supplement. The R code also summarizes and subsets ice cover duration data for 67,291 lakes from Wang we al. 2022 (https://doi.org/10.1029/2022GL099022); these data are used in parts of Figure 1.
Description of the data and file structure
The package includes 3 files:
- SnowIceScenarios.csv: simulated daily ice and snow thickness data across latitudes, ice cover duration, and snow cover scenarios. These data are needed to generate Figure 2 from the main text and Figures S1 and S2 from the supplement.
- Fig3_data.csv: includes light flux and temperature data for hypothetical lakes at 45 and 75N. These data are needed to generate Figure 3 from the main text.
- R_code.R: R code that wrangles data, calculates light transmission through ice+snow, and generates figures.
Files and variables
File: Fig3_data.csv
Description:
Variables
- Lat: latitude (45 or 75)
- DOY: day of year (in steps of 5 days)
- IceSnowScenario: ice and snow scenario [categorical; composite of next two columns]- length of ice cover season and snow cover scenario
- SnowScenario: categorical variable describing the snow cover scenario. 60percent means snow cover for 60 of the ice cover period, building to either 5 or 80 cm depth over this period; max dump means maximum snow thickness (5 or 80 cm) for max duration of ice cover
- IceDuration: ice duration scenario [categorical; median, short, or long]
- AirLight: incoming (air) solar flux in W/m2
- Temp: water temperature (Celsius)
- Ice_thickness_m: ice thickness for each row in meters
- Snow_thickness_cm_typical_0cm: snow thickness for each row in cm in max snow thickness= 0 cm scenario
- Snow_thickness_cm_max_5cm: snow thickness for each row in cm in max snow thickness= 5 cm scenario
- Snow_thickness_cm_max_80cm: snow thickness for each row in cm in max snow thickness= 80 cm scenario
- SnowKd: snow light attenuation coefficient (kd)
- IceKd: ice light attenuation coefficient (kd)
- 0cm_underice_flux: light penetrating (w/m2) through snow and ice for each row in 0 cm max snow depth scenario
- 5cm_underice_flux: light penetrating (w/m2) through snow and ice for each row in 5 cm max snow depth scenario
- 80cm_underice_flux: light penetrating (w/m2) through snow and ice for each row in 80 cm max snow depth scenario
File: R_code.R
Description: R code for wrangling data, calculating light penetration, and generating data-based elements of Figure 1, as well as Figures 2, 3 and Supplementary Figures S1 and S2.
Note: Part 1 of the R code is used to generate elements of Figure 1. These elements are not part of the core analyses and represent a re-visualization of data from:
Wang et al. (2022). Continuous Loss of Global Lake Ice Across Two Centuries Revealed by Satellite Observations and Numerical Modeling. https://doi.org/10.1029/2022GL099022
The associated input data can be accessed from:
https://figshare.com/articles/dataset/Global_annual_lake_ice_phenological_dataset_1861-2099/19424801
To recreate the visualization in Part 1, the following files should be downloaded from Figshare:
Current_74245lks_2001-2020.zip
(includesice_duration.csv
,ice_off_day.csv
,ice_on_day.csv
)Lake_info_74245lks.csv
These external files are only used for supplemental re-plotting of global lake ice phenology. They are not required to reproduce the original analyses or figures in the main text and do not affect the core conclusions of the paper. Because they are publicly available under a CC BY 4.0 license and hosted by the original authors, they are not re-uploaded here.
File: SnowIceScenarios.csv
Description:
Variables
- SnowScenario: snow cover scenario. Categorical; shows how long snow is present on the ice- 60, 80, or 100% of ice cover period (6-percent, 80percent, 100percent, respectively); 'maxdump' is similar to the 100% scenario, but in this scenario, the maximum seasonal depth of snow is reached immediately after ice formation (rather than building to it gradually as in other scenarios).
- IceScenario: ice duration scenario. current= current conditions; short= 1 month shorter ice cover than current; long= 1 month longer ice cover than current
- Latitude: latitude band (45, 55, 65, or 75)
- DOY: day of year (1 to 365)
- flux_W_m2_day: daily solar flux (in the air) in W/m2
- Ice_thickness_m: simulated ice thickness in meters
- Snow_thickness_cm_typical_0cm: simulated snow thickness under a scenario where the peak seasonal snow depth is 0 cm
- Snow_thickness_cm_max_5cm: simulated snow thickness under the scenario where peak seasonal snow depth = 5 cm
- Snow_thickness_cm_max_10cm: simulated snow thickness under the scenario where the peak seasonal snow depth is 10 cm
- Snow_thickness_cm_max_20cm: simulated snow thickness under the scenario where the peak seasonal snow depth is 20 cm
- Snow_thickness_cm_max_40cm: simulated snow thickness under the scenario where peak seasonal snow depth = 40 cm
- Snow_thickness_cm_max_80cm: simulated snow thickness under the scenario where peak seasonal snow depth 80 cm
Code/software
Code is for R/RStudio 2024.12.0+467 "Kousa Dogwood" Release (cf37a3e5488c937207f992226d255be71f5e3f41, 2024-12-11) for Windows.
Packages used: readr; tidyr; dplyr; ggplot2; gridExtra
Versioned Changes:
The changes made since the previously published version were as follows:
1. We changed the mapping package from ggmap to rnaturalearth, since ggmap requires a google API key. We added code to load required packages on lines 53-55 of R code and revised the mapping code on lines 118-134 of R code. The change produces a very similar map and does not affect code functionality.
2. We revised the code on lines 57-58 of R file to more explicitly explain that the users should set their own working directory when working with the code. Again, this change does not affect the outcome of the analyses.