Difference between revisions of "SOD Spread tutorial"
Line 71: | Line 71: | ||
[[File:Spread sodk1.png|150px|thumb|Example output of SOD spread for kappa=0. Overlaid onto the orthophoto image.]] | [[File:Spread sodk1.png|150px|thumb|Example output of SOD spread for kappa=0. Overlaid onto the orthophoto image.]] | ||
[[File:Spread sodk2.png|150px|thumb|Example output of SOD spread for kappa=4. Overlaid onto the orthophoto image.]] | [[File:Spread sodk2.png|150px|thumb|Example output of SOD spread for kappa=4. Overlaid onto the orthophoto image.]] | ||
== | == Wind dispersal == | ||
=== | === Direction === | ||
Kappa influences the wind dispersal. | Kappa influences the wind dispersal direction. | ||
Wind dispersal uses the [https://en.wikipedia.org/wiki/Von_Mises_distribution Von Mises] circular normal distribution. | Wind dispersal uses the [https://en.wikipedia.org/wiki/Von_Mises_distribution Von Mises] circular normal distribution. | ||
Large kappa makes the distribution very concentrated about the angle, specifically the wind direction specified. | Large kappa makes the distribution very concentrated about the angle, specifically the wind direction specified. | ||
If kappa is set to 0 the wind dispersal will have no effect on distribution. | If kappa is set to 0 the wind dispersal direction will have no effect on distribution. | ||
<source lang="bash"> | <source lang="bash"> | ||
Line 82: | Line 82: | ||
</source> | </source> | ||
If | If kappa is larger than 2 the distribution becomes very concentrated around the specified wind direction. | ||
<source lang="bash"> | <source lang="bash"> | ||
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_k4 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week kappa=4 random_seed=4 | r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_k4 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week kappa=4 random_seed=4 | ||
</source> | </source> | ||
=== | === Distance === | ||
Parameter short_distance_scale decides how far the spores can travel and it is the input to [https://en.wikipedia.org/wiki/Cauchy_distribution Cauchy distribution]. | |||
[ | |||
<source lang="bash"> | <source lang="bash"> | ||
r.pops.spread | r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sc5 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week short_distance_scale=5 random_seed=4 | ||
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sc30 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week short_distance_scale=30 random_seed=4 | |||
</source> | </source> | ||
== | |||
The spore production rate per week for each infected tree. This model uses the Poisson distribution | == Spore rate == | ||
The spore production rate per week for each infected tree. This model uses the [https://en.wikipedia.org/wiki/Poisson_distribution Poisson distribution] to generate spores. | |||
Decreasing the rate down to 1 scales down the spread a great deal. However there are still new areas of spread. | Decreasing the rate down to 1 scales down the spread a great deal. However there are still new areas of spread. | ||
<source lang="bash"> | <source lang="bash"> | ||
r.pops.spread | r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sr1 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week reproductive_rate=1 random_seed=4 | ||
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sr10 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week reproductive_rate=10 random_seed=4 | |||
r.pops.spread | |||
</source> | </source> | ||
<!-- | |||
[[File:Spread sods1 1.png|150px|thumb|Output of SOD spread for scale_1=1 for the years 2016-2021. Overlaid onto the orthophoto image.]] | [[File:Spread sods1 1.png|150px|thumb|Output of SOD spread for scale_1=1 for the years 2016-2021. Overlaid onto the orthophoto image.]] | ||
[[File:Spread sods1 2.png|150px|thumb|Output of SOD spread for scale_1=50 for the years 2016-2021. Overlaid onto the orthophoto image.]] | [[File:Spread sods1 2.png|150px|thumb|Output of SOD spread for scale_1=50 for the years 2016-2021. Overlaid onto the orthophoto image.]] | ||
--> | |||
Revision as of 17:03, 14 March 2019
r.pops.spread is a model for stochastic landscape spread of the pest and pathogens. It uses PoPS (Pest or Pathogen Spread) library. In this tutorial we will use it specifically to model the spread of Sudden Oak Death tree disease. This tutorial shows how to run the model. You can download the sample dataset and simulate sudden oak death spread in the Rouge River-Siskiyou National Forest region of western Oregon.
Software
Required software includes:
- GRASS GIS >=7.2
- Addon module:
Input data used in this tutorial
Download the sample dataset containing:
- digital elevation model
- orthophoto of study area
- study boundaries
- host layer
- layer of all trees
- mapset containing moisture and temperature coefficients
The sample dataset is a GRASS GIS Location, so it goes into your GRASS GIS Database which is usually a directory called grassdata in your home directory or your Documents directory.
Workflow
Download sample data and unzip it. Launch GRASS GIS and select the unzipped Oregon directory, Location Oregon_spread and create a new Mapset tutorial.
Install addon:
g.extension r.pops.spread
First, we will set computational region of our analyses to an extent covering our study area and so that the cells are aligned with our host raster:
g.region vector=EU1_12x8 align=host -p
Create files with lists of input maps
Here we used already prepared weather coefficients, these can be created using this workflow. We need two text files, one with temperature coefficients and one with precipitation coefficients. List and write the maps in a file using g.list. Search for ppt for precipitation and tmean or temperature mean for temperature, we list only the years we need for the simulation (2016 to 2021):
g.list -m type=raster pattern="*ppt_201[6-9]*,*ppt_202[0-2]*" mapset=weather output=precipitation.txt
g.list -m type=raster pattern="*tmean_201[6-9]*,*tmean_202[0-2]*" mapset=weather output=temperature.txt
Compute the spread of SOD for default values
Run the model using the text files created and setting only the required parameters. For this analysis we used a wind direction of NE and are looking at the first 5 years of spread from the initial 2016 infection discovery.
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod output_series=spread_sod wind=NE moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week random_seed=4
Add ortho, spread results, and the initial infected area to the display to view the spread. Display only values greater than zero.
d.rast ortho
d.rast -i map=inf_2016 values=0
d.rast -i spread_sod values=0
You can visualize the spread series in Animation Tool.
Wind dispersal
Direction
Kappa influences the wind dispersal direction. Wind dispersal uses the Von Mises circular normal distribution. Large kappa makes the distribution very concentrated about the angle, specifically the wind direction specified. If kappa is set to 0 the wind dispersal direction will have no effect on distribution.
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_k0 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week kappa=0 random_seed=4
If kappa is larger than 2 the distribution becomes very concentrated around the specified wind direction.
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_k4 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week kappa=4 random_seed=4
Distance
Parameter short_distance_scale decides how far the spores can travel and it is the input to Cauchy distribution.
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sc5 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week short_distance_scale=5 random_seed=4
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sc30 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week short_distance_scale=30 random_seed=4
Spore rate
The spore production rate per week for each infected tree. This model uses the Poisson distribution to generate spores.
Decreasing the rate down to 1 scales down the spread a great deal. However there are still new areas of spread.
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sr1 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week reproductive_rate=1 random_seed=4
r.pops.spread host=host total_plants=all_trees infected=inf_2016 output=spread_sod_sr10 wind=N moisture_coefficient_file=precipitation.txt temperature_coefficient_file=temperature.txt start_time=2016 end_time=2021 step=week reproductive_rate=10 random_seed=4