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