Recently there was a paper introducing Pathogen.jl, which I found interesting. It is a Julia package for modelling disease spreading : https://arxiv.org/abs/2002.05850

One can also use DifferentialEquations.jl to model disease spreading, as mentioned in the article.

In doing so, we extended Agents.jl’s plotting capabilities to be able to plot any agent based model that is defined on any arbitrary network. It is still rough around the ages so let us know if you use it and how to improve it.

Thank you for putting this model together. I have found it very useful and interesting.

I have a question and a comment. First, how would you examine the effect of an intervention at different time steps, such as social distancing? Would you add a model_step! function that adjusts the parameters after a specified number of steps to implement the intervention?

I think there might be an error in the death rate calculations in recover_or_die!. The line ≥ in the line if agent.days_infected ≥ model.properties[:infection_period] should be changed to =. Otherwise, the patient will continue to die with the same probability after recovering.

Alternatively, you could find a uniform probability of death across the infection period like so:

1-(1-p)^N = .02
p = - 0.98^(1/N) + 1

Edit: I thought there was an error because the death rate in the results was higher than the nominal death rate of 2%. It exceeded 2% because of the reinfection probability > 0. So there is no error.

@johnh , sorry, I posted a link to the development version of the docs, instead of the stable (that was stupid of me). If you look at the stable version of the docs (select it from the bottom of the sidebar), the example there has different code that indeed works with the stable releases.