Skip to content

Creating Vegetation Files

This page outlines the steps and tools available to process MODIS land use and LAI data into VIC model vegetation parameter inputs.  It is assumed that the reader has completed defining their study domain as described in VIC model Setup (Step 1) - Establishing the Domain before completing the steps in this tutorial.

Steps here assume that the user is working with ArcGIS and has the ArcHydro toolset installed.  Most of the steps involved should translate directly to geoprocessing algorithms available in QGIS, SAGA and other commonly available, non-proprietary GIS packages.

Reclassifying MODIS Land Use Data

The standard classification system used with the MODIS land use data product (MCD12Q1) is the IGBP classification system.  This uses 16 classes as defined at https://lpdaac.usgs.gov/products/modis_overview/modis_products_table/mcd12q1.  To reclassify these parameters into more standard VIC vegetation classes, download the 'VIC Land Use Tools.tbx' file and add it to an ArcMap project with your Land Use data files.

Reclassify Land Use Categories

The tool 'Reclassify Land Use Categories' makes use of reclassification tables provided in LandUseTools.gdb to map between IGBP and other standard vegetation classifications.  These include:

Reclass Table Name Description
IGBP2VICNoWater Reclassifies IGBP land use classes to standard VIC classes without water (12 classes include short grass to represent urban area)
IGBP2VICWater Reclassifies IGBP land use classes to standard VIC classes with single ponded area category (13 classes, ponded area added as class 20 and includes open water, wetlands and ponded area - calculated separately)
IGBP4GISrouting Reclassifies IGBP land use classes to the classes for which Manning's N has been defined for the GIS routing model

Using the Tool

  1. Open the tool from the toolbox
  2. Click on the folder to the right of the entry title 'Land Use Reclassification Table'.
  3. Select the reclassification scheme you want from those list in the geodatabase (see table above for documented schemes).
  4. Select the original land use map.
  5. Provide a name for the new classification map.
  6. Check that the other three parameters are set to their default values (they are here only to allow the use of non-standard reclass tables).
  7. Click OK.
  8. The reclassified raster file will be added to the ArcMap project as a layer.

Creating a new land use reclassification table

The file LandUseReclassTables.xlsx contains worksheets with all defined reclassification tables.

  1. To add a new reclassification table, create a new worksheet and complete it to match the general form of the existing pages.
  2. Open ArcCatalog
  3. Within the contents view of LandUseTools.gdb, right click and select New -> Table...
  4. Provide an appropriate short Name (see table above - 13 character max) along with a more descriptive Alias (neither can contain spaces). Click Next.
  5. Use the Default configuration keyword. Click Next.
  6. Import the field names and data types from one of the existing Tables.  
  7. Edit the Field Names to reflect the current reclass table, if necessary.  Click Finish.
  8. Right-click on the new file, and select Load -> Load Data...
  9. Click on the Folder to open the browse window and use it to open LandUseReclassTables.xlxs, and from the spreadsheet open the worksheet you just created.  It will appears a <worksheet name>$. Do not select any worksheet names with information after the '$' as these are temporary spaces within the file.
  10. Click 'Open', which will return you to the Simple Data Loader window.  Here you need to click 'Add' to add the selected file to the list of data file to import.  Then click 'Next'.
  11. On the next window you will most likely find everything greyed out except for the choice "I do not want to load all rows into a subtype".  Leave this checked, even if you have any other options.  Click 'Next'.
  12. On the next page you need to match columns in the Excel file with Field Names in the ArcGIS table.  The field 'outClass' should be left matching 'None'. While 'ImportOutClass' should be set to the 'outClass' column in the input data file. This is because the number columns from the Excel file can only be imported as doubles, but the reclass function requires integers, so 'outClass' will be populated correctly in a later step.  Click Next.
  13. Select 'Load all of the source data.' and click Next.
  14. Check the summary of the command.  Use the Back button to go back through the input screens to fix problems.  When satisfied, click 'Finish'.  This will import the data from the Excel worksheet into the data table.
  15. Now open the Data Management Tools -> Fields -> Calculate Field.
  16. Use the table you just created as the Input Table. 
  17. For the Field Name select 'outClass'.  
  18. Click the calculator to the right of the Expression line.
  19. Within the calculator, build the equation: Int ( [ImportOutClass] ), where 'ImportOutClass' is the field into which you read the outClass data as doubles fromt he Excel spreadsheet.
  20. Click on OK to close the calculator.
  21. Click on OK to start the calculation.
  22. The file should be done.  Open the preview of the Table in ArcCatalog and make sure that the contents of the Excel worksheet are now in the ArcGIS table. 

Computing Coverage Fractions - No Water

These instructions walk you through the process of developing coverage fractions with ArcGIS when water/wetand/ponded areas are not used as part of the model setup.  This means the Lake and Wetland algorithm cannot be used with the data sets developed.

  1. ** NEEDS TO BE WRITTEN **

Computing Cover Fractions - With Water

These instructions walk you through the process of setting up the VIC model vegetation file for use with the Lakes and Wetland algorithm.  It will merge open water, wetland and ponded areas into a coverage fraction, and develop parameters for the algorithm.

Extracting LAI Values for MODIS Data

The following steps outlines the process used to extract LAI and LC data from MODIS for use in the HUC-based Great Lakes VIC model simulations:

  • LAI Processing Scripts

  • Background Paper on MODIS Land Cover Schemes

  • Decide what year you want to use for the LAI and LC data. This is a little bit of a subjective decision - I looked at climate data for my study region for the years where MODIS data exists (something like 2001-2012) and picked one that looked "average" - in this case, I chose the water year covering 2008-2009.  I also split the data into four time periods when I was working in GIS to make things a little easier:

    • Oct-Dec 10/1-12/31, Days of the year: 274-365
    • Jan-March 1/1-3/31, Days of the year: 1-90
    • April-June 4/1-6/30, Days of the year: 91-181
    • July-Sept 7/1-9/30, Days of the year: 182-273
  • Download LAI data from MODIS for the study region for the given year (I used MOD15A2). Use tar -xvf to extract the daily data, then import the files into GIS and use Raster -> Extract Subdataset to extract the LAI data (ID:1 for LAI). If you have more than one MODIS "grid cell," you will want to join them before moving forward (Data Management Tools -> Raster -> Raster Dataset -> Mosaic to New Raster (16BIT-UNSIGNED, 1 band, FIRST, FIRST)).

  • Download land cover data (I used MCD12Q1).  There are five different land cover classification schemes available, but I picked the UMD one since it was closest to the existing vegetation file (the attached paper has for more information about the different LC schemes).  You should be able to use any of them, but you'll need to find root depth values when you create your vegetation parameter file if we don't have them already.  If you have more than one MODIS "grid cell," you can join at this point.

  • Create new rasters for each land cover type ("Spatial Analyst Tools" -> "Extraction" -> "Extract by Attributes" -> "VALUE" = land cover type). I also plan to use these rasters to calculate land cover percentages for each of my grid cells.

  • For each land cover type, use Spatial analyst tools -> Extraction -> Sample (NEAREST) [Input: LAI layer, Input location raster: LC layer] to get LAI values for each land cover type.

  • Export the LAI files as text files (I used the naming convention year_day.txt, e.g., bsv08_273.txt is barren or sparsely vegetated for 2008, day 273), merge the separate files together for the whole year, add dates, and plot the data to see if the values "make sense." Due to uncertainty, I've plotted the LAI values as box plots and removed anything greater than 1.05 times the IQR.  I've attached the scripts that I used to go through these steps in case they would be helpful for you - they're not commented very well, but I think I've marked places where you need to change values depending on the LAI data file names.

    • Extract_LAI_Values.py - extracts LAI values from individual files, adds dates from Dates.txt GenerateBoxPlotParameters.py - calculates box plot parameters for each LAI file, removes outliers PlotLAIData.csh - plots the LAI box plots

Existing Vegetation Parameter Datasets

  • Copy information on existing vegetation datasets from PBWorks 17 Mar 2016