reduce for reducing time-series photometry

reduce is the main and most complex ultracam reduction program. According to the command line inputs it can read ultracam raw data files from a server or local disk or as a series of 'ucm' files. Most elements of the reduction are defined by an ASCII file that is loaded at the start.

Most of the customisation of reduce is done through an ASCII data file read in at the start, although other options that one often wants to vary (and which make no difference to the final reduced data) are entered through the command input section. Look at reduce.red for an example file. See the descriptions below for what each parameter does.

NB It may not be possible to get reliable times or data for the first few frames. Bad data are simply skipped, data with unreliable times are reduced but flagged in the log file. This applies chiefly to drift mode.

reduce now has a variable aperture option in which the radius of the apertures is scaled according to the FWHM. This has worked with real data for many thousands of frames on the trot, but I know that occasionally the fit can fail. I have tried to make it robust enough to survive a few such failures. You will need to employ the 'relaxed' approach to failures to enable this. Basically with this enabled, if it encounters a bad fit, that aperture is lost, but it carries on to try the next one. I hope to gradually work out how to improve the robustness of the fits, however drop-outs are already pretty rare.

reduce also supports Tim Naylor's 'optimal' extraction which employs a weighted extraction with weights proportional to the fitted profile. This is 'optimal' in terms of signal-to-noise for background limited noise. It leads to a noticeable improvement for very weak signals. It requires profile fitting to implement. It therefore has the same problems with poor fits, which do happen on occasion. Failed fits usually result in a 'singular matrix' error being reported by a routine called 'gaussj'. Optimal photometry is often not as good as straight-forward photometry for high signal-to-noise data, so it is possible to employ different schemes for each CCD.

The fitting option works as follows: first the apertures are moved using gaussian correlation if requested. Then the 'reference' apertures are fitted in full generality, i.e. their positionsand shapes are fitted. Finally non-reference apertures are fitted in position only. The shape parameters of the reference apertures are saved for later use in any optimal extraction. The position-only fit is fairly robust which allows this procedure to work on quite weak signals, although there is a limit. Linked apertures are not fit at all, which is useful in the lowest signal-to-noise cases of all. 'Reference' apertures are set in setaper -- one has to mark an aperture specifically. If you attempt to run reduce without having done this the program will abort.

Reducing data without times: the light curve plotting section in reduce at the moment requires there to be times present. If you switch it off, the program will complain about no times but carry on reducing.

Two-pass mode: at the telescope one wants to reduce data on the fly. However there is a potential advantage to working in two passes, the first to measure positions, the second to measure fluxes. This is useful because it allows you to fit smooth functions to the differences in positions of your target and reference stars, which is potentially better than determining them individually for each frame or assuming that they are constant as the aperture link option effectively imposes. It should be realised however that it is not always good: very fast exposures have genuine differential motion due to the atmosphere and cannot be assumed to have offset which vary smoothly with time.

Finally, you may see warnings. Please consider these seriously. They are only warnings to allow something to be obtained but see if you can't fix them.

Invocation

reduce [source] rfile logfile ((url)/(file) first trim [(ncol nrow) twait tmax])/(flist) lplot implot [skip] ((nccd) [stack] xleft xright yleft yright iset (i1 i2)/(p1 p2))

Command line arguments

source---Data source, either 'l' for local, 's' for server or 'u' for ucm files. 'Local' means the usual .xml and .dat files accessed directly. Do not add either .xml or .dat to the file name; these are assumed. 'u' means you will need to specify a list of files which should all be .ucm files (either with or without the extension)
rfile---ASCII File defining the reduction. The extension ".red" is added by default.
logfile---File to record the results of the reduction. This will be an ASCII file with one line per CCD per exposure. The format is explained inside the file. The one line lists all the results of all the apertures. The extension ".log" is added by default.
url/file---If source = 'S', this argument specifies the name of the file of interest (it can be a full URL or just the file name in which case the program will attempt to fill in the rest using either the environment variable ULTRACAM_DEFAULT_URL or a URL appropriate to a server running on the local host). If source = 'L', this should be a plain file name without .xml or .dat
first---If source = 'S' or 'L', this argument specifies the first frame to reduce starting from 1
trim---If source = 'S' or 'L', set trim=true to enable trimming of potential junk rows and columns of each window
ncol---If trim, then this specifies the number of columns nearest the readouts of each window to be snipped off as these can be corrupted.
nrow---If trim, then this specifies the number of rows to snip off the bottom of each window as these can be corrupted.
twait---If source = 'S' or 'L', time to wait between attempts to find a new exposure (seconds).
tmax---If source = 'S' or 'L', maximum time to wait before giving up (seconds). Set = 0 to quit as soon as a frame is not found.
flist---If source = 'U', this is the name of a list of ULTRACAM files to reduce. These should be arranged in temporal order to help the reduction move from one exposure to the next successfully.
lplot---true/false according to whether you want to plot light curves. There is one other implication of setting this which is that it will require extra memory because then light curve information is stored for plotting. The total amount needed is N*(4+60*M) where N is the number of points and M the number of apertures/CCD. This should not be a problem unless you have a very small number of pixels (and therefore very large N) indeed.
hcopy---Set this to make a hard copy plot at the end of the reduction
implot---true/false according to whether you want to plot images
skip---Number of frames to skip between image plots (to make up for the fact that image plotting can slow things down a fair bit). 0 = no skipping at all. With no image plotting it acts to suppress the amount of output to the terminal so that skip frames are skipped between each output.
nccd---If image plotting enabled, CCD number to plot, 0 for all
stack---Stacking direction when plotting more than on CCD. Either in 'X' or 'Y'
xleft xright---If image plotting enabled, X range to plot
yleft yright---If image plotting enabled, Y range to plot
iset---'A', 'D' or 'P' according to whether you want to set the intensity limits automatically (= min to max), directly or with percentiles.
ilow ihigh---If iset='d', ilow and ihigh specify the intensity range to plot
plow phigh---If iset='p', plow and phigh are percentiles to set the intensity range, e.g. 10, 99

Reduction file

As well as the command line parameters, there are many others required to define the reduction, so many in fact that file input is preferable, as many of them do not change much and for later checking on what was done. The file is in ASCII with a series of lines of the form "option = value". Both "option" and "value" must contain no blanks. Lines will only be read if they start with a non-blank character, with the exception of '#' which acts as a comment flag. Some inputs are required, others are optional. These are indicated below. The option is read as the first string before the '=' sign. The value is read as everything after the '=' sign up to the first '#' (not escaped) or the end of the string. In more-or-less alphabetical order (some grouping by purpose too), the options are as follows:
abort_behaviour---How to deal with problems. 'fussy' = give up at the first hint of trouble, such as an aperture going awol. 'relaxed' = continue regardless.Required.
aperture_file---Name of aperture file. This is a file of photometry apertures setup with setaper. Required.
aperture_reposition_mode---The method to be used to reposition the apertures from frame to frame. Options: fixed = no change. individual = move each aperture separately, apertures linked to others are held at fixed offsets relative to them. individual_plus_tweak = move each aperture separately and then tweak the offsets of any linked apertures. The idea here is that one can determine the shift from a more reliable star while still allowing freedom of movement. reference_plus_tweak is the same as individual, but before trying to reposition apertures, an initial estimate of the shift is made from reference stars (which must be defined with setaper). This allows one to determine the majority of the shift from a safe target, while refining with tighter criteria. This option is probably the most robust. In cases where the aperture is moved, if a failure occurs the aperture is marked invalid and then its most recent correct state is preserved for use on the next frame. Required.
aperture_positions_stable---The way in which the apertures are repositioned can be varied slightly. If guiding is good and the targets move only by small amounts, set this parameter to 'yes'. On the other hand if the targets are jumping around by considerably more than the seeing width from exposure to exposure then you may want to set it to 'no'. This allows a slightly more cavalier search for the target, which brings with it dangers of locking onto other sources, but copes better with large shifts. The search carried out is constrained by the following series of parameters. The old versions of 'reduce' effectively assumed that the aperture positions were stable, so you may want to set it to 'yes' to start with at least.
aperture_search_half_width---When apertures are adjusted, the program first collapses a box centred on the first position in both X and Y directions. Its half-width is specified by this parameter, measured in unbinned pixels. It should be wide enough to capture any likely movement but not so wide that it will include lots of other stars and overwhelming extra noise. The search starts from the last position if floatition_stable=yes, or from the maxima of the 1D collapses if not. Required if aperture_reposition_mode = 'individual' or 'individual_plus_tweak' or 'reference_plus_tweak' or 'cosmic_clean'=yes.
aperture_search_fwhm---When apertures are adjusted, the new position is located by cross-correlating with a gaussian of specified FWHM measured in unbinned pixels. Required if aperture_reposition_mode = 'individual' or 'individual_plus_tweak' or 'reference_plus_tweak'.
aperture_search_max_shift---When apertures are adjusted, this parameter imposes a maximum upon the shift of the aperture between its first and last position. It is measured in unbinned pixels. Required if aperture_reposition_mode = 'individual' or 'individual_plus_tweak' or 'reference_plus_tweak'.
aperture_tweak_half_width---If an aperture is offset from another target, then the offset is kept fixed for the first re-location, but the individual_plus_tweak option allows the offset to be adjusted as may be necessary to keep up with the effects of atmospheric refraction for instance. However, the tweak parameters are defined separately in order to allow them to be more strictly defined to reduce the chances of mis-acquiring the star. The meaning is otherwise identical to aperture_search_half_width. It should normally be smaller than the search half width, although this will not be checked. In the case of reference_plus_tweak this is the parameter used when making the position measurements of non-linked, non-reference stars. i.e. it is assumed that the position shift obtained from the reference stars is good enough that a tight search can be used for the non-reference stars.Required if aperture_reposition_mode = 'individual_plus_tweak' or 'reference_plus_tweak'
aperture_tweak_fwhm---See the description for aperture_tweak_half_width. Required if aperture_reposition_mode = 'individual_plus_tweak' or 'reference_plus_tweak'.
aperture_tweak_max_shift---See the description for aperture_tweak_half_width. This parameter should be smaller than the equivalent search one, although this is not checked. This shift is also applied to check the position location of the profile fits. They will be invalidated if they shift by more than this amount. Required if aperture_reposition_mode = 'individual_plus_tweak' or 'reference_plus_tweak' or if profile fitting is used..
aperture_twopass---As discussed above, the normal operation during observing is to determine the aperture positions 'on the fly'. However, once a run is complete, there is a potential gain in determining all the positions and then fitting smooth functions to correct them. This option if set to yes enables this type of reduction. The fitting is done to the difference between individual aperture positions and a reference position determined from one or more bright stars because there can always be random shifts from frame to frame. However the fitting allows for slow drifts in the relative positions of targets which may result from refraction and colour effects. This option can only be used if the aperture repositioning is set to 'reference_plus_tweak' (and therefore you must have set reference stars in setaper. This option also has a potential impact in terms of memory. For each exposure a total of 21 bytes per aperture plus 55 bytes per CCD plus 12 bytes must be stored. For a 2 aperture per CCD for 3 CCDs this amounts to 300 bytes/exposure. This may make very large frame numbers difficult to accomodate. However, this would normally only apply to high frame rates for which differentiaal image motion due to the atmosphere probably negates the advantage of the fitting process so I don't expect it ever to cause problems. Required
aperture_twopass_counts---The position fits are guarded by the shift parameters against wandering too far off target. However, as a final check upon the positions used for the twopass case, you can define a lower limit to the number of counts within an aperture. Set this < 0 to ignore, which will speed things up a bit, at the risk of finding dodgy positions (which may in any case be flagged as bad, or get kicked out during the polynomial fitting stage). This threshold is applied to the positions measured during the first pass over the data. Required if aperture_twopass = yes.
aperture_twopass_npoly---In two pass mode, at the end of the first pass, polynomial fits are made to the position offsets. This is the number of coefficients used. There should be enough to allow for trends in the data. There is no facility within reduce for examining the fits, although this is possible post facto using the log file. In the log file the measured and fitted positions are stored. The 'fitted positions' in this case measn the poly fit to the offset added to the reference positions. Therefore to examine the fits one should read in the fitted positions and the measured positions for an aperture, and then read in the reference positions and subtract them from both the fitted and measured position before plotting. Remember that using npoly=1 (a constant) is not that different to linking the apertures, except that it determines the best offset given all of the data. Required if aperture_twopass = yes.
aperture_twopass_sigma---In two pass mode, at the end of the first pass, polynomial fits are made to the position offsets. This is the threshold used for rejection of bad data during this process. This is the final check after the maximum shift tests and the minimum number of counts for dodgy positions. Required if aperture_twopass = yes.
extraction_control---This is the most complicated and important option. You need one 'extraction_control' line per CCD. The idea is to give you independent control over the reduction used for each CCD. What you choose here has the most important effect over the end results. You will not necessarily want the same for each CCD. For instance Tim Naylor's (1998) optimal extraction is designed for cases where the variances are sky or readout-noise limited, and is not the best for high signal-to-noise cases. You may therefore want to employ it for the u' band only, depending upon your particular case. Each extraction control lines line has the following parameters:

nccd aperture_type extraction_method star_scale star_min star_max inner_sky_scale inner_sky_min inner_sky_max outer_sky_scale outer_sky_min outer_sky_max

with these meanings:
nccd The CCD number, starting from 1
aperture_type The aperture type, either 'fixed' or 'variable', referring to whether the aperture radii will be adjusted by profile fitting to match the seeing or not.
extraction_method The way in which the fluxes will be extracted, either 'normal' for a straight sum, or 'optimal' for Tim Naylor's (1998) 'optimal' extarction method. In either case a rough attempt will be made to reduce pixellation errors by making the contribution of pixels decline linearly at the edge of the aperture.
star_scale If aperture_type=variable, then the star aperture radius will be set to star_scale times the seeing. What value to choose here is rather a difficult question, but it can be an important one. For faint stars, a good choice seems to be about 1.5; see e.g. Naylor (1998). however, I have found that this can be quite poor for bright stars. The signal-to-noise versus this scale factor peaks at some value, which is what you want of course, and tends to drop off more steeply at low values than high ones. In the end, the only certain way to determine this number is to extract at a multiplicity of scale factors and see which is best. You should look at the parameter star_aperture_radii to see how this can be done efficiently.
star_min In the case of variable apertures, this allows you to limit the range of the star aperture's radius. e.g. you might not want it to become too small because of pixellation problems. star_min is the lower limit to the star aperture's radius in unbinned pixels.
star_max The maximum star aperture radius. This could be useful in cases of poor seeing where you would prefer your aperture not to expand so much that it includes nearby stars. It has to be said of course that in such cases your photometry is never going to be that good, but used carefully this may reduce the size of the problems.
inner_sky_scale If aperture_type=variable, then the inner sky aperture radius will be set to inner_sky_scale times the seeing.
inner_sky_min In the case of variable apertures, this allows you to limit the range of the inner_sky aperture's radius. inner_sky_min is the lower limit to the inner_sky aperture's radius in unbinned pixels.
inner_sky_max The maximum inner sky aperture radius. This could be useful in cases of poor seeing where you would prefer your aperture not to expand so much that it includes nearby stars. It has to be said of course that in such cases your photometry is never going to be that good, but used carefully this may reduce the size of any problems.
outer_sky_scale If aperture_type=variable, then the outer sky aperture radius will be set to outer_sky_scale times the seeing. This should be more than inner_sky_scale.
outer_sky_min In the case of variable apertures, this allows you to limit the range of the outer_sky aperture's radius. outer_sky_min is the lower limit to the outer_sky aperture's radius in unbinned pixels.
outer_sky_max The maximum outer sky aperture radius. This could be useful in cases of poor seeing where you would prefer your aperture not to expand so much that it includes nearby stars. It has to be said of course that in such cases your photometry is never going to be that good, but used carefully this may reduce the size of the problems.

star_aperture_radii---As a time saver, if you want to carry out reductions with a variety of star radii enter the star aperture radius or scale factor as 0, you will then need to list on another line, corresponding to this parameter a series of radii. These will be used during reduction to extract the flux for each radius. If this option is used, ALL CCDs will be extracted in this way and no plotting will occur. If the aperture radius type is fixed, the numbers you give will be interpreted directly as radii in pixels. If variable they will be taken to be scaling factors times the seeing. Use the script splitr to split up the multiplexed log file that results from this parameter.
profile_fit_method---'gaussian' or 'moffat'. You can try these out with 'rtplot' and 'plot' to see which is to be preferred. 'moffat'normally seems a fair bit better. Required if variable apertures and/or optimal extraction are set for any CCD. 'gaussian' has the advantage in some cases of less extended wings which may mean that it is less affected by neaarby stars. However, as I say it does not normally give good fits and therefore one should probably use a high rejection threshold.
profile_fit_fwhm---This is the first of several parameters associated with profile fits (gaussian or moffat profiles). profile_fit_fwhm is the initial FWHM to use in either case. Required if variable apertures and/or optimal extraction are set for any CCD.
profile_fit_hwidth---The half-width of the region to be used when fitting a target. Should be larger than the profile_fit_fwhm, but not so large as to include multiple targets if possible. Required if variable apertures and/or optimal extraction are set for any CCD.
profile_fit_symm---Yes/no for symmetric versus ellliptical profiles. Required if variable apertures and/or optimal extraction are set for any CCD.
profile_fit_beta---The beta parameter of the moffat fits. Required if variable apertures and/or optimal extraction are set for any CCD.
profile_fit_sigma---The fits can include rejection of poor pixels. This is the threshold, measured in sigma. Should not be too small especially in the gaussian fit case. For gaussian fits for example I have noticed that if this is set too low, the entire core of the profile can end up being rejected in favour of fitting the wings. This is because gaussians are usually a poor approximation of stellar profiles. See comments about the fitting method however for why one might still want to use gaussians. Required if variable apertures and/or optimal extraction are set for any CCD.
bias---Name of bias frame. If not specified, no bias subtraction is carried out.
clobber---[yes/no] Can the log file overwrite any previously existing file of the same name or not? For safety say no, and the program will fall over if it finds the same name. Say yes if this irritates you. Required.
coerce---[yes/no] Should calibration frames be cropped to match data frames? Required if any calibration has been enabled. Normally yes. You should never coerce biases when it involves a change of binning factors. When coercing flat fields, gain frames and readout noise frames, the programs scales to give an average rather than a sum. It warns when it does this in case it is not what you want.
cosmic_clean---Whether or not to carry out cosmic ray cleaning or not. The cosmic ray cleaning is carried out over a box centred on the position of the aperture prior to its being tweaked over a size defined by aperture_search_half_width. It proceeds by locating maxima and setting them equal to the average of the neighbouring pixels if they are greater than cosmic_height above the average and also greater than cosmic_ratio times the average.
cosmic_height---Height relative to average of near pixels to count as a cosmic ray.
cosmic_ratio---Ratio relative to average of near pixels to count as a cosmic ray.
cr_to_start---yes/no. Require a carriage return to start the reduction or dive straight in. Useful if you want to move/resize windows before everything gets going.
dark---Name of dark frame. If not specified, no dark subtraction is carried out. The frame, if specified, should be bias subtracted. Typically this should be the average of a large number of dark frames to reduce noise. Note that to do dark subtraction correctly, one needs the exposure time of the bias freame used to bias subtract the dark itself. This will be stored by grab.
flat---Name of flat field frame (divide into data to correct). If not specified, not flat fielding is carried out. The frame, if specified, should be bias-subtracted.
bad_pixel---Name of a bad pixel mask file. Ignored if not specified. This is an ordinary ULTRACAM file set to 0 everywhere except for 'bad' pixels. These should have positive integer values which rise according to how 'bad' they are. It is up to you, the user, to define your own levels of badness. The program will report the highest value of any bad pixel located within each star aperture. This can later be used to mask data affected by bad pixels. Programs smooth and badgen are supplied to help with the development of bad pixel masks. In the future I may implement some sort of cosmic ray identification in which case I will assign pixels affected by them a value of 10. Assign your values higher or lower than this according to whether you think they are better or worse than cosmic rays.
gain---Gain, electrons/count, or if preceded by '@', the name of a gain frame frame giving gain for every pixel. Required.
image---yes/no for plotting of images. Clearly this will slow things down, but often exposure times may be long enough to allow this with no serious effect upon the reducion process. Required.
image_device---Device to be used for plotting images. Required.
lightcurve_frac---The weight to be given when dividing up the vertical height of the plot between the light curves and other bits of information.
lightcurve_device---Device to plot to.
lightcurve_xunits---Units of X axis, 'seconds', 'minutes', 'hours' or 'days' from start of run.
lightcurve_max_xrange---Maximum range in X to plot (<= 0 for everything). If positive, early points will be lost as the run progresses.
lightcurve_xbuffer---Buffer to have to right of plotted data to avoid continually changing axes. When the axes are changed, the last point is lightcurve_buffer from the right-edge to allow room for a few points before re-plotting the axes. The whole range is lightcurve_max_xrange + lightcurve_buffer if lightcurve_max_xrange > 0.
lightcurve_extend_xrange---Factor by which to extend the X range when buffer filled (when lightcurve_max_xrange <= 0.)
lightcurve_linear_or_log---Y plot linear or log (=magnitudes) for light curve
lightcurve_yrange_fixed---Fix y limits on light curve or not. If not then the scale range is computed automatically to keep all points in view.
lightcurve_invert---Invert y scale or not (e.g. for magnitudes) when automatic range generation is enabled.
lightcurve_y1---Lower y limit for light curve.
lightcurve_y2---Upper y limit for light curve.
lightcurve_extend_yrange---Extension factor for y range if lightcurve_yrange = 'no'. The amount by which the yrange is expanded if a point exceeds displayed range and axes have to be regenerated.
lightcurve_targ---A line specifying what to plot in the light curve, consisting of the CCD number, target aperture number, comparison aperture number, offset and colour to plot the point and error bar. e.g. '1 1 2 5 blue red'. Any number of such entries are permitted. CCD, target and comparison aperture numbers all start from 1, except that if you specify comparison < 1, no comparison will be used. The offset is applied after any other calulations such as division by the comparison star and conversion to magnitudes i.e. it is in terms of what you see plotted. A number < 0 for the error bar colour will switch the error bar plot off.
position_plot---Yes/no depending whether you want to plot positional data
position_targ---A line specifying what to plot in the X, Y position panels, consisting of the CCD number, target aperture number and offset to add to distinguish different entries, a colour to plot the point and one for any error bars. e.g. '1 1 -5. blue red'. Any number of such entries are permitted. The positions are plotted relative to the first one and thus are naturally all close to 0. At the moment the error bar entry is not used, but may be in the future.
position_frac---The weight to be given to the position panel when assigning vertical height.
position_x_yrange---Fix y limits on x position plot, 'yes' or 'no'
position_x_y1---Lower limit on x position plot
position_x_y2---Upper limit on x position plot
position_y_yrange---Fix y limits on y position plot, 'yes' or 'no'
position_y_y1---Lower limit on y position plot
position_y_y2---Upper limit on y position plot
position_extend_yrange---Extension factor for y range if position_x_yrange = 'no'
transmission_plot---Yes/no to plot transmission data. This is computed from a constant star by scaling to its maximum observed value and is therefore not necessarily exactly correct, but it should at least give an idea of the variability present.
transmission_frac---The weight to be given to the transmission panel when assigning vertical height.
transmission_ymax---The maximum percentage 'transmission' which must be >= 100. Whenever a value is encountered whuch exceeds this limit, the data will be replotted and scaled. Specifying a value >100 will reduce the number of re-plots
transmission_targ---The information to specify the transmission data. Can be specified multiple times. Each line specifies the CCD and aperture to use to measure the transmission. Clearly this should be a non-variable object. It finishes with the plotting colour to be used.
seeing_plot---Yes/no to plot seeing data. This is only possible if profile fits are made, as with variable and optimal photometry
seeing_frac---The weight to be given to the seeingn panel when assigning vertical height.
seeing_ymax---The initial maximum seeing value to plot (the plots will start from 0).
seeing_scale---The plate scale in arcseconds/pixel
seeing_yscale---When a seeing value is encountered which exceeds the maximum of the plot, the plot will be re-scaled by this factor which must be > 1
seeing_targ---The information lines for the seeing plots which consist of a CCD number, an aperture number and colour. The seeing is not necessarily assoiated with a single target because it is the average of the seeing measured for whatever stars are said to be 'references', however an aperture number is used to determine the plot symbol, and typically should be set equal to the aperture number of your brightest reference to give an accurate warning of saturation for example.
pepper---For each aperture it is possible to set an error flag if any pixel exceeds the level at which peppering starts. This is only a rough guide, but could be useful. This line consists of the estimated peppering level for each CCD. Note that this applies to unbinned pixels. Binned pixels have correspondingly higher levels which the program computes.
readout---Readout noise, or if preceded by '@', the name of readout noise frame giving the readout noise for every pixel in terms of variance (counts**2). Required.
saturation---For each aperture it is possible to set an error flag if any pixel exceeds a level above which saturation is likely in the sene of exceeding 65535. This line consists of the estimated saturation level of each CCD. See the 'pepper' line also.
sky_thresh---RMS rejection threshold for cleaning sky. Always applied regardless of sky estimation method as it is needed in deriving uncertainty estimates. Required.
sky_error---Method to use for estimating error in sky background estimate. Options: 'variance', 'photon'. Required.
sky_method---Method to use for sky estimation. Options: 'clipped_mean', 'median', 'mode'. Required.
terminal_output---Mode of terminal output. Options: "none", "little", "medium", "full". Required.
version---Date of version of reduce which has to match the date in this program for anything to work at all. Required.

Format of output

I have now made the format of the output uniform in the sense that each line should be the same length. This requires estimating likely maximum and minimum limits for the various numbers and to what precision they are needed. Unlike FORTRAN even if these are exceeded, the number is printed but it will make the line a different length. I think I have selected these to cover all likely cases, but if the format provided is inadequate for you (e.g. in terms of precision), or you would like more information, please let me know. The output files are ASCII and self-documenting.

Classes

This command is a member of the classes: Observing, Reduction.

Author: T.R. Marsh
Created: 24 Feb 2002


Page generated Fri Jul 5 12:23:42 2013