Syncrosim › Forums › ST-Sim & State-and-Transition Simulation Models › Adding an outbreak
- This topic has 3 replies, 2 voices, and was last updated 5 years, 5 months ago by jhalofsky.
December 14, 2017 at 7:02 pm #5531jhalofskyParticipant
I am running some non-spatial models and I have an outbreak with the following criteria that I am trying to add to Syncrosim:
1) Interval between outbreaks (example: an outbreak can occur every 35 to 45 years)
2) Outbreak duration (example: an outbreak can last 7-9 years)
3) Outbreak multiplier (example: receive a value of 1 during an outbreak, otherwise have a multiplier of 0).
I can create a file that does all of these things, but it requires an individual record for each strata, iteration, and timestep, resulting in millions of records. I am sure there is a better/more efficient way to do this in Syncrosim but I cannot quite figure it out. Do you have a non-spatial Syncrosim example you are comfortable sharing where you incorporated all of these criteria (system and actual transition agent doesn’t matter)? If not, might you explain where/how I can incorporate an outbreak duration?
Thanks in advance for any help,
JoshDecember 15, 2017 at 2:00 pm #5536Leonardo FridKeymaster
If your outbreaks are correlated between strata, I think the best you could do is create an external variable for outbreak years (0/1) and define a value for this for every iteration/timestep. This would reduce the number of records you have to define somewhat but not entirely. To do it, here are the steps I would follow:
1. Create an external variable under Project Properties: “Outbreak Year”
2. Create a Distribution Type under Project Properties: “Outbreak Multiplier”
3. Under Scenario Properties | External Variables:Define a value for each timestep and iteration that includes the 0 values for non outbreak years and the 1 values for outbreak years.
4. Under Scenario Properties | Distributions you would then define two Distribution records for each stratum that specify the “Outbreak Multiplier” when your “Outbreak Year” value is 0 and the other when it is 1. Set the Sampling frequency to “every timestep”.
5. Under Scenario Properties | Transitions – Multipliers set your multipliers to come from the “Outbreak Multiplier” Multiplier Distribution. Set the Sampling frequency to “every timestep”.
Hope that helps!
LeonardoDecember 15, 2017 at 2:23 pm #5537Leonardo FridKeymaster
One additional note is that for outbreak/non-outbreak years in your external variable, you don’t need a record for every timestep. For example if you had a 7 year outbreak starting in 2020 followed by a 20 year non-outbreak period your external variable records would be:
Iteration, Timestep, Value
1, 2020, 1
1, 2027, 0
1, 2047, 1
This will also greatly reduce the number of records that you need.
LeonardoDecember 18, 2017 at 12:28 pm #5538jhalofskyParticipant
Thanks for the explanation, Leonardo. Unless I am missing something, I think the main limitation of the approach you describe are:
1) I would still need to use some sort of random number generator to figure out when an outbreak would occur within an iteration (but I think I could work around this), and
2) The approach seems a bit time consuming when each iteration contains hundreds to thousands of timesteps, like in a natural/historical range of variability analysis.
But I look forward to using the approach you describe in shorter runs down the road. Again, thanks for making the time to answer my original question.
- You must be logged in to reply to this topic.