-
Notifications
You must be signed in to change notification settings - Fork 1
/
arc3.cfg
359 lines (337 loc) · 11.2 KB
/
arc3.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
keep_event_days = 5 # Keep iFOT event RDB files for this many days
timeout = 60 # Timeout (seconds) for HTTP requests
# Define characteristics of web page
<web_page>
title = Replan Central
title_short = Replan Central
table_caption_style = font-size:130%;font-weight:bold
style = <<END_PAGE_STYLE
<!--
body { min-width:900px; background:url('blue_paper.gif'); }
td {
padding-left: 0.3cm;
padding-right: 0.3cm;
}
img.boxed {
padding:1px;
border:1px solid #021a40;
margin-top:0.35em
}
-->
END_PAGE_STYLE
</web_page>
# Names of iFOT queries to get Chandra events
query_name = or_er
query_name = radmon
query_name = comm
query_name = maneuver
query_name = load_segment
query_name = safe
query_name = grating
query_name = sim
query_name = momentum_mon
query_name = sun_pos_mon
query_name = eclipse
# Names of iFOT queries that need to be retrieved at a time
# before an active SCS107 run. This enables the originally
# planned events to still be visible (but grayed out, see
# scs107_disabled below).
<stop_at_scs107>
or_er
radmon
maneuver
load_segment
grating
</stop_at_scs107>
# Names of files and dirs
<file>
iFOT_events = iFOT_events # Data subdir for iFOT event files
snap = /data/mta4/www/Snapshot/chandra.snapshot
snap_archive = /data/mta4/www/Snapshot/snarc
scs107_history = SCS107_history
hrc_shield = $ENV{SKA}/data/arc3/hrc_shield.dat
p4gm = $ENV{SKA}/data/arc3/p4gm.dat
p41gm = $ENV{SKA}/data/arc3/p41gm.dat
web_dir = $ENV{SKA}/www/ASPECT/arc3
web_page = index.html
title_image = title_image.png
blue_paper = blue_paper.gif
blue_paper_test= blue_paper_test.gif
web_content = web_content.dat
web_content_cfg = web_content.cfg
pcad_constraints = pcad_constraints
timeline_png = timeline.png
timeline_js = timeline.js
timeline_css = timeline.css
timeline_states = timeline_states.js
vert_line = vert_line.gif
</file>
# URL's that get queried
<url>
mission_planning = http://occweb.cfa.harvard.edu/occweb/FOT/mission_planning
goes_xray_flux = http://www.swpc.noaa.gov/products/goes-x-ray-flux
soho_solar_wind = https://space.umd.edu/pm
ace_solar_wind = http://services.swpc.noaa.gov/images/ace-mag-swepam-3-day.gif
solar_flare_monitor = https://spaceweather.bradford.ac.uk/
mta_ace_img = https://cxc.harvard.edu/mta/mta_ace_plot.gif
mta_goes_img = https://cxc.harvard.edu/mta/RADIATION/pgplot.gif
mta_ace = https://cxc.harvard.edu/mta/ace.html
mta_goes = https://cxc.cfa.harvard.edu/mta/RADIATION_new/GOES/goes_pchan_p.html
mta_snapshot = https://cxc.harvard.edu/cgi-gen/mta/Snap/snap.cgi
mta_soh = https://cxc.harvard.edu/cgi-gen/mta/SOH/soh.html
swpc_ace_rtsw = http://www.swpc.noaa.gov/products/ace-real-time-solar-wind
</url>
# Snapshotvalues to parse in format:
# name = <Full name> : <Preceding text> : <Following text>
<snap_definition>
utc = UTC : UTC : \(
obt = On Board Time : OBT : CTUVCDU
format = Format : FMT : CPEstat
obsid = Obsid : OBSID : EPState
ra = RA : RA : Bus V
dec = Dec : Dec : Bus I
roll = Roll : Roll : ACA Object
hetg = HETG angle : HETG Angle: PCADMODE
letg = LETG angle : LETG Angle: PCONTROL
sim_z = Sim Z : SIM TTpos : HETG Angle
sim_fa = Sim Focus : SIM FApos : LETG Angle
scs128 = SCS 128 : SCS 128 : \-Y SA
scs129 = SCS 129 : SCS 129 : \+Y SA
scs130 = SCS 130 : SCS 130 : \-Y SA
scs131 = SCS 131 : SCS 131 : Cold Rad
scs132 = SCS 132 : SCS 132 : Ephin
scs133 = SCS 133 : SCS 133 : EIO
scs107 = SCS 107 : SCS 107 : EPH temp
hrcshield = HRC shield : SHLD RT : FSS Alfa
hrcmcp = HRC MCP : EVT RT : AOACSTAT
cpe_stat = CPE Status : CPEstat : OBT
radmon = RadMon : RadMon : PMTANKP
pcadmode = PCAD mode : PCADMODE : RA
pitch = Pitch : SA Resolv : Batt 3 SOC
fluence = Orbital Fluence : F_CRM : Kp
</snap_definition>
snap_format = <<END_FORMAT
obsid | ra | sim_z | scs107 | radmon
format | dec | sim_fa | scs128 | scs131
radmon | roll | hetg | scs129 | scs132
cpe_stat | pitch| letg | scs130 | scs133
END_FORMAT
<ephin_goes_table>
format %.1f
footnote_style = font-size:85%
row HRC shield
row HRC MCP
row P4GM
row P41GM
col CXO
col GOES
col Limit
</ephin_goes_table>
<ace_table>
format %.1f
footnote_style = font-size:85%
row Current flux
row 2hr avg flux
row Orbital fluence
col Value
col 2hr limit
col Orbital limit
col Hours to<br>Orbital limit
</ace_table>
# Define characteristics of event table:
# First set the types of events which get displayed, then the
# columns and column format characteristics
<event_table>
maneuver
radmon_enab = yellow
radmon_dis = yellow
er
grating
now = blue
observation
comm_pass = green
violation = red
scs107_cmd = red
scs107_auto = red
scs107_det = red
load_segment = light_blue
eclipse = orange
#
# Define columns for event table
#
col date_start
col summary
col delta_date
col local_date
#
# Formatting for event table columns
#
<date_start>
align = right
format_pre = <tt>
format_post = </tt>
</date_start>
<delta_date>
align = right
format_pre = <tt>
format_post = </tt>
</delta_date>
<local_date>
align = right
format_pre = <tt>
format_post = </tt>
</local_date>
#
# Hours before and after NOW to display in event table
#
<display_range>
hours_pre = 12
hours_post = 72
</display_range>
#
# Event types that do get greyed out if they occur after (still active) SCS107 run
#
<scs107_disabled>
er
observation
radmon_enab
radmon_dis
grating
</scs107_disabled>
</event_table>
<color>
yellow = FFFF99
green = 99FF99
red = FF9999
orange = FF9966
blue = 9999FF
light_blue = BBBBFF
event_disabled = 666666
</color>
# HTML to support timeline plot
timeline_html = <<END_TIMELINE_HTML
<div align="center">
<img src="timeline.png" alt="acePred" id="acePred">
<table border="2" cellspacing="0" cellpadding="2" align="center" rules="all">
<tr>
<td class="twoUp">
<table class="twoUp">
<tr><td class="left"> NOW </td> <td class="right" id="tl_now"> </td> </tr>
<tr><td class="left"> Cursor date </td> <td class="right" id="tl_date"> </td> </tr>
<tr><td class="left"> Cursor delta</td> <td class="right" id="tl_now_dt"> </td> </tr>
<tr><td class="left"> <span style="font-weight:bold">Next comm</span> </td>
<td class="right" id="tl_track_time"> </td> </tr>
<tr><td class="left"> Delta</td> <td class="right" id="tl_track_dt"> </td> </tr>
<tr><td class="left"> Station </td> <td class="right" id="tl_track_station"> </td> </tr>
<tr><td class="left"> Activity </td> <td class="right" id="tl_track_activity"> </td> </tr>
</table>
</td>
<td class="twoUp">
<table class="twoUp">
<tr><td class="left"> ACE fluence </td> <td class="right" id="tl_fluence"> </td> </tr>
<tr><td class="left"> ACE P3 flux </td> <td class="right" id="tl_p3"> </td> </tr>
<tr><td class="left"> HRC proxy </td> <td class="right" id="tl_hrc"> </td> </tr>
<tr><td class="left" colspan="2"> <span style="font-weight:bold">--- Latest values ---</span> </td> </tr>
<tr><td class="left"> ACE P3 flux </td> <td class="right" id="tl_p3_now"> </td> </tr>
<tr><td class="left"> ACE 2hr avg </td> <td class="right" id="tl_p3_avg_now"> </td> </tr>
<tr><td class="left"> HRC proxy </td> <td class="right" id="tl_hrc_now"> </td> </tr>
</table>
</td>
<td class="twoUp">
<table class="twoUp">
<tr><td class="left"> SIM-Z </td> <td class="right" id="tl_simpos"> </td> </tr>
<tr><td class="left"> Pitch </td> <td class="right" id="tl_pitch"> </td> </tr>
<tr><td class="left"> RA </td> <td class="right" id="tl_ra"> </td> </tr>
<tr><td class="left"> Dec </td> <td class="right" id="tl_dec"> </td> </tr>
<tr><td class="left"> Roll </td> <td class="right" id="tl_roll"> </td> </tr>
<tr><td class="left"> PCAD </td> <td class="right" id="tl_pcad_mode"> </td> </tr>
</table>
</td>
<td class="twoUp">
<table class="twoUp">
<tr><td class="left"> Obsid </td> <td class="right" id="tl_obsid"> </td> </tr>
<tr><td class="left"> SI </td> <td class="right" id="tl_si"> </td> </tr>
<tr><td class="left"> Grating </td> <td class="right" id="tl_grating"> </td> </tr>
<tr><td class="left"> SI mode </td> <td class="right" id="tl_si_mode"> </td> </tr>
<tr><td class="left"> Power cmd</td> <td class="right" id="tl_power_cmd"> </td> </tr>
<tr><td class="left"> CCD, FEP </td> <td class="right" id="tl_ccd_fep"> </td> </tr>
<tr><td class="left"> Vid, Clock </td> <td class="right" id="tl_vid_clock"> </td> </tr>
</table>
</td>
</tr>
</table>
</div>
<img src="vert_line.gif" id="vertLine">
END_TIMELINE_HTML
# Pieces of java script for refresh function
<web_refresh>
NoScript = <<END_SCRIPT
<!--
We have the "refresh" meta-tag in case the user's browser does
not correctly support JavaScript or has JavaScript disabled.
Notice that this is nested within a "noscript" block.
-->
<meta http-equiv="refresh" content="300">
END_SCRIPT
#
JavaScript = <<END_SCRIPT
<!--
var sURL = unescape(window.location.pathname);
function doLoad()
{
// the timeout value should be the same as in the "refresh" meta-tag
setTimeout( "refresh()", 300*1000 );
}
function refresh()
{
// This version of the refresh function will cause a new
// entry in the visitor's history. It is provided for
// those browsers that only support JavaScript 1.0.
//
window.location.href = sURL;
}
//-->
END_SCRIPT
#
JavaScript11 = <<END_SCRIPT
<!--
function refresh()
{
// This version does NOT cause an entry in the browser's
// page view history. Most browsers will always retrieve
// the document from the web-server whether it is already
// in the browsers page-cache or not.
//
window.location.replace( sURL );
}
//-->
END_SCRIPT
#
JavaScript12 = <<END_SCRIPT
<!--
function refresh()
{
// This version of the refresh function will be invoked
// for browsers that support JavaScript version 1.2
//
// The argument to the location.reload function determines
// if the browser should retrieve the document from the
// web-server. In our example all we need to do is cause
// the JavaScript block in the document body to be
// re-evaluated. If we needed to pull the document from
// the web-server again (such as where the document contents
// change dynamically) we would pass the argument as 'true'.
//
window.location.reload( false );
}
//-->
END_SCRIPT
#
ShowTime = <<END_SCRIPT
<!--
// we put this here so we can see something change
document.write('<b>' + (new Date).toLocaleString() + '</b>');
//-->
END_SCRIPT
#
</web_refresh>