This is likely because you are trying to do something outside the validity of the ETC model (but not always!). First, it is useful sometimes to do a reset of the ETC (button next to "compute") and see if the error persists. If it does, then please check if you are not asking something impossible (see for example the next FAQ). If you think this is not the case, then feel free to contact the User Support (see below).
When trying to estimate the NDIT (in the NIR) or Nexp (in the optical) for a given signal-to-noise ratio (SNR), the ETC will need to make an interpolation. This is only possible if the range of values is reasonable. For example in the CRIRES ETC, if you select the mean SNR for and many orders in the M band for a blue object, the ETC will need to reach a very high SNR in the bluest band to obtain the mean SNR indicated. This is often impossible. Thus, for the SNR computation, it is useful to select only one order instead of all, because the SNR would be quite different in the different orders - both due to the slope of the target and because of atmospheric transmission. It is also useful to first play around with the DIT/NDIT (Texp/Nexp) by hand to see if such an SNR is likely to be achieved.
Even though we have done our best to test and debug the ETC, we are afraid that some errors are still present. If you stumble across some, kindly inform the User Support Department via https://support.eso.org/ and include the JSON input form that can be downloaded from the web interface.
The ETC, like P1, uses the JavaScript Object Notation or JSON data structures and files. This format can be read by many software packages. We also provide some python tools to read and make plots from the ETC output files.
In the infrared, the signal on the detector is often very much dominated by the sky. Thus, the signal-to-noise ratio (SNR) is generally the target signal divided by the square root of the sky signal. In that case, the SNR is thus, contrarily to the optical regime, increasing almost linearly with the target signal, and not with the square root of the target signal.
In the infrared, there is a large difference in magnitudes between the Vega and AB system. A difference which can reach more than 3 magnitudes in the M band. This corresponds then to a factor 20 in signal and in case the sky is very much dominating the total flux, this will also imply a factor 20 in the signal-to-noise ratio.
Thank you for asking. A paper about the ETC 2.0 project was presented at the SPIE conference in December 2020 and is available from https://arxiv.org/abs/2012.09860. A complementary paper was presented at SPIE in August 2024, available at https://arxiv.org/abs/2407.02972.
If the ETC was usesful for your research, please consider citing these papers.
Please see these notes.
The ETC uses a sky model developed for ESO by a team of astronomers at the Institute for Astro- and Particle Physics at the University of Innsbruck. The ESO SkyCalc web application provides a web interface to obtain models of transmission and radiance spectra in physical units, calculated on ESO servers with this model for configurable observation configurations and conditions. More resources and information about the sky model and related tools can be found here.
Interstellar extinction (reddening) is applied to the selected SED using models in the python package dust-extinction, specifically Fitzpatrick (1999, PASP 111 63) for wavelengths ≤ 2.7μm and Gordon (2021 ApJ 916 33) for wavelengths > 2.7μm.
Yes, please have a look at the etc_cli.py script in the Tools tab next to the FAQ.
The check for detector saturation is done over the whole wavelength region of the specified instrument mode. If you plot only a small wavelength region, you may not be covering the part that will saturate. To see this, please select the whole wavelength range, i.e, all the orders. If you are only interested in a narrow wavelength window, then detector saturation in another region is likely not an issue for your science. For some instruments, you may, however, need to make sure that the saturation does not lead to persistence effect. Please check the respective User Manuals.
Call an ETC with input parameters and optionally an uploaded spectrum. Print the resulting JSON on stdout or optionally a file.
Typical use:etc_cli.py -h usage: etc_cli.py [-h] [-u UPLOADFILE] [-c] [-i [INDENT]] [-o OUTPUTFILE] [-s SERVER] etcname postdatafile Call an ETC with input parameters and optionally an uploaded spectrum. Print the resulting JSON on stdout or optionally a file. Examples: ./etc_cli.py 4most input.json -o output1.json ./etc_cli.py 4most input.json -u upload.dat -o output2.json ./etc_cli.py 4most input.json -s https://etc.eso.org -o output3.json positional arguments: etcname Name of instrument ETC to call, e.g. 4most postdatafile Name of JSON file with ETC input parameters, like the ETC input form options: -h, --help show this help message and exit -u UPLOADFILE, --upload UPLOADFILE Name of file with spectrum to upload. See https://etc.eso.org/doc/upload.html -c, --collapse collapse output JSON data arrays to short indicative strings -i [INDENT], --indent [INDENT] Format the output JSON with indentation (default 4) -o OUTPUTFILE, --outputfile OUTPUTFILE Send the output to file -s SERVER, --server SERVER specific alternative backend web server
etc_json2ascii.py -h usage: etc_json2ascii.py [-h] [-p PREFIX] [-s SEPARATOR] [-l LABELSEPARATOR] [-v] inputfilename Extract data from a given JSON file, such as the output from etc_cli.py. Write the wavelength and data into columns in an ASCII file. Output files names are prefixed with the input file name by default, but can be changed with the -p option. positional arguments: inputfilename Input JSON file, which is output from an ETC optional arguments: -h, --help show this help message and exit -p PREFIX, --prefix PREFIX output file name prefix to use instead of the default which is the input file name -s SEPARATOR, --separator SEPARATOR separator string in the constructed output file name -l LABELSEPARATOR, --labelseparator LABELSEPARATOR separator string between labels (ordername/detectorname) and their values in the file names, e.g. "det-1" instead of default "det:1" -v, --verbose print the output file names