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.