Infectious Disease Outbreak (COVID-19)

Infectious Disease Outbreak (COVID-19) preview image

1 collaborator

Screen_shot_2018-02-02_at_12.53.50_pm lin xiang (Author)

Tags

covid-19, 

Tagged by lin xiang about 4 years ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 6.2.2 • Viewed 1014 times • Downloaded 41 times • Run 0 times
Download the 'Infectious Disease Outbreak (COVID-19)' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Comments and Questions

Good Model

The idea of splitting the model to show two parallel populations is a very good idea. It helps in a way to treat the model as a controlled experiment, with policies implemented on one side and without policies on the other side. Presently you have considered only one policy option which is restriction on mobility. You may also consider quarantine and isolation as additional policy options. Best,

Posted about 4 years ago

Thanks

Yes, we do a series of six models of COVID-19. One of them shows quarantine and isolation at here http://modelingcommons.org/browse/one_model/6276

Posted about 4 years ago

Click to Run Model

;;
;; This model is developed by Dr. Lin Xiang at the University of Kentucky. Contact: lin.xiang@uky.edu
;;
;; If you see this page rather than a "download" button when downloading the model, click the "download" icon
;; in your browser to download this model file.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


turtles-own[day]
Globals [RM LM current-distance max-cases-L max-cases-r]

to-report divider   ;label the divider patches
  report patches with [ abs pxcor <= 1 and abs pycor < max-pycor]
end 

to-report left-population     ;call all the turtles at the left
  report turtles with [xcor <= 0]
end 

to-report right-population     ;call all the turtles at the right
  report turtles with [xcor > 0]
end 

;;;;;;;;;;;;;;;;;;;;main setup procedures;;;;;;;;;;;;;;

to setup
  clear-all
  setup-patches
  setup-turtles
  reset-ticks
end 

to setup-patches

  ask patches with [ abs pxcor = max-pxcor ] [set pcolor 116]   ;setup boundary
  ask patches with [ abs pycor = max-pycor ] [set pcolor 116]   ;setup boundary
  ask divider  [set pcolor 47]    ;set divider
end 

to setup-turtles
  create-turtles Right-population-size         ;set up the right population
  [set color 68
    set size 1.75
    set shape "person-1"
    setxy 2 + random-float 43 25 - random-float 50   ;randomize turtle positions at right
  ]

  create-turtles Left-population-size         ;set up the left population
  [set color 68
    set size 1.75
    set shape "person-1"
    setxy (-1) * (2 + random-float 43) 25 - random-float 50   ;randomize turtle positions at left
  ]
end 

;;;;;;;;;;;;;;;;;;;;main go procedures;;;;;;;;;;;;;;

to go

  if ticks >= Days [stop]

  ask turtles with [pcolor = 47][set xcor xcor * 5]

  move
  transmission
  sickness
  find-max-daily-cases
  tick
end 

to move
  ask left-population     ;control turtles' movement at the left
  [ifelse [pcolor] of patch-ahead 1 = 0 [forward Mobility-left rt random 360] [set heading heading - random 180]]

   ask right-population        ;control turtles' movement at the right
  [ifelse [pcolor] of patch-ahead 1 = 0 [forward Mobility-right rt random 360] [set heading heading - random 180]]
end 

to add-an-infected-person-at-left
  create-turtles 1
  [set size 1.75
    set shape "person-1"
    set color orange
    setxy (-1) * (1 + random-float 39) 24 - random-float 47]
end 

to add-an-infected-person-at-right
  create-turtles 1
  [set size 1.75
    set shape "person-1"
    set color orange
    setxy 1 + random-float 39 24 - random-float 47]
end 

to transmission       ;set up transmission
  ask turtles with [color = orange]
  [let healthy-person one-of other turtles in-radius 1.5 with [color = 68]
    if healthy-person != nobody
    [ask healthy-person [
      if random 100 < Transmission-rate
      [set color orange]]]
  ]
end 

to sickness     ;set up recovery or death
  ask turtles with [color = orange]
  [set day day + 1
    if day >= 15
    [ifelse random 100 < mortality
      [ifelse xcor >= 0 [set RM RM + 1][set LM LM + 1] die  ]
      [set color blue] ]
  ]
end 

to watch-a-sick-person
  watch one-of turtles with [color = orange]
end 

to find-max-daily-cases
  if count turtles with [color = orange and xcor <= 0] > max-cases-l
  [set max-cases-l  count turtles with [color = orange and xcor <= 0]]

    if count turtles with [color = orange and xcor > 0] > max-cases-r
  [set max-cases-r  count turtles with [color = orange and xcor > 0]]
end 

There are 6 versions of this model.

Uploaded by When Description Download
lin xiang about 2 years ago Minor adjustment Download this version
lin xiang about 3 years ago Add in max daily cases Download this version
lin xiang about 4 years ago fix formatting Download this version
lin xiang about 4 years ago Include the model in the model series Download this version
lin xiang about 4 years ago Add some clarifications Download this version
lin xiang about 4 years ago Initial upload Download this version

Attached files

File Type Description Last updated
Infectious Disease Outbreak (COVID-19).png preview Preview for 'Infectious Disease Outbreak (COVID-19)' about 4 years ago, by lin xiang Download

This model does not have any ancestors.

This model does not have any descendants.