示例#1
5
<?php

date_default_timezone_set('UTC');
include "../../include/wfoLocs.php";
include "../../include/cow.php";
include "../../include/database.inc.php";
$lt = array("F" => "Flash Flood", "T" => "Tornado", "D" => "Tstm Wnd Dmg", "H" => "Hail", "G" => "Wind Gust", "W" => "Waterspout", "M" => "Marine Tstm Wnd");
while (list($key, $val) = each($wfos)) {
    echo "Running for {$key}\n";
    $output = fopen("data/{$key}.csv", 'w');
    fwrite($output, "WFO,YEAR,WARN_ID,ISSUE,EXPIRE,SBW_AREA,CNTY_AREA,PERIM_RATIO,AREAL_VERIF,LSR1_VALID,LSR1_TYPE,LSR1_MAG,LSR1_CITY,LSR1_COUNTY,LSR2_VALID,LSR2_TYPE,LSR2_MAG,LSR2_CITY,LSR2_COUNTY,LSR3_VALID,LSR3_TYPE,LSR3_MAG,LSR3_CITY,LSR3_COUNTY,LSR4_VALID,LSR4_TYPE,LSR4_MAG,LSR4_CITY,LSR4_COUNTY,LSR5_VALID,LSR5_TYPE,LSR5_MAG,LSR5_CITY,LSR5_COUNTY,\n");
    $cow = new Cow(iemdb("postgis"));
    $cow->setLimitTime(mktime(12, 0, 0, 1, 1, 2005), mktime(12, 0, 0, 1, 1, 2013));
    $cow->setHailSize(0.75);
    $cow->setLimitType(array("TO", "SV"));
    $cow->setLimitLSRType(array("TO", "SV"));
    $cow->setLimitWFO(array($key));
    $cow->milk();
    reset($cow->warnings);
    while (list($k, $warn) = each($cow->warnings)) {
        $carea = 0;
        reset($warn["ugc"]);
        while (list($k, $v) = each($warn["ugc"])) {
            $carea += $cow->ugcCache[$v]["area"];
        }
        $bratio = "0";
        if ($warn["perimeter"] > 0) {
            $bratio = $warn["sharedborder"] / $warn["perimeter"] * 100.0;
        }
        fwrite($output, sprintf("%s,%s,%s.%s,%s,%s,%.2f,%.2f,%.2f,%.2f,", $key, gmdate("Y", $warn["sts"]), $warn["phenomena"], $warn["eventid"], date("m/d/Y H:i", $warn["sts"]), date("m/d/Y H:i", $warn["expire"]), $warn["parea"], $carea, $bratio, $warn["buffered"] / $warn["parea"] * 100.0));
        // LSRs
示例#2
0
文件: worker.php 项目: muthulatha/iem
        $windhail = sprintf("<br />H: %s\"<br />W: %s", $warn["hailtag"], $warn["windtag"]);
    }
    $s = sprintf("<tr><td style=\"background: %s;\"><a href=\"%s\">%s.%s</a>%s</td>\n  \t\t<td>%s</td><td>%s</td>\n  \t\t<td colspan=\"2\"><a href=\"%s\" target=\"_new\">%s</a></td>\n  \t\t<td><a href=\"%s\">%s</a></td><td>%.0f sq km</td>\n  \t\t<td>%.0f sq km</td><td>%.0f %%</td>\n  \t\t<td>%.0f%% <a href=\"/GIS/radmap.php?layers[]=legend&layers[]=ci&layers[]=cbw&layers[]=sbw&layers[]=uscounties&layers[]=bufferedlsr&vtec=%s.K%s.%s.%s.%04d&lsrbuffer=%s\">Visual</a></td>\n  \t\t<td>%s</td></tr>\n", $background, $uri, $warn["phenomena"], $warn["eventid"], $windhail, gmdate("m/d/Y H:i", $warn["sts"]), gmdate("m/d/Y H:i", $warn["expire"]), $uri, implode(", ", $warn["ugcname"]), $uri, $warn["status"], $warn["parea"], $warn["carea"], ($warn["carea"] - $warn["parea"]) / $warn["carea"] * 100, $bratio, date("Y", $ts), $warn["wfo"], $warn["phenomena"], $warn["significance"], $warn["eventid"], $lsrbuffer, clean_area_verify($warn["buffered"], $warn["parea"]));
    reset($warn["lsrs"]);
    if (sizeof($warn["lsrs"]) == 0 && $warn["verify"]) {
        $s .= "<tr><td></td><td colspan=\"10\">The warning above had one or more local\n  \t\t\tstorm reports that were within previously issued warnings and are\n  \t\t\tnot double counted here.  Thus the warning appears as verified,\n  \t\t\tbut no local storm reports are shown. Future code improvements may \n  \t\t\tbe added to the Cow to better account for these.</td></tr>";
    }
    while (list($k, $lsr) = each($warn["lsrs"])) {
        $s .= printLSR($cow->lsrs[$lsr]);
    }
    return $s;
}
include_once "../../include/cow.php";
$cow = new Cow(iemdb("postgis"));
$cow->setLimitWFO(array($wfo));
$cow->setLimitTime($sts, $ets);
$cow->setHailSize($hail);
$cow->setWind($wind);
$cow->setLimitType($wtype);
$cow->setLimitLSRType($ltype);
$cow->setLSRBuffer($lsrbuffer);
$cow->setWarningBuffer($warnbuffer);
if (isset($useWindHailTag) && $useWindHailTag == 'Y') {
    $cow->useWindHailTag = true;
}
if (isset($limitwarns) && $limitwarns == 'Y') {
    $cow->limitwarns = true;
}
$cow->milk();
$charturl = sprintf("chart.php?aw=%s&ae=%s&b=%s&c=%s&d=%s", $cow->computeWarningsVerified(), $cow->computeWarnedEvents(), $cow->computeUnwarnedEvents(), $cow->computeWarningsUnverified(), "NA");
if (sizeof($ltype) == 0) {
示例#3
0
<?php

date_default_timezone_set('UTC');
include "../../include/wfoLocs.php";
include "../../include/cow.php";
include "../../include/database.inc.php";
echo "WFO,AREA_V,SIZE_R\n";
//while (list($key,$val) = each($wfos)){
$cow = new Cow(iemdb("postgis"));
$cow->setLimitTime(mktime(6, 0, 0, 10, 1, 2007), mktime(0, 0, 0, 1, 1, 2014));
$cow->setHailSize(0.75);
$cow->setLimitType(array("TO"));
$cow->setLimitLSRType(array("TO"));
$cow->setLimitWFO(array("MPX"));
$cow->milk();
echo sprintf("%s,%.1f,%.1f\n", $key, $cow->computeAreaVerify(), $cow->computeSizeReduction());
echo $cow->computeAveragePerimeterRatio();
echo "\n";
echo $cow->computePOD();
echo "\n";
echo $cow->computeFAR();
echo "\n";
echo $cow->computeCSI();
echo "\n";
echo $cow->computeSharedBorder();
echo "\n";
//}
示例#4
0
<?php

date_default_timezone_set('UTC');
include "../../include/cow.php";
include "../../include/database.inc.php";
$lt = array("F" => "Flash Flood", "T" => "Tornado", "D" => "Tstm Wnd Dmg", "H" => "Hail", "G" => "Wind Gust", "W" => "Waterspout", "M" => "Marine Tstm Wnd");
$pgconn = iemdb("postgis");
$output = fopen("arx.csv", 'w');
fwrite($output, "VALID,TYPE,MAG,CITY,COUNTY,VERIFY,LEADTIME,LAT,LON,WE_RATIO\n");
$cow = new Cow($pgconn);
$cow->setLimitTime(mktime(12, 0, 0, 10, 1, 2007), mktime(12, 0, 0, 7, 1, 2014));
$cow->setHailSize(0.75);
$cow->setLimitType(array("TO", "SV"));
$cow->setLimitLSRType(array("TO", "SV"));
$cow->setLimitWFO(array("ARX"));
$cow->milk();
reset($cow->lsrs);
while (list($k, $lsr) = each($cow->lsrs)) {
    $rs = pg_query($pgconn, sprintf("SELECT ST_XMIN(geom), ST_XMAX(geom) from ugcs\n\t\t\tWHERE name = '%s' and state = '%s' and end_ts is null\n\t\t\tand substr(ugc,3,1) = 'C'", $lsr['county'], $lsr['state']));
    if (pg_numrows($rs) < 1) {
        echo $lsr["county"] . " -- " . $lsr["state"];
    }
    $row = pg_fetch_assoc($rs, 0);
    $ratio = ($lsr["lon0"] - $row["st_xmin"]) / ($row["st_xmax"] - $row["st_xmin"]);
    fwrite($output, sprintf("%s,%s,%s,%s,%s,%s,%s,%s,%s,%.2f\n", gmdate("m/d/Y H:i", $lsr["ts"]), $lt[$lsr["type"]], $lsr["magnitude"], $lsr["city"], $lsr["county"], $lsr["warned"] ? 'T' : 'F', $lsr["leadtime"] == "NA" ? "M" : $lsr["leadtime"], $lsr["lat0"], $lsr["lon0"], $ratio));
}
fclose($output);