In late April of 2018, I completed one of the best backpacking trips of my life: The Canyon Creek trail in the Trinity Alps Wilderness. It was twenty sweaty miles of beautiful waterfalls and alpine lakes. The Trinity Alps Wilderness area remains a hidden gem in California, when compared to the rest of the state's National Parks and Wilderness areas. This past spring I was ready for another backpacking trip in the Alps, but I was stopped by the reports of high snow depth throughout the higher elevations.
The image slider above depicts the contrast of snow cover between May 2018 and May 2019. The yellow lines represent the vast trail system. To create these images, I first collected 2014 NAIP data to be used as the basemap imagery. Then, Landsat 8 images were collected for both years and mosaicked. To extract the pixels that indicate snow/ice from the landsat imagery, the raster calculator was used to grab NDSI values ≥ 0.4, which is supported by Dozier (1989) and Negi et al. (2009). Obviously, a much more complex methodology is needed to extract the exact amount of pixels that indicate snow or ice, but this simplified calculation worked well enough for the visualization that I had in mind. I then used this output raster as a mask for the NAIP imagery, which revealed the Landsat imagery underneath, bringing out the bright blue snow that you see in the images.
The output of the previous raster calculation can be seen in the image above. The raw naturalLook Landsat mosaics used in this project are displayed in a separate image slider below:
The output rasters were converted into polygons for further analysis. The May 2018 snow cover polygon took up a total area of 55 KM^2, while the May 2019 snow cover polygon took up a total area of 317 KM^2. That's an increase of 476.36%. For reference, the Trinity Wilderness boundary polygon that I used for this project has an area of 2185 KM^2. In May 2019, 14.5% of the wilderness was covered in snow and in May 2018, only 2.5% of the wilderness was covered:
The next logical step was to evaluate how the climatic conditions differed between the two years. I gathered precipiation data from the PRISM model and clipped it down to the Trinity Alps area:
Even just visually, a few months of high contrast stand out (December, January, February). In order to gather the precipitation statistics of the 14 different rasters, I automated the "zonal statistics as table" arcpy tool using Python.
#Import the stuff you need import arcpy, os arcpy.env.overwriteOutput = True from arcpy import env from arcpy.sa import * #Set up the enviro env.workspace = r"C*Rasters.gdb" #Set local variables trinityBoundary = r"*\Boundary.shp" outDir = r"*\Tables.gdb" # Execute ZonalStatisticsAsTable for raster in arcpy.ListRasters(): raster_name = os.path.basename(raster).rstrip(os.path.splitext(raster)) outTable = outDir + raster_name + "_TBL.dbf" arcpy.gp.ZonalStatisticsAsTable(trinityBoundary,"FEATURE1",raster,outTable,"DATA","ALL")
The script above iterates through all of the rasters within the set environment (in this case, a local GDB) and then outputs table files into a seperate geodatabase. I ran the table to excel tool as a batch process and organized all of the information in excel.
If I had more time with this project, I would have gathered temperature data for 2018-2019 using the PRISM model and repeated the same process done above. I could have also gathered climate normals from PRISM and used them to determine how much each season deviated from the normal climatic conditions within the Trinity Alps.