Software Requirements Specification for the ETCs (Based on the CGI ETCs) Draft of 17-May-2000 Intended Users -------------- The ETCs provide support to Instrument Scientists, DAs, IDTs, and Guest Observers proposing for HST observation time for calibration or science targets. Functional Requirements ----------------------- The fundamental requirement of the ETCs is to estimate the total counts from an astronomical object, the counts that can be expected from other sources (sky, detector, optics), and the signal to noise ratio that will be realized from the source for a well formed exposure specification. The ETCs shall provide as output either the SNR realized within a given exposure duration, or the exposure duration required to achieve a specified SNR. The ETCs shall compute the desired quantities for the most important instrument configurations, while permitting the use of "engineering only" modes only by authorized users. The "most important" modes are those that support the vast majority of the science (~90%+), and is generally taken to mean all imaging and spectroscopic modes, with the exception of coronography. The ETCs shall support a wide variety of specifications for the target spectrum, including functional forms that can be computed within synphot, star atlases that reside within synphot, specialized spectra defined by STScI staff, and spectra in allowed formats that are provide by the user. The Spectroscopic and Ramp Filter ETCs shall support the addition of up to three emission lines in the input spectrum, specified by line center, width, and total flux. The user will be allowed to specify these lines independently of any selection (or no selection) of a continuous spectrum for the source. The ETCs shall properly account for background sources, such as Earthshine and Zodiacal light and, for UV modes, the Geo-coronal emission. The ETCs shall also account for thermal backgrounds, including radiation from the telescope/instrument optics. The ETs output shall include the S/N ratio and exposure time (one of which will be the result of the computation), and the effective wavelength for which the computation was performed, if relevant. The output shall also include a summary of the instrument configuration, the specification for the source and background spectra, and a breakdown of the counts from the source, background, and the detector. The ETCs shall issue warnings if the exposure will exceed the allowable brightness limits for the specified detctor; this includes both local and global limits. The ETCs should trap and report error conditions (including those reported by the synphot throughput engine), and provide a mechanism for users to uniquely identify their invocation of the ETC, so that the logs and other records (which are staged on STScI computers for a few days) can be used by Institute Staff to diagnose problems. The ETCs permit execution from the host (command line), and allow for the processing of multiple test cases. The format for the input file(s) and the output file must be simple enough that non-software developers can construct test cases, and can evaluate the results of regression testing in a straightforward way. Non-functional Requirements --------------------------- The ETCs shall be accessible to all authorized users via the Web, and the software and supporting data will be hosted on Institute machines. Historical data on ETC use indicates that peak use occurs during the two weeks immediately prior to the Phase 1 deadline for each cycle. The ETCs for STIS are invoked a few thousands of times per day in that period. The CGI program and supporting machine+Web server must support this load and produce the computations within 30 seconds of program invocation. The ETCs shall be well documented, with the meaning and scientific impact of each input parameter being described in an on-line document.