Rainey Aberle, Jukes Liu, and Ellyn Enderlin
Department of Geosciences, Boise State University
Rainey Aberle (raineyaberle@u.boisestate.edu)
Pipeline for land cover classification in Sentinel-2 and Landsat 8/9 imagery using machine learning classifiers trained using manually-classified points at the U.S. Geological Survey Benchmark Glaciers.
This repository is the partner to glacier-snow-cover-mapping. Here, rather than classifying and exporting images locally, all computations are done on the Google Earth Engine server and summary statistics are exported to your Google Drive.
- Clone (or fork and then clone) this repository.
$ git clone https://github.com/RaineyAbe/glasee
- Install the required packages listed in
environment.yml. We recommend using Mamba or Micromamba for environment management.
$ cd glasee
$ micromamba env create -f environment.yml
- If using Jupyter for running notebooks, add the environment as an ipykernel:
$ micromamba activate glasee
$ python -m ipykernel install --name glasee
-
Google Earth Engine (GEE) account: used to query imagery and the DEM (if no DEM is provided). Sign up for a free account here.
-
Google Drive folder for exports.
The pipeline can be run for a single site or multiple sites at once using glasee_pipeline.ipynb. Snow cover statistics for each site will be exported in multiple CSV files. To compile the CSV files for each site and remove any empty files, see the compile_CSVs.ipynb notebook.
Please refer to each notebook for more information.
GEE enforces user quotas on memory usage (default = 10 MB per query) and the number of concurrent requests (default = 40). The GlaSEE pipeline mitigates exceeding these limits by splitting tasks into smaller date ranges and increasing the image scale only if necessary.
The date range specified by the user is split into smaller ranges before exporting based on the area of the glacier (AOI):
- AOI < 500 km2: split by month
- 700 km2 <= AOI < 1100 km2: split by week
- AOI >= 1100 km2: split by day
For glaciers with areas > 3000 km2, splitting the date range by day is usually not enough to avoid computation time out. Therefore, the images are automatically upscaled to 200 m resolution, which we found empirically to work for glaciers larger than this threshold.
Especially for the largest glaciers, many exports may be empty, depending on image availability. To compile all results and remove empty CSVs from your Google Drive folder, see the compile_CSVs.ipynb notebook in this repo.
Please reference the following when using or presenting this work:
Aberle, R., Enderlin, E., O’Neel, S., Florentine, C., Sass, L., Dickson, A., et al. (2025). Automated snow cover detection on mountain glaciers using spaceborne imagery and machine learning. The Cryosphere, 19(4), 1675–1693. https://doi.org/10.5194/tc-19-1675-2025
This work was funded by BAA-CRREL (award no. W913E520C0017), NASA EPSCoR (award no. 80NSSC20M0222), the NASA Idaho Space Grant Consortium summer internship program, and the SMART (Science, Mathematics, And Research for Transformation) Scholarship-for-Service program. This research was supported by the U.S. Geological Survey Ecosystem Mission Area Climate Research and Development Program.