BackgroundΒΆ

The final project of GEOG 4463-5463 (Earth Analytics Bootcamp) is to look into building a habitat suitability model for Sorghasstrum Nutans.
In the past 50 years, its range has been moving northward according to Global Biodiversity Information Facility at https://www.gbif.org/species/2704414.

In this notebook, I am demonstrating the ability to analyze three study sites by utilizing modular, reproducible for loops and functions, so you may add as different/additional study sites into this notebook as needed.


A quick search online suggests Sorghasstrum Nutans, also known as "Tomahawk" Indiangrass, favors these conditions:

  • moderate elevations and open woodlands,
  • average annual precipitation ranged from 15 to 50 inches (average monthly ~32mm to ~64 mm)
  • neutral soil pH (slightly acidic would be okay but will not adapted well to highly saline or alkaline conditions)
  • moist, well drained soil

Tober, D. A. (2009). Indiangrass (Sorghastrum Nutans): Biomass Trials North Dakota, South Dakota, and Minnesota. Agriculture Department, Natural Resources Conservation Service. https://www.govinfo.gov/app/details/GOVPUB-A57-PURL-gpo1710


Data PreparationΒΆ

I loosely selected three study sites near me: Oglala National Grassland (Nebraska), Pawnee National Grassland (Colorado), and Fort Pierre National Grassland (South Dakota).

Data Source #1: Forest Service National Grassland BoundariesΒΆ

Before downloading my raster data, I need to begin with getting my shape files, which is collected and maintained by Forest Service programs at https://data.fs.usda.gov/geodata/edw/datasets.php

Data CitationΒΆ

United States Forest Service (USFS). (2023). U.S. National Grassland Shapefiles [Data set]. USFS Enterprise Data Warehouse. Accessed 2023-12-18 from https://data.fs.usda.gov/geodata/edw/edw_resources/shp/S_USA.NationalGrassland.zip

NATIONALGR GIS_ACRES SHAPE_AREA SHAPE_LEN geometry
GRASSLANDN
Oglala National Grassland 295521010328 215804.927 0.096279 1.970612 POLYGON ((-103.72477 43.00100, -103.72007 43.0...
Pawnee National Grassland 295523010328 208424.885 0.089972 15.341594 MULTIPOLYGON (((-104.58106 40.82664, -104.5810...
Fort Pierre National Grassland 281771010328 209044.225 0.095149 1.455518 POLYGON ((-100.08409 44.28162, -100.08409 44.2...

Data Source #2: SRTM Elevation Data (2000)ΒΆ

Next, I downloaded my elevation data, NASA Shuttle Radar Topography Mission (SRTM) dataset, available from the APPEEARS API at https://appeears.earthdatacloud.nasa.gov/

Fun Fact:

NASA Shuttle Radar Topography Mission (SRTM) datasets result from a collaborative effort by the National Aeronautics and Space Administration (NASA) and the National Geospatial-Intelligence Agency (NGA - previously known as the National Imagery and Mapping Agency, or NIMA), as well as the participation of the German and Italian space agencies. The purpose of SRTM was to generate a near-global digital elevation model (DEM) of the Earth using radar interferometry. SRTM was a primary component of the payload on the Space Shuttle Endeavour during its STS-99 mission. Endeavour launched February 11, 2000 and flew for 11 days. (https://lpdaac.usgs.gov/products/srtmgl1v003/)

Data CitationΒΆ

NASA JPL (2013). NASA Shuttle Radar Topography Mission Global 1 arc second [Data set]. NASA EOSDIS Land Processes Distributed Active Archive Center. Accessed 2023-12-18 from https://doi.org/10.5067/MEaSUREs/SRTM/SRTMGL1.003

In this section, I am demonstrating the ability to calculate a derived topographic variable to use in the model:

for index, grassland in enumerate(grasslands):
    elevation_data = [rxr.open_rasterio(path, masked=True).squeeze() for path in grasslands[index]['srtm_paths']][0]
    grasslands[index]['elevation_data'] = elevation_data

for index, grassland in enumerate(grasslands):
    """
    Calculate the aspect of the elevation data for each grassland and create an elevation plot.
    """
    elevation_plot = xrspatial.aspect(grasslands[index]['elevation_data']).hvplot.image(
        rasterize=True, cmap='BrBG_r',
        xlabel='Longitude', ylabel='Latitude',
        colorbar=True,
        clim=(0, 400),
        x='x', y='y', crs=grasslands[index]['utm_epsg'])
    grasslands[index]['elevation_plot'] = elevation_plot

Elevation MapsΒΆ

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Elevation AspectΒΆ

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Data Source # 3 Soil Variable - Polaris pH (2019)ΒΆ

Following the elevation data, I downloaded POLARIS soil property (pH) published by Duke University. Additional details at https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2018WR022797

Data CitationΒΆ

Duke University. (2019). POLARIS Soil Properties v1.0: pH Mean 60-100 cm Depth [Data set]. Duke University Hydrology Laboratory. Accessed 2023-12-18 from http://hydrology.cee.duke.edu/POLARIS/PROPERTIES/v1.0/ph/mean/60_100/

Soil pH MapsΒΆ

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Data Source # 4 MACAv2ΒΆ

Last, I downloaded two climate variables (precipitation and specific humidity) from Northwest Knowledge at https://climate.northwestknowledge.net/MACA/data_catalogs.php

HistoricalΒΆ

Climate Variable: Precipitation (mm)ΒΆ

Monthly Precipitation Amount - Total monthly precipitation at surface: includes both liquid and solid phases from all types of clouds (both large-scale and convective) (sum(interval: 24 hours): sum over days)

Data CitationΒΆ

Northwest Knowledge Network. (2023). MACAv2 Metdata Precipitation Data - CCSM4 Historical 1950-2005 [Data set]. Northwest Knowledge Network. Accessed 2023-12-18 from http://thredds.northwestknowledge.net:8080/thredds/ncss/agg_macav2metdata_pr_CCSM4_r6i1p1_historical_1950_2005_CONUS_monthly.nc?var=precipitation&disableProjSubset=on&horizStride=1&time_start=2005-01-15T00%3A00%3A00Z&time_end=2005-12-15T00%3A00%3A00Z&timeStride=1&addLatLon=true&accept=netcdf

Precipitation (Historical)ΒΆ

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Climate Variable: Specific HumidityΒΆ

Monthly Average of Daily Mean Near-Surface Specific Humidity (time: mean(interval: 24 hours); mean over days)

Data CitationΒΆ

Northwest Knowledge Network. (2023). MACAv2 Metdata Specific Humidity Data - CCSM4 Historical 1950-2005 [Data set]. Northwest Knowledge Network. Accessed 2023-12-18 from http://thredds.northwestknowledge.net:8080/thredds/ncss/agg_macav2metdata_huss_CCSM4_r6i1p1_historical_1950_2005_CONUS_monthly.nc?var=specific_humidity&disableLLSubset=on&disableProjSubset=on&horizStride=1&time_start=2005-01-15T00%3A00%3A00Z&time_end=2005-12-15T00%3A00%3A00Z&timeStride=1&accept=netcdf

Specific Humidity (Historical)ΒΆ

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

RCP 8.5 (Severe Climate Change)ΒΆ

Precipitation Maps (RCP 8.5 Severe Climate Change)ΒΆ

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Specific Humidity (RCP 8.5 Severe Climate Change)ΒΆ

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Fuzzy Logic ModelΒΆ

Based on the quick background search, the following are defined as the preferred conditions for Sorghastrum Nutans:

  • Elevation (Low or Moderate): A trapezoidal membership function that covers elevations from 0 to 2000 meters
  • Slightly Acidic/Neutral Soil: Gaussian membership function centered at a pH of 6.5 with a spread of 1.
  • Moderate or High Precipitatoin: Gaussian membership function centered at 35 mm with a spread of 10 mm.
  • Moderate Humidity: Gaussian membership function centered at 0.00500 kg/kg with a spread of 0.0005.

Additionally, well-drained soil is inferred indirectly from having moderate to high precipitation but while the specific humidity isn't high.

These parameters haven't gone through any rigirous selection process. These data sources are also not comprehensive enough to build a solid model.
The following is purely demonstrating the ability manipulate and harmonize DataArray objects.

Situability Maps (Historical)ΒΆ

Based on the fuzzy memberships functions defined, Oglala National Grassland shows having the most situatble areas of the three study sites.

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Situability Maps (RCP 8.5)ΒΆ

Well-drained soil is the only change in the considered factors between this RCP 8.5 in comparison to the above. Fort Pierre National Grassland becomes more unsuitable to Sorghastrum Nutans due to the increase in humidity.

Again, these parameters haven't gone through any rigirous selection process. These data sources are also not comprehensive enough to build a solid model. Well-drained soil property is not derived accurately via precipitation and humidity.

The following is purely demonstrating the ability manipulate and harmonize DataArray objects.

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

Next StepsΒΆ

This notebook demonstrates my ability to handle multiple data layers related to soil, topography, and climate. While it's not fully refactored yet, it illustrates the development of modular, reproducible workflows. To enhance the model, I plan to deepen my understanding of soil and topographic data, as well as climate scenarios. This research will be crucial for building more robust climate projection models, thereby improving the accuracy of habitat suitability assessments.