# Description¶

Steps in the various pipeline modules calculate variances due to different sources of noise or modify variances that were computed by previous steps. In some cases the variance arrays are only used internally within a given step. For several steps, these arrays must be propagated to subsequent steps in the pipeline. Anytime a step creates or updates variances, the total error (ERR) array values are always recomputed as the square root of the quadratic sum of all variances available at the time. Note that the ERR array values are always expressed as standard deviation (i.e. square root of the variance).

The table below is a summary of which steps create or update variance and error arrays, as well as which steps make use of these data. Details of how each step computes or uses these data are given in the subsequent sections below.

Step

Stage

Creates arrays

Step uses

ramp_fitting

1

VAR_POISSON, VAR_RNOISE

ERR

None

gain_scale

1

None

ERR, VAR_POISSON, VAR_RNOISE

None

flat_field

2

VAR_FLAT

ERR, VAR_POISSON, VAR_RNOISE

None

fringe

2

None

ERR

None

2

None

ERR, VAR_POISSON, VAR_RNOISE, VAR_FLAT

None

pathloss

2

None

ERR, VAR_POISSON, VAR_RNOISE, VAR_FLAT

None

photom

2

None

ERR, VAR_POISSON, VAR_RNOISE, VAR_FLAT

None

outlier_detection

3

None

None

ERR

wfs_combine

3

None

ERR

None

# Stage 1 Pipelines¶

Stage 1 pipelines perform detector-level corrections and ramp fitting for individual exposures, for nearly all imaging and spectroscopic modes. Details of the pipelines can be found at Stage 1 Pipelines.

The Stage 1 pipeline steps that alter the ERR, VAR_POISSON, or VAR_RNOISE arrays of the science countrate data are discussed below. Any step not listed here does not alter or use the variance or error arrays in any way and simply propagates the information to the next step.

## ramp_fitting¶

This step calculates and populates the VAR_POISSON and VAR_RNOISE arrays in the ‘rate’ and ‘rateints’ files, and updates the ERR array as the square root of the quadratic sum of the variances. VAR_POISSON and VAR_RNOISE represent the uncertainty in the computed slopes (per pixel) due to Poisson and read noise, respectively. The details of the calculations can be found at ramp_fitting.

## gain_scale¶

The gain_scale step is applied after ramp_fitting, and applies to both the rate and rateints products. The gain correction is applied to the ERR, VAR_POISSON, and VAR_RNOISE arrays. The SCI and ERR arrays are multiplied by the gain correction factor, and the variance arrays are multiplied by the square of the gain correction factor. More details can be found at gain_scale.

# Stage 2 Pipelines¶

Stage 2 pipelines perform additional instrument-level and observing-mode corrections and calibrations to produce fully calibrated exposures. There are two main Stage 2 pipelines: one for imaging calwebb_image2 and one for spectroscopy calwebb_spec2. In these pipelines, the various steps that apply corrections and calibrations apply those same corrections/calibrations to all variance arrays and update the total ERR array.

## flat_field¶

The SCI array of the exposure being processed is divided by the flat-field reference image, and the VAR_POISSON and VAR_RNOISE arrays are divided by the square of the flat. A VAR_FLAT array is created, computed from the science data and the flat-field reference file ERR array. The science data ERR array is then updated to be the square root of the quadratic sum of the three variance arrays. For more details see flat_field.

## fringe¶

For MIRI MRS (IFU) mode exposures, the SCI and ERR arrays in the science exposure are divided by the fringe reference image. For details of the fringe correction, see fringe.

This step is applied only to NIRSpec MSA data for extended sources. Once the 2-D correction array for each slit has been computed, it is applied to the science (SCI), error (ERR), and variance (VAR_POISSON, VAR_RNOISE, and VAR_FLAT) arrays of the slit. The correction values are divided into the SCI and ERR arrays, and the square of the correction values are divided into the variance arrays. For details of the bar shadow correction, see barshadow.

## pathloss¶

The pathloss step corrects NIRSpec and NIRISS SOSS data for various types of light losses. The correction factors are divided into the SCI and ERR arrays of the science data, and the square of the correction values are divided into the variance arrays. For details of this step, see pathloss.

## photom¶

The calibration information for the photom step includes a scalar flux conversion constant, as well as optional arrays of wavelength and relative response (as a function of wavelength). The combination of the scalar conversion factor and any 2-D response values is applied to the science data, including the SCI and ERR arrays, as well as the variance (VAR_POISSON, VAR_RNOISE, and VAR_FLAT) arrays. The flux calibration values are multiplied into the science exposure SCI and ERR arrays, and the square of the calibration values is multiplied into all variance arrays. For details of the photom correction, see photom.

# Stage 3 pipelines¶

Stage 3 pipelines perform operations that work with multiple exposures and in most cases produce some kind of combined product. The operations in these pipelines that either use or modify variance/error arrays that are propagated through the pipeline are outlier_detection and wfs_combine.

## outlier_detection¶

The outlier_detection step is used in all Stage 3 pipelines. It uses the ERR array to make a local noise model, based on the readnoise and calibration errors of earlier steps in the pipeline. This step does not modify the ERR array or any of the VAR arrays.

## wfs_combine¶

The wfs_combine step is only applied in the Stage 3 Wavefront Sensing and Control (calwebb_wfs-image3) pipeline for dithered pairs of WFS&C exposures. This step can modify variance/error arrays, but only if the optional “do_refine” parameter is set to True (the default is False). In this case the algorithm to refine image offsets will be used and the ERR array values will be altered on output, using a combination of the input image errors. See the step documentation at wfs_combine for more details.