1<!doctype html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<meta charset="utf-8"> 6<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7<meta name="description" content="Shoals Marine Laboratory energy production, usage, and other island system vitals."> 8<meta name="author" content="Shoals Marine Laboratory"> 9<meta http-equiv="refresh" content="300" /> 10<link rel="shortcut icon" href="/framework/favicon.ico" type="image/vnd.microsoft.icon" /> 11 12<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> 13 14 15<!--<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600&display=swap" rel="stylesheet"> --> 16 17<link rel="preconnect" href="https://fonts.googleapis.com"> 18<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 19<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:[email protected]&display=swap" rel="stylesheet"> 20 21 22 23<link href="/framework/fontawesome/css/all.css" rel="stylesheet"> 24
25<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
25 26 27<!-- for handling of time axis/related to zoom, and just regular chartjs -->
28<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
vendor: 1 bytes, line 28
28
29<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
vendor: 1 bytes, line 29
29
30<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
vendor: 1 bytes, line 30
30
31<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>
31 32 33<!--animations-->
34<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
vendor: 1 bytes, line 34
34
35<script src="/framework/js/gauge.min.js"></script>
35 36 37 38 39<!-- Custom styles for this template --> 40<link href="/framework/main.css" rel="stylesheet"> 41 42<!-- allows drag and zoom function to work --> 43<style> 44canvas { 45 -moz-user-select: none; 46 -webkit-user-select: none; 47 -ms-user-select: none; 48} 49</style> 50 51<title>Sustainable SML</title> 52 53</head> 54 55<body> 56 57<nav class="navbar navbar-expand-lg navbar-dark bg-dark"> 58 <div class="container"> 59 <a class="navbar-brand" href="/"><img width="162" src="/framework/logo.png"></a> 60 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSML" aria-controls="navbarSML" aria-expanded="false" aria-label="Toggle navigation"> 61 <span class="navbar-toggler-icon"></span> 62 </button> 63 64 <div class="collapse navbar-collapse" id="navbarSML"> 65 <ul class="navbar-nav mr-auto"> 66 <li class="nav-item active"> 67 <a class="nav-link" href="/"><i class="fas fa-home"></i></a> 68 </li> 69 70 <li class="nav-item dropdown"> 71 <a class="nav-link dropdown-toggle " href="#" id="dropdownSolar" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Solar</a> 72 <div class="dropdown-menu" aria-labelledby="dropdownSolar"> 73 <a class="dropdown-item " href="/pages/detail.php?tile=ecb_combox_instantaneous">Main Panels</a> 74 <a class="dropdown-item " href="/pages/detail.php?tile=kHouse_combox_instantaneous">K-House Panels</a> 75 <!--<a class="dropdown-item " href="/pages/detail.php?tile=tower_axs_instantaneous">Tower Grid Panels</a>--> 76 </div> 77 </li> 78 79 <li class="nav-item "> 80 <a class="nav-link" href="/pages/detail.php?tile=ecb_acuDC_instantaneous">Wind</a> 81 </li> 82 83 84 <li class="nav-item dropdown"> 85 <a class="nav-link dropdown-toggle " href="#" id="dropdownGenerator" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Grid</a> 86 <div class="dropdown-menu" aria-labelledby="dropdownGenerator"> 87 <a class="dropdown-item " href="/pages/detail.php?tile=grassLab_ab3000_generator_totalRealPower">Generator Supply</a> 88 <a class="dropdown-item " href="/pages/detail.php?tile=grassLab_ab3000_generatorVsIslandUse">% Generator Supply</a> 89 <a class="dropdown-item " href="/pages/detail.php?tile=ecb_combox_instantaneous_etAl">ECB vs. Generator</a> 90 <a class="dropdown-item " href="/pages/detail.php?tile=kHouse_combox_instantaneous_etAl">K-House Combined</a> 91 </div> 92 </li> 93 94 95 <li class="nav-item dropdown"> 96 <a class="nav-link dropdown-toggle " href="#" id="dropdownBattery" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Batteries</a> 97 <div class="dropdown-menu" aria-labelledby="dropdownBattery"> 98 <a class="dropdown-item " href="/pages/detail.php?tile=ecb_combox_battery">Main Batteries</a> 99 100 <a class="dropdown-item " href="/pages/detail.php?tile=kHouse_combox_battery">K-House Batteries</a> 101 <!--<a class="dropdown-item" href="/pages/detail.php?tile=tower_axs_batteryVoltage">Tower Voltage</a> 102 <a class="dropdown-item" href="/pages/detail.php?tile=tower_axs_batteryTemperature">Tower Temp</a> 103 <a class="dropdown-item" href="/pages/detail.php?tile=tower_axs_batteryTemperatureProbe">Tower Temp Probe</a>--> 104 <!-- 105 <a class="dropdown-item " href="/pages/detail.php?tile=tower_axs_battery">Tower Batteries</a> 106 --> 107 </div> 108 </li> 109 110 <li class="nav-item dropdown"> 111 <a class="nav-link dropdown-toggle " href="#" id="dropdownPyranometer" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Pyranometer</a> 112 <div class="dropdown-menu" aria-labelledby="dropdownPyranometer"> 113 <a class="dropdown-item " href="/pages/detail.php?tile=ecb_pyranometer_E_Irradiance_Global_Horizontal_1">GHI</a> 114 <a class="dropdown-item " href="/pages/detail.php?tile=ecb_pyranometer_E_BOM_Temp_1">Solar Panel Temperature</a> 115 <a class="dropdown-item " href="/pages/detail.php?tile=ecb_pyranometer_E_BaseMet_AirTemperature">Air Temperature</a> 116 </div> 117 </li> 118 119 <li class="nav-item dropdown"> 120 <a class="nav-link dropdown-toggle " href="#" id="dropdownConsume" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Consumption</a> 121 <div class="dropdown-menu" aria-labelledby="dropdownConsume"> 122 <a class="dropdown-item " href="/pages/detail.php?tile=grassLab_ab3000_islandUse_totalRealPower">Main Grid Usage</a> 123 <a class="dropdown-item " href="/pages/detail.php?tile=ecb_combox_instantaneousLoad">Main Grid Inverters</a> 124 <a class="dropdown-item " href="/pages/detail.php?tile=kHouse_combox_instantaneousLoad">K-House Grid Inverters</a> 125 <!--<a class="dropdown-item " href="/pages/detail.php?tile=tower_ab3000_totalRealPower">Tower Grid Usage</a> 126 <a class="dropdown-item " href="/pages/detail.php?tile=tower_ab1000_instantaneous">Tower Grid Buy/Sell</a>-->
126 127 </div> 128 </li> 129 130 <li class="nav-item dropdown"> 131 <a class="nav-link dropdown-toggle " href="#" id="dropdownWater" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Water</a> 132 <div class="dropdown-menu" aria-labelledby="dropdownWater"> 133 <a class="dropdown-item " href="/pages/detail.php?tile=grassLab_waterMeter_daily&time=week">Island Water Usage</a> 134 <a class="dropdown-item " href="/pages/detail.php?tile=tower_wunderground_daily">Precipitation</a> 135 <a class="dropdown-item " href="/pages/detail.php?tile=well_loe_instantaneous&time=week">Well Depth</a> 136 <a class="dropdown-item " href="/pages/detail.php?tile=grassLab_an130_well_daily">Well Water Production</a> 137 <a class="dropdown-item " href="/pages/detail.php?tile=grassLab_an130_ro_daily">RO Water Production</a> 138 139 <div class="dropdown-divider"></div> 140 141 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_etAl">All Sub Water Meters</a> 142 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_bartels_daily">- Bartels</a> 143 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_dorm1_daily">- Dorm 1</a> 144 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_dorm2_daily">- Dorm 2</a> 145 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_dorm3_daily">- Dorm 3</a> 146 147 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_founders_daily">- Founders</a> 148 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_hamilton_daily">- Hamilton</a> 149 150 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_kHouse_daily">- K-House</a> 151 152 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_laighton_daily">- Laighton</a> 153 154 <a class="dropdown-item " href="/pages/detail.php?tile=commons_u100b_pk_daily">- PK</a> 155 156 </div> 157 </li> 158 159 <li class="nav-item dropdown"> 160 <a class="nav-link dropdown-toggle " href="#" id="dropdownMore" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">More</a> 161 <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMore"> 162 <a class="dropdown-item " href="/pages/detail.php?tile=productionThisMonth">Monthly Power Production</a> 163 <a class="dropdown-item " href="/pages/webcam.php">Live Webcams</a> 164 <a class="dropdown-item" href="https://www.wunderground.com/dashboard/pws/KMEKITTE13" target="_blank">Weather Station</a> 165 <a class="dropdown-item" href="https://www.wunderground.com/dashboard/pws/KMEKITTE80" target="_blank">Wind Station</a> 166 <a class="dropdown-item" href="https://www.aishub.net/stations/2809" target="_blank">AIS Station (Ships)</a> 167 168 <a class="dropdown-item " href="/pages/systemList.php">System List</a> 169 <a class="dropdown-item " href="/pages/equipmentList.php">Equipment List</a> 170 <a class="dropdown-item " href="/pages/export.php">CSV Data Export</a> 171 <a class="dropdown-item " href="/pages/credits.php">Credits</a> 172 <a class="dropdown-item" href="https://www.shoalsmarinelaboratory.org/give" target="_blank">Donate to Shoals</a> 173 </div> 174 </li> 175 176 177 </ul> 178 <a class="btn btn-warning mt-2 mt-md-0 mb-2 mb-md-0 d-inline-block d-md-none d-xl-inline-block" href="/pages/webcam.php">Live Webcams</a> 179 </div> 180 </div> 181</nav> 182 183 184<main role="main"> 185 186 187 188 189 190 191<section class="text-center minitron brightMinitron border-top"> 192<div class="container"> 193<div class="row"> 194 195 196 197<div class="col-16 pl-3 pr-3 pl-sm-0 pr-sm-0 mx-auto lead splashText brightMinitron"> 198<h5>Welcome to SML's Sustainability Dashboard</h5> 199<p> Sustainability is a core value for SML, and given our remote location on Appledore Island, understanding our energy demands is critical for decreasing our impact on the surrounding environment. This live dashboard allows our community to view SML's power consumption and energy production via solar, wind, and generators. Collecting this data over time helps our engineering staff and Sustainable Engineering Interns to make informed decisions and improve our sustainable infrastru
199cture. Enjoy! </p> 200</div> 201 202 203</div> <!-- row --> 204</div> <!-- container --> 205</section> 206 207 208 209 210<section class="jumbotron text-center"> 211<div class="container"> 212<!--row--> 213<div class="row mb-4"> 214 215 216 217 218 219 220 221<div class="col-md-6 lead splashText pb-3"> 222 223<canvas id="renewableGeneration"></canvas> 224<div>Renewable Generation: <strong>0.1 kW</strong></div> 225 226
227<script> 228 229var opts = { 230 angle: 0, // The span of the gauge arc 231 lineWidth: 0.15, // The line thickness 232 radiusScale: 1, // Relative radius 233 pointer: { 234 length: 0.6, // // Relative to gauge radius 235 strokeWidth: 0.038, // The thickness 236 color: '#000000' // Fill color 237 }, 238 limitMax: false, // If false, max value increases automatically if value > maxValue 239 limitMin: false, // If true, the min value of the gauge will be fixed 240 colorStart: '#F17E18', // Colors 241 colorStop: '#F17E18', // just experiment with them 242 strokeColor: '#183771', // to see which ones work best for you 243 generateGradient: true, 244 highDpiSupport: true, // High resolution support 245 // renderTicks is Optional 246 renderTicks: { 247 divisions: 5, 248 divWidth: 1.1, 249 divLength: 0.7, 250 divColor: '#ffffff', 251 subDivisions: 3, 252 subLength: 0.5, 253 subWidth: 0.6, 254 subColor: '#369ee4' 255 } 256 257}; 258 259var target = document.getElementById('renewableGeneration'); 260var gauge = new Gauge(target).setOptions(opts); 261 262 263//document.getElementById("renewableGenerationAmount").className = "renewableGenerationAmount"; 264//gauge.setTextField(document.getElementById("renewableGenerationAmount")); 265 266gauge.maxValue = 125.15; 267gauge.setMinValue(0); 268gauge.set(0.1); 269 270gauge.animationSpeed = 60 271 272 273</script>
273 274 275</div> 276 277 278 279<div class="col-md-6 lead splashText text-center text-md-left my-auto"> 280 281 282<div class="row"> 283<div class="col-12"><strong>Summary</strong></div> 284</div> 285<div class="row"> 286<div class="col-12 col-md-6">Total Renewable Power<span class="d-inline d-md-none">: <strong>0.1 kW</strong></span></div><div class="d-none d-md-block col-md-6"><strong>0.1 kW</strong></div> 287</div> 288<div class="row"> 289<div class="col-12 col-md-6">% of Total Demand<span class="d-inline d-md-none">: <strong>4%</strong></span></div><div class="d-none d-md-block col-md-6"><strong>4%</strong></div> 290</div> 291<div class="row"> 292<div class="col-12 col-md-6">Update Time<span class="d-inline d-md-none">: <strong>11:05 PM</strong></span></div><div class="d-none d-md-block col-md-6"><strong>11:05 PM</strong><strong></strong></div> 293</div> 294 295</div> 296 297 298 299 300 301</div> <!-- row --> 302 303 304 305 306 307 308<!-- row --> 309<div class="row"> 310 311 312 313 314<div class="col-md-2 mx-auto lead splashText"> 315<div> 316<a href="/pages/detail.php?tile=ecb_combox_instantaneous"> 317<lottie-player src="/framework/lottie/14051-solar-panel.json" background="transparent" speed="1" style="max-width: 88px;" class="mx-auto" loop autoplay ></lottie-player> 318</a> 319</div> 320<a href="/pages/detail.php?tile=ecb_combox_instantaneous" class="white"> 321Current Solar<br><strong>0.1 kW</strong> 322</a> 323</div> 324 325 326<div class="col-md-2 mx-auto lead splashText"> 327<div> 328<a href="/pages/detail.php?tile=ecb_acuDC_instantaneous"> 329<lottie-player src="/framework/lottie/14049-power-of-wind.json" background="transparent" speed=".5" style="max-width: 88px;" class="mx-auto" loop ></lottie-player> 330</a> 331</div> 332<a href="/pages/detail.php?tile=ecb_acuDC_instantaneous" class="white"> 333Current Wind<br><strong>Unavailable</strong> 334</a> 335</div> 336 337 338<div class="col-md-2 mx-auto lead splashText"> 339<div> 340<a href="/pages/detail.php?tile=ecb_combox_instantaneous"> 341<lottie-player src="/framework/lottie/14045-green-energy.json" background="transparent" speed="1" style="max-width: 88px;" class="mx-auto" loop autoplay ></lottie-player> 342</a> 343</div> 344<a href="/pages/detail.php?tile=ecb_combox_instantaneous" class="white"> 345Peak Green Power<br><strong>33.7 kW</strong> 346</a> 347</div> 348 349 350<div class="col-md-2 mx-auto lead splashText"> 351<div> 352<a href="/pages/detail.php?tile=grassLab_ab3000_islandUse_totalRealPower"> 353<lottie-player src="/framework/lottie/14046-energy-saving.json" background="transparent" speed="0.5" style="max-width: 88px;" class="mx-auto" loop autoplay ></lottie-player> 354</a> 355</div> 356<a href="/pages/detail.php?tile=grassLab_ab3000_islandUse_totalRealPower" class="white"> 357Current Demand<br><strong>2.6 kW</strong> 358</a> 359</div> 360 361 362 363<div class="col-md-2 mx-auto lead splashText"> 364<div> 365<a href="/pages/detail.php?tile=grassLab_waterMeter_hourly&time=week"> 366<lottie-player src="/framework/lottie/14041-water-energy.json" background="transparent" speed="1" style="max-width: 88px;" class="mx-auto" loop ></lottie-player> 367</a> 368</div> 369<a href="/pages/detail.php?tile=grassLab_waterMeter_hourly&time=week" class="white"> 370Water Use<br><strong>Unavailable</strong> 371</a> 372</div> 373 374 375 376 377</div> <!-- row --> 378 379 380 381 382 383<!-- row --> 384<div> 385 386<div style="height: 55vh;" class="mt-4"><canvas id="totalVsRenewable" ></canvas></div> 387 388<div class="mt-2 d-none" id="zoomResetDiv"> 389 <button class="btn btn-primary" onclick="resetZoom()">Reset Zoom</button> 390 <!--<button id="drag-switch" onclick="toggleDragMode()">Disable drag mode</button>--> 391</div> 392 393</div> <!-- row --> 394 395 396 397 398 399 400 401
402<script> 403 404var dragOptions = { 405 animationDuration: 1000 406}; 407 408 409var config = { 410 type: 'line', 411 data: { 412 labels: ['Oct 6, 2026 00:00:00','Oct 6, 2026 00:06:00','Oct 6, 2026 00:12:00','Oct 6, 2026 00:18:00','Oct 6, 2026 00:24:00','Oct 6, 2026 00:30:00','Oct 6, 2026 00:36:00','Oct 6, 2026 00:42:00','Oct 6, 2026 00:48:00','Oct 6, 2026 00:54:00','Oct 6, 2026 01:00:00','Oct 6, 2026 01:06:00','Oct 6, 2026 01:12:00','Oct 6, 2026 01:18:00','Oct 6, 2026 01:24:00','Oct 6, 2026 01:30:00','Oct 6, 2026 01:36:00','Oct 6, 2026 01:42:00','Oct 6, 2026 01:48:00','Oct 6, 2026 01:54:00','Oct 6, 2026 02:00:00','Oct 6, 2026 02:06:00','Oct 6, 2026 02:12:00','Oct 6, 2026 02:18:00','Oct 6, 2026 02:24:00','Oct 6, 2026 02:30:00','Oct 6, 2026 02:36:00','Oct 6, 2026 02:42:00','Oct 6, 2026 02:48:00','Oct 6, 2026 02:54:00','Oct 6, 2026 03:00:00','Oct 6, 2026 03:06:00','Oct 6, 2026 03:12:00','Oct 6, 2026 03:18:00','Oct 6, 2026 03:24:00','Oct 6, 2026 03:30:00','Oct 6, 2026 03:36:00','Oct 6, 2026 03:42:00','Oct 6, 2026 03:48:00','Oct 6, 2026 03:54:00','Oct 6, 2026 04:00:00','Oct 6, 2026 04:06:00','Oct 6, 2026 04:12:00','Oct 6, 2026 04:18:00','Oct 6, 2026 04:24:00','Oct 6, 2026 04:30:00','Oct 6, 2026 04:36:00','Oct 6, 2026 04:42:00','Oct 6, 2026 04:48:00','Oct 6, 2026 04:54:00','Oct 6, 2026 05:00:00','Oct 6, 2026 05:06:00','Oct 6, 2026 05:12:00','Oct 6, 2026 05:18:00','Oct 6, 2026 05:24:00','Oct 6, 2026 05:30:00','Oct 6, 2026 05:36:00','Oct 6, 2026 05:42:00','Oct 6, 2026 05:48:00','Oct 6, 2026 05:54:00','Oct 6, 2026 06:00:00','Oct 6, 2026 06:06:00','Oct 6, 2026 06:12:00','Oct 6, 2026 06:18:00','Oct 6, 2026 06:24:00','Oct 6, 2026 06:30:00','Oct 6, 2026 06:36:00','Oct 6, 2026 06:42:00','Oct 6, 2026 06:48:00','Oct 6, 2026 06:54:00','Oct 6, 2026 07:00:00','Oct 6, 2026 07:06:00','Oct 6, 2026 07:12:00','Oct 6, 2026 07:18:00','Oct 6, 2026 07:24:00','Oct 6, 2026 07:30:00','Oct 6, 2026 07:36:00','Oct 6, 2026 07:42:00','Oct 6, 2026 07:48:00','Oct 6, 2026 07:54:00','Oct 6, 2026 08:00:00','Oct 6, 2026 08:06:00','Oct 6, 2026 08:12:00','Oct 6, 2026 08:18:00','Oct 6, 2026 08:24:00','Oct 6, 2026 08:30:00','Oct 6, 2026 08:36:00','Oct 6, 2026 08:42:00','Oct 6, 2026 08:48:00','Oct 6, 2026 08:54:00','Oct 6, 2026 09:00:00','Oct 6, 2026 09:06:00','Oct 6, 2026 09:12:00','Oct 6, 2026 09:18:00','Oct 6, 2026 09:24:00','Oct 6, 2026 09:30:00','Oct 6, 2026 09:36:00','Oct 6, 2026 09:42:00','Oct 6, 2026 09:48:00','Oct 6, 2026 09:54:00','Oct 6, 2026 10:00:00','Oct 6, 2026 10:06:00','Oct 6, 2026 10:12:00','Oct 6, 2026 10:18:00','Oct 6, 2026 10:24:00','Oct 6, 2026 10:30:00','Oct 6, 2026 10:36:00','Oct 6, 2026 10:42:00','Oct 6, 2026 10:48:00','Oct 6, 2026 10:54:00','Oct 6, 2026 11:00:00','Oct 6, 2026 11:06:00','Oct 6, 2026 11:12:00','Oct 6, 2026 11:18:00','Oct 6, 2026 11:24:00','Oct 6, 2026 11:30:00','Oct 6, 2026 11:36:00','Oct 6, 2026 11:42:00','Oct 6, 2026 11:48:00','Oct 6, 2026 11:54:00','Oct 6, 2026 12:00:00','Oct 6, 2026 12:06:00','Oct 6, 2026 12:12:00','Oct 6, 2026 12:18:00','Oct 6, 2026 12:24:00','Oct 6, 2026 12:30:00','Oct 6, 2026 12:36:00','Oct 6, 2026 12:42:00','Oct 6, 2026 12:48:00','Oct 6, 2026 12:54:00','Oct 6, 2026 13:00:00','Oct 6, 2026 13:06:00','Oct 6, 2026 13:12:00','Oct 6, 2026 13:18:00','Oct 6, 2026 13:24:00','Oct 6, 2026 13:30:00','Oct 6, 2026 13:36:00','Oct 6, 2026 13:42:00','Oct 6, 2026 13:48:00','Oct 6, 2026 13:54:00','Oct 6, 2026 14:00:00','Oct 6, 2026 14:06:00','Oct 6, 2026 14:12:00','Oct 6, 2026 14:18:00','Oct 6, 2026 14:24:00','Oct 6, 2026 14:30:00','Oct 6, 2026 14:36:00','Oct 6, 2026 14:42:00','Oct 6, 2026 14:48:00','Oct 6, 2026 14:54:00','Oct 6, 2026 15:00:00','Oct 6, 2026 15:06:00','Oct 6, 2026 15:12:00','Oct 6, 2026 15:18:00','Oct 6, 2026 15:24:00','Oct 6, 2026 15:30:00','Oct 6, 2026 15:36:00','Oct 6, 2026 15:42:00','Oct 6, 2026 15:48:00','Oct 6, 2026 15:54:00','Oct 6, 2026 16:00:00','Oct 6, 2026 16:06:00','Oct 6, 2026 16:12:00','Oct 6, 2026 16:18:00','Oct 6, 2026 16:24:00','Oct 6, 2026 16:30:00','Oct 6, 2026 16:36:00','Oct 6, 2026 16:42:00','Oct 6, 2026 16:48:00','Oct 6, 2026 16:54:00','Oct 6, 2026 17:00:00','Oct 6, 2026 17:06:00','Oct 6, 2026 17:12:00','Oct 6, 2026 17:18
412:00','Oct 6, 2026 17:24:00','Oct 6, 2026 17:30:00','Oct 6, 2026 17:36:00','Oct 6, 2026 17:42:00','Oct 6, 2026 17:48:00','Oct 6, 2026 17:54:00','Oct 6, 2026 18:00:00','Oct 6, 2026 18:06:00','Oct 6, 2026 18:12:00','Oct 6, 2026 18:18:00','Oct 6, 2026 18:24:00','Oct 6, 2026 18:30:00','Oct 6, 2026 18:36:00','Oct 6, 2026 18:42:00','Oct 6, 2026 18:48:00','Oct 6, 2026 18:54:00','Oct 6, 2026 19:00:00','Oct 6, 2026 19:06:00','Oct 6, 2026 19:12:00','Oct 6, 2026 19:18:00','Oct 6, 2026 19:24:00','Oct 6, 2026 19:30:00','Oct 6, 2026 19:36:00','Oct 6, 2026 19:42:00','Oct 6, 2026 19:48:00','Oct 6, 2026 19:54:00','Oct 6, 2026 20:00:00','Oct 6, 2026 20:06:00','Oct 6, 2026 20:12:00','Oct 6, 2026 20:18:00','Oct 6, 2026 20:24:00','Oct 6, 2026 20:30:00','Oct 6, 2026 20:36:00','Oct 6, 2026 20:42:00','Oct 6, 2026 20:48:00','Oct 6, 2026 20:54:00','Oct 6, 2026 21:00:00','Oct 6, 2026 21:06:00','Oct 6, 2026 21:12:00','Oct 6, 2026 21:18:00','Oct 6, 2026 21:24:00','Oct 6, 2026 21:30:00','Oct 6, 2026 21:36:00','Oct 6, 2026 21:42:00','Oct 6, 2026 21:48:00','Oct 6, 2026 21:54:00','Oct 6, 2026 22:00:00','Oct 6, 2026 22:06:00','Oct 6, 2026 22:12:00','Oct 6, 2026 22:18:00','Oct 6, 2026 22:24:00','Oct 6, 2026 22:30:00','Oct 6, 2026 22:36:00','Oct 6, 2026 22:42:00','Oct 6, 2026 22:48:00','Oct 6, 2026 22:54:00','Oct 6, 2026 23:00:00','Oct 6, 2026 23:06:00','Oct 6, 2026 23:12:00','Oct 6, 2026 23:18:00','Oct 6, 2026 23:24:00','Oct 6, 2026 23:30:00','Oct 6, 2026 23:36:00','Oct 6, 2026 23:42:00','Oct 6, 2026 23:48:00','Oct 6, 2026 23:54:00'], 413 datasets: [{ 414 label: 'Total Demand (kW)', 415 steppedLine: false, 416 data: [,2.5,3.4,2.5,2.5,3.5,2.6,2.6,3.6,2.5,2.5,2.5,2.5,2.5,2.6,2.6,3.8,2.5,2.5,3.5,2.5,2.5,3.6,2.6,2.6,3.5,2.5,2.5,2.7,2.5,2.6,2.6,2.5,2.5,2.5,2.5,2.5,2.6,2.6,2.6,2.5,2.5,2.4,2.5,2.5,2.5,2.6,2.6,2.5,3.6,2.5,2.5,3.5,2.6,2.6,3.6,2.5,2.5,3.4,2.4,2.5,3.5,2.6,2.6,2.6,2.4,2.5,2.5,2.5,2.5,2.6,2.5,2.6,2.5,2.5,2.5,2.5,3.4,2.6,2.6,3.6,2.5,2.5,3.3,2.5,2.5,2.6,2.6,2.5,2.5,2.5,2.5,2.5,2.5,2.6,2.6,2.5,2.5,3.3,2.5,2.5,3.5,2.6,2.6,3.4,2.5,2.5,2.5,2.5,2.5,2.6,2.6,3.6,2.5,2.7,2.6,2.5,2.5,2.5,2.6,3.6,2.5,2.5,2.6,2.5,3.5,2.5,2.6,2.6,2.6,3.5,2.5,2.5,2.5,2.5,3.5,2.6,2.6,2.5,2.5,2.5,2.6,3.5,2.5,3.4,2.6,2.7,2.5,2.5,3.5,2.5,3.5,2.6,2.6,2.6,2.6,2.5,2.6,3.7,2.5,3.5,2.6,2.6,2.5,2.5,2.5,2.5,3.5,2.5,3.7,2.6,2.5,2.5,2.5,2.5,2.5,3.5,2.7,2.6,2.6,2.5,2.5,2.5,3.5,2.5,2.5,2.6,2.6,3.5,2.5,2.5,2.5,2.5,3.5,2.6,2.9,2.5,2.5,3.5,2.7,2.7,2.6,2.6,3.7,2.6,2.6,2.5,2.5,2.5,2.5,2.5,3.5,2.5,2.5,2.6,2.6,2.6,2.5,2.5,2.5,2.5,2.5,3.6,2.6,2.6,3.5,2.5,2.5,2.5,2.5,2.5,,,,,,,,,], 417 backgroundColor: 'rgba(54, 162, 235, 0.8)', 418 borderColor: 'rgba(54, 162, 235, 1)', 419 borderWidth: 1, 420 yAxisID: 'y-axis-1' 421 },{ 422 label: 'Renewables (kW)', 423 steppedLine: false, 424 cubicInterpolationMode: 'monotone', 425 data: [,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.2,0.5,0.9,2,4.1,5.7,7,8.2,10.2,11.8,13.7,12.7,15.1,17,18.4,19.8,21.3,22.7,24.4,26,27.5,29.5,31.8,32.7,33.3,8.8,5.7,5,3.7,4.4,4.3,4.2,4.2,5,4.2,4.1,4.9,3.9,3.8,3.9,3.8,3.7,3.9,3.8,4.7,3.7,3.8,4.1,3.6,3.6,3.6,3.7,4.7,3.5,3.5,3.7,3.5,4.4,3.5,3.6,3.6,3.5,4.5,3.4,3.4,3.5,3.4,4.4,3.5,3.5,3.4,3.4,3.6,3.4,4.4,3.4,3.5,3.5,3.6,3.4,3.3,4.4,3.4,4.3,3.4,3.4,3.5,3.4,3.4,3.4,4.5,3.3,4.3,3.3,3.3,3.2,3.1,3.3,3.1,4.1,3.1,4.2,3.3,3.1,3.2,3.1,3.6,3,3.5,2.8,2.2,1.8,1.5,1,0.5,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,,,,,,,,,], 426 backgroundColor: 'rgba(255, 174, 0, 0.8)', 427 borderColor: 'rgba(255, 174, 0, 1)', 428 borderWidth: 1, 429 yAxisID: 'y-axis-1', 430 }] 431 }, 432 options: { 433 legend: { 434 display: true, 435 labels: { 436 fontColor: 'rgb(255, 255, 255)' 437 } 438 }, 439 title: { 440 display: true, 441 text: 'Total Demand vs. Renewable Generation', 442 fontColor: 'rgba(255,255,255,1)' 443 }, 444 scales: { 445 xAxes: [{ 446 type: 'time', 447 time: { 448 unit: 'hour', 449 tooltipFormat: 'h:mm A' 450 }, 451 gridLines: { 452 drawBorder: true, 453 color: 'rgba(255,255,255,0.3)', 454 }, 455 ticks: { 456 fontColor: 'white' 457 } 458 }], 459 yAxes: [{ 460 type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance 461 display: true, 462 position: 'left', 463 id: 'y-axis-1', 464 gridLines: { 465 drawBorder: true, 466 color: 'rgba(255,255,255,0.3)', 467 }, 468 scaleLabel: { 469 display: true, 470 labelString: 'kW', 471 fontColor: 'white' 472 }, 473 ticks: { 474 beginAtZero: true, 475 fontColor: 'white' 476 } 477 }], 478 }, 479 maintainAspectRatio: false, 480 plugins: { 481 zoom: { 482 zoom: { 483 enabled: true, 484 drag: dragOptions, 485 mode: 'x', 486 speed: 0.05 487 } 488 } 489 } 490 } 491}; 492 493window.resetZoom = function() { 494 window.totalVsRenewable.resetZoom(); 495}; 496 497window.toggleDragMode = function() { 498 var chart = window.totalVsRenewable; 499 var zoomOptions = chart.options.plugins.zoom.zoom; 500 zoomOptions.drag = zoomOptions.drag ? false : dragOptions; 501
502 chart.update(); 503 504 document.getElementById('drag-switch').innerText = zoomOptions.drag ? 'Disable drag mode' : 'Enable drag mode'; 505}; 506 507//window.onload = function() { 508 var ctx = document.getElementById('totalVsRenewable').getContext('2d'); 509 window.totalVsRenewable = new window.Chart(ctx, config); 510//}; 511 512</script>
512 513 514</div> <!-- container --> 515</section> 516 517 518 519 520 521<section class="minitron text-center"> 522<div class="container"> 523<div class="row"> 524 525 526 527 528<div class="col-md-4 lead splashText"> 529<h5>LIVE POWER PRODUCTION</h5> 530<p> 531<img src="/framework/icon/solarpanel-on.png" width="30" alt="on"> 532<img src="/framework/icon/solarpanel-off.png" width="30" alt="off"> 533<img src="/framework/icon/solarpanel-off.png" width="30" alt="off"> 534<img src="/framework/icon/solarpanel-off.png" width="30" alt="off"> 535<img src="/framework/icon/solarpanel-off.png" width="30" alt="off"> 536<img src="/framework/icon/solarpanel-off.png" width="30" alt="off"> 537<br> 538<a href="#" class="bright" data-toggle="modal" data-target="#modalSolarSplit">All Solar</a>: 0.1 kW / 115.2 kW</p> 539<div class="modal fade darkBlueModal" id="modalSolarSplit" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true" style="text-shadow: none; color: black;"> 540 <div class="modal-dialog" role="document"> 541 <div class="modal-content"> 542 <div class="modal-header"> 543 <h5 class="modal-title" id="modalLabel">SOLAR SPLIT BY SOURCE</h5> 544 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 545 <span aria-hidden="true">×</span> 546 </button> 547 </div> 548 <div class="modal-body"> 549 550 551<canvas id="islandSolarSplit" width="200" height="200" style="display: block; height: 100px; width: 100px; padding-top: 1rem;"></canvas><br> 552
553<script> 554var ctx = document.getElementById("islandSolarSplit").getContext('2d'); 555var islandPowerUsage = new Chart(ctx, { 556 type: 'doughnut', 557 data: { 558 labels: ['Main Panels (kW)','K-House Panels (kW)'], 559 datasets: [{ 560 label: 'Here', 561 data: [ 0.1, 0 ], 562 backgroundColor: ['rgb(255, 174, 0)','rgb(54, 162, 235)'], 563 borderColor: '#000000', 564 borderWidth: 1 565 }] 566 }, 567 options: { 568 cutoutPercentage: 90, 569 rotation: (-1.25 * Math.PI), 570 legend: { 571 labels: { 572 fontColor: 'white' 573 }, 574 display: true 575 } 576 } 577}); 578</script>
578 579 580 581 </div> 582 <div class="modal-footer"> 583 <button type="button" class="btn btn-outline-light" data-dismiss="modal">Close</button> 584 </div> 585 </div> 586 </div> 587</div> 588<p>Wind Turbine: Unavailable</p> 589<p>Generator: Unavailable</p> 590</div> 591 592 593 594 595 596<div class="col-md-4 lead splashText"> 597<h5>ENERGY STORAGE</h5> 598 599<p> 600<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 601<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 602<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 603<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 604<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 605<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 606<br> 607<a class="white" href="/pages/detail.php?tile=ecb_combox_battery">Main Battery Storage</a>: 95%</p> 608 609 610<p> 611<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 612<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 613<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 614<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 615<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 616<img width="30" src="/framework/icon/battery-on.png" alt="Battery" width="50"> 617<br> 618<a class="white" href="/pages/detail.php?tile=kHouse_combox_battery">K-House Battery Storage</a>: 97%</p> 619 620</div> 621 622 623 624 625 626<div class="col-md-4 lead splashText"> 627<h5>LIVE POWER DEMAND</h5> 628<p> 629<img src="/framework/icon/demand-on.png" width="30" alt="on"> 630<img src="/framework/icon/demand-off.png" width="30" alt="off"> 631<img src="/framework/icon/demand-off.png" width="30" alt="off"> 632<img src="/framework/icon/demand-off.png" width="30" alt="off"> 633<img src="/framework/icon/demand-off.png" width="30" alt="off"> 634<img src="/framework/icon/demand-off.png" width="30" alt="off"> 635<br> 636Main Grid: 1.8 kW / 36 kW</p> 637<p> 638<img src="/framework/icon/demand-on.png" width="30" alt="on"> 639<img src="/framework/icon/demand-off.png" width="30" alt="off"> 640<img src="/framework/icon/demand-off.png" width="30" alt="off"> 641<img src="/framework/icon/demand-off.png" width="30" alt="off"> 642<img src="/framework/icon/demand-off.png" width="30" alt="off"> 643<img src="/framework/icon/demand-off.png" width="30" alt="off"> 644<br> 645K-House Grid: 0.8 kW / 18 kW</p> 646</div> 647 648 649 650 651 652</div> <!-- row --> 653</div> <!-- container --> 654</section> 655 656 657 658 659 660<section class="text-center minitron brightMinitron"> 661<div class="container"> 662<div class="row"> 663 664 665<div class="col-16 col-md-8 mx-auto lead splashText brightMinitron"> 666<h5>DEEPER DATA DIVE</h5> 667<p>Have a deeper interest in the data being collected on Appledore? Some samples of data used by the <a target="_blank" href="https://www.shoalsmarinelaboratory.org/sustainable-engineering-internships">Sustainable Engineering Interns</a>, the island engineering team, and Shoals Marine Lab courses are displayed below. All available graphs <a href="/pages/systemList.php">are provided on the system list</a>, and raw data export <a href="/pages/export.php">is available on the CSV export page</a>.</p> 668</div> 669 670 671</div> <!-- row --> 672</div> <!-- container --> 673</section> 674 675 676 677 678 679 680<div class="album py-5 bg-light"> 681<div class="container"> 682<div class="row"> 683 684 685 686 687<div class="col-md-4"> 688<div class="card mb-4 shadow-sm" id="ecb_combox_dailyHolding"> 689<div class="card-body"> 690<div class="d-flex justify-content-between align-items-center"><div>Daily Solar Collection<br><em>Monitored From: ECB, Meter: InsightFacility</em></div> 691</div> 692</div><div style="height: 55vh;"><canvas id="ecb_combox_daily" ></canvas></div>
693<script> 694var ctx = document.getElementById("ecb_combox_daily").getContext('2d'); 695var ecb_combox_daily = new Chart(ctx, { 696 type: 'bar', 697 data: { 698 labels: ["Sep 30","Oct 1","Oct 2","Oct 3","Oct 4","Oct 5","Oct 6"], 699 datasets: [{ 700 label: 'kWh', 701 steppedLine: false, 702 data: [50.1,49.214,60.537,53.551,48.808,49.678,48.021], 703 backgroundColor: 'rgba(54, 162, 235, 0.3)', 704 borderColor: 'rgba(54, 162, 235, 1)', 705 borderWidth: 1 706 },] 707 }, 708 options: { 709 scales: { 710 yAxes: [{ 711 ticks: { 712 beginAtZero:true 713 } 714 }] 715 }, 716 maintainAspectRatio: false } 717}); 718</script>
718 719 720<div class="card-body"> 721<div class="d-flex justify-content-between align-items-start mt-3"> 722<div class="btn-toolbar"><div class="btn-group mr-1 mt-1"><a class="btn btn-sm btn-outline-secondary" href="/pages/detail.php?tile=ecb_combox_daily">More Detail</a></div></div> 723<!--<small class="text-muted">Updated<br>11:05 PM</small>--><div><a target="_blank" class="btn btn-sm btn-primary mt-1" href="/pages/export.php?tileRequest=ecb_combox_daily&time=">Download CSV</a></div></div> 724</div> 725</div> 726</div> 727 728 729 730 731<div class="col-md-4"> 732<div class="card mb-4 shadow-sm" id="ecb_combox_dailyLoadHolding"> 733<div class="card-body"> 734<div class="d-flex justify-content-between align-items-center"><div>Daily Inverter Load<br><em>Monitored From: ECB, Meter: InsightFacility</em></div> 735</div> 736</div><div style="height: 55vh;"><canvas id="ecb_combox_dailyLoad" ></canvas></div>
737<script> 738var ctx = document.getElementById("ecb_combox_dailyLoad").getContext('2d'); 739var ecb_combox_dailyLoad = new Chart(ctx, { 740 type: 'bar', 741 data: { 742 labels: ["Sep 30","Oct 1","Oct 2","Oct 3","Oct 4","Oct 5","Oct 6"], 743 datasets: [{ 744 label: 'kWh', 745 steppedLine: false, 746 data: [37.611,38.27,27.942,38.742,38.014,37.893,36.421], 747 backgroundColor: 'rgba(54, 162, 235, 0.3)', 748 borderColor: 'rgba(54, 162, 235, 1)', 749 borderWidth: 1 750 },] 751 }, 752 options: { 753 scales: { 754 yAxes: [{ 755 ticks: { 756 beginAtZero:true 757 } 758 }] 759 }, 760 maintainAspectRatio: false } 761}); 762</script>
762 763 764<div class="card-body"> 765<div class="d-flex justify-content-between align-items-start mt-3"> 766<div class="btn-toolbar"><div class="btn-group mr-1 mt-1"><a class="btn btn-sm btn-outline-secondary" href="/pages/detail.php?tile=ecb_combox_dailyLoad">More Detail</a></div></div> 767<!--<small class="text-muted">Updated<br>11:05 PM</small>--><div><a target="_blank" class="btn btn-sm btn-primary mt-1" href="/pages/export.php?tileRequest=ecb_combox_dailyLoad&time=">Download CSV</a></div></div> 768</div> 769</div> 770</div> 771 772 773 774 775<div class="col-md-4"> 776<div class="card mb-4 shadow-sm" id="ecb_acuDC_instantaneousHolding"> 777<div class="card-body"> 778<div class="d-flex justify-content-between align-items-center"><div>Wind Turbine Power and Wind Speed<br><em>Monitored From: ECB, Meter: AcuDC</em></div> 779</div> 780</div><div style="height: 55vh;"><canvas id="ecb_acuDC_instantaneous" ></canvas></div>
781<script> 782var ctx = document.getElementById("ecb_acuDC_instantaneous").getContext('2d'); 783var totalRealPower = new Chart(ctx, { 784 type: 'line', 785 data: { 786 labels: ["23:18","23:24","23:30","23:36","23:42","23:48","23:55","0:01","0:07","0:13","0:20","0:27","0:33","0:39","0:45","0:51","0:57","1:03","1:09","1:15","1:21","1:27","1:33","1:39","1:45","1:51","1:57","2:03","2:09","2:15","2:21","2:27","2:33","2:39","2:45","2:51","2:57","3:03","3:09","3:15","3:21","3:27","3:33","3:39","3:45","3:51","3:57","4:03","4:09","4:15","4:21","4:27","4:33","4:39","4:45","4:51","4:57","5:03","5:09","5:15","5:21","5:27","5:33","5:39","5:45","5:51","5:57","6:03","6:09","6:15","6:21","6:27","6:33","6:39","6:45","6:51","6:57","7:03","7:09","7:15","7:21","7:27","7:33","7:39","7:45","7:51","7:57","8:03","8:09","8:15","8:21","8:27","8:33","8:39","8:45","8:51","8:57","9:03","9:09","9:15","9:21","9:27","9:33","9:39","9:45","9:51","9:57","10:03","10:09","10:15","10:21","10:27","10:33","10:39","10:45","10:51","9:38","9:44","9:50","9:56","10:02","10:08","10:14","10:20","10:26","10:32","10:38","10:44","10:50","10:56","11:02","11:08","11:14","11:20","11:26","11:32","11:38","11:44","11:50","11:56","12:02","12:08","12:14","12:20","12:26","12:32","12:38","12:44","12:50","12:56","13:02","13:08","13:14","13:20","13:26","13:32","13:38","13:44","13:50","13:56","14:02","14:08","14:14","14:20","14:26","14:32","14:38","14:44","14:50","14:56","15:02","15:08","15:14","10:31","10:37","10:43","10:49","10:55","11:01","11:07","11:13","11:19","11:25","11:31","11:37","11:43","11:49","11:55","12:01","12:07","12:13","12:19","12:25","12:31","12:37","12:43","12:49","12:55","13:01","13:07","13:13","13:19","13:25","13:31","13:37","13:43","13:49","13:55","14:01","14:07","14:13","14:19","14:25","14:31","14:37","14:43","14:49","14:55","15:01","15:07","15:13","15:19","15:25","15:31","15:37","15:43","15:49","15:55","16:01","16:07","16:13","16:19","16:25","16:31","16:37","16:43","16:49","16:55","17:01","17:07"], 787 datasets: [{ 788 label: 'Power (kW)', 789 steppedLine: false, 790 data: [0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000], 791 backgroundColor: 'rgba(54, 162, 235, 0.2)', 792 borderColor: 'rgba(54, 162, 235, 1)', 793 borderWidth: 1, 794 yAxisID: 'y-axis-1' 795 }, 796 { 797 label: 'Wind @ IOSN3 White Island (m/s)', 798 steppedLine: false, 799 cubicInterpolationMode: 'monotone', 800 data: [,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,], 801 backgroundColor: 'rgba(195, 195, 195, 0.2)', 802 borderColor: 'rgba(195, 195, 195, 1)', 803 borderWidth: 1, 804 yAxisID: 'y-axis-2', 805 pointRadius: 0 806 }, 807 { 808 label: 'Wind @ MAREPAM Appledore (m/s)', 809 steppedLine: false, 810 cubicInterpolationMode: 'monotone', 811 data: [6.0,5.5,5.3,4.8,4.5,4.7,5.1,4.4,4.1,3.6,3.7,4.0,3.9,3.7,4.1,4.7,4.9,5.5,5.0,5.4,4.4,5.2,5.4,5.4,5.2,5.4,5.9,5.0,4.3,5.2,5.8,5.6,5.6,6.0,5.1,5.5,6.3,5.0,4.1,4.6,4.0,4.8,4.8,5.0,5.0,6.3,6.4,5.4,6.0,6.2,5.1,5.2,5.8,5.0,4.8,5.7,5.0,5.4,4.5,5.4,5.7,5.6,5.1,5.6,4.8,5.0,5.7,5.5,4.6,5.2,5.0,5.2,4.7,5.3,4.9,4.7,4.8,4.8,4.1,4.5,4.0,5.1,5.1,5.0,4.8,4.1,4.7,4.1,4.4,4.0,4.3,3.7,4.4,3.9,4.2,3.8,3.9,3.9,3.8,4.5,4.1,5.2,3.9,4.2,4.2,4.4,4.0,3.9,4.6,3.6,2.8,3.8,3.3,4.1,4.6,5.4,2.2,1.6,1.6,0.4,0.8,1.1,0.5,1.0,1.1,1.3,1.0,1.8,1.3,1.9,2.0,2.2,2.9,2.4,2.4,1.8,1.8,2.0,1.9,1.9,1.6,1.6,1.8,1.6,3.0,2.5,2.8,3.0,2.4,2.8,3.4,2.9,2.9,2.7,2.5,2.4,3.4,2.7,2.9,2.2,2.7,3.2,2.8,3.2,3.4,3.0,3.8,3.0,3.7,3.0,3.1,1.1,3.6,4.7,4.1,3.7,4.6,3.4,3.4,4.0,3.3,3.7,4.7,3.5,4.6,4.6,4.9,3.7,4.6,3.8,4.9,4.7,4.9,5.1,5.3,4.4,5.2,5.2,5.0,6.2,5.7,3.9,4.5,3.8,2.9,3.5,3.2,4.0,3.5,4.1,3.5,3.3,4.6,4.3,4.5,4.2,3.6,3.4,3.9,3.5,3.8,3.5,3.4,3.7,3.5,4.0,4.1,3.5,2.9,3.4,6.4,8.6,6.7,5.0,5.3,5.1,4.5,3.9,4.4,4.6], 812 backgroundColor: 'rgba(255, 99, 132, 0.3)', 813 borderColor: 'rgba(255, 99, 132, 1)', 814 borderWidth: 1, 815 yAxisID: 'y-axis-2', 816 pointRadius: 0 817 }, 818 { 819 label: 'Wind @ Radar Tower (m/s)', 820 steppedLine: false, 821 cubicInterpolationMode: 'monotone', 822 data: [10.3,9.4,10.3,8.6,8.9,8.9,8.9,8.9,8.9,8.1,7.5,8.1,8.6,9.4,8.9,10.3,11.7,11.1,10.8,11.7,10.8,10.8,10.3,11.1,10.8,10.8,11.7,10.8,10.3,11.1,11.1,11.1,11.7,10.8,10.3,10.8,11.1,10.3,10.3,10.8,10.8,10.8,11.1,10.3,11.9,11.7,13.3,11.7,11.1,13.1,12.5,10.3,11.9,11.1,10.8,10.3,10.8,10.8,10.3,10.3,11.7,13.1,10.8,11.1,10.8,10.8,10.8,10.8,10.3,9.7,10.8,10.8,9.4,10.3,11.1,9.4,8.9,9.4,8.6,9.4,10.3,9.7,10.8,8.9,9.4,8.1,8.9,8.9,9.4,8.9,8.9,8.6,8.9,8.9,9.7,9.4,8.6,7.5,8.1,8.1,7.5,8.1,8.1,7.5,7.5,7.2,6.7,5.8,6.4,6.7,5.0,7.2,3.9,6.4,8.9,10.3,2.2,2.2,3.1,1.7,1.7,1.7,1.4,3.1,3.1,3.1,2.8,3.1,1.7,0.8,1.4,1.7,1.4,2.8,1.7,1.4,0.8,0.8,0.8,1.7,1.7,1.7,1.7,2.2,1.7,2.2,1.7,2.2,1.7,2.8,3.1,1.7,1.4,2.2,2.8,2.2,2.2,2.8,2.8,3.6,3.9,3.9,4.4,3.9,3.9,3.9,4.4,5.0,4.4,4.4,3.9,5.0,3.1,7.5,7.2,6.7,6.4,6.7,5.0,6.4,6.7,7.2,7.5,8.1,8.1,8.9,8.6,8.9,9.7,9.4,9.7,10.3,10.3,10.3,10.8,10.3,8.9,8.6,9.4,10.3,9.4,8.1,8.6,7.5,7.5,8.6,8.6,8.1,8.6,8.6,7.5,8.6,8.1,7.5,8.1,6.7,7.2,7.2,7.2,7.2,7.2,6.7,6.7,5.3,7.2,6.7,6.4,6.7,6.4,8.6,9.7,13.1,14.2,10.3,8.6,7.5,8.1,6.4,8.1,8.1], 823 backgroundColor: 'rgba(255, 174, 0, 0.3)', 824 borderColor: 'rgba(255, 174, 0, 1)', 825 borderWidth: 1, 826 yAxisID: 'y-axis-2', 827 pointRadius: 0 828 }] 829 }, 830 options: { 831 scales: { 832 yAxes: [{ 833 type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance 834 display: true, 835 position: 'left', 836 id: 'y-axis-1', 837 scaleLabel: { 838 display: true, 839 labelString: 'Power (kW)' 840 }, 841 ticks: { 842 beginAtZero: true 843 } 844 }, { 845 type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance xyza 846 display: true, 847 position: 'right', 848 id: 'y-axis-2', 849 scaleLabel: { 850 display: true, 851 labelString: 'Wind (m/s)' 852 }, 853 ticks: { 854 beginAtZero:true 855 }, 856 857 // grid line settings 858 gridLines: { 859 drawOnChartArea: false, // only want the grid lines for one axis to show up 860 } 861 }], 862 }, 863 maintainAspectRatio: false } 864}); 865</script>
865 866 867<div class="card-body"> 868<div class="d-flex justify-content-between align-items-start mt-3"> 869<div class="btn-toolbar"><div class="btn-group mr-1 mt-1"><a class="btn btn-sm btn-outline-secondary" href="/pages/detail.php?tile=ecb_acuDC_instantaneous">More Detail</a></div></div> 870<!--<small class="text-muted">Updated<br>11:05 PM</small>--><div><a target="_blank" class="btn btn-sm btn-primary mt-1" href="/pages/export.php?tileRequest=ecb_acuDC_instantaneous&time=">Download CSV</a></div></div> 871</div> 872 873 874 875 876 877 878</div> 879</div> 880 881 882 883 884</div> <!-- row --> 885 886 887 888 889 890 891 892 893 894</div> <!-- container --> 895</div> <!-- album --> 896 897</main> 898
899<script> 900/* 901$(document).ready(function(){ 902 903updateChart_pvHourly(); 904 905}); 906 907 908function updateChart_pvHourly() { 909 910var d = new Date(); 911$('#pvHourly').attr('src', 'dataPush.php?site=pvHourly&' + d.getMilliseconds()); 912setTimeout(updateChart_pvHourly, 1000); 913 914} // function 915*/ 916</script>
916 917 918<footer class="text-muted"> 919 <div class="container"> 920 <p class="float-right"> 921 <a href="#">Back to top</a> 922 </p> 923 <p>© Shoals Marine Laboratory<!-- · <a href="/pages/credits.php">Licensing</a>--></p> 924 <p>Learn more about Shoals! <a target="_blank" href="https://www.shoalsmarinelaboratory.org">Visit the homepage</a>, call +1 (603) 862-5346, or e-mail <a href="mailto:[email protected]">[email protected]</a>.</p> 925 </div> 926</footer> 927
928<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
vendor: 1 bytes, line 928
928
929<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
929 930 931 932</body> 933 934</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.