Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Older News

Past News Items

Improvements to STEM Project Explorer

The STEM Project Explorer has undergone several improvements this month. The plain looking folders giving users direct access to the file system have been hidden and replaced by the decorative containers where it is possible to also navigate the structure of STEM resources such as models, graphs and scenarios. The only exceptions are the log files under recorded simulations which are still accessed directly through the file system view. Since the users no longer have direct access to the file system, we have implemented our own code for renaming, moving and deleting resources, and in that process implemented those functions correctly (renaming and moving resources did not used to work when done via the file system). A few known bugs such as the fact that the containers collapsed whenever a resource was created, updated or deleted have also been fixed.

Tutorial on Using Structured Populations in STEM

A new tutorial is now available on how to create a multi-population model. The tutorial walks users through the process of creating a demographic disease model step-by-step. A new button on the toolbar (the human figures) allows users to to add additional sub-populations and describe each in detail, specifying differences in transmission, mortality, and recovery rates. This tutorial will help users realize the benefits of demographic disease models in modeling diseases that vary between genders, across age groups, and eventually across species.

Automated Experiment Perspective

New this month, this perspective contains views not available in the standard runtime perspective that allow users to monitor an ongoing automated experiment. By providing views of status of the Nelder-Mead algorithm while an experiment is running, the Automated Experiment Perspective allows users to monitor the current parameter values, the latest error vs time, the signal (Incidence) vs the reference, and the historic error by time. They can also view the history of parameter values being used as well as plots of error convergence and error versus time for the best and most recent run.

This new tool is valuable when fitting model parameters to reference data since it gives the user the ability to guide the algorithm in the right direction if needed, or to abort if going to an undesired local minimum.

First Demographic Disease Model

Last month we released a new population "model" feature allows users to segment populations into demographic groups (e.g., male/female, or age groups). By extending our existing population object, this new feature allows users to create subgroups within a population. This is very important in modeling sexually transmitted diseases (STDs) and in modeling diseases that target specific age groups (e.g., Shigella).

This month we created a first demographic disease model that makes use of multiple populations. An important proof of principle, this will allow us to test with multiple populations and prepare for our future Shigella model. Being able to model the dynamics of a disease affecting more than a single population is a critical step toward eventually being able to simulate outbreaks of zoonotic and sexually transmitted diseases.

STEM for 64 bit Mac

STEM builds are now available for 64 bit Mac OSX.

Official STEM Release V1.0.0 available for downloading

On February 17, 2010, the official V1.0.0 release of STEM was posted for downloading to Windows, Linux, and Mac OSX. Links and further information appear at A major milestone for the Spatio-Temporal Modeler project, the release follows approval by the Eclipse Foundation earlier in the month.

STEM Release V1.0.0 approved by the Eclipse Foundation

On February 9, 2010, the Eclipse Foundation approved the official V1.0.0 release of the Spatio-Temporal Epidemiological Modeler project. Eclipse also approved STEM’s "Graduation" from incubator status to mature Eclipse project. The V1.0.0 build is now available for release candidate testing and the official release will be available for download in mid-February. This important milestone reflects 6 years of effort by all of the many contributors to STEM. Thanks and congratulations to everyone who contributed to the creation of STEM!

Automated experiments now support modifying the initial infectors/inoculators

It's often not possible to determine exactly where all initial infections occur (in all regions). There is also uncertainty about the initial population resistance. Given a reference data set, the Automated Experiment feature in STEM now supports varying the initial infectors / inoculators until a best fit is found. If the historical data is incomplete, this makes it possible to automatically estimate the initial disease state in regions with missing case reports. Another improvement to the Automated Experiment is that it can be configured to restart itself until no improvements can be done. When Nelder-Mead finds a minimum within the error tolerance (or until a predetermined maximum number of simulations have occurred), the Automated Experiment will restart itself using the optimal set of parameter values found so far. If the second run returns the same error as the first, the algorithm stops.

Scientific Talks Online

Scientific Talks Online

Filter Now Implemented

Up until now, it has not been possible to run a simulation only modeling a small subject of all the regions in a country. We have now made this possible by allowing (at runtime) a user to specify a filter that removes nodes/edges that do not match a set of patterns for their administrative ID.

The list of IDs (separated by ;) is specified in the "coverage" attribute of the Dublin Core for your model. For example, if you have a model containing all of Mexico level 2 regions, by specifying "MX-15*" in the coverage attribute only Distrito Federal (Mexico City) will be used in the model.

Eclipse DemoCamp

The first Eclipse DemoCamp Vienna was featuring STEM.

Here's a blog by EclipseSource about the event:

High Resolution Data

High resolution data is now available for Russia and Mexico.

Data for Mexico goes to Administrative Level 2. Work is underway to map this to zip codes.

STEM Video Tutorials (English & Spanish) on YouTube(TM)

The following url contains a full length tutorial on STEM. We are in the process of creating versions in several different languages.

And here's the Spanish Language Version too

Here is a Hebrew version:

Earlier Advancements


Population Models have been implemented.


With the next STEM build, we've turned the Ordinary Differential Equation (ODE) Solvers that is at the heart of STEM into separate plugins. There are two reasons for this:

1. It makes it easy for anybody to write their own numerical ODE Solver (or any other type of solver for that matter) and plug into STEM.

2. Before, the solver being used was specified as part of the disease model. This causes problems when there are two or more diseases affecting a population since there's a risk the two diseases become "out-of-sync". For instance, the deaths caused by one of the diseases need to be fed into the model for the second disease (and vice-versa) so we can't use two different ODE solvers to generate results separately for each disease.

As a result of this, you now specify the solver (Finite Difference or Runge Kutta) when you create a new STEM scenario. IMPORTANT: Any scenario created before this change took place will default back to the simple Finite Difference ODE solver. If you want to re-enable Runge Kutta, you need to create a new scenario and drag your model etc. into it.

  • STEM has now been moved into its new status.
  • STEM will moving in the next few weeks. Eclipse has approved STEM as a top-level Eclipse Technology Project. Watch this space for updates!
  • The air travel model for every US airport is now available to drag in and use.
  • January 2009...MOVING FORWARD
  • In January, v0.4.0 of STEM became available for download, and the core team at Almaden continued to run very large scale computations using large data sets. A new Innoculator was developed for use in studying the impact of vaccination on disease spread. And, as always, work continued on eliminating bugs.
  • In November we completed a new core integration engine for STEM. Previously we only had a finite difference equation solver. At the core of the disease modeling component in STEM is a numerical differential equation solver that at each cycle determines the state of a disease at each location. Up until now, the solver was using a method based on finite difference which essentially calculates a single delta (or "change") from one cycle to the next. While this method is fast, it performs poorly when a disease is very active such as during the onset of an outbreak. STEM now has a new solver using the Runge Kutta Fehlberg method that takes advantage of an adaptive step size algorithm. Essentially the method carefully treads through periods of increased disease activity and takes great strides when there is little activity going on in the simulation. It is possible to tune the tolerance as part of the disease model, enabling very precise calculations when needed.
  • September 2008...ANALYSIS PERSPECTIVE

A new STEM Perspective was made available to support a variety of analysis, fitting, and comparison functions across multiple simulations and data sets. New Analysis and Validation Tutorials were also added.


1. Estimating Model Parameters from External Data.
2. Epidemic Analysis
3. RMS Comparison between data sets
4. Lyapunov Analysis

Model Parameter Estimation View

Given a set of data (SI, SIR, or SEIR) as a function of time, this perspective provides an estimation of the model parameters for a standard compartment model of the corresponding type. The view provides estimates for:

* beta, the disease transmission rate
* alpha, the recovery rate
* epsilon, the incubation rate
* gamma,the immunity loss rate 

Dynamical Systems View (Lyapunov Analysis)

This view displays the rate of separation in phase space (I vs. S) of the trajectories representing two different data sets or disease models. The rate of separation is then plotted vs time in a second chart. The rate of spread of any infectious disease defines a dynamical system. The Lyapunov exponent of any dynamical system describes the rate of separation of infinitesimally close trajectories in phase space.

Cross Model Comparison (RMS Compare)

Given a data set and the results of a model (or two model generated data sets), the RMS (Root Mean Square) comparison function shows the RMS difference betweent the two as a function of time.

The Epidemic View

This view displays the aggregated data (e.g., S,E,I,R, births, and deaths) as a function of time. It also creates a summary file integrating over the data from all locations in a previously run scenario. It also shows the incidence or "newly infectious count" for the aggregated data.


In July...Scenarios Caching

This new feature stores data from a scenario that was loaded recently to re-use when rerunning the scenario. For example, running a scenario for the United States the first time takes some time to read the data from the file system. Using the caching feature, consecutive runs of the same scenario won't reload the data by using the already initialized scenario from the cache. This feature can be toggled using the STEM preferences (Window->Preferences->STEM->Simulation Management->Use scenarios caching). Default is to use the caching system.

In May...A Host of New Features

Among these new features are ones that allow user to

  • Create and run multiple Experiments
    • Specify a set or sequence of parameters to run multiple experiments
    • Create a collection of modifiers for a model and link them to a scenario
    • Run a simulation from each newly created modifier in a series of simulations, i.e., to run in batch mode.
  • Import data from comma separated variable files and "play back" surveillance data in STEM as an imported disease model
  • Export the results of a simulation to comma separated variable files.

Other work was done to

  • Provide a new Mixing Model for Transportation that builds on STEM’s two transportation network models
  • Fix a major bug in running continent level scenarios
    • Allow users to account for both continuous traffic flow and (coming soon) time-delayed “packets” such as airplane or cargo shipments where the disease can spread on the transport node itself.
  • Improve the Editors allowing better drag and drop, deletion, etc. (coming soon - email a scenario!!)
  • Improve performance in graphics and other processes.
  • Revalidate population data and provide better estimates for locations in 37 countries previously missing population data.

Back to the top