## Quick-Start Advice To Run Reverse Correction

STEP 1) DOWNLOAD THE SOFTWARE PROGRAM FROM HERE
For full-frames:
wfc3uv_ctereverse.F

For subarrays:
wfc3uv_ctereverse_wSUB.F

Parallel processing version:
wfc3uv_ctereverse_parallel.F

STEP 2) COMPILE THE PROGRAM IN SOME DIRECTORY
(NOT NECESSARILY THE EXECUTION DIRECTORY)

For full-frames:
g77 wfc3uv_ctereverse.F -o wfc3uv_ctereverse.e
or
For subarrays:
g77 wfc3uv_ctereverse_wSUB.F -o wfc3uv_ctereverse_wSUB.e

For parallel compilation:
gfortran wfc3uv_ctereverse_parallel.F -o wfc3uv_ctereverse_parallel.e
-fopenmp

* you can also use gfortran instead of g77
* the capital F is important; it invokes the
pre-compiler (which it needs)

Then you can run the program.  This particular routine
insists that all the exposures be in the same directory.
The executable can be in a different directory, but the
images you're reading in and operating on *must* be in
your current directory.  The reason is that the routine
takes the first 8+q characters as the image root, then
assumes that the 3-character image type designation
follows an underscore (ie, _raw, _flt, etc).

If you do not have access to gfortran or g77, then let
us know.  It may be possible to construct a few executable
versions of the routine.

STEP 3) TEST THE COMPILATION AND LOOK AT OPTIONAL PARAMETERS

If you run the program without any arguments, you
get a list of its arguments:

For full-frames:
./wfc3uv_ctereverse.e
or
For subarrays:
./wfc3uv_ctereverse_wSUB.e

For the parallel version:
./wfc3uv_ctereverse_parallel.e

The full README at the top of the program has a detailed
discussion of the individual arguments.  This quick-start
README will only touch on the "standard" operation.

STEP 4) EXAMPLE OF BASIC OPERATION

The most basic way of running the routine would be
to correct an "_flt" image and generate an "_flc" image.
This is akin to what the ACS pipeline produces, but
the UVIS routine is unable to operate on the _flt alone,
since the _flt may have had some post-flash electrons
removed, and these electrons are important to help the
routine estimate how charge may have been redistributed

./wfc3uv_ctereverse.e ibxd90xeq_raw.fits FLC+

Running it without the FLC+ option will generate the
correction, but the routine will stop after generating
the "rac" file (the corrected "raw").  Without the FLC+
flag set, the program will not presume that there is
an "flt" file to correct and thus will not generate
an "flc" file.

*** NOTES for subarray data ***

a) The subarray routine does not output an "rac" file.

b) The current routine requires access to pre-scan bias pixels.

Subarrays that are currently supported:

UVIS1-2K4-SUB

UVIS1-2K2A-SUB

UVIS1-2K2B-SUB

UVIS1-2K2C-SUB

UVIS1-2K2D-SUB

UVIS2-C1K1C-SUB

UVIS2-C512C-SUB

c) There are some subarrays that do not have pre-scan pixels;
these are not supported at this time.  However, please see STAN Issue 18
for a work-around solution for CTE-correcting unsupported subarrays.

d) The different timing of the readout-cadence of the various
subarrays will have some impact on the CTE trailing, but at this point,
the model appears to work reasonably well.

STEP 5) EXAMINE THE IMAGES

Blink between the "flt" and the "flc" images; if you
output various intermediate images (with the "I+" option),
look at what has changed at each stage.

STEP 6) CONTINUE PROCESSING AS USUAL

If you made the "flc" images, then just analyze them
or astro-drizzle them as you would "flt" files.

The forward model is also available here:

wfc3uv_cteforward.F

A brief document describing the correction is
available here:

wfc3cte_alpha.docx

The document describes the data used to constrain the
model and shows what the model can and can't do.  In
particular the model has to be conservative to avoid
amplifying readnoise.  As such, it under-corrects faint
sources on low backgrounds.  At the same time---and
somewhat counter-intuitively---the underlying model
over-predicts losses of faint sources on low backgrounds,
so users of the forward model should beware of this.  We
think we understand the cause of this and improvements
are in the works; but the fix will require a tweaking
of the algorithm itself, and not just parameter adjustment.

REGISTRATION AND FEEDBACK

Since this is an alpha version, we reserve the right to
make significant changes.  Some improvements are planned,
but many will likely come as a result of user input
regarding tweaks needed to make it run on different
platforms.  As such, we will be updating the code and
providing notes below on changes/improvements.

If you would like to be notified when updates are made,
send an e-mail to majordomo@stsci.edu with
"subscribe update_wfc3uv_cte" in the body.