This commit is contained in:
2025-11-29 09:35:18 +00:00
parent c1667681e7
commit 1c2d8a3b6d
8 changed files with 351 additions and 382 deletions

View File

@@ -1,13 +1,22 @@
Start Time UTC End Time UTC Duration Max Out Cause Lat Lon County State Start Time UTC End Time UTC Duration Max Out Cause Lat Lon County State
------------------- ------------------- ---------- --------- ------------------------------------------------------------ ------- -------- --------- ------- ------------------- ------------------- ---------- --------- ------------------------------------------------------------ ------- -------- --------- -------
2025-11-27 19:54:00 2025-11-27 21:25:14 1:31:14 101 WEATHER 38.5224 -81.5713 Kanawha WV 2025-11-29 04:09:00 2025-11-29 08:20:15 4:11:15 4 TREE CONTACT 37.678 -82.2978 Mingo WV
2025-11-29 01:50:00 2025-11-29 06:55:10 5:05:10 52 TREE CONTACT 38.3169 -82.86 Carter KY
2025-11-28 16:34:00 2025-11-28 21:35:14 5:01:14 4 TREE CONTACT 38.131 -82.1747 Lincoln WV
2025-11-28 16:34:00 2025-11-28 20:05:17 3:31:17 4 TREE CONTACT 38.1293 -82.1748 Lincoln WV
2025-11-28 13:57:00 2025-11-28 16:35:15 2:38:15 4 TREE CONTACT 38.4543 -81.5406 Kanawha WV
2025-11-28 04:43:00 2025-11-28 11:35:10 6:52:10 129 TREE CONTACT 37.9899 -81.929 Boone WV
2025-11-28 00:05:10 2025-11-28 04:00:10 3:54:59 19 Tree Damage 39.0265 -79.9577 Barbour WV
2025-11-27 20:15:00 2025-11-27 22:20:08 2:05:08 9 TREE CONTACT 39.198 -82.6978 Jackson OH
2025-11-27 19:54:00 2025-11-27 22:20:08 2:26:08 101 WEATHER 38.5224 -81.5713 Kanawha WV
2025-11-27 19:54:00 2025-11-27 22:35:11 2:41:11 28 WEATHER 38.5159 -81.5703 Kanawha WV
2025-11-27 16:01:00 2025-11-27 17:20:14 1:19:14 524 TREE CONTACT 37.8594 -81.225 Raleigh WV 2025-11-27 16:01:00 2025-11-27 17:20:14 1:19:14 524 TREE CONTACT 37.8594 -81.225 Raleigh WV
2025-11-27 13:27:00 2025-11-27 17:20:14 3:53:14 22 TREE CONTACT 37.6263 -81.1044 Raleigh WV 2025-11-27 13:27:00 2025-11-27 17:20:14 3:53:14 22 TREE CONTACT 37.6263 -81.1044 Raleigh WV
2025-11-27 04:52:00 2025-11-27 09:20:21 4:28:21 13 TREE CONTACT 38.373 -82.4103 Cabell WV
2025-11-27 04:52:00 2025-11-27 08:50:18 3:58:18 34 TREE CONTACT 38.3747 -82.4084 Cabell WV 2025-11-27 04:52:00 2025-11-27 08:50:18 3:58:18 34 TREE CONTACT 38.3747 -82.4084 Cabell WV
2025-11-27 04:52:00 2025-11-27 09:20:21 4:28:21 13 TREE CONTACT 38.373 -82.4103 Cabell WV
2025-11-27 03:09:15 2025-11-27 07:05:20 3:56:05 422 TREE CONTACT 38.5068 -81.864 Putnam WV
2025-11-27 03:09:15 2025-11-27 04:55:24 1:46:09 809 TREE CONTACT 38.5091 -81.868 Putnam WV 2025-11-27 03:09:15 2025-11-27 04:55:24 1:46:09 809 TREE CONTACT 38.5091 -81.868 Putnam WV
2025-11-27 03:09:15 2025-11-27 04:20:21 1:11:06 1414 TREE CONTACT 38.494 -81.8585 Putnam WV 2025-11-27 03:09:15 2025-11-27 04:20:21 1:11:06 1414 TREE CONTACT 38.494 -81.8585 Putnam WV
2025-11-27 03:09:15 2025-11-27 07:05:20 3:56:05 422 TREE CONTACT 38.5068 -81.864 Putnam WV
2025-11-27 02:59:00 2025-11-27 05:05:23 2:06:23 5 TREE CONTACT 37.6812 -81.5491 Wyoming WV 2025-11-27 02:59:00 2025-11-27 05:05:23 2:06:23 5 TREE CONTACT 37.6812 -81.5491 Wyoming WV
2025-11-27 01:40:35 2025-11-27 21:05:12 19:24:37 6 TREE CONTACT 38.3987 -81.2739 Kanawha WV 2025-11-27 01:40:35 2025-11-27 21:05:12 19:24:37 6 TREE CONTACT 38.3987 -81.2739 Kanawha WV
2025-11-26 23:22:31 2025-11-27 00:20:20 0:57:49 6 TREE CONTACT 37.1947 -82.3321 Dickenson VA 2025-11-26 23:22:31 2025-11-27 00:20:20 0:57:49 6 TREE CONTACT 37.1947 -82.3321 Dickenson VA
@@ -45,12 +54,12 @@ Start Time UTC End Time UTC Duration Max Out Cause
2025-11-26 13:57:00 2025-11-26 16:35:25 2:38:25 12 TREE CONTACT 38.4535 -82.2759 Cabell WV 2025-11-26 13:57:00 2025-11-26 16:35:25 2:38:25 12 TREE CONTACT 38.4535 -82.2759 Cabell WV
2025-11-26 13:51:00 2025-11-26 15:50:27 1:59:27 8 WEATHER 38.5198 -82.5185 Lawrence OH 2025-11-26 13:51:00 2025-11-26 15:50:27 1:59:27 8 WEATHER 38.5198 -82.5185 Lawrence OH
2025-11-26 13:25:00 2025-11-26 16:05:23 2:40:23 69 TREE CONTACT 38.4246 -81.5101 Kanawha WV 2025-11-26 13:25:00 2025-11-26 16:05:23 2:40:23 69 TREE CONTACT 38.4246 -81.5101 Kanawha WV
2025-11-26 12:14:00 2025-11-26 16:35:25 4:21:25 4 TREE CONTACT 38.2595 -81.9982 Lincoln WV
2025-11-26 12:14:00 2025-11-26 13:35:15 1:21:15 4 TREE CONTACT 38.2604 -81.998 Lincoln WV 2025-11-26 12:14:00 2025-11-26 13:35:15 1:21:15 4 TREE CONTACT 38.2604 -81.998 Lincoln WV
2025-11-26 12:14:00 2025-11-26 16:35:25 4:21:25 4 TREE CONTACT 38.2595 -81.9982 Lincoln WV
2025-11-26 11:59:00 2025-11-27 01:35:27 13:36:27 4 TREE CONTACT 38.2722 -82.28 Cabell WV 2025-11-26 11:59:00 2025-11-27 01:35:27 13:36:27 4 TREE CONTACT 38.2722 -82.28 Cabell WV
2025-11-26 11:32:00 2025-11-26 15:35:26 4:03:26 25 TREE CONTACT 37.0754 -82.3701 Dickenson VA 2025-11-26 11:32:00 2025-11-26 15:35:26 4:03:26 25 TREE CONTACT 37.0754 -82.3701 Dickenson VA
2025-11-26 10:51:00 2025-11-26 16:35:25 5:44:25 852 TREE CONTACT 39.6226 -82.0824 Perry OH
2025-11-26 10:51:00 2025-11-26 16:50:25 5:59:25 342 TREE CONTACT 39.5817 -82.0624 Perry OH 2025-11-26 10:51:00 2025-11-26 16:50:25 5:59:25 342 TREE CONTACT 39.5817 -82.0624 Perry OH
2025-11-26 10:51:00 2025-11-26 16:35:25 5:44:25 852 TREE CONTACT 39.6226 -82.0824 Perry OH
2025-11-26 10:05:10 2025-11-26 12:00:12 1:55:02 19 Tree Damage 39.2096 -81.2004 Ritchie WV 2025-11-26 10:05:10 2025-11-26 12:00:12 1:55:02 19 Tree Damage 39.2096 -81.2004 Ritchie WV
2025-11-26 08:16:00 2025-11-26 13:35:15 5:19:15 78 TREE CONTACT 38.2826 -81.7308 Kanawha WV 2025-11-26 08:16:00 2025-11-26 13:35:15 5:19:15 78 TREE CONTACT 38.2826 -81.7308 Kanawha WV
2025-11-26 04:20:00 2025-11-26 08:05:12 3:45:12 4 TREE CONTACT 38.487 -81.3294 Kanawha WV 2025-11-26 04:20:00 2025-11-26 08:05:12 3:45:12 4 TREE CONTACT 38.487 -81.3294 Kanawha WV
@@ -71,37 +80,7 @@ Start Time UTC End Time UTC Duration Max Out Cause
2025-11-25 12:14:00 2025-11-25 19:35:17 7:21:17 151 TREE CONTACT 37.0442 -82.3947 Dickenson VA 2025-11-25 12:14:00 2025-11-25 19:35:17 7:21:17 151 TREE CONTACT 37.0442 -82.3947 Dickenson VA
2025-11-25 11:23:00 2025-11-25 13:50:21 2:27:21 27 TREE CONTACT 38.5702 -81.7033 Kanawha WV 2025-11-25 11:23:00 2025-11-25 13:50:21 2:27:21 27 TREE CONTACT 38.5702 -81.7033 Kanawha WV
2025-11-25 10:10:00 2025-11-25 14:35:23 4:25:23 4 TREE CONTACT 38.0477 -82.0809 Lincoln WV 2025-11-25 10:10:00 2025-11-25 14:35:23 4:25:23 4 TREE CONTACT 38.0477 -82.0809 Lincoln WV
2025-11-24 15:44:00 2025-11-24 20:35:24 4:51:24 264 TREE CONTACT 37.5226 -81.8099 Wyoming WV
2025-11-24 15:44:00 2025-11-24 21:05:22 5:21:22 27 TREE CONTACT 37.5141 -81.8072 Wyoming WV 2025-11-24 15:44:00 2025-11-24 21:05:22 5:21:22 27 TREE CONTACT 37.5141 -81.8072 Wyoming WV
2025-11-24 15:44:00 2025-11-24 20:35:24 4:51:24 264 TREE CONTACT 37.5226 -81.8099 Wyoming WV
2025-11-24 12:29:00 2025-11-24 18:40:34 6:11:34 19 TREE CONTACT 38.4707 -82.6995 Boyd KY 2025-11-24 12:29:00 2025-11-24 18:40:34 6:11:34 19 TREE CONTACT 38.4707 -82.6995 Boyd KY
2025-11-24 12:29:00 2025-11-24 14:55:42 2:26:42 18 TREE CONTACT 38.4706 -82.6993 Boyd KY 2025-11-24 12:29:00 2025-11-24 14:55:42 2:26:42 18 TREE CONTACT 38.4706 -82.6993 Boyd KY
2025-11-24 08:58:00 2025-11-24 13:35:24 4:37:24 7 TREE CONTACT 39.6278 -82.0292 Morgan OH
2025-11-24 08:24:00 2025-11-24 15:05:25 6:41:25 35 TREE CONTACT 38.1802 -81.9185 Lincoln WV
2025-11-24 08:15:00 2025-11-24 16:05:28 7:50:28 40 TREE CONTACT 37.3616 -81.7316 McDowell WV
2025-11-24 04:39:00 2025-11-24 15:20:26 10:41:26 15 TREE CONTACT 37.9783 -82.3569 Wayne WV
2025-11-24 01:20:11 2025-11-24 03:30:10 2:09:59 19 Tree Damage 38.5826 -80.8991 Braxton WV
2025-11-24 00:22:00 2025-11-24 04:05:13 3:43:13 13 TREE CONTACT 39.6128 -81.9686 Morgan OH
2025-11-23 23:37:00 2025-11-24 08:05:09 8:28:09 7 TREE CONTACT 38.4702 -81.3939 Kanawha WV
2025-11-23 17:58:00 2025-11-23 21:40:17 3:42:17 12 TREE CONTACT 37.9447 -82.6866 Lawrence KY
2025-11-23 16:05:00 2025-11-23 19:35:15 3:30:15 76 TREE CONTACT 38.5411 -81.416 Kanawha WV
2025-11-23 16:05:00 2025-11-23 22:20:16 6:15:16 36 TREE CONTACT 38.5476 -81.4174 Roane WV
2025-11-23 16:05:00 2025-11-23 20:20:18 4:15:18 61 TREE CONTACT 38.5417 -81.4191 Kanawha WV
2025-11-23 13:34:00 2025-11-23 19:50:18 6:16:18 177 TREE CONTACT 38.9096 -81.7926 Jackson WV
2025-11-23 10:42:00 2025-11-23 19:05:18 8:23:18 806 TREE CONTACT 38.2266 -81.413 Kanawha WV
2025-11-23 09:21:00 2025-11-23 20:35:18 11:14:18 4 TREE CONTACT 38.0339 -81.4554 Kanawha WV
2025-11-23 07:38:00 2025-11-23 15:35:11 7:57:11 195 TREE CONTACT 37.2019 -82.4628 Dickenson VA
2025-11-23 06:48:00 2025-11-23 16:05:12 9:17:12 4 TREE CONTACT 38.6302 -81.3645 Roane WV
2025-11-23 04:46:00 2025-11-23 08:40:15 3:54:15 58 TREE CONTACT 38.4178 -82.7328 Boyd KY
2025-11-23 04:46:00 2025-11-23 11:40:14 6:54:14 40 TREE CONTACT 38.4156 -82.7356 Boyd KY
2025-11-23 02:31:14 2025-11-23 10:05:12 7:33:58 623 TREE CONTACT 38.2149 -81.4187 Kanawha WV
2025-11-23 02:31:14 2025-11-23 08:35:16 6:04:02 621 TREE CONTACT 38.2146 -81.4188 Kanawha WV
2025-11-23 02:31:14 2025-11-23 11:05:13 8:33:59 624 TREE CONTACT 38.2149 -81.4188 Kanawha WV
2025-11-23 01:18:00 2025-11-23 17:50:18 16:32:18 42 TREE CONTACT 38.1792 -81.4666 Kanawha WV
2025-11-23 01:18:00 2025-11-23 19:50:18 18:32:18 157 TREE CONTACT 38.1814 -81.4555 Kanawha WV
2025-11-23 01:18:00 2025-11-23 18:50:19 17:32:19 88 TREE CONTACT 38.1807 -81.4583 Kanawha WV
2025-11-23 01:18:00 2025-11-23 18:05:12 16:47:12 67 TREE CONTACT 38.1791 -81.4657 Kanawha WV
2025-11-23 00:13:00 2025-11-23 04:50:13 4:37:13 4 TREE CONTACT 38.3593 -82.4886 Wayne WV
2025-11-23 00:07:00 2025-11-23 14:20:16 14:13:16 5 TREE CONTACT 38.4733 -81.2042 Clay WV
2025-11-22 22:39:00 2025-11-23 05:20:14 6:41:14 6 TREE CONTACT 37.9014 -81.2874 Fayette WV
2025-11-22 22:27:00 2025-11-23 00:35:12 2:08:12 10 TREE CONTACT 38.5029 -81.5277 Kanawha WV
2025-11-22 22:07:00 2025-11-23 01:35:13 3:28:13 4 TREE CONTACT 38.0685 -82.0728 Lincoln WV

10
log.txt
View File

@@ -2505,3 +2505,13 @@ Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment
Corrupt JPEG data: premature end of data segment
[hls @ 0x7fd0d401d780] Error when loading first segment 'https://vstream.command.verkada.com/filter/transcode/v2_3d547075b72a8b1bf8568139b3deb04a/caa01520-0f08-4f5c-bdd7-1929ec5767dd/high_res/camera1764395276.m4s?codec=hevc'
[ WARN:11@86.034] global cap_ffmpeg_impl.hpp:453 _opencv_ffmpeg_interrupt_callback Stream timeout triggered after 30016.938249 ms
[ WARN:11@86.034] global cap_ffmpeg_impl.hpp:453 _opencv_ffmpeg_interrupt_callback Stream timeout triggered after 30017.072812 ms
[ WARN:11@86.035] global cap_ffmpeg_impl.hpp:453 _opencv_ffmpeg_interrupt_callback Stream timeout triggered after 30018.131860 ms
[ WARN:11@86.035] global cap_ffmpeg_impl.hpp:453 _opencv_ffmpeg_interrupt_callback Stream timeout triggered after 30018.566415 ms

144
lsr.php
View File

@@ -4,10 +4,6 @@ $dbconn = pg_connect("host=localhost dbname=nws user=nws password=nws")
or die('Could not connect: ' . pg_last_error()); or die('Could not connect: ' . pg_last_error());
if (isset($_GET['ohgo'])) { if (isset($_GET['ohgo'])) {
$query = "SELECT jsonb_build_object( $query = "SELECT jsonb_build_object(
'type', 'FeatureCollection', 'type', 'FeatureCollection',
@@ -56,8 +52,6 @@ if (isset($_GET['ohgo'])) {
} }
if (isset($_GET['ohgotable'])) { if (isset($_GET['ohgotable'])) {
// Performing SQL query // Performing SQL query
$query = "SELECT CASE WHEN COALESCE(lsr, FALSE) THEN 'true' ELSE 'false' END AS lsr, $query = "SELECT CASE WHEN COALESCE(lsr, FALSE) THEN 'true' ELSE 'false' END AS lsr,
@@ -84,18 +78,15 @@ ORDER BY start ASC
// Free resultset // Free resultset
pg_free_result($result); pg_free_result($result);
// Closing connection (uncomment if needed)
// pg_close($dbconn);
} }
if (isset($_GET['lsrohgo'])) { if (isset($_GET['lsrohgo'])) {
if ($_GET['lsrohgo'] == 'true') { if ($_GET['lsrohgo'] == 'true') {
$lsrflag = 'true'; $lsrflag = 'true';
} else { } else {
$lsrflag = 'false'; $lsrflag = 'false';
} }
$id = (int) $_GET['id']; $id = (int) $_GET['id'];
$query = "UPDATE ohgo SET lsr = $1 WHERE id = $2"; $query = "UPDATE ohgo SET lsr = $1 WHERE id = $2";
$result = pg_query_params($dbconn, $query, array($lsrflag, $id)) or die('Query failed: ' . pg_last_error()); $result = pg_query_params($dbconn, $query, array($lsrflag, $id)) or die('Query failed: ' . pg_last_error());
@@ -105,10 +96,10 @@ if (isset($_GET['lsrohgo'])) {
if (isset($_GET['ohgohide'])) { if (isset($_GET['ohgohide'])) {
if ($_GET['ohgohide'] == 'true') { if ($_GET['ohgohide'] == 'true') {
$lsrflag = 'true'; $lsrflag = 'true';
} else { } else {
$lsrflag = 'false'; $lsrflag = 'false';
} }
$id = (int) $_GET['id']; $id = (int) $_GET['id'];
$query = "UPDATE ohgo SET hide = $1 WHERE id = $2"; $query = "UPDATE ohgo SET hide = $1 WHERE id = $2";
$result = pg_query_params($dbconn, $query, array($lsrflag, $id)) or die('Query failed: ' . pg_last_error()); $result = pg_query_params($dbconn, $query, array($lsrflag, $id)) or die('Query failed: ' . pg_last_error());
@@ -169,11 +160,11 @@ if (isset($_GET['preflagreports'])) {
$vtec = $_GET['preflagreports']; $vtec = $_GET['preflagreports'];
$query = "SELECT * from reports WHERE severe = $1"; $query = "SELECT * from reports WHERE severe = $1";
$result = pg_query_params($dbconn, $query, array($vtec)) or die('Query failed: ' . pg_last_error()); $result = pg_query_params($dbconn, $query, array($vtec)) or die('Query failed: ' . pg_last_error());
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$array[] = $line; $array[] = $line;
} }
echo json_encode($array); echo json_encode($array);
pg_free_result($result); pg_free_result($result);
} }
@@ -183,20 +174,20 @@ if (isset($_GET['preflagreports'])) {
if (isset($_GET['reports'])) { if (isset($_GET['reports'])) {
$vtec = $_GET['reports']; $vtec = $_GET['reports'];
if (isset($_GET['hours'])) { if (isset($_GET['hours'])) {
$hours = $_GET['hours']; $hours = $_GET['hours'];
} else { } else {
$hours = 6; $hours = 6;
} }
//echo $hours; //echo $hours;
$query = "SELECT * from reports,svr where ST_Contains(svr.nwspoly, reports.geom) and vtec = $1 and reports.initialdtg AT TIME ZONE 'America/New_York' > svr.issue AND reports.initialdtg AT TIME ZONE 'America/New_York' < svr.issue + (INTERVAL '1 h' * $2)"; $query = "SELECT * from reports,svr where ST_Contains(svr.nwspoly, reports.geom) and vtec = $1 and reports.initialdtg AT TIME ZONE 'America/New_York' > svr.issue AND reports.initialdtg AT TIME ZONE 'America/New_York' < svr.issue + (INTERVAL '1 h' * $2)";
$result = pg_query_params($dbconn, $query, array($vtec,$hours)) or die('Query failed: ' . pg_last_error()); $result = pg_query_params($dbconn, $query, array($vtec,$hours)) or die('Query failed: ' . pg_last_error());
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$array[] = $line; $array[] = $line;
} }
echo json_encode($array); echo json_encode($array);
pg_free_result($result); pg_free_result($result);
} }
@@ -206,30 +197,24 @@ if (isset($_GET['hours'])) {
if (isset($_GET['outages'])) { if (isset($_GET['outages'])) {
$vtec = $_GET['outages']; $vtec = $_GET['outages'];
if (isset($_GET['hours'])) { if (isset($_GET['hours'])) {
$hours = $_GET['hours']; $hours = $_GET['hours'];
} else { } else {
$hours = 1; $hours = 1;
} }
//echo $hours; //echo $hours;
$query = "SELECT power.lat,power.lon,power.peakoutage,power.cause,power.derivedstart,power.lastchange from power,svr where ST_Contains(svr.nwspoly, power.realgeom) and vtec = $1 and derivedstart > svr.issue AND derivedstart < svr.issue + (INTERVAL '1 h' * $2)"; $query = "SELECT power.lat,power.lon,power.peakoutage,power.cause,power.derivedstart,power.lastchange from power,svr where ST_Contains(svr.nwspoly, power.realgeom) and vtec = $1 and derivedstart > svr.issue AND derivedstart < svr.issue + (INTERVAL '1 h' * $2)";
$result = pg_query_params($dbconn, $query, array($vtec,$hours)) or die('Query failed: ' . pg_last_error()); $result = pg_query_params($dbconn, $query, array($vtec,$hours)) or die('Query failed: ' . pg_last_error());
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$array[] = $line; $array[] = $line;
} }
echo json_encode($array); echo json_encode($array);
pg_free_result($result); pg_free_result($result);
} }
//no gets, curent point outage info //no gets, curent point outage info
if(empty($_GET)) { if(empty($_GET)) {
$result = pg_query_params($dbconn, $result = pg_query_params($dbconn,
@@ -241,15 +226,6 @@ pg_free_result($result);
} }
//For real time mapping //For real time mapping
if($_GET['verify'] ?? null) { if($_GET['verify'] ?? null) {
@@ -318,9 +294,6 @@ pg_free_result($result);
} }
//Stats //Stats
if (isset($_GET['stats'])) { if (isset($_GET['stats'])) {
$query = "SELECT county, state, MAX(emailtime), count(*) FROM reports where county is not null and (state = 'WV' or state = 'VA' or state = 'KY' or state = 'OH') GROUP BY county, state"; $query = "SELECT county, state, MAX(emailtime), count(*) FROM reports where county is not null and (state = 'WV' or state = 'VA' or state = 'KY' or state = 'OH') GROUP BY county, state";
@@ -340,27 +313,25 @@ pg_free_result($result);
if (isset($_GET['metars'])) { if (isset($_GET['metars'])) {
if (isset($_GET['start'])) { if (isset($_GET['start'])) {
$start = $_GET['start']; $start = $_GET['start'];
} }
if (isset($_GET['end'])) { if (isset($_GET['end'])) {
$end = $_GET['end']; $end = $_GET['end'];
} }
$query = "SELECT icao,temp,dewp,wx,precip1,precip3,precip6,raw,obtime,stationname,lat,lon from metars where obtime - interval '45 minutes' > $1 and obtime < $2 order by lon asc"; $query = "SELECT icao,temp,dewp,wx,precip1,precip3,precip6,raw,obtime,stationname,lat,lon from metars where obtime - interval '45 minutes' > $1 and obtime < $2 order by lon asc";
$result = pg_query_params($dbconn, $query, array($start,$end)) or die('Query failed: ' . pg_last_error()); $result = pg_query_params($dbconn, $query, array($start,$end)) or die('Query failed: ' . pg_last_error());
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$array[] = $line; $array[] = $line;
} //echo($array); } //echo($array);
echo json_encode($array); echo json_encode($array);
pg_free_result($result); pg_free_result($result);
} }
if (isset($_GET['news'])) { if (isset($_GET['news'])) {
//$query = "SELECT headline, summary, imageurl, source, storylink, updated from news where notrelevant is not true"; //$query = "SELECT headline, summary, imageurl, source, storylink, updated from news where notrelevant is not true";
$query = " $query = "
@@ -469,7 +440,7 @@ if (isset($_GET['news3'])) {
} }
// --- FIXED SECTION: newsarchive ---
if (isset($_GET['newsarchive'])) { if (isset($_GET['newsarchive'])) {
// Initialize variables // Initialize variables
$start = isset($_GET['start']) ? $_GET['start'] : null; $start = isset($_GET['start']) ? $_GET['start'] : null;
@@ -492,7 +463,8 @@ if (isset($_GET['newsarchive'])) {
// Build parameter placeholders // Build parameter placeholders
$placeholders = []; $placeholders = [];
for ($i = 1; $i <= count($patterns); $i++) { for ($i = 1; $i <= count($patterns); $i++) {
$placeholders[] = "\${$i}::text"; // FIXED: Use concatenation to create "$1::text"
$placeholders[] = '$' . $i . '::text';
} }
$placeholder_string = implode(',', $placeholders); $placeholder_string = implode(',', $placeholders);
@@ -514,12 +486,14 @@ if (isset($_GET['newsarchive'])) {
$param_count = count($patterns); $param_count = count($patterns);
if ($start) { if ($start) {
$param_count++; $param_count++;
$query .= " AND timeutc >= $${param_count}"; // FIXED: Use concatenation instead of deprecated interpolation
$query .= " AND timeutc >= $" . $param_count;
$params[] = $start; $params[] = $start;
} }
if ($end) { if ($end) {
$param_count++; $param_count++;
$query .= " AND timeutc <= $${param_count}"; // FIXED: Use concatenation instead of deprecated interpolation
$query .= " AND timeutc <= $" . $param_count;
$params[] = $end; $params[] = $end;
} }
@@ -537,8 +511,6 @@ if (isset($_GET['newsarchive'])) {
} }
if (isset($_GET['wv511'])) { if (isset($_GET['wv511'])) {
$query = "SELECT jsonb_build_object( $query = "SELECT jsonb_build_object(
'type', 'FeatureCollection', 'type', 'FeatureCollection',
@@ -588,7 +560,6 @@ if (isset($_GET['wv511'])) {
} }
if (isset($_GET['ky511'])) { if (isset($_GET['ky511'])) {
$query = "SELECT jsonb_build_object( $query = "SELECT jsonb_build_object(
'type', 'FeatureCollection', 'type', 'FeatureCollection',
@@ -637,7 +608,6 @@ if (isset($_GET['ky511'])) {
} }
if (isset($_GET['getCombinedTable'])) { if (isset($_GET['getCombinedTable'])) {
// Combined SQL query using UNION ALL with CAST for 'id' // Combined SQL query using UNION ALL with CAST for 'id'
@@ -692,7 +662,7 @@ if (isset($_GET['getCombinedTable'])) {
wv511.name !~ 'Vehicle' and wv511.name !~ 'Dead Animal' and wv511.name !~ 'Debris in Roadway' and wv511.name !~ 'Congestion-Delay' and wv511.name !~ 'Vehicle' and wv511.name !~ 'Dead Animal' and wv511.name !~ 'Debris in Roadway' and wv511.name !~ 'Congestion-Delay' and
wv511.name !~ 'Pot hole' and wv511.name !~ 'Debris On Bridge' and wv511.name !~ 'Attenuator' and wv511.name !~ 'Pedestrian' and wv511.name !~ 'Pot hole' and wv511.name !~ 'Debris On Bridge' and wv511.name !~ 'Attenuator' and wv511.name !~ 'Pedestrian' and
wv511.name !~ 'Bridge Closed' and wv511.name !~ 'Truck on escape' and wv511.name !~ 'Bridge Incident' and wv511.name !~ 'Escape Ramp' AND wv511.name !~ 'Bridge Closed' and wv511.name !~ 'Truck on escape' and wv511.name !~ 'Bridge Incident' and wv511.name !~ 'Escape Ramp' AND
wv511.name !~ 'Signal' wv511.name !~ 'Signal'
UNION ALL UNION ALL
-- KY511 Query -- KY511 Query
@@ -761,13 +731,10 @@ if (isset($_GET['getCombinedTable'])) {
// Add more table names here as needed in the future.
if (isset($_GET['updater'])) { if (isset($_GET['updater'])) {
$allowedTables = ['wv511', 'ky511.ky511', 'ohgo']; $allowedTables = ['wv511', 'ky511.ky511', 'ohgo'];
if (isset($_GET['lsr']) && isset($_GET['id']) && isset($_GET['table'])) { if (isset($_GET['lsr']) && isset($_GET['id']) && isset($_GET['table'])) {
// --- Handle LSR Update --- // --- Handle LSR Update ---
$requestedTable = $_GET['table']; $requestedTable = $_GET['table'];
$lsrInput = $_GET['lsr']; $lsrInput = $_GET['lsr'];
@@ -784,9 +751,7 @@ if (isset($_GET['lsr']) && isset($_GET['id']) && isset($_GET['table'])) {
$tableNameEscaped = $requestedTable; $tableNameEscaped = $requestedTable;
// **** IMPORTANT: Ensure your ID column is actually TEXT/VARCHAR if you're not casting to int **** // Note: {$tableNameEscaped} is VALID complex syntax. The issue was with ${var}
// If 'id' is numeric, you MUST validate/cast it like in the 'hide' block.
// Assuming 'id' is text for now based on your original code for LSR:
$query = "UPDATE {$tableNameEscaped} SET lsr = $1 WHERE id = $2"; $query = "UPDATE {$tableNameEscaped} SET lsr = $1 WHERE id = $2";
$result = pg_query_params($dbconn, $query, array($lsrflag, $id)); $result = pg_query_params($dbconn, $query, array($lsrflag, $id));
@@ -818,7 +783,6 @@ if (isset($_GET['lsr']) && isset($_GET['id']) && isset($_GET['table'])) {
$tableNameEscaped = $requestedTable; $tableNameEscaped = $requestedTable;
// Assuming 'id' is numeric based on your validation here
$query = "UPDATE {$tableNameEscaped} SET hide = $1 WHERE id = $2"; $query = "UPDATE {$tableNameEscaped} SET hide = $1 WHERE id = $2";
$result = pg_query_params($dbconn, $query, array($hideflag, $id)); $result = pg_query_params($dbconn, $query, array($hideflag, $id));
@@ -857,17 +821,5 @@ if (isset($_GET['lsr']) && isset($_GET['id']) && isset($_GET['table'])) {
} }
pg_close($dbconn); pg_close($dbconn);
?>
?>

File diff suppressed because one or more lines are too long

360
news.txt
View File

@@ -11,10 +11,23 @@ Fetching from: https://wcyb.com
Fetching from: https://wvnstv.com Fetching from: https://wvnstv.com
Collected 293 stories. Processing and inserting... Collected 293 stories. Processing and inserting...
- Impact[0] NLP[0.12]: Two WV National Guard members critical after D.C. shooting; victims identified - Impact[50] NLP[0.0]: Vigil held in honor of U.S. Army Spc. Sarah Beckstrom
- Impact[75] NLP[0.29]: Woodward Drive closed due to ATV crash - Impact[5] NLP[0.0]: Two teams are heading to states
- Impact[22] NLP[0.13]: Name released in deadly crash; Route 7 back open
- Impact[25] NLP[0.0]: W.Va. Gov. addresses National Guard shooting from D.C.
- Impact[0] NLP[0.12]: First Alert Weather | Wintry Conditions Ahead
- Impact[65] NLP[0.5]: One dead after four-wheeler crash
- Impact[50] NLP[0.0]: Tree lighting ceremony held in Charleston
- Impact[57] NLP[0.0]: St. Albans Festival of Lights big holiday draw
- Impact[0] NLP[0.0]: W.Va. National Guard member dies after D.C. shooting
- Impact[50] NLP[0.0]: Model railroad show held in Huntington
- Impact[0] NLP[0.0]: Suspect in shooting of National Guard members faces murder charge as US halts all asylum decisions
- Impact[50] NLP[0.0]: Black Friday shoppers line up at Huntington Mall
- Impact[0] NLP[0.0]: WSAZ Gives Thanks - Impact[0] NLP[0.0]: WSAZ Gives Thanks
- Impact[0] NLP[0.0]: Afghan national charged in Guard ambush shooting drove across US to carry out attack, officials say - Impact[75] NLP[0.29]: Woodward Drive closed due to ATV crash
- Impact[0] NLP[0.0]: Thanksgiving foods to avoid for your pets
- Impact[0] NLP[0.22]: First Alert Weather | Friday, Nov. 28, 2026
- Impact[0] NLP[0.0]: Trump says one of the two West Virginia National Guard members shot by Afghan national has died
- Impact[0] NLP[0.0]: Trump administration orders 500 more National Guard troops to DC after shooting of soldiers - Impact[0] NLP[0.0]: Trump administration orders 500 more National Guard troops to DC after shooting of soldiers
- Impact[0] NLP[0.0]: First Alert Weather+ | Thanksgiving weekend - Impact[0] NLP[0.0]: First Alert Weather+ | Thanksgiving weekend
- Impact[0] NLP[0.0]: 2 National Guard members shot in an ambush attack just blocks from the White House - Impact[0] NLP[0.0]: 2 National Guard members shot in an ambush attack just blocks from the White House
@@ -29,25 +42,23 @@ Collected 293 stories. Processing and inserting...
- Impact[50] NLP[0.0]: Man charged with attacking city workers on sidewalk - Impact[50] NLP[0.0]: Man charged with attacking city workers on sidewalk
- Impact[0] NLP[0.0]: US 23 Country Music Highway Museum - Impact[0] NLP[0.0]: US 23 Country Music Highway Museum
- Impact[7] NLP[0.0]: Cooking safety tips from the American Red Cross - Impact[7] NLP[0.0]: Cooking safety tips from the American Red Cross
- Impact[0] NLP[0.12]: Two WV National Guard members critical after D.C. shooting; victims identified
- Impact[50] NLP[0.0]: Cabell-Huntington Health Department to end needle exchange program - Impact[50] NLP[0.0]: Cabell-Huntington Health Department to end needle exchange program
- Impact[0] NLP[0.0]: WSAZ Sports+ | State Semi-Finals in WV, KY & OH - Impact[0] NLP[0.0]: WSAZ Sports+ | State Semi-Finals in WV, KY & OH
- Impact[0] NLP[0.0]: Christmas gift ideas at Twelvepole Trading Post - Impact[0] NLP[0.0]: Christmas gift ideas at Twelvepole Trading Post
- Impact[50] NLP[0.0]: Small Business Saturday Vendor Craft Showcase - Impact[50] NLP[0.0]: Belpre holds annual Christmas tree lighting at Civitan Park
- Impact[50] NLP[0.0]: Elks Lodge annual Thanksgiving dinner - Impact[0] NLP[0.0]: WV State Police pursuit in Parkesburg
- Impact[55] NLP[0.0]: Christmas lights at Gallipolis City Park slated Wednesday night - Impact[50] NLP[0.0]: This Is Home: Parkersburg spa promotes wellness and community support for Small Business Saturday
- Impact[0] NLP[0.0]: This Day in History - 11/26/25 - Impact[15] NLP[0.4]: One person dead and two others taken to hospital after four-vehicle crash on SR-7
- Impact[18] NLP[0.47]: First Alert Weather Day: How will rain and wind impact your holiday travel? - Impact[22] NLP[0.29]: Rainy and snowy stretch ahead
- Impact[57] NLP[0.0]: Ashland Christmas parade tonight - Impact[0] NLP[0.0]: Heddleston completes Northwestern University Police Staff and Command Program
- Impact[0] NLP[0.0]: Mayor: Man arrested after unprovoked attack on city workers - Impact[30] NLP[0.62]: Quiet for now before rain and snow arrives Sunday
- Impact[62] NLP[0.33]: New details emerge about ATV crash that killed one teen - Impact[50] NLP[0.0]: Tips for shopping safely this holiday season
- Impact[50] NLP[0.0]: AD Lewis Community Center gives out Thanksgiving food boxes - Impact[22] NLP[0.0]: House to Home Day Shelter serves Thanksgiving meals to unhoused community
- Impact[50] NLP[0.0]: Holly Jolly Brawley Trolly ready for service - Impact[7] NLP[0.29]: 75th anniversary of the Great Appalachian Storm of 1950
- Impact[0] NLP[0.0]: Holiday shopping tips to avoid online scams - Impact[0] NLP[0.0]: Trump says one of the two West Virginia National Guard members shot by Afghan national has died
- Impact[0] NLP[0.11]: Rate hike settlement proposed in Kentucky
- Impact[50] NLP[0.0]: Holiday safety: Avoiding porch pirates
- Impact[0] NLP[0.0]: Gov. Morrisey kicks off holiday toy drive
- Impact[0] NLP[0.0]: Afghan national charged in Guard ambush shooting drove across US to carry out attack, officials say
- Impact[0] NLP[0.0]: Arts and entertainment events happening November 27th-30th across the Mid-Ohio Valley - Impact[0] NLP[0.0]: Arts and entertainment events happening November 27th-30th across the Mid-Ohio Valley
- Impact[50] NLP[0.0]: Wood County Board of Education receives forensic audit report
- Impact[0] NLP[0.0]: Cold and breezy Thanksgiving - Impact[0] NLP[0.0]: Cold and breezy Thanksgiving
- Impact[50] NLP[0.0]: Parkersburg Police investigating hit and run - Impact[50] NLP[0.0]: Parkersburg Police investigating hit and run
- Impact[0] NLP[0.0]: List of Thanksgiving meals offered around the Mid-Ohio Valley - Impact[0] NLP[0.0]: List of Thanksgiving meals offered around the Mid-Ohio Valley
@@ -59,7 +70,6 @@ Collected 293 stories. Processing and inserting...
- Impact[0] NLP[0.0]: Black Friday preview from Grand Central Mall - Impact[0] NLP[0.0]: Black Friday preview from Grand Central Mall
- Impact[0] NLP[0.0]: MOVHD on Thanksgiving food safety - Impact[0] NLP[0.0]: MOVHD on Thanksgiving food safety
- Impact[50] NLP[0.0]: 2nd annual Meals for Veterans by Marietta Noon Rotary - Impact[50] NLP[0.0]: 2nd annual Meals for Veterans by Marietta Noon Rotary
- Impact[50] NLP[0.0]: Wood County Board of Education receives forensic audit report
- Impact[50] NLP[0.0]: This Day in History: Nov. 26, 2025 - Impact[50] NLP[0.0]: This Day in History: Nov. 26, 2025
- Impact[50] NLP[0.22]: St. Marys water rates increase for residents and businesses - Impact[50] NLP[0.22]: St. Marys water rates increase for residents and businesses
- Impact[0] NLP[0.0]: Whooping cough in the Mid-Ohio Valley - Impact[0] NLP[0.0]: Whooping cough in the Mid-Ohio Valley
@@ -71,19 +81,11 @@ Collected 293 stories. Processing and inserting...
- Impact[50] NLP[0.0]: MCF completes Stock the Shelves Challenge - Impact[50] NLP[0.0]: MCF completes Stock the Shelves Challenge
- Impact[0] NLP[0.0]: Thunderbolt Running and Timing promotes community fitness through group runs - Impact[0] NLP[0.0]: Thunderbolt Running and Timing promotes community fitness through group runs
- Impact[50] NLP[0.0]: Groundbreaking ceremony for New Lincoln Elementary - Impact[50] NLP[0.0]: Groundbreaking ceremony for New Lincoln Elementary
- Impact[0] NLP[0.0]: This Day in History: Nov. 25, 2025 - Impact[75] NLP[0.0]: Candlelight vigil held for National Guard Specialist from Webster County
- Impact[0] NLP[0.13]: MOV Regional Airport ready for holiday travel - Impact[0] NLP[0.0]: Suspect in shooting of National Guard members faces murder charge as US halts all asylum decisions
- Impact[50] NLP[0.0]: K9 Kuky from Belpre got a donation for protective vest - Impact[22] NLP[0.25]: A wintry mess of precipitation could cause you problems on Sunday. Another storm could do the same next week.
- Impact[5] NLP[0.08]: Chilly Thanksgiving for the MOV - Impact[0] NLP[0.0]: UPDATE: Morrisey requests statewide moment of silence for National Guard members shot in D.C.
- Impact[5] NLP[0.2]: Messy Thanksgiving Travel - Impact[0] NLP[0.0]: Trump says one of the two West Virginia National Guard members shot by Afghan national has died
- Impact[0] NLP[0.0]: Ohio man facing multiple charges of rape involving a minor
- Impact[0] NLP[0.0]: West Virginias largest Christmas shop prepares for Small Business Saturday
- Impact[50] NLP[0.0]: Salvation Army of Parkersburg kettle bell campaign raises $13,000 in two weeks
- Impact[0] NLP[0.0]: White Picket Farm makes top 10 for Best of West Virginia 2025
- Impact[50] NLP[0.0]: WCVSC holds thanksgiving giveaway for veteran families
- Impact[50] NLP[0.0]: Community prayer vigils set for National Guard member from Webster Springs
- Impact[0] NLP[0.0]: Afghan national charged in Guard ambush shooting drove across US to carry out attack, officials say
- Impact[30] NLP[0.31]: Rain could begin as snow on Sunday, but is there another chance next week?
- Impact[0] NLP[0.0]: Trump administration orders 500 more National Guard troops to DC after shooting of soldiers - Impact[0] NLP[0.0]: Trump administration orders 500 more National Guard troops to DC after shooting of soldiers
- Impact[10] NLP[0.0]: Morgantown man arrested for sexually abusing 9-year-old daughter in 2004 - Impact[10] NLP[0.0]: Morgantown man arrested for sexually abusing 9-year-old daughter in 2004
- Impact[50] NLP[0.0]: UPDATE: 17-year-old juvenile found safe - Impact[50] NLP[0.0]: UPDATE: 17-year-old juvenile found safe
@@ -100,6 +102,7 @@ Collected 293 stories. Processing and inserting...
- Impact[50] NLP[0.0]: Salem University looking to start new Psychedelic Education program - Impact[50] NLP[0.0]: Salem University looking to start new Psychedelic Education program
- Impact[50] NLP[0.0]: State Police accepts donations for State Troopers for West Virginia Needy campaign - Impact[50] NLP[0.0]: State Police accepts donations for State Troopers for West Virginia Needy campaign
- Impact[0] NLP[0.0]: WVU Medicine Childrens holding community toy drive for holiday donations - Impact[0] NLP[0.0]: WVU Medicine Childrens holding community toy drive for holiday donations
- Impact[30] NLP[0.31]: Rain could begin as snow on Sunday, but is there another chance next week?
- Impact[50] NLP[0.0]: UPDATE: Runaway teen from Upshur County has now been found - Impact[50] NLP[0.0]: UPDATE: Runaway teen from Upshur County has now been found
- Impact[0] NLP[0.0]: Jennifer Garner visits schools and homes in her native W.Va. - Impact[0] NLP[0.0]: Jennifer Garner visits schools and homes in her native W.Va.
- Impact[0] NLP[0.0]: Big changes are coming just as Thanksgiving is arriving, but what are they? - Impact[0] NLP[0.0]: Big changes are coming just as Thanksgiving is arriving, but what are they?
@@ -113,199 +116,196 @@ Collected 293 stories. Processing and inserting...
- Impact[0] NLP[0.2]: If youre traveling for the holiday, will you need to worry about any weather-related travel problems? - Impact[0] NLP[0.2]: If youre traveling for the holiday, will you need to worry about any weather-related travel problems?
- Impact[50] NLP[0.0]: Kings Hands Boxing Club holds ribbon cutting in Stonewood - Impact[50] NLP[0.0]: Kings Hands Boxing Club holds ribbon cutting in Stonewood
- Impact[0] NLP[0.0]: Canaan Valley Wildlife Refuge giving away free, real Christmas trees this holiday season - Impact[0] NLP[0.0]: Canaan Valley Wildlife Refuge giving away free, real Christmas trees this holiday season
- Impact[0] NLP[0.0]: Town of White Hall preparing for holiday events - Impact[0] NLP[0.17]: Pulaski County mother, children lose home to fire just before Thanksgiving
- Impact[0] NLP[0.0]: Gov. Morrisey grants state employees a half-day off before Thanksgiving - Impact[0] NLP[0.0]: Floyd County community, church leader dies
- Impact[0] NLP[0.0]: Market in the Park kicks off the Celebration of Lights - Impact[50] NLP[0.0]: Somerset church uses numerous donations to help community after TikTok challenge
- Impact[0] NLP[0.0]: FIRST ALERT FORECAST: Freezing Black Friday temperatures
- Impact[0] NLP[0.0]: B-Robs Christmas in the Mountains underway
- Impact[0] NLP[0.0]: Bereas Artisan Village preparing for Shop Small Business Saturday
- Impact[0] NLP[0.0]: Shoppers show up, line up for Black Friday deals
- Impact[50] NLP[0.0]: Country star Tyler Childers spotted at Paintsville Walmart on Black Friday
- Impact[0] NLP[0.0]: Local real estate broker analyzes how a proposed 50-year mortgage plan would impact in the mountains
- Impact[50] NLP[0.0]: Somerset couple charged with child sexual exploitation
- Impact[0] NLP[0.0]: Former Breathitt County Sheriff dies
- Impact[0] NLP[0.3]: Morehead duplex catches on fire Thanksgiving evening
- Impact[50] NLP[0.0]: Communities honor West Virginia National Guard members shot in Washington
- Impact[0] NLP[0.16]: London deputy fire chief dies at 85
- Impact[65] NLP[0.5]: One dead after four-wheeler crash
- Impact[0] NLP[0.0]: Boars Head products sold in Kentucky recalled over possible listeria contamination
- Impact[0] NLP[0.0]: Black Friday weekend projected to reach record number of shoppers
- Impact[37] NLP[0.22]: Death toll rises to 128 in Hong Kong residential fire; 8 more arrested over towers renovation
- Impact[0] NLP[0.0]: Walgreens recalls nasal spray over possible contamination
- Impact[0] NLP[0.0]: Tennessee business supports Logans Law
- Impact[15] NLP[0.19]: Juveniles injured in Pike Co. shooting - Impact[15] NLP[0.19]: Juveniles injured in Pike Co. shooting
- Impact[0] NLP[0.0]: Coroner rules woman found unresponsive died of natural causes - Impact[0] NLP[0.0]: Coroner rules woman found unresponsive died of natural causes
- Impact[0] NLP[0.0]: 2 National Guard members shot in an ambush attack just blocks from the White House - Impact[0] NLP[0.0]: 2 National Guard members shot in an ambush attack just blocks from the White House
- Impact[0] NLP[0.0]: FIRST ALERT FORECAST: Cold temperatures for your Turkey Day
- Impact[0] NLP[0.0]: Vice President Vance arrives in downtown Lexington; motorcade causing some traffic delays - Impact[0] NLP[0.0]: Vice President Vance arrives in downtown Lexington; motorcade causing some traffic delays
- Impact[50] NLP[0.0]: Authorities searching for missing man
- Impact[0] NLP[0.0]: Kentucky State Police launch sale of trooper teddy bears to support children in crisis - Impact[0] NLP[0.0]: Kentucky State Police launch sale of trooper teddy bears to support children in crisis
- Impact[0] NLP[0.0]: Better Business Bureau warns shoppers of holiday scams - Impact[0] NLP[0.0]: Better Business Bureau warns shoppers of holiday scams
- Impact[50] NLP[0.0]: Authorities searching for missing man
- Impact[0] NLP[0.0]: Hazard Turkey Trot brings community together on Thanksgiving morning - Impact[0] NLP[0.0]: Hazard Turkey Trot brings community together on Thanksgiving morning
- Impact[0] NLP[0.0]: FIRST ALERT FORECAST: Cold temperatures for your Turkey Day
- Impact[5] NLP[0.13]: FIRST ALERT FORECAST: Chilly temperatures start today - Impact[5] NLP[0.13]: FIRST ALERT FORECAST: Chilly temperatures start today
- Impact[25] NLP[0.1]: Hit-and-run survivor thanks community for support - Impact[25] NLP[0.1]: Hit-and-run survivor thanks community for support
- Impact[0] NLP[0.0]: Man sentenced for money laundering conspiracy involving COVID relief loans - Impact[0] NLP[0.0]: Man sentenced for money laundering conspiracy involving COVID relief loans
- Impact[0] NLP[0.0]: Man charged after reportedly firing shots toward wife - Impact[0] NLP[0.0]: Man charged after reportedly firing shots toward wife
- Impact[0] NLP[0.11]: Gov. Beshear announces funding to improve water service for homes in Powell Co. - Impact[0] NLP[0.11]: Gov. Beshear announces funding to improve water service for homes in Powell Co.
- Impact[50] NLP[0.0]: Students face food insecurity, school provides resources - Impact[50] NLP[0.0]: Students face food insecurity, school provides resources
- Impact[0] NLP[0.0]: This Day in History - November 26, 2010 - Impact[0] NLP[0.0]: Capito honors memory of U.S. Army Spc. Beckstrom
- Impact[0] NLP[0.0]: Thanksgiving grief: Coping with loss during the holidays - Impact[0] NLP[0.0]: Meadowbrook Malls hands out Black Friday prizes, swag bags
- Impact[0] NLP[0.0]: Thanksgiving grocery costs down 5%, but menu matters - Impact[0] NLP[0.0]: GHSP asks families to speak to older drivers about safety
- Impact[37] NLP[0.13]: Pike man arraigned in connection to April shooting death - Impact[0] NLP[0.0]: President considers attending Beckstrom's funeral
- Impact[37] NLP[0.22]: Kentucky man accepts plea deal in babys death - Impact[0] NLP[0.0]: West Virginia Ranks 2nd in homes without internet: Study
- Impact[0] NLP[0.0]: Child pornography warrants issued for missing high school coach, authorities say - Impact[0] NLP[0.0]: Gov. Morrisey requests moment of silence for WVNG members
- Impact[0] NLP[0.0]: Kentucky counties struggle to find skilled plumbers and electricians - Impact[0] NLP[0.0]: Morrisey speaks on shooting of two WVNG members
- Impact[0] NLP[0.11]: Rate hike settlement proposed in Kentucky
- Impact[0] NLP[0.0]: Thanksgiving Eve poses heightened drunk driving risks as millions travel
- Impact[0] NLP[0.0]: E. KY sheriff to meet with KHSAA officials about possible sports betting
- Impact[0] NLP[0.11]: London Fire Department urges holiday celebration safety
- Impact[0] NLP[0.0]: Holiday travelers split on transportation secretarys call to dress up for flights
- Impact[50] NLP[0.0]: Perry Co. students sponsor more than 170 peers for Angel Tree project
- Impact[0] NLP[0.0]: FIRST ALERT FORECAST: Shower Chances Continue This Evening
- Impact[0] NLP[0.09]: Berea police crack down on dangerous school pickup parking
- Impact[0] NLP[0.0]: Blue Grass Airport expects thousands of daily passengers during holiday rush
- Impact[0] NLP[0.0]: Man arrested after throwing rocks at passing vehicles
- Impact[0] NLP[0.0]: Man crashes after hitting mailboxes, charged with DUI
- Impact[0] NLP[0.0]: Lexington restaurant owner defends employee after customers personal attack in online review
- Impact[0] NLP[0.0]: Emmy-winning artist performs 50 hours straight for coat drive
- Impact[10] NLP[0.0]: Runners in Morgantown's Turkey Trot gobble to finish line - Impact[10] NLP[0.0]: Runners in Morgantown's Turkey Trot gobble to finish line
- Impact[65] NLP[0.21]: Webster Co rallies behind WVNG member injured in shooting - Impact[65] NLP[0.21]: Webster Co rallies behind WVNG member injured in shooting
- Impact[0] NLP[0.0]: Restaurant Road Trip: Smashers Sweets-N-Eats - Impact[0] NLP[0.0]: Authorities identify WVNG members shot in DC
- Impact[0] NLP[0.0]: WV "Heirloom" app launched to encourage logging off social media - Impact[0] NLP[0.0]: WVNG's U.S. Army Spc. Sarah Beckstrom passes away
- Impact[50] NLP[0.15]: Clarksburg FD provides tips on Thanksgiving safety
- Impact[50] NLP[0.0]: Salvation Army hosts Thanksgiving meal in Clarksburg
- Impact[50] NLP[0.0]: Missing Harrison County teen located
- Impact[0] NLP[0.0]: MCHD offers free services for Healthy Smiles Day
- Impact[7] NLP[0.0]: RCB marching band to perform in DC's Independence Day parade
- Impact[0] NLP[0.0]: WV State Parks announce 2025 Black Friday deals
- Impact[0] NLP[0.0]: WVNG members shot in DC in 'critical condition': FBI Director Kash Patel
- Impact[0] NLP[0.0]: Man allegedly sexually assaulted 9-year-old in 2004: WVSP
- Impact[0] NLP[0.0]: Permanent injunction issued in favor of vaccine exemptions
- Impact[90] NLP[0.5]: Truck driver in Cheat Lake fatal arrested by ICE
- Impact[0] NLP[0.0]: Hundreds eat Thanksgiving meals at WV state parks - Impact[0] NLP[0.0]: Hundreds eat Thanksgiving meals at WV state parks
- Impact[0] NLP[0.0]: Annual Gobble Gallop sees highest attendance yet - Impact[0] NLP[0.0]: Annual Gobble Gallop sees highest attendance yet
- Impact[65] NLP[0.33]: Person facing charges in Kanawha County side-by-side crash - Impact[50] NLP[0.0]: Webster Co gathers for second vigil honoring Beckstrom
- Impact[50] NLP[0.0]: Kanawha Charleston Humane Association hosts 10th annual Furry Feast - Impact[50] NLP[0.0]: Youth USA Boxing Team 412 visits Clarksburg
- Impact[0] NLP[0.0]: DC shooting suspect worked for CIA in Afghanistan; drove across country before attack - Impact[60] NLP[0.33]: Home heavily damaged after overnight fire in Clarksburg
- Impact[0] NLP[0.0]: Judge rules West Virginia parents can cite religious beliefs for vaccine exemptions - Impact[0] NLP[0.0]: Ohio Senate passes Averys Law to crack down on dangerous dogs and their owners
- Impact[50] NLP[0.0]: Huntington City Mission prepares for Thanksgiving - Impact[22] NLP[0.29]: Snow alerts across USA: slow travel ahead
- Impact[0] NLP[0.0]: Volunteers continue Frank Veltris mission of giving this Thanksgiving - Impact[80] NLP[0.75]: One person dead, two injured in Gallia County 4-vehicle crash
- Impact[15] NLP[0.0]: West Virginia Turnpike Authority expecting 740,000 drivers through holiday weekend - Impact[0] NLP[0.0]: A peacekeeper: Senator Shelley Moore Capito honors memory of fallen U.S. Army Specialist Sarah Beckstrom
- Impact[50] NLP[0.0]: Charleston police misconduct allegations cleared - Impact[37] NLP[0.0]: Fallen Soldier Procession motorcade escorts body of WVNG member Spc. Sarah Beckstrom shot, killed in DC
- Impact[0] NLP[0.0]: Earl Wilson Community Thanksgiving passes out hundreds of Thanksgiving meals for kids - Impact[0] NLP[0.0]: Ohio man sentenced for posing as teenage boy to coerce young girls into self-harm, sexual activity
- Impact[0] NLP[0.0]: Ohio State likely to end eight majors, over 350 courses in Senate Bill 1 compliance - Impact[87] NLP[0.0]: Webster Springs community mourns West Virginia National Guard member killed in attack
- Impact[0] NLP[0.29]: Major weather changes across Thanksgiving and next week - Impact[0] NLP[0.0]: Suspect in shooting of West Virginia National Guard members now facing a first-degree murder charge after Spc. Beckstrom dies
- Impact[50] NLP[0.0]: Rats and Rams face off in Dunbars 77th Commode Bowl - Impact[0] NLP[0.0]: President considers attending U.S. Army Spc. Beckstroms funeral
- Impact[0] NLP[0.0]: Morrisey speaks on shooting of two WVNG members - Impact[0] NLP[0.0]: Trump vows to permanently pause migration from Third World Countries after DC shooting
- Impact[37] NLP[0.22]: Childrens pajamas sold on Amazon recalled for risk of death from burn hazard - Impact[0] NLP[0.0]: West Virginia National Guards U.S. Army Spc. Sarah Beckstrom passes away
- Impact[65] NLP[0.18]: Webster County rallies behind West Virginia National Guard member injured in shooting - Impact[50] NLP[0.0]: Annual Model Railroad Show returns to Huntington
- Impact[0] NLP[0.0]: What we do and dont know about the National Guard members shot in DC - Impact[7] NLP[0.0]: Raceland advances to state championship game with win over Pikeville
- Impact[50] NLP[0.0]: Two West Virginia National Guard members hospitalized after shooting in Washington, D.C. - Impact[50] NLP[0.0]: Holly Jolly Brawley offers opportunities for small businesses in Kanawha County
- Impact[50] NLP[0.0]: Kanawha Charleston Humane Association hosts annual Black Friday adoption event to find animals forever homes
- Impact[0] NLP[0.0]: On the Record: Remembering Spc. Sarah Beckstrom
- Impact[50] NLP[0.0]: Kanawha County Sheriff's Office seeking assistance in finding missing teenager
- Impact[50] NLP[0.0]: Charleston man charged with DUI after allegedly hitting pedestrian with vehicle - Impact[50] NLP[0.0]: Charleston man charged with DUI after allegedly hitting pedestrian with vehicle
- Impact[0] NLP[0.0]: Man accused of theft, damaging property at Raleigh County cell tower, deputies say
- Impact[50] NLP[0.0]: Man faces nearly 20 charges after leading pursuit through Kanawha County in stolen vehicle - Impact[50] NLP[0.0]: Man faces nearly 20 charges after leading pursuit through Kanawha County in stolen vehicle
- Impact[117] NLP[0.42]: Man killed, 2 injured in 4-vehicle crash in Gallia County, Ohio
- Impact[0] NLP[0.0]: Law enforcement respond to home of U.S. Sen. Shelley Moore Capito after online comment - Impact[0] NLP[0.0]: Law enforcement respond to home of U.S. Sen. Shelley Moore Capito after online comment
- Impact[50] NLP[0.0]: Gallipolis police asking for assistance in finding 3 missing Gallia County teens - Impact[0] NLP[0.0]: WVSSAC announces semifinal high school football games for Nov. 28-29
- Impact[50] NLP[0.0]: One person in custody after standoff in Huntington - Impact[0] NLP[0.0]: West Virginia National Guard member Sarah Beckstrom dies after DC shooting, governor says
- Impact[50] NLP[0.0]: Kanawha County teen located after being reported missing, deputies say - Impact[0] NLP[0.0]: High School Football Scores: Week 15
- Impact[60] NLP[0.09]: Vigils planned for West Virginia National Guard member shot in D.C.
- Impact[87] NLP[0.11]: Logan murder victim remembered as devoted father, outgoing friend
- Impact[50] NLP[0.0]: State leaders react to shooting of two West Virginia National Guard members
- Impact[50] NLP[0.0]: 'There will be justice': W.Va. governor addresses state's National Guard troops in DC - Impact[50] NLP[0.0]: 'There will be justice': W.Va. governor addresses state's National Guard troops in DC
- Impact[0] NLP[0.0]: What we know about the suspect in the shooting of two WVNG members in D.C. - Impact[0] NLP[0.0]: Refugee vetting under renewed scrutiny after D.C. shooting
- Impact[50] NLP[0.0]: Police: Ohio man accused of breaking into the restaurant he worked at, stealing cash
- Impact[0] NLP[0.0]: Trump calls for migration pause after D.C. shooting, targets MN governor with slur
- Impact[50] NLP[0.0]: Deployment of WVNG under additional scrutiny following D.C. shooting
- Impact[87] NLP[0.09]: Kanawha teen's tragic death highlights the rising threat of sextortion across the country
- Impact[87] NLP[0.07]: State officials react to shooting death of W.Va. National Guard member Sarah Beckstrom
- Impact[35] NLP[0.0]: MSHA releases preliminary report on deadly mine accident in Nicholas County - Impact[35] NLP[0.0]: MSHA releases preliminary report on deadly mine accident in Nicholas County
- Impact[0] NLP[0.0]: Hundreds of churches across eastern Ky. join forces to fix 12,000 Thanksgiving meals - Impact[50] NLP[0.0]: Webster Springs holds vigil for local National Guard members shot in Washington, D.C.
- Impact[50] NLP[0.0]: Child psychiatric treatment facility in Barboursville to close in early 2026
- Impact[75] NLP[0.1]: Man accused of Logan stabbing denied bond after charge upgraded to murder
- Impact[50] NLP[0.0]: Charleston police chief defends officers against misconduct allegations in council letter
- Impact[50] NLP[0.0]: Barboursville School to close in February, widens mental health placement gaps in W.Va. - Impact[50] NLP[0.0]: Barboursville School to close in February, widens mental health placement gaps in W.Va.
- Impact[50] NLP[0.0]: D.C. National Guard shooter confirmed to have connection to Washington state - Impact[0] NLP[0.0]: Trump administration announces savings with new drug price negotiations
- Impact[87] NLP[0.42]: Emergency crews respond to crash involving ATV and car in Logan County - Impact[50] NLP[0.0]: Kanawha County teen located after being reported missing, deputies say
- Impact[50] NLP[0.09]: Child reportedly falls from miniature train at Light the Night in Charleston - Impact[0] NLP[0.0]: Project Prevention pays addicts to get on long-term birth control or sterilized
- Impact[50] NLP[0.0]: 2 National Guard members shot near White House identified, gunman faces several charges - Impact[50] NLP[0.0]: Gallipolis police asking for assistance in finding 3 missing Gallia County teens
- Impact[50] NLP[0.0]: Charleston police officer cleared of misconduct allegations after attorneys demand probe - Impact[87] NLP[0.11]: Logan murder victim remembered as devoted father, outgoing friend
- Impact[10] NLP[0.0]: Black Friday planning: What stores are open, closed on Thanksgiving Day - Impact[0] NLP[0.0]: Asteroid YR4 poses 4% chance of hitting moon in 2032, NASA explores deflection plan
- Impact[0] NLP[0.0]: Shooting prompts 500 more National Guard troops deployed to DC amid ongoing legal battle - Impact[0] NLP[0.0]: Holiday of Lights Mistletoe Market sparks excitement with outdoor shopping
- Impact[0] NLP[0.0]: West Virginia governor asks for prayers after National Guard shooting
- Impact[0] NLP[0.0]: Tazewell Police Department launches inaugural Stuff-a-Cruiser toy drive
- Impact[0] NLP[0.0]: What we do and dont know about the shooting of 2 National Guard members in DC
- Impact[0] NLP[0.0]: Coaltown Tavern hosted a community Thanksgiving dinner
- Impact[0] NLP[0.0]: WVU researchers bring community-led drug prevention to 36 rural counties
- Impact[0] NLP[0.0]: Labor force participation in 2025: what Virginians and West Virginians need to know
- Impact[0] NLP[0.0]: Interview @ Noon: The Village Market Pop-Up comes to Bluefield, WV
- Impact[0] NLP[0.0]: Interview @ Noon: Cast of Cryptid to discuss filming in Mercer County, WV
- Impact[0] NLP[0.0]: Walmart recalls Ozark Trail camping stoves after reports of explosions and burn injuries
- Impact[50] NLP[0.0]: One WV National Guard member passes away after being shot in D.C. in targeted attack; Suspect charged
- Impact[0] NLP[0.0]: More than 3 dozen sickened in infant botulism outbreak tied to contaminated formula
- Impact[0] NLP[0.0]: VA Capitol Christmas Tree preparing to glow
- Impact[0] NLP[0.0]: Tis the season to beware of scammers: AAA offers tips to avoid getting scrooged online
- Impact[0] NLP[0.0]: New study: WV among top 10 states for pregnancy-related high blood pressure
- Impact[0] NLP[0.0]: Giftflation explained: budget tips for holiday shoppers
- Impact[7] NLP[0.0]: Westside cheerleaders crowned state champions; victory parade set for Dec. 1
- Impact[0] NLP[0.0]: Man arrested after larceny investigation at Harper Heights telecom site
- Impact[0] NLP[0.0]: Suspect in shooting of National Guard members faces murder charge as US halts all asylum decisions
- Impact[0] NLP[0.0]: JMU researcher shares diabetes prevention tips amid holiday season
- Impact[0] NLP[0.0]: Families urged to discuss driving safety as population of older drivers grows
- Impact[50] NLP[0.0]: November Athlete of the Month: Oak Hills Bella Holly
- Impact[22] NLP[0.27]: A few flurries this morning, with a bit more snow for the western mountains
- Impact[0] NLP[0.0]: Holiday of Lights opens for 2025-2026 season
- Impact[50] NLP[0.0]: Beckley Salvation Army celebrates first Thanksgiving in new facility
- Impact[0] NLP[0.0]: Dollys Diner provides free Thanksgiving meals to Mercer County community
- Impact[0] NLP[0.0]: Bluefield Union Mission feeds community on Thanksgiving Day
- Impact[0] NLP[0.0]: Hometown Hero: Dr. Eric Shrader - Impact[0] NLP[0.0]: Hometown Hero: Dr. Eric Shrader
- Impact[0] NLP[0.0]: WVVAs Pigskin Prophet: Week 13 - Impact[0] NLP[0.0]: WVVAs Pigskin Prophet: Week 13
- Impact[50] NLP[0.0]: Warriors Ready to Take the Next Step - Impact[50] NLP[0.0]: Warriors Ready to Take the Next Step
- Impact[0] NLP[0.0]: See some of your results from WVVA's '20 Days of Giving' - Impact[0] NLP[0.0]: See some of your results from WVVA's '20 Days of Giving'
- Impact[0] NLP[0.4]: Chilly and windy for Thanksgiving, with colder weather tonight - Impact[0] NLP[0.4]: Chilly and windy for Thanksgiving, with colder weather tonight
- Impact[50] NLP[0.0]: Two West Virginia National Guard members shot in D.C. in targeted attack; suspect identified
- Impact[0] NLP[0.0]: Small Business Administration urges shoppers to support local businesses - Impact[0] NLP[0.0]: Small Business Administration urges shoppers to support local businesses
- Impact[0] NLP[0.0]: Restaurant gives back to McDowell County community on Thanksgiving - Impact[0] NLP[0.0]: Restaurant gives back to McDowell County community on Thanksgiving
- Impact[0] NLP[0.0]: AAA shares safety tips for busy holiday shopping areas - Impact[0] NLP[0.0]: AAA shares safety tips for busy holiday shopping areas
- Impact[0] NLP[0.0]: Bluefield Union Mission distributes 300 Thanksgiving food bags to community - Impact[0] NLP[0.0]: Bristol Rhythm & Roots announces more of its 2026 lineup
- Impact[0] NLP[0.0]: 2 National Guard members shot in an ambush attack just blocks from the White House - Impact[0] NLP[0.0]: KPT small businesses prep for holiday weekend shoppers
- Impact[0] NLP[0.17]: Public Service Commission continues current rates for Black Diamond Power Co. during investigation - Impact[0] NLP[0.0]: VSP: Warrants issued for missing Union football coach
- Impact[0] NLP[0.0]: Several cheese products recalled due to listeria risk - Impact[0] NLP[0.0]: Over 5,000 runners compete in 20th annual Turkey Trot
- Impact[0] NLP[0.0]: Town of Tazewell gears up for Christmas festivities - Impact[0] NLP[0.0]: Haven of Mercy Ministries feeds 4,000 community members
- Impact[15] NLP[0.07]: CodeRED platform attack affects thousands of organizations nationwide - Impact[0] NLP[0.0]: Fern & Fable Collective to open Friday in Jonesborough
- Impact[0] NLP[0.0]: 100+ attend free tri-annual Father/Daughter Dance in Greenbrier County
- Impact[0] NLP[0.0]: Virginia Troopers asks you to make buckling up a Thanksgiving tradition
- Impact[50] NLP[0.0]: Two sought in Campbell County armed robbery
- Impact[0] NLP[0.0]: Red Cross offers steps to keep your Thanksgiving cooking safe
- Impact[50] NLP[0.0]: Lady Warriors Hungry for Another Trip to States
- Impact[9] NLP[0.18]: Boil Water advisory lifted for parts of Raleigh County
- Impact[0] NLP[0.0]: Will politics dominate your Thanksgiving? New poll shows partisan motivation ahead of midterms
- Impact[0] NLP[0.0]: Richlands man granted early release from supervised probation
- Impact[0] NLP[0.0]: Dominion customers face higher bills despite reduced rate request
- Impact[0] NLP[0.0]: Shooting into home leads to two arrests and guns seized
- Impact[65] NLP[0.1]: Chase ends with WVSP cruiser crash
- Impact[0] NLP[0.0]: Judge issues permanent injunction; West Virginia must allow religious vaccine exemptions under state law
- Impact[0] NLP[0.0]: New fee plan asks international visitors to pay fair share to make national parks beautiful again
- Impact[0] NLP[0.0]: Deputies searching for suspects after shooting in parking lot at FedEx facility
- Impact[0] NLP[0.0]: Dont let unsafe driving behaviors or theft ruin Black Friday shopping
- Impact[50] NLP[0.0]: Fill the truck today: Pineville VFD food drive at Sav A Lot, prize drawing at 5pm
- Impact[0] NLP[0.0]: WV students - Win up to $5,000 for college savings with the When I Grow Up essay contest
- Impact[37] NLP[0.1]: Richmond FBI offers $20k reward for information on Florida womans death
- Impact[50] NLP[0.0]: Waynesboro man charged with abduction, rape
- Impact[10] NLP[0.0]: Morgantown man arrested for sexually abusing 9-year-old daughter in 2004
- Impact[50] NLP[0.0]: Feast of Sharing provides warm meal & clothes - Impact[50] NLP[0.0]: Feast of Sharing provides warm meal & clothes
- Impact[0] NLP[0.0]: USPS JC site moving from East Main to North Roan St.
- Impact[7] NLP[0.0]: Preparations underway for Union HS game as search continues - Impact[7] NLP[0.0]: Preparations underway for Union HS game as search continues
- Impact[0] NLP[0.0]: DC shooting suspect worked for CIA in Afghanistan: CIA - Impact[0] NLP[0.0]: DC shooting suspect worked for CIA in Afghanistan: CIA
- Impact[0] NLP[0.0]: Ladies Raising Livestock Conference to be held on Feb. 21
- Impact[0] NLP[0.0]: Christmas tree farms open for the season
- Impact[0] NLP[0.0]: Kingsport store prepares for the holiday rush
- Impact[0] NLP[0.0]: Turkey Trot Thanksgiving a tradition for many families
- Impact[0] NLP[0.0]: Haven of Mercy volunteers prepare to feed thousands
- Impact[0] NLP[0.33]: Family and friends of double homicide victims speak out - Impact[0] NLP[0.33]: Family and friends of double homicide victims speak out
- Impact[0] NLP[0.0]: Timeline: The search for fugitive coach Travis Turner - Impact[0] NLP[0.0]: Timeline: The search for fugitive coach Travis Turner
- Impact[0] NLP[0.0]: Restaurants prepare to serve on Thanksgiving - Impact[5] NLP[0.67]: Clouds and cold overnight, sun and clouds Saturday
- Impact[0] NLP[0.0]: VSP: Warrants issued for missing Union football coach - Impact[37] NLP[0.27]: Brights Zoo announces death of rare giraffe Kipekee
- Impact[0] NLP[0.33]: Sheriff: Man found dead in Lee County - Impact[0] NLP[0.0]: 1 of 2 National Guard members shot near White House dies
- Impact[0] NLP[0.27]: Passing clouds, windy and cold tonight - Impact[0] NLP[0.0]: Jonesborough shines with Christmas tree lighting
- Impact[0] NLP[0.0]: National Guard members shot near WH, in critical condition - Impact[0] NLP[0.35]: Candle near combustible cause of fire in Bristol, Va.
- Impact[0] NLP[0.0]: Over 5,000 runners compete in 20th annual Turkey Trot - Impact[0] NLP[0.0]: Residents discuss why they shop in-person on Black Friday
- Impact[0] NLP[0.0]: Fern & Fable Collective to open Friday in Jonesborough - Impact[10] NLP[0.12]: Older brother recounts rescuing 10-year-old in ATV accident
- Impact[0] NLP[0.0]: Family of Travis Turner claims Turner left residence with firearm
- Impact[0] NLP[0.0]: Local couple faces raises concerns about local dealership - Impact[0] NLP[0.0]: Local couple faces raises concerns about local dealership
- Impact[0] NLP[0.0]: High School Football Scores: November 28, 2025
- Impact[0] NLP[0.0]: Manhunt continues for fugitive Southwest Virginia high school football coach - Impact[0] NLP[0.0]: Manhunt continues for fugitive Southwest Virginia high school football coach
- Impact[0] NLP[0.0]: UPDATE: Man surrenders after tense standoff with Greene County deputies
- Impact[0] NLP[0.0]: Shoppers flock to The Pinnacle for Black Friday bargains, kicking off holiday season early
- Impact[0] NLP[0.0]: Bristol community mourns after double homicide on Lily Street - Impact[0] NLP[0.0]: Bristol community mourns after double homicide on Lily Street
- Impact[0] NLP[0.0]: Missing Virginia high school coach charged with child pornography, police say - Impact[0] NLP[0.0]: Bristol Rhythm & Roots Reunion unveils initial 25th anniversary lineup
- Impact[0] NLP[0.0]: Tennessee launches winter trout stocking with over 70,000 fish at 40 local fishing spots
- Impact[0] NLP[0.0]: Spotless giraffe Kipekee passes away at Brights Zoo
- Impact[0] NLP[0.0]: Tennessee inmate who killed Chattanooga State student declines to choose execution method
- Impact[10] NLP[0.0]: Black Friday planning: What stores are open, closed on Thanksgiving Day
- Impact[0] NLP[0.0]: Lee County Sheriff's Office investigating body found in St Charles
- Impact[0] NLP[0.0]: Virginia State Police continue search for missing football coach
- Impact[0] NLP[0.0]: Bristol, Tennessee police investigating double homicide, victims identified
- Impact[0] NLP[0.0]: Ceremony to remember homeless people who died in our region
- Impact[0] NLP[0.0]: High School Basketball Scores and Highlights: November 26, 2025
- Impact[0] NLP[0.0]: We Salute You: October 2025
- Impact[0] NLP[0.0]: Downtown Johnson City bars to host Santacon
- Impact[0] NLP[0.0]: UPDATE: Virginia State Police searching for Union head football coach Travis Turner
- Impact[0] NLP[0.0]: Scooters Coffee to open new drive-thru in Bristol, Tenn. next month
- Impact[8] NLP[0.0]: Virginia State Police warn citizens of scam calls in the area
- Impact[0] NLP[0.1]: Bristol, Tenn. homicide victims' loved ones speak out
- Impact[0] NLP[0.0]: New $80M resort opens in Pigeon Forge, a big draw for Tennessee vacationers - Impact[0] NLP[0.0]: New $80M resort opens in Pigeon Forge, a big draw for Tennessee vacationers
- Impact[0] NLP[0.0]: We Salute You: September 2025 - Impact[0] NLP[0.0]: 7 women facing contraband-related charges in Washington County, Tennessee, authorities say
- Impact[50] NLP[0.0]: Virginia Tech beats Colorado State to move into the winners bracket at Battle 4 Atlantis - Impact[0] NLP[0.0]: 3 local football teams play Friday: a closer look
- Impact[0] NLP[0.0]: Thanksgiving's journey: How it landed on the fourth Thursday of November - Impact[0] NLP[0.43]: Bristol Virginia Fire Department responds to Thanksgiving house fire
- Impact[50] NLP[0.0]: Neighbors: Man involved in Carter County standoff may have had mental issues - Impact[0] NLP[0.0]: Wreaths Across America coming up in December in Johnson City
- Impact[0] NLP[0.0]: Tri-Cities shelters prep for Thanksgiving as concerns grow over unhoused population - Impact[0] NLP[0.0]: Missing Virginia high school coach charged with child pornography, police say
- Impact[0] NLP[0.0]: Hintons Ritz Theatre to show free holiday movies leading up to Christmas - Impact[0] NLP[0.0]: Tennessee inmate who killed Chattanooga State student declines to choose execution method
- Impact[0] NLP[0.0]: Trump: Animal who shot National Guard members will pay a very steep price - Impact[0] NLP[0.0]: Rye Cove advances to state semifinals, Eastside and Greeneville's seasons come to an end
- Impact[50] NLP[0.0]: Governor Morrisey releases statement after two West Virginia National Guard members reportedly shot in Washington D.C. - Impact[0] NLP[0.0]: Eastside and Rye Cove gear up for region championship rematch
- Impact[0] NLP[0.0]: 2 National Guard members shot near White House, suspect in custody - Impact[0] NLP[0.0]: Bristol, Tennessee police investigating double homicide, victims identified
- Impact[0] NLP[0.0]: Bluefield West Virginia Police Department releases bench warrant list - Impact[0] NLP[0.0]: Bristol, Virginia church serves holiday spirit with annual Thanksgiving meal for community
- Impact[0] NLP[0.5]: Dozens dead, nearly 300 missing in Hong Kong high-rise fire - Impact[0] NLP[0.0]: Coaches weigh in ahead of postseason weekend
- Impact[0] NLP[0.0]: Major Cooldown Tonight as our Showers Exit, Thanksgiving Will Be a Chilly One! - Impact[0] NLP[0.0]: Tennessee's 7th District race draws national spotlight as election nears
- Impact[0] NLP[0.0]: Will mail come this weekend? USPS delivery changes, post office closures planned for Thanksgiving holiday - Impact[0] NLP[0.0]: Stateline Sports Reporters Podcast: Ridgeview vs Union Preview
- Impact[0] NLP[0.0]: Which grocery stores are open for Thanksgiving 2025? - Impact[0] NLP[0.0]: Spotless giraffe Kipekee passes away at Brights Zoo
- Impact[15] NLP[0.33]: Dont let food poisoning crash your Thanksgiving dinner - Impact[0] NLP[0.0]: Lee County Sheriff's Office investigating after body found in St. Charles
- Impact[0] NLP[0.0]: High School Basketball Scores and Highlights: November 28, 2025
- Impact[87] NLP[0.0]: Webster Springs community mourns West Virginia National Guard member killed in attack
- Impact[0] NLP[0.0]: Is giftflation blowing up your holiday budget? Heres how to fight it.
- Impact[65] NLP[0.33]: Person facing charges in Kanawha County side-by-side crash
- Impact[0] NLP[0.0]: Pretended to be 14-year-old boy and coerced young girls into self-harm, sexual activity online for years 53-year-old Ohio man sentenced
- Impact[0] NLP[0.0]: West Virginia National Guards U.S. Army Spc. Sarah Beckstrom passes away
- Impact[0] NLP[0.0]: StormTracker 59s 2025-26 Winter Season Outlook for the two-Virginias
- Impact[20] NLP[0.25]: Brutal wind chills arrive for Thanksgiving, cold temperatures to continue - Impact[20] NLP[0.25]: Brutal wind chills arrive for Thanksgiving, cold temperatures to continue
- Impact[0] NLP[0.0]: Tips on keeping up with your packages this holiday season - Impact[0] NLP[0.0]: Tips on keeping up with your packages this holiday season
- Impact[0] NLP[0.0]: Tips on staying ahead of travel delays this holiday season - Impact[0] NLP[0.0]: Tips on staying ahead of travel delays this holiday season
- Impact[0] NLP[0.0]: Thanksgiving Travel projections expect busy week on highways, at airports - Impact[0] NLP[0.0]: Thanksgiving Travel projections expect busy week on highways, at airports
- Impact[0] NLP[0.0]: Lifeline Church Hinton Youth Group serves up holiday cheer and clean windshields - Impact[0] NLP[0.0]: What a federal ban on THC-infused drinks and snacks could mean for the hemp industry
- Impact[50] NLP[0.0]: Beckley psychiatrist gives advice on dealing with family drama during the holidays - Impact[0] NLP[0.0]: Trump says hes canceling all executive orders Biden didnt personally sign
- Impact[48] NLP[0.5]: Preliminary report released on fatal Rolling Thunder Mine accident - Impact[0] NLP[0.0]: Holiday shoppers looking for ways to stretch a dollar
- Impact[0] NLP[0.0]: How artificial intelligence is impacting modern healthcare - Impact[0] NLP[0.0]: Gas prices drop below $3 per gallon, lowest since 2021
- Impact[0] NLP[0.0]: President considers attending U.S. Army Spc. Beckstroms funeral
- Impact[0] NLP[0.0]: A peacekeeper: Senator Shelley Moore Capito honors memory of fallen U.S. Army Specialist Sarah Beckstrom
- Impact[0] NLP[0.0]: Walmart recalls 200K camp stoves over burn risk
- Impact[0] NLP[0.0]: Quilts of Valor honor unique stories of service
Database insertion/update complete. 293 stories were processed and inserted/updated. Database insertion/update complete. 293 stories were processed and inserted/updated.
Cleaning duplicate summaries from the database... Cleaning duplicate summaries from the database...
Cleaned 14 duplicate entries. Cleaned 16 duplicate entries.
Process finished and connection closed. Process finished and connection closed.

View File

@@ -422,7 +422,7 @@ function format_date_with_ordinal(date) {
// Format today's date as YYYY-MM-DD to match the API response keys // Format today's date as YYYY-MM-DD to match the API response keys
const todayFormatted = `${year}-${month}-${day}`; const todayFormatted = `${year}-${month}-${day}`;
const url = 'https://wx.stoat.org/calendar/wikimedia_onthisday.json'; const url = 'https://calendar.wx4rlx.org/wikimedia_onthisday.json';
const cacheBustingUrl = url; //`${url}?v=${formattedDate}`; const cacheBustingUrl = url; //`${url}?v=${formattedDate}`;
return $.getJSON(cacheBustingUrl) return $.getJSON(cacheBustingUrl)

View File

@@ -1,16 +1,28 @@
<?php <?php
// Tell the browser/client that we are sending JSON data
header('Content-Type: application/json');
// Connecting, selecting database // Connecting, selecting database
$dbconn = pg_connect("host=localhost dbname=nws user=nws password=nws") $dbconn = pg_connect("host=localhost dbname=nws user=nws password=nws")
or die('Could not connect: ' . pg_last_error()); or die('Could not connect: ' . pg_last_error());
$camid=$_GET['camid']; // Check if camid is actually set to avoid warnings
if (!isset($_GET['camid'])) {
echo json_encode(array("error" => "No camid specified"));
exit;
}
$camid = $_GET['camid'];
// Performing SQL query // Performing SQL query
// Always treat hydro and airport as booleans - convert to true/false // SECURITY FIX: Changed to use $1 placeholder instead of direct variable injection
$query = "SELECT *, COALESCE(hydro, false) as hydro, COALESCE(airport, false) as airport FROM cams WHERE camid = '{$camid}'"; $query = "SELECT *, COALESCE(hydro, false) as hydro, COALESCE(airport, false) as airport FROM cams WHERE camid = $1";
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
// Printing results in HTML // SECURITY FIX: Use pg_query_params to safely bind the $camid variable
$result = pg_query_params($dbconn, $query, array($camid))
or die('Query failed: ' . pg_last_error());
// Processing results
$array = array(); $array = array();
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
// Ensure hydro is a proper boolean // Ensure hydro is a proper boolean
@@ -20,9 +32,25 @@ while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$array[] = $line; $array[] = $line;
} }
// Debug: log the data being sent // --- LOGGING SECTION START ---
error_log("Single.php response for camid $camid: " . json_encode($array));
// 1. Create a temporary copy for the logs
$logData = $array;
// 2. Remove the clutter fields from the copy
foreach ($logData as &$row) {
unset($row['errorcode']);
// You can also uncomment the line below if you want to hide the long 'geom' string from logs
unset($row['geom']);
}
unset($row); // Break the reference
// 3. Log the clean data
// error_log("Single.php response for camid $camid: " . json_encode($logData));
// --- LOGGING SECTION END ---
// Output the ORIGINAL full array (including errorcode) to the client
echo json_encode($array); echo json_encode($array);
// Free resultset // Free resultset
@@ -30,5 +58,4 @@ pg_free_result($result);
// Closing connection // Closing connection
pg_close($dbconn); pg_close($dbconn);
?> ?>

117
today.txt
View File

@@ -1,59 +1,60 @@
Date/Time of Ob (Z) Station Number Station Name New Precip New Snow Snow Depth Comments Date/Time of Ob (Z) Station Number Station Name New Precip New Snow Snow Depth Comments
2025-11-27 12:39 PM WV-MA-10 Rivesville 1.7 N 0.18 NA NA 2025-11-28 10:36 AM WV-NC-3 Runa 0.1 W T T T Flurries at dark. With skiff on ground this am . 25 degrees.
2025-11-27 11:09 AM WV-KN-5 St. Albans 1.0 WNW 0.07 0.0 0.0 Showers yesterday and partly cloudy at observation this morning. 2025-11-28 10:51 AM WV-LN-3 Branchland 5.6 ESE T NA NA flurries
2025-11-27 11:27 AM WV-DD-2 West Union 8.2 NE 0.07 NA NA 2025-11-28 02:12 PM WV-MA-10 Rivesville 1.7 N NA NA NA
2025-11-27 11:21 AM WV-RT-4 Harrisville 3.9 NNE 0.08 0.0 0.0 2025-11-28 11:21 AM WV-LW-6 Weston 5.1 NW T T NA
2025-11-27 11:24 AM WV-HN-9 New Cumberland 2.7 NNE 0.06 T NA 2025-11-28 11:42 AM WV-DD-2 West Union 8.2 NE T NA NA Snow
2025-11-27 11:27 AM WV-MA-14 Fairmont 0.8 SSW 0.11 NA NA Cloudy and 30. 2025-11-28 11:36 AM WV-MA-14 Fairmont 0.8 SSW 0.01 0.2 NA Cloudy and 25. Roads are sheets of ice.
2025-11-27 11:57 AM WV-MH-5 Moundsville 3.6 SSW 0.05 T NA 2025-11-28 11:38 AM WV-HN-9 New Cumberland 2.7 NNE 0.02 0.2 0.0
2025-11-27 11:59 AM WV-KN-55 Charleston 4.0 SSE 0.07 NA NA 2025-11-28 11:57 AM WV-PR-20 Bruceton Mills 2.8 S T 0.3 T
2025-11-27 12:01 PM WV-PC-4 Cass 3.7 SW 0.00 0.0 NA Partly cloudy with colder temperatures. 2025-11-28 12:01 PM WV-PT-10 Hurricane 1.6 SSW T T 0.0 Mostly cloudy 30F at ob. A few flurries late yesterday afternoon and again over the past hour.
2025-11-27 12:02 PM WV-MG-7 Morgantown 6.4 WSW 0.12 NA NA 2025-11-28 12:01 PM WV-KN-43 South Charleston 1.6 ENE T NA NA
2025-11-27 12:04 PM WV-BY-16 Bunker Hill 1.5 SW 0.03 0.0 0.0 2025-11-28 12:07 PM WV-PC-4 Cass 3.7 SW 0.01 0.0 NA Partly cloudy and breezy and cold with a skiff of snow.
2025-11-27 12:10 PM WV-MG-16 Morgantown 5.9 SW 0.15 T 0.0 Showers turned to snow flurries after dark yesterday. 2025-11-28 12:08 PM WV-MG-16 Morgantown 5.9 SW 0.02 0.8 0.5 On/off snow showers during period. There was a light daytime dusting of snow. Snow accumulated overnight.
2025-11-27 12:15 PM WV-OH-6 Valley Grove 3.5 NNE 0.06 T NA Temp fell all day yesterday. Dusting of snow. Currently 31.3F. High 50.8 T 7:07 AM (26th); low 31.3 at 6:15 am (27th); bar 30.03 r 2025-11-28 12:08 PM WV-BY-16 Bunker Hill 1.5 SW 0.00 0.0 0.0
2025-11-27 12:23 PM WV-PR-11 Thomas 7.4 N 0.11 0.0 0.0 High 52.6 Low 26.9 Wind gust 21.4 2025-11-28 12:09 PM WV-KN-55 Charleston 4.0 SSE 0.00 0.0 NA
2025-11-27 12:24 PM WV-PR-20 Bruceton Mills 2.8 S 0.26 0.0 0.0 2025-11-28 12:10 PM WV-OH-6 Valley Grove 3.5 NNE 0.00 0.0 NA Currently 27.7F. High 33.8 at 10:08 am; low 27.5 at 1 am; bar 30.09 r
2025-11-27 12:44 PM WV-NC-3 Runa 0.1 W T 0.0 NA 2025-11-28 12:21 PM WV-RT-4 Harrisville 3.9 NNE 0.00 0.0 0.0
2025-11-27 12:45 PM WV-KN-53 South Charleston 0.3 SSW 0.05 0.0 0.0 Maximum temperature: 59.0F minimum temperature: 33.0F 2025-11-28 12:29 PM WV-RT-2 Pennsboro 1.2 ESE 0.00 0.0 NA
2025-11-27 12:49 PM WV-NC-4 Craigsville 0.6 NE 0.12 T 0.0 Temperature 28F degrees. Cloudy 2025-11-28 12:34 PM WV-HS-11 Lost Creek 1.3 NW T T NA Cloudy 29°F flurries and light snow showers off and on all day yesterday but nothing in the tube to actually measure
2025-11-27 12:51 PM WV-JC-3 Ripley 5.8 S 0.10 NA NA 2025-11-28 12:41 PM WV-RL-16 Mount Hope 3.6 WSW 0.00 0.0 NA
2025-11-27 12:52 PM WV-RT-2 Pennsboro 1.2 ESE 0.06 NA NA 2025-11-28 12:43 PM WV-JC-3 Ripley 5.8 S T T NA
2025-11-27 12:55 PM WV-HS-11 Lost Creek 1.3 NW 0.03 T NA Cloudy 32°F measured a trace of snow because of a few flurries last night 2025-11-28 12:45 PM WV-KN-53 South Charleston 0.3 SSW T 0.0 0.0 Maximum temperature: 39.0F minimum temperature: 30.0F
2025-11-27 12:59 PM WV-KN-1 Alum Creek 3.0 E 0.09 0.0 0.0 2025-11-28 12:52 PM WV-KN-33 Charleston 2.6 W T 0.0 0.0
2025-11-27 01:18 PM WV-KN-33 Charleston 2.6 W 0.03 0.0 0.0 2025-11-28 01:01 PM WV-PR-11 Thomas 7.4 N 0.04 0.5 0.5 High 26.9 Low 20.1 Wind gust 17.5
2025-11-27 01:28 PM WV-PT-10 Hurricane 1.6 SSW 0.01 0.0 0.0 A few high clouds 33F at ob. A few showers yesterday morning. 2025-11-28 01:10 PM WV-NC-4 Craigsville 0.6 NE 0.01 T T Temperature 23F degrees Snow Flurries
2025-11-27 01:51 PM WV-GL-4 Glenville 5.9 W 0.17 NA NA 2025-11-28 01:30 PM WV-HY-2 Rig 0.4 NW T T T
2025-11-27 02:23 PM WV-RL-16 Mount Hope 3.6 WSW 0.02 NA NA 2025-11-28 01:52 PM WV-GL-4 Glenville 5.9 W 0.00 0.0 NA
2025-11-27 02:25 PM WV-DD-1 Center Point 2.2 NNW 0.06 T 0.0 2025-11-28 01:53 PM WV-WD-7 Williamstown 0.4 WNW T T T
2025-11-27 02:33 PM WV-CY-3 Clay 0.2 WSW T NA NA 2025-11-28 01:57 PM WV-MC-11 Princeton 0.3 NNW 0.00 0.0 NA
2025-11-27 02:44 PM WV-HM-2 Slanesville 2.1 SE 0.02 NA NA 2025-11-28 01:57 PM WV-DD-1 Center Point 2.2 NNW T T T
2025-11-27 03:18 PM WV-WD-7 Williamstown 0.4 WNW 0.03 T NA 2025-11-28 01:59 PM WV-HM-2 Slanesville 2.1 SE T NA NA
2025-11-27 03:45 PM WV-RL-15 Beckley 0.7 SE T NA NA 2025-11-28 02:12 PM WV-BN-4 Danville 1.8 WSW 0.00 0.0 NA
2025-11-27 04:52 PM WV-PC-7 Green Bank 1.2 ESE 0.00 0.0 NA 2025-11-28 05:43 PM WV-CY-3 Clay 0.2 WSW 0.00 0.0 NA
2025-11-27 05:44 PM WV-MC-11 Princeton 0.3 NNW 0.01 NA NA 2025-11-28 12:30 PM WV-JF-15 Harpers Ferry 12.8 SSW T T NA Almost imperceptible light flurries around 10:30 PM. Wouldn't be sure except multiple people independently noted the flakes in the air.
2025-11-27 12:10 PM WV-MR-3 Union 2.4 SSE 0.00 0.0 NA 2025-11-28 12:51 PM WV-MR-3 Union 2.4 SSE 0.00 0.0 NA
2025-11-27 12:49 PM WV-JF-15 Harpers Ferry 12.8 SSW 0.01 0.0 NA Brief shower from 2:40 - 2:45 PM. 2025-11-28 12:33 PM WV-KN-50 Charleston 5.9 SE 0.00 0.0 NA
2025-11-27 12:55 PM WV-LN-3 Branchland 5.6 ESE 0.00 0.0 NA 2025-11-28 12:41 PM WV-BY-13 Martinsburg 2.9 SE 0.00 0.0 NA
2025-11-27 12:51 PM WV-BY-13 Martinsburg 2.9 SE 0.03 NA NA 2025-11-28 01:04 PM WV-PR-14 Bruceton Mills 9.3 SE T 0.5 0.5
2025-11-27 12:52 PM WV-CB-17 Huntington 1.7 ESE 0.00 0.0 0.0 2025-11-28 02:22 PM WV-WT-1 New Martinsville 6.5 E T T T Prior Day: Temperatures max 35°, min 27°. Sunshine 0.5 kWh/m2/Day. Humidity 73%. Wind,9, gust 40, SW.
2025-11-27 12:57 PM WV-WN-5 Fort Gay 3.3 ENE 0.00 0.0 NA Cloudy yesterday. A few snowflakes, 27° this morning.
2025-11-27 01:01 PM WV-GL-3 Auburn 4.0 E 0.09 NA NA 2025-11-28 01:14 PM WV-CB-17 Huntington 1.7 ESE 0.00 0.0 0.0
2025-11-27 01:02 PM WV-HN-10 Chester 3.0 SSE 0.09 NA NA 2025-11-28 01:19 PM WV-WN-5 Fort Gay 3.3 ENE 0.00 0.0 NA
2025-11-27 03:07 PM WV-KN-50 Charleston 5.9 SE 0.04 0.0 NA 2025-11-28 01:28 PM WV-DD-4 Auburn 8.3 ENE 0.00 0.0 NA
2025-11-27 02:01 PM WV-WT-1 New Martinsville 6.5 E 0.04 0.0 0.0 Prior Day: Temperatures max 55°, min 34°. Sunshine 1.3 kWh/m2/Day. Humidity 34%. Wind,9, gust 37, SW. 2025-11-28 02:44 PM WV-GL-3 Auburn 4.0 E T NA NA
Cloudy, hazy to cloudy. Cloudy, 30° this morning. Weather station reads 0.07 inches. 2025-11-28 03:24 PM WV-WD-22 Walker 6.4 NE 0.00 0.0 NA Standing water had ice over and snow flakes falling but no signs that it will accumulate.
2025-11-27 01:24 PM WV-PR-14 Bruceton Mills 9.3 SE 0.23 NA NA 2025-11-28 03:52 PM WV-CB-23 Huntington 3.4 ESE 0.00 0.0 NA
2025-11-27 01:42 PM WV-DD-4 Auburn 8.3 ENE 0.07 NA NA 2025-11-28 05:38 PM WV-PT-14 Buffalo 0.7 NE 0.00 0.0 0.0 29F at ob
2025-11-27 02:07 PM WV-PT-14 Buffalo 0.7 NE 0.00 0.0 0.0 32F at ob 2025-11-28 01:22 PM WV-HN-10 Chester 3.0 SSE 0.01 NA NA Melted snow
2025-11-27 02:22 PM WV-PT-16 Fraziers Bottom 4.2 SSW 0.00 0.0 NA 2025-11-28 01:52 PM WV-KN-5 St. Albans 1.0 WNW 0.00 0.0 0.0 Clearing skies this morning.
2025-11-27 04:02 PM WV-GB-8 Rupert 0.3 ENE 0.00 0.0 NA 2025-11-28 04:03 PM WV-KN-1 Alum Creek 3.0 E T T 0.0
2025-11-27 12:00 PM OH-AT-1 Athens 1.3 N 0.02 NA NA 2025-11-28 12:04 PM OH-MS-7 Albany 3.0 SSE 0.00 0.0 0.0 ~90% overcast, wsw 1.6mph, 27°F, 1040.5 mb, rh 55%, dp 13°F
2025-11-27 12:12 PM OH-MS-7 Albany 3.0 SSE 0.08 0.0 0.0 ~90% overcast, W 1.8 mph, 31°F, 1036.1 mb, rh 48%, dp 13°F 2025-11-28 12:12 PM OH-AT-21 Athens 4.6 ESE 0.00 0.0 NA
2025-11-27 12:40 PM OH-AT-9 Glouster 3.6 SW 0.06 NA NA 2025-11-28 12:44 PM OH-AT-9 Glouster 3.6 SW T NA NA
2025-11-27 01:11 PM OH-AT-21 Athens 4.6 ESE 0.08 NA NA 2025-11-28 12:59 PM OH-WS-16 Coolville 5.3 N 0.00 0.0 NA
2025-11-27 02:05 PM OH-JC-6 Wellston 0.7 NNE T NA NA 2025-11-28 01:21 PM OH-AT-6 Albany 4.1 NW 0.00 0.0 NA
2025-11-27 02:19 PM OH-AT-16 Athens 2.3 SSE 0.05 NA NA 2025-11-28 01:57 PM OH-AT-1 Athens 1.3 N 0.00 0.0 NA
2025-11-27 04:59 PM OH-MG-3 Glouster 5.7 NE 0.05 T NA 2025-11-28 03:33 PM OH-MG-3 Glouster 5.7 NE T T NA
2025-11-27 05:19 PM OH-AT-3 Stewart 4.6 NNE 0.04 NA NA 2025-11-28 04:59 PM OH-AT-3 Stewart 4.6 NNE 0.00 0.0 NA
2025-11-27 01:12 PM KY-CT-4 Grayson 4.8 NNE T 0.0 0.0 8:00 OBS: partly cloudy, wind W 1 to 5 mph, temp 33F, wind chill 30F, dewpt 22F, RH 65%, bar 30.19” & rising (+ 0.01” last 3 hrs) 2025-11-28 05:15 PM OH-WS-14 Marietta 3.5 NNW 0.00 0.0 NA
2025-11-28 01:00 PM KY-CT-4 Grayson 4.8 NNE 0.00 0.0 0.0 8:00 OBS: partly cloudy, wind WNW 0-3 mph, temp 29F, dewpt 22F, RH 74%, bar 30.31” & rising (+0.04” last 3 hrs)