<?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
$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) {
<?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"; //}
<?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);