root/trunk/pysynphot/planning/etc_icd.txt

Revision 493, 4.5 kB (checked in by laidler, 5 months ago)

Added native eol property

  • Property svn:eol set to native
Line 
1 Pysynphot interface control document with the ETC:
2
3 =ETC-Pysynphot interface:=
4
5 The ETC will access pysynphot functionality by communicating with a
6 pysynphot TCP server running on the local ETC machine.
7
8 The ETC application will start the pysynphot server when the
9 application starts up.
10
11 The ETC will submit requests to the pysynphot server as character
12 strings identical (in most cases) to those used to submit synphot requests.
13 (This item may be revisited for cycle 18, when there is no longer a
14 need to maintain compatibility with synphot syntax.)
15
16 The ETC will receive responses from the pysynphot server as character
17 strings, typically consisting of numbers and filenames. The exact
18 syntax may vary for each task.
19
20 The pysynphot server must catch all exceptions raised by the pysynphot
21 code, and return useful error messages to the ETC.
22
23 The pysynphot server must be able to report the version of pysynphot
24 that it is running.
25
26
27
28 =Pysynphot Functionality=
29
30 ==Requirements for 17.0==
31 (reverse-engineered from what was delivered):
32
33 Purpose of this release: Support COS ETC
34 Pysynphot builds: 0.3.x
35 Acceptance defined as: COS team accepts ETC regression test results.
36
37 - Parse a syntactically correct synphot expression to produce a
38   spectrum. The expression may include the following functions:
39     'spec', 'unit', 'box', 'bb', 'pl', 'em', 'icat',
40     'rn', 'z', 'ebmvx', 'band'
41   The spectrum may be specified in the following units:
42     'photlam', 'flam', 'counts', 'vegamag'
43     'fnu', 'photnu', 'abmag', 'stmag', 'obmag', 'jy', 'mjy'
44   and the following wavelength units:
45     Angstroms nm micron mm cm m hz
46   Renormalization may be specified in either
47     'flam'  'vegamag'   (see below)
48   Extinction may be specified with the following reddening laws:
49     'gal1', 'gal2', 'gal3', 'smc', 'lmc', 'xgal'
50
51   Specifically, in the following order:
52     - construct a spectrum by either:
53       - reading it from a text or FITS file,
54       - interpolating it from a supported atlas,
55       - constructing a blackbody, powerlaw, gaussian, or flat spectrum
56       - summing any combination of the above
57     - apply reddening to the spectrum
58     - redshift the spectrum
59     - renormalize the spectrum either:
60          within a Band to a value specified in vegamag, or,
61          within a Box to a value specified in flam
62     - apply reddening to the spectrum (either before or after but not both)
63
64 - Parse a syntactically correct and complete obsmode string (without
65 parameterized keywords), supported by the current graph and component
66 tables to produce a bandpass.
67
68 - Multiply a spectrum and a bandpass together to produce an observation,
69 using the binned wavelength set specified in the wavecat.dat file for
70 the obsmode.
71
72 - Write a spectrum or an observation to a FITS file.
73
74 - Compute the countrate and effective wavelength of an observation.
75
76
77
78
79
80
81 == Requirements for 17.1==:
82 Purpose of this release: Improve support for COS ETC
83 Pysynphot builds: 0.4.x
84 Acceptance defined as: ETC regression tests pass
85
86 - Update the graph, component, and thermal component tables.
87
88 - Show the full file specifications being used in the computation of a
89 bandpass.
90
91 - Report the version of pysynphot being used.
92
93
94
95 == Requirements for 17.2==:
96
97 Purpose of this release: Bugfixes & improved robustness to
98 user-supplied spectra
99 Pysynphot builds: 0.4.x
100 Acceptance defined as: ETC regression tests pass
101
102
103 == Requirements for 18.0==:
104
105 Purpose of this release: Support all ETCs
106 Pysynphot builds: 0.6.x
107
108                        { current regression tests pass & agree with synphot
109 Acceptance defined as: {                    OR
110                        { instrument teams accept synphot & ETC test results
111
112 - Support parameterized keywords.
113
114 - Compute the thermal background for an obsmode that includes support
115  for thermal calculations in the graph table.
116
117 - Support spectral elements in descending wavelength order(* Or:
118   modify the offending files in CDBS so that they are ascending.)
119
120
121
122 == Requirements for UI for 18.0==
123 Purpose of this release: provide direct access to pysynphot for ETC
124             users to perform analysis related to their ETC requests
125 Pysynphot builds: 0.7.x
126 Acceptance defined as: ??
127
128 - All the above functionality via OO UI
129
130 - Documentation
131
132 - Tutorial
133
134 - Plot a spectrum or spectral element
135
136 - Fully support renormalization in the standard set of units
137
138 - Make .thermback() a method on an ObsBandpass
139
140 - Support calcphot.effstim with an Observation.effstim() method that
141   supports the full set of units
142
143 - Provide capability to modify "refdata" functionality
144
145 - Provide obsmode capability
Note: See TracBrowser for help on using the browser.