1<!DOCTYPE html>
2<html lang="en">
3 <head>
4 <title>
5 Wind, solar, storage and back-up system designer
6 </title>
7 <meta name="description" content="Design renewable energy electricity generation systems which successfully smooth intermittent wind and solar generation to serve customer demand, 24/7/52.">
8 <!-- Parameters may be passed using the URL query string, as per -
9
10../Wind%20power%20storage%20back-up%20calculator.htm?peak=200&wind=3000&units=GW#wind
11
12The parameter "peak" sets the Peak Demand value in the Grid Watch Demand Focus Table
13The parameter "wind" sets the Wind Power value in the Wind Generation Capacity Focus Table
14The parameter "usage" sets the Maximum Daily Usage value in the Off-grid Daily Usage Focus Table
15The parameter "units" (= W / MW / GW) sets the units in all tables
16The parameter "cf" (= 1 to 70) sets the wind capacity factor in all tables
17The parameter "scf" (= 1 to 50) sets the solar capacity factor in the Off-grid Daily Usage Focus Table
18The parameter "spc" (= 0 to 100) sets the solar percentage of wind + solar generation in the Off-grid Daily Usage Focus Table
19The parameter "lat" (= -90 to 90) sets the generation Wind : Solar ratio according to the latitude (ignoring parameter spc)
20The parameter "storage" sets the Storage value in the Energy Storage Capacity Focus Table
21
22Table # fragment identifiers
23#grid Grid Watch Demand Focus Table
24#wind Wind Generation Capacity Focus Table
25#off Off-grid daily usage Focus Table
26#store Energy Storage Capacity Focus Table
27
28-->
29
30 <style>
31
32 body {
33 color: white;
34 background-image: url('lecht-turbine_dark_1920_lowres.jpg');
35 background-repeat: repeat;
36 background-attachment: fixed;
37 }
38
39 table#calculator1 { border-collapse: collapse;}
40 table#calculator2 { border-collapse: collapse;}
41 table#calculator3 { border-collapse: collapse;}
42 table#calculator4 { border-collapse: collapse;}
43 table#unknown { border-collapse: collapse;}
44 table#unknown2 { border-collapse: collapse;}
45 table#unknown3 { border-collapse: collapse;}
46 table#unknown4 { border-collapse: collapse;}
47 table#unknown5 { border-collapse: collapse;}
48
49 table#calculator1 td { font-size:16px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
50 table#calculator2 td { font-size:18px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
51 table#calculator3 td { font-size:18px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
52 table#calculator4 td { font-size:18px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
53 table#unknown td, th { font-size:18px; color: black; padding: 0px; border: 1px;}
54 table#unknown2 td, th { font-size:18px; color: black; padding: 3px; border: 0px}
55 table#unknown3 td, th { font-size:18px; color: black; padding: 0px; border: 1px;}
56 table#unknown4 td, th { font-size:18px; color: black; padding: 3px; border: 0px}
57 table#unknown5 td, th { font-size:18px; color: black; padding: 3px; border: 0px}
58
59 table#calculator1 tr:nth-child(even) {
60 background-color: #eff;
61 }
62 table#calculator1 tr:nth-child(odd) {
63 background-color:#cff;
64 }
65
66 table#calculator2 tr:nth-child(even) {
67 background-color: #ffe;
68 }
69 table#calculator2 tr:nth-child(odd) {
70 background-color:#ffc;
71 }
72
73 table#calculator3 tr:nth-child(even) {
74 background-color: #fef;
75 }
76 table#calculator3 tr:nth-child(odd) {
77 background-color:#fcf;
78 }
79
80 table#calculator4 tr:nth-child(even) {
81 background-color: #efe;
82 }
83 table#calculator4 tr:nth-child(odd) {
84 background-color:#cfc;
85 }
86
87
88 select { font-size:15px; }
89
90 table#calculator1 input.factor {width: 24px; font-size: 8px;}
91 table#calculator1 input.set {width:71px; font-size: 15px;}
92 table#calculator1 input.setn {width:61px; font-size: 15px;}
93 table#calculator1 input.setpc {width: 41px; font-size: 15px;}
94 table#calculator1 input.setl {width:78px; font-size: 15px;}
95 table#calculator1 img.rowtext {cursor: pointer;}
96
97 table#calculator2 input.factor {width: 24px; font-size: 8px;}
98 table#calculator2 input.set {width:71px; font-size: 15px;}
99 table#calculator2 input.setn {width:61px; font-size: 15px;}
100 table#calculator2 input.setpc {width: 41px; font-size: 15px;}
101 table#calculator2 input.setl {width:78px; font-size: 15px;}
102 table#calculator2 img.rowtext {cursor: pointer;}
103
104 table#calculator3 input.factor {width: 24px; font-size: 8px;}
105 table#calculator3 input.set {width:71px; font-size: 15px;}
106 table#calculator3 input.setn {width:61px; font-size: 15px;}
107 table#calculator3 input.setpc {width: 41px; font-size: 15px;}
108 table#calculator3 input.setl {width:78px; font-size: 15px;}
109 table#calculator3 input.setw {width:86px; font-size: 15px;}
110 table#calculator3 img.rowtext {cursor: pointer;}
111
112 table#calculator4 input.factor {width: 24px; font-size: 8px;}
113 table#calculator4 input.set {width:71px; font-size: 15px;}
114 table#calculator4 input.setn {width:61px; font-size: 15px;}
115 table#calculator4 input.setpc {width: 41px; font-size: 15px;}
116 table#calculator4 input.setl {width:78px; font-size: 15px;}
117 table#calculator4 img.rowtext {cursor: pointer;}
118 </style>
119 <script type="text/javascript">
120 //<!--
121 function updatePeakDemand(pd){
122 wc=document.forms[0];
123 wc.pd1.value = (1*pd).toFixed(3);
124 wc.pd2.value = (1*pd).toFixed(3);
125 wc.pd3.value = (1*pd).toFixed(3);
126 wc.pd4.value = (1*pd).toFixed(3);
127 wc.pd5.value = (1*pd).toFixed(3);
128 wc.pd6.value = (1*pd).toFixed(3);
129 wc.pd7.value = (1*pd).toFixed(3);
130 wc.pd8.value = (1*pd).toFixed(3);
131 }
132
133 function updatePeakDemandW(pd){
134 wc=document.forms[0];
135 wc.Wpd1.value = (wc.Wpdf1.value*pd).toFixed(3);
136 wc.Wpd2.value = (wc.Wpdf2.value*pd).toFixed(3);
137 wc.Wpd3.value = (wc.Wpdf3.value*pd).toFixed(3);
138 wc.Wpd4.value = (wc.Wpdf4.value*pd).toFixed(3);
139 wc.Wpd5.value = (wc.Wpdf5.value*pd).toFixed(3);
140 wc.Wpd6.value = (wc.Wpdf6.value*pd).toFixed(3);
141 wc.Wpd7.value = (wc.Wpdf7.value*pd).toFixed(3);
142 wc.Wpd8.value = (wc.Wpdf8.value*pd).toFixed(3);
143 }
144
145 function updatePeakDemandS(pd){
146 wc=document.forms[0];
147 wc.Spd1.value = (wc.Spdf1.value*pd).toFixed(3);
148 wc.Spd2.value = (wc.Spdf2.value*pd).toFixed(3);
149 wc.Spd3.value = (wc.Spdf3.value*pd).toFixed(3);
150 wc.Spd4.value = (wc.Spdf4.value*pd).toFixed(3);
151 wc.Spd5.value = (wc.Spdf5.value*pd).toFixed(3);
152 wc.Spd6.value = (wc.Spdf6.value*pd).toFixed(3);
153 wc.Spd7.value = (wc.Spdf7.value*pd).toFixed(3);
154 wc.Spd8.value = (wc.Spdf8.value*pd).toFixed(3);
155 }
156
157 function updateDailyUsage(dun){
158 wc=document.forms[0];
159 wc.du1.value = (dun*wc.duf1.value).toFixed(3);
160 wc.du2.value = (dun*wc.duf2.value).toFixed(3);
161 wc.du3.value = (dun*wc.duf3.value).toFixed(3);
162 wc.du4.value = (dun*wc.duf4.value).toFixed(3);
163 wc.du5.value = (dun*wc.duf5.value).toFixed(3);
164 wc.du6.value = (dun*wc.duf6.value).toFixed(3);
165 wc.du7.value = (dun*wc.duf7.value).toFixed(3);
166 wc.du8.value = (dun*wc.duf8.value).toFixed(3);
167 }
168
169 function updateDailyUsageW(dun){
170 wc=document.forms[0];
171 wc.Wdu1.value = (dun*wc.Wduf1.value).toFixed(3);
172 wc.Wdu2.value = (dun*wc.Wduf2.value).toFixed(3);
173 wc.Wdu3.value = (dun*wc.Wduf3.value).toFixed(3);
174 wc.Wdu4.value = (dun*wc.Wduf4.value).toFixed(3);
175 wc.Wdu5.value = (dun*wc.Wduf5.value).toFixed(3);
176 wc.Wdu6.value = (dun*wc.Wduf6.value).toFixed(3);
177 wc.Wdu7.value = (dun*wc.Wduf7.value).toFixed(3);
178 wc.Wdu8.value = (dun*wc.Wduf8.value).toFixed(3);
179 }
180
181 function updateDailyUsageF(dun){
182 wc=document.forms[0];
183 wc.Fdu1.value = (dun*wc.Fduf1.value).toFixed(3);
184 wc.Fdu2.value = (dun*wc.Fduf2.value).toFixed(3);
185 wc.Fdu3.value = (dun*wc.Fduf3.value).toFixed(3);
186 wc.Fdu4.value = (dun*wc.Fduf4.value).toFixed(3);
187 wc.Fdu5.value = (dun*wc.Fduf5.value).toFixed(3);
188 wc.Fdu6.value = (dun*wc.Fduf6.value).toFixed(3);
189 wc.Fdu7.value = (dun*wc.Fduf7.value).toFixed(3);
190 wc.Fdu8.value = (dun*wc.Fduf8.value).toFixed(3);
191 }
192
193 function updateDailyUsageS(dun){
194 wc=document.forms[0];
195 wc.Sdu1.value = (dun*wc.Sduf1.value).toFixed(3);
196 wc.Sdu2.value = (dun*wc.Sduf2.value).toFixed(3);
197 wc.Sdu3.value = (dun*wc.Sduf3.value).toFixed(3);
198 wc.Sdu4.value = (dun*wc.Sduf4.value).toFixed(3);
199 wc.Sdu5.value = (dun*wc.Sduf5.value).toFixed(3);
200 wc.Sdu6.value = (dun*wc.Sduf6.value).toFixed(3);
201 wc.Sdu7.value = (dun*wc.Sduf7.value).toFixed(3);
202 wc.Sdu8.value = (dun*wc.Sduf8.value).toFixed(3);
203 }
204
205
206 function setPeakDemand(pd){
207 updateAll(pd);
208 }
209
210 function setWindPower(wp){
211 updateAllW(wp);
212 }
213
214 function setStorageHours(sh){
215 updateAllS(sh);
216 }
217
218 function updateWindPower(wpn){
219 wc=document.forms[0];
220
221 wpc=wc.wpc.value/100;
222 wc.wp1.value = (wpn*wc.wpf1.value*wpc).toFixed(3);
223 wc.wp2.value = (wpn*wc.wpf2.value*wpc).toFixed(3);
224 wc.wp3.value = (wpn*wc.wpf3.value*wpc).toFixed(3);
225 wc.wp4.value = (wpn*wc.wpf4.value*wpc).toFixed(3);
226 wc.wp5.value = (wpn*wc.wpf5.value*wpc).toFixed(3);
227 wc.wp6.value = (wpn*wc.wpf6.value*wpc).toFixed(3);
228 wc.wp7.value = (wpn*wc.wpf7.value*wpc).toFixed(3);
229 wc.wp8.value = (wpn*wc.wpf8.value*wpc).toFixed(3);
230
231 /*
232 wc.wp1.value = (wpn*wc.wpf1.value).toFixed(3);
233 wc.wp2.value = (wpn*wc.wpf2.value).toFixed(3);
234 wc.wp3.value = (wpn*wc.wpf3.value).toFixed(3);
235 wc.wp4.value = (wpn*wc.wpf4.value).toFixed(3);
236 wc.wp5.value = (wpn*wc.wpf5.value).toFixed(3);
237 wc.wp6.value = (wpn*wc.wpf6.value).toFixed(3);
238 wc.wp7.value = (wpn*wc.wpf7.value).toFixed(3);
239 wc.wp8.value = (wpn*wc.wpf8.value).toFixed(3);
240 */
241 }
242
243 function updatecf(wpn){
244 wc=document.forms[0];
245 wc.wpf1.value = (wpn*7).toFixed(5);
246 wc.wpf2.value = (wpn*5.5).toFixed(5);
247 wc.wpf3.value = (wpn*4).toFixed(5);
248 wc.wpf8.value = (wpn*3.3).toFixed(5);
249 wc.wpf4.value = (wpn*2.7).toFixed(5);
250 wc.wpf5.value = (wpn*1.9).toFixed(5);
251 wc.wpf6.value = (wpn*1.5).toFixed(5);
252 wc.wpf7.value = (wpn*1).toFixed(5);
253 updateWindPower(wc.pd1.value);
254
255 wc.Fwpf1.value = (wpn*7).toFixed(5);
256 wc.Fwpf2.value = (wpn*5.5).toFixed(5);
257 wc.Fwpf3.value = (wpn*4).toFixed(5);
258 wc.Fwpf8.value = (wpn*3.3).toFixed(5);
259 wc.Fwpf4.value = (wpn*2.7).toFixed(5);
260 wc.Fwpf5.value = (wpn*1.9).toFixed(5);
261 wc.Fwpf6.value = (wpn*1.5).toFixed(5);
262 wc.Fwpf7.value = (wpn*1).toFixed(5);
263 updateWindPowerF(wc.Fdu1.value/wc.Fduf1.value);
264
265 wc.Wpdf1.value = (0.142857/wpn).toFixed(5);
266 wc.Wpdf2.value = (0.1818/wpn).toFixed(5);
267 wc.Wpdf3.value = (0.25/wpn).toFixed(5);
268 wc.Wpdf8.value = (0.30303/wpn).toFixed(5);
269 wc.Wpdf4.value = (0.3704/wpn).toFixed(5);
270 wc.Wpdf5.value = (0.5263/wpn).toFixed(5);
271 wc.Wpdf6.value = (0.6667/wpn).toFixed(5);
272 wc.Wpdf7.value = (1/wpn).toFixed(5);
273
274 wc.Wduf1.value = (2.14285/wpn).toFixed(5);
275 wc.Wduf2.value = (2.72727/wpn).toFixed(5);
276 wc.Wduf3.value = (3.75/wpn).toFixed(5);
277 wc.Wduf8.value = (4.54545/wpn).toFixed(5);
278 wc.Wduf4.value = (5.55555/wpn).toFixed(5);
279 wc.Wduf5.value = (7.89474/wpn).toFixed(5);
280 wc.Wduf6.value = (10/wpn).toFixed(5);
281 wc.Wduf7.value = (15/wpn).toFixed(5);
282
283 v = (5.76/wpn).toFixed(5);
284 wc.Wsdf1.value = v;
285 wc.Wsdf2.value = v;
286 wc.Wsdf3.value = v;
287 wc.Wsdf4.value = v;
288 wc.Wsdf5.value = v;
289 wc.Wsdf6.value = v;
290 wc.Wsdf7.value = v;
291 wc.Wsdf8.value = v;
292
293 wc.Wshf1.value = (5.142857/wpn).toFixed(5);
294 wc.Wshf2.value = (4.8/wpn).toFixed(5);
295 wc.Wshf3.value = (4.8/wpn).toFixed(5);
296 wc.Wshf8.value = (5.0909/wpn).toFixed(5);
297 wc.Wshf4.value = (5.333/wpn).toFixed(5);
298 wc.Wshf5.value = (5.053/wpn).toFixed(5);
299 wc.Wshf6.value = (4.8/wpn).toFixed(5);
300 wc.Wshf7.value = (5.04/wpn).toFixed(5);
301
302
303 wc.Wbpf1.value = (0/wpn).toFixed(5);
304 wc.Wbpf2.value = (0.02727/wpn).toFixed(5);
305 wc.Wbpf3.value = (0.075/wpn).toFixed(5);
306 wc.Wbpf8.value = (0.10606/wpn).toFixed(5);
307 wc.Wbpf4.value = (0.1481/wpn).toFixed(5);
308 wc.Wbpf5.value = (0.2474/wpn).toFixed(5);
309 wc.Wbpf6.value = (0.34/wpn).toFixed(5);
310 wc.Wbpf7.value = (0.56/wpn).toFixed(5);
311
312 updatePeakDemandW(wc.Wwp1.value);
313 updateDailyUsageW(wc.Wwp1.value);
314 updateStorageDaysW(wc.Wwp1.value);
315 updateStorageHoursW(wc.Wwp1.value);
316 updateBackupPowerW(wc.Wwp1.value);
317
318 }
319
320 function updaterr(wpn){
321 wc=document.forms[0];
322 wc.Srpf1.value = (wpn*0.027778).toFixed(6);
323 wc.Srpf2.value = (wpn*0.037879).toFixed(6);
324 wc.Srpf3.value = (wpn*0.052083).toFixed(6);
325 wc.Srpf8.value = (wpn*0.059524).toFixed(6);
326 wc.Srpf4.value = (wpn*0.069444).toFixed(6);
327 wc.Srpf5.value = (wpn*0.10417).toFixed(6);
328 wc.Srpf6.value = (wpn*0.13889).toFixed(6);
329 wc.Srpf7.value = (wpn*0.198411).toFixed(6);
330 updateRechargePowerS(wc.Ssh1.value);
331
332 }
333
334
335 function updatescf(wpn){
336 wc=document.forms[0];
337 wc.Fspf1.value = wc.spf1.value = (wpn*19.310345).toFixed(5);
338 wc.Fspf2.value = wc.spf2.value = (wpn*15.17241).toFixed(5);
339 wc.Fspf3.value = wc.spf3.value = (wpn*11.03448).toFixed(5);
340 wc.Fspf8.value = wc.spf8.value = (wpn*9.103445).toFixed(5);
341 wc.Fspf4.value = wc.spf4.value = (wpn*7.448276).toFixed(5);
342 wc.Fspf5.value = wc.spf5.value = (wpn*5.241379).toFixed(5);
343 wc.Fspf6.value = wc.spf6.value = (wpn*4.137931).toFixed(5);
344 wc.Fspf7.value = wc.spf7.value = (wpn*2.758621).toFixed(5);
345
346
347 }
348
349 function updateWindPowerW(wpn){
350 wc=document.forms[0];
351 wc.Wwp1.value = (wpn*1).toFixed(3);
352 wc.Wwp2.value = (wpn*1).toFixed(3);
353 wc.Wwp3.value = (wpn*1).toFixed(3);
354 wc.Wwp4.value = (wpn*1).toFixed(3);
355 wc.Wwp5.value = (wpn*1).toFixed(3);
356 wc.Wwp6.value = (wpn*1).toFixed(3);
357 wc.Wwp7.value = (wpn*1).toFixed(3);
358 wc.Wwp8.value = (wpn*1).toFixed(3);
359 }
360
361 function updateWindPowerF(wpn){
362 wc=document.forms[0];
363 wpcF=wc.wpcF.value/100;
364 wc.Fwp1.value = (wpn*wc.Fwpf1.value*wpcF).toFixed(3);
365 wc.Fwp2.value = (wpn*wc.Fwpf2.value*wpcF).toFixed(3);
366 wc.Fwp3.value = (wpn*wc.Fwpf3.value*wpcF).toFixed(3);
367 wc.Fwp4.value = (wpn*wc.Fwpf4.value*wpcF).toFixed(3);
368 wc.Fwp5.value = (wpn*wc.Fwpf5.value*wpcF).toFixed(3);
369 wc.Fwp6.value = (wpn*wc.Fwpf6.value*wpcF).toFixed(3);
370 wc.Fwp7.value = (wpn*wc.Fwpf7.value*wpcF).toFixed(3);
371 wc.Fwp8.value = (wpn*wc.Fwpf8.value*wpcF).toFixed(3);
372 }
373
374 function updateSolarPowerF(wpn){
375 wc=document.forms[0];
376 spcF=wc.spcF.value/100;
377 wc.Fsp1.value = (wpn*wc.Fspf1.value*spcF).toFixed(3);
378 wc.Fsp2.value = (wpn*wc.Fspf2.value*spcF).toFixed(3);
379 wc.Fsp3.value = (wpn*wc.Fspf3.value*spcF).toFixed(3);
380 wc.Fsp4.value = (wpn*wc.Fspf4.value*spcF).toFixed(3);
381 wc.Fsp5.value = (wpn*wc.Fspf5.value*spcF).toFixed(3);
382 wc.Fsp6.value = (wpn*wc.Fspf6.value*spcF).toFixed(3);
383 wc.Fsp7.value = (wpn*wc.Fspf7.value*spcF).toFixed(3);
384 wc.Fsp8.value = (wpn*wc.Fspf8.value*spcF).toFixed(3);
385 }
386
387 function updateSolarPower(wpn){
388 wc=document.forms[0];
389 spc=wc.spc.value/100;
390 wc.sp1.value = (wpn*wc.spf1.value*spc).toFixed(3);
391 wc.sp2.value = (wpn*wc.spf2.value*spc).toFixed(3);
392 wc.sp3.value = (wpn*wc.spf3.value*spc).toFixed(3);
393 wc.sp8.value = (wpn*wc.spf8.value*spc).toFixed(3);
394 wc.sp4.value = (wpn*wc.spf4.value*spc).toFixed(3);
395 wc.sp5.value = (wpn*wc.spf5.value*spc).toFixed(3);
396 wc.sp6.value = (wpn*wc.spf6.value*spc).toFixed(3);
397 wc.sp7.value = (wpn*wc.spf7.value*spc).toFixed(3);
398 }
399
400 function updateRechargePowerS(wpn){
401 wc=document.forms[0];
402 wc.Srp1.value = (wpn*wc.Srpf1.value).toFixed(3);
403 wc.Srp2.value = (wpn*wc.Srpf2.value).toFixed(3);
404 wc.Srp3.value = (wpn*wc.Srpf3.value).toFixed(3);
405
406 wc.Srp8.value = (wpn*wc.Srpf8.value).toFixed(3);
407
408 wc.Srp4.value = (wpn*wc.Srpf4.value).toFixed(3);
409 wc.Srp5.value = (wpn*wc.Srpf5.value).toFixed(3);
410 wc.Srp6.value = (wpn*wc.Srpf6.value).toFixed(3);
411 wc.Srp7.value = (wpn*wc.Srpf7.value).toFixed(3);
412
413 }
414
415 function set(input,factor){
416 inputnominal = input/factor;
417 updateAll(inputnominal);
418 }
419
420 function setW(input,factor){
421 inputnominal = input/factor;
422 updateAllW(inputnominal);
423 }
424
425 function setF(input,factor){
426 if (factor != 0) {
427 inputnominal = input/factor;
428 updateAllF(inputnominal);
429 }
430 }
431
432 function setCF(input,factor){
433 inputnominal = factor/input;
434 updatecf(inputnominal);
435 wc=document.forms[0];
436 wc.cf.value=input;
437 wc.cfW.value=input;
438 wc.cfF.value=input;
439 }
440
441 function setSCF(input,factor){
442 inputnominal = factor/input;
443 wc=document.forms[0];
444 updatescf(inputnominal);
445 updateSolarPowerF(wc.Fdu1.value/wc.Fduf1.value);
446 updateSolarPower(wc.du1.value/wc.duf1.value);
447 wc.scfF.value=input;
448 wc.scf.value=input;
449 }
450
451 function setRR(input,factor){
452 inputnominal = input/factor;
453 updaterr(inputnominal);
454 }
455
456
457
458 function setSPC(input){
459 wc=document.forms[0];
460 wc.spc.value=input;
461 wc.spcF.value=input;
462 // wc.spcS.value=input;
463 wc.wpc.value=100-input;
464 wc.wpcF.value=100-input;
465 // wc.wpcS.value=100-input;
466 updateWindPowerF(wc.Fdu1.value/wc.Fduf1.value);
467 updateWindPower(wc.du1.value/wc.duf1.value);
468 updateSolarPowerF(wc.Fdu1.value/wc.Fduf1.value);
469 updateSolarPower(wc.du1.value/wc.duf1.value);
470 }
471
472 function setWPC(input){
473 wc=document.forms[0];
474 wc.wpc.value=input;
475 wc.wpcF.value=input;
476 // wc.wpcS.value=input;
477 wc.spc.value=100-input;
478 wc.spcF.value=100-input;
479 // wc.spcS.value=100-input;
480 updateWindPowerF(wc.Fdu1.value/wc.Fduf1.value);
481 updateWindPower(wc.du1.value/wc.duf1.value);
482 updateSolarPowerF(wc.Fdu1.value/wc.Fduf1.value);
483 updateSolarPower(wc.du1.value/wc.duf1.value);
484 }
485
486 function setLat(latitude){
487 lat=Math.abs(latitude);
488 if (lat > 45) {
489 wsrf=Math.round(50*(90-lat)/90);
490 }
491 else {
492 wsrf=Math.round(25+75*(45-lat)/45);
493 }
494 wc=document.forms[0];
495 wc.wpcF.value=100-wsrf;
496 wc.spcF.value=wsrf;
497 wc.wpc.value=100-wsrf;
498 wc.spc.value=wsrf;
499 // wc.wpcS.value=100-wsrf;
500 // wc.spcS.value=wsrf;
501 wc.lat.value=latitude;
502 wc.latG.value=latitude;
503 // wc.latS.value=latitude;
504 updateWindPowerF(wc.Fdu1.value/wc.Fduf1.value);
505 updateWindPower(wc.du1.value/wc.duf1.value);
506 updateSolarPowerF(wc.Fdu1.value/wc.Fduf1.value);
507 updateSolarPower(wc.du1.value/wc.duf1.value);
508 }
509
510 function setS(input,factor){
511 inputnominal = input/factor;
512 updateAllS(inputnominal);
513 }
514
515 function updateStorageDays(sdn){
516 wc=document.forms[0];
517 /*
518 wc.sd1.value = (sdn*wc.sdf1.value).toFixed(3);
519 wc.sd2.value = (sdn*wc.sdf2.value).toFixed(3);
520 wc.sd3.value = (sdn*wc.sdf3.value).toFixed(3);
521 wc.sd4.value = (sdn*wc.sdf4.value).toFixed(3);
522 wc.sd5.value = (sdn*wc.sdf5.value).toFixed(3);
523 wc.sd6.value = (sdn*wc.sdf6.value).toFixed(3);
524 wc.sd7.value = (sdn*wc.sdf7.value).toFixed(3);
525 wc.sd8.value = (sdn*wc.sdf8.value).toFixed(3);
526 */
527 }
528
529 function updateStorageDaysW(sdn){
530 wc=document.forms[0];
531 wc.Wsd1.value = (sdn*wc.Wsdf1.value).toFixed(3);
532 wc.Wsd2.value = (sdn*wc.Wsdf2.value).toFixed(3);
533 wc.Wsd3.value = (sdn*wc.Wsdf3.value).toFixed(3);
534 wc.Wsd4.value = (sdn*wc.Wsdf4.value).toFixed(3);
535 wc.Wsd5.value = (sdn*wc.Wsdf5.value).toFixed(3);
536 wc.Wsd6.value = (sdn*wc.Wsdf6.value).toFixed(3);
537 wc.Wsd7.value = (sdn*wc.Wsdf7.value).toFixed(3);
538 wc.Wsd8.value = (sdn*wc.Wsdf8.value).toFixed(3);
539 }
540
541 function updateStorageDaysF(sdn){
542 wc=document.forms[0];
543 wc.Fsd1.value = (sdn*wc.Fsdf1.value).toFixed(3);
544 wc.Fsd2.value = (sdn*wc.Fsdf2.value).toFixed(3);
545 wc.Fsd3.value = (sdn*wc.Fsdf3.value).toFixed(3);
546 wc.Fsd4.value = (sdn*wc.Fsdf4.value).toFixed(3);
547 wc.Fsd5.value = (sdn*wc.Fsdf5.value).toFixed(3);
548 wc.Fsd6.value = (sdn*wc.Fsdf6.value).toFixed(3);
549 wc.Fsd7.value = (sdn*wc.Fsdf7.value).toFixed(3);
550 wc.Fsd8.value = (sdn*wc.Fsdf8.value).toFixed(3);
551 }
552
553 function updateStorageDaysS(sdn){
554 wc=document.forms[0];
555 wc.Ssd1.value = (sdn*wc.Ssdf1.value).toFixed(3);
556 wc.Ssd2.value = (sdn*wc.Ssdf2.value).toFixed(3);
557 wc.Ssd3.value = (sdn*wc.Ssdf3.value).toFixed(3);
558 wc.Ssd4.value = (sdn*wc.Ssdf4.value).toFixed(3);
559 wc.Ssd5.value = (sdn*wc.Ssdf5.value).toFixed(3);
560 wc.Ssd6.value = (sdn*wc.Ssdf6.value).toFixed(3);
561 wc.Ssd7.value = (sdn*wc.Ssdf7.value).toFixed(3);
562 wc.Ssd8.value = (sdn*wc.Ssdf8.value).toFixed(3);
563 }
564
565
566 function updateStorageHours(shn){
567 wc=document.forms[0];
568 wc.sh1.value = (shn*wc.shf1.value).toFixed(3);
569 wc.sh2.value = (shn*wc.shf2.value).toFixed(3);
570 wc.sh3.value = (shn*wc.shf3.value).toFixed(3);
571 wc.sh4.value = (shn*wc.shf4.value).toFixed(3);
572 wc.sh5.value = (shn*wc.shf5.value).toFixed(3);
573 wc.sh6.value = (shn*wc.shf6.value).toFixed(3);
574 wc.sh7.value = (shn*wc.shf7.value).toFixed(3);
575 wc.sh8.value = (shn*wc.shf8.value).toFixed(3);
576 }
577
578 function updateStorageHoursW(shn){
579 wc=document.forms[0];
580 wc.Wsh1.value = (shn*wc.Wshf1.value).toFixed(3);
581 wc.Wsh2.value = (shn*wc.Wshf2.value).toFixed(3);
582 wc.Wsh3.value = (shn*wc.Wshf3.value).toFixed(3);
583 wc.Wsh4.value = (shn*wc.Wshf4.value).toFixed(3);
584 wc.Wsh5.value = (shn*wc.Wshf5.value).toFixed(3);
585 wc.Wsh6.value = (shn*wc.Wshf6.value).toFixed(3);
586 wc.Wsh7.value = (shn*wc.Wshf7.value).toFixed(3);
587 wc.Wsh8.value = (shn*wc.Wshf8.value).toFixed(3);
588 }
589
590 function updateStorageHoursF(shn){
591 wc=document.forms[0];
592 wc.Fsh1.value = (shn*wc.Fshf1.value).toFixed(3);
593 wc.Fsh2.value = (shn*wc.Fshf2.value).toFixed(3);
594 wc.Fsh3.value = (shn*wc.Fshf3.value).toFixed(3);
595 wc.Fsh4.value = (shn*wc.Fshf4.value).toFixed(3);
596 wc.Fsh5.value = (shn*wc.Fshf5.value).toFixed(3);
597 wc.Fsh6.value = (shn*wc.Fshf6.value).toFixed(3);
598 wc.Fsh7.value = (shn*wc.Fshf7.value).toFixed(3);
599 wc.Fsh8.value = (shn*wc.Fshf8.value).toFixed(3);
600 }
601
602 function updateStorageHoursS(shn){
603 wc=document.forms[0];
604 wc.Ssh1.value = (shn*1).toFixed(3);
605 wc.Ssh2.value = (shn*1).toFixed(3);
606 wc.Ssh3.value = (shn*1).toFixed(3);
607 wc.Ssh4.value = (shn*1).toFixed(3);
608 wc.Ssh5.value = (shn*1).toFixed(3);
609 wc.Ssh6.value = (shn*1).toFixed(3);
610 wc.Ssh7.value = (shn*1).toFixed(3);
611 wc.Ssh8.value = (shn*1).toFixed(3);
612 }
613
614 function updateBackupPower(bpn){
615 wc=document.forms[0];
616 wc.bp1.value = (bpn*wc.bpf1.value).toFixed(3);
617 wc.bp2.value = (bpn*wc.bpf2.value).toFixed(3);
618 wc.bp3.value = (bpn*wc.bpf3.value).toFixed(3);
619 wc.bp4.value = (bpn*wc.bpf4.value).toFixed(3);
620 wc.bp5.value = (bpn*wc.bpf5.value).toFixed(3);
621 wc.bp6.value = (bpn*wc.bpf6.value).toFixed(3);
622 wc.bp7.value = (bpn*wc.bpf7.value).toFixed(3);
623 wc.bp8.value = (bpn*wc.bpf8.value).toFixed(3);
624 }
625
626 function updateBackupPowerW(bpn){
627 wc=document.forms[0];
628 wc.Wbp1.value = (bpn*wc.Wbpf1.value).toFixed(3);
629 wc.Wbp2.value = (bpn*wc.Wbpf2.value).toFixed(3);
630 wc.Wbp3.value = (bpn*wc.Wbpf3.value).toFixed(3);
631 wc.Wbp4.value = (bpn*wc.Wbpf4.value).toFixed(3);
632 wc.Wbp5.value = (bpn*wc.Wbpf5.value).toFixed(3);
633 wc.Wbp6.value = (bpn*wc.Wbpf6.value).toFixed(3);
634 wc.Wbp7.value = (bpn*wc.Wbpf7.value).toFixed(3);
635 wc.Wbp8.value = (bpn*wc.Wbpf8.value).toFixed(3);
636 }
637
638 function updateBackupPowerF(bpn){
639 wc=document.forms[0];
640 wc.Fbp1.value = (bpn*wc.Fbpf1.value).toFixed(3);
641 wc.Fbp2.value = (bpn*wc.Fbpf2.value).toFixed(3);
642 wc.Fbp3.value = (bpn*wc.Fbpf3.value).toFixed(3);
643 wc.Fbp4.value = (bpn*wc.Fbpf4.value).toFixed(3);
644 wc.Fbp5.value = (bpn*wc.Fbpf5.value).toFixed(3);
645 wc.Fbp6.value = (bpn*wc.Fbpf6.value).toFixed(3);
646 wc.Fbp7.value = (bpn*wc.Fbpf7.value).toFixed(3);
647 wc.Fbp8.value = (bpn*wc.Fbpf8.value).toFixed(3);
648 }
649
650 function updateBackupPowerS(bpn){
651 wc=document.forms[0];
652 wc.Sbp1.value = (bpn*wc.Sbpf1.value).toFixed(3);
653 wc.Sbp2.value = (bpn*wc.Sbpf2.value).toFixed(3);
654 wc.Sbp3.value = (bpn*wc.Sbpf3.value).toFixed(3);
655 wc.Sbp4.value = (bpn*wc.Sbpf4.value).toFixed(3);
656 wc.Sbp5.value = (bpn*wc.Sbpf5.value).toFixed(3);
657 wc.Sbp6.value = (bpn*wc.Sbpf6.value).toFixed(3);
658 wc.Sbp7.value = (bpn*wc.Sbpf7.value).toFixed(3);
659 wc.Sbp8.value = (bpn*wc.Sbpf8.value).toFixed(3);
660 }
661
662 function updateAll(pd){
663 updatePeakDemand(pd);
664 updateDailyUsage(pd);
665 updateWindPower(pd);
666 updateSolarPower(pd);
667 updateStorageDays(pd);
668 updateStorageHours(pd);
669 updateBackupPower(pd);
670 }
671
672 function updateAllW(wp){
673 updatePeakDemandW(wp);
674 updateDailyUsageW(wp);
675 updateWindPowerW(wp);
676 updateStorageDaysW(wp);
677 updateStorageHoursW(wp);
678 updateBackupPowerW(wp);
679 }
680
681 function updateAllF(wp){
682 updateDailyUsageF(wp);
683 updateWindPowerF(wp);
684 updateSolarPowerF(wp);
685 updateStorageDaysF(wp);
686 updateStorageHoursF(wp);
687 updateBackupPowerF(wp);
688 }
689
690 function updateAllS(sh){
691 updatePeakDemandS(sh);
692 updateDailyUsageS(sh);
693 updateRechargePowerS(sh);
694 updateStorageDaysS(sh);
695 updateStorageHoursS(sh);
696 updateBackupPowerS(sh);
697 }
698
699 function changeunits(tableN){
700 u1=document.getElementById("unit1");
701 // u2=document.getElementById("unit2");
702 u3=document.getElementById("unit3");
703 u4=document.getElementById("unit4");
704 u5=document.getElementById("unit5");
705
706 u1W=document.getElementById("unit1W");
707 u2W=document.getElementById("unit2W");
708 u3W=document.getElementById("unit3W");
709 u4W=document.getElementById("unit4W");
710 u5W=document.getElementById("unit5W");
711
712 u1F=document.getElementById("unit1F");
713 u2F=document.getElementById("unit2F");
714 u3F=document.getElementById("unit3F");
715 u4F=document.getElementById("unit4F");
716
717 // u5F=document.getElementById("unit5F");
718
719 // u6F=document.getElementById("unit6F");
720
721 u1S=document.getElementById("unit1S");
722 u2S=document.getElementById("unit2S");
723 u3S=document.getElementById("unit3S");
724 u4S=document.getElementById("unit4S");
725 u5S=document.getElementById("unit5S");
726
727 s=document.getElementById("selectunits");
728 sW=document.getElementById("selectunitsW");
729 sF=document.getElementById("selectunitsF");
730 sS=document.getElementById("selectunitsS");
731 if ( tableN == 1 ) {
732 svalue = s.value;
733 sW.value = svalue;
734 sF.value = svalue;
735 sS.value = svalue;
736 }
737 if ( tableN == 2 ) {
738 svalue = sW.value;
739 s.value = svalue;
740 sF.value = svalue;
741 sS.value = svalue;
742 }
743 if ( tableN == 3 ) {
744 svalue = sF.value;
745 s.value = svalue;
746 sW.value = svalue;
747 sS.value = svalue;
748 }
749 if ( tableN == 4 ) {
750 svalue = sS.value;
751 s.value = svalue;
752 sW.value = svalue;
753 sF.value = svalue;
754 }
755 u1.innerHTML=svalue;
756 // u2.innerHTML=svalue;
757 u3.innerHTML=svalue;
758 u4.innerHTML=svalue;
759 u5.innerHTML=svalue;
760
761 u1W.innerHTML=svalue;
762 u2W.innerHTML=svalue;
763 u3W.innerHTML=svalue;
764 u4W.innerHTML=svalue;
765 u5W.innerHTML=svalue;
766
767 u1F.innerHTML=svalue;
768 u2F.innerHTML=svalue;
769 u3F.innerHTML=svalue;
770 u4F.innerHTML=svalue;
771
772 // u5F.innerHTML=svalue;
773
774 // u6F.innerHTML=svalue;
775
776 u1S.innerHTML=svalue;
777 u2S.innerHTML=svalue;
778 u3S.innerHTML=svalue;
779 u4S.innerHTML=svalue;
780 u5S.innerHTML=svalue;
781 }
782
783
784 function parameters(){
785 var arr = document.URL.match(/peak=([0-9]+(\.[0-9][0-9]?[0-9]?)?)/);
786 if ( arr !== null ) {
787 var peak = arr[1];
788 setPeakDemand(peak);
789 }
790 else {
791 arr = document.URL.match(/usage=([0-9]+(\.[0-9][0-9]?[0-9]?)?)/);
792 if ( arr !== null ) {
793 var usage = arr[1];
794 setF(usage,15);
795 }
796 }
797 arr = document.URL.match(/wind=([0-9]+(\.[0-9][0-9]?[0-9]?)?)/);
798 if ( arr !== null ) {
799 var wind = arr[1];
800 setWindPower(wind);
801 }
802
803 arr = document.URL.match(/storage=([0-9]+(\.[0-9][0-9]?[0-9]?)?)/);
804 if ( arr !== null ) {
805 var storage = arr[1];
806 setStorageHours(storage);
807 }
808
809 arr = document.URL.match(/cf=([0-9]+)/);
810 if ( arr !== null ) {
811 var cf = arr[1];
812 if (cf > 70) cf=70;
813 if (cf < 1) cf=1;
814 setCF(cf,24);
815 }
816
817 wc = document.forms[0];
818 arr = document.URL.match(/spc=([0-9]+)/);
819 if ( arr !== null ) {
820 var spc = arr[1];
821 if (spc > 100) spc=100;
822 if (spc < 0) spc=0;
823 wc.spcF.value = spc;
824 setWPC(100-spc);
825 }
826
827 arr = document.URL.match(/lat=([0-9]+|-[0-9]+)/);
828 if ( arr !== null ) {
829 var lat = arr[1];
830 if (lat > 90) lat=90;
831 if (lat < -90) lat=-90;
832 wc.lat.value = lat;
833 setLat(lat);
834 }
835
836 arr = document.URL.match(/units=([kKmMgG]?[wW])/);
837 if ( arr !== null ) {
838 var units = arr[1];
839 s=document.getElementById("selectunits");
840 s.value = units.toUpperCase();
841 changeunits(1);
842 }
843
844 }
845
846
847 function rowText(pd,units,du,wp,cf,sd,sh,bp,sp,scf) {
848 win= window.open("");
849 win.document.open("text/html", "replace");
850 win.document.write("<HTML><HEAD><TITLE>System Design</TITLE></HEAD><BODY><span style='font-size: 20px'><b>Wind, solar, storage and back-up system designer</b><BR>Configuration text page.<BR></span><span style='font-size: 30px'><BR>");
851 if ( pd != -1) {
852 powerword = "Demand";
853 if ( wp == -1 ) {
854 powerword = "Regeneration";
855 }
856 win.document.write("<b>Peak "+powerword+" Power:</b> "+1*Number(pd).toPrecision(3)+" "+units+"<BR>");
857 }
858 energy="";
859 win.document.write("<b>Daily Usage of Energy:</b> "+1*Number(du).toPrecision(3)+" "+units+"h<BR>");
860 if ( wp != -1 ) {
861 if ( wp > 0 ) {
862 win.document.write("<b>Wind Power Capacity:</b> "+1*Number(wp).toPrecision(3)+" "+units+"<BR><b>Wind Capacity Factor:</b> "+cf+"%<BR>");
863 energy = "Wind";
864 }
865 if ( (pd == -1 || sd == -1 ) && sp != 0 ) {
866 win.document.write("<b>Solar Power Capacity:</b> "+1*Number(sp).toPrecision(3)+" "+units+"<BR><b>Solar Capacity Factor:</b> "+scf+"%<BR>");
867 if ( energy == "" ) {
868 energy = "Solar";
869 }
870 else {
871 energy += " + Solar";
872 win.document.write("<b> Wind : Solar energy generation ratio = </b>"+ wc.wpcF.value + "% : "+ wc.spcF.value +"%<BR>");
873 }
874 }
875 }
876 else {
877 win.document.write("<b>Recharging Power Capacity:</b> "+1*Number(sp).toPrecision(3)+" "+units+"<BR><b>Recharge / regeneration %:</b> "+scf+"%<BR>");
878 energy = "Renewable";
879 }
880 if ( sd != -1 ) {
881 win.document.write("<b>"+energy+" energy per day (average):</b> "+1*Number(sd).toPrecision(3)+" "+units+"h<BR>");
882 }
883 win.document.write("<b>Storage Energy Capacity:</b> "+1*Number(sh).toPrecision(3)+" "+units+"h<BR><b>Back-up power:</b> "+1*Number(bp).toPrecision(3)+" "+units);
884
885 win.document.write("</span></BODY></HTML>");
886 win.document.close();
887 }
888 //-->
889 </script>
890 </head>
891 <body onload="parameters();">
892 <!-- Copyright 2017 by Scottish Scientist-->
893
<table width="70%" align="center">
894 <tbody>
895 <tr>
896 <td>
897 <p>
898 <a style="color: white;" href="https://scottishscientist.wordpress.com/" target="_blank"><span style="color: white;">The Scottish Scientist web-site in association with the Scottish Scientist
899 Blog at WordPress.Com</span></a>
900 </p>
901 <h1>
902 <a style="color: white; font-size: 30px;" href="https://scottishscientist.wordpress.com/2017/07/14/wind-storage-and-back-up-system-designer/" target="_blank">Wind, solar, storage and back-up
903 system designer</a>
904 </h1>
905 <h2>
906 Peak demand, wind, solar and back-up power / energy usage and storage capacity calculator
907 </h2>
908 <h3>
909 For the specification and design of renewable energy electricity generation systems which successfully smooth intermittent wind and solar generation to serve customer demand, 24 hours a day, 7
910 days a week and 52 weeks a year.
911 </h3>
912 <p>
913 Adopting the recommendations derived from <a style="color: white;" href="https://scottishscientist.wordpress.com/2015/04/03/scientific-computer-modelling-of-wind-pumped-storage-hydro/" target=
914 "_blank"><span style="color: white;">scientific computer modelling</span></a>, the tables offer rows of <a style="color: white;" href=
915 "https://scottishscientist.wordpress.com/2015/04/03/scientific-computer-modelling-of-wind-pumped-storage-hydro/" target="_blank"><span style="color: white;">previously successful modelled
916 system configurations</span></a> - row A, a configuration with no back-up power and rows B to H offering alternative ratios of wind and solar power to back-up power.
917 </p>
918 <p>
919 The recommended energy storage capacity is about 90% of one day's average wind and solar energy generation.
920 </p>
921 <p>
922 The tables' columns consist of adjustable power and energy variables.
923 </p>
924 <p>
925 A cell value can be adjusted according to the design criteria and then all the other table values will be recalculated, spreadsheet-style.
926 </p>
927 <p>
928 The wind and solar power generation <a style="color: white;" href="https://en.wikipedia.org/wiki/Capacity_factor#Wind_farm" target="_blank">Capacity Factor</a> (C.F.) percentages can be
929 adjusted too.
930 </p>
931 <p>
932 The energy generation percentages from wind and solar power can be adjusted, either directly or according to the latitude of the system.
933 </p>
934 <p>
935 A configuration text page for a row which has been adjusted and designed satisfactorily can be opened for text output by clicking on the row’s “TXT” icon in the “Open text page” column.
936 </p>
937 <p>
938 Caution! Your browser scripts must be allowed and enabled for the designer to work. All browser extension pop-up blockers, ad-blockers, Noscript etc either must be disabled while using the
939 designer or the designer web-page must be trusted and white-listed, if the script-blocker extension even allows white-listing because some may not, in which case disable it.
940 </p>
941 <p>
942 The recommendations derived from modelling are only specified to 2 significant figures so take with a pinch of salt any apparently third “significant” figures in the numbers output in the
943 configuration text pages.
944 </p>
945 </td>
946 </tr>
947 </tbody>
948 </table>
949 <form>
950
<a name="grid"></a>
951
<table width="900" align="center" id="calculator1" style="padding: 0px; border: 2px solid black; border-image: none; spacing: 0px;" bgcolor="lightgrey">
952 <tbody>
953 <tr>
954 <th colspan="5">
955 <span style="font-size: 40px;">Grid Watch Demand
956 <br>
957 Focus Table</span>
958 </th>
959 <th colspan="3">
960
<img width="179" height="108" src="demand_graph_logo.jpg">
961 </th>
962 </tr>
963 <tr>
964 <td></td>
965 </tr>
966 <tr>
967 <th style="text-align: left;" colspan="2">
968 Peak demand
969 <br>
970 <span style="font-size: 15px;"> units:</span>
<select id="selectunits" onchange="changeunits(1)">
971 <option value="W">
972 Watts
973 </option>
974 <option value="KW">
975 KiloWatts
976 </option>
977 <option selected="selected" value="MW">
978 MegaWatts
979 </option>
980 <option value="GW">
981 GigaWatts
982 </option>
983 </select>
984 </th>
985 <th>
986 Daily Usage
987 <br>
988 <small><a id="unit5">MW</a>h</small>
989 </th>
990 <th colspan="2">
991
<table width="100%" align="center" id="unknown">
992 <tbody>
993 <tr>
994 <td>
995 <b>Wind <small>power</small></b>
996 </td>
997
<td width="20%">
998 <b><small><a id="unit1">MW</a></small></b>
999 </td>
1000 <td>
1001 <b> Solar <small>power</small></b>
1002 </td>
1003 </tr>
1004 <tr>
1005 <td colspan="3">
1006
<table width="100%" align="center" id="unknown2">
1007 <tbody>
1008 <tr>
1009 <td>
1010 <a title="Wind Capacity Factor"><small>
<input name="cf" class="setpc" onchange="if (this.value<0) this.value=1; if (this.value>70) this.value=70; setCF(this.value,24)" type=
1011 "number" min="1" max="70" step="1" value="24">%</small></a>
1012 </td>
1013 <td>
1014 <span style="font-size: 15px;">Capacity Factor</span>
1015 </td>
1016 <td>
1017 <a title="Solar Capacity Factor"><small>
<input name="scf" class="setpc" onchange="if (this.value<0.0) this.value=0.1; if (this.value>50) this.value=50; setSCF(this.value,8.7)"
1018 type="number" min="0.1" max="50" step="0.1" value="8.7">%</small></a>
1019 </td>
1020 </tr>
1021 </tbody>
1022 </table>
1023 </td>
1024 </tr>
1025 </tbody>
1026 </table>
1027 </th>
1028 <th>
1029 Storage
1030 <br>
1031 <small><a id="unit3">MW</a>h</small>
1032 </th>
1033 <th>
1034 Back-up <small>power</small>
1035 <br>
1036 <a id="unit4">MW</a>
1037 </th>
1038 <th>
1039 <p style="line-height: 100%; font-size: 15px; margin-top: 2px; margin-bottom: 2px;">
1040 Open
1041 <br>
1042 text
1043 <br>
1044 page
1045 </p>
1046 </th>
1047 </tr>
1048 <tr>
1049
<td align="left" colspan="2">
1050 <small>Row</small>
1051 </td>
1052 <td></td>
1053 <td colspan="2">
1054 <span style="text-align: right; font-size: 16px;"> <b>Wind %</b></span> <a title="Wind Energy Generation Percent">
<input name="wpc" class="setpc" onchange=
1055 "if (this.value<0) this.value=0; if (this.value>100) this.value=100; setSPC(100-this.value)" type="number" min="0" max="100" step="1" value="100"></a> : <a title=
1056 "Solar Energy Generation Percent">
<input name="spc" class="setpc" onchange="if (this.value<0) this.value=0; if (this.value>100) this.value=100; setWPC(100-this.value)" type="number" min=
1057 "0" max="100" step="1" value="0"></a> <span style="text-align: left; font-size: 16px;"><b>Solar %</b></span>
1058 </td>
1059
<td align="center" colspan="2">
1060 <a title="Set Generation Wind : Solar ratio according to the latitude"><span style="font-size: 16px;"><b>Latitude</b></span>
<input name="latG" class="setpc" onchange=
1061 "if (this.value<-90) this.value=-90; if (this.value>90) this.value=90; setLat(this.value)" type="number" min="-90" max="90" step="1" value="90"></a>
1062 </td>
1063 <td></td>
1064 </tr>
1065 <tr>
1066 <td>
1067 A
1068 </td>
1069 <td>
1070
<input name="pd1" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1071 </td>
1072 <td>
1073
<input name="duf1" disabled="disabled" class="factor" value="15">
<input name="du1" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1074 </td>
1075 <td>
1076
<input name="wpf1" disabled="disabled" class="factor" value="7">
<input name="wp1" class="set" onchange=
1077 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf1.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="700">
1078 </td>
1079 <td>
1080
<input name="spf1" disabled="disabled" class="factor" value="19.310345">
<input name="sp1" class="setl" onchange=
1081 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf1.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1082 </td>
1083 <td>
1084
<input name="shf1" disabled="disabled" class="factor" value="36">
<input name="sh1" class="setl" onchange="set(this.value,36)" type="number" min="0" step="1" value="3600">
1085 </td>
1086 <td>
1087
<input name="bpf1" disabled="disabled" class="factor" value="0">
<input name="bp1" class="set" onchange="this.value=0" type="number" min="0" step="1" value="0">
1088 </td>
1089
<td align="center" style="padding: 0px;">
1090
<img width="32" height="32" class="rowtext" onclick="rowText(pd1.value,selectunits.value,du1.value,wp1.value,cf.value,-1,sh1.value,bp1.value,sp1.value,scf.value)" src="txticon32.png">
1091 </td>
1092 </tr>
1093 <tr>
1094 <td>
1095 B
1096 </td>
1097 <td>
1098
<input name="pd2" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1099 </td>
1100 <td>
1101
<input name="duf2" disabled="disabled" class="factor" value="15">
<input name="du2" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1102 </td>
1103 <td>
1104
<input name="wpf2" disabled="disabled" class="factor" value="5.5">
<input name="wp2" class="set" onchange=
1105 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf2.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="550">
1106 </td>
1107 <td>
1108
<input name="spf2" disabled="disabled" class="factor" value="15.17241">
<input name="sp2" class="setl" onchange=
1109 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf2.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1110 </td>
1111 <td>
1112
<input name="shf2" disabled="disabled" class="factor" value="26.4">
<input name="sh2" class="setl" onchange="set(this.value,26.4)" type="number" min="0" step="1" value="2640">
1113 </td>
1114 <td>
1115
<input name="bpf2" disabled="disabled" class="factor" value="0.15">
<input name="bp2" class="set" onchange="set(this.value,0.15)" type="number" min="0" step="1" value="15">
1116 </td>
1117
<td align="center" style="padding: 0px;">
1118
<img width="32" height="32" class="rowtext" onclick="rowText(pd2.value,selectunits.value,du2.value,wp2.value,cf.value,-1,sh2.value,bp2.value,sp2.value,scf.value)" src="txticon32.png">
1119 </td>
1120 </tr>
1121 <tr>
1122 <td>
1123 C
1124 </td>
1125 <td>
1126
<input name="pd3" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1127 </td>
1128 <td>
1129
<input name="duf3" disabled="disabled" class="factor" value="15">
<input name="du3" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1130 </td>
1131 <td>
1132
<input name="wpf3" disabled="disabled" class="factor" value="4">
<input name="wp3" class="set" onchange=
1133 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf3.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="400">
1134 </td>
1135 <td>
1136
<input name="spf3" disabled="disabled" class="factor" value="11.034">
<input name="sp3" class="setl" onchange=
1137 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf3.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1138 </td>
1139 <td>
1140
<input name="shf3" disabled="disabled" class="factor" value="19.2">
<input name="sh3" class="setl" onchange="set(this.value,19.2)" type="number" min="0" step="1" value="1920">
1141 </td>
1142 <td>
1143
<input name="bpf3" disabled="disabled" class="factor" value="0.3">
<input name="bp3" class="set" onchange="set(this.value,0.3)" type="number" min="0" step="1" value="30">
1144 </td>
1145
<td align="center" style="padding: 0px;">
1146
<img width="32" height="32" class="rowtext" onclick="rowText(pd3.value,selectunits.value,du3.value,wp3.value,cf.value,-1,sh3.value,bp3.value,sp3.value,scf.value)" src="txticon32.png">
1147 </td>
1148 </tr>
1149 <tr>
1150 <td>
1151 D
1152 </td>
1153 <td>
1154
<input name="pd8" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1155 </td>
1156 <td>
1157
<input name="duf8" disabled="disabled" class="factor" value="15">
<input name="du8" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1158 </td>
1159 <td>
1160
<input name="wpf8" disabled="disabled" class="factor" value="3.3">
<input name="wp8" class="set" onchange=
1161 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf8.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="330">
1162 </td>
1163 <td>
1164
<input name="spf8" disabled="disabled" class="factor" value="9.1034">
<input name="sp8" class="setl" onchange=
1165 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf8.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1166 </td>
1167 <td>
1168
<input name="shf8" disabled="disabled" class="factor" value="16.8">
<input name="sh8" class="setl" onchange="set(this.value,16.8)" type="number" min="0" step="1" value="1680">
1169 </td>
1170 <td>
1171
<input name="bpf8" disabled="disabled" class="factor" value="0.35">
<input name="bp8" class="set" onchange="set(this.value,0.35)" type="number" min="0" step="1" value="35">
1172 </td>
1173
<td align="center" style="padding: 0px;">
1174
<img width="32" height="32" class="rowtext" onclick="rowText(pd8.value,selectunits.value,du8.value,wp8.value,cf.value,-1,sh8.value,bp8.value,sp8.value,scf.value)" src="txticon32.png">
1175 </td>
1176 </tr>
1177 <tr>
1178 <td>
1179 E
1180 </td>
1181 <td>
1182
<input name="pd4" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1183 </td>
1184 <td>
1185
<input name="duf4" disabled="disabled" class="factor" value="15">
<input name="du4" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1186 </td>
1187 <td>
1188
<input name="wpf4" disabled="disabled" class="factor" value="2.7">
<input name="wp4" class="set" onchange=
1189 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf4.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="270">
1190 </td>
1191 <td>
1192
<input name="spf4" disabled="disabled" class="factor" value="7.4483">
<input name="sp4" class="setl" onchange=
1193 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf4.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1194 </td>
1195 <td>
1196
<input name="shf4" disabled="disabled" class="factor" value="14.4">
<input name="sh4" class="setl" onchange="set(this.value,14.4)" type="number" min="0" step="1" value="1440">
1197 </td>
1198 <td>
1199
<input name="bpf4" disabled="disabled" class="factor" value="0.4">
<input name="bp4" class="set" onchange="set(this.value,0.4)" type="number" min="0" step="1" value="40">
1200 </td>
1201
<td align="center" style="padding: 0px;">
1202
<img width="32" height="32" class="rowtext" onclick="rowText(pd4.value,selectunits.value,du4.value,wp4.value,cf.value,-1,sh4.value,bp4.value,sp4.value,scf.value)" src="txticon32.png">
1203 </td>
1204 </tr>
1205 <tr>
1206 <td>
1207 F
1208 </td>
1209 <td>
1210
<input name="pd5" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1211 </td>
1212 <td>
1213
<input name="duf5" disabled="disabled" class="factor" value="15">
<input name="du5" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1214 </td>
1215 <td>
1216
<input name="wpf5" disabled="disabled" class="factor" value="1.9">
<input name="wp5" class="set" onchange=
1217 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf5.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="190">
1218 </td>
1219 <td>
1220
<input name="spf5" disabled="disabled" class="factor" value="5.2414">
<input name="sp5" class="setl" onchange=
1221 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf5.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1222 </td>
1223 <td>
1224
<input name="shf5" disabled="disabled" class="factor" value="9.6">
<input name="sh5" class="setl" onchange="set(this.value,9.6)" type="number" min="0" step="1" value="960">
1225 </td>
1226 <td>
1227
<input name="bpf5" disabled="disabled" class="factor" value="0.47">
<input name="bp5" class="set" onchange="set(this.value,0.47)" type="number" min="0" step="1" value="47">
1228 </td>
1229
<td align="center" style="padding: 0px;">
1230
<img width="32" height="32" class="rowtext" onclick="rowText(pd5.value,selectunits.value,du5.value,wp5.value,cf.value,-1,sh5.value,bp5.value,sp5.value,scf.value)" src="txticon32.png">
1231 </td>
1232 </tr>
1233 <tr>
1234 <td>
1235 G
1236 </td>
1237 <td>
1238
<input name="pd6" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1239 </td>
1240 <td>
1241
<input name="duf6" disabled="disabled" class="factor" value="15">
<input name="du6" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1242 </td>
1243 <td>
1244
<input name="wpf6" disabled="disabled" class="factor" value="1.5">
<input name="wp6" class="set" onchange=
1245 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf6.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="150">
1246 </td>
1247 <td>
1248
<input name="spf6" disabled="disabled" class="factor" value="4.1379">
<input name="sp6" class="setl" onchange=
1249 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf6.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1250 </td>
1251 <td>
1252
<input name="shf6" disabled="disabled" class="factor" value="7.2">
<input name="sh6" class="setl" onchange="set(this.value,7.2)" type="number" min="0" step="1" value="720">
1253 </td>
1254 <td>
1255
<input name="bpf6" disabled="disabled" class="factor" value="0.51">
<input name="bp6" class="set" onchange="set(this.value,0.51)" type="number" min="0" step="1" value="51">
1256 </td>
1257
<td align="center" style="padding: 0px;">
1258
<img width="32" height="32" class="rowtext" onclick="rowText(pd6.value,selectunits.value,du6.value,wp6.value,cf.value,-1,sh6.value,bp6.value,sp6.value,scf.value)" src="txticon32.png">
1259 </td>
1260 </tr>
1261 <tr>
1262 <td>
1263 H
1264 </td>
1265 <td>
1266
<input name="pd7" class="set" onchange="setPeakDemand(this.value)" type="number" min="0" step="1" value="100">
1267 </td>
1268 <td>
1269
<input name="duf7" disabled="disabled" class="factor" value="15">
<input name="du7" class="setl" onchange="set(this.value,15)" type="number" min="0" step="1" value="1500">
1270 </td>
1271 <td>
1272
<input name="wpf7" disabled="disabled" class="factor" value="1">
<input name="wp7" class="set" onchange=
1273 "if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf7.value*wc.wpc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="100">
1274 </td>
1275 <td>
1276
<input name="spf7" disabled="disabled" class="factor" value="2.7586">
<input name="sp7" class="setl" onchange=
1277 "if ( wc.spc.value !=0 ) {set(this.value,wc.spf7.value*wc.spc.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1278 </td>
1279 <td>
1280
<input name="shf7" disabled="disabled" class="factor" value="5.04">
<input name="sh7" class="setl" onchange="set(this.value,5.04)" type="number" min="0" step="1" value="504">
1281 </td>
1282 <td>
1283
<input name="bpf7" disabled="disabled" class="factor" value="0.56">
<input name="bp7" class="set" onchange="set(this.value,0.56)" type="number" min="0" step="1" value="56">
1284 </td>
1285
<td align="center" style="padding: 0px;">
1286
<img width="32" height="32" class="rowtext" onclick="rowText(pd7.value,selectunits.value,du7.value,wp7.value,cf.value,-1,sh7.value,bp7.value,sp7.value,scf.value)" src="txticon32.png">
1287 </td>
1288 </tr>
1289 </tbody>
1290 </table>
1291 <br>
1292 <!-- Table 2 -->
1293
<a name="wind"></a>
1294
<table width="900" align="center" id="calculator2" style="padding: 0px; border: 2px solid black; border-image: none; spacing: 0px;" bgcolor="lightgrey">
1295 <tbody>
1296 <tr>
1297 <th colspan="5">
1298 <span style="font-size: 40px;">Wind Generation Capacity
1299 <br>
1300 Focus Table</span>
1301 </th>
1302 <th colspan="3">
1303
<img width="237" height="108" src="wind-turbines-logo.jpg">
1304 </th>
1305 </tr>
1306 <tr>
1307 <td></td>
1308 </tr>
1309 <tr>
1310 <th style="text-align: left;" colspan="2">
1311 <small>Row </small> Peak demand
1312 <br>
1313 <span style="font-size: 15px;"> units:</span>
<select id="selectunitsW" onchange="changeunits(2)">
1314 <option value="W">
1315 Watts
1316 </option>
1317 <option value="KW">
1318 KiloWatts
1319 </option>
1320 <option selected="selected" value="MW">
1321 MegaWatts
1322 </option>
1323 <option value="GW">
1324 GigaWatts
1325 </option>
1326 </select>
1327 </th>
1328 <th colspan="2">
1329
<table id="unknown5">
1330 <tbody>
1331 <tr>
1332 <td>
1333 Daily Usage
1334 <br>
1335 <small><a id="unit5W">MW</a>h</small>
1336 </td>
1337 <td>
1338 <small>Wind power <a id="unit1W">MW</a></small>
1339 <br>
1340 <small><span style="font-size: 15px;">Capacity Factor</span> <a title="Capacity Factor">
<input name="cfW" class="setpc" onchange=
1341 "if (this.value<1) this.value=1; if (this.value>70) this.value=70; setCF(this.value,24)" type="number" min="1" max="70" step="1" value="24">%</a></small>
1342 </td>
1343 </tr>
1344 </tbody>
1345 </table>
1346 </th>
1347 <th>
1348 Wind energy
1349 <br>
1350 <small>per day - <a id="unit2W">MW</a>h</small>
1351 </th>
1352 <th>
1353 Storage
1354 <br>
1355 <small><a id="unit3W">MW</a>h</small>
1356 </th>
1357 <th>
1358 Back-up <small>power</small>
1359 <br>
1360 <a id="unit4W">MW</a>
1361 </th>
1362 <th>
1363 <p style="line-height: 100%; font-size: 15px; margin-top: 2px; margin-bottom: 2px;">
1364 Open
1365 <br>
1366 text
1367 <br>
1368 page
1369 </p>
1370 </th>
1371 </tr>
1372 <tr>
1373 <td>
1374 A
1375 </td>
1376 <td>
1377
<input name="Wpdf1" disabled="disabled" class="factor" value="0.142857">
<input name="Wpd1" class="set" onchange="setW(this.value,wc.Wpdf1.value)" type="number" min="0" step="1" value="143">
1378 </td>
1379 <td>
1380
<input name="Wduf1" disabled="disabled" class="factor" value="2.14285">
<input name="Wdu1" class="setl" onchange="setW(this.value,wc.Wduf1.value)" type="number" min="0" step="1" value="2143">
1381 </td>
1382 <td>
1383
<input name="Wwp1" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1384 </td>
1385 <td>
1386
<input name="Wsdf1" disabled="disabled" class="factor" value="5.76">
<input name="Wsd1" class="setl" onchange="setW(this.value,wc.Wsdf1.value)" type="number" min="0" step="1" value="5760">
1387 </td>
1388 <td>
1389
<input name="Wshf1" disabled="disabled" class="factor" value="5.142857">
<input name="Wsh1" class="setl" onchange="setW(this.value,wc.Wshf1.value)" type="number" min="0" step="1" value="5143">
1390 </td>
1391 <td>
1392
<input name="Wbpf1" disabled="disabled" class="factor" value="0">
<input name="Wbp1" class="setn" onchange="this.value=0" type="number" min="0" step="1" value="0">
1393 </td>
1394
<td align="center" style="padding: 0px;">
1395
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd1.value,selectunits.value,Wdu1.value,Wwp1.value,cf.value,Wsd1.value,Wsh1.value,Wbp1.value)" src="txticon32.png">
1396 </td>
1397 </tr>
1398 <tr>
1399 <td>
1400 B
1401 </td>
1402 <td>
1403
<input name="Wpdf2" disabled="disabled" class="factor" value="0.1818">
<input name="Wpd2" class="set" onchange="setW(this.value,wc.Wpdf2.value)" type="number" min="0" step="1" value="182">
1404 </td>
1405 <td>
1406
<input name="Wduf2" disabled="disabled" class="factor" value="2.72727">
<input name="Wdu2" class="setl" onchange="setW(this.value,wc.Wduf2.value)" type="number" min="0" step="1" value="2727">
1407 </td>
1408 <td>
1409
<input name="Wwp2" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1410 </td>
1411 <td>
1412
<input name="Wsdf2" disabled="disabled" class="factor" value="5.76">
<input name="Wsd2" class="setl" onchange="setW(this.value,wc.Wsdf2.value)" type="number" min="0" step="1" value="5760">
1413 </td>
1414 <td>
1415
<input name="Wshf2" disabled="disabled" class="factor" value="4.8">
<input name="Wsh2" class="setl" onchange="setW(this.value,wc.Wshf2.value)" type="number" min="0" step="1" value="4800">
1416 </td>
1417 <td>
1418
<input name="Wbpf2" disabled="disabled" class="factor" value="0.02727">
<input name="Wbp2" class="set" onchange="setW(this.value,wc.Wbpf2.value)" type="number" min="0" step="1" value="27">
1419 </td>
1420
<td align="center" style="padding: 0px;">
1421
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd2.value,selectunits.value,Wdu2.value,Wwp2.value,cf.value,Wsd2.value,Wsh2.value,Wbp2.value)" src="txticon32.png">
1422 </td>
1423 </tr>
1424 <tr>
1425 <td>
1426 C
1427 </td>
1428 <td>
1429
<input name="Wpdf3" disabled="disabled" class="factor" value="0.25">
<input name="Wpd3" class="set" onchange="setW(this.value,wc.Wpdf3.value)" type="number" min="0" step="1" value="250">
1430 </td>
1431 <td>
1432
<input name="Wduf3" disabled="disabled" class="factor" value="3.75">
<input name="Wdu3" class="setl" onchange="setW(this.value,wc.Wduf3.value)" type="number" min="0" step="1" value="3750">
1433 </td>
1434 <td>
1435
<input name="Wwp3" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1436 </td>
1437 <td>
1438
<input name="Wsdf3" disabled="disabled" class="factor" value="5.76">
<input name="Wsd3" class="setl" onchange="setW(this.value,wc.Wsdf3.value)" type="number" min="0" step="1" value="5760">
1439 </td>
1440 <td>
1441
<input name="Wshf3" disabled="disabled" class="factor" value="4.8">
<input name="Wsh3" class="setl" onchange="setW(this.value,wc.Wshf3.value)" type="number" min="0" step="1" value="4800">
1442 </td>
1443 <td>
1444
<input name="Wbpf3" disabled="disabled" class="factor" value="0.075">
<input name="Wbp3" class="set" onchange="setW(this.value,wc.Wbpf3.value)" type="number" min="0" step="1" value="75">
1445 </td>
1446
<td align="center" style="padding: 0px;">
1447
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd3.value,selectunits.value,Wdu3.value,Wwp3.value,cf.value,Wsd3.value,Wsh3.value,Wbp3.value)" src="txticon32.png">
1448 </td>
1449 </tr>
1450 <tr>
1451 <td>
1452 D
1453 </td>
1454 <td>
1455
<input name="Wpdf8" disabled="disabled" class="factor" value="0.30303">
<input name="Wpd8" class="set" onchange="setW(this.value,wc.Wpdf8.value)" type="number" min="0" step="1" value="303">
1456 </td>
1457 <td>
1458
<input name="Wduf8" disabled="disabled" class="factor" value="4.54545">
<input name="Wdu8" class="setl" onchange="setW(this.value,wc.Wduf8.value)" type="number" min="0" step="1" value="4545">
1459 </td>
1460 <td>
1461
<input name="Wwp8" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1462 </td>
1463 <td>
1464
<input name="Wsdf8" disabled="disabled" class="factor" value="5.76">
<input name="Wsd8" class="setl" onchange="setW(this.value,wc.Wsdf8.value)" type="number" min="0" step="1" value="5760">
1465 </td>
1466 <td>
1467
<input name="Wshf8" disabled="disabled" class="factor" value="5.0909">
<input name="Wsh8" class="setl" onchange="setW(this.value,wc.Wshf8.value)" type="number" min="0" step="1" value="5091">
1468 </td>
1469 <td>
1470
<input name="Wbpf8" disabled="disabled" class="factor" value="0.10606">
<input name="Wbp8" class="set" onchange="setW(this.value,wc.Wbpf8.value)" type="number" min="0" step="1" value="106">
1471 </td>
1472
<td align="center" style="padding: 0px;">
1473
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd8.value,selectunits.value,Wdu8.value,Wwp8.value,cf.value,Wsd8.value,Wsh8.value,Wbp8.value)" src="txticon32.png">
1474 </td>
1475 </tr>
1476 <tr>
1477 <td>
1478 E
1479 </td>
1480 <td>
1481
<input name="Wpdf4" disabled="disabled" class="factor" value="0.3704">
<input name="Wpd4" class="set" onchange="setW(this.value,wc.Wpdf4.value)" type="number" min="0" step="1" value="370">
1482 </td>
1483 <td>
1484
<input name="Wduf4" disabled="disabled" class="factor" value="5.55555">
<input name="Wdu4" class="setl" onchange="setW(this.value,wc.Wduf4.value)" type="number" min="0" step="1" value="5556">
1485 </td>
1486 <td>
1487
<input name="Wwp4" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1488 </td>
1489 <td>
1490
<input name="Wsdf4" disabled="disabled" class="factor" value="5.76">
<input name="Wsd4" class="setl" onchange="setW(this.value,wc.Wsdf4.value)" type="number" min="0" step="1" value="5760">
1491 </td>
1492 <td>
1493
<input name="Wshf4" disabled="disabled" class="factor" value="5.333">
<input name="Wsh4" class="setl" onchange="setW(this.value,wc.Wshf4.value)" type="number" min="0" step="1" value="5333">
1494 </td>
1495 <td>
1496
<input name="Wbpf4" disabled="disabled" class="factor" value="0.1481">
<input name="Wbp4" class="set" onchange="setW(this.value,wc.Wbpf4.value)" type="number" min="0" step="1" value="148">
1497 </td>
1498
<td align="center" style="padding: 0px;">
1499
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd4.value,selectunits.value,Wdu4.value,Wwp4.value,cf.value,Wsd4.value,Wsh4.value,Wbp4.value)" src="txticon32.png">
1500 </td>
1501 </tr>
1502 <tr>
1503 <td>
1504 F
1505 </td>
1506 <td>
1507
<input name="Wpdf5" disabled="disabled" class="factor" value="0.5263">
<input name="Wpd5" class="set" onchange="setW(this.value,wc.Wpdf5.value)" type="number" min="0" step="1" value="526">
1508 </td>
1509 <td>
1510
<input name="Wduf5" disabled="disabled" class="factor" value="7.89474">
<input name="Wdu5" class="setl" onchange="setW(this.value,wc.Wduf5.value)" type="number" min="0" step="1" value="7895">
1511 </td>
1512 <td>
1513
<input name="Wwp5" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1514 </td>
1515 <td>
1516
<input name="Wsdf5" disabled="disabled" class="factor" value="5.76">
<input name="Wsd5" class="setl" onchange="setW(this.value,wc.Wsdf5.value)" type="number" min="0" step="1" value="5760">
1517 </td>
1518 <td>
1519
<input name="Wshf5" disabled="disabled" class="factor" value="5.053">
<input name="Wsh5" class="setl" onchange="setW(this.value,wc.Wshf5.value)" type="number" min="0" step="1" value="5053">
1520 </td>
1521 <td>
1522
<input name="Wbpf5" disabled="disabled" class="factor" value="0.2474">
<input name="Wbp5" class="set" onchange="setW(this.value,wc.Wbpf5.value)" type="number" min="0" step="1" value="247">
1523 </td>
1524
<td align="center" style="padding: 0px;">
1525
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd5.value,selectunits.value,Wdu5.value,Wwp5.value,cf.value,Wsd5.value,Wsh5.value,Wbp5.value)" src="txticon32.png">
1526 </td>
1527 </tr>
1528 <tr>
1529 <td>
1530 G
1531 </td>
1532 <td>
1533
<input name="Wpdf6" disabled="disabled" class="factor" value="0.6667">
<input name="Wpd6" class="set" onchange="setW(this.value,wc.Wpdf6.value)" type="number" min="0" step="1" value="667">
1534 </td>
1535 <td>
1536
<input name="Wduf6" disabled="disabled" class="factor" value="10">
<input name="Wdu6" class="setl" onchange="setW(this.value,wc.Wduf6.value)" type="number" min="0" step="1" value="10000">
1537 </td>
1538 <td>
1539
<input name="Wwp6" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1540 </td>
1541 <td>
1542
<input name="Wsdf6" disabled="disabled" class="factor" value="5.76">
<input name="Wsd6" class="setl" onchange="setW(this.value,wc.Wsdf6.value)" type="number" min="0" step="1" value="5760">
1543 </td>
1544 <td>
1545
<input name="Wshf6" disabled="disabled" class="factor" value="4.8">
<input name="Wsh6" class="setl" onchange="setW(this.value,wc.Wshf6.value)" type="number" min="0" step="1" value="4800">
1546 </td>
1547 <td>
1548
<input name="Wbpf6" disabled="disabled" class="factor" value="0.34">
<input name="Wbp6" class="set" onchange="setW(this.value,wc.Wbpf6.value)" type="number" min="0" step="1" value="340">
1549 </td>
1550
<td align="center" style="padding: 0px;">
1551
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd6.value,selectunits.value,Wdu6.value,Wwp6.value,cf.value,Wsd6.value,Wsh6.value,Wbp6.value)" src="txticon32.png">
1552 </td>
1553 </tr>
1554 <tr>
1555 <td>
1556 H
1557 </td>
1558 <td>
1559
<input name="Wpdf7" disabled="disabled" class="factor" value="1">
<input name="Wpd7" class="set" onchange="setW(this.value,wc.Wpdf7.value)" type="number" min="0" step="1" value="1000">
1560 </td>
1561 <td>
1562
<input name="Wduf7" disabled="disabled" class="factor" value="15">
<input name="Wdu7" class="setl" onchange="setW(this.value,wc.Wduf7.value)" type="number" min="0" step="1" value="15000">
1563 </td>
1564 <td>
1565
<input name="Wwp7" class="setl" onchange="setWindPower(this.value)" type="number" min="0" step="1" value="1000">
1566 </td>
1567 <td>
1568
<input name="Wsdf7" disabled="disabled" class="factor" value="5.76">
<input name="Wsd7" class="setl" onchange="setW(this.value,wc.Wsdf7.value)" type="number" min="0" step="1" value="5760">
1569 </td>
1570 <td>
1571
<input name="Wshf7" disabled="disabled" class="factor" value="5.04">
<input name="Wsh7" class="setl" onchange="setW(this.value,wc.Wshf7.value)" type="number" min="0" step="1" value="5040">
1572 </td>
1573 <td>
1574
<input name="Wbpf7" disabled="disabled" class="factor" value="0.56">
<input name="Wbp7" class="set" onchange="setW(this.value,wc.Wbpf7.value)" type="number" min="0" step="1" value="560">
1575 </td>
1576
<td align="center" style="padding: 0px;">
1577
<img width="32" height="32" class="rowtext" onclick="rowText(Wpd7.value,selectunits.value,Wdu7.value,Wwp7.value,cf.value,Wsd7.value,Wsh7.value,Wbp7.value)" src="txticon32.png">
1578 </td>
1579 </tr>
1580 </tbody>
1581 </table>
1582 <br>
1583 <!-- Table 3 -->
1584
<a name="off"></a>
1585
<table width="900" align="center" id="calculator3" style="padding: 0px; border: 2px solid black; border-image: none; spacing: 0px;" bgcolor="lightgrey">
1586 <tbody>
1587 <tr>
1588 <th colspan="5">
1589 <span style="font-size: 40px;">Off-grid daily usage
1590 <br>
1591 Focus Table</span>
1592 </th>
1593 <th colspan="3">
1594
<img width="143" height="108" src="off%20grid_108.jpg">
1595 </th>
1596 </tr>
1597 <tr>
1598 <td></td>
1599 </tr>
1600 <tr>
1601 <th style="text-align: left;" colspan="2">
1602 Daily Usage <small>(max)</small>
1603 <br>
1604 <span style="font-size: 15px;">units:</span>
<select id="selectunitsF" onchange="changeunits(3)">
1605 <option selected="selected" value="W">
1606 Watts
1607 </option>
1608 <option value="KW">
1609 KiloWatts
1610 </option>
1611 <option value="MW">
1612 MegaWatts
1613 </option>
1614 <option value="GW">
1615 GigaWatts
1616 </option>
1617 </select> <!-- <small><a id="unit5F">W</a>h</small> -->
1618 </th>
1619 <th colspan="2">
1620
<table width="100%" align="center" id="unknown3">
1621 <tbody>
1622 <tr>
1623 <td>
1624 <b>Wind <small>power</small></b>
1625 </td>
1626
<td width="20%">
1627 <b><small><a id="unit1F">W</a></small></b>
1628 </td>
1629 <td>
1630 <b> Solar <small>power</small></b>
1631 </td>
1632 </tr>
1633 <tr>
1634 <td colspan="3">
1635
<table width="100%" align="center" id="unknown4">
1636 <tbody>
1637 <tr>
1638 <td>
1639 <a title="Wind Capacity Factor"><small>
<input name="cfF" class="setpc" onchange="if (this.value<1) this.value=1; if (this.value>70) this.value=70; setCF(this.value,24)" type=
1640 "number" min="1" max="70" step="1" value="24">%</small></a>
1641 </td>
1642 <td>
1643 <span style="font-size: 15px;">Capacity Factor</span>
1644 </td>
1645 <td>
1646 <a title="Solar Capacity Factor"><small>
<input name="scfF" class="setpc" onchange="if (this.value<0.1) this.value=0.1; if (this.value>50) this.value=50; setSCF(this.value,8.7)"
1647 type="number" min="0.1" max="50" step="0.1" value="8.7">%</small></a>
1648 </td>
1649 </tr>
1650 </tbody>
1651 </table>
1652 </td>
1653 </tr>
1654 </tbody>
1655 </table>
1656 </th>
1657 <th>
1658 <small>Wind + Solar</small>
1659 <br>
1660 <small><a id="unit2F">W</a>h per day</small>
1661 </th>
1662 <th>
1663 Storage
1664 <br>
1665 <small><a id="unit3F">W</a>h</small>
1666 </th>
1667 <th>
1668 Back-up <small>power</small>
1669 <br>
1670 <a id="unit4F">W</a>
1671 </th>
1672 <th>
1673 <p style="line-height: 100%; font-size: 15px; margin-top: 2px; margin-bottom: 2px;">
1674 Open
1675 <br>
1676 text
1677 <br>
1678 page
1679 </p>
1680 </th>
1681 </tr>
1682 <tr>
1683
<td align="left" colspan="2">
1684 <small>Row</small>
1685 </td>
1686 <td colspan="2">
1687 <span style="text-align: right; font-size: 16px;"> <b>Wind %</b></span> <a title="Wind Energy Generation Percent">
<input name="wpcF" class="setpc" onchange=
1688 "if (this.value<0) this.value=0; if (this.value>100) this.value=100; setSPC(100-this.value)" type="number" min="0" max="100" step="1" value="100"></a> : <a title=
1689 "Solar Energy Generation Percent">
<input name="spcF" class="setpc" onchange="if (this.value<0) this.value=0; if (this.value>100) this.value=100; setWPC(100-this.value)" type="number"
1690 min="0" max="100" step="1" value="0"></a> <span style="text-align: left; font-size: 16px;"><b>Solar %</b></span>
1691 </td>
1692
<td align="center" colspan="2">
1693 <a title="Set Generation Wind : Solar ratio according to the latitude"><span style="font-size: 16px;"><b>Latitude</b></span>
<input name="lat" class="setpc" onchange=
1694 "if (this.value<-90) this.value=-90; if (this.value>90) this.value=90; setLat(this.value)" type="number" min="-90" max="90" step="1" value="90"></a>
1695 </td>
1696 <td></td>
1697 <td></td>
1698 </tr>
1699 <tr>
1700 <td colspan="2">
1701 A
<input name="Fduf1" disabled="disabled" class="factor" value="15">
<input name="Fdu1" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1702 </td>
1703 <td>
1704
<input name="Fwpf1" disabled="disabled" class="factor" value="7">
<input name="Fwp1" class="set" onchange=
1705 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf1.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="7000">
1706 </td>
1707 <td>
1708
<input name="Fspf1" disabled="disabled" class="factor" value="19.310345">
<input name="Fsp1" class="setl" onchange=
1709 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf1.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1710 </td>
1711 <td>
1712
<input name="Fsdf1" disabled="disabled" class="factor" value="40.32">
<input name="Fsd1" class="set" onchange="setF(this.value,40.32)" type="number" min="0" step="1" value="40320">
1713 </td>
1714 <td>
1715
<input name="Fshf1" disabled="disabled" class="factor" value="36">
<input name="Fsh1" class="set" onchange="setF(this.value,36)" type="number" min="0" step="1" value="36000">
1716 </td>
1717 <td>
1718
<input name="Fbpf1" disabled="disabled" class="factor" value="0">
<input name="Fbp1" class="set" onchange="this.value=0" type="number" min="0" step="1" value="0">
1719 </td>
1720
<td align="center" style="padding: 0px;">
1721
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu1.value,Fwp1.value,cf.value,Fsd1.value,Fsh1.value,Fbp1.value,Fsp1.value,scfF.value)" src="txticon32.png">
1722 </td>
1723 </tr>
1724 <tr>
1725 <td colspan="2">
1726 B
<input name="Fduf2" disabled="disabled" class="factor" value="15">
<input name="Fdu2" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1727 </td>
1728 <td>
1729
<input name="Fwpf2" disabled="disabled" class="factor" value="5.5">
<input name="Fwp2" class="set" onchange=
1730 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf2.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="5500">
1731 </td>
1732 <td>
1733
<input name="Fspf2" disabled="disabled" class="factor" value="15.17241">
<input name="Fsp2" class="setl" onchange=
1734 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf2.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1735 </td>
1736 <td>
1737
<input name="Fsdf2" disabled="disabled" class="factor" value="31.68">
<input name="Fsd2" class="set" onchange="setF(this.value,31.68)" type="number" min="0" step="1" value="31680">
1738 </td>
1739 <td>
1740
<input name="Fshf2" disabled="disabled" class="factor" value="26.4">
<input name="Fsh2" class="set" onchange="setF(this.value,26.4)" type="number" min="0" step="1" value="26400">
1741 </td>
1742 <td>
1743
<input name="Fbpf2" disabled="disabled" class="factor" value="0.15">
<input name="Fbp2" class="set" onchange="setF(this.value,0.15)" type="number" min="0" step="1" value="150">
1744 </td>
1745
<td align="center" style="padding: 0px;">
1746
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu2.value,Fwp2.value,cf.value,Fsd2.value,Fsh2.value,Fbp2.value,Fsp2.value,scfF.value)" src="txticon32.png">
1747 </td>
1748 </tr>
1749 <tr>
1750 <td colspan="2">
1751 C
<input name="Fduf3" disabled="disabled" class="factor" value="15">
<input name="Fdu3" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1752 </td>
1753 <td>
1754
<input name="Fwpf3" disabled="disabled" class="factor" value="4">
<input name="Fwp3" class="set" onchange=
1755 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf3.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="4000">
1756 </td>
1757 <td>
1758
<input name="Fspf3" disabled="disabled" class="factor" value="11.034">
<input name="Fsp3" class="setl" onchange=
1759 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf3.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1760 </td>
1761 <td>
1762
<input name="Fsdf3" disabled="disabled" class="factor" value="23.04">
<input name="Fsd3" class="set" onchange="setF(this.value,23.04)" type="number" min="0" step="1" value="23040">
1763 </td>
1764 <td>
1765
<input name="Fshf3" disabled="disabled" class="factor" value="19.2">
<input name="Fsh3" class="set" onchange="setF(this.value,19.2)" type="number" min="0" step="1" value="19200">
1766 </td>
1767 <td>
1768
<input name="Fbpf3" disabled="disabled" class="factor" value="0.3">
<input name="Fbp3" class="set" onchange="setF(this.value,0.3)" type="number" min="0" step="1" value="300">
1769 </td>
1770
<td align="center" style="padding: 0px;">
1771
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu3.value,Fwp3.value,cf.value,Fsd3.value,Fsh3.value,Fbp3.value,Fsp3.value,scfF.value)" src="txticon32.png">
1772 </td>
1773 </tr>
1774 <tr>
1775 <td colspan="2">
1776 D
<input name="Fduf8" disabled="disabled" class="factor" value="15">
<input name="Fdu8" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1777 </td>
1778 <td>
1779
<input name="Fwpf8" disabled="disabled" class="factor" value="3.3">
<input name="Fwp8" class="set" onchange=
1780 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf8.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="3300">
1781 </td>
1782 <td>
1783
<input name="Fspf8" disabled="disabled" class="factor" value="9.1034">
<input name="Fsp8" class="setl" onchange=
1784 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf8.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1785 </td>
1786 <td>
1787
<input name="Fsdf8" disabled="disabled" class="factor" value="19.008">
<input name="Fsd8" class="set" onchange="setF(this.value,19.008)" type="number" min="0" step="1" value="19008">
1788 </td>
1789 <td>
1790
<input name="Fshf8" disabled="disabled" class="factor" value="16.8">
<input name="Fsh8" class="set" onchange="setF(this.value,16.8)" type="number" min="0" step="1" value="16800">
1791 </td>
1792 <td>
1793
<input name="Fbpf8" disabled="disabled" class="factor" value="0.35">
<input name="Fbp8" class="set" onchange="setF(this.value,0.35)" type="number" min="0" step="1" value="350">
1794 </td>
1795
<td align="center" style="padding: 0px;">
1796
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu8.value,Fwp8.value,cf.value,Fsd8.value,Fsh8.value,Fbp8.value,Fsp8.value,scfF.value)" src="txticon32.png">
1797 </td>
1798 </tr>
1799 <tr>
1800 <td colspan="2">
1801 E
<input name="Fduf4" disabled="disabled" class="factor" value="15">
<input name="Fdu4" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1802 </td>
1803 <td>
1804
<input name="Fwpf4" disabled="disabled" class="factor" value="2.7">
<input name="Fwp4" class="set" onchange=
1805 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf4.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="2700">
1806 </td>
1807 <td>
1808
<input name="Fspf4" disabled="disabled" class="factor" value="7.4483">
<input name="Fsp4" class="setl" onchange=
1809 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf4.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1810 </td>
1811 <td>
1812
<input name="Fsdf4" disabled="disabled" class="factor" value="15.552">
<input name="Fsd4" class="set" onchange="setF(this.value,15.552)" type="number" min="0" step="1" value="15552">
1813 </td>
1814 <td>
1815
<input name="Fshf4" disabled="disabled" class="factor" value="14.4">
<input name="Fsh4" class="set" onchange="setF(this.value,14.4)" type="number" min="0" step="1" value="14400">
1816 </td>
1817 <td>
1818
<input name="Fbpf4" disabled="disabled" class="factor" value="0.4">
<input name="Fbp4" class="set" onchange="setF(this.value,0.4)" type="number" min="0" step="1" value="400">
1819 </td>
1820
<td align="center" style="padding: 0px;">
1821
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu4.value,Fwp4.value,cf.value,Fsd4.value,Fsh4.value,Fbp4.value,Fsp4.value,scfF.value)" src="txticon32.png">
1822 </td>
1823 </tr>
1824 <tr>
1825 <td colspan="2">
1826 F
<input name="Fduf5" disabled="disabled" class="factor" value="15">
<input name="Fdu5" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1827 </td>
1828 <td>
1829
<input name="Fwpf5" disabled="disabled" class="factor" value="1.9">
<input name="Fwp5" class="set" onchange=
1830 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf5.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="1900">
1831 </td>
1832 <td>
1833
<input name="Fspf5" disabled="disabled" class="factor" value="5.2414">
<input name="Fsp5" class="setl" onchange=
1834 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf5.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1835 </td>
1836 <td>
1837
<input name="Fsdf5" disabled="disabled" class="factor" value="10.944">
<input name="Fsd5" class="set" onchange="setF(this.value,10.944)" type="number" min="0" step="1" value="10944">
1838 </td>
1839 <td>
1840
<input name="Fshf5" disabled="disabled" class="factor" value="9.6">
<input name="Fsh5" class="set" onchange="setF(this.value,9.6)" type="number" min="0" step="1" value="9600">
1841 </td>
1842 <td>
1843
<input name="Fbpf5" disabled="disabled" class="factor" value="0.47">
<input name="Fbp5" class="set" onchange="setF(this.value,0.47)" type="number" min="0" step="1" value="470">
1844 </td>
1845
<td align="center" style="padding: 0px;">
1846
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu5.value,Fwp5.value,cf.value,Fsd5.value,Fsh5.value,Fbp5.value,Fsp5.value,scfF.value)" src="txticon32.png">
1847 </td>
1848 </tr>
1849 <tr>
1850 <td colspan="2">
1851 G
<input name="Fduf6" disabled="disabled" class="factor" value="15">
<input name="Fdu6" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1852 </td>
1853 <td>
1854
<input name="Fwpf6" disabled="disabled" class="factor" value="1.5">
<input name="Fwp6" class="set" onchange=
1855 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf6.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="1500">
1856 </td>
1857 <td>
1858
<input name="Fspf6" disabled="disabled" class="factor" value="4.1379">
<input name="Fsp6" class="setl" onchange=
1859 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf6.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1860 </td>
1861 <td>
1862
<input name="Fsdf6" disabled="disabled" class="factor" value="8.64">
<input name="Fsd6" class="set" onchange="setF(this.value,8.64)" type="number" min="0" step="1" value="8640">
1863 </td>
1864 <td>
1865
<input name="Fshf6" disabled="disabled" class="factor" value="7.2">
<input name="Fsh6" class="set" onchange="setF(this.value,7.2)" type="number" min="0" step="1" value="7200">
1866 </td>
1867 <td>
1868
<input name="Fbpf6" disabled="disabled" class="factor" value="0.51">
<input name="Fbp6" class="set" onchange="setF(this.value,0.51)" type="number" min="0" step="1" value="510">
1869 </td>
1870
<td align="center" style="padding: 0px;">
1871
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu6.value,Fwp6.value,cf.value,Fsd6.value,Fsh6.value,Fbp6.value,Fsp6.value,scfF.value)" src="txticon32.png">
1872 </td>
1873 </tr>
1874 <tr>
1875 <td colspan="2">
1876 H
<input name="Fduf7" disabled="disabled" class="factor" value="15">
<input name="Fdu7" class="set" onchange="setF(this.value,15)" type="number" min="0" step="1" value="15000">
1877 </td>
1878 <td>
1879
<input name="Fwpf7" disabled="disabled" class="factor" value="1">
<input name="Fwp7" class="set" onchange=
1880 "if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf7.value*wc.wpcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="1000">
1881 </td>
1882 <td>
1883
<input name="Fspf7" disabled="disabled" class="factor" value="2.7586">
<input name="Fsp7" class="setl" onchange=
1884 "if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf7.value*wc.spcF.value/100);} else {this.value=0;}" type="number" min="0" step="1" value="0">
1885 </td>
1886 <td>
1887
<input name="Fsdf7" disabled="disabled" class="factor" value="5.76">
<input name="Fsd7" class="set" onchange="setF(this.value,5.76)" type="number" min="0" step="1" value="5760">
1888 </td>
1889 <td>
1890
<input name="Fshf7" disabled="disabled" class="factor" value="5.04">
<input name="Fsh7" class="set" onchange="setF(this.value,5.04)" type="number" min="0" step="1" value="5040">
1891 </td>
1892 <td>
1893
<input name="Fbpf7" disabled="disabled" class="factor" value="0.56">
<input name="Fbp7" class="set" onchange="setF(this.value,0.56)" type="number" min="0" step="1" value="560">
1894 </td>
1895
<td align="center" style="padding: 0px;">
1896
<img width="32" height="32" class="rowtext" onclick="rowText(-1,selectunitsF.value,Fdu7.value,Fwp7.value,cf.value,Fsd7.value,Fsh7.value,Fbp7.value,Fsp7.value,scfF.value)" src="txticon32.png">
1897 </td>
1898 </tr>
1899 </tbody>
1900 </table>
1901 <br>
1902 <!-- Table 4 -->
1903
<a name="store"></a>
1904
<table width="900" align="center" id="calculator4" style="padding: 0px; border: 2px solid black; border-image: none; spacing: 0px;" bgcolor="lightgrey">
1905 <tbody>
1906 <tr>
1907 <th colspan="5">
1908 <span style="font-size: 40px;">Energy Storage Capacity
1909 <br>
1910 Focus Table</span>
1911 </th>
1912 <th colspan="3">
1913
<img width="211" height="108" src="energystorage108.jpg">
1914 </th>
1915 </tr>
1916 <tr>
1917 <td></td>
1918 </tr>
1919 <tr>
1920 <th style="text-align: left;" colspan="2">
1921 <small> </small> Peak regeneration
1922 <br>
1923 <span style="font-size: 15px;"> units:</span>
<select id="selectunitsS" onchange="changeunits(4)">
1924 <option value="W">
1925 Watts
1926 </option>
1927 <option value="KW">
1928 KiloWatts
1929 </option>
1930 <option selected="selected" value="MW">
1931 MegaWatts
1932 </option>
1933 <option value="GW">
1934 GigaWatts
1935 </option>
1936 </select>
1937 </th>
1938 <th>
1939 <small>Recharge pump <a id="unit1S">MW</a></small>
1940 <br>
1941 <small><span style="font-size: 10px;">recharge/regen</span> <a title="Recharge / regeneration %">
<input name="cfS" class="setpc" onchange=
1942 "if (this.value<100) this.value=100; setRR(this.value,100)" type="number" min="100" max="300" step="1" value="100">%</a></small>
1943 </th>
1944 <th>
1945 Daily Usage
1946 <br>
1947 <small><a id="unit5S">MW</a>h</small>
1948 </th>
1949 <th>
1950 Wind, Solar etc.
1951 <br>
1952 <small><a id="unit2S">MW</a>h per day</small>
1953 </th>
1954 <th>
1955 Storage
1956 <br>
1957 <small><a id="unit3S">MW</a>h</small>
1958 </th>
1959 <th>
1960 Back-up <small>power</small>
1961 <br>
1962 <a id="unit4S">MW</a>
1963 </th>
1964 <th>
1965 <p style="line-height: 100%; font-size: 15px; margin-top: 2px; margin-bottom: 2px;">
1966 Open
1967 <br>
1968 text
1969 <br>
1970 page
1971 </p>
1972 </th>
1973 </tr>
1974 <tr>
1975 <td>
1976 A
1977 </td>
1978 <td>
1979
<input name="Spdf1" disabled="disabled" class="factor" value="0.027778">
<input name="Spd1" class="set" onchange="setS(this.value,wc.Spdf1.value)" type="number" min="0" step="1" value=
1980 "27.778">
1981 </td>
1982 <td>
1983
<input name="Srpf1" disabled="disabled" class="factor" value="0.027778">
<input name="Srp1" class="setl" onchange="setS(this.value,wc.Srpf1.value)" type="number" min="0" step="1" value=
1984 "27.778">
1985 </td>
1986 <td>
1987
<input name="Sduf1" disabled="disabled" class="factor" value="0.41667">
<input name="Sdu1" class="setl" onchange="setS(this.value,wc.Sduf1.value)" type="number" min="0" step="1" value=
1988 "416.67">
1989 </td>
1990 <td>
1991
<input name="Ssdf1" disabled="disabled" class="factor" value="1.12">
<input name="Ssd1" class="setl" onchange="setS(this.value,wc.Ssdf1.value)" type="number" min="0" step="1" value="1120">
1992 </td>
1993 <td>
1994
<input name="Ssh1" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
1995 </td>
1996 <td>
1997
<input name="Sbpf1" disabled="disabled" class="factor" value="0">
<input name="Sbp1" class="set" onchange="this.value=0" type="number" min="0" step="1" value="0">
1998 </td>
1999
<td align="center" style="padding: 0px;">
2000
<img width="32" height="32" class="rowtext" onclick="rowText(Spd1.value,selectunits.value,Sdu1.value,-1,cf.value,Ssd1.value,Ssh1.value,Sbp1.value,Srp1.value,cfS.value)" src="txticon32.png">
2001 </td>
2002 </tr>
2003 <tr>
2004 <td>
2005 B
2006 </td>
2007 <td>
2008
<input name="Spdf2" disabled="disabled" class="factor" value="0.037879">
<input name="Spd2" class="set" onchange="setS(this.value,wc.Spdf2.value)" type="number" min="0" step="1" value=
2009 "37.879">
2010 </td>
2011 <td>
2012
<input name="Srpf2" disabled="disabled" class="factor" value="0.037879">
<input name="Srp2" class="setl" onchange="setS(this.value,wc.Srpf2.value)" type="number" min="0" step="1" value=
2013 "37.879">
2014 </td>
2015 <td>
2016
<input name="Sduf2" disabled="disabled" class="factor" value="0.56818">
<input name="Sdu2" class="setl" onchange="setS(this.value,wc.Sduf2.value)" type="number" min="0" step="1" value=
2017 "568.18">
2018 </td>
2019 <td>
2020
<input name="Ssdf2" disabled="disabled" class="factor" value="1.2">
<input name="Ssd2" class="setl" onchange="setS(this.value,wc.Ssdf2.value)" type="number" min="0" step="1" value="1200">
2021 </td>
2022 <td>
2023
<input name="Ssh2" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
2024 </td>
2025 <td>
2026
<input name="Sbpf2" disabled="disabled" class="factor" value="0.0056818">
<input name="Sbp2" class="set" onchange="setS(this.value,wc.Sbpf2.value)" type="number" min="0" step="1" value=
2027 "5.682">
2028 </td>
2029
<td align="center" style="padding: 0px;">
2030
<img width="32" height="32" class="rowtext" onclick="rowText(Spd2.value,selectunits.value,Sdu2.value,-1,cf.value,Ssd2.value,Ssh2.value,Sbp2.value,Srp2.value,cfS.value)" src="txticon32.png">
2031 </td>
2032 </tr>
2033 <tr>
2034 <td>
2035 C
2036 </td>
2037 <td>
2038
<input name="Spdf3" disabled="disabled" class="factor" value="0.052083">
<input name="Spd3" class="set" onchange="setS(this.value,wc.Spdf3.value)" type="number" min="0" step="1" value=
2039 "52.083">
2040 </td>
2041 <td>
2042
<input name="Srpf3" disabled="disabled" class="factor" value="0.052083">
<input name="Srp3" class="setl" onchange="setS(this.value,wc.Srpf3.value)" type="number" min="0" step="1" value=
2043 "52.083">
2044 </td>
2045 <td>
2046
<input name="Sduf3" disabled="disabled" class="factor" value="0.78125">
<input name="Sdu3" class="setl" onchange="setS(this.value,wc.Sduf3.value)" type="number" min="0" step="1" value=
2047 "781.25">
2048 </td>
2049 <td>
2050
<input name="Ssdf3" disabled="disabled" class="factor" value="1.2">
<input name="Ssd3" class="setl" onchange="setS(this.value,wc.Ssdf3.value)" type="number" min="0" step="1" value="1200">
2051 </td>
2052 <td>
2053
<input name="Ssh3" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
2054 </td>
2055 <td>
2056
<input name="Sbpf3" disabled="disabled" class="factor" value="0.015625">
<input name="Sbp3" class="set" onchange="setS(this.value,wc.Sbpf3.value)" type="number" min="0" step="1" value=
2057 "15.625">
2058 </td>
2059
<td align="center" style="padding: 0px;">
2060
<img width="32" height="32" class="rowtext" onclick="rowText(Spd3.value,selectunits.value,Sdu3.value,-1,cf.value,Ssd3.value,Ssh3.value,Sbp3.value,Srp3.value,cfS.value)" src="txticon32.png">
2061 </td>
2062 </tr>
2063 <tr>
2064 <td>
2065 D
2066 </td>
2067 <td>
2068
<input name="Spdf8" disabled="disabled" class="factor" value="0.059524">
<input name="Spd8" class="set" onchange="setS(this.value,wc.Spdf8.value)" type="number" min="0" step="1" value=
2069 "59.524">
2070 </td>
2071 <td>
2072
<input name="Srpf8" disabled="disabled" class="factor" value="0.059524">
<input name="Srp8" class="setl" onchange="setS(this.value,wc.Srpf8.value)" type="number" min="0" step="1" value=
2073 "59.524">
2074 </td>
2075 <td>
2076
<input name="Sduf8" disabled="disabled" class="factor" value="0.89286">
<input name="Sdu8" class="setl" onchange="setS(this.value,wc.Sduf8.value)" type="number" min="0" step="1" value=
2077 "892.860">
2078 </td>
2079 <td>
2080
<input name="Ssdf8" disabled="disabled" class="factor" value="1.1314">
<input name="Ssd8" class="setl" onchange="setS(this.value,wc.Ssdf8.value)" type="number" min="0" step="1" value="1131.4">
2081 </td>
2082 <td>
2083
<input name="Ssh8" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
2084 </td>
2085 <td>
2086
<input name="Sbpf8" disabled="disabled" class="factor" value="0.020833">
<input name="Sbp8" class="set" onchange="setS(this.value,wc.Sbpf8.value)" type="number" min="0" step="1" value=
2087 "20.833">
2088 </td>
2089
<td align="center" style="padding: 0px;">
2090
<img width="32" height="32" class="rowtext" onclick="rowText(Spd8.value,selectunits.value,Sdu8.value,-1,cf.value,Ssd8.value,Ssh8.value,Sbp8.value,Srp8.value,cfS.value)" src="txticon32.png">
2091 </td>
2092 </tr>
2093 <tr>
2094 <td>
2095 E
2096 </td>
2097 <td>
2098
<input name="Spdf4" disabled="disabled" class="factor" value="0.069444">
<input name="Spd4" class="set" onchange="setS(this.value,wc.Spdf4.value)" type="number" min="0" step="1" value=
2099 "69.444">
2100 </td>
2101 <td>
2102
<input name="Srpf4" disabled="disabled" class="factor" value="0.069444">
<input name="Srp4" class="setl" onchange="setS(this.value,wc.Srpf4.value)" type="number" min="0" step="1" value=
2103 "69.444">
2104 </td>
2105 <td>
2106
<input name="Sduf4" disabled="disabled" class="factor" value="1.0417">
<input name="Sdu4" class="setl" onchange="setS(this.value,wc.Sduf4.value)" type="number" min="0" step="1" value="1041.7">
2107 </td>
2108 <td>
2109
<input name="Ssdf4" disabled="disabled" class="factor" value="1.08">
<input name="Ssd4" class="setl" onchange="setS(this.value,wc.Ssdf4.value)" type="number" min="0" step="1" value="1080">
2110 </td>
2111 <td>
2112
<input name="Ssh4" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
2113 </td>
2114 <td>
2115
<input name="Sbpf4" disabled="disabled" class="factor" value="0.027778">
<input name="Sbp4" class="set" onchange="setS(this.value,wc.Sbpf4.value)" type="number" min="0" step="1" value=
2116 "27.778">
2117 </td>
2118
<td align="center" style="padding: 0px;">
2119
<img width="32" height="32" class="rowtext" onclick="rowText(Spd4.value,selectunits.value,Sdu4.value,-1,cf.value,Ssd4.value,Ssh4.value,Sbp4.value,Srp4.value,cfS.value)" src="txticon32.png">
2120 </td>
2121 </tr>
2122 <tr>
2123 <td>
2124 F
2125 </td>
2126 <td>
2127
<input name="Spdf5" disabled="disabled" class="factor" value="0.10417">
<input name="Spd5" class="set" onchange="setS(this.value,wc.Spdf5.value)" type="number" min="0" step="1" value="104.17">
2128 </td>
2129 <td>
2130
<input name="Srpf5" disabled="disabled" class="factor" value="0.10417">
<input name="Srp5" class="setl" onchange="setS(this.value,wc.Srpf5.value)" type="number" min="0" step="1" value=
2131 "104.17">
2132 </td>
2133 <td>
2134
<input name="Sduf5" disabled="disabled" class="factor" value="1.5625">
<input name="Sdu5" class="setl" onchange="setS(this.value,wc.Sduf5.value)" type="number" min="0" step="1" value="1562.5">
2135 </td>
2136 <td>
2137
<input name="Ssdf5" disabled="disabled" class="factor" value="1.14">
<input name="Ssd5" class="setl" onchange="setS(this.value,wc.Ssdf5.value)" type="number" min="0" step="1" value="1140">
2138 </td>
2139 <td>
2140
<input name="Ssh5" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
2141 </td>
2142 <td>
2143
<input name="Sbpf5" disabled="disabled" class="factor" value="0.048958">
<input name="Sbp5" class="set" onchange="setS(this.value,wc.Sbpf5.value)" type="number" min="0" step="1" value=
2144 "48.958">
2145 </td>
2146
<td align="center" style="padding: 0px;">
2147
<img width="32" height="32" class="rowtext" onclick="rowText(Spd5.value,selectunits.value,Sdu5.value,-1,cf.value,Ssd5.value,Ssh5.value,Sbp5.value,Srp5.value,cfS.value)" src="txticon32.png">
2148 </td>
2149 </tr>
2150 <tr>
2151 <td>
2152 G
2153 </td>
2154 <td>
2155
<input name="Spdf6" disabled="disabled" class="factor" value="0.13889">
<input name="Spd6" class="set" onchange="setS(this.value,wc.Spdf6.value)" type="number" min="0" step="1" value="138.89">
2156 </td>
2157 <td>
2158
<input name="Srpf6" disabled="disabled" class="factor" value="0.13889">
<input name="Srp6" class="setl" onchange="setS(this.value,wc.Srpf6.value)" type="number" min="0" step="1" value=
2159 "138.89">
2160 </td>
2161 <td>
2162
<input name="Sduf6" disabled="disabled" class="factor" value="2.0833">
<input name="Sdu6" class="setl" onchange="setS(this.value,wc.Sduf6.value)" type="number" min="0" step="1" value="2083.3">
2163 </td>
2164 <td>
2165
<input name="Ssdf6" disabled="disabled" class="factor" value="1.2">
<input name="Ssd6" class="setl" onchange="setS(this.value,wc.Ssdf6.value)" type="number" min="0" step="1" value="1200">
2166 </td>
2167 <td>
2168
<input name="Ssh6" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
2169 </td>
2170 <td>
2171
<input name="Sbpf6" disabled="disabled" class="factor" value="0.070833">
<input name="Sbp6" class="set" onchange="setS(this.value,wc.Sbpf6.value)" type="number" min="0" step="1" value=
2172 "70.833">
2173 </td>
2174
<td align="center" style="padding: 0px;">
2175
<img width="32" height="32" class="rowtext" onclick="rowText(Spd6.value,selectunits.value,Sdu6.value,-1,cf.value,Ssd6.value,Ssh6.value,Sbp6.value,Srp6.value,cfS.value)" src="txticon32.png">
2176 </td>
2177 </tr>
2178 <tr>
2179 <td>
2180 H
2181 </td>
2182 <td>
2183
<input name="Spdf7" disabled="disabled" class="factor" value="0.19841">
<input name="Spd7" class="set" onchange="setS(this.value,wc.Spdf7.value)" type="number" min="0" step="1" value="198.41">
2184 </td>
2185 <td>
2186
<input name="Srpf7" disabled="disabled" class="factor" value="0.19841">
<input name="Srp7" class="setl" onchange="setS(this.value,wc.Srpf7.value)" type="number" min="0" step="1" value=
2187 "198.41">
2188 </td>
2189 <td>
2190
<input name="Sduf7" disabled="disabled" class="factor" value="2.9762">
<input name="Sdu7" class="setl" onchange="setS(this.value,wc.Sduf7.value)" type="number" min="0" step="1" value="2976.2">
2191 </td>
2192 <td>
2193
<input name="Ssdf7" disabled="disabled" class="factor" value="1.1429">
<input name="Ssd7" class="setl" onchange="setS(this.value,wc.Ssdf7.value)" type="number" min="0" step="1" value="1142.9">
2194 </td>
2195 <td>
2196
<input name="Ssh7" class="setl" onchange="setStorageHours(this.value)" type="number" min="0" step="1" value="1000">
2197 </td>
2198 <td>
2199
<input name="Sbpf7" disabled="disabled" class="factor" value="0.11111">
<input name="Sbp7" class="set" onchange="setS(this.value,wc.Sbpf7.value)" type="number" min="0" step="1" value="111.11">
2200 </td>
2201
<td align="center" style="padding: 0px;">
2202
<img width="32" height="32" class="rowtext" onclick="rowText(Spd7.value,selectunits.value,Sdu7.value,-1,cf.value,Ssd7.value,Ssh7.value,Sbp7.value,Srp7.value,cfS.value)" src="txticon32.png">
2203 </td>
2204 </tr>
2205 </tbody>
2206 </table>
2207 </form>
2208 <br>
2209
<table width="70%" align="center">
2210 <tbody>
2211 <tr>
2212 <td>
2213 <p>
2214 <a style="color: white; font-size: 30px;" href="https://scottishscientist.wordpress.com/2017/07/14/wind-storage-and-back-up-system-designer/" target="_blank"><span style=
2215 "color: white; font-size: 30px;">Leave a Reply or a Comment</span></a>
2216 </p>
2217 <p>
2218 <a style="color: white;" href="https://scottishscientist.wordpress.com/" target="_blank"><span style="color: white;">The Scottish Scientist web-site in association with the Scottish Scientist
2219 Blog at WordPress.Com</span></a>
2220 </p>
2221 </td>
2222 </tr>
2223 </tbody>
2224 </table>
2225 </body>
2226</html>