blob: 0c20c50092885d7232524c05733c4a020406b6b1 [file] [log] [blame]
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop'
#*****************************************************************************
#
# template.php
#
# Author: Yossi Mesika
# Date: 2009-07-19
#
# Description: Main web page for STEM
#
#
#****************************************************************************
#
# Begin: page-specific settings. Change these.
$pageTitle = "STEM Introduction";
$pageKeywords = "STEM";
$pageAuthor = "Stefan Edlund, Yossi Mesika";
# Add page-specific Nav bars here
# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
# $Nav->addNavSeparator("My Page Links", "downloads.php");
# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);
# End: page-specific settings
#
function getRssFeed()
{
$rssFilePath = "http://dev.eclipse.org/newslists/news.eclipse.stem/maillist.rss";
//$rssFilePath = $_SERVER['DOCUMENT_ROOT'] . "/stem/feeds/news.xml";
$xmlData = file_get_contents($rssFilePath);
$xmlResult = new SimpleXMLElement($xmlData);
$rssResults = $xmlResult->channel->item;
$rssMaxResults = 5;
if (sizeof($rssResults) > 0) {
$rssCount = 0;
foreach ($rssResults as $rssResult) {
if ($rssCount >= $rssMaxResults) {
break;
}
$title = $rssResult->title;
$title = substr($title, 20); // Skip [news.eclipse.stem]
$url = $rssResult->link;
$date = strtotime($rssResult->pubDate);
if (!$date || $date === -1) {
$date = time();
}
$formattedDate = date('d-M y', $date);
echo "<img src=\"images/arrow.jpg\" width=\"11\" height=\"10\" alt=\"\" border=\"0\">&nbsp;" .$formattedDate . ": &nbsp;<a href=\"". $url ."\" target=\"_blank\">". $title ."</a><br />";
$rssCount++;
}
}
}
function getData($file, $maxresults)
{
$filePath = $_SERVER['DOCUMENT_ROOT'] . $file;
$xmlData = file_get_contents($filePath);
$xmlResult = new SimpleXMLElement($xmlData);
$results = $xmlResult->item;
echo $results;
if (sizeof($results) > 0) {
$count = 0;
foreach ($results as $result) {
if ($count >= $maxresults) {
break;
}
$title = $result->title;
$url = $result->link;
$authors = $result->authors;
$source = $result->source;
$other = $result->other;
$markup = "";
if(!empty($authors))
$markup = $markup. $authors;
if(!empty($url))
$markup = $markup. "<a href=\"". $url ."\" target=\"_blank\">";
if(!empty($title))
$markup = $markup. $title."</a>&nbsp;";
if(!empty($source))
$markup = $markup. "<div style=\"font-style: italic;\">".$source."</div>";
if(!empty($other))
$markup = $markup. "&nbsp;" . $other;
$markup = $markup . "<br/>";
echo $markup;
$count++;
}
}
}
# Paste your HTML content between the EOHTML markers!
ob_start();
?>
<div id="maincontent">
<div style="padding:3px;">
<img alt="STEM Banner" src="/stem/images/STEM_TOP_BAR.gif" width="750" height="63"/>
</div>
<div id="midcolumn">
<div class="homeitem3col">
<a name="about"></a>
<h3>More About STEM ... </h3>
</div>
<h1><center>The Spatiotemporal Epidemiological Modeler (STEM) </center></h1>
<div class="homeitem3col">
<b>
<a name="introduction"></a>
</b>
<p>An open source tool, the
Spatiotemporal Epidemiological Modeler (STEM) allows users to create
spatial and temporal models of emerging infectious diseases.
Designed to be extensible, flexible and re-usable, STEM provides a
set of <a href="http://wiki.eclipse.org/Analysis">validation tools</a>
researchers and public health officials can
use to understand the spread of disease in space and time and to
assess the impact of
<a href="http://wiki.eclipse.org/Batch_Mode_%28Running_Experiments%29">preventive actions</a>
in an increasingly global world.
</p>
<p>
Platform independent, STEM is available in versions for Microsoft,
Apple, and Linux operating systems. Users can access all its main
components as separate <a href="http://wiki.eclipse.org/index.php/STEM#STEM_Plugins">plug-ins</a>
to build on existing models and create new ones.
</p>
<p>
Users can independently deploy the plug-ins - the core
representational framework, graphical user interface, simulation
engine, disease model computations, and various data sets - and use
them with declarative software extension points to develop, run, and
analyze sophisticated simulations.
</p>
<p>
STEM's
<a href="http://wiki.eclipse.org/index.php/STEM#Data">data sets</a> describe
the geography, transportation systems (including airports and roads),
and population for the world's 244 countries and dependent areas down to administrative level 2 for
most countries (the county level in the United States).
</p>
<p>
Its disease model computations are based on
<a href="http://wiki.eclipse.org/Introduction_to_Compartment_Models">compartment models</a>
Parameters within the models can be modified
by the researcher who, for example, may wish to adjust the
infectious period or the initial number of infectious individuals.
STEM is designed to make it easy for developers and researchers to plug in their choice of models.
It comes with a large number of existing compartment models and a new model building framework that allows
users to rapidly extend existing models or to create entirely new models. The model building framework provides
a simple graphical users interface and automatically generates all of the model code and hot injects the code
into STEM at runtime. In many cases, no knowledge of Eclipse or Java is required. The STEM code generator even
allows users to build models affected by changes in climate data.
</p>
<p>
Any STEM model can be run either stochastically or deterministically - simply by switching between solver plugins.
Users can choose between many different numerical solvers of ordinary differential equations (including finite difference,
Runge-Kutta, 4 solvers from The Apache Commons Mathematics Library, and Stochastic). The stochastic solver computes integer
(individual) based transitions picking randomly from a binomial distribution (also from Apach Math). Simulation results can
be output with a choice of pluggable loggers, including delimiting files, video loggers, and map loggers. STEM can be used
to study quite complex models (for example a model of Dengue Fever with 51 differential equations) and can run global scale
simulations. <a href="http://wiki.eclipse.org/index.php/STEM">Click here</a> for the complete STEM documentation.
</p>
<p>
Tools provided by STEM support researchers in a range of functions,
as they perform analysis, fitting, and model comparisons across
multiple simulations and data sets.
</p>
<p>
Using the <a href="http://wiki.eclipse.org/Analysis">Analysis Perspective</a>,
researchers can visualize the results of STEM scenarios from log files and compare two scenarios
side-by-side across different dimensions. Utilities in this
perspective can estimate disease parameters from imported time
series data and integrate historic incidence data to arrive at
counts for disease models over time.
</p>
<p>
Using the <a href="http://wiki.eclipse.org/Creating_a_STEM_Scenario">Designer Perspective</a>,
users can create custom <a href="http://wiki.eclipse.org/Batch_Mode_%28Running_Experiments%29">experiments</a>,
which express public health policies as a collection of
predicates, modifiers, and triggers. Researchers can run a collection of simulations,
based on a single scenario, modifying each
simulation slightly by varying one or more parameters, and examine
how the model is affected.
</p>
<p>
With the <a href="http://wiki.eclipse.org/STEM_Design_Document">components</a>
STEM provides, users can create their own model
for a country, a region, or even the entire world. If there is a
sub-model for the area under study, it can simply be plugged into
simulations by referencing it. For example, a country model can
contain a sub-model for its transportation infrastructure and that
sub-model itself can contain sub-models for air, rail, and/or roads.
</p>
<p>
The ability of one STEM model to contain another allows researchers
to plug detailed and highly complex subcomponents into a single
encompassing model. Because the underlying components are the same,
models can be easily shared and their components validated. One
researcher can import another researcher's specialized disease
model, combine it with an existing country model that includes
population demographics, and re-export the new combination for
others to use.
</p>
<p>
By making data (with descriptive metadata) available as plug-ins,
STEM makes new avenues of collaboration possible. For example,
biologists studying bird migrations can contribute data of use to
epidemiologists studying avian influenza. Economists studying
workforce productivity contribute data of use to public health
officials studying the economic impact of pandemic influenza.
</p>
<p>
By providing a common collaborative platform and components that are
extensible, flexible and re-usable, STEM makes possible greater
understanding of the phenomena that affect public health and
potentially have social, economic, and environmental impacts as
well. <br>
</p>
<p>
<a href="./index.php">... home</a>
</p>
</p>
</div>
</div>
<div id="rightcolumn">
<div class="sideitem">
<h6>Videos and presentations</h6>
<?php getData('/stem/data/videos.xml', 10); ?>
</div>
<div class="sideitem">
<h6>Downloadable Scenarios</h6>
<?php getData('/stem/data/scenarios.xml', 10); ?>
</div>
<div class="sideitem">
<h6>Upcoming talks</h6>
<?php getData('/stem/data/talks.xml', 10); ?>
</div>
<div class="sideitem">
<h6>Recent Publications</h6>
<?php getData('/stem/data/pubs.xml', 10); ?>
<br.>
<i><a href="http://wiki.eclipse.org/STEM#Publications_and_Presentations_on_STEM">more...</a></i>
</div>
<div class="sideitem">
<h6>Acknowledgements</h6>
<img alt="Development of STEM is supported in part by USAF/SG" src="/stem/images/usaf.gif" style="float: left;width:150px;"/>
<?php getData('/stem/data/acknowledgements.xml', 10); ?>
</div>
</div>
</div>
<?php
$html .= ob_get_contents();
ob_end_clean();
# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords,$pageTitle, $html);
?>