How can I tell CIAO to use a different HRMA effective area file?
The default HRMA effective area (EA) file is periodically updated in the CALDB. If you are working on a local network and share a CALDB installation, you may not have control over when this default file is changed. To avoid negatively impacting an analysis in progress, you can use the ardlib.par parameter file to tell CIAO to continue to use the previous version of the HRMA file.
In this example, we want to use the version 7 HRMA EA file, which was released in CALDB 3.2.1 on 15 December 2005:
$CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits
There are five parameters for the EA in ardlib.par:
unix% plist ardlib Parameters for /soft/ciao/param/ardlib.par ... #=========================================================================== # AXAF Mission Support #=========================================================================== AXAF_EFFAREA_FILE_0001 = CALDB Enter AXAF eff-area file 0001 AXAF_EFFAREA_FILE_0010 = CALDB Enter AXAF eff-area file 0010 AXAF_EFFAREA_FILE_0100 = CALDB Enter AXAF eff-area file 0100 AXAF_EFFAREA_FILE_1000 = CALDB Enter AXAF eff-area file 1000 AXAF_EFFAREA_FILE_1111 = CALDB Enter AXAF eff-area file 1111 ...
First we need to determine which extension of the HRMA EA file is appropriate for each ARDLIB parameter. Note that we create a link to the CALDB file to simplify the commands:
unix% ln -s $CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits .
unix% dmlist hrmaD1996-12-20axeffaN0007.fits blocks
--------------------------------------------------------------------------------
Dataset: hrmaD1996-12-20axeffaN0006.fits
--------------------------------------------------------------------------------
Block Name Type Dimensions
--------------------------------------------------------------------------------
Block 1: PRIMARY Null
Block 2: AXAF_AXEFFA1 Table 4 cols x 1 rows
Block 3: AXAF_AXEFFA2 Table 4 cols x 1 rows
Block 4: AXAF_AXEFFA3 Table 4 cols x 1 rows
Block 5: AXAF_AXEFFA4 Table 4 cols x 1 rows
Block 6: AXAF_AXEFFA5 Table 4 cols x 1 rows
unix% foreach f (1 2 3 4 5)
foreach? echo "AXAF_AXEFFA$f"
foreach? dmkeypar "hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA$f]" SHELL echo+
foreach? echo ""
foreach? end
AXAF_AXEFFA1
1111
AXAF_AXEFFA2
1000
AXAF_AXEFFA3
0100
AXAF_AXEFFA4
0010
AXAF_AXEFFA5
0001
The foreach command was used to loop through all the file extensions, but you could run each dmkeypar call individually, e.g.
unix% dmkeypar "hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA1]" SHELL echo+ 1111
Now we can match the extension in the file to the correct ARDLIB parameter. Note that we also return to using the full path to the CALDB:
unix% pset ardlib AXAF_EFFAREA_FILE_0001="$CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA5]" unix% pset ardlib AXAF_EFFAREA_FILE_0010="$CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA4]" unix% pset ardlib AXAF_EFFAREA_FILE_0100="$CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA3]" unix% pset ardlib AXAF_EFFAREA_FILE_1000="$CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA2]" unix% pset ardlib AXAF_EFFAREA_FILE_1111="$CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA1]"
Check the results by plist-ing the parameter file:
unix% plist ardlib Parameters for /home/username/cxcds_param4/ardlib.par ... #=========================================================================== # AXAF Mission Support #=========================================================================== AXAF_EFFAREA_FILE_0001 = /soft/ciao/CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA5] Enter AXAF eff-area file 0001 AXAF_EFFAREA_FILE_0010 = /soft/ciao/CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA4] Enter AXAF eff-area file 0010 AXAF_EFFAREA_FILE_0100 = /soft/ciao/CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA3] Enter AXAF eff-area file 0100 AXAF_EFFAREA_FILE_1000 = /soft/ciao/CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA2] Enter AXAF eff-area file 1000 AXAF_EFFAREA_FILE_1111 = /soft/ciao/CALDB/data/chandra/default/axeffa/hrmaD1996-12-20axeffaN0007.fits[AXAF_AXEFFA1] Enter AXAF eff-area file 1111 ..
Remember to "punlearn" or delete your ardlib.par file when you are ready to start an analysis with the new default CALDB HRMA EA file.