Skip to the navigation links
Last modified: 29 July 2010

URL: http://cxc.harvard.edu/caldb/about_CALDB/version.html

Versioning


The Chandra CALDB is a versioned system with archiving and history maintenance. The CALDB version number is stored in

$CALDB/docs/chandra/caldb_version/caldb_version.fits

Each line of this file contains the CALDB version, the standard data processing (SDP) software version (at the time of the updated), the CIAO software version, the effective date of the change, and the various index filenames. The Checking the CALDB version section of the CIAO Note on Processing Versions shows how to view this information.

The pipeline software uses the version number from this file to set the CALDBVER header keyword in standard data processing; note that this keyword is not automatically updated by any of the CIAO tools, as explained in this FAQ. Whenever one or more of the index files are updated, the CALDB version number is also updated.

When the CALDB is updated, a new line is added to caldb_version.fits. Since data is always appended to this file (not overwritten), the full indexing history of the CALDB is contained in it.

Index File Versioning

As mentioned in the Indexing System page, the caldb.indx files are actually links to the latest versioned files in the appropriate index directory. The versioned index files are named caldbNnnnn.indx, e.g. caldbN0010.indx. Each time that branch of the CALDB is updated, the version number of the index file is incremented by 1 and the link from caldb.indx is updated to point to the new version. The older index files are never deleted, making it possible to restore older versions of the CALDB, if desired.

Restoring a Previous CALDB Version

As long as all the older files are available on the system, it is fairly straightforward to revert to a previous version of the CALDB.

  1. Use the information in caldb_version.fits to find the index filenames for the CALDB version that you would like to retrieve. For instance, for CALDB 2.20:

    unix% dmlist \
          "$CALDB/docs/chandra/caldb_version/caldb_version.fits[CALDB_VER=2.20]" data
     
    --------------------------------------------------------------------------------
    Data for Table Block CALDBVER
    --------------------------------------------------------------------------------
     
    ROW  CALDB_VER ASCDS_VER  CIAO_VER  ...   ACIS_INDEX       EPHIN_INDEX
     
     1     2.20     DS6.9.3    CIAO2.3  ...  caldbN0020.indx  caldbN0001.indx
    

    Some information was omitted for space.

  2. Reconstruct the old CALDB version index structure by relinking the caldb.indx files.

    unix% cd $CALDB/data/chandra/acis/
    unix% ls -l caldb.indx
    lrwxrwxrwx   1 caldbmgr       23 Aug  6 12:16 caldb.indx -> ./index/caldbN0023.indx
    unix% rm caldb.indx
    unix% ln -s ./index/caldbN0020.indx  caldb.indx
    

    Notice that we got the caldbN0020.indx filename from the dmlist command. Repeat this step for the other index files (not all of them necessarily will have changed).

To return to the current version of the CALDB, relink to the latest index files.