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