1<!DOCTYPE html>
2<HTML lang="en">
3<HEAD>
4   <TITLE>Wind, solar, storage and back-up system designer</TITLE>
5<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.">
6<!-- Parameters may be passed using the URL query string, as per -
7          
8../Wind%20power%20storage%20back-up%20calculator.htm?peak=200&wind=3000&units=GW#wind
9          
10The parameter "peak" sets the Peak Demand value in the Grid Watch Demand Focus Table
11The parameter "wind" sets the Wind Power value in the Wind Generation Capacity Focus Table
12The parameter "usage" sets the Maximum Daily Usage value in the Off-grid Daily Usage Focus Table 
13The parameter "units" (= W / MW / GW) sets the units in all tables
14The parameter "cf" (= 1 to 70) sets the wind capacity factor in all tables
15The parameter "scf" (= 1 to 50) sets the solar capacity factor in the Off-grid Daily Usage Focus Table
16The parameter "spc" (= 0 to 100) sets the solar percentage of wind + solar generation in the Off-grid Daily Usage Focus Table
17The parameter "lat" (= -90 to 90) sets the generation Wind : Solar ratio according to the latitude (ignoring parameter spc)
18The parameter "storage" sets the Storage value in the Energy Storage Capacity Focus Table
19          
20Table # fragment identifiers
21#grid Grid Watch Demand Focus Table
22#wind Wind Generation Capacity Focus Table
23#off  Off-grid daily usage Focus Table
24#store Energy Storage Capacity Focus Table
25          
26-->
27          
28<style>
29          
30body { 
31      color: white; 
32      background-image: url('lecht-turbine_dark_1920_lowres.jpg');
33      background-repeat: repeat;
34      background-attachment: fixed;
35}
36          
37table#calculator1 { border-collapse: collapse;}
38table#calculator2 { border-collapse: collapse;}
39table#calculator3 { border-collapse: collapse;}
40table#calculator4 { border-collapse: collapse;}
41table#unknown { border-collapse: collapse;}
42table#unknown2 { border-collapse: collapse;}
43table#unknown3 { border-collapse: collapse;}
44table#unknown4 { border-collapse: collapse;}
45table#unknown5 { border-collapse: collapse;}
46          
47table#calculator1 td { font-size:16px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
48table#calculator2 td { font-size:18px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
49table#calculator3 td { font-size:18px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
50table#calculator4 td { font-size:18px; color: black; border-bottom: 1px solid black; border-top: 1px solid black; padding: 10px;}
51table#unknown td, th { font-size:18px; color: black; padding: 0px; border: 1px;}
52table#unknown2 td, th { font-size:18px; color: black; padding: 3px; border: 0px}
53table#unknown3 td, th { font-size:18px; color: black; padding: 0px; border: 1px;}
54table#unknown4 td, th { font-size:18px; color: black; padding: 3px; border: 0px}
55table#unknown5 td, th { font-size:18px; color: black; padding: 3px; border: 0px}
56          
57table#calculator1 tr:nth-child(even) {
58    background-color: #eff;
59}
60table#calculator1 tr:nth-child(odd) {
61   background-color:#cff;
62}
63          
64table#calculator2 tr:nth-child(even) {
65    background-color: #ffe;
66}
67table#calculator2 tr:nth-child(odd) {
68   background-color:#ffc;
69}
70          
71table#calculator3 tr:nth-child(even) {
72    background-color: #fef;
73}
74table#calculator3 tr:nth-child(odd) {
75   background-color:#fcf;
76}
77          
78table#calculator4 tr:nth-child(even) {
79    background-color: #efe;
80}
81table#calculator4 tr:nth-child(odd) {
82   background-color:#cfc;
83}
84          
85          
86select { font-size:15px; }
87          
88table#calculator1 input.factor {width: 24px; font-size: 8px;}
89table#calculator1 input.set {width:71px; font-size: 15px;}
90table#calculator1 input.setn {width:61px; font-size: 15px;}
91table#calculator1 input.setpc {width: 41px; font-size: 15px;}
92table#calculator1 input.setl {width:78px; font-size: 15px;}
93table#calculator1 img.rowtext {cursor: pointer;}
94          
95table#calculator2 input.factor {width: 24px; font-size: 8px;}
96table#calculator2 input.set {width:71px; font-size: 15px;}
97table#calculator2 input.setn {width:61px; font-size: 15px;}
98table#calculator2 input.setpc {width: 41px; font-size: 15px;}
99table#calculator2 input.setl {width:78px; font-size: 15px;}
100table#calculator2 img.rowtext {cursor: pointer;}
101          
102table#calculator3 input.factor {width: 24px; font-size: 8px;}
103table#calculator3 input.set {width:71px; font-size: 15px;}
104table#calculator3 input.setn {width:61px; font-size: 15px;}
105table#calculator3 input.setpc {width: 41px; font-size: 15px;}
106table#calculator3 input.setl {width:78px; font-size: 15px;}
107table#calculator3 input.setw {width:86px; font-size: 15px;}
108table#calculator3 img.rowtext {cursor: pointer;}
109          
110table#calculator4 input.factor {width: 24px; font-size: 8px;}
111table#calculator4 input.set {width:71px; font-size: 15px;}
112table#calculator4 input.setn {width:61px; font-size: 15px;}
113table#calculator4 input.setpc {width: 41px; font-size: 15px;}
114table#calculator4 input.setl {width:78px; font-size: 15px;}
115table#calculator4 img.rowtext {cursor: pointer;}
116</style>
117          
118          
119<script type="text/javascript">
120//<!--
121function 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          
133function 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          
145function 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          
157function 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          
169function 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          
181function 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          
193function 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          
206function setPeakDemand(pd){
207 updateAll(pd);
208}
209          
210function setWindPower(wp){
211 updateAllW(wp);
212}
213          
214function setStorageHours(sh){
215 updateAllS(sh);
216}
217          
218function 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          
243function 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          
320function 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          
335function 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          
349function 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          
361function 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          
374function 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          
387function 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          
400function 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          
415function set(input,factor){
416 inputnominal = input/factor;
417 updateAll(inputnominal);
418}
419          
420function setW(input,factor){
421 inputnominal = input/factor;
422 updateAllW(inputnominal);
423}
424          
425function setF(input,factor){
426 if (factor != 0) {
427  inputnominal = input/factor;
428  updateAllF(inputnominal);
429 }
430}
431          
432function 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          
441function 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          
451function setRR(input,factor){
452 inputnominal = input/factor;
453 updaterr(inputnominal);
454}
455          
456          
457          
458function 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          
472function 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          
486function 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          
510function setS(input,factor){
511 inputnominal = input/factor;
512 updateAllS(inputnominal);
513}
514          
515function 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          
529function 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          
541function 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          
553function 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          
566function 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          
578function 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          
590function 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          
602function 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          
614function 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          
626function 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          
638function 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          
650function 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          
662function 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          
672function updateAllW(wp){
673 updatePeakDemandW(wp);
674 updateDailyUsageW(wp);
675 updateWindPowerW(wp);
676 updateStorageDaysW(wp);
677 updateStorageHoursW(wp);
678 updateBackupPowerW(wp);
679}
680          
681function updateAllF(wp){
682 updateDailyUsageF(wp);
683 updateWindPowerF(wp);
684 updateSolarPowerF(wp);
685 updateStorageDaysF(wp);
686 updateStorageHoursF(wp);
687 updateBackupPowerF(wp);
688}
689          
690function updateAllS(sh){
691 updatePeakDemandS(sh);
692 updateDailyUsageS(sh);
693 updateRechargePowerS(sh);
694 updateStorageDaysS(sh);
695 updateStorageHoursS(sh);
696 updateBackupPowerS(sh);
697}
698          
699function 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          
784function 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          
847function 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          
891          
892</HEAD>
893          
894<body onLoad="parameters();">
895<!-- Copyright 2017 by Scottish Scientist-->
896<table align=center width=70%><tr><td>
897          
898<p><a href="https://scottishscientist.wordpress.com/" target="_blank" style="color: white"><span style="color: white">The Scottish Scientist web-site in association with the Scottish Scientist Blog at WordPress.Com</span></a></p>
899<h1><a href="https://scottishscientist.wordpress.com/2017/07/14/wind-storage-and-back-up-system-designer/" target="_blank" style="color: white; font-size: 30px">Wind, solar, storage and back-up system designer</a></h1>
900          
901<H2>Peak demand, wind, solar and back-up power / energy usage and storage capacity calculator</H2>
902<H3>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 days a week and 52 weeks a year.</H3>
903  
904<p>Adopting the recommendations derived from <a href="https://scottishscientist.wordpress.com/2015/04/03/scientific-computer-modelling-of-wind-pumped-storage-hydro/" target="_blank" style="color: white"><span style="color: white">scientific computer modelling</span></a>, the tables offer rows of <a href="https://scottishscientist.wordpress.com/2015/04/03/scientific-computer-modelling-of-wind-pumped-storage-hydro/" target="_blank" style="color: white"><span style="color: white">previously successful modelled 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.</p>
905          
906<p>The recommended energy storage capacity is about 90% of one day's average wind and solar energy generation.</p>
907          
908<p>The tables' columns consist of adjustable power and energy variables.</p>
909          
910<p>A cell value can be adjusted according to the design criteria and then all the other table values will be recalculated, spreadsheet-style.</p>
911          
912<p>The wind and solar power generation <a href="https://en.wikipedia.org/wiki/Capacity_factor#Wind_farm" target="_blank" style="color: white">Capacity Factor</a> (C.F.) percentages can be adjusted too. </p>
913<p>The energy generation percentages from wind and solar power can be adjusted, either directly or according to the latitude of the system.</p>
914<p>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.</p>
915<p>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 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.</p>
916<p>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 configuration text pages.</p>
917          
918</td></tr>
919</table>
920          
921<FORM>
922          
923<a name="grid"></a><table id="calculator1" 
924          
925style="border:2px solid black;padding:0px; spacing:0px;" bgcolor="lightgrey"  WIDTH=900 align=center>
926<tbody>
927<tr><th colspan=5><span style="font-size: 40px">Grid Watch Demand<BR>Focus Table</span></th><th colspan=3><img src="demand_graph_logo.jpg" height=108 width=179></th><tr>
928<tr>
929<th colspan=2 style="text-align: left;">  Peak demand<BR>
930          
931<span style="font-size: 15px">   units:</span><select ID="selectunits" onChange="changeunits(1)">
932  <option value="W">Watts</option>
933  <option value="KW">KiloWatts</option>
934  <option selected="selected" value="MW">MegaWatts</option>
935  <option value="GW">GigaWatts</option>
936</select>
937</th>
938          
939<th>Daily Usage<BR>
940<small><a id="unit5">MW</a>h</small></th>
941          
942<th colspan=2>
943<table id="unknown" align=center width=100%>
944<tr>
945 <td><b>Wind<small> power</small></b></td>
946 <td width=20%><b><small><a id="unit1">MW</a></small></b></td>
947 <td><b> Solar<small> power</small></b></td>
948</tr>
949<tr>
950 <td colspan=3>
951 <table width=100% id="unknown2" align=center><tr>
952  <td>
953<a title="Wind Capacity Factor"><small><input type="number" name="cf" min="1" max="70" value="24" step="1" onChange="if (this.value<0) this.value=1; if (this.value>70) this.value=70; setCF(this.value,24)" class="setpc">%</small></a>
954  </td>
955  <td><span style="font-size: 15px">Capacity Factor</span></td>
956  <td>
957<a title="Solar Capacity Factor"><small><input type="number" name="scf" min="0.1" max="50" value="8.7" step="0.1" onChange="if (this.value<0.0) this.value=0.1; if (this.value>50) this.value=50; setSCF(this.value,8.7)" class="setpc">%</small></a>
958  </td>
959 </tr></table>
960</td>
961</tr>
962</table>
963</th>
964          
965<th>Storage<BR>
966<small><a id="unit3">MW</a>h</small></th>
967<th>Back-up<small> power</small><BR>
968<a id="unit4">MW</a></th><th><p style="line-height: 100%;font-size: 15px; margin-top: 2px; margin-bottom: 2px;">Open<BR>text<BR>page</p></th>
969</tr>
970          
971<tr>
972<td colspan=2 align=left><small>Row</small> </td>
973<td></td>
974<td colspan=2>
975<span style="font-size: 16px; text-align: right">  <b>Wind %</b> </span><a title="Wind Energy Generation Percent"><input type="number" name="wpc" min="0" max="100" value="100" step="1" onChange="if (this.value<0) this.value=0; if (this.value>100) this.value=100; setSPC(100-this.value)" class="setpc"></a>
976:
977<a title="Solar Energy Generation Percent"><input type="number" name="spc" min="0" max="100" value="0" step="1" onChange="if (this.value<0) this.value=0; if (this.value>100) this.value=100; setWPC(100-this.value)" class="setpc"></a> <span style="font-size: 16px; text-align: left"><b> Solar %</b></span>
978</td>
979<td colspan=2 align=center><a title="Set Generation Wind : Solar ratio according to the latitude"><span style="font-size: 16px;"><b>Latitude</b> </span><input type="number" name="latG" min="-90" max="90" value="90" step="1" onChange="if (this.value<-90) this.value=-90; if (this.value>90) this.value=90; setLat(this.value)" class="setpc"></a></td>
980          
981<td></td>
982</tr>
983          
984          
985<tr>
986<td>A</td><td>  <input type="number" name="pd1" min="0" value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
987          
988<td><input name="duf1" value="15" disabled=disabled class="factor"> <input type="number" name="du1" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
989          
990<td><input name="wpf1" value="7" disabled=disabled class="factor"> <input type="number" name="wp1" min="0" value="700" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf1.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
991<td><input name="spf1" value="19.310345" disabled=disabled class="factor"> 
992<input type="number" name="sp1" min="0" value="0" 
993step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf1.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
994          
995<td><input name="shf1" value="36" disabled=disabled class="factor"> <input type="number" name="sh1" min="0" value="3600" step="1" onChange="set(this.value,36)" class="setl"></td>
996<td><input name="bpf1" value="0" disabled=disabled class="factor"> <input type="number" name="bp1" min="0" value="0" step="1" onChange="this.value=0" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd1.value,selectunits.value,du1.value,wp1.value,cf.value,-1,sh1.value,bp1.value,sp1.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
997</tr>
998          
999<tr>
1000<td>B</td><td>  <input type="number" name="pd2" min="0" value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
1001          
1002<td><input name="duf2" value="15" disabled=disabled class="factor"> <input type="number" name="du2" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
1003          
1004          
1005<td><input name="wpf2" value="5.5" disabled=disabled class="factor"> <input type="number" name="wp2" min="0" value="550" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf2.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
1006<td><input name="spf2" value="15.17241" disabled=disabled class="factor"> 
1007<input type="number" name="sp2" min="0" value="0" 
1008step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf2.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
1009          
1010<td><input name="shf2" value="26.4" disabled=disabled class="factor"> <input type="number" name="sh2" min="0" value="2640" step="1" onChange="set(this.value,26.4)" class="setl"></td>
1011<td><input name="bpf2" value="0.15" disabled=disabled class="factor"> <input type="number" name="bp2" min="0" value="15" step="1" onChange="set(this.value,0.15)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd2.value,selectunits.value,du2.value,wp2.value,cf.value,-1,sh2.value,bp2.value,sp2.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1012</tr>
1013          
1014<tr>
1015<td>C</td><td>  <input type="number" name="pd3" min="0" value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
1016<td><input name="duf3" value="15" disabled=disabled class="factor"> <input type="number" name="du3" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
1017          
1018<td><input name="wpf3" value="4" disabled=disabled class="factor"> <input type="number" name="wp3" min="0" value="400" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf3.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
1019<td><input name="spf3" value="11.034" disabled=disabled class="factor"> 
1020<input type="number" name="sp3" min="0" value="0" 
1021step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf3.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
1022          
1023          
1024<td><input name="shf3" value="19.2" disabled=disabled class="factor"> <input type="number" name="sh3" min="0" value="1920" step="1" onChange="set(this.value,19.2)" class="setl"></td>
1025<td><input name="bpf3" value="0.3" disabled=disabled class="factor"> <input type="number" name="bp3" min="0" value="30" step="1" onChange="set(this.value,0.3)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd3.value,selectunits.value,du3.value,wp3.value,cf.value,-1,sh3.value,bp3.value,sp3.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1026</tr>
1027          
1028          
1029<tr>
1030<td>D</td><td>  <input type="number" name="pd8" min="0"  value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
1031          
1032<td><input name="duf8" value="15" disabled=disabled class="factor"> <input type="number" name="du8" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
1033          
1034<td><input name="wpf8" value="3.3" disabled=disabled class="factor"> <input type="number" name="wp8" min="0" value="330" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf8.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
1035<td><input name="spf8" value="9.1034" disabled=disabled class="factor"> 
1036<input type="number" name="sp8" min="0" value="0" 
1037step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf8.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
1038          
1039<td><input name="shf8" value="16.8" disabled=disabled class="factor"> <input type="number" name="sh8" min="0" value="1680" step="1" onChange="set(this.value,16.8)" class="setl"></td>
1040<td><input name="bpf8" value="0.35" disabled=disabled class="factor"> <input type="number" name="bp8" min="0" value="35" step="1" onChange="set(this.value,0.35)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd8.value,selectunits.value,du8.value,wp8.value,cf.value,-1,sh8.value,bp8.value,sp8.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1041</tr>
1042          
1043          
1044<tr>
1045<td>E</td><td>  <input type="number" name="pd4" min="0"  value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
1046          
1047<td><input name="duf4" value="15" disabled=disabled class="factor"> <input type="number" name="du4" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
1048          
1049<td><input name="wpf4" value="2.7" disabled=disabled class="factor"> <input type="number" name="wp4" min="0" value="270" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf4.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
1050<td><input name="spf4" value="7.4483" disabled=disabled class="factor"> 
1051<input type="number" name="sp4" min="0" value="0" 
1052step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf4.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
1053          
1054<td><input name="shf4" value="14.4" disabled=disabled class="factor"> <input type="number" name="sh4" min="0" value="1440" step="1" onChange="set(this.value,14.4)" class="setl"></td>
1055<td><input name="bpf4" value="0.4" disabled=disabled class="factor"> <input type="number" name="bp4" min="0" value="40" step="1" onChange="set(this.value,0.4)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd4.value,selectunits.value,du4.value,wp4.value,cf.value,-1,sh4.value,bp4.value,sp4.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1056</tr>
1057          
1058<tr>
1059<td>F</td><td>  <input type="number" name="pd5" min="0"  value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
1060          
1061<td><input name="duf5" value="15" disabled=disabled class="factor"> <input type="number" name="du5" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
1062          
1063<td><input name="wpf5" value="1.9" disabled=disabled class="factor"> <input type="number" name="wp5" min="0" value="190" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf5.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
1064<td><input name="spf5" value="5.2414" disabled=disabled class="factor"> 
1065<input type="number" name="sp5" min="0" value="0" 
1066step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf5.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
1067          
1068<td><input name="shf5" value="9.6" disabled=disabled class="factor"> <input type="number" name="sh5" min="0" value="960" step="1" onChange="set(this.value,9.6)" class="setl"></td>
1069<td><input name="bpf5" value="0.47" disabled=disabled class="factor"> <input type="number" name="bp5" min="0" value="47" step="1" onChange="set(this.value,0.47)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd5.value,selectunits.value,du5.value,wp5.value,cf.value,-1,sh5.value,bp5.value,sp5.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1070</tr>
1071          
1072<tr>
1073<td>G</td><td>  <input type="number" name="pd6" min="0"  value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
1074          
1075<td><input name="duf6" value="15" disabled=disabled class="factor"> <input type="number" name="du6" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
1076          
1077<td><input name="wpf6" value="1.5" disabled=disabled class="factor"> <input type="number" name="wp6" min="0" value="150" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf6.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
1078<td><input name="spf6" value="4.1379" disabled=disabled class="factor"> 
1079<input type="number" name="sp6" min="0" value="0" 
1080step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf6.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
1081          
1082<td><input name="shf6" value="7.2" disabled=disabled class="factor"> <input type="number" name="sh6" min="0" value="720" step="1" onChange="set(this.value,7.2)" class="setl"></td>
1083<td><input name="bpf6" value="0.51" disabled=disabled class="factor"> <input type="number" name="bp6" min="0" value="51" step="1" onChange="set(this.value,0.51)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd6.value,selectunits.value,du6.value,wp6.value,cf.value,-1,sh6.value,bp6.value,sp6.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1084</tr>
1085          
1086<tr>
1087<td>H</td><td>  <input type="number" name="pd7" min="0"  value="100" step="1" onChange="setPeakDemand(this.value)" class="set"></td>
1088          
1089<td><input name="duf7" value="15" disabled=disabled class="factor"> <input type="number" name="du7" min="0" value="1500" step="1" onChange="set(this.value,15)" class="setl"></td>
1090          
1091<td><input name="wpf7" value="1" disabled=disabled class="factor"> <input type="number" name="wp7" min="0" value="100" step="1" onChange="if ( wc.wpc.value !=0 ) {set(this.value,wc.wpf7.value*wc.wpc.value/100);} else {this.value=0;}" class="set"></td>
1092<td><input name="spf7" value="2.7586" disabled=disabled class="factor"> 
1093<input type="number" name="sp7" min="0" value="0" 
1094step="1" onChange="if ( wc.spc.value !=0 ) {set(this.value,wc.spf7.value*wc.spc.value/100);} else {this.value=0;}" class="setl"></td>
1095          
1096<td><input name="shf7" value="5.04" disabled=disabled class="factor"> <input type="number" name="sh7" min="0" value="504" step="1" onChange="set(this.value,5.04)" class="setl"></td>
1097<td><input name="bpf7" value="0.56" disabled=disabled class="factor"> <input type="number" name="bp7" min="0" value="56" step="1" onChange="set(this.value,0.56)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(pd7.value,selectunits.value,du7.value,wp7.value,cf.value,-1,sh7.value,bp7.value,sp7.value,scf.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1098</tr>
1099          
1100</tbody>
1101</table>
1102          
1103          
1104          
1105          
1106          
1107          
1108<BR>
1109          
1110          
1111<!-- Table 2 -->
1112          
1113          
1114          
1115<a name="wind"></a><table id="calculator2" 
1116          
1117style="border:2px solid black;padding:0px; spacing:0px;" bgcolor="lightgrey" WIDTH=900 align=center>
1118<tbody>
1119<tr><th colspan=5><span style="font-size: 40px">Wind Generation Capacity<BR>Focus Table</span></th><th colspan=3><img src="wind-turbines-logo.jpg" height=108 width=237></th><tr>
1120<tr>
1121<th colspan=2 style="text-align: left;"><small>Row </small> Peak demand<BR>
1122          
1123<span style="font-size: 15px">   units:</span><select ID="selectunitsW" onChange="changeunits(2)">
1124  <option value="W">Watts</option>
1125  <option value="KW">KiloWatts</option>
1126  <option selected="selected" value="MW">MegaWatts</option>
1127  <option value="GW">GigaWatts</option>
1128</select>
1129          
1130</th>
1131          
1132<th colspan=2><table id="unknown5"><tr><td>Daily Usage<BR>
1133<small><a id="unit5W">MW</a>h</small></td>
1134          
1135<td><small>Wind power <a id="unit1W">MW</a></small><BR>
1136<small><span style="font-size: 15px">Capacity Factor</span> <a title="Capacity Factor"><input type="number" name="cfW" min="1" max="70" value="24" step="1" onChange="if (this.value<1) this.value=1; if (this.value>70) this.value=70; setCF(this.value,24)" class="setpc">%</a></small>
1137</td></tr></table>
1138</th>
1139<th>Wind energy<BR>
1140<small>per day - <a id="unit2W">MW</a>h</small></th>
1141<th>Storage<BR>
1142<small><a id="unit3W">MW</a>h</small></th>
1143<th>Back-up<small> power</small><BR>
1144<a id="unit4W">MW</a></th><th><p style="line-height: 100%;font-size: 15px; margin-top: 2px; margin-bottom: 2px;">Open<BR>text<BR>page</p></th>
1145</tr>
1146<tr>
1147<td>A</td><td><input name="Wpdf1" value="0.142857" disabled=disabled class="factor"> <input type="number" name="Wpd1" min="0" value="143" step="1" onChange="setW(this.value,wc.Wpdf1.value)" class="set"></td>
1148          
1149<td><input name="Wduf1" value="2.14285" disabled=disabled class="factor"> 
1150<input type="number" name="Wdu1" min="0" value="2143" step="1" onChange="setW(this.value,wc.Wduf1.value)" class="setl"></td>
1151          
1152<td>  <input type="number" name="Wwp1" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1153<td><input name="Wsdf1" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd1" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf1.value)" class="setl"></td>
1154<td><input name="Wshf1" value="5.142857" disabled=disabled class="factor"> <input type="number" name="Wsh1" min="0" value="5143" step="1" onChange="setW(this.value,wc.Wshf1.value)" class="setl"></td>
1155<td><input name="Wbpf1" value="0" disabled=disabled class="factor"> <input type="number" name="Wbp1" min="0" value="0" step="1" onChange="this.value=0" class="setn"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd1.value,selectunits.value,Wdu1.value,Wwp1.value,cf.value,Wsd1.value,Wsh1.value,Wbp1.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1156</tr>
1157<tr>
1158<td>B</td><td><input name="Wpdf2" value="0.1818" disabled=disabled class="factor"> <input type="number" name="Wpd2" min="0" value="182" step="1" onChange="setW(this.value,wc.Wpdf2.value)" class="set"></td>
1159          
1160<td><input name="Wduf2" value="2.72727" disabled=disabled class="factor"> <input type="number" name="Wdu2" min="0" value="2727" step="1" onChange="setW(this.value,wc.Wduf2.value)" class="setl"></td>
1161          
1162<td>  <input type="number" name="Wwp2" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1163<td><input name="Wsdf2" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd2" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf2.value)" class="setl"></td>
1164<td><input name="Wshf2" value="4.8" disabled=disabled class="factor"> <input type="number" name="Wsh2" min="0" value="4800" step="1" onChange="setW(this.value,wc.Wshf2.value)" class="setl"></td>
1165<td><input name="Wbpf2" value="0.02727" disabled=disabled class="factor"> <input type="number" name="Wbp2" min="0" value="27" step="1" onChange="setW(this.value,wc.Wbpf2.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd2.value,selectunits.value,Wdu2.value,Wwp2.value,cf.value,Wsd2.value,Wsh2.value,Wbp2.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1166</tr>
1167<tr>
1168<td>C</td><td><input name="Wpdf3" value="0.25" disabled=disabled class="factor"> <input type="number" name="Wpd3" min="0" value="250" step="1" onChange="setW(this.value,wc.Wpdf3.value)" class="set"></td>
1169          
1170<td><input name="Wduf3" value="3.75" disabled=disabled class="factor"> <input type="number" name="Wdu3" min="0" value="3750" step="1" onChange="setW(this.value,wc.Wduf3.value)" class="setl"></td>
1171          
1172<td>  <input type="number" name="Wwp3" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1173<td><input name="Wsdf3" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd3" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf3.value)" class="setl"></td>
1174<td><input name="Wshf3" value="4.8" disabled=disabled class="factor"> <input type="number" name="Wsh3" min="0" value="4800" step="1" onChange="setW(this.value,wc.Wshf3.value)" class="setl"></td>
1175<td><input name="Wbpf3" value="0.075" disabled=disabled class="factor"> <input type="number" name="Wbp3" min="0" value="75" step="1" onChange="setW(this.value,wc.Wbpf3.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd3.value,selectunits.value,Wdu3.value,Wwp3.value,cf.value,Wsd3.value,Wsh3.value,Wbp3.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1176</tr>
1177          
1178          
1179<tr>
1180<td>D</td><td><input name="Wpdf8" value="0.30303" disabled=disabled class="factor"> <input type="number" name="Wpd8" min="0"  value="303" step="1" onChange="setW(this.value,wc.Wpdf8.value)" class="set"></td>
1181          
1182<td><input name="Wduf8" value="4.54545" disabled=disabled class="factor"> <input type="number" name="Wdu8" min="0" value="4545" step="1" onChange="setW(this.value,wc.Wduf8.value)" class="setl"></td>
1183          
1184<td>  <input type="number" name="Wwp8" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1185<td><input name="Wsdf8" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd8" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf8.value)" class="setl"></td>
1186<td><input name="Wshf8" value="5.0909" disabled=disabled class="factor"> <input type="number" name="Wsh8" min="0" value="5091" step="1" onChange="setW(this.value,wc.Wshf8.value)" class="setl"></td>
1187<td><input name="Wbpf8" value="0.10606" disabled=disabled class="factor"> <input type="number" name="Wbp8" min="0" value="106" step="1" onChange="setW(this.value,wc.Wbpf8.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd8.value,selectunits.value,Wdu8.value,Wwp8.value,cf.value,Wsd8.value,Wsh8.value,Wbp8.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1188</tr>
1189          
1190          
1191<tr>
1192<td>E</td><td><input name="Wpdf4" value="0.3704" disabled=disabled class="factor"> <input type="number" name="Wpd4" min="0"  value="370" step="1" onChange="setW(this.value,wc.Wpdf4.value)" class="set"></td>
1193          
1194<td><input name="Wduf4" value="5.55555" disabled=disabled class="factor"> <input type="number" name="Wdu4" min="0" value="5556" step="1" onChange="setW(this.value,wc.Wduf4.value)" class="setl"></td>
1195          
1196<td>  <input type="number" name="Wwp4" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1197<td><input name="Wsdf4" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd4" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf4.value)" class="setl"></td>
1198<td><input name="Wshf4" value="5.333" disabled=disabled class="factor"> <input type="number" name="Wsh4" min="0" value="5333" step="1" onChange="setW(this.value,wc.Wshf4.value)" class="setl"></td>
1199<td><input name="Wbpf4" value="0.1481" disabled=disabled class="factor"> <input type="number" name="Wbp4" min="0" value="148" step="1" onChange="setW(this.value,wc.Wbpf4.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd4.value,selectunits.value,Wdu4.value,Wwp4.value,cf.value,Wsd4.value,Wsh4.value,Wbp4.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1200</tr>
1201          
1202          
1203<tr>
1204<td>F</td><td><input name="Wpdf5" value="0.5263" disabled=disabled class="factor"> <input type="number" name="Wpd5" min="0"  value="526" step="1" onChange="setW(this.value,wc.Wpdf5.value)" class="set"></td>
1205          
1206<td><input name="Wduf5" value="7.89474" disabled=disabled class="factor"> <input type="number" name="Wdu5" min="0" value="7895" step="1" onChange="setW(this.value,wc.Wduf5.value)" class="setl"></td>
1207          
1208<td>  <input type="number" name="Wwp5" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1209<td><input name="Wsdf5" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd5" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf5.value)" class="setl"></td>
1210<td><input name="Wshf5" value="5.053" disabled=disabled class="factor"> <input type="number" name="Wsh5" min="0" value="5053" step="1" onChange="setW(this.value,wc.Wshf5.value)" class="setl"></td>
1211<td><input name="Wbpf5" value="0.2474" disabled=disabled class="factor"> <input type="number" name="Wbp5" min="0" value="247" step="1" onChange="setW(this.value,wc.Wbpf5.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd5.value,selectunits.value,Wdu5.value,Wwp5.value,cf.value,Wsd5.value,Wsh5.value,Wbp5.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1212</tr>
1213          
1214<tr>
1215<td>G</td><td><input name="Wpdf6" value="0.6667" disabled=disabled class="factor"> <input type="number" name="Wpd6" min="0"  value="667" step="1" onChange="setW(this.value,wc.Wpdf6.value)" class="set"></td>
1216          
1217<td><input name="Wduf6" value="10" disabled=disabled class="factor"> <input type="number" name="Wdu6" min="0" value="10000" step="1" onChange="setW(this.value,wc.Wduf6.value)" class="setl"></td>
1218          
1219<td>  <input type="number" name="Wwp6" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1220<td><input name="Wsdf6" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd6" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf6.value)" class="setl"></td>
1221<td><input name="Wshf6" value="4.8" disabled=disabled class="factor"> <input type="number" name="Wsh6" min="0" value="4800" step="1" onChange="setW(this.value,wc.Wshf6.value)" class="setl"></td>
1222<td><input name="Wbpf6" value="0.34" disabled=disabled class="factor"> <input type="number" name="Wbp6" min="0" value="340" step="1" onChange="setW(this.value,wc.Wbpf6.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd6.value,selectunits.value,Wdu6.value,Wwp6.value,cf.value,Wsd6.value,Wsh6.value,Wbp6.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1223</tr>
1224          
1225<tr>
1226<td>H</td><td><input name="Wpdf7" value="1" disabled=disabled class="factor"> <input type="number" name="Wpd7" min="0"  value="1000" step="1" onChange="setW(this.value,wc.Wpdf7.value)" class="set"></td>
1227          
1228<td><input name="Wduf7" value="15" disabled=disabled class="factor"> <input type="number" name="Wdu7" min="0" value="15000" step="1" onChange="setW(this.value,wc.Wduf7.value)" class="setl"></td>
1229          
1230<td>  <input type="number" name="Wwp7" min="0" value="1000" step="1" onChange="setWindPower(this.value)" class="setl"></td>
1231<td><input name="Wsdf7" value="5.76" disabled=disabled class="factor"> <input type="number" name="Wsd7" min="0" value="5760" step="1" onChange="setW(this.value,wc.Wsdf7.value)" class="setl"></td>
1232<td><input name="Wshf7" value="5.04" disabled=disabled class="factor"> <input type="number" name="Wsh7" min="0" value="5040" step="1" onChange="setW(this.value,wc.Wshf7.value)" class="setl"></td>
1233<td><input name="Wbpf7" value="0.56" disabled=disabled class="factor"> <input type="number" name="Wbp7" min="0" value="560" step="1" onChange="setW(this.value,wc.Wbpf7.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Wpd7.value,selectunits.value,Wdu7.value,Wwp7.value,cf.value,Wsd7.value,Wsh7.value,Wbp7.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1234</tr>
1235          
1236</tbody>
1237</table>
1238          
1239          
1240          
1241          
1242          
1243<BR>
1244          
1245          
1246          
1247          
1248          
1249<!-- Table 3 -->
1250          
1251          
1252<a name="off"></a><table id="calculator3" 
1253          
1254style="border:2px solid black;padding:0px; spacing:0px;" bgcolor="lightgrey"  WIDTH=900 align=center>
1255<tbody>
1256<tr><th colspan=5><span style="font-size: 40px">Off-grid daily usage<BR>Focus Table</span></th><th colspan=3><img src="off%20grid_108.jpg" height=108 width=143></th><tr>
1257<tr>
1258<th colspan=2 style="text-align: left;">Daily Usage <small>(max)</small><BR>
1259          
1260<span style="font-size: 15px">units:</span><select ID="selectunitsF" onChange="changeunits(3)">
1261  <option selected="selected" value="W">Watts</option>
1262  <option value="KW">KiloWatts</option>
1263  <option value="MW">MegaWatts</option>
1264  <option value="GW">GigaWatts</option>
1265</select>
1266          
1267<!-- <small><a id="unit5F">W</a>h</small> -->
1268</th>
1269          
1270<th colspan=2>
1271          
1272<table id="unknown3" align=center width=100%>
1273<tr>
1274 <td><b>Wind<small> power</small></b></td>
1275 <td width=20%><b><small><a id="unit1F">W</a></small></b></td>
1276 <td><b> Solar<small> power</small></b></td>
1277</tr>
1278<tr>
1279 <td colspan=3>
1280 <table width=100% id="unknown4" align=center><tr>
1281  <td>
1282<a title="Wind Capacity Factor"><small><input type="number" name="cfF" min="1" max="70" value="24" step="1" onChange="if (this.value<1) this.value=1; if (this.value>70) this.value=70; setCF(this.value,24)" class="setpc">%</small></a>
1283  </td>
1284  <td><span style="font-size: 15px">Capacity Factor</span></td>
1285  <td>
1286<a title="Solar Capacity Factor"><small><input type="number" name="scfF" min="0.1" max="50" value="8.7" step="0.1" onChange="if (this.value<0.1) this.value=0.1; if (this.value>50) this.value=50; setSCF(this.value,8.7)" class="setpc">%</small></a>
1287  </td>
1288 </tr></table>
1289</td>
1290</tr>
1291</table>
1292</th>
1293          
1294<th><small>Wind + Solar</small><BR>
1295<small><a id="unit2F">W</a>h per day</small></th>
1296<th>Storage<BR>
1297<small><a id="unit3F">W</a>h</small></th>
1298<th>Back-up<small> power</small><BR>
1299<a id="unit4F">W</a></th><th><p style="line-height: 100%;font-size: 15px; margin-top: 2px; margin-bottom: 2px;">Open<BR>text<BR>page</p></th>
1300</tr>
1301          
1302<tr>
1303<td colspan=2 align=left><small>Row</small> </td>
1304          
1305<td colspan=2>
1306<span style="font-size: 16px; text-align: right">  <b>Wind %</b> </span><a title="Wind Energy Generation Percent"><input type="number" name="wpcF" min="0" max="100" value="100" step="1" onChange="if (this.value<0) this.value=0; if (this.value>100) this.value=100; setSPC(100-this.value)" class="setpc"></a>
1307:
1308<a title="Solar Energy Generation Percent"><input type="number" name="spcF" min="0" max="100" value="0" step="1" onChange="if (this.value<0) this.value=0; if (this.value>100) this.value=100; setWPC(100-this.value)" class="setpc"></a> <span style="font-size: 16px; text-align: left"><b> Solar %</b></span>
1309</td>
1310<td colspan=2 align=center><a title="Set Generation Wind : Solar ratio according to the latitude"><span style="font-size: 16px;"><b>Latitude</b> </span><input type="number" name="lat" min="-90" max="90" value="90" step="1" onChange="if (this.value<-90) this.value=-90; if (this.value>90) this.value=90; setLat(this.value)" class="setpc"></a></td>
1311<td></td>
1312<td></td>
1313</tr>
1314          
1315<tr>
1316<td colspan=2>A  <input name="Fduf1" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu1" min="0" value="15000" step="1" onChange="setF(this.value,15)" class="set"></td>
1317          
1318<td><input name="Fwpf1" value="7" disabled=disabled class="factor"> <input type="number" name="Fwp1" min="0" value="7000" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf1.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1319          
1320<td><input name="Fspf1" value="19.310345" disabled=disabled class="factor"> 
1321<input type="number" name="Fsp1" min="0" value="0" 
1322step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf1.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1323          
1324<td><input name="Fsdf1" value="40.32" disabled=disabled class="factor"> <input type="number" name="Fsd1" min="0" value="40320" step="1" onChange="setF(this.value,40.32)" class="set"></td>
1325<td><input name="Fshf1" value="36" disabled=disabled class="factor"> <input type="number" name="Fsh1" min="0" value="36000" step="1" onChange="setF(this.value,36)" class="set"></td>
1326<td><input name="Fbpf1" value="0" disabled=disabled class="factor"> <input type="number" name="Fbp1" min="0" value="0" step="1" onChange="this.value=0" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu1.value,Fwp1.value,cf.value,Fsd1.value,Fsh1.value,Fbp1.value,Fsp1.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1327</tr>
1328          
1329<tr>
1330<td colspan=2>B  <input name="Fduf2" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu2" min="0" value="15000" step="1" onChange="setF(this.value,15)" class="set"></td>
1331          
1332<td><input name="Fwpf2" value="5.5" disabled=disabled class="factor"> <input type="number" name="Fwp2" min="0" value="5500" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf2.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1333          
1334<td><input name="Fspf2" value="15.17241" disabled=disabled class="factor"> <input type="number" name="Fsp2" min="0" value="0" step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf2.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1335          
1336<td><input name="Fsdf2" value="31.68" disabled=disabled class="factor"> <input type="number" name="Fsd2" min="0" value="31680" step="1" onChange="setF(this.value,31.68)" class="set"></td>
1337<td><input name="Fshf2" value="26.4" disabled=disabled class="factor"> <input type="number" name="Fsh2" min="0" value="26400" step="1" onChange="setF(this.value,26.4)" class="set"></td>
1338<td><input name="Fbpf2" value="0.15" disabled=disabled class="factor"> <input type="number" name="Fbp2" min="0" value="150" step="1" onChange="setF(this.value,0.15)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu2.value,Fwp2.value,cf.value,Fsd2.value,Fsh2.value,Fbp2.value,Fsp2.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1339</tr>
1340          
1341<tr>
1342<td colspan=2>C  <input name="Fduf3" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu3" min="0" value="15000" step="1" onChange="setF(this.value,15)" class="set"></td>
1343          
1344<td><input name="Fwpf3" value="4" disabled=disabled class="factor"> <input type="number" name="Fwp3" min="0" value="4000" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf3.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1345          
1346<td><input name="Fspf3" value="11.034" disabled=disabled class="factor"> <input type="number" name="Fsp3" min="0" value="0" step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf3.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1347          
1348<td><input name="Fsdf3" value="23.04" disabled=disabled class="factor"> <input type="number" name="Fsd3" min="0" value="23040" step="1" onChange="setF(this.value,23.04)" class="set"></td>
1349<td><input name="Fshf3" value="19.2" disabled=disabled class="factor"> <input type="number" name="Fsh3" min="0" value="19200" step="1" onChange="setF(this.value,19.2)" class="set"></td>
1350<td><input name="Fbpf3" value="0.3" disabled=disabled class="factor"> <input type="number" name="Fbp3" min="0" value="300" step="1" onChange="setF(this.value,0.3)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu3.value,Fwp3.value,cf.value,Fsd3.value,Fsh3.value,Fbp3.value,Fsp3.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1351</tr>
1352          
1353          
1354          
1355<tr>
1356<td colspan=2>D  <input name="Fduf8" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu8" min="0" value="15000" step="1" onChange="setF(this.value,15)" class="set"></td>
1357          
1358<td><input name="Fwpf8" value="3.3" disabled=disabled class="factor"> <input type="number" name="Fwp8" min="0" value="3300" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf8.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1359          
1360<td><input name="Fspf8" value="9.1034" disabled=disabled class="factor"> <input type="number" name="Fsp8" min="0" value="0" step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf8.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1361          
1362<td><input name="Fsdf8" value="19.008" disabled=disabled class="factor"> <input type="number" name="Fsd8" min="0" value="19008" step="1" onChange="setF(this.value,19.008)" class="set"></td>
1363<td><input name="Fshf8" value="16.8" disabled=disabled class="factor"> <input type="number" name="Fsh8" min="0" value="16800" step="1" onChange="setF(this.value,16.8)" class="set"></td>
1364<td><input name="Fbpf8" value="0.35" disabled=disabled class="factor"> <input type="number" name="Fbp8" min="0" value="350" step="1" onChange="setF(this.value,0.35)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu8.value,Fwp8.value,cf.value,Fsd8.value,Fsh8.value,Fbp8.value,Fsp8.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1365</tr>
1366          
1367          
1368          
1369          
1370<tr>
1371<td colspan=2>E  <input name="Fduf4" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu4" min="0" value="15000" step="1" onChange="setF(this.value,15)" class="set"></td>
1372          
1373<td><input name="Fwpf4" value="2.7" disabled=disabled class="factor"> <input type="number" name="Fwp4" min="0" value="2700" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf4.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1374          
1375<td><input name="Fspf4" value="7.4483" disabled=disabled class="factor"> <input type="number" name="Fsp4" min="0" value="0" step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf4.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1376          
1377<td><input name="Fsdf4" value="15.552" disabled=disabled class="factor"> <input type="number" name="Fsd4" min="0" value="15552" step="1" onChange="setF(this.value,15.552)" class="set"></td>
1378<td><input name="Fshf4" value="14.4" disabled=disabled class="factor"> <input type="number" name="Fsh4" min="0" value="14400" step="1" onChange="setF(this.value,14.4)" class="set"></td>
1379<td><input name="Fbpf4" value="0.4" disabled=disabled class="factor"> <input type="number" name="Fbp4" min="0" value="400" step="1" onChange="setF(this.value,0.4)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu4.value,Fwp4.value,cf.value,Fsd4.value,Fsh4.value,Fbp4.value,Fsp4.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1380</tr>
1381          
1382<tr>
1383<td colspan=2>F  <input name="Fduf5" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu5" min="0" value="15000" step="1" onChange="setF(this.value,15)" class="set"></td>
1384          
1385<td><input name="Fwpf5" value="1.9" disabled=disabled class="factor"> <input type="number" name="Fwp5" min="0" value="1900" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf5.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1386          
1387<td><input name="Fspf5" value="5.2414" disabled=disabled class="factor"> <input type="number" name="Fsp5" min="0" value="0" step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf5.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1388          
1389<td><input name="Fsdf5" value="10.944" disabled=disabled class="factor"> <input type="number" name="Fsd5" min="0" value="10944" step="1" onChange="setF(this.value,10.944)" class="set"></td>
1390<td><input name="Fshf5" value="9.6" disabled=disabled class="factor"> <input type="number" name="Fsh5" min="0" value="9600" step="1" onChange="setF(this.value,9.6)" class="set"></td>
1391<td><input name="Fbpf5" value="0.47" disabled=disabled class="factor"> <input type="number" name="Fbp5" min="0" value="470" step="1" onChange="setF(this.value,0.47)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu5.value,Fwp5.value,cf.value,Fsd5.value,Fsh5.value,Fbp5.value,Fsp5.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1392</tr>
1393          
1394<tr>
1395<td colspan=2>G  <input name="Fduf6" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu6" min="0" value="15000" step="1" onChange="setF(this.value,15)" class="set"></td>
1396          
1397<td><input name="Fwpf6" value="1.5" disabled=disabled class="factor"> <input type="number" name="Fwp6" min="0" value="1500" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf6.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1398          
1399<td><input name="Fspf6" value="4.1379" disabled=disabled class="factor"> <input type="number" name="Fsp6" min="0" value="0" step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf6.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1400          
1401<td><input name="Fsdf6" value="8.64" disabled=disabled class="factor"> <input type="number" name="Fsd6" min="0" value="8640" step="1" onChange="setF(this.value,8.64)" class="set"></td>
1402<td><input name="Fshf6" value="7.2" disabled=disabled class="factor"> <input type="number" name="Fsh6" min="0" value="7200" step="1" onChange="setF(this.value,7.2)" class="set"></td>
1403<td><input name="Fbpf6" value="0.51" disabled=disabled class="factor"> <input type="number" name="Fbp6" min="0" value="510" step="1" onChange="setF(this.value,0.51)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu6.value,Fwp6.value,cf.value,Fsd6.value,Fsh6.value,Fbp6.value,Fsp6.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1404</tr>
1405          
1406<tr>
1407<td colspan=2>H  <input name="Fduf7" value="15" disabled=disabled class="factor"> <input type="number" name="Fdu7" min="0" value="15000" step="1" 
1408onChange="setF(this.value,15)" class="set"></td>
1409          
1410<td><input name="Fwpf7" value="1" disabled=disabled class="factor"> <input type="number" name="Fwp7" min="0" value="1000" step="1" onChange="if ( wc.wpcF.value !=0 ) {setF(this.value,wc.Fwpf7.value*wc.wpcF.value/100);} else {this.value=0;}" class="set"></td>
1411          
1412<td><input name="Fspf7" value="2.7586" disabled=disabled class="factor"> <input type="number" name="Fsp7" min="0" value="0" step="1" onChange="if ( wc.spcF.value !=0 ) {setF(this.value,wc.Fspf7.value*wc.spcF.value/100);} else {this.value=0;}" class="setl"></td>
1413          
1414<td><input name="Fsdf7" value="5.76" disabled=disabled class="factor"> <input type="number" name="Fsd7" min="0" value="5760" step="1" 
1415onChange="setF(this.value,5.76)" class="set"></td>
1416<td><input name="Fshf7" value="5.04" disabled=disabled class="factor"> <input type="number" name="Fsh7" min="0" value="5040" step="1" onChange="setF(this.value,5.04)" class="set"></td>
1417<td><input name="Fbpf7" value="0.56" disabled=disabled class="factor"> <input type="number" name="Fbp7" min="0" value="560" step="1" 
1418onChange="setF(this.value,0.56)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(-1,selectunitsF.value,Fdu7.value,Fwp7.value,cf.value,Fsd7.value,Fsh7.value,Fbp7.value,Fsp7.value,scfF.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1419</tr>
1420          
1421</tbody>
1422</table>
1423          
1424          
1425          
1426          
1427          
1428<BR>
1429          
1430          
1431          
1432          
1433          
1434<!-- Table 4 -->
1435          
1436          
1437<a name="store"></a><table id="calculator4" 
1438          
1439style="border:2px solid black;padding:0px; spacing:0px;" bgcolor="lightgrey" WIDTH=900 align=center>
1440<tbody>
1441<tr><th colspan=5><span style="font-size: 40px">Energy Storage Capacity<BR>Focus Table</span></th><th colspan=3><img src="energystorage108.jpg" height=108 width=211></th><tr>
1442<tr>
1443<th colspan=2 style="text-align: left;"><small> </small> Peak regeneration<BR>
1444          
1445<span style="font-size: 15px">   units:</span><select ID="selectunitsS" onChange="changeunits(4)">
1446  <option value="W">Watts</option>
1447  <option value="KW">KiloWatts</option>
1448  <option selected="selected" value="MW">MegaWatts</option>
1449  <option value="GW">GigaWatts</option>
1450</select>
1451          
1452</th>
1453          
1454<th ><small>Recharge pump <a id="unit1S">MW</a></small><BR>
1455<small><span style="font-size: 10px">recharge/regen</span> <a title="Recharge / regeneration %"><input type="number" name="cfS" min="100" max="300" value="100" step="1" onChange="if (this.value<100) this.value=100; setRR(this.value,100)" class="setpc">%</a></small>
1456</th>
1457          
1458<th>Daily Usage<BR>
1459<small><a id="unit5S">MW</a>h</small></th>
1460          
1461<th>Wind, Solar etc.<BR>
1462<small><a id="unit2S">MW</a>h per day</small></th>
1463<th>Storage<BR>
1464<small><a id="unit3S">MW</a>h</small></th>
1465<th>Back-up<small> power</small><BR>
1466<a id="unit4S">MW</a></th><th><p style="line-height: 100%;font-size: 15px; margin-top: 2px; margin-bottom: 2px;">Open<BR>text<BR>page</p></th>
1467</tr>
1468          
1469<tr>
1470<td>A</td><td><input name="Spdf1" value="0.027778" disabled=disabled class="factor"> <input type="number" name="Spd1" min="0" value="27.778" step="1" onChange="setS(this.value,wc.Spdf1.value)" class="set"></td>
1471<td><input name="Srpf1" value="0.027778" disabled=disabled class="factor"> <input type="number" name="Srp1" min="0" value="27.778" step="1" onChange="setS(this.value,wc.Srpf1.value)" class="setl"></td>
1472<td><input name="Sduf1" value="0.41667" disabled=disabled class="factor"> 
1473<input type="number" name="Sdu1" min="0" value="416.67" step="1" onChange="setS(this.value,wc.Sduf1.value)" class="setl"></td>
1474<td><input name="Ssdf1" value="1.12" disabled=disabled class="factor"> <input type="number" name="Ssd1" min="0" value="1120" step="1" onChange="setS(this.value,wc.Ssdf1.value)" class="setl"></td>
1475<td>  <input type="number" name="Ssh1" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1476<td><input name="Sbpf1" value="0" disabled=disabled class="factor"> <input type="number" name="Sbp1" min="0" value="0" step="1" onChange="this.value=0" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd1.value,selectunits.value,Sdu1.value,-1,cf.value,Ssd1.value,Ssh1.value,Sbp1.value,Srp1.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1477</tr>
1478          
1479<tr>
1480<td>B</td><td><input name="Spdf2" value="0.037879" disabled=disabled class="factor"> <input type="number" name="Spd2" min="0" value="37.879" step="1" onChange="setS(this.value,wc.Spdf2.value)" class="set"></td>
1481<td><input name="Srpf2" value="0.037879" disabled=disabled class="factor"> <input type="number" name="Srp2" min="0" value="37.879" step="1" onChange="setS(this.value,wc.Srpf2.value)" class="setl"></td>
1482<td><input name="Sduf2" value="0.56818" disabled=disabled class="factor"> <input type="number" name="Sdu2" min="0" value="568.18" step="1" onChange="setS(this.value,wc.Sduf2.value)" class="setl"></td>
1483<td><input name="Ssdf2" value="1.2" disabled=disabled class="factor"> <input type="number" name="Ssd2" min="0" value="1200" step="1" onChange="setS(this.value,wc.Ssdf2.value)" class="setl"></td>
1484<td>  <input type="number" name="Ssh2" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1485<td><input name="Sbpf2" value="0.0056818" disabled=disabled class="factor"> <input type="number" name="Sbp2" min="0" value="5.682" step="1" onChange="setS(this.value,wc.Sbpf2.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd2.value,selectunits.value,Sdu2.value,-1,cf.value,Ssd2.value,Ssh2.value,Sbp2.value,Srp2.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1486</tr>
1487          
1488<tr>
1489<td>C</td><td><input name="Spdf3" value="0.052083" disabled=disabled class="factor"> <input type="number" name="Spd3" min="0" value="52.083" step="1" onChange="setS(this.value,wc.Spdf3.value)" class="set"></td>
1490<td><input name="Srpf3" value="0.052083" disabled=disabled class="factor"> <input type="number" name="Srp3" min="0" value="52.083" step="1" onChange="setS(this.value,wc.Srpf3.value)" class="setl"></td>
1491<td><input name="Sduf3" value="0.78125" disabled=disabled class="factor"> <input type="number" name="Sdu3" min="0" value="781.25" step="1" onChange="setS(this.value,wc.Sduf3.value)" class="setl"></td>
1492<td><input name="Ssdf3" value="1.2" disabled=disabled class="factor"> <input type="number" name="Ssd3" min="0" value="1200" step="1" onChange="setS(this.value,wc.Ssdf3.value)" class="setl"></td>
1493<td>  <input type="number" name="Ssh3" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1494<td><input name="Sbpf3" value="0.015625" disabled=disabled class="factor"> <input type="number" name="Sbp3" min="0" value="15.625" step="1" onChange="setS(this.value,wc.Sbpf3.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd3.value,selectunits.value,Sdu3.value,-1,cf.value,Ssd3.value,Ssh3.value,Sbp3.value,Srp3.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1495</tr>
1496          
1497<tr>
1498<td>D</td><td><input name="Spdf8" value="0.059524" disabled=disabled class="factor"> <input type="number" name="Spd8" min="0"  value="59.524" step="1" onChange="setS(this.value,wc.Spdf8.value)" class="set"></td>
1499<td><input name="Srpf8" value="0.059524" disabled=disabled class="factor"> <input type="number" name="Srp8" min="0" value="59.524" step="1" onChange="setS(this.value,wc.Srpf8.value)" class="setl"></td>
1500<td><input name="Sduf8" value="0.89286" disabled=disabled class="factor"> <input type="number" name="Sdu8" min="0" value="892.860" step="1" onChange="setS(this.value,wc.Sduf8.value)" class="setl"></td>
1501<td><input name="Ssdf8" value="1.1314" disabled=disabled class="factor"> <input type="number" name="Ssd8" min="0" value="1131.4" step="1" onChange="setS(this.value,wc.Ssdf8.value)" class="setl"></td>
1502<td>  <input type="number" name="Ssh8" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1503<td><input name="Sbpf8" value="0.020833" disabled=disabled class="factor"> <input type="number" name="Sbp8" min="0" value="20.833" step="1" onChange="setS(this.value,wc.Sbpf8.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd8.value,selectunits.value,Sdu8.value,-1,cf.value,Ssd8.value,Ssh8.value,Sbp8.value,Srp8.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1504</tr>
1505          
1506          
1507<tr>
1508<td>E</td><td><input name="Spdf4" value="0.069444" disabled=disabled class="factor"> <input type="number" name="Spd4" min="0"  value="69.444" step="1" onChange="setS(this.value,wc.Spdf4.value)" class="set"></td>
1509<td><input name="Srpf4" value="0.069444" disabled=disabled class="factor"> <input type="number" name="Srp4" min="0" value="69.444" step="1" onChange="setS(this.value,wc.Srpf4.value)" class="setl"></td>
1510<td><input name="Sduf4" value="1.0417" disabled=disabled class="factor"> <input type="number" name="Sdu4" min="0" value="1041.7" step="1" onChange="setS(this.value,wc.Sduf4.value)" class="setl"></td>
1511<td><input name="Ssdf4" value="1.08" disabled=disabled class="factor"> <input type="number" name="Ssd4" min="0" value="1080" step="1" onChange="setS(this.value,wc.Ssdf4.value)" class="setl"></td>
1512<td>  <input type="number" name="Ssh4" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1513          
1514<td><input name="Sbpf4" value="0.027778" disabled=disabled class="factor"> <input type="number" name="Sbp4" min="0" value="27.778" step="1" onChange="setS(this.value,wc.Sbpf4.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd4.value,selectunits.value,Sdu4.value,-1,cf.value,Ssd4.value,Ssh4.value,Sbp4.value,Srp4.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1515</tr>
1516          
1517          
1518<tr>
1519<td>F</td><td><input name="Spdf5" value="0.10417" disabled=disabled class="factor"> <input type="number" name="Spd5" min="0"  value="104.17" step="1" onChange="setS(this.value,wc.Spdf5.value)" class="set"></td>
1520<td><input name="Srpf5" value="0.10417" disabled=disabled class="factor"> <input type="number" name="Srp5" min="0" value="104.17" step="1" onChange="setS(this.value,wc.Srpf5.value)" class="setl"></td>
1521<td><input name="Sduf5" value="1.5625" disabled=disabled class="factor"> <input type="number" name="Sdu5" min="0" value="1562.5" step="1" onChange="setS(this.value,wc.Sduf5.value)" class="setl"></td>
1522<td><input name="Ssdf5" value="1.14" disabled=disabled class="factor"> <input type="number" name="Ssd5" min="0" value="1140" step="1" onChange="setS(this.value,wc.Ssdf5.value)" class="setl"></td>
1523<td>  <input type="number" name="Ssh5" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1524<td><input name="Sbpf5" value="0.048958" disabled=disabled class="factor"> <input type="number" name="Sbp5" min="0" value="48.958" step="1" onChange="setS(this.value,wc.Sbpf5.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd5.value,selectunits.value,Sdu5.value,-1,cf.value,Ssd5.value,Ssh5.value,Sbp5.value,Srp5.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1525</tr>
1526          
1527<tr>
1528<td>G</td><td><input name="Spdf6" value="0.13889" disabled=disabled class="factor"> <input type="number" name="Spd6" min="0"  value="138.89" step="1" onChange="setS(this.value,wc.Spdf6.value)" class="set"></td>
1529<td><input name="Srpf6" value="0.13889" disabled=disabled class="factor"> <input type="number" name="Srp6" min="0" value="138.89" step="1" onChange="setS(this.value,wc.Srpf6.value)" class="setl"></td>
1530<td><input name="Sduf6" value="2.0833" disabled=disabled class="factor"> <input type="number" name="Sdu6" min="0" value="2083.3" step="1" onChange="setS(this.value,wc.Sduf6.value)" class="setl"></td>
1531<td><input name="Ssdf6" value="1.2" disabled=disabled class="factor"> <input type="number" name="Ssd6" min="0" value="1200" step="1" onChange="setS(this.value,wc.Ssdf6.value)" class="setl"></td>
1532<td>  <input type="number" name="Ssh6" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1533<td><input name="Sbpf6" value="0.070833" disabled=disabled class="factor"> <input type="number" name="Sbp6" min="0" value="70.833" step="1" onChange="setS(this.value,wc.Sbpf6.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd6.value,selectunits.value,Sdu6.value,-1,cf.value,Ssd6.value,Ssh6.value,Sbp6.value,Srp6.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1534</tr>
1535          
1536<tr>
1537<td>H</td><td><input name="Spdf7" value="0.19841" disabled=disabled class="factor"> <input type="number" name="Spd7" min="0"  value="198.41" step="1" onChange="setS(this.value,wc.Spdf7.value)" class="set"></td>
1538<td><input name="Srpf7" value="0.19841" disabled=disabled class="factor"> <input type="number" name="Srp7" min="0" value="198.41" step="1" onChange="setS(this.value,wc.Srpf7.value)" class="setl"></td>
1539<td><input name="Sduf7" value="2.9762" disabled=disabled class="factor"> <input type="number" name="Sdu7" min="0" value="2976.2" step="1" onChange="setS(this.value,wc.Sduf7.value)" class="setl"></td>
1540<td><input name="Ssdf7" value="1.1429" disabled=disabled class="factor"> <input type="number" name="Ssd7" min="0" value="1142.9" step="1" onChange="setS(this.value,wc.Ssdf7.value)" class="setl"></td>
1541<td>  <input type="number" name="Ssh7" min="0" value="1000" step="1" onChange="setStorageHours(this.value)" class="setl"></td>
1542<td><input name="Sbpf7" value="0.11111" disabled=disabled class="factor"> <input type="number" name="Sbp7" min="0" value="111.11" step="1" onChange="setS(this.value,wc.Sbpf7.value)" class="set"></td><td style="padding: 0px" align=center><img onClick="rowText(Spd7.value,selectunits.value,Sdu7.value,-1,cf.value,Ssd7.value,Ssh7.value,Sbp7.value,Srp7.value,cfS.value)" class="rowtext" src="txticon32.png" width=32 height=32></td>
1543</tr>
1544          
1545</tbody>
1546</table>
1547</form>
1548          
1549          
1550          
1551          
1552          
1553<BR>
1554          
1555          
1556<table align=center width=70%><tr><td>
1557          
1558<p><a href="https://scottishscientist.wordpress.com/2017/07/14/wind-storage-and-back-up-system-designer/" target="_blank" style="color: white; font-size: 30px"><span style="color: white; font-size: 30px">Leave a Reply or a Comment</span></a></p>
1559          
1560<p><a href="https://scottishscientist.wordpress.com/" target="_blank" style="color: white"><span style="color: white">The Scottish Scientist web-site in association with the Scottish Scientist Blog at WordPress.Com</span></a></p>
1561          
1562</td></tr></table>
1563          
1564          
1565</body>
1566          
1567</HTML>