Skip to content

Commit ba0667b

Browse files
committed
Enable serial CTE for subarrays
1 parent a6d41a0 commit ba0667b

6 files changed

Lines changed: 22 additions & 12 deletions

File tree

pkg/acs/Dates

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
16-Mar-2026 CALACS 10.5.0 Serial CTE correction is now enabled for post-SM4 WFC subarrays.
12
07-May-2024 CALACS 10.4.0 Implementation of the "Parallel and Serial CTE correction". This
23
version of the CTE correction (Generation 3) is based upon the
34
algorithm of Generation 2, but includes the additional correction

pkg/acs/History

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
### 16-Mar-2026 - PLL - Version 10.5.0
2+
Serial CTE correction is now enabled for post-SM4 WFC subarrays.
13
### 07-May-2024 - MDD - Version 10.4.0
24
Implementation of the "Parallel and Serial CTE correction". This
35
version of the CTE correction (Generation 3) is based upon the

pkg/acs/Updates

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
Update for version 10.5.0 - 16-Mar-2026 (PLL)
2+
pkg/acs/Dates
3+
pkg/acs/History
4+
pkg/acs/Updates
5+
pkg/acs/include/acsversion.h
6+
pkg/acs/include/pcte_gen3_funcs.h
7+
pkg/acs/lib/acscte/docte.c
8+
pkg/acs/lib/acscte/dopcte-gen3.c
9+
110
Update for version 10.4.0 - 07-May-2024 (MDD)
211
pkg/acs/Dates
312
pkg/acs/History

pkg/acs/include/acsversion.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
#define INCL_ACSVERSION_H
33

44
/* This string is written to the output primary header as CAL_VER. */
5-
#define ACS_CAL_VER "10.4.0 (07-May-2024)"
6-
#define ACS_CAL_VER_NUM "10.4.0"
5+
#define ACS_CAL_VER "10.5.0 (16-Mar-2026)"
6+
#define ACS_CAL_VER_NUM "10.5.0"
77

88
/* This Generation of the CTE algorithm is obsolete. These strings
99
are only maintained in case a user has an older version of the
@@ -21,6 +21,6 @@
2121

2222
/* name and version number of generation 3 CTE correction algorithm */
2323
#define ACS_GEN3_CTE_NAME "Par/Serial PixelCTE 2023"
24-
#define ACS_GEN3_CTE_VER "3.0"
24+
#define ACS_GEN3_CTE_VER "3.1"
2525

2626
#endif /* INCL_ACSVERSION_H */

pkg/acs/lib/acscte/docte.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
14-Sep-2023 MDD: Updated to accommodate only the "Parallel/Serial PixelCTE 2023"
77
(aka Generation 3) correction. Code now applies a serial CTE correction for
88
full-frame data.
9-
9+
16-Mar-2026 PLL: Enabled serial CTE correction for subarrays.
1010
*/
1111
# include <string.h>
1212
# include <stdio.h>
@@ -326,8 +326,7 @@ int DoCTE (ACSInfo *acs_info, const bool forwardModelOnly) {
326326
trlwarn("(pctecorr) IGNORING read noise level PCTERNOI from PCTETAB: %f. Using amp dependent values from CCDTAB instead", cteParallelPars.rn_amp);
327327
trlmessage("(pctecorr) Readout simulation forward modeling iterations PCTENFOR: %i\n"
328328
"(pctecorr) Number of iterations used in the parallel transfer PCTENPAR: %i\n"
329-
"(pctecorr) CTE_FRAC: %f\n\n"
330-
"(pctecorr) NOTE: No serial CTE correction is done for any subarray data.\n",
329+
"(pctecorr) CTE_FRAC: %f\n\n",
331330
cteParallelPars.n_forward, cteParallelPars.n_par, cteParallelPars.scale_frac);
332331
/* End read of the parallel CTE parameters */
333332

@@ -364,9 +363,9 @@ int DoCTE (ACSInfo *acs_info, const bool forwardModelOnly) {
364363
ampIDInCalib = amplocInCalib - AMPCALIBORDER; // This is a number.
365364

366365
/*
367-
Only perform the serial CTE correction for full-frame, post-SM4 data
366+
Only perform the serial CTE correction for post-SM4 data.
368367
*/
369-
if ((acs_info->expstart >= SM4MJD) && (!acs[i].subarray)) {
368+
if (acs_info->expstart >= SM4MJD) {
370369

371370
startOfSetInCalib = SET_TO_PROCESS[ampIDInCalib];
372371
strcpy(corrType, "serial");
@@ -443,8 +442,8 @@ int DoCTE (ACSInfo *acs_info, const bool forwardModelOnly) {
443442

444443
clock_t begin = (double)clock();
445444

446-
/* Perform the serial CTE correction for only full-frame, post-SM4 data */
447-
if ((acs_info->expstart >= SM4MJD) && (!acs[i].subarray)) {
445+
/* Perform the serial CTE correction for only post-SM4 data */
446+
if (acs_info->expstart >= SM4MJD) {
448447
/* Serial correction */
449448
strcpy(corrType, "serial");
450449
if ((status = doPCTEGen3(&acs[i], &ctePars, &x[i], forwardModelOnly, corrType, ccdamp, nthAmp, amploc, ampID)))

pkg/acs/lib/acscte/dopcte-gen3.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,6 @@ int rotateAmpData_acscte(FloatTwoDArray * amp, const unsigned ampID)
411411
Rotate the amp to put the serial trails in the same orientation
412412
as the parallel trails would be. A rotation requires a transpose
413413
and then a flip. Always transpose the data first.
414-
415414
*/
416415
transpose(amp);
417416

@@ -600,7 +599,7 @@ static int alignAmpData(FloatTwoDArray * amp, const unsigned ampID)
600599
Flip the amp about the X-axis central row (i.e., flip from top to bottom)
601600
602601
Note: This routine was originally in alignAmpData flow of processing. It
603-
is now encapulated here as it is used multiple times due to the rotations
602+
is now encapsulated here as it is used multiple times due to the rotations
604603
needed to accommodate the serial CTE correction. The original OPENMP
605604
specifications have been left intact.
606605
*/

0 commit comments

Comments
 (0)