Example #1
0
    }
}
for ($i = 0; $row = @pg_fetch_assoc($rs, $i); $i++) {
    $uri = sprintf("/p.php?pid=%s", $row["product"]);
    $ts = strtotime($row["valid"]);
    if ($byday) {
        $link = sprintf("clitable.php?station=%s&year=%s", $row["station"], date("Y", $ts));
        $col1 = sprintf("<a href=\"%s\" class=\"small\">%s %s</a>", $link, $row["station"], $nt->table[$row["station"]]['name']);
    } else {
        $link = sprintf("clitable.php?opt=bydate&year=%s&month=%s&day=%s", date("Y", $ts), date("m", $ts), date("d", $ts));
        $col1 = sprintf("<a href=\"%s\">%s</a>", $link, date("Md,y", $ts));
    }
    $table .= sprintf("<tr><td nowrap><a href=\"%s\"><i class=\"glyphicon glyphicon-list-alt\" alt=\"View Text\"></i></a>\n\t\t\t%s</td>\n\t\t\t<td>%s%s</td><td nowrap>%s</td><td>%s</td>\n\t\t\t<td>%s</td><td>%s</td><td style='background: %s;'>%s</td>\n\t\t\t<th class=\"empty\"></th>\n\t\t\t<td>%s%s</td><td nowrap>%s</td><td>%s</td>\n\t\t\t<td>%s</td><td>%s</td><td style='background: %s;'>%s</td>\n\t\t\t<th class=\"empty\"></th>\n\t\t\t<td>%s%s</td><td>%s</td><td>%s</td>\n\t\t\t<td>%s</td><td>%s</td><td>%s</td>\n\t\t\t<th class=\"empty\"></th>\n\t\t\t<td>%s%s</td><td>%s</td><td>%s</td>\n\t\t\t<td>%s</td>\n\t\t\t</tr>", $uri, $col1, $row["high"], new_record($row["high"], $row["high_record"]), $row["high_time"], $row["high_record"], $row["hry"], $row["high_normal"], departcolor($row["high"], $row["high_normal"]), departure($row["high"], $row["high_normal"]), $row["low"], new_record2($row["low"], $row["low_record"]), $row["low_time"], $row["low_record"], $row["lry"], $row["low_normal"], departcolor($row["low"], $row["low_normal"]), departure($row["low"], $row["low_normal"]), trace($row["precip"]), new_record($row["precip"], $row["precip_record"]), trace($row["precip_record"]), $row["pry"], trace($row["precip_normal"]), trace($row["precip_month"]), trace($row["precip_month_normal"]), trace($row["snow"]), new_record($row["snow"], $row["snow_record"]), trace($row["snow_record"]), $row["sry"], trace($row["snow_month"]));
}
$table .= "</table>";
$sselect = networkSelect("NWSCLI", $station);
$t = new MyView();
$t->title = "Tabular CLI Report Data";
$t->content = <<<EOF
<ol class="breadcrumb">
\t<li><a href="/climate/">Climate Data</a></li>
\t<li class="active">Tabular CLI Report Data</li>\t\t
</ol>

<div class="row">
\t<div class="col-md-3">This application lists out parsed data from 
\tNational Weather Service issued daily climate reports.  These reports
\tcontain 24 hour totals for a period between midnight <b>local standard time</b>.
\tThis means that during daylight saving time, this period is from 1 AM to 
\t1 AM local daylight time!
\t</div>
Example #2
0
Field 8: Type=N/Integer, Title='POH', Probability of Hail
Field 9: Type=N/Double, Title='MAX_SIZE', Maximum Hail Size inch
Field 10: Type=N/Integer, Title='VIL', Volume Integrated Liquid kg/m3
Field 11: Type=N/Integer, Title='MAX_DBZ', max dbZ
Field 12: Type=N/Double, Title='MAX_DBZ_H', Height of Max dbZ in thousands of feet
Field 13: Type=N/Double, Title='TOP', Storm Top in thousands of feet
Field 14: Type=N/Integer, Title='DRCT', Motion Direction degrees from North
Field 15: Type=N/Integer, Title='SKNT', Speed in knots
Field 16: Type=N/Double, Title='LAT', Latitude
Field 17: Type=N/Double, Title='LON', Longitude 
</pre>

<h4>Archive notes:</h4>
<ul>
 <li>Data is missing June 2007 to March 2008</li>
 <li>Data is missing November 2008 to March 2009</li>
 </ul>

<p><a name="histograms"></a><h3>Attribute Speed &amp; Direction Histograms</h3>

<p>Based on the archive built by the IEM, the following are 2-D Histograms 
comparing RADAR storm attribute speed, direction of travel, and day of the year.
A direction of "west" would represent a storm moving from west to east.

<form id='dyno' name='dyno'>

<p><strong>Select RADAR:</strong> 
EOF;
$content .= networkSelect(array("NEXRAD", "TWDR"), 'DMX') . "\n<br />\n<img id='histimage' src='/pickup/nexrad_attrs/DMX_histogram.png' alt='Histogram' />\n\n</form>";
$t->content = $content;
$t->render('single.phtml');
Example #3
0
<?php

include "../../../config/settings.inc.php";
include "../../../include/myview.php";
$t = new MyView();
$station = isset($_GET["station"]) ? $_GET["station"] : "";
$year = isset($_GET["year"]) ? $_GET["year"] : date("Y");
$month = isset($_GET["month"]) ? $_GET["month"] : date("m");
$day = isset($_GET["day"]) ? $_GET["day"] : date("d");
$t->thispage = "networks-awos";
$t->title = "AWOS 1 Minute Time Series";
include "../../../include/imagemaps.php";
include "../../../include/forms.php";
$nselect = networkSelect("AWOS", $station);
$yselect = yearSelect(1995, 2011, $year);
$mselect = monthSelect($month);
$dselect = daySelect($day);
$content = <<<EOF
<ol class="breadcrumb">
 <li><a href="/AWOS/">AWOS Network</a></li>
 <li class="active">One minute time series</li>
</ol>

<p><b>Note:</b>The archive currently contains data from 1 Jan 1995 
till the end of the previous month.  Fort Dodge and Clinton were converted to ~ASOS, 
but are available for some times earlier in the archive.<p>

  <form method="GET" action="1station_1min.php">
Make plot selections: <br>
    {$nselect} 
 
Example #4
0
   </td>
 </tr>
</table>


{$table}

  <input type="submit" value="Generate Plot">
  </form>

 <br><img src="SFtemps.php?station={$station}{$cgiStr}" alt="Time Series" />
<br><img src="plot_traffic.php?station={$station}{$cgiStr}" alt="Time Series" />
<br><img src="plot_soil.php?station={$station}{$cgiStr}" alt="Time Series" />
EOF;
} else {
    $nselect = networkSelect("IA_RWIS", "");
    $content .= <<<EOF
<input type="hidden" name="s0" value="yes" />
<input type="hidden" name="s1" value="yes" />
<input type="hidden" name="s2" value="yes" />
<input type="hidden" name="s3" value="yes" />
<input type="hidden" name="tmpf" value="yes" />
<input type="hidden" name="dwpf" value="yes" />
<table><tr><th>Select Station</th>
<td>{$nselect}</td>
<td><input type="submit" value="Make Plot"></tr></table>
<div id="map"></div>
</form>


  </form>
Example #5
0
<?php

include "../../../config/settings.inc.php";
include "../../../include/myview.php";
$t = new MyView();
$t->title = "Birthday Weather";
$t->thispage = "archive-birthday";
include "../../../include/forms.php";
include "../../../include/imagemaps.php";
$startYear = isset($_GET['startYear']) ? $_GET['startYear'] : 1951;
$cselect = networkSelect("IACLIMATE", "IA0200", array(), "city");
$mselect = monthSelect2("1", "month");
$dselect = daySelect2("1", "day");
$t->content = <<<EOF
<H3 class="heading">The Weather on your Birthday!!</H3>
<BR>

If you were born in Iowa between 1900 and 2005, you can fill out the form below and discover the weather
conditions at a location near to you.  Just follow the instructions below.


<BR><BR>

<form method="GET" action="/cgi-bin/onsite/birthday/getweather.py">

<p><H3 class="subtitle">1. Select the city nearest to you:</H3><p>
{$cselect}

<p><H3 class="subtitle">2. Enter your Birthdate:</H3><p>

<table><TR><TH>Year:</TH><TH>Month:</TH><TH>Day:</TH></TR>
Example #6
0
\t   max(o.high) as maxtmpf, min(o.low) as mintmpf,
\t   avg( (o.high + o.low) / 2.0 ) as avgtmpf,
\t   sum(c.avg_sdd) as csdd86, sum(sdd86(o.high, o.low)) as osdd86
\t  from alldata_{$state} o, climo c WHERE
\t   o.station in {$sstring}
\t   and o.station = c.station
\t   and day >= '{$sdatestr}' and day < '{$edatestr}'
\t   and o.sday = c.sday  GROUP by o.station
\t   ORDER by o.station ASC
EOF;
    $rs = pg_query($pgconn, $sql);
    for ($i = 0; $row = @pg_fetch_assoc($rs, $i); $i++) {
        $table .= sprintf("<tr><td>" . "<input type=\"checkbox\" name=\"r[]\" value=\"%s\" >" . " %s</td><td>%s</td>" . "<td>%.2f</td><td>%.2f</td><td>%.2f</td>" . "<td>%.1f</td><td>%.1f</td><td>%.1f</td>" . "<td>%.1f</td><td>%.1f</td><td>%.1f</td>" . "<td>%s</td><td>%s</td><td>%.1f</td></tr>", $row['station'], $row['station'], $nt2->table[$row['station']]['name'], $row["oprecip"], $row["cprecip"], $row["oprecip"] - $row["cprecip"], $row["ogdd50"], $row["cgdd50"], $row["ogdd50"] - $row["cgdd50"], $row["osdd86"], $row["csdd86"], $row["osdd86"] - $row["csdd86"], $row["maxtmpf"], $row["mintmpf"], $row["avgtmpf"]);
    }
}
$nselect = networkSelect($network, "IA0000", array(), "s[]");
$t = new MyView();
$showmap = " hidden";
if (isset($_GET['map'])) {
    $t->iemss = True;
    $showmap = "";
}
$t->title = "Climodat Station Monitor";
$t->headextra = <<<EOF
<link rel="stylesheet" href="/vendor/jquery-ui/1.11.4/jquery-ui.min.css" />
EOF;
$sdatestr = date("m/d/Y", $sdate);
$edatestr = date("m/d/Y", $edate);
$t->jsextra = <<<EOF
<script src="/vendor/jquery-ui/1.11.4/jquery-ui.min.js"></script>
<script type="text/javascript">
Example #7
0
include_once "../../../include/forms.php";
include_once "../../../include/myview.php";
$t = new MyView();
$t->title = "COOP Climate Plots";
$station1 = isset($_GET["station1"]) ? $_GET["station1"] : "IA0000";
$station2 = isset($_GET["station2"]) ? $_GET["station2"] : null;
$mode = isset($_GET["mode"]) ? $_GET["mode"] : "";
$t->thispage = "networks-coop";
$imgurl = sprintf("/cgi-bin/climate/daily.py?p=daily&station1=%s", $station1);
if ($mode == 'c') {
    $imgurl .= sprintf("&station2=%s", $station2);
}
$ar = array("o" => "One Station", "c" => "Compare Two");
$modeselect = make_select("mode", $mode, $ar);
$s1 = networkSelect("IACLIMATE", $station1, array(), "station1");
$s2 = networkSelect("IACLIMATE", $station2, array(), "station2");
$t->content = <<<EOF
<h3>Daily Climatology</h3>

<p>This application dynamically generates plots of the daily average high
and low temperature for climate locations tracked by the IEM.  You can optionally
plot two stations at once for a visual comparison.</p>


     <b>Make Plot Selections:</b>


<form method="GET" action="climate_fe.php">

<table cellpadding='3' border='1' cellspacing='0'>
<tr>
Example #8
0
<?php

include "../../../config/settings.inc.php";
include_once "../../../include/myview.php";
$t = new MyView();
$t->title = "COOP High/Low Scatterplot";
$t->thispage = "climatology-today";
include "../../../include/imagemaps.php";
include "../../../include/forms.php";
$station = isset($_GET["station"]) ? $_GET["station"] : "IA0200";
$month = isset($_GET["month"]) ? intval($_GET["month"]) : date("m");
$day = isset($_GET["day"]) ? intval($_GET["day"]) : date("d");
$nselect = networkSelect("IACLIMATE", $station);
$ms = monthSelect($month, "month");
$ds = daySelect($day, "day");
$t->content = <<<EOF
<p>This application generates a scatter plot of daily 
high versus low temperature for a NWS COOP site for a given date.  The resulting
plot gives an indication of the spread of temperatures given a high or
low temperature.

<form method="GET" action="highlow_scatter.php">

<table>
<tr>
  <th class="subtitle">Station:</th>
  <th class="subtitle">Month:</th>
  <th class="subtitle">Day:</th>
  <td></td>
</tr>
Example #9
0
require_once 'Zend/Json.php';
include_once "../../include/myview.php";
include_once "../../include/vtec.php";
include_once "../../include/forms.php";
include_once "../../include/imagemaps.php";
$uri = sprintf("http://iem.local/json/vtec_events.py?wfo=%s&year=%s", $wfo, $year);
$data = file_get_contents($uri);
$json = Zend_Json::decode($data);
$table = "";
while (list($key, $val) = each($json['events'])) {
    $table .= sprintf("<tr><td>%s</td><td><a href=\"%s\">%s</a></td>" . "<td>%s</td><td>%s</td><td>%s %s</td><td>%s</td><td>%s</td></tr>", $wfo, $val["uri"], $val["eventid"], $val["phenomena"], $val["significance"], $vtec_phenomena[$val["phenomena"]], $vtec_significance[$val["significance"]], $val["issue"], $val["expire"]);
}
$t = new MyView();
$t->title = "VTEC Event Listing for {$wfo} during {$year}";
$yselect = yearSelect2(2005, $year, 'year');
$wfoselect = networkSelect("WFO", $wfo, array(), "wfo");
$t->content = <<<EOF
<ol class="breadcrumb">
 <li><a href="/nws/">NWS Resources</a></li>
 <li class="active">NWS VTEC Event Listing</li>
</ol>
<h3>NWS VTEC Event ID Usage</h3>

<div class="alert alert-info">This page provides a listing of VTEC events
for a given forecast office and year.  There are a number of caveats to this
listing due to issues encountered processing NWS VTEC enabled products. Some
events may appear listed twice due to quirks with how this information 
is stored within the database.  Hopefully, you can copy/paste the table into
your favorite spreadsheet program for further usage!</div>

<p>There is a <a href="/json/">JSON(P) webservice</a> that backends this table presentation, you can
Example #10
0
$day = isset($_GET["day"]) ? $_GET["day"] : date("d");
$station = isset($_GET['station']) ? $_GET['station'] : "";
if (!isset($_GET["station"])) {
    $t->headextra = <<<EOF
<link rel="stylesheet" href="/vendor/openlayers/{$OL}/ol.css" type="text/css">
<link type="text/css" href="/vendor/openlayers/{$OL}/ol3-layerswitcher.css" rel="stylesheet" />
EOF;
    $t->jsextra = <<<EOF
<script src="/vendor/openlayers/{$OL}/ol.js" type="text/javascript"></script>
<script src='/vendor/openlayers/{$OL}/ol3-layerswitcher.js'></script>
<script src="/js/olselect.php?network={$network}"></script>
EOF;
}
$t->title = "SchoolNet One Minute Time Series";
$t->thispage = "networks-schoolnet";
$nselect = networkSelect($network, $station);
$ys = yearSelect2(2002, $year, "year");
$ms = monthSelect($month);
$ds = daySelect($day);
$content = "";
if (strlen($station) > 0) {
    $content .= sprintf("<p><img src=\"1min_T.php?station=%s&year=%s&month=%s&day=%s\" />", $station, $year, $month, $day);
    $content .= sprintf("<p><img src=\"1min_V.php?station=%s&year=%s&month=%s&day=%s\" />", $station, $year, $month, $day);
    $content .= sprintf("<p><img src=\"1min_P.php?station=%s&year=%s&month=%s&day=%s\" />", $station, $year, $month, $day);
    $content .= "<p><b>Note:</b> The wind speeds are indicated every minute by the red line.  The blue dots represent wind direction and are shown every 10 minutes.</p>";
} else {
    $content = <<<EOF

<p>or select from this map...<p>

<div class="row well">
Example #11
0
if ($station) {
    $dbconn = iemdb('other');
    $rs = pg_prepare($dbconn, "SELECT", "select * from hpd_alldata\n\t\t\tWHERE station = \$1 and valid >= \$2 and valid < \$3\n\t\t\tORDER by valid ASC");
    $valid = mktime(0, 0, 0, $month, $day, $year);
    $sts = date("Y-m-d 00:00", $valid);
    $ets = date("Y-m-d 23:59", $valid);
    $rs = pg_execute($dbconn, "SELECT", array($station, $sts, $ets));
    $table = '<table class="table table-striped"><tr><th>Valid</th><th>Precip</th><th>Counter</th><th>Temp C</th><th>Battery</th></tr>';
    for ($i = 0; $row = @pg_fetch_assoc($rs, $i); $i++) {
        $table .= sprintf("<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>", $row["valid"], $row["calc_precip"], $row["counter"], $row["tmpc"], $row["battery"]);
    }
    $table .= "</table>";
}
$t = new MyView();
$t->title = "COOP HPD FisherPorter Precip";
$sselect = networkSelect("IA_HPD", $station);
$t->content = <<<EOF

<form method="GET" name="st">
\t\t<table class="table table-bordered">
\t\t<tr><th>Select Station:</th><th>Select Date</th></tr>
\t\t<tr><td>{$sselect}</td><td>{$yselect} {$mselect} {$dselect}</td></tr>
\t\t<tr><td colspan="2"><input type="submit"></td></tr>
\t\t</table>
\t\t</form>

\t\t
\t\t{$table}
\t\t
EOF;
$t->render('single.phtml');
Example #12
0
include "../../include/myview.php";
$network = isset($_GET["network"]) ? $_GET["network"] : "IA_ASOS";
$t = new MyView();
$t->title = "Site Locator";
$t->thispage = "iem-sites";
$t->headextra = <<<EOF
<link rel="stylesheet" href="/vendor/openlayers/3.5.0/ol.css" type="text/css">
<link type="text/css" href="/vendor/openlayers/3.5.0/ol3-layerswitcher.css" rel="stylesheet" />
EOF;
$t->jsextra = <<<EOF
<script src="/vendor/openlayers/3.5.0/ol.js" type="text/javascript"></script>
<script src='/vendor/openlayers/3.5.0/ol3-layerswitcher.js'></script>
<script src="/js/olselect.php?network={$network}"></script>
EOF;
$nselect = selectNetwork($network);
$n2select = networkSelect($network, "");
$t->content = <<<EOF
<h3>IEM Site Information</h3><p>

<p>The IEM collects information from many sites.  These sites are organized into
networks based on their geography and/or the organization who administers the
network.  This application provides some metadata and site specific applications
you may find useful.</p>

<p>
<form name="switcher">
<table class="table table-condensed table-striped">
<tr>
 <th>Select By Network:</th>
 <td>{$nselect}</td>
 <td><input type="submit" value="Switch Network"></td>
Example #13
0
$rivers = array();
for ($i = 0; $row = @pg_fetch_array($rs, $i); $i++) {
    $river = $row["river_name"];
    $uri = sprintf("/vtec/#%s-O-%s-K%s-%s-%s-%04d", date("Y"), "NEW", $row["wfo"], $row["phenomena"], "W", $row["eventid"]);
    @($rivers[$river] .= sprintf("<tr><th style='background: %s;'>%s<br />%s</th><td><a href='%s'>%s</a></td></th><td>%s</td><td>%s</td><td>%s</td></tr>", $sevcol[$row["severity"]], $row["name"], $row["nwsli"], $uri, $row["counties"], $row["stage_text"], $row["flood_text"], $row["forecast_text"]));
}
$content .= $ptitle;
$content .= <<<EOF
<p>This page produces a summary listing for National Weather Service Flood 
Forecast Points when the point is currently in a flood warning state.  The IEM
processes the flood warning products and attempts to extract the important 
details regarding flood state, severity, and forecasted stage.</p>
<a href="?all">View All</a>
<p><form method="GET" name="wfo">
EOF;
$content .= 'Select by NWS Forecast Office:' . networkSelect("WFO", $wfo, array(), 'wfo');
$content .= "<input type='submit' value='Select by WFO'>";
$content .= "</form>";
$sselect = stateSelect($state);
$content .= <<<EOF
<p><form method='GET' name='state'>
Select by State: 
{$sselect}
<input type='submit' value="Select by State">
</form>

<table border='1' cellpadding='2' cellspacing='0' style="margin: 5px;">
<tr>
 <th>Key:</th>
 <td style="background: #ff0;">Near Flood Stage</td>
 <td style="background: #ff9900;">Minor Flooding</td>
Example #14
0
$t->thispage = "networks-agclimate";
include "../../include/forms.php";
include "../../include/imagemaps.php";
$now = time();
$d2 = time() - 3 * 86400;
$station = isset($_GET["station"]) ? $_GET["station"] : "CAMI4";
$year1 = isset($_REQUEST['year1']) ? intval($_REQUEST['year1']) : date("Y", $d2);
$month1 = isset($_REQUEST['month1']) ? intval($_REQUEST['month1']) : date("m", $d2);
$day1 = isset($_REQUEST['day1']) ? intval($_REQUEST['day1']) : date("d", $d2);
$hour1 = isset($_REQUEST['hour1']) ? intval($_REQUEST['hour1']) : 0;
$year2 = isset($_REQUEST['year2']) ? intval($_REQUEST['year2']) : date("Y", $now);
$month2 = isset($_REQUEST['month2']) ? intval($_REQUEST['month2']) : date("m", $now);
$day2 = isset($_REQUEST['day2']) ? intval($_REQUEST['day2']) : date("d", $now);
$hour2 = isset($_REQUEST['hour2']) ? intval($_REQUEST['hour2']) : date("H", $now);
$opt = isset($_REQUEST['opt']) ? $_REQUEST['opt'] : '1';
$sselect = networkSelect("ISUSM", $station);
$y1 = yearSelect2(2012, $year1, "year1");
$m1 = monthSelect($month1, "month1");
$d1 = daySelect2($day1, "day1");
$h1 = hourSelect($hour1, "hour1");
$y2 = yearSelect2(2012, $year2, "year2");
$m2 = monthSelect($month2, "month2");
$d2 = daySelect2($day2, "day2");
$h2 = hourSelect($hour2, "hour2");
$ar = array("1" => "3 Panel Plot", "2" => "Just Soil Temps", "3" => "Daily Max/Min 4 Inch Soil Temps", "4" => "Daily Solar Radiation", "5" => "Daily Potential Evapotranspiration");
$oselect = make_select("opt", $opt, $ar);
$img = sprintf("smts.py?opt=%s&amp;station=%s&amp;year1=%s&amp;year2=%s" . "&amp;month1=%s&amp;month2=%s&amp;day1=%s&amp;day2=%s&amp;" . "hour1=%s&amp;hour2=%s", $opt, $station, $year1, $year2, $month1, $month2, $day1, $day2, $hour1, $hour2);
$t->content = <<<EOF
<ol class="breadcrumb">
 <li><a href="/agclimate/">AgClimate Network</a></li>
 <li class="active">Soil Moisture Plots</li>
Example #15
0
    $ets = mktime(0, 0, 0, $emonth, $eday, $eyear);
    if ($_REQUEST["action"] == 'dl') {
        download_data($sts, $ets);
        die;
    }
}
include "../../include/myview.php";
$t = new MyView();
$t->title = "Atmospheric Structure Instrumentation";
$t->thispage = "networks-other";
$channels = array("ch1" => "Wind Speed @48.5m [m/s]", "ch2" => "Wind Speed @48.5m [m/s]", "ch3" => "Wind Speed @32m [m/s]", "ch4" => "Wind Speed @32m [m/s]", "ch5" => "Wind Speed @10m [m/s]", "ch6" => "Wind Speed @10m [m/s]", "ch7" => "Wind Direction @47m [deg]", "ch8" => "Wind Direction @40m [deg]", "ch9" => "Wind Direction @10m [deg]", "ch10" => "Air Temperature @3m [C]", "ch11" => "Air Temperature @48.5m [C]", "ch12" => "Barometer @48.5m [mb]");
$c = "";
while (list($key, $ch) = each($channels)) {
    $c .= sprintf("<tr><td>%s</td><td>%s</td></tr>", $key, $ch);
}
$nselect = networkSelect("ISUASI", $station);
$ys = yearSelect2(2012, $syear, "syear");
$ms = monthSelect($smonth, "smonth");
$ds = daySelect2($sday, "sday");
$hs = hourSelect($shour, "shour");
$ye = yearSelect2(2012, $eyear, "eyear");
$me = monthSelect($emonth, "emonth");
$de = daySelect2($eday, "eday");
$he = hourSelect($ehour, "ehour");
$t->content = <<<EOF
<h3 class="heading">Atmospheric Structure Data</h3>

<p>The IEM is collecting and providing data from an instrumentation project
that outfitted two towers with wind and temperature sensors.  
(Insert more details here).