# EOS Power Analysis

The SatLab graph below analyzes the power output of an Earth Observation Satellite under maximum solar gain. The script that generated this graph is shown below.

Figure 1: Calculated EOS power levels
Script - EOS satellite
1. % Demo: EOS satellite
2. %
3. % This demo sets up a satellite for earth observation that passes
4. % over the earth at noon for optimum light conditions
5. %
6.
7. removeAll;
8. clearGraphic();
9. setSimEpoch(2000,3,21,12,0,0);
12.
13. %earthstation
14. earth0 = "Frankfurt";
15. addStation('Frankfurt', I_earth, 10, 50.05, 8.4, 0.1);
16.
17. dtime      = 100;
18. alphaleft  = 45 *d2r;
19. alphatop   = 0 *d2r;
20. alpharight =-45 *d2r;
21.
22. setSimTime(0);
23. setSimStepSize(dtime);
24. t = 0:dtime:120*dtime;
25. fleft = rotx(alphaleft) * [0
26.                             0
27.                            -1];
28.
29. ftop = rotx(alphatop)*    [0
30.                             0
31.                            -1];
32.
33. fright= rotx(alpharight)* [0
34.                             0
35.                            -1];
36.
37. z_matrix =
38. [   026.7527.2527.7528.2528.7529.2529.7530.2530.7531.25
39.   10012.3912.2312.1412.1411.9510.6410.5110.3310.14  9.94
40.    9012.6712.5912.5012.3912.2611.7611.6811.3611.4811.36
41.    8012.7712.7312.6812.6312.5712.3112.2712.2212.1712.11
42.    7012.7812.7612.7412.7112.6812.5512.5312.5112.4812.45
43.    6012.7412.7312.7212.7112.6912.6312.6212.6112.6012.68
44.    5012.6812.6812.6712.6712.6612.6312.6312.6212.6212.91
45.    4012.6112.6112.6112.6112.6012.5912.5912.7912.8813.18
46.    3012.5312.5312.5312.5312.5312.5312.5712.6312.7312.72
47.    2012.4612.4512.4512.4512.4512.4512.4512.4512.6512.45
48.    1012.3812.3812.3812.3812.3812.3812.3812.3812.5812.38
49.     012.3012.3012.3012.3012.3012.3012.3012.3012.4012.30
50.   -1012.2212.2212.2212.2212.2212.2212.2212.2212.2212.22
51.   -2012.1412.1412.1412.1412.1412.1412.1412.1412.1412.14
52.   -3012.0612.0612.0612.0612.0612.0612.0612.0612.0612.06
53.   -4011.9811.9811.9811.9811.9811.9811.9811.9811.9811.98
54.   -5011.7011.8411.9011.9011.9011.9011.9011.9011.9011.90
55.   -6011.3211.6211.7211.8211.8211.8211.8211.8211.8211.82
56.   -7011.1411.2411.4411.6411.7411.7411.7411.7411.7411.74
57.   -8010.9510.9511.3511.4511.6511.6511.6511.6511.6511.65];
58.
59. j            = 0;
60. temptop      = 0;
61. templeft     = 0;
62. tempright    = 0;
63. solarflux    = 1420;
64.
65. alpha        = 0.65;
66. epsilon      = 0.81;
67. albedo       = 0.3;
68. sigma        = 5.67e-8;
69. capacity     = 660;
70.
71. qir          = 0;
72. strings_top  = 4;
73. strings_side = 10;
74. eview        = 0.045;
75. dt           = 60;
76.
77. dtc          = dt/capacity;
78. reference_flux_si = 1353;
79. voltage      = 28;
80. current      = zeros(size(t));
81.
82. for i=t,j=j+1;
83.     stepSim;
84.     [d,r,a,e,v] = PlanetPosition();
85.     theta = ftop` * unitvector(a(2),e(2));
86.     theta = max(0,theta);
87.     temptop = temptop+((theta*solarflux*alpha)
88.                       -(epsilon*(temptop^4)*sigma))*(dtc);
89.     current_top = ((strings_top*theta)
90.                    *table(z_matrix,(temptop-273.15),voltage)
91.                    *((solarflux/reference_flux_si)/12));
92.
93.     theta = fleft` * unitvector(a(2),e(2));
94.     theta = max(0,theta);
95.     templeft = (templeft+
96.                ((((theta*solarflux*alpha)+
97.                   (theta*solarflux*albedo*alpha*eview))
98.                 -(epsilon*(templeft^4)*sigma)
99.                 +theta*qir)*(dtc)));
100.
101.     current_left = ((strings_side*theta)*
102.     table(z_matrix,(templeft-273.15),voltage)
103.         *((solarflux/reference_flux_si)/12));
104.
105.     theta = fright` * unitvector(a(2),e(2));
106.     theta = max(0,theta);
107.     tempright= (tempright+
108.                ((((theta*solarflux*alpha)+
109.                   (theta*solarflux*albedo*alpha*eview))
110.                 -(epsilon*(tempright^4)*sigma)+theta*qir)*(dtc)));
111.
112.     current_right = ((strings_side*theta)
113.                     *table(z_matrix,(tempright-273.15),voltage)
114.                     *((solarflux/reference_flux_si)/12));
115.
116.     current(j)=current_top+current_left+current_right;
117. endfor
118.
119. average=sum(current*voltage)/prod(size(t));
120. erase
121.
122. window('111');
123. plot(t,current*voltage,
124.      t,ones(size(t))*average, 'grid');
125. title('Power of EOS Satellite')
126. ylabel('P [Watt]');
127. xlabel('t [sec]')
128. wtext(2000,average+10,'Average Power');