metawards / MetaWards

MetaWards disease metapopulation analysis and modelling software. Professional geographical SIR model with a flexible plugin architecture to support complex scenario modelling
https://metawards.org
GNU General Public License v3.0
13 stars 6 forks source link

[BUG] - Single-ward networks give strange behaviours #131

Closed chryswoods closed 4 years ago

chryswoods commented 4 years ago

Describe the bug Running a single ward network ("-m single") does not give the expected disease trajectory. There are a few issues;

  1. Setting the population to 10,000 manually results in 1000 susceptibles (should be 10,000)
  2. Setting UV to 0, but UV is reported as 1.0 in the output
  3. Infection rate seems very low, likely because susceptibles are all players with a player weight of 0.0 (probably should be 1.0)

Additional context Raising on behalf of Leon, noting this here so that I can fix this via the workflow

chryswoods commented 4 years ago

Further to this, it seems that the population is ignored when repeats are run, e.g.

metawards -m single -P 10000

works as expected, while

metawards -m single -P 10000 -r 2

has a population of 1000 for each repeat, so is wrong.

chryswoods commented 4 years ago

This is now fixed - was not passing the population to Network.build from prepare_worker

chryswoods commented 4 years ago

The UV issue is that the output is printing UVscale, while UV on the input refers to the seasonality scale. So setting UV to 0 on the command line works - but the UV as 1 printed to the screen is that UVscl...

chryswoods commented 4 years ago

This is now fixed. I've moved single to use a Wards() with a single ward that gets converted to a network. This gives reasonable looking output for ncov in a single ward with 100,000 players. image