
Figure 1
Gridded observational spatial data from MODIS MCD12Q1 version 5.1 [5] product for the year 2005, PFT Type 5 classification [6] at 500-meter resolution.

Figure 2
GCAM region/AEZ land allocation for crops for year 2005 from a reference scenario. Gray represents no allocation, yellow represents least allocation, and dark brown is greatest.

Figure 3
A represents the intensity (warmer colors are higher intensity) of crops per 0.25-degree grid cell for year 2005 after intensification has occurred. B represents kernel density smoothing applied to the top panel for use during expansion (warmer colors represent a higher probability of a proximal grid cell being crops).

Figure 4
A shows grid cell fraction of crops from the OSD for 2005, B shows grid cell fraction of crops after GCAM projections have been applied through intensification and expansion, and C shows the change in grid cell fraction from OSD to after GCAM projections were applied. Units for each map are in grid cell fraction.
Table 1
Observed spatial data required fields and their descriptions.
| Field | Description |
|---|---|
| fid | Unique integer ID for each grid cell latitude and longitude. |
| landclass | Each land class field name (e.g., shrub, grass, etc.). Field names must not include commas. |
| region_id | The integer ID of the GCAM region that the grid cell is contained in. Exact field name spelling required. |
| metric_id | The integer ID of the GCAM AEZ or basin that the grid cell is contained in. Exact field name spelling required. |
| latitude | The geographic latitude value of the grid cell centroid as a signed float. Exact field name spelling required. |
| longitude | The geographic longitude value of the grid cell centroid as a signed float. Exact field name spelling required. |
Table 2
Projected land allocation required fields from GCAM.
| Field | Description |
|---|---|
| region | The text name of the GCAM region. Exact field name spelling required. |
| landclass | Each land class field name (e.g., shrub, grass, etc.). Field names must not include commas. |
| year | Each year of the GCAM run as an integer (e.g., 2005, 2010, etc.). |
| metric_id | The integer ID of the GCAM AEZ or basin. Exact field name spelling required. |
| Units | The text name of the units of the data. |
Table 3
Configuration file hierarchy, parameters, and descriptions.
| Level | Parameter | Description |
|---|---|---|
| [STRUCTURE] | root_dir | The full path of the root directory where the inputs and outputs directory are stored |
| [STRUCTURE] | in_dir | The name of the input directory |
| [STRUCTURE] | out_dir | The name of the output directory |
| [INPUTS] | allocation_dir | The name of the directory that holds the allocation files |
| [INPUTS] | observed_dir | The name of the directory that holds the observed spatial data file |
| [INPUTS] | constraints_dir | The name of the directory that holds the constraints files |
| [INPUTS] | projected_dir | The name of the directory that holds the GCAM projected land allocation file |
| [INPUTS] | ref_dir | The name of the directory that holds the reference files |
| [INPUTS] [ALLOCATION] | spatial_allocation | The file name with extension of the observed spatial data class allocation |
| [INPUTS] [ALLOCATION] | gcam_allocation | The file name with extension of the projected land class allocation |
| [INPUTS] [ALLOCATION] | kernel_allocation | The file name with extension of the kernel density weighting |
| [INPUTS] [ALLOCATION] | transition_priority | The file name with extension of the priority allocation |
| [INPUTS] [ALLOCATION] | treatment_order | The file name with extension of the treatment order |
| [INPUTS] [ALLOCATION] | constraints | The file name with extension of the constraint weighting |
| [INPUTS] [OBSERVED] | observed_lu_data | The file name with extension of the observational spatial data |
| [INPUTS] [PROJECTED] | projected_lu_data | The file name with extension of the projected land allocation data from GCAM |
| [INPUTS] [REFERENCE] | gcam_regnamefile | The file name with extension of the GCAM region name to region id lookup |
| [INPUTS] [REFERENCE] | region_coords | A CSV file of GCAM region coordinates for each grid cell |
| [INPUTS] [REFERENCE] | country_coords | A CSV file of GCAM country coordinates for each grid cell |
| [OUTPUTS] | diag_dir | The name of the directory that diagnostics outputs will be kept |
| [OUTPUTS] | log_dir | The name of the directory that the log file outputs will be kept |
| [OUTPUTS] | kernel_map_dir | The name of the directory that kernel density map outputs will be kept |
| [OUTPUTS] | transition_tabular | The name of the directory that tabular land transition outputs will be kept |
| [OUTPUTS] | transition_maps | The name of the directory that land transition map outputs will be kept |
| [OUTPUTS] | luc_intense_p1_dir | The name of the directory that the land intensification first pass map outputs will be kept |
| [OUTPUTS] | luc_intense_p2_dir | The name of the directory that the land intensification second pass map outputs will be kept |
| [OUTPUTS] | luc_expand_dir | The name of the directory that the land expansion map outputs will be kept |
| [OUTPUTS] | luc_timestep | The name of the directory that the land use change per time step map outputs will be kept |
| [OUTPUTS] | lc_per_step_csv | The name of the directory that the tabular land change per time step outputs will be kept |
| [OUTPUTS] | lc_per_step_nc | The name of the directory that the NetCDF land change per time step outputs will be kept |
| [OUTPUTS] | lc_per_step_shp | The name of the directory that the Shapefile land change per time step outputs will be kept |
| [OUTPUTS] [DIAGNOSTICS] | harm_coeff | The file name with extension of the NumPy array that will hold the harmonization coefficient data |
| [OUTPUTS] [DIAGNOSTICS] | intense_pass1_diag | The file name with extension of the CSV that will hold the land allocation per time step per functional type for the first pass of intensification |
| [OUTPUTS] [DIAGNOSTICS] | intense_pass2_diag | The file name with extension of the CSV that will hold the land allocation per time step per functional type for the second pass of intensification |
| [OUTPUTS] [DIAGNOSTICS] | expansion_diag | The file name with extension of the CSV that will hold the land allocation per time step per functional type for the expansion pass |
| [PARAMS] | model | The model name providing the projected land allocation data (e.g., GCAM) |
| [PARAMS] | metric | Subregion type (either AEZ or BASIN) |
| [PARAMS] | scenario | Scenario name |
| [PARAMS] | run_desc | The description of the current run |
| [PARAMS] | agg_level | 1 if only by metric, 2 if by region and metric; AEZ is the default |
| [PARAMS] | observed_id_field | Observed spatial data unique field name (e.g., fid) |
| [PARAMS] | start_year | First time step to process (e.g., 2005) |
| [PARAMS] | end_year | Last time step to process (e.g., 2100) |
| [PARAMS] | use_constraints | 1 to use constraints, 0 to ignore constraints |
| [PARAMS] | spatial_resolution | Spatial resolution of the observed spatial data in decimal degrees (e.g., 0.25) |
| [PARAMS] | errortol | Allowable error tolerance in square kilometres for non-accomplished change |
| [PARAMS] | timestep | Time step interval (e.g., 5 years) for the output data. This time step is the increment that Demeter will process when starting with the start year. |
| [PARAMS] | proj_factor | Factor to multiply the projected land allocation by |
| [PARAMS] | diagnostic | 0 to not output diagnostics, 1 to output |
| [PARAMS] | intensification_ratio | Ideal fraction of land change that will occur during intensification. The remainder will be through expansion. Value from 0.0 to 1.0. |
| [PARAMS] | stochastic_expansion | 0 to not conduct stochastic expansion of grid cells, 1 to conduct |
| [PARAMS] | selection_threshold | Threshold above which grid cells are selected to receive expansion for a target functional type from the kernel density filter. Value from 0.0 to 1.0; where 0 lets all land cells receive expansion and 1 only lets only the grid cells with the maximum likelihood expand. |
| [PARAMS] | kernel_distance | Radius in grid cells used to build the kernel density convolution filter used during expansion |
| [PARAMS] | map_kernels | 0 to not map kernel density, 1 to map |
| [PARAMS] | map_luc_pft | 0 to not map land change per land class per time step, 1 to map |
| [PARAMS] | map_luc_steps | 0 to not map land change per time step per land class for intensification and expansion, 1 to map |
| [PARAMS] | map_transitions | 0 to not map land transitions, 1 to map |
| [PARAMS] | target_years_output | Years to save data for; default is ‘all’; otherwise a semicolon delimited string (e.g., 2005; 2020) |
| [PARAMS] | save_tabular | Save tabular spatial land cover as a CSV; define tabular units in tabular_units param |
| [PARAMS] | tabular_units | Units to output the spatial land cover data in; either ‘sqkm’ or ‘fraction’ |
| [PARAMS] | save_transitions | 0 to not write CSV files for each land transitions per land type, 1 to write |
| [PARAMS] | save_shapefile | 0 to not write a Shapefile for each time step containing for all functional types, 1 to write; output units will be same as tabular data |
| [PARAMS] | save_netcdf_yr | 0 to not write a NetCDF file of land cover percent for each year by grid cell containing each class; 1 to write |
| [PARAMS] | save_ascii_max | 0 to not create an ASCII raster of the land class with the maximum area for each grid cell per 1 to write |
| [ENSEMBLE] | permutations | If running an ensemble of configurations, this is the number of permutations to process |
| [ENSEMBLE] | limits_file | If running an ensemble of configurations, this is the full path to a CSV file containing limits to generate ensembles of certain parameters. |
| [ENSEMBLE] | n_jobs | If running an ensemble of configurations, this is the number of CPU’s to spread the parallel processing over. –1 is all, –2 is all but one, 4 is four, etc. |

Figure 5
Demeter workflow diagram.
