Modeling multiple populations (for STEM release 2)https://www.eclipse.org/forums/index.php/mv/msg/160619/507555/#msg_507555
A new population model, called a DemographicPopulationModel, is implemented. It is extended from the basic population model today so it will still have the background birth and death rates, as well as a "base" population identifier (like 'humans'). In this new demographic population model, the users can add one or more "population groups" (e.g. via a plus button in the UI). For each group, the user specifies an identifier (e.g. "women") and a percentage (e.g. 50.01%). When the simulation starts, STEM will identify the demographic population model(s) and create a new population label on the geographic nodes (one for each population group), dividing up the population according to the percentages.

We need to extend the regular population model to reference a geographic ID (like we do for infectors/inoculator today) since for instance China has screwed demographic compared to the rest of Asia for instance (this has already been in the plan for the regular population models since the background birth/death rate varies from region to region).

Once we have the population labels for each group available on each region in the scenario, the disease model will create separate SI (or SIR or SEIR) disease labels for each group on the nodes, just like it does today but only for the single population.

New advanced "multi-population" disease models would be implemented. Such disease models will have the option of adding one or more population groups that are affected by the disease. The difference from the models we have today is that when properties such as transmission rate are specified we need to enter a value for the transmission between any group member, so a table is filled out. All other epi parameters (like recovery rate, disease death rate) a list of values (one value for each group) is specified.

These advanced multi-population disease models have impact all over STEM. Here are some of the ones I can think of:

1. Visualization. The map, time series, phase plots etc. needs another drop down that allows you to specify the population group you're looking at.

2. Logger. A separate log directory for each population group will need to be created.

3. Handling lists (matrices) of values for a disease parameter. This affects experiments and automated experiments, the logger, the EMF editors (can you edit a list of values using the standard property editor?)

Werner]]>Werner Keil2010-01-27T19:23:00-00:00Re: Modeling multiple populations (for STEM release 2)https://www.eclipse.org/forums/index.php/mv/msg/160619/513397/#msg_513397
When you create a new population model, you have the option (from the dropdown) of creating a DemographicPopulationModelImpl. When selected, you'll notice at the bottom an area where population group id's and "fractions" can be entered. You can use the + button to add more groups. This way you can partition your population into subgroups, such as men/women, age0-20, age20-40,age40- etc.

Right now, the disease models are not fully set up to take advantage of the multiple populations. However, you can use the population identifier field in the disease model to have the disease only affect a certain population, e.g. men.

You'll notice on the map view there's an additional dropdown allowing you to specify which population group to view on the map. If you select a population model in the decorator dropdown, you'll have the option of viewing population data for any of the groups you've created.

I've tested making sure that if you have a very deadly disease affecting only men, the population numbers drops off for men but women are unaffected. Also, the "parent" group "humans" are also unaffected, we do not propagate changes up to the parent group.

Also, for air transport all populations are entered into the air transport system. This won't make sense in the future when we model zoonotic diseases, mosquitos, rats or cows usually don't fly commercially.

Please test it out and let me know if you see any problems.
]]>Stefan Edlund2010-02-10T01:43:46-00:00Re: Modeling multiple populations (for STEM release 2)https://www.eclipse.org/forums/index.php/mv/msg/160619/513683/#msg_513683
In order to add the required functionality while retaining an intuitive user interface, we need to rethink our disease model wizards. For example, the transmission coefficient will no longer be a single scalar constant - it will be a matrix that is likely to be non-symmetric form many diseases. Other parameters like recovery rates etc will be lists or vectors by population.
Our current thinking is to make these buttons with appropriate symbols. The transmission coeficient button will launch a separate dialog that allows one to populate the matrix (Pop(i) x Pop(j) x Value(ij))

Comments/suggests are very welcome on this plan.]]>James Kaufman2010-02-10T19:39:10-00:00