|
1 | 1 | # Licensed under a 3-clause BSD style license - see LICENSE.rst
|
2 |
| -import xija |
3 |
| -import numpy as np |
4 | 2 | import asciitable
|
5 |
| -from Chandra.Time import DateTime |
| 3 | +import numpy as np |
6 | 4 | from Ska.Matplotlib import plot_cxctime
|
7 | 5 |
|
8 |
| -pars = dict(acis150 = 28.029, |
9 |
| - acis50 = 54.192, |
10 |
| - acis90 = 26.975, |
11 |
| - c1 = 114.609, |
12 |
| - c2 = 11.362, |
13 |
| - hrci150 = 32.977, |
14 |
| - hrci50 = 38.543, |
15 |
| - hrci90 = 28.053, |
16 |
| - hrcs150 = 37.265, |
17 |
| - hrcs50 = 30.715, |
18 |
| - hrcs90 = 30.013, |
19 |
| - u01 = 6.036, |
20 |
| - u01quad = -0.599, |
21 |
| - u12 = 8.451, |
22 |
| - ) |
| 6 | +import xija |
| 7 | + |
| 8 | +pars = dict( |
| 9 | + acis150=28.029, |
| 10 | + acis50=54.192, |
| 11 | + acis90=26.975, |
| 12 | + c1=114.609, |
| 13 | + c2=11.362, |
| 14 | + hrci150=32.977, |
| 15 | + hrci50=38.543, |
| 16 | + hrci90=28.053, |
| 17 | + hrcs150=37.265, |
| 18 | + hrcs50=30.715, |
| 19 | + hrcs90=30.013, |
| 20 | + u01=6.036, |
| 21 | + u01quad=-0.599, |
| 22 | + u12=8.451, |
| 23 | +) |
23 | 24 |
|
24 |
| -u01 = pars['u01'] |
25 |
| -u12 = pars['u12'] |
26 |
| -c1 = pars['c1'] |
27 |
| -c2 = pars['c2'] |
| 25 | +u01 = pars["u01"] |
| 26 | +u12 = pars["u12"] |
| 27 | +c1 = pars["c1"] |
| 28 | +c2 = pars["c2"] |
28 | 29 |
|
29 | 30 | P_pitches = [50, 90, 150]
|
30 | 31 | P_vals = []
|
31 |
| -for instr in ('hrcs', 'hrci', 'acis'): |
| 32 | +for instr in ("hrcs", "hrci", "acis"): |
32 | 33 | for pitch in P_pitches:
|
33 |
| - P_vals.append(pars['{0}{1}'.format(instr, pitch)]) |
34 |
| -P_vals = np.array(P_vals).reshape(3,3) * u01 / c1 |
| 34 | + P_vals.append(pars["{0}{1}".format(instr, pitch)]) |
| 35 | +P_vals = np.array(P_vals).reshape(3, 3) * u01 / c1 |
35 | 36 | P_vals = P_vals.tolist()
|
36 | 37 |
|
37 | 38 | tau_e = c1 / u01
|
38 |
| -T_e = -128.0 * (1. / u01 + 1. / u12) |
39 |
| -k = 1. / c2 |
40 |
| -tau12 = c1 / u12 |
41 |
| -tau21 = c2 / u12 |
| 39 | +T_e = -128.0 * (1.0 / u01 + 1.0 / u12) |
| 40 | +k = 1.0 / c2 |
| 41 | +tau12 = c1 / u12 |
| 42 | +tau21 = c2 / u12 |
42 | 43 |
|
43 |
| -mdl = xija.ThermalModel('psmc', start='2011:103:00:00:00.00', stop='2011:124:00:00:00') |
| 44 | +mdl = xija.ThermalModel("psmc", start="2011:103:00:00:00.00", stop="2011:124:00:00:00") |
44 | 45 |
|
45 |
| -pin1at = mdl.add(xija.Node, '1pin1at') |
46 |
| -pdeaat = mdl.add(xija.Node, '1pdeaat') |
| 46 | +pin1at = mdl.add(xija.Node, "1pin1at") |
| 47 | +pdeaat = mdl.add(xija.Node, "1pdeaat") |
47 | 48 | pitch = mdl.add(xija.Pitch)
|
48 | 49 | sim_z = mdl.add(xija.SimZ)
|
49 | 50 |
|
50 | 51 | coup12 = mdl.add(xija.Coupling, pin1at, pdeaat, tau=tau12)
|
51 | 52 | coup21 = mdl.add(xija.Coupling, pdeaat, pin1at, tau=tau21)
|
52 |
| -sol = mdl.add(xija.AcisPsmcSolarHeat, pin1at, pitch, sim_z, P_pitches=P_pitches, P_vals=P_vals) |
| 53 | +sol = mdl.add( |
| 54 | + xija.AcisPsmcSolarHeat, pin1at, pitch, sim_z, P_pitches=P_pitches, P_vals=P_vals |
| 55 | +) |
53 | 56 | heat = mdl.add(xija.HeatSink, pin1at, T=T_e, tau=tau_e)
|
54 | 57 | # pow = mdl.add(xija.AcisPsmcPower, pdeaat, k=k)
|
55 |
| -fep_count = mdl.add(xija.CmdStatesData, |
56 |
| - u'fep_count') |
57 |
| -ccd_count = mdl.add(xija.CmdStatesData, |
58 |
| - u'ccd_count') |
59 |
| -vid_board = mdl.add(xija.CmdStatesData, |
60 |
| - u'vid_board') |
61 |
| -clocking = mdl.add(xija.CmdStatesData, |
62 |
| - u'clocking') |
63 |
| -pow = mdl.add(xija.AcisDpaStatePower, pdeaat, fep_count=fep_count, |
64 |
| - ccd_count=ccd_count, vid_board=vid_board, clocking=clocking) |
| 58 | +fep_count = mdl.add(xija.CmdStatesData, "fep_count") |
| 59 | +ccd_count = mdl.add(xija.CmdStatesData, "ccd_count") |
| 60 | +vid_board = mdl.add(xija.CmdStatesData, "vid_board") |
| 61 | +clocking = mdl.add(xija.CmdStatesData, "clocking") |
| 62 | +pow = mdl.add( |
| 63 | + xija.AcisDpaStatePower, |
| 64 | + pdeaat, |
| 65 | + fep_count=fep_count, |
| 66 | + ccd_count=ccd_count, |
| 67 | + vid_board=vid_board, |
| 68 | + clocking=clocking, |
| 69 | +) |
65 | 70 |
|
66 | 71 | mdl.make()
|
67 | 72 | mdl.calc()
|
68 |
| -mdl.write('psmc_classic.json') |
| 73 | +mdl.write("psmc_classic.json") |
69 | 74 |
|
70 |
| -psmc = asciitable.read('models_dev/psmc/out_2010103_2010124/temperatures.dat') |
| 75 | +psmc = asciitable.read("models_dev/psmc/out_2010103_2010124/temperatures.dat") |
71 | 76 |
|
72 | 77 | figure(1)
|
73 | 78 | clf()
|
74 |
| -plot_cxctime(pdeaat.times, pdeaat.mvals, 'b') |
75 |
| -plot_cxctime(pdeaat.times, pdeaat.dvals, 'r') |
76 |
| -plot_cxctime(psmc['time'], psmc['1pdeaat'], 'g') |
| 79 | +plot_cxctime(pdeaat.times, pdeaat.mvals, "b") |
| 80 | +plot_cxctime(pdeaat.times, pdeaat.dvals, "r") |
| 81 | +plot_cxctime(psmc["time"], psmc["1pdeaat"], "g") |
77 | 82 |
|
78 | 83 | figure(2)
|
79 |
| -plot_cxctime(pin1at.times, pin1at.mvals, 'b') |
80 |
| -plot_cxctime(pin1at.times, pin1at.dvals, 'r') |
81 |
| -plot_cxctime(psmc['time'], psmc['1pin1at'], 'g') |
82 |
| - |
| 84 | +plot_cxctime(pin1at.times, pin1at.mvals, "b") |
| 85 | +plot_cxctime(pin1at.times, pin1at.dvals, "r") |
| 86 | +plot_cxctime(psmc["time"], psmc["1pin1at"], "g") |
0 commit comments